1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126
|
--source include/have_ndb.inc
# Create logfile group
CREATE LOGFILE GROUP lg1
ADD UNDOFILE 'lg1_undofile.dat'
INITIAL_SIZE 1M
UNDO_BUFFER_SIZE = 1M
ENGINE=NDB;
# Create tablespace
CREATE TABLESPACE ts1
ADD DATAFILE 'ts1_datafile.dat'
USE LOGFILE GROUP lg1
INITIAL_SIZE 1M
ENGINE NDB;
# Add an extra datafile
ALTER TABLESPACE ts1
ADD DATAFILE 'ts1_datafile2.dat'
INITIAL_SIZE = 4M;
# Check for UNDO LOG file in I_S
SELECT file_name, file_type FROM information_schema.files
WHERE engine='ndbcluster' AND file_type = 'UNDO LOG';
# Check for DATAFILE in I_S
SELECT file_name, file_type FROM information_schema.files
WHERE engine='ndbcluster' AND file_type = 'DATAFILE';
# Drop datafile from tablespace
ALTER TABLESPACE ts1
DROP DATAFILE 'ts1_datafile.dat';
# Drop second datafile from NDB
ALTER TABLESPACE ts1
DROP DATAFILE 'ts1_datafile2.dat';
# Bug#26133507: ATTEMPT TO DROP NONEXISTING DATAFILE FROM TABLESPACE GIVES
# 'INCORRECT FILE NAME'
# Drop second datafile from NDB again
--error ER_MISSING_TABLESPACE_FILE
ALTER TABLESPACE ts1
DROP DATAFILE 'ts1_datafile2.dat';
# Drop tablespace
DROP TABLESPACE ts1;
# Create empty datafile
--write_file $MYSQLTEST_VARDIR/tmp/t1.dat
EOF
# Try to create tablespace with the same datafile
--replace_result $MYSQLTEST_VARDIR MYSQLTEST_VARDIR
--error ER_CREATE_FILEGROUP_FAILED
--eval CREATE TABLESPACE ts1 ADD DATAFILE '$MYSQLTEST_VARDIR/tmp/t1.dat' USE LOGFILE GROUP lg1 INITIAL_SIZE 1M ENGINE NDB
SHOW WARNINGS;
# Create tablespace again this time with valid datafile
CREATE TABLESPACE ts1
ADD DATAFILE 'ts1_datafile.dat'
USE LOGFILE GROUP lg1
INITIAL_SIZE 1M
ENGINE NDB;
# Drop datafile from tablespace
ALTER TABLESPACE ts1
DROP DATAFILE 'ts1_datafile.dat';
# Drop tablespace
DROP TABLESPACE ts1;
--echo #
--echo # WL#12236 - CREATE TABLESPACE without DATAFILE clause.
--echo #
CREATE TABLESPACE ts1
USE LOGFILE GROUP lg1
INITIAL_SIZE 1M
ENGINE NDB;
let $datafile_name = `SELECT SUBSTR(file_name,3) FROM INFORMATION_SCHEMA.FILES WHERE engine='ndbcluster' AND file_type = 'DATAFILE'`;
# Drop datafile from tablespace
--replace_result $datafile_name DATAFILE_NAME
eval ALTER TABLESPACE ts1 DROP DATAFILE '$datafile_name';
DROP TABLESPACE ts1;
# create tablespace without DATAFILE clause and alter tablespace with ADD DATAFILE clause
CREATE TABLESPACE ts2
USE LOGFILE GROUP lg1
INITIAL_SIZE 1M
ENGINE NDB;
ALTER TABLESPACE ts2
ADD DATAFILE 'data_2.dat'
INITIAL_SIZE 1M;
CREATE TABLE t2 (
id INT UNSIGNED NOT NULL AUTO_INCREMENT PRIMARY KEY,
last_name VARCHAR(50) NOT NULL,
first_name VARCHAR(50) NOT NULL,
dob DATE NOT NULL,
joined DATE NOT NULL,
INDEX(last_name, first_name)
)
TABLESPACE ts2 STORAGE DISK
ENGINE NDB;
INSERT INTO t2 VALUES(1,'aaa','bbb','1981-02-04','2017-07-17');
SELECT * FROM t2;
DROP TABLE t2;
ALTER TABLESPACE ts2 DROP DATAFILE 'data_2.dat';
let $datafile_name1=`SELECT SUBSTR(file_name,3) FROM INFORMATION_SCHEMA.FILES WHERE engine='ndbcluster' AND file_type = 'DATAFILE'`;
--replace_result $datafile_name1 DATAFILE_NAME
eval ALTER TABLESPACE ts2 DROP DATAFILE '$datafile_name1';
DROP TABLESPACE ts2;
# Drop logfile group
DROP LOGFILE GROUP lg1
ENGINE=NDB;
# Remove empty datafile
--remove_file $MYSQLTEST_VARDIR/tmp/t1.dat
|