Commit 1d5a306e authored by Marko Mäkelä's avatar Marko Mäkelä

MDEV-12873 InnoDB SYS_TABLES.TYPE incompatibility for PAGE_COMPRESSION in MariaDB 10.2.2 to 10.2.6

Add a test case for corrupting SYS_TABLES.TYPE,
and for ROW_FORMAT=REDUNDANT, the unused field SYS_TABLES.MIX_LEN
that must be ignored (InnoDB before MySQL 5.5 wrote uninitialized
garbage to this column).

MariaDB 10.0 appears to validate the SYS_TABLES.TYPE properly.
This is a test-only change.
parent 74e4cf70
--- suite/innodb/r/table_flags.result
+++ suite/innodb/r/table_flags,4k.reject
@@ -13,7 +13,7 @@
header=0x01000003016e (NAME=0x696e66696d756d00)
header=0x00002815008d (NAME='SYS_DATAFILES',
DB_TRX_ID=0x000000000301,
- DB_ROLL_PTR=0x81000001320194,
+ DB_ROLL_PTR=0x81000003260194,
ID=0x000000000000000e,
N_COLS=0x00000002,
TYPE=0x00000001,
@@ -23,7 +23,7 @@
SPACE=0x00000000)
header=0x0000101500d5 (NAME='SYS_FOREIGN',
DB_TRX_ID=0x000000000300,
- DB_ROLL_PTR=0x800000012d0110,
+ DB_ROLL_PTR=0x80000003200110,
ID=0x000000000000000b,
N_COLS=0x00000004,
TYPE=0x00000001,
@@ -33,7 +33,7 @@
SPACE=0x00000000)
header=0x000018150122 (NAME='SYS_FOREIGN_COLS',
DB_TRX_ID=0x000000000300,
- DB_ROLL_PTR=0x800000012d0201,
+ DB_ROLL_PTR=0x80000003200201,
ID=0x000000000000000c,
N_COLS=0x00000004,
TYPE=0x00000001,
@@ -43,7 +43,7 @@
SPACE=0x00000000)
header=0x0400201501fc (NAME='SYS_TABLESPACES',
DB_TRX_ID=0x000000000301,
- DB_ROLL_PTR=0x81000001320110,
+ DB_ROLL_PTR=0x81000003260110,
ID=0x000000000000000d,
N_COLS=0x00000003,
TYPE=0x00000001,
@@ -53,7 +53,7 @@
SPACE=0x00000000)
header=0x000038150240 (NAME='test/tc',
DB_TRX_ID=0x000000000303,
- DB_ROLL_PTR=0x83000001360110,
+ DB_ROLL_PTR=0x830000032b0110,
ID=0x0000000000000010,
N_COLS=0x80000001,
TYPE=0x00000001,
@@ -63,7 +63,7 @@
SPACE=0x00000002)
header=0x0000401502c8 (NAME='test/td',
DB_TRX_ID=0x000000000304,
- DB_ROLL_PTR=0x84000001370110,
+ DB_ROLL_PTR=0x840000032c0110,
ID=0x0000000000000011,
N_COLS=0x80000001,
TYPE=0x00000021,
@@ -73,7 +73,7 @@
SPACE=0x00000003)
header=0x0000501501b8 (NAME='test/tp',
DB_TRX_ID=0x000000000306,
- DB_ROLL_PTR=0x86000001390110,
+ DB_ROLL_PTR=0x860000032e0110,
ID=0x0000000000000013,
N_COLS=0x80000001,
TYPE=0x00000021,
@@ -83,7 +83,7 @@
SPACE=0x00000005)
header=0x000030150284 (NAME='test/tr',
DB_TRX_ID=0x000000000302,
- DB_ROLL_PTR=0x82000001350110,
+ DB_ROLL_PTR=0x820000032a0110,
ID=0x000000000000000f,
N_COLS=0x00000001,
TYPE=0x00000001,
@@ -93,7 +93,7 @@
SPACE=0x00000001)
header=0x000048150074 (NAME='test/tz',
DB_TRX_ID=0x000000000305,
- DB_ROLL_PTR=0x85000001380110,
+ DB_ROLL_PTR=0x850000032d0110,
ID=0x0000000000000012,
N_COLS=0x80000001,
TYPE=0x00000023,
--- suite/innodb/r/table_flags.result
+++ suite/innodb/r/table_flags,8k.reject
@@ -13,7 +13,7 @@
header=0x01000003016e (NAME=0x696e66696d756d00)
header=0x00002815008d (NAME='SYS_DATAFILES',
DB_TRX_ID=0x000000000301,
- DB_ROLL_PTR=0x81000001320194,
+ DB_ROLL_PTR=0x81000001d70194,
ID=0x000000000000000e,
N_COLS=0x00000002,
TYPE=0x00000001,
@@ -23,7 +23,7 @@
SPACE=0x00000000)
header=0x0000101500d5 (NAME='SYS_FOREIGN',
DB_TRX_ID=0x000000000300,
- DB_ROLL_PTR=0x800000012d0110,
+ DB_ROLL_PTR=0x80000001d10110,
ID=0x000000000000000b,
N_COLS=0x00000004,
TYPE=0x00000001,
@@ -33,7 +33,7 @@
SPACE=0x00000000)
header=0x000018150122 (NAME='SYS_FOREIGN_COLS',
DB_TRX_ID=0x000000000300,
- DB_ROLL_PTR=0x800000012d0201,
+ DB_ROLL_PTR=0x80000001d10201,
ID=0x000000000000000c,
N_COLS=0x00000004,
TYPE=0x00000001,
@@ -43,7 +43,7 @@
SPACE=0x00000000)
header=0x0400201501fc (NAME='SYS_TABLESPACES',
DB_TRX_ID=0x000000000301,
- DB_ROLL_PTR=0x81000001320110,
+ DB_ROLL_PTR=0x81000001d70110,
ID=0x000000000000000d,
N_COLS=0x00000003,
TYPE=0x00000001,
@@ -53,7 +53,7 @@
SPACE=0x00000000)
header=0x000038150240 (NAME='test/tc',
DB_TRX_ID=0x000000000303,
- DB_ROLL_PTR=0x83000001360110,
+ DB_ROLL_PTR=0x83000001db0110,
ID=0x0000000000000010,
N_COLS=0x80000001,
TYPE=0x00000001,
@@ -63,7 +63,7 @@
SPACE=0x00000002)
header=0x0000401502c8 (NAME='test/td',
DB_TRX_ID=0x000000000304,
- DB_ROLL_PTR=0x84000001370110,
+ DB_ROLL_PTR=0x84000001dc0110,
ID=0x0000000000000011,
N_COLS=0x80000001,
TYPE=0x00000021,
@@ -73,7 +73,7 @@
SPACE=0x00000003)
header=0x0000501501b8 (NAME='test/tp',
DB_TRX_ID=0x000000000306,
- DB_ROLL_PTR=0x86000001390110,
+ DB_ROLL_PTR=0x86000001de0110,
ID=0x0000000000000013,
N_COLS=0x80000001,
TYPE=0x00000021,
@@ -83,7 +83,7 @@
SPACE=0x00000005)
header=0x000030150284 (NAME='test/tr',
DB_TRX_ID=0x000000000302,
- DB_ROLL_PTR=0x82000001350110,
+ DB_ROLL_PTR=0x82000001da0110,
ID=0x000000000000000f,
N_COLS=0x00000001,
TYPE=0x00000001,
@@ -93,7 +93,7 @@
SPACE=0x00000001)
header=0x000048150074 (NAME='test/tz',
DB_TRX_ID=0x000000000305,
- DB_ROLL_PTR=0x85000001380110,
+ DB_ROLL_PTR=0x85000001dd0110,
ID=0x0000000000000012,
N_COLS=0x80000001,
TYPE=0x00000023,
SET GLOBAL innodb_file_per_table=1;
CREATE TABLE tr(a INT PRIMARY KEY)ENGINE=InnoDB ROW_FORMAT=REDUNDANT;
CREATE TABLE tc(a INT PRIMARY KEY)ENGINE=InnoDB ROW_FORMAT=COMPACT;
CREATE TABLE td(a INT PRIMARY KEY)ENGINE=InnoDB ROW_FORMAT=DYNAMIC;
CREATE TABLE tz(a INT PRIMARY KEY)ENGINE=InnoDB ROW_FORMAT=COMPRESSED
KEY_BLOCK_SIZE=1;
CREATE TABLE tp(a INT PRIMARY KEY)ENGINE=InnoDB ROW_FORMAT=DYNAMIC
PAGE_COMPRESSED=1 PAGE_COMPRESSION_LEVEL=9;
ERROR HY000: Unknown option 'PAGE_COMPRESSED'
CREATE TABLE tp(a INT PRIMARY KEY)ENGINE=InnoDB ROW_FORMAT=DYNAMIC;
SYS_TABLES clustered index root page (8):
N_RECS=9; LEVEL=0; INDEX_ID=0x0000000000000001
header=0x01000003016e (NAME=0x696e66696d756d00)
header=0x00002815008d (NAME='SYS_DATAFILES',
DB_TRX_ID=0x000000000301,
DB_ROLL_PTR=0x81000001320194,
ID=0x000000000000000e,
N_COLS=0x00000002,
TYPE=0x00000001,
MIX_ID=0x0000000000000000,
MIX_LEN=0x00000040,
CLUSTER_NAME=NULL(0 bytes),
SPACE=0x00000000)
header=0x0000101500d5 (NAME='SYS_FOREIGN',
DB_TRX_ID=0x000000000300,
DB_ROLL_PTR=0x800000012d0110,
ID=0x000000000000000b,
N_COLS=0x00000004,
TYPE=0x00000001,
MIX_ID=0x0000000000000000,
MIX_LEN=0x00000040,
CLUSTER_NAME=NULL(0 bytes),
SPACE=0x00000000)
header=0x000018150122 (NAME='SYS_FOREIGN_COLS',
DB_TRX_ID=0x000000000300,
DB_ROLL_PTR=0x800000012d0201,
ID=0x000000000000000c,
N_COLS=0x00000004,
TYPE=0x00000001,
MIX_ID=0x0000000000000000,
MIX_LEN=0x00000040,
CLUSTER_NAME=NULL(0 bytes),
SPACE=0x00000000)
header=0x0400201501fc (NAME='SYS_TABLESPACES',
DB_TRX_ID=0x000000000301,
DB_ROLL_PTR=0x81000001320110,
ID=0x000000000000000d,
N_COLS=0x00000003,
TYPE=0x00000001,
MIX_ID=0x0000000000000000,
MIX_LEN=0x00000040,
CLUSTER_NAME=NULL(0 bytes),
SPACE=0x00000000)
header=0x000038150240 (NAME='test/tc',
DB_TRX_ID=0x000000000303,
DB_ROLL_PTR=0x83000001360110,
ID=0x0000000000000010,
N_COLS=0x80000001,
TYPE=0x00000001,
MIX_ID=0x0000000000000000,
MIX_LEN=0x00000050,
CLUSTER_NAME=NULL(0 bytes),
SPACE=0x00000002)
header=0x0000401502c8 (NAME='test/td',
DB_TRX_ID=0x000000000304,
DB_ROLL_PTR=0x84000001370110,
ID=0x0000000000000011,
N_COLS=0x80000001,
TYPE=0x00000021,
MIX_ID=0x0000000000000000,
MIX_LEN=0x00000050,
CLUSTER_NAME=NULL(0 bytes),
SPACE=0x00000003)
header=0x0000501501b8 (NAME='test/tp',
DB_TRX_ID=0x000000000306,
DB_ROLL_PTR=0x86000001390110,
ID=0x0000000000000013,
N_COLS=0x80000001,
TYPE=0x00000021,
MIX_ID=0x0000000000000000,
MIX_LEN=0x00000050,
CLUSTER_NAME=NULL(0 bytes),
SPACE=0x00000005)
header=0x000030150284 (NAME='test/tr',
DB_TRX_ID=0x000000000302,
DB_ROLL_PTR=0x82000001350110,
ID=0x000000000000000f,
N_COLS=0x00000001,
TYPE=0x00000001,
MIX_ID=0x0000000000000000,
MIX_LEN=0x00000050,
CLUSTER_NAME=NULL(0 bytes),
SPACE=0x00000001)
header=0x000048150074 (NAME='test/tz',
DB_TRX_ID=0x000000000305,
DB_ROLL_PTR=0x85000001380110,
ID=0x0000000000000012,
N_COLS=0x80000001,
TYPE=0x00000023,
MIX_ID=0x0000000000000000,
MIX_LEN=0x00000050,
CLUSTER_NAME=NULL(0 bytes),
SPACE=0x00000004)
header=0x060008030000 (NAME=0x73757072656d756d00)
SHOW CREATE TABLE tr;
Table Create Table
tr CREATE TABLE `tr` (
`a` int(11) NOT NULL,
PRIMARY KEY (`a`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1 ROW_FORMAT=REDUNDANT
INSERT INTO tr VALUES(42);
SHOW CREATE TABLE tc;
ERROR 42S02: Table 'test.tc' doesn't exist in engine
SHOW CREATE TABLE td;
ERROR 42S02: Table 'test.td' doesn't exist in engine
SHOW CREATE TABLE tz;
ERROR 42S02: Table 'test.tz' doesn't exist in engine
SHOW CREATE TABLE tp;
ERROR 42S02: Table 'test.tp' doesn't exist in engine
FOUND /InnoDB: Table '.test.\..t[cdzp].' in InnoDB data dictionary has unknown type (81|f21|8a1|3023)/ in mysqld.1.err
FOUND /InnoDB: Cannot open table test/t[cdzp] from the internal data dictionary of InnoDB/ in mysqld.1.err
Restoring SYS_TABLES clustered index root page (8)
SHOW CREATE TABLE tr;
Table Create Table
tr CREATE TABLE `tr` (
`a` int(11) NOT NULL,
PRIMARY KEY (`a`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1 ROW_FORMAT=REDUNDANT
SHOW CREATE TABLE tc;
Table Create Table
tc CREATE TABLE `tc` (
`a` int(11) NOT NULL,
PRIMARY KEY (`a`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1 ROW_FORMAT=COMPACT
SHOW CREATE TABLE td;
Table Create Table
td CREATE TABLE `td` (
`a` int(11) NOT NULL,
PRIMARY KEY (`a`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1 ROW_FORMAT=DYNAMIC
SHOW CREATE TABLE tz;
Table Create Table
tz CREATE TABLE `tz` (
`a` int(11) NOT NULL,
PRIMARY KEY (`a`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1 ROW_FORMAT=COMPRESSED KEY_BLOCK_SIZE=1
SHOW CREATE TABLE tp;
Table Create Table
tp CREATE TABLE `tp` (
`a` int(11) NOT NULL,
PRIMARY KEY (`a`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1 ROW_FORMAT=DYNAMIC
BEGIN;
INSERT INTO tr VALUES(1);
INSERT INTO tc VALUES(1);
INSERT INTO td VALUES(1);
INSERT INTO tz VALUES(1);
INSERT INTO tp VALUES(1);
ROLLBACK;
SELECT * FROM tr;
a
42
SELECT * FROM tc;
a
SELECT * FROM td;
a
SELECT * FROM tz;
a
SELECT * FROM tp;
a
DROP TABLE tr,tc,td,tz,tp;
ib_logfile0
ib_logfile1
ibdata1
sys_tables.bin
--source include/innodb_page_size.inc --source include/have_innodb.inc
# Embedded mode doesn't allow restarting # Embedded mode doesn't allow restarting
--source include/not_embedded.inc --source include/not_embedded.inc
...@@ -60,6 +60,4 @@ TRUNCATE TABLE t1; ...@@ -60,6 +60,4 @@ TRUNCATE TABLE t1;
TRUNCATE TABLE t2; TRUNCATE TABLE t2;
TRUNCATE TABLE t3; TRUNCATE TABLE t3;
# TODO: Shutdown, corrupt the SYS_TABLES.TYPE of the tables, restart
DROP TABLE t1,t2,t3; DROP TABLE t1,t2,t3;
--source include/innodb_page_size.inc
# Embedded server tests do not support restarting
--source include/not_embedded.inc
--disable_query_log
call mtr.add_suppression("InnoDB: New log files created, LSN=");
call mtr.add_suppression("InnoDB: Creating foreign key constraint system tables");
call mtr.add_suppression("InnoDB: Error: .*innodb_table_stats. not found");
call mtr.add_suppression("InnoDB: Table '.test.\\..t[cdzp].' in InnoDB data dictionary has unknown type (81|f21|8a1|3023)");
call mtr.add_suppression("InnoDB: Cannot open table test/t[cdzp] from the internal data dictionary of InnoDB");
call mtr.add_suppression("InnoDB: Error: table 'test/t[cdzp]'");
FLUSH TABLES;
--enable_query_log
let INNODB_PAGE_SIZE=`select @@innodb_page_size`;
let MYSQLD_DATADIR=`select @@datadir`;
let bugdir= $MYSQLTEST_VARDIR/tmp/table_flags;
--mkdir $bugdir
--let SEARCH_FILE = $MYSQLTEST_VARDIR/log/mysqld.1.err
--let $d=--innodb-data-home-dir=$bugdir --innodb-log-group-home-dir=$bugdir
--let $d=$d --innodb-data-file-path=ibdata1:10M:autoextend
--let $d=$d --innodb-undo-tablespaces=0
--let $restart_parameters=$d --innodb-stats-persistent=0 --innodb-file-format=1
--source include/restart_mysqld.inc
SET GLOBAL innodb_file_per_table=1;
CREATE TABLE tr(a INT PRIMARY KEY)ENGINE=InnoDB ROW_FORMAT=REDUNDANT;
CREATE TABLE tc(a INT PRIMARY KEY)ENGINE=InnoDB ROW_FORMAT=COMPACT;
CREATE TABLE td(a INT PRIMARY KEY)ENGINE=InnoDB ROW_FORMAT=DYNAMIC;
CREATE TABLE tz(a INT PRIMARY KEY)ENGINE=InnoDB ROW_FORMAT=COMPRESSED
KEY_BLOCK_SIZE=1;
# PAGE_COMPRESSED is supported starting with MariaDB 10.1.0
--error ER_UNKNOWN_OPTION
CREATE TABLE tp(a INT PRIMARY KEY)ENGINE=InnoDB ROW_FORMAT=DYNAMIC
PAGE_COMPRESSED=1 PAGE_COMPRESSION_LEVEL=9;
CREATE TABLE tp(a INT PRIMARY KEY)ENGINE=InnoDB ROW_FORMAT=DYNAMIC;
--source include/shutdown_mysqld.inc
--perl
use strict;
my $ps= $ENV{INNODB_PAGE_SIZE};
my $file= "$ENV{bugdir}/ibdata1";
open(FILE, "+<", $file) || die "Unable to open $file\n";
# Read DICT_HDR_TABLES, the root page number of CLUST_IND (SYS_TABLES.NAME).
sysseek(FILE, 7*$ps+38+32, 0) || die "Unable to seek $file";
die "Unable to read $file" unless sysread(FILE, $_, 4) == 4;
my $sys_tables_root = unpack("N", $_);
my $page;
print "SYS_TABLES clustered index root page ($sys_tables_root):\n";
sysseek(FILE, $sys_tables_root*$ps, 0) || die "Unable to seek $file";
die "Unable to read $file" unless sysread(FILE, $page, $ps) == $ps;
open(BACKUP, ">$ENV{bugdir}/sys_tables.bin") || die "Unable to open backup\n";
syswrite(BACKUP, $page, $ps)==$ps || die "Unable to write backup\n";
close(BACKUP) || die "Unable to close backup\n";
print "N_RECS=", unpack("n", substr($page,38+16,2));
print "; LEVEL=", unpack("n", substr($page,38+26,2));
print "; INDEX_ID=0x", unpack("H*", substr($page,38+28,8)), "\n";
my @fields=("NAME","DB_TRX_ID","DB_ROLL_PTR",
"ID","N_COLS","TYPE","MIX_ID","MIX_LEN","CLUSTER_NAME","SPACE");
for (my $offset= 0x65; $offset;
$offset= unpack("n", substr($page,$offset-2,2)))
{
print "header=0x", unpack("H*",substr($page,$offset-6,6)), " (";
my $n_fields= unpack("n", substr($page,$offset-4,2)) >> 1 & 0x3ff;
my $start= 0;
my $name;
for (my $i= 0; $i < $n_fields; $i++) {
my $end= unpack("C", substr($page, $offset-7-$i, 1));
print ",\n " if $i;
print "$fields[$i]=";
if ($end & 0x80) {
print "NULL(", ($end & 0x7f) - $start, " bytes)"
} elsif ($n_fields > 1 && $i == 0) {
$name= substr($page,$offset+$start,$end-$start);
print "'$name'"
} else {
print "0x", unpack("H*", substr($page,$offset+$start,$end-$start))
}
# Corrupt SYS_TABLES.TYPE
if ($i == 5)
{
my $flags= 0;
if ($name eq 'test/tr') {
# $flags= 0x40 # DATA_DIR mismatch causes 10.0 crash!
} elsif ($name eq 'test/tc') {
$flags= 0x80 # 10.1 PAGE_COMPRESSED
} elsif ($name eq 'test/td') {
$flags= 0xf00 # 10.1 PAGE_COMPRESSION_LEVEL=15 (0..9 is valid)
} elsif ($name eq 'test/tz') {
$flags= 0x3000 # 10.1 ATOMIC_WRITES=3 (0..2 is valid)
} elsif ($name eq 'test/tp') {
$flags= 0x880 # 10.1 PAGE_COMPRESSED, PAGE_COMPRESSION_LEVEL=8
# (in 10.1, this leaves PAGE_COMPRESSION_LEVEL=1
# without PAGE_COMPRESSED, which should be invalid)
}
substr($page,$offset+$start,$end-$start)= pack(
"N", $flags ^
unpack("N", substr($page,$offset+$start,$end-$start)))
if $flags;
}
# Corrupt SYS_TABLES.MIX_LEN (ignored for ROW_FORMAT=REDUNDANT)
if ($i == 7 && $name eq 'test/tr')
{
substr($page,$offset+$start,$end-$start)= chr(255) x 4;
}
$start= $end & 0x7f;
}
print ")\n";
}
substr($page,0,4)=pack("N",0xdeadbeef);
substr($page,$ps-8,4)=pack("N",0xdeadbeef);
sysseek(FILE, $sys_tables_root*$ps, 0) || die "Unable to seek $file";
syswrite(FILE, $page, $ps)==$ps || die "Unable to write $file\n";
close(FILE) || die "Unable to close $file\n";
EOF
--source include/start_mysqld.inc
SHOW CREATE TABLE tr;
INSERT INTO tr VALUES(42);
--error ER_NO_SUCH_TABLE_IN_ENGINE
SHOW CREATE TABLE tc;
--error ER_NO_SUCH_TABLE_IN_ENGINE
SHOW CREATE TABLE td;
--error ER_NO_SUCH_TABLE_IN_ENGINE
SHOW CREATE TABLE tz;
--error ER_NO_SUCH_TABLE_IN_ENGINE
SHOW CREATE TABLE tp;
--source include/shutdown_mysqld.inc
let SEARCH_RANGE= -50000;
let SEARCH_FILE= $MYSQLTEST_VARDIR/log/mysqld.1.err;
--let SEARCH_PATTERN= InnoDB: Table '.test.\..t[cdzp].' in InnoDB data dictionary has unknown type (81|f21|8a1|3023)
--source include/search_pattern_in_file.inc
--let SEARCH_PATTERN= InnoDB: Cannot open table test/t[cdzp] from the internal data dictionary of InnoDB
--source include/search_pattern_in_file.inc
# Restore the backup of the corrupted SYS_TABLES clustered index root page
--perl
use strict;
my $ps= $ENV{INNODB_PAGE_SIZE};
my $file= "$ENV{bugdir}/ibdata1";
open(FILE, "+<", $file) || die "Unable to open $file\n";
open(BACKUP, "<$ENV{bugdir}/sys_tables.bin") || die "Unable to open backup\n";
# Read DICT_HDR_TABLES, the root page number of CLUST_IND (SYS_TABLES.NAME).
sysseek(FILE, 7*$ps+38+32, 0) || die "Unable to seek $file";
die "Unable to read $file\n" unless sysread(FILE, $_, 4) == 4;
my $sys_tables_root = unpack("N", $_);
print "Restoring SYS_TABLES clustered index root page ($sys_tables_root)\n";
sysseek(FILE, $sys_tables_root*$ps, 0) || die "Unable to seek $file";
die "Unable to read backup\n" unless sysread(BACKUP, $_, $ps) == $ps;
die "Unable to restore backup\n" unless syswrite(FILE, $_, $ps) == $ps;
close(BACKUP);
close(FILE) || die "Unable to close $file\n";
EOF
--source include/start_mysqld.inc
SHOW CREATE TABLE tr;
SHOW CREATE TABLE tc;
SHOW CREATE TABLE td;
SHOW CREATE TABLE tz;
SHOW CREATE TABLE tp;
BEGIN;
INSERT INTO tr VALUES(1);
INSERT INTO tc VALUES(1);
INSERT INTO td VALUES(1);
INSERT INTO tz VALUES(1);
INSERT INTO tp VALUES(1);
ROLLBACK;
SELECT * FROM tr;
SELECT * FROM tc;
SELECT * FROM td;
SELECT * FROM tz;
SELECT * FROM tp;
DROP TABLE tr,tc,td,tz,tp;
--source include/shutdown_mysqld.inc
--let $restart_parameters=
--source include/start_mysqld.inc
--list_files $bugdir
--remove_files_wildcard $bugdir
--rmdir $bugdir
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment