diff options
Diffstat (limited to 'mysql-test/suite/innodb/t/innodb_zip_innochecksum3.test')
-rw-r--r-- | mysql-test/suite/innodb/t/innodb_zip_innochecksum3.test | 406 |
1 files changed, 0 insertions, 406 deletions
diff --git a/mysql-test/suite/innodb/t/innodb_zip_innochecksum3.test b/mysql-test/suite/innodb/t/innodb_zip_innochecksum3.test deleted file mode 100644 index dab10dcc997..00000000000 --- a/mysql-test/suite/innodb/t/innodb_zip_innochecksum3.test +++ /dev/null @@ -1,406 +0,0 @@ -#************************************************************ -# WL6045:Improve Innochecksum -#************************************************************ ---source include/innodb_page_size_small.inc - ---source include/no_valgrind_without_big.inc - -# Embedded server does not support crashing. ---source include/not_embedded.inc - -# Avoid CrashReporter popup on Mac. ---source include/not_crashrep.inc - ---echo # Set the environmental variables -let MYSQLD_BASEDIR= `SELECT @@basedir`; -let MYSQLD_DATADIR= `SELECT @@datadir`; -let SEARCH_FILE= $MYSQLTEST_VARDIR/log/my_restart.err; - -call mtr.add_suppression("InnoDB: Unable to read tablespace .* page no .* into the buffer pool after 100 attempts"); -call mtr.add_suppression("InnoDB: innodb_checksum_algorithm is set to.*"); - ---echo [1]: Further Test are for rewrite checksum (innodb|crc32|none) for all ibd file & start the server. - -CREATE TABLE tab1 (pk INTEGER NOT NULL PRIMARY KEY, -linestring_key GEOMETRY NOT NULL, -linestring_nokey GEOMETRY NOT NULL) -ENGINE=InnoDB ; - -INSERT INTO tab1 (pk, linestring_key, linestring_nokey) -VALUES (1, ST_GeomFromText('POINT(10 10) '), ST_GeomFromText('POINT(10 10) ')); - -CREATE INDEX linestring_index ON tab1(linestring_nokey(5)); -ALTER TABLE tab1 ADD KEY (linestring_key(5)); - ---echo # create a compressed table -CREATE TABLE tab2(col_1 CHAR (255) , -col_2 VARCHAR (255), col_3 longtext, -col_4 longtext,col_5 longtext, -col_6 longtext , col_7 int ) -engine = innodb row_format=compressed key_block_size=4; - -CREATE INDEX idx1 ON tab2(col_3(10)); -CREATE INDEX idx2 ON tab2(col_4(10)); -CREATE INDEX idx3 ON tab2(col_5(10)); - -# load the with repeat function -SET @col_1 = repeat('a', 5); -SET @col_2 = repeat('b', 20); -SET @col_3 = repeat('c', 100); -SET @col_4 = repeat('d', 100); -SET @col_5 = repeat('e', 100); -SET @col_6 = repeat('f', 100); - -# insert 5 records -let $i = 5; -while ($i) { - eval INSERT INTO tab2(col_1,col_2,col_3,col_4,col_5,col_6,col_7) - VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,$i); - dec $i; -} - ---disable_result_log -SELECT * FROM tab2 ORDER BY col_7; - ---echo # stop the server ---source include/shutdown_mysqld.inc - ---echo [1(a)]: Rewrite into new checksum=InnoDB for all *.ibd file and ibdata1 ---exec $INNOCHECKSUM --write=InnoDB $MYSQLD_DATADIR/test/tab1.ibd ---exec $INNOCHECKSUM --write=InnoDB $MYSQLD_DATADIR/test/tab2.ibd ---exec $INNOCHECKSUM --write=InnoDB $MYSQLD_DATADIR/ibdata1 -perl; -foreach (glob("$ENV{MYSQLD_DATADIR}/*/*.ibd")) { - system("$ENV{INNOCHECKSUM} --no-check --write=InnoDB $_") -} -EOF - ---echo : start the server with innodb_checksum_algorithm=strict_innodb ---let $restart_parameters= --innodb_checksum_algorithm=strict_innodb ---source include/start_mysqld.inc - -INSERT INTO tab1 (pk, linestring_key, linestring_nokey) -VALUES (2, ST_GeomFromText('LINESTRING(10 10,20 20,30 30)'), ST_GeomFromText('LINESTRING(10 10,20 20,30 30)')); - -# load the with repeat function -SET @col_1 = repeat('a', 5); -SET @col_2 = repeat('b', 20); -SET @col_3 = repeat('c', 100); -SET @col_4 = repeat('d', 100); -SET @col_5 = repeat('e', 100); -SET @col_6 = repeat('f', 100); - -# check the table status is GOOD with DML -let $i = 6; -eval INSERT INTO tab2(col_1,col_2,col_3,col_4,col_5,col_6,col_7) -VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,$i); - --- disable_result_log -SELECT pk,ST_AsText(linestring_key),ST_AsText(linestring_nokey) -FROM tab1 ORDER BY pk; - --- disable_result_log -SELECT * FROM tab2 ORDER BY col_7; - ---echo # stop the server ---source include/shutdown_mysqld.inc - ---echo [1(b)]: Rewrite into new checksum=crc32 for all *.ibd file and ibdata1 ---exec $INNOCHECKSUM --write=CRC32 $MYSQLD_DATADIR/test/tab1.ibd ---exec $INNOCHECKSUM --write=CRC32 $MYSQLD_DATADIR/test/tab2.ibd ---exec $INNOCHECKSUM --write=CRC32 $MYSQLD_DATADIR/ibdata1 -perl; -foreach (glob("$ENV{MYSQLD_DATADIR}/*/*.ibd")) { - system("$ENV{INNOCHECKSUM} --no-check --write=crc32 $_") -} -EOF - ---echo # start the server with innodb_checksum_algorithm=strict_crc32 ---let $restart_parameters= --innodb_checksum_algorithm=strict_crc32 ---source include/start_mysqld.inc - -# check the table status is GOOD with DML -INSERT INTO tab1 (pk, linestring_key, linestring_nokey) -VALUES (3, ST_GeomFromText('POLYGON((0 0,5 5,10 10,15 15,0 0),(10 10,20 20,30 30,40 40,10 10))'), -ST_GeomFromText('POLYGON((0 0,5 5,10 10,15 15,0 0),(10 10,20 20,30 30,40 40,10 10))')); - -# load the with repeat function -SET @col_1 = repeat('g', 5); -SET @col_2 = repeat('h', 20); -SET @col_3 = repeat('i', 100); -SET @col_4 = repeat('j', 100); -SET @col_5 = repeat('k', 100); -SET @col_6 = repeat('l', 100); - -# check the table status is GOOD with DML -let $i = 7; -eval INSERT INTO tab2(col_1,col_2,col_3,col_4,col_5,col_6,col_7) -VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,$i); - -# check the records from table --- disable_result_log -SELECT pk,ST_AsText(linestring_key),ST_AsText(linestring_nokey) -FROM tab1 ORDER BY pk; - --- disable_result_log -SELECT * FROM tab2 ORDER BY col_7; - ---echo # stop the server ---source include/shutdown_mysqld.inc - ---echo [1(c)]: Rewrite into new checksum=none for all *.ibd file and ibdata1 ---exec $INNOCHECKSUM --write=none $MYSQLD_DATADIR/test/tab1.ibd ---exec $INNOCHECKSUM --write=none $MYSQLD_DATADIR/test/tab2.ibd ---exec $INNOCHECKSUM --write=none $MYSQLD_DATADIR/ibdata1 -perl; -foreach (glob("$ENV{MYSQLD_DATADIR}/undo*")) { - system("$ENV{INNOCHECKSUM} --no-check --write=NONE $_") -} -foreach (glob("$ENV{MYSQLD_DATADIR}/*/*.ibd")) { - system("$ENV{INNOCHECKSUM} --no-check --write=NONE $_") -} -EOF - ---let $restart_parameters= --innodb_checksum_algorithm=strict_none ---source include/start_mysqld.inc ---let $restart_parameters= -# check the table status is GOOD with DML -INSERT INTO tab1 (pk, linestring_key, linestring_nokey) -VALUES (4, ST_GeomFromText('MULTIPOINT(0 0,5 5,10 10,20 20) '), ST_GeomFromText('MULTIPOINT(0 0,5 5,10 10,20 20) ')); - -# load the with repeat function -SET @col_1 = repeat('m', 5); -SET @col_2 = repeat('n', 20); -SET @col_3 = repeat('o', 100); -SET @col_4 = repeat('p', 100); -SET @col_5 = repeat('q', 100); -SET @col_6 = repeat('r', 100); - -# check the table status is GOOD with DML -let $i = 8; -eval INSERT INTO tab2(col_1,col_2,col_3,col_4,col_5,col_6,col_7) -VALUES (@col_1,@col_2,@col_3,@col_4,@cl_5,@col_6,$i); - -# check the records from table --- disable_result_log -SELECT pk,ST_AsText(linestring_key),ST_AsText(linestring_nokey) -FROM tab1 ORDER BY pk; - ---disable_result_log -SELECT * FROM tab2 ORDER BY col_7; ---enable_result_log - ---echo # stop the server ---source include/shutdown_mysqld.inc - ---echo [2]: Check the page type summary with shortform for tab1.ibd ---replace_regex /File.*.ibd/File::tab1.ibd/ /[0-9]+/#/ ---exec $INNOCHECKSUM -S $MYSQLD_DATADIR/test/tab1.ibd 2>$MYSQLTEST_VARDIR/tmp/page_summary_short.txt - ---echo [3]: Check the page type summary with longform for tab1.ibd ---replace_regex /File.*.ibd/File::tab1.ibd/ /[0-9]+/#/ ---exec $INNOCHECKSUM --page-type-summary $MYSQLD_DATADIR/test/tab1.ibd 2>$MYSQLTEST_VARDIR/tmp/page_summary_long.txt - ---remove_file $MYSQLTEST_VARDIR/tmp/page_summary_short.txt ---remove_file $MYSQLTEST_VARDIR/tmp/page_summary_long.txt ---echo [4]: Page type dump for with longform for tab1.ibd ---replace_result $MYSQLTEST_VARDIR MYSQLTEST_VARDIR ---exec $INNOCHECKSUM --page-type-dump $MYSQLTEST_VARDIR/tmp/dump.txt $MYSQLD_DATADIR/test/tab1.ibd - -perl; -use strict; -use warnings; -use File::Copy; -my $dir = $ENV{'MYSQLTEST_VARDIR'}; -opendir(DIR, $dir) or die $!; -my $file= 'dump.txt'; -# open file in write mode -open IN_FILE,"<", "$dir/tmp/$file" or die $!; -open OUT_FILE, ">", "$dir/tmp/innochecksum_3_tempfile" or die $!; -while(<IN_FILE>) -{ - # Replace the intergers to # and complete file path to file name only. - $_=~ s/Filename.+/Filename::tab1.ibd/g; - $_=~ s/\d+/#/g; - print OUT_FILE $_; -} -close(IN_FILE); -close(OUT_FILE); -# move the new content from tmp file to the orginal file. -move ("$dir/tmp/innochecksum_3_tempfile", "$dir/tmp/$file"); -closedir(DIR); -EOF - ---echo # Print the contents stored in dump.txt -cat_file $MYSQLTEST_VARDIR/tmp/dump.txt; ---remove_file $MYSQLTEST_VARDIR/tmp/dump.txt - ---echo # Variables used by page type dump for ibdata1 ---exec $INNOCHECKSUM -v --page-type-dump $MYSQLTEST_VARDIR/tmp/dump.txt $MYSQLD_DATADIR/ibdata1 > $MYSQLTEST_VARDIR/tmp/page_verbose_summary.txt - ---file_exists $MYSQLTEST_VARDIR/tmp/dump.txt ---remove_file $MYSQLTEST_VARDIR/tmp/dump.txt - -perl; -use strict; -use warnings; -use File::Copy; -my $dir = $ENV{'MYSQLTEST_VARDIR'}; -opendir(DIR, $dir) or die $!; -my $file= 'page_verbose_summary.txt'; -# open file in write mode -open IN_FILE,"<", "$dir/tmp/$file" or die $!; -open OUT_FILE, ">", "$dir/tmp/innochecksum_3_tempfile" or die $!; -while(<IN_FILE>) -{ - # Replace complete file path to file name only. - $_=~ s/$dir/MYSQLTEST_VARDIR/; - # Remove debug option, which is not in all builds - next if (/debug/); - print OUT_FILE $_; -} -close(IN_FILE); -close(OUT_FILE); -# move the new content from tmp file to the orginal file. -move ("$dir/tmp/innochecksum_3_tempfile", "$dir/tmp/$file"); -closedir(DIR); -EOF - -cat_file $MYSQLTEST_VARDIR/tmp/page_verbose_summary.txt; ---remove_file $MYSQLTEST_VARDIR/tmp/page_verbose_summary.txt - ---echo [5]: Page type dump for with shortform for tab1.ibd ---exec $INNOCHECKSUM -D $MYSQLTEST_VARDIR/tmp/dump.txt $MYSQLD_DATADIR/test/tab1.ibd - -perl; -use strict; -use warnings; -use File::Copy; -my $dir = $ENV{'MYSQLTEST_VARDIR'}; -opendir(DIR, $dir) or die $!; -my $file= 'dump.txt'; -# open file in write mode -open IN_FILE,"<", "$dir/tmp/$file" or die $!; -open OUT_FILE, ">", "$dir/tmp/innochecksum_3_tempfile" or die $!; -while(<IN_FILE>) -{ - # Replace the intergers to # and complete file path to file name only. - $_=~ s/Filename.+/Filename::tab1.ibd/g; - $_=~ s/\d+/#/g; - print OUT_FILE $_; -} -close(IN_FILE); -close(OUT_FILE); -# move the new content from tmp file to the orginal file. -move ("$dir/tmp/innochecksum_3_tempfile", "$dir/tmp/$file"); -closedir(DIR); -EOF - -# Print the contents stored in dump.txt -cat_file $MYSQLTEST_VARDIR/tmp/dump.txt; ---remove_file $MYSQLTEST_VARDIR/tmp/dump.txt - ---echo [6]: check the valid lower bound values for option ---echo # allow-mismatches,page,start-page,end-page ---exec $INNOCHECKSUM --allow-mismatches=0 $MYSQLD_DATADIR/test/tab1.ibd ---exec $INNOCHECKSUM -a 0 $MYSQLD_DATADIR/test/tab1.ibd ---exec $INNOCHECKSUM --page=0 $MYSQLD_DATADIR/test/tab1.ibd ---exec $INNOCHECKSUM -p 0 $MYSQLD_DATADIR/test/tab1.ibd ---exec $INNOCHECKSUM --start-page=0 $MYSQLD_DATADIR/test/tab1.ibd ---exec $INNOCHECKSUM -s 0 $MYSQLD_DATADIR/test/tab1.ibd ---exec $INNOCHECKSUM --end-page=0 $MYSQLD_DATADIR/test/tab1.ibd ---exec $INNOCHECKSUM -e 0 $MYSQLD_DATADIR/test/tab1.ibd - -# -# These produce now errors -# -#--echo [7]: check the negative values for option -#--echo # allow-mismatches,page,start-page,end-page. -#--echo # They will reset to zero for negative values. -#--echo # check the invalid lower bound values -#--exec $INNOCHECKSUM --allow-mismatches=-1 $MYSQLD_DATADIR/test/tab1.ibd -#--exec $INNOCHECKSUM -a -1 $MYSQLD_DATADIR/test/tab1.ibd -#--exec $INNOCHECKSUM --page=-1 $MYSQLD_DATADIR/test/tab1.ibd -#--exec $INNOCHECKSUM -p -1 $MYSQLD_DATADIR/test/tab1.ibd -#--exec $INNOCHECKSUM --start-page=-1 $MYSQLD_DATADIR/test/tab1.ibd -#--exec $INNOCHECKSUM -s -1 $MYSQLD_DATADIR/test/tab1.ibd -#--exec $INNOCHECKSUM --end-page=-1 $MYSQLD_DATADIR/test/tab1.ibd -#--exec $INNOCHECKSUM -e -1 $MYSQLD_DATADIR/test/tab1.ibd -# -#--echo [8]: check the valid upper bound values for -#--echo # both short and long options "allow-mismatches" and "end-page" -# -#--exec $INNOCHECKSUM --allow-mismatches=18446744073709551615 $MYSQLD_DATADIR/test/tab1.ibd -#--exec $INNOCHECKSUM -a 18446744073709551615 $MYSQLD_DATADIR/test/tab1.ibd -#--exec $INNOCHECKSUM --end-page=18446744073709551615 $MYSQLD_DATADIR/test/tab1.ibd -#--exec $INNOCHECKSUM -e 18446744073709551615 $MYSQLD_DATADIR/test/tab1.ibd - ---echo [9]: check the both short and long options "page" and "start-page" when ---echo # seek value is larger than file size. ---error 1 ---exec $INNOCHECKSUM --page=18446744073709551615 $MYSQLD_DATADIR/test/tab1.ibd 2> $SEARCH_FILE -let SEARCH_PATTERN= Error: Unable to seek to necessary offset: Invalid argument; ---source include/search_pattern_in_file.inc - ---error 1 ---exec $INNOCHECKSUM -p 18446744073709551615 $MYSQLD_DATADIR/test/tab1.ibd 2> $SEARCH_FILE -let SEARCH_PATTERN= Error: Unable to seek to necessary offset: Invalid argument; ---source include/search_pattern_in_file.inc - ---error 1 ---exec $INNOCHECKSUM --start-page=18446744073709551615 $MYSQLD_DATADIR/test/tab1.ibd 2> $SEARCH_FILE -let SEARCH_PATTERN= Error: Unable to seek to necessary offset: Invalid argument; ---source include/search_pattern_in_file.inc - ---error 1 ---exec $INNOCHECKSUM -s 18446744073709551615 $MYSQLD_DATADIR/test/tab1.ibd 2> $SEARCH_FILE -let SEARCH_PATTERN= Error: Unable to seek to necessary offset: Invalid argument; ---source include/search_pattern_in_file.inc - ---echo [34]: check the invalid upper bound values for options, allow-mismatches, end-page, start-page and page. ---echo # innochecksum will fail with error code: 1 ---error 1 ---exec $INNOCHECKSUM --allow-mismatches=18446744073709551616 $MYSQLD_DATADIR/test/tab1.ibd 2> $SEARCH_FILE -let SEARCH_PATTERN= Incorrect unsigned integer value: '18446744073709551616'; ---source include/search_pattern_in_file.inc - ---error 1 ---exec $INNOCHECKSUM -a 18446744073709551616 $MYSQLD_DATADIR/test/tab1.ibd 2> $SEARCH_FILE -let SEARCH_PATTERN= Incorrect unsigned integer value: '18446744073709551616'; ---source include/search_pattern_in_file.inc - ---error 1 ---exec $INNOCHECKSUM --end-page=18446744073709551616 $MYSQLD_DATADIR/test/tab1.ibd 2> $SEARCH_FILE -let SEARCH_PATTERN= Incorrect unsigned integer value: '18446744073709551616'; ---source include/search_pattern_in_file.inc - ---error 1 ---exec $INNOCHECKSUM -e 18446744073709551616 $MYSQLD_DATADIR/test/tab1.ibd 2> $SEARCH_FILE -let SEARCH_PATTERN= Incorrect unsigned integer value: '18446744073709551616'; ---source include/search_pattern_in_file.inc - ---error 1 ---exec $INNOCHECKSUM --page=18446744073709551616 $MYSQLD_DATADIR/test/tab1.ibd 2> $SEARCH_FILE -let SEARCH_PATTERN= Incorrect unsigned integer value: '18446744073709551616'; ---source include/search_pattern_in_file.inc - ---error 1 ---exec $INNOCHECKSUM -p 18446744073709551616 $MYSQLD_DATADIR/test/tab1.ibd 2> $SEARCH_FILE -let SEARCH_PATTERN= Incorrect unsigned integer value: '18446744073709551616'; ---source include/search_pattern_in_file.inc - ---error 1 ---exec $INNOCHECKSUM --start-page=18446744073709551616 $MYSQLD_DATADIR/test/tab1.ibd 2> $SEARCH_FILE -let SEARCH_PATTERN= Incorrect unsigned integer value: '18446744073709551616'; ---source include/search_pattern_in_file.inc - ---error 1 ---exec $INNOCHECKSUM -s 18446744073709551616 $MYSQLD_DATADIR/test/tab1.ibd 2> $SEARCH_FILE -let SEARCH_PATTERN= Incorrect unsigned integer value: '18446744073709551616'; ---source include/search_pattern_in_file.inc ---remove_file $SEARCH_FILE - -# Cleanup ---source include/start_mysqld.inc - -DROP TABLE tab1,tab2; |