mirror of
https://github.com/MariaDB/server.git
synced 2025-01-17 20:42:30 +01:00
90913a0364
make sure we can only drop files from correct file group mysql-test/r/ndb_dd_ddl.result: add testcase mysql-test/t/ndb_dd_ddl.test: add testcase sql/ha_ndbcluster.cc: Make sure correct tablespace for dropping datafile storage/ndb/include/ndbapi/NdbDictionary.hpp: Cleanup {data/undo}file get{tablespace/logfilegroup} storage/ndb/src/ndbapi/NdbDictionary.cpp: Cleanup {data/undo}file get{tablespace/logfilegroup} storage/ndb/src/ndbapi/NdbDictionaryImpl.hpp: Cleanup {data/undo}file get{tablespace/logfilegroup} storage/ndb/tools/restore/consumer_restore.cpp: Cleanup {data/undo}file get{tablespace/logfilegroup}
354 lines
7.1 KiB
Text
354 lines
7.1 KiB
Text
#########################################
|
|
# Author: JBM
|
|
# Date: 2006-01-03
|
|
# Purpose: Test the NDB engine reaction to duplicate
|
|
# Table spaces and log groups. Also to test
|
|
# Statement mixed case.
|
|
############################################
|
|
# Change Author:JBM
|
|
# Change Date 2006-01-19
|
|
# Change: Adding to test cases feedback from OB
|
|
# 1) The 'duplicate' tests.
|
|
# a) The test is using the default (test) database and is not
|
|
# attempting to create databases (only logs, table spaces and
|
|
# tables). Is this intentional?
|
|
# b) What about a duplication of table name when one exists on disk and
|
|
# you are trying to create it again in memory?
|
|
#
|
|
#2) 'CaSE SensiTiVE' tests
|
|
# a) Suggest you include a test case where the case difference is in
|
|
# the file name. I know this is not an issue for *nix systems but
|
|
# will be when we expand to Windows and Mac. Better put it in now.
|
|
############################################
|
|
#
|
|
# Jonas 2006-03-10
|
|
# Add verification that ndb currently is limited to 1 logfile group
|
|
#
|
|
|
|
|
|
-- source include/have_ndb.inc
|
|
|
|
--disable_warnings
|
|
DROP TABLE IF EXISTS t1;
|
|
DROP DATABASE IF EXISTS mysqltest;
|
|
CREATE DATABASE mysqltest;
|
|
--enable_warnings
|
|
|
|
############## Duplcate Statement Testing #########
|
|
|
|
--echo **** Begin Duplicate Statement Testing ****
|
|
|
|
CREATE LOGFILE GROUP lg1
|
|
ADD UNDOFILE 'undofile.dat'
|
|
INITIAL_SIZE 1M
|
|
UNDO_BUFFER_SIZE = 1M
|
|
ENGINE=NDB;
|
|
|
|
# Verify that one currently can create only 1 logfile group
|
|
--error ER_CREATE_FILEGROUP_FAILED
|
|
CREATE LOGFILE GROUP lg2
|
|
ADD UNDOFILE 'undofile2.dat'
|
|
INITIAL_SIZE 1M
|
|
UNDO_BUFFER_SIZE 1M
|
|
ENGINE NDB;
|
|
SHOW WARNINGS;
|
|
|
|
--error ER_CREATE_FILEGROUP_FAILED
|
|
CREATE LOGFILE GROUP lg1
|
|
ADD UNDOFILE 'undofile.dat'
|
|
INITIAL_SIZE 1M
|
|
UNDO_BUFFER_SIZE = 1M
|
|
ENGINE=NDB;
|
|
|
|
ALTER LOGFILE GROUP lg1
|
|
ADD UNDOFILE 'undofile02.dat'
|
|
INITIAL_SIZE 1M ENGINE NDB;
|
|
|
|
--error ER_ALTER_FILEGROUP_FAILED
|
|
ALTER LOGFILE GROUP lg1
|
|
ADD UNDOFILE 'undofile02.dat'
|
|
INITIAL_SIZE 1M ENGINE=NDB;
|
|
|
|
CREATE TABLESPACE ts1
|
|
ADD DATAFILE 'datafile.dat'
|
|
USE LOGFILE GROUP lg1
|
|
INITIAL_SIZE 1M
|
|
ENGINE NDB;
|
|
|
|
--error ER_CREATE_FILEGROUP_FAILED
|
|
CREATE TABLESPACE ts1
|
|
ADD DATAFILE 'datafile.dat'
|
|
USE LOGFILE GROUP lg1
|
|
INITIAL_SIZE 1M
|
|
ENGINE NDB;
|
|
|
|
|
|
ALTER TABLESPACE ts1
|
|
ADD DATAFILE 'datafile2.dat'
|
|
INITIAL_SIZE 1M
|
|
ENGINE=NDB;
|
|
|
|
--error ER_ALTER_FILEGROUP_FAILED
|
|
ALTER TABLESPACE ts1
|
|
ADD DATAFILE 'datafile2.dat'
|
|
INITIAL_SIZE 1M
|
|
ENGINE=NDB;
|
|
|
|
CREATE TABLE mysqltest.t1
|
|
(pk1 INT NOT NULL PRIMARY KEY, b INT NOT NULL, c INT NOT NULL)
|
|
TABLESPACE ts1 STORAGE DISK
|
|
ENGINE=NDB;
|
|
|
|
--error ER_TABLE_EXISTS_ERROR
|
|
CREATE TABLE mysqltest.t1
|
|
(pk1 INT NOT NULL PRIMARY KEY, b INT NOT NULL, c INT NOT NULL)
|
|
TABLESPACE ts1 STORAGE DISK
|
|
ENGINE=NDB;
|
|
|
|
--error ER_TABLE_EXISTS_ERROR
|
|
CREATE TABLE mysqltest.t1
|
|
(pk1 INT NOT NULL PRIMARY KEY, b INT NOT NULL, c INT NOT NULL)
|
|
ENGINE=NDB;
|
|
|
|
|
|
DROP TABLE mysqltest.t1;
|
|
|
|
ALTER TABLESPACE ts1
|
|
DROP DATAFILE 'datafile2.dat'
|
|
ENGINE=NDB;
|
|
|
|
--error ER_ALTER_FILEGROUP_FAILED
|
|
ALTER TABLESPACE ts1
|
|
DROP DATAFILE 'datafile2.dat'
|
|
ENGINE=NDB;
|
|
|
|
ALTER TABLESPACE ts1
|
|
DROP DATAFILE 'datafile.dat'
|
|
ENGINE=NDB;
|
|
|
|
--error ER_ALTER_FILEGROUP_FAILED
|
|
ALTER TABLESPACE ts1
|
|
DROP DATAFILE 'datafile.dat'
|
|
ENGINE=NDB;
|
|
|
|
DROP TABLESPACE ts1
|
|
ENGINE=NDB;
|
|
|
|
--error ER_DROP_FILEGROUP_FAILED
|
|
DROP TABLESPACE ts1
|
|
ENGINE=NDB;
|
|
|
|
DROP LOGFILE GROUP lg1
|
|
ENGINE=NDB;
|
|
|
|
--error ER_DROP_FILEGROUP_FAILED
|
|
DROP LOGFILE GROUP lg1
|
|
ENGINE=NDB;
|
|
|
|
DROP DATABASE IF EXISTS mysqltest;
|
|
|
|
--echo **** End Duplicate Statement Testing ****
|
|
############# End Duplicate Statments ############
|
|
--echo
|
|
############ Begin CaSe Testing ##################
|
|
--echo **** Begin Statment CaSe Testing ****
|
|
|
|
creaTE LOgfilE GrOuP lg1
|
|
adD undoFILE 'undofile.dat'
|
|
initiAL_siZE 1M
|
|
UnDo_BuFfEr_SiZe = 1M
|
|
ENGInE=NDb;
|
|
|
|
altER LOgFiLE GrOUp lg1
|
|
AdD UnDOfILe 'uNdOfiLe02.daT'
|
|
INItIAl_SIzE 1M ENgINE nDB;
|
|
|
|
CrEAtE TABLEspaCE ts1
|
|
ADD DATAfilE 'datafile.dat'
|
|
UsE LoGFiLE GRoUP lg1
|
|
INITiaL_SizE 1M
|
|
ENGiNe NDb;
|
|
|
|
AlTeR tAbLeSpAcE ts1
|
|
AdD DaTaFiLe 'dAtAfiLe2.daT'
|
|
InItIaL_SiZe 1M
|
|
EnGiNe=NDB;
|
|
|
|
CREATE TABLE t1
|
|
(pk1 int not null primary key, b int not null, c int not null)
|
|
TABLEspace ts1 storAGE dISk
|
|
ENGine nDb;
|
|
|
|
DROP TABLE t1;
|
|
|
|
AlteR TAblespaCE ts1
|
|
droP DATAfile 'dAtAfiLe2.daT'
|
|
ENGINE=NDB;
|
|
|
|
ALter tablesPACE ts1
|
|
dROp dAtAfIlE 'datafile.dat'
|
|
ENGine=Ndb;
|
|
|
|
DrOp TaBleSpAcE ts1
|
|
engINE=ndB;
|
|
|
|
DrOp lOgFiLe GrOuP lg1
|
|
EnGiNe=nDb;
|
|
|
|
--echo **** End Statment CaSe Testing ****
|
|
############ End CaSe Testing ##################
|
|
--echo
|
|
############ Begin = and no = Testing ##########
|
|
--echo **** Begin = And No = Testing ****
|
|
|
|
CREATE LOGFILE GROUP lg1
|
|
ADD UNDOFILE 'undofile.dat'
|
|
INITIAL_SIZE=1M
|
|
UNDO_BUFFER_SIZE=1M
|
|
ENGINE=NDB;
|
|
|
|
ALTER LOGFILE GROUP lg1
|
|
ADD UNDOFILE 'undofile02.dat'
|
|
INITIAL_SIZE=1M
|
|
ENGINE=NDB;
|
|
|
|
CREATE TABLESPACE ts1
|
|
ADD DATAFILE 'datafile.dat'
|
|
USE LOGFILE GROUP lg1
|
|
INITIAL_SIZE=1M
|
|
ENGINE=NDB;
|
|
|
|
ALTER TABLESPACE ts1
|
|
ADD DATAFILE 'datafile2.dat'
|
|
INITIAL_SIZE=1M
|
|
ENGINE=NDB;
|
|
|
|
CREATE TABLE t1
|
|
(pk1 INT NOT NULL PRIMARY KEY, b INT NOT NULL, c INT NOT NULL)
|
|
TABLESPACE ts1 STORAGE DISK
|
|
ENGINE=NDB;
|
|
|
|
DROP TABLE t1;
|
|
|
|
ALTER TABLESPACE ts1
|
|
DROP DATAFILE 'datafile2.dat'
|
|
ENGINE=NDB;
|
|
|
|
ALTER TABLESPACE ts1
|
|
DROP DATAFILE 'datafile.dat'
|
|
ENGINE=NDB;
|
|
|
|
DROP TABLESPACE ts1
|
|
ENGINE=NDB;
|
|
|
|
DROP LOGFILE GROUP lg1
|
|
ENGINE=NDB;
|
|
|
|
--echo
|
|
--echo **** End of = ****
|
|
--echo
|
|
|
|
CREATE LOGFILE GROUP lg1
|
|
ADD UNDOFILE 'undofile.dat'
|
|
INITIAL_SIZE 1M
|
|
UNDO_BUFFER_SIZE 1M
|
|
ENGINE NDB;
|
|
|
|
ALTER LOGFILE GROUP lg1
|
|
ADD UNDOFILE 'undofile02.dat'
|
|
INITIAL_SIZE 1M
|
|
ENGINE NDB;
|
|
|
|
CREATE TABLESPACE ts1
|
|
ADD DATAFILE 'datafile.dat'
|
|
USE LOGFILE GROUP lg1
|
|
INITIAL_SIZE 1M
|
|
ENGINE NDB;
|
|
|
|
ALTER TABLESPACE ts1
|
|
ADD DATAFILE 'datafile2.dat'
|
|
INITIAL_SIZE 1M
|
|
ENGINE NDB;
|
|
|
|
CREATE TABLE t1
|
|
(pk1 INT NOT NULL PRIMARY KEY, b INT NOT NULL, c INT NOT NULL)
|
|
TABLESPACE ts1 STORAGE DISK
|
|
ENGINE NDB;
|
|
|
|
CREATE INDEX b_i on t1(b);
|
|
CREATE INDEX bc_i on t1(b, c);
|
|
|
|
DROP TABLE t1;
|
|
|
|
# bug#20053
|
|
|
|
CREATE TABLESPACE ts2
|
|
ADD DATAFILE 'datafile3.dat'
|
|
USE LOGFILE GROUP lg1
|
|
INITIAL_SIZE 1M
|
|
ENGINE NDB;
|
|
|
|
--error ER_ALTER_FILEGROUP_FAILED
|
|
ALTER TABLESPACE ts1
|
|
DROP DATAFILE 'datafile3.dat'
|
|
ENGINE NDB;
|
|
|
|
--error ER_ALTER_FILEGROUP_FAILED
|
|
ALTER TABLESPACE ts2
|
|
DROP DATAFILE 'datafile2.dat'
|
|
ENGINE NDB;
|
|
# bug#20053
|
|
|
|
ALTER TABLESPACE ts1
|
|
DROP DATAFILE 'datafile2.dat'
|
|
ENGINE NDB;
|
|
|
|
ALTER TABLESPACE ts1
|
|
DROP DATAFILE 'datafile.dat'
|
|
ENGINE NDB;
|
|
|
|
DROP TABLESPACE ts1
|
|
ENGINE NDB;
|
|
|
|
ALTER TABLESPACE ts2
|
|
DROP DATAFILE 'datafile3.dat'
|
|
ENGINE NDB;
|
|
|
|
DROP TABLESPACE ts2
|
|
ENGINE NDB;
|
|
|
|
DROP LOGFILE GROUP lg1
|
|
ENGINE NDB;
|
|
|
|
--echo **** End = And No = ****
|
|
############ End = And No = ##################
|
|
|
|
###
|
|
#
|
|
# bug#16341
|
|
create table t1 (a int primary key) engine = myisam;
|
|
|
|
--replace_result $MYSQLTEST_VARDIR MYSQLTEST_VARDIR
|
|
--error ER_CREATE_FILEGROUP_FAILED
|
|
--eval create logfile group lg1 add undofile '$MYSQLTEST_VARDIR/master-data/test/t1.frm' initial_size 1M undo_buffer_size = 1M engine=ndb;
|
|
|
|
create logfile group lg1
|
|
add undofile 'undofile.dat'
|
|
initial_size 1M
|
|
undo_buffer_size = 1M
|
|
engine=ndb;
|
|
|
|
--replace_result $MYSQLTEST_VARDIR MYSQLTEST_VARDIR
|
|
--error ER_CREATE_FILEGROUP_FAILED
|
|
--eval create tablespace ts1 add datafile '$MYSQLTEST_VARDIR/master-data/test/t1.frm' use logfile group lg1 initial_size 1M engine ndb;
|
|
|
|
--error ER_DROP_FILEGROUP_FAILED
|
|
drop tablespace ts1
|
|
engine ndb;
|
|
|
|
drop logfile group lg1
|
|
engine ndb;
|
|
|
|
drop table t1;
|
|
|
|
# End 5.1 test
|