Commit 8ac71501 authored by Guilhem Bichot's avatar Guilhem Bichot

Fix for BUG#37005 "Maria: ALTER TABLE TRANSACTIONAL=0 leaves table transactional inside Maria"

mysql-test/r/maria-page-checksum.result:
  result for new test portion. Without the code fix, you would see a wrong "yes" or "no" in the "Crashsafe" line
  for iterations 2,9,14.
mysql-test/t/maria-page-checksum.test:
  Adding test for BUG#37005 "Maria: ALTER TABLE TRANSACTIONAL=0 leaves table transactional inside Maria"
sql/sql_table.cc:
  In ALTER TABLE, we already rebuilt the table entirely if the DEFAULT CHARSET, ROW_FORMAT or PAGE_CHECKSUM
  clauses were used; we have to do the same if the TRANSACTIONAL clause is used, because it affects
  the table inside the engine (for example, Maria makes shorter rows in non-transactional tables).
  Not doing so led to the BUG#37005, where ALTER TABLE TRANSACTIONAL=0 sometimes left the table
  transactional into Maria though not in the frm.
parent 8ffd0339
...@@ -650,3 +650,291 @@ t1 CREATE TABLE `t1` ( ...@@ -650,3 +650,291 @@ t1 CREATE TABLE `t1` (
) ENGINE=MARIA DEFAULT CHARSET=latin1 PAGE_CHECKSUM=1 ) ENGINE=MARIA DEFAULT CHARSET=latin1 PAGE_CHECKSUM=1
Page checksums are used Page checksums are used
drop table t1; drop table t1;
# iteration 1
create table t1(a int) engine=maria ;
show create table t1;
Table Create Table
t1 CREATE TABLE `t1` (
`a` int(11) DEFAULT NULL
) ENGINE=MARIA DEFAULT CHARSET=latin1 PAGE_CHECKSUM=1
Crashsafe: yes
alter table t1 modify a bigint ;
show create table t1;
Table Create Table
t1 CREATE TABLE `t1` (
`a` bigint(20) DEFAULT NULL
) ENGINE=MARIA DEFAULT CHARSET=latin1 PAGE_CHECKSUM=1
Crashsafe: yes
drop table t1;
# iteration 2
create table t1(a int) engine=maria ;
show create table t1;
Table Create Table
t1 CREATE TABLE `t1` (
`a` int(11) DEFAULT NULL
) ENGINE=MARIA DEFAULT CHARSET=latin1 PAGE_CHECKSUM=1
Crashsafe: yes
alter table t1 transactional=0 ;
show create table t1;
Table Create Table
t1 CREATE TABLE `t1` (
`a` int(11) DEFAULT NULL
) ENGINE=MARIA DEFAULT CHARSET=latin1 PAGE_CHECKSUM=1 TRANSACTIONAL=0
Crashsafe: no
drop table t1;
# iteration 3
create table t1(a int) engine=maria ;
show create table t1;
Table Create Table
t1 CREATE TABLE `t1` (
`a` int(11) DEFAULT NULL
) ENGINE=MARIA DEFAULT CHARSET=latin1 PAGE_CHECKSUM=1
Crashsafe: yes
alter table t1 transactional=1 ;
show create table t1;
Table Create Table
t1 CREATE TABLE `t1` (
`a` int(11) DEFAULT NULL
) ENGINE=MARIA DEFAULT CHARSET=latin1 PAGE_CHECKSUM=1 TRANSACTIONAL=1
Crashsafe: yes
drop table t1;
# iteration 4
create table t1(a int) engine=maria ;
show create table t1;
Table Create Table
t1 CREATE TABLE `t1` (
`a` int(11) DEFAULT NULL
) ENGINE=MARIA DEFAULT CHARSET=latin1 PAGE_CHECKSUM=1
Crashsafe: yes
alter table t1 engine=maria ;
show create table t1;
Table Create Table
t1 CREATE TABLE `t1` (
`a` int(11) DEFAULT NULL
) ENGINE=MARIA DEFAULT CHARSET=latin1 PAGE_CHECKSUM=1
Crashsafe: yes
drop table t1;
# iteration 5
create table t1(a int) engine=maria ;
show create table t1;
Table Create Table
t1 CREATE TABLE `t1` (
`a` int(11) DEFAULT NULL
) ENGINE=MARIA DEFAULT CHARSET=latin1 PAGE_CHECKSUM=1
Crashsafe: yes
alter table t1 engine=maria transactional=0 ;
show create table t1;
Table Create Table
t1 CREATE TABLE `t1` (
`a` int(11) DEFAULT NULL
) ENGINE=MARIA DEFAULT CHARSET=latin1 PAGE_CHECKSUM=1 TRANSACTIONAL=0
Crashsafe: no
drop table t1;
# iteration 6
create table t1(a int) engine=maria ;
show create table t1;
Table Create Table
t1 CREATE TABLE `t1` (
`a` int(11) DEFAULT NULL
) ENGINE=MARIA DEFAULT CHARSET=latin1 PAGE_CHECKSUM=1
Crashsafe: yes
alter table t1 engine=maria transactional=1 ;
show create table t1;
Table Create Table
t1 CREATE TABLE `t1` (
`a` int(11) DEFAULT NULL
) ENGINE=MARIA DEFAULT CHARSET=latin1 PAGE_CHECKSUM=1 TRANSACTIONAL=1
Crashsafe: yes
drop table t1;
# iteration 7
create table t1(a int) engine=maria transactional=0 ;
show create table t1;
Table Create Table
t1 CREATE TABLE `t1` (
`a` int(11) DEFAULT NULL
) ENGINE=MARIA DEFAULT CHARSET=latin1 PAGE_CHECKSUM=1 TRANSACTIONAL=0
Crashsafe: no
alter table t1 modify a bigint ;
show create table t1;
Table Create Table
t1 CREATE TABLE `t1` (
`a` bigint(20) DEFAULT NULL
) ENGINE=MARIA DEFAULT CHARSET=latin1 PAGE_CHECKSUM=1 TRANSACTIONAL=0
Crashsafe: no
drop table t1;
# iteration 8
create table t1(a int) engine=maria transactional=0 ;
show create table t1;
Table Create Table
t1 CREATE TABLE `t1` (
`a` int(11) DEFAULT NULL
) ENGINE=MARIA DEFAULT CHARSET=latin1 PAGE_CHECKSUM=1 TRANSACTIONAL=0
Crashsafe: no
alter table t1 transactional=0 ;
show create table t1;
Table Create Table
t1 CREATE TABLE `t1` (
`a` int(11) DEFAULT NULL
) ENGINE=MARIA DEFAULT CHARSET=latin1 PAGE_CHECKSUM=1 TRANSACTIONAL=0
Crashsafe: no
drop table t1;
# iteration 9
create table t1(a int) engine=maria transactional=0 ;
show create table t1;
Table Create Table
t1 CREATE TABLE `t1` (
`a` int(11) DEFAULT NULL
) ENGINE=MARIA DEFAULT CHARSET=latin1 PAGE_CHECKSUM=1 TRANSACTIONAL=0
Crashsafe: no
alter table t1 transactional=1 ;
show create table t1;
Table Create Table
t1 CREATE TABLE `t1` (
`a` int(11) DEFAULT NULL
) ENGINE=MARIA DEFAULT CHARSET=latin1 PAGE_CHECKSUM=1 TRANSACTIONAL=1
Crashsafe: yes
drop table t1;
# iteration 10
create table t1(a int) engine=maria transactional=0 ;
show create table t1;
Table Create Table
t1 CREATE TABLE `t1` (
`a` int(11) DEFAULT NULL
) ENGINE=MARIA DEFAULT CHARSET=latin1 PAGE_CHECKSUM=1 TRANSACTIONAL=0
Crashsafe: no
alter table t1 engine=maria ;
show create table t1;
Table Create Table
t1 CREATE TABLE `t1` (
`a` int(11) DEFAULT NULL
) ENGINE=MARIA DEFAULT CHARSET=latin1 PAGE_CHECKSUM=1 TRANSACTIONAL=0
Crashsafe: no
drop table t1;
# iteration 11
create table t1(a int) engine=maria transactional=0 ;
show create table t1;
Table Create Table
t1 CREATE TABLE `t1` (
`a` int(11) DEFAULT NULL
) ENGINE=MARIA DEFAULT CHARSET=latin1 PAGE_CHECKSUM=1 TRANSACTIONAL=0
Crashsafe: no
alter table t1 engine=maria transactional=0 ;
show create table t1;
Table Create Table
t1 CREATE TABLE `t1` (
`a` int(11) DEFAULT NULL
) ENGINE=MARIA DEFAULT CHARSET=latin1 PAGE_CHECKSUM=1 TRANSACTIONAL=0
Crashsafe: no
drop table t1;
# iteration 12
create table t1(a int) engine=maria transactional=0 ;
show create table t1;
Table Create Table
t1 CREATE TABLE `t1` (
`a` int(11) DEFAULT NULL
) ENGINE=MARIA DEFAULT CHARSET=latin1 PAGE_CHECKSUM=1 TRANSACTIONAL=0
Crashsafe: no
alter table t1 engine=maria transactional=1 ;
show create table t1;
Table Create Table
t1 CREATE TABLE `t1` (
`a` int(11) DEFAULT NULL
) ENGINE=MARIA DEFAULT CHARSET=latin1 PAGE_CHECKSUM=1 TRANSACTIONAL=1
Crashsafe: yes
drop table t1;
# iteration 13
create table t1(a int) engine=maria transactional=1 ;
show create table t1;
Table Create Table
t1 CREATE TABLE `t1` (
`a` int(11) DEFAULT NULL
) ENGINE=MARIA DEFAULT CHARSET=latin1 PAGE_CHECKSUM=1 TRANSACTIONAL=1
Crashsafe: yes
alter table t1 modify a bigint ;
show create table t1;
Table Create Table
t1 CREATE TABLE `t1` (
`a` bigint(20) DEFAULT NULL
) ENGINE=MARIA DEFAULT CHARSET=latin1 PAGE_CHECKSUM=1 TRANSACTIONAL=1
Crashsafe: yes
drop table t1;
# iteration 14
create table t1(a int) engine=maria transactional=1 ;
show create table t1;
Table Create Table
t1 CREATE TABLE `t1` (
`a` int(11) DEFAULT NULL
) ENGINE=MARIA DEFAULT CHARSET=latin1 PAGE_CHECKSUM=1 TRANSACTIONAL=1
Crashsafe: yes
alter table t1 transactional=0 ;
show create table t1;
Table Create Table
t1 CREATE TABLE `t1` (
`a` int(11) DEFAULT NULL
) ENGINE=MARIA DEFAULT CHARSET=latin1 PAGE_CHECKSUM=1 TRANSACTIONAL=0
Crashsafe: no
drop table t1;
# iteration 15
create table t1(a int) engine=maria transactional=1 ;
show create table t1;
Table Create Table
t1 CREATE TABLE `t1` (
`a` int(11) DEFAULT NULL
) ENGINE=MARIA DEFAULT CHARSET=latin1 PAGE_CHECKSUM=1 TRANSACTIONAL=1
Crashsafe: yes
alter table t1 transactional=1 ;
show create table t1;
Table Create Table
t1 CREATE TABLE `t1` (
`a` int(11) DEFAULT NULL
) ENGINE=MARIA DEFAULT CHARSET=latin1 PAGE_CHECKSUM=1 TRANSACTIONAL=1
Crashsafe: yes
drop table t1;
# iteration 16
create table t1(a int) engine=maria transactional=1 ;
show create table t1;
Table Create Table
t1 CREATE TABLE `t1` (
`a` int(11) DEFAULT NULL
) ENGINE=MARIA DEFAULT CHARSET=latin1 PAGE_CHECKSUM=1 TRANSACTIONAL=1
Crashsafe: yes
alter table t1 engine=maria ;
show create table t1;
Table Create Table
t1 CREATE TABLE `t1` (
`a` int(11) DEFAULT NULL
) ENGINE=MARIA DEFAULT CHARSET=latin1 PAGE_CHECKSUM=1 TRANSACTIONAL=1
Crashsafe: yes
drop table t1;
# iteration 17
create table t1(a int) engine=maria transactional=1 ;
show create table t1;
Table Create Table
t1 CREATE TABLE `t1` (
`a` int(11) DEFAULT NULL
) ENGINE=MARIA DEFAULT CHARSET=latin1 PAGE_CHECKSUM=1 TRANSACTIONAL=1
Crashsafe: yes
alter table t1 engine=maria transactional=0 ;
show create table t1;
Table Create Table
t1 CREATE TABLE `t1` (
`a` int(11) DEFAULT NULL
) ENGINE=MARIA DEFAULT CHARSET=latin1 PAGE_CHECKSUM=1 TRANSACTIONAL=0
Crashsafe: no
drop table t1;
# iteration 18
create table t1(a int) engine=maria transactional=1 ;
show create table t1;
Table Create Table
t1 CREATE TABLE `t1` (
`a` int(11) DEFAULT NULL
) ENGINE=MARIA DEFAULT CHARSET=latin1 PAGE_CHECKSUM=1 TRANSACTIONAL=1
Crashsafe: yes
alter table t1 engine=maria transactional=1 ;
show create table t1;
Table Create Table
t1 CREATE TABLE `t1` (
`a` int(11) DEFAULT NULL
) ENGINE=MARIA DEFAULT CHARSET=latin1 PAGE_CHECKSUM=1 TRANSACTIONAL=1
Crashsafe: yes
drop table t1;
# # Tests for two bugs related to ALTER TABLE and maria-specific alter
# This can't be run with --extern as we are acccessing the tables in the # options (PAGE_CHECKSUM and TRANSACTIONAL).
# database directly
#
-- source include/have_maria.inc -- source include/have_maria.inc
...@@ -9,8 +7,16 @@ ...@@ -9,8 +7,16 @@
drop table if exists t1; drop table if exists t1;
--enable_warnings --enable_warnings
#
# Test for BUG#35441 "Cannot change PAGE_CHECKSUM table option"
#
select @@global.maria_page_checksum; select @@global.maria_page_checksum;
# we scan through combinations in the cartesian product of
# (first value of maria_page_checksum) x (clauses in CREATE TABLE) x
# (second value of maria_page_checksum) x (clauses in ALTER TABLE).
--echo # iteration 1 --echo # iteration 1
set global maria_page_checksum = 0 ; set global maria_page_checksum = 0 ;
create table t1(a int) engine=maria ; create table t1(a int) engine=maria ;
...@@ -1054,3 +1060,498 @@ perl; ...@@ -1054,3 +1060,498 @@ perl;
close FILE; close FILE;
EOF EOF
drop table t1; drop table t1;
#
# Test for BUG#37005
# "Maria: ALTER TABLE TRANSACTIONAL=0 leaves table transactional inside Maria"
#
# we scan through combinations in the cartesian product of
# (clauses in CREATE TABLE) x (clauses in ALTER TABLE).
--echo # iteration 1
create table t1(a int) engine=maria ;
show create table t1;
--exec $MARIA_CHK -dv $MYSQLTEST_VARDIR/master-data/test/t1 >$MYSQLTEST_VARDIR/tmp/mariachk.txt
perl;
use strict;
use warnings;
my $fname= "$ENV{'MYSQLTEST_VARDIR'}/tmp/mariachk.txt";
open(FILE, "<", $fname) or die;
print grep(/Crashsafe/, <FILE>);
close FILE;
EOF
alter table t1 modify a bigint ;
show create table t1;
--exec $MARIA_CHK -dv $MYSQLTEST_VARDIR/master-data/test/t1 >$MYSQLTEST_VARDIR/tmp/mariachk.txt
perl;
use strict;
use warnings;
my $fname= "$ENV{'MYSQLTEST_VARDIR'}/tmp/mariachk.txt";
open(FILE, "<", $fname) or die;
print grep(/Crashsafe/, <FILE>);
close FILE;
EOF
drop table t1;
--echo # iteration 2
create table t1(a int) engine=maria ;
show create table t1;
--exec $MARIA_CHK -dv $MYSQLTEST_VARDIR/master-data/test/t1 >$MYSQLTEST_VARDIR/tmp/mariachk.txt
perl;
use strict;
use warnings;
my $fname= "$ENV{'MYSQLTEST_VARDIR'}/tmp/mariachk.txt";
open(FILE, "<", $fname) or die;
print grep(/Crashsafe/, <FILE>);
close FILE;
EOF
alter table t1 transactional=0 ;
show create table t1;
--exec $MARIA_CHK -dv $MYSQLTEST_VARDIR/master-data/test/t1 >$MYSQLTEST_VARDIR/tmp/mariachk.txt
perl;
use strict;
use warnings;
my $fname= "$ENV{'MYSQLTEST_VARDIR'}/tmp/mariachk.txt";
open(FILE, "<", $fname) or die;
print grep(/Crashsafe/, <FILE>);
close FILE;
EOF
drop table t1;
--echo # iteration 3
create table t1(a int) engine=maria ;
show create table t1;
--exec $MARIA_CHK -dv $MYSQLTEST_VARDIR/master-data/test/t1 >$MYSQLTEST_VARDIR/tmp/mariachk.txt
perl;
use strict;
use warnings;
my $fname= "$ENV{'MYSQLTEST_VARDIR'}/tmp/mariachk.txt";
open(FILE, "<", $fname) or die;
print grep(/Crashsafe/, <FILE>);
close FILE;
EOF
alter table t1 transactional=1 ;
show create table t1;
--exec $MARIA_CHK -dv $MYSQLTEST_VARDIR/master-data/test/t1 >$MYSQLTEST_VARDIR/tmp/mariachk.txt
perl;
use strict;
use warnings;
my $fname= "$ENV{'MYSQLTEST_VARDIR'}/tmp/mariachk.txt";
open(FILE, "<", $fname) or die;
print grep(/Crashsafe/, <FILE>);
close FILE;
EOF
drop table t1;
--echo # iteration 4
create table t1(a int) engine=maria ;
show create table t1;
--exec $MARIA_CHK -dv $MYSQLTEST_VARDIR/master-data/test/t1 >$MYSQLTEST_VARDIR/tmp/mariachk.txt
perl;
use strict;
use warnings;
my $fname= "$ENV{'MYSQLTEST_VARDIR'}/tmp/mariachk.txt";
open(FILE, "<", $fname) or die;
print grep(/Crashsafe/, <FILE>);
close FILE;
EOF
alter table t1 engine=maria ;
show create table t1;
--exec $MARIA_CHK -dv $MYSQLTEST_VARDIR/master-data/test/t1 >$MYSQLTEST_VARDIR/tmp/mariachk.txt
perl;
use strict;
use warnings;
my $fname= "$ENV{'MYSQLTEST_VARDIR'}/tmp/mariachk.txt";
open(FILE, "<", $fname) or die;
print grep(/Crashsafe/, <FILE>);
close FILE;
EOF
drop table t1;
--echo # iteration 5
create table t1(a int) engine=maria ;
show create table t1;
--exec $MARIA_CHK -dv $MYSQLTEST_VARDIR/master-data/test/t1 >$MYSQLTEST_VARDIR/tmp/mariachk.txt
perl;
use strict;
use warnings;
my $fname= "$ENV{'MYSQLTEST_VARDIR'}/tmp/mariachk.txt";
open(FILE, "<", $fname) or die;
print grep(/Crashsafe/, <FILE>);
close FILE;
EOF
alter table t1 engine=maria transactional=0 ;
show create table t1;
--exec $MARIA_CHK -dv $MYSQLTEST_VARDIR/master-data/test/t1 >$MYSQLTEST_VARDIR/tmp/mariachk.txt
perl;
use strict;
use warnings;
my $fname= "$ENV{'MYSQLTEST_VARDIR'}/tmp/mariachk.txt";
open(FILE, "<", $fname) or die;
print grep(/Crashsafe/, <FILE>);
close FILE;
EOF
drop table t1;
--echo # iteration 6
create table t1(a int) engine=maria ;
show create table t1;
--exec $MARIA_CHK -dv $MYSQLTEST_VARDIR/master-data/test/t1 >$MYSQLTEST_VARDIR/tmp/mariachk.txt
perl;
use strict;
use warnings;
my $fname= "$ENV{'MYSQLTEST_VARDIR'}/tmp/mariachk.txt";
open(FILE, "<", $fname) or die;
print grep(/Crashsafe/, <FILE>);
close FILE;
EOF
alter table t1 engine=maria transactional=1 ;
show create table t1;
--exec $MARIA_CHK -dv $MYSQLTEST_VARDIR/master-data/test/t1 >$MYSQLTEST_VARDIR/tmp/mariachk.txt
perl;
use strict;
use warnings;
my $fname= "$ENV{'MYSQLTEST_VARDIR'}/tmp/mariachk.txt";
open(FILE, "<", $fname) or die;
print grep(/Crashsafe/, <FILE>);
close FILE;
EOF
drop table t1;
--echo # iteration 7
create table t1(a int) engine=maria transactional=0 ;
show create table t1;
--exec $MARIA_CHK -dv $MYSQLTEST_VARDIR/master-data/test/t1 >$MYSQLTEST_VARDIR/tmp/mariachk.txt
perl;
use strict;
use warnings;
my $fname= "$ENV{'MYSQLTEST_VARDIR'}/tmp/mariachk.txt";
open(FILE, "<", $fname) or die;
print grep(/Crashsafe/, <FILE>);
close FILE;
EOF
alter table t1 modify a bigint ;
show create table t1;
--exec $MARIA_CHK -dv $MYSQLTEST_VARDIR/master-data/test/t1 >$MYSQLTEST_VARDIR/tmp/mariachk.txt
perl;
use strict;
use warnings;
my $fname= "$ENV{'MYSQLTEST_VARDIR'}/tmp/mariachk.txt";
open(FILE, "<", $fname) or die;
print grep(/Crashsafe/, <FILE>);
close FILE;
EOF
drop table t1;
--echo # iteration 8
create table t1(a int) engine=maria transactional=0 ;
show create table t1;
--exec $MARIA_CHK -dv $MYSQLTEST_VARDIR/master-data/test/t1 >$MYSQLTEST_VARDIR/tmp/mariachk.txt
perl;
use strict;
use warnings;
my $fname= "$ENV{'MYSQLTEST_VARDIR'}/tmp/mariachk.txt";
open(FILE, "<", $fname) or die;
print grep(/Crashsafe/, <FILE>);
close FILE;
EOF
alter table t1 transactional=0 ;
show create table t1;
--exec $MARIA_CHK -dv $MYSQLTEST_VARDIR/master-data/test/t1 >$MYSQLTEST_VARDIR/tmp/mariachk.txt
perl;
use strict;
use warnings;
my $fname= "$ENV{'MYSQLTEST_VARDIR'}/tmp/mariachk.txt";
open(FILE, "<", $fname) or die;
print grep(/Crashsafe/, <FILE>);
close FILE;
EOF
drop table t1;
--echo # iteration 9
create table t1(a int) engine=maria transactional=0 ;
show create table t1;
--exec $MARIA_CHK -dv $MYSQLTEST_VARDIR/master-data/test/t1 >$MYSQLTEST_VARDIR/tmp/mariachk.txt
perl;
use strict;
use warnings;
my $fname= "$ENV{'MYSQLTEST_VARDIR'}/tmp/mariachk.txt";
open(FILE, "<", $fname) or die;
print grep(/Crashsafe/, <FILE>);
close FILE;
EOF
alter table t1 transactional=1 ;
show create table t1;
--exec $MARIA_CHK -dv $MYSQLTEST_VARDIR/master-data/test/t1 >$MYSQLTEST_VARDIR/tmp/mariachk.txt
perl;
use strict;
use warnings;
my $fname= "$ENV{'MYSQLTEST_VARDIR'}/tmp/mariachk.txt";
open(FILE, "<", $fname) or die;
print grep(/Crashsafe/, <FILE>);
close FILE;
EOF
drop table t1;
--echo # iteration 10
create table t1(a int) engine=maria transactional=0 ;
show create table t1;
--exec $MARIA_CHK -dv $MYSQLTEST_VARDIR/master-data/test/t1 >$MYSQLTEST_VARDIR/tmp/mariachk.txt
perl;
use strict;
use warnings;
my $fname= "$ENV{'MYSQLTEST_VARDIR'}/tmp/mariachk.txt";
open(FILE, "<", $fname) or die;
print grep(/Crashsafe/, <FILE>);
close FILE;
EOF
alter table t1 engine=maria ;
show create table t1;
--exec $MARIA_CHK -dv $MYSQLTEST_VARDIR/master-data/test/t1 >$MYSQLTEST_VARDIR/tmp/mariachk.txt
perl;
use strict;
use warnings;
my $fname= "$ENV{'MYSQLTEST_VARDIR'}/tmp/mariachk.txt";
open(FILE, "<", $fname) or die;
print grep(/Crashsafe/, <FILE>);
close FILE;
EOF
drop table t1;
--echo # iteration 11
create table t1(a int) engine=maria transactional=0 ;
show create table t1;
--exec $MARIA_CHK -dv $MYSQLTEST_VARDIR/master-data/test/t1 >$MYSQLTEST_VARDIR/tmp/mariachk.txt
perl;
use strict;
use warnings;
my $fname= "$ENV{'MYSQLTEST_VARDIR'}/tmp/mariachk.txt";
open(FILE, "<", $fname) or die;
print grep(/Crashsafe/, <FILE>);
close FILE;
EOF
alter table t1 engine=maria transactional=0 ;
show create table t1;
--exec $MARIA_CHK -dv $MYSQLTEST_VARDIR/master-data/test/t1 >$MYSQLTEST_VARDIR/tmp/mariachk.txt
perl;
use strict;
use warnings;
my $fname= "$ENV{'MYSQLTEST_VARDIR'}/tmp/mariachk.txt";
open(FILE, "<", $fname) or die;
print grep(/Crashsafe/, <FILE>);
close FILE;
EOF
drop table t1;
--echo # iteration 12
create table t1(a int) engine=maria transactional=0 ;
show create table t1;
--exec $MARIA_CHK -dv $MYSQLTEST_VARDIR/master-data/test/t1 >$MYSQLTEST_VARDIR/tmp/mariachk.txt
perl;
use strict;
use warnings;
my $fname= "$ENV{'MYSQLTEST_VARDIR'}/tmp/mariachk.txt";
open(FILE, "<", $fname) or die;
print grep(/Crashsafe/, <FILE>);
close FILE;
EOF
alter table t1 engine=maria transactional=1 ;
show create table t1;
--exec $MARIA_CHK -dv $MYSQLTEST_VARDIR/master-data/test/t1 >$MYSQLTEST_VARDIR/tmp/mariachk.txt
perl;
use strict;
use warnings;
my $fname= "$ENV{'MYSQLTEST_VARDIR'}/tmp/mariachk.txt";
open(FILE, "<", $fname) or die;
print grep(/Crashsafe/, <FILE>);
close FILE;
EOF
drop table t1;
--echo # iteration 13
create table t1(a int) engine=maria transactional=1 ;
show create table t1;
--exec $MARIA_CHK -dv $MYSQLTEST_VARDIR/master-data/test/t1 >$MYSQLTEST_VARDIR/tmp/mariachk.txt
perl;
use strict;
use warnings;
my $fname= "$ENV{'MYSQLTEST_VARDIR'}/tmp/mariachk.txt";
open(FILE, "<", $fname) or die;
print grep(/Crashsafe/, <FILE>);
close FILE;
EOF
alter table t1 modify a bigint ;
show create table t1;
--exec $MARIA_CHK -dv $MYSQLTEST_VARDIR/master-data/test/t1 >$MYSQLTEST_VARDIR/tmp/mariachk.txt
perl;
use strict;
use warnings;
my $fname= "$ENV{'MYSQLTEST_VARDIR'}/tmp/mariachk.txt";
open(FILE, "<", $fname) or die;
print grep(/Crashsafe/, <FILE>);
close FILE;
EOF
drop table t1;
--echo # iteration 14
create table t1(a int) engine=maria transactional=1 ;
show create table t1;
--exec $MARIA_CHK -dv $MYSQLTEST_VARDIR/master-data/test/t1 >$MYSQLTEST_VARDIR/tmp/mariachk.txt
perl;
use strict;
use warnings;
my $fname= "$ENV{'MYSQLTEST_VARDIR'}/tmp/mariachk.txt";
open(FILE, "<", $fname) or die;
print grep(/Crashsafe/, <FILE>);
close FILE;
EOF
alter table t1 transactional=0 ;
show create table t1;
--exec $MARIA_CHK -dv $MYSQLTEST_VARDIR/master-data/test/t1 >$MYSQLTEST_VARDIR/tmp/mariachk.txt
perl;
use strict;
use warnings;
my $fname= "$ENV{'MYSQLTEST_VARDIR'}/tmp/mariachk.txt";
open(FILE, "<", $fname) or die;
print grep(/Crashsafe/, <FILE>);
close FILE;
EOF
drop table t1;
--echo # iteration 15
create table t1(a int) engine=maria transactional=1 ;
show create table t1;
--exec $MARIA_CHK -dv $MYSQLTEST_VARDIR/master-data/test/t1 >$MYSQLTEST_VARDIR/tmp/mariachk.txt
perl;
use strict;
use warnings;
my $fname= "$ENV{'MYSQLTEST_VARDIR'}/tmp/mariachk.txt";
open(FILE, "<", $fname) or die;
print grep(/Crashsafe/, <FILE>);
close FILE;
EOF
alter table t1 transactional=1 ;
show create table t1;
--exec $MARIA_CHK -dv $MYSQLTEST_VARDIR/master-data/test/t1 >$MYSQLTEST_VARDIR/tmp/mariachk.txt
perl;
use strict;
use warnings;
my $fname= "$ENV{'MYSQLTEST_VARDIR'}/tmp/mariachk.txt";
open(FILE, "<", $fname) or die;
print grep(/Crashsafe/, <FILE>);
close FILE;
EOF
drop table t1;
--echo # iteration 16
create table t1(a int) engine=maria transactional=1 ;
show create table t1;
--exec $MARIA_CHK -dv $MYSQLTEST_VARDIR/master-data/test/t1 >$MYSQLTEST_VARDIR/tmp/mariachk.txt
perl;
use strict;
use warnings;
my $fname= "$ENV{'MYSQLTEST_VARDIR'}/tmp/mariachk.txt";
open(FILE, "<", $fname) or die;
print grep(/Crashsafe/, <FILE>);
close FILE;
EOF
alter table t1 engine=maria ;
show create table t1;
--exec $MARIA_CHK -dv $MYSQLTEST_VARDIR/master-data/test/t1 >$MYSQLTEST_VARDIR/tmp/mariachk.txt
perl;
use strict;
use warnings;
my $fname= "$ENV{'MYSQLTEST_VARDIR'}/tmp/mariachk.txt";
open(FILE, "<", $fname) or die;
print grep(/Crashsafe/, <FILE>);
close FILE;
EOF
drop table t1;
--echo # iteration 17
create table t1(a int) engine=maria transactional=1 ;
show create table t1;
--exec $MARIA_CHK -dv $MYSQLTEST_VARDIR/master-data/test/t1 >$MYSQLTEST_VARDIR/tmp/mariachk.txt
perl;
use strict;
use warnings;
my $fname= "$ENV{'MYSQLTEST_VARDIR'}/tmp/mariachk.txt";
open(FILE, "<", $fname) or die;
print grep(/Crashsafe/, <FILE>);
close FILE;
EOF
alter table t1 engine=maria transactional=0 ;
show create table t1;
--exec $MARIA_CHK -dv $MYSQLTEST_VARDIR/master-data/test/t1 >$MYSQLTEST_VARDIR/tmp/mariachk.txt
perl;
use strict;
use warnings;
my $fname= "$ENV{'MYSQLTEST_VARDIR'}/tmp/mariachk.txt";
open(FILE, "<", $fname) or die;
print grep(/Crashsafe/, <FILE>);
close FILE;
EOF
drop table t1;
--echo # iteration 18
create table t1(a int) engine=maria transactional=1 ;
show create table t1;
--exec $MARIA_CHK -dv $MYSQLTEST_VARDIR/master-data/test/t1 >$MYSQLTEST_VARDIR/tmp/mariachk.txt
perl;
use strict;
use warnings;
my $fname= "$ENV{'MYSQLTEST_VARDIR'}/tmp/mariachk.txt";
open(FILE, "<", $fname) or die;
print grep(/Crashsafe/, <FILE>);
close FILE;
EOF
alter table t1 engine=maria transactional=1 ;
show create table t1;
--exec $MARIA_CHK -dv $MYSQLTEST_VARDIR/master-data/test/t1 >$MYSQLTEST_VARDIR/tmp/mariachk.txt
perl;
use strict;
use warnings;
my $fname= "$ENV{'MYSQLTEST_VARDIR'}/tmp/mariachk.txt";
open(FILE, "<", $fname) or die;
print grep(/Crashsafe/, <FILE>);
close FILE;
EOF
drop table t1;
...@@ -5229,6 +5229,7 @@ compare_tables(TABLE *table, ...@@ -5229,6 +5229,7 @@ compare_tables(TABLE *table,
create_info->used_fields & HA_CREATE_USED_DEFAULT_CHARSET || create_info->used_fields & HA_CREATE_USED_DEFAULT_CHARSET ||
create_info->used_fields & HA_CREATE_USED_ROW_FORMAT || create_info->used_fields & HA_CREATE_USED_ROW_FORMAT ||
create_info->used_fields & HA_CREATE_USED_PAGE_CHECKSUM || create_info->used_fields & HA_CREATE_USED_PAGE_CHECKSUM ||
create_info->used_fields & HA_CREATE_USED_TRANSACTIONAL ||
(alter_info->flags & (ALTER_RECREATE | ALTER_FOREIGN_KEY)) || (alter_info->flags & (ALTER_RECREATE | ALTER_FOREIGN_KEY)) ||
order_num || order_num ||
!table->s->mysql_version || !table->s->mysql_version ||
......
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