diff --git a/client/mysqltest.c b/client/mysqltest.c index 50f72377122..ce2e294b0cd 100644 --- a/client/mysqltest.c +++ b/client/mysqltest.c @@ -2300,7 +2300,7 @@ void do_source(struct st_command *command) } dynstr_free(&ds_filename); - return; + DBUG_VOID_RETURN; } diff --git a/mysql-test/mysql-test-run.pl b/mysql-test/mysql-test-run.pl index 9a896039d60..6cfaf469cf3 100755 --- a/mysql-test/mysql-test-run.pl +++ b/mysql-test/mysql-test-run.pl @@ -2186,13 +2186,13 @@ sub environment_setup () { # ---------------------------------------------------- # Setup env so childs can execute maria_pack and maria_chk # ---------------------------------------------------- - $ENV{'MARIA_CHK'}= mtr_native_path(mtr_exe_exists( + $ENV{'MARIA_CHK'}= mtr_native_path(mtr_exe_maybe_exists( vs_config_dirs('storage/maria', 'maria_chk'), vs_config_dirs('maria', 'maria_chk'), "$path_client_bindir/maria_chk", "$glob_basedir/storage/maria/maria_chk", "$glob_basedir/maria/maria_chk")); - $ENV{'MARIA_PACK'}= mtr_native_path(mtr_exe_exists( + $ENV{'MARIA_PACK'}= mtr_native_path(mtr_exe_maybe_exists( vs_config_dirs('storage/maria', 'maria_pack'), vs_config_dirs('maria', 'maria_pack'), "$path_client_bindir/maria_pack", diff --git a/mysql-test/r/maria-recover.result b/mysql-test/r/maria-recover.result index ff66a47f68b..ecb6aa8bf5f 100644 --- a/mysql-test/r/maria-recover.result +++ b/mysql-test/r/maria-recover.result @@ -24,8 +24,8 @@ select * from t_corrupted2; a ThursdayMorningsMarket Warnings: -Error 145 Table '.t_corrupted2' is marked as crashed and should be repaired -Error 1194 Table 't_corrupted2' is marked as crashed and should be repaired +Error 145 t_corrupted2' is marked as crashed and should be repaired +Error 1194 t_corrupted2' is marked as crashed and should be repaired Error 1034 1 client is using or hasn't closed the table properly Error 1034 Wrong base information on indexpage at page: 1 select * from t_corrupted2; diff --git a/mysql-test/r/maria.result b/mysql-test/r/maria.result index 46f6c35ec66..308f732c66f 100644 --- a/mysql-test/r/maria.result +++ b/mysql-test/r/maria.result @@ -1865,536 +1865,3 @@ t1 CREATE TABLE `t1` ( KEY `b` (`b`) KEY_BLOCK_SIZE=8192 ) ENGINE=MARIA DEFAULT CHARSET=latin1 PAGE_CHECKSUM=0 KEY_BLOCK_SIZE=16384 drop table t1; -create table t1 (a int not null, key `a` (a) key_block_size=512); -show create table t1; -Table Create Table -t1 CREATE TABLE `t1` ( - `a` int(11) NOT NULL, - KEY `a` (`a`) KEY_BLOCK_SIZE=8192 -) ENGINE=MARIA DEFAULT CHARSET=latin1 PAGE_CHECKSUM=0 -drop table t1; -create table t1 (a varchar(2048), key `a` (a) key_block_size=1000000000000000000); -Warnings: -Warning 1071 Specified key was too long; max key length is 1112 bytes -show create table t1; -Table Create Table -t1 CREATE TABLE `t1` ( - `a` varchar(2048) DEFAULT NULL, - KEY `a` (`a`(1112)) KEY_BLOCK_SIZE=8192 -) ENGINE=MARIA DEFAULT CHARSET=latin1 PAGE_CHECKSUM=0 -drop table t1; -create table t1 (a int not null, key `a` (a) key_block_size=1025); -show create table t1; -Table Create Table -t1 CREATE TABLE `t1` ( - `a` int(11) NOT NULL, - KEY `a` (`a`) KEY_BLOCK_SIZE=8192 -) ENGINE=MARIA DEFAULT CHARSET=latin1 PAGE_CHECKSUM=0 -drop table t1; -create table t1 (a int not null, key key_block_size=1024 (a)); -ERROR 42000: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '=1024 (a))' at line 1 -create table t1 (a int not null, key `a` key_block_size=1024 (a)); -ERROR 42000: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'key_block_size=1024 (a))' at line 1 -CREATE TABLE t1 ( -c1 INT, -c2 VARCHAR(300), -KEY (c1) KEY_BLOCK_SIZE 1024, -KEY (c2) KEY_BLOCK_SIZE 8192 -); -INSERT INTO t1 VALUES (10, REPEAT('a', CEIL(RAND(10) * 300))), -(11, REPEAT('b', CEIL(RAND() * 300))), -(12, REPEAT('c', CEIL(RAND() * 300))), -(13, REPEAT('d', CEIL(RAND() * 300))), -(14, REPEAT('e', CEIL(RAND() * 300))), -(15, REPEAT('f', CEIL(RAND() * 300))), -(16, REPEAT('g', CEIL(RAND() * 300))), -(17, REPEAT('h', CEIL(RAND() * 300))), -(18, REPEAT('i', CEIL(RAND() * 300))), -(19, REPEAT('j', CEIL(RAND() * 300))), -(20, REPEAT('k', CEIL(RAND() * 300))), -(21, REPEAT('l', CEIL(RAND() * 300))), -(22, REPEAT('m', CEIL(RAND() * 300))), -(23, REPEAT('n', CEIL(RAND() * 300))), -(24, REPEAT('o', CEIL(RAND() * 300))), -(25, REPEAT('p', CEIL(RAND() * 300))), -(26, REPEAT('q', CEIL(RAND() * 300))), -(27, REPEAT('r', CEIL(RAND() * 300))), -(28, REPEAT('s', CEIL(RAND() * 300))), -(29, REPEAT('t', CEIL(RAND() * 300))), -(30, REPEAT('u', CEIL(RAND() * 300))), -(31, REPEAT('v', CEIL(RAND() * 300))), -(32, REPEAT('w', CEIL(RAND() * 300))), -(33, REPEAT('x', CEIL(RAND() * 300))), -(34, REPEAT('y', CEIL(RAND() * 300))), -(35, REPEAT('z', CEIL(RAND() * 300))); -INSERT INTO t1 SELECT * FROM t1; -INSERT INTO t1 SELECT * FROM t1; -CHECK TABLE t1; -Table Op Msg_type Msg_text -test.t1 check status OK -REPAIR TABLE t1; -Table Op Msg_type Msg_text -test.t1 repair status OK -DELETE FROM t1 WHERE c1 >= 10; -CHECK TABLE t1; -Table Op Msg_type Msg_text -test.t1 check status OK -DROP TABLE t1; -create table t1 (a int) 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=0 TRANSACTIONAL=0 -drop table t1; -create table t1 (a int) row_format=dynamic 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=0 ROW_FORMAT=DYNAMIC TRANSACTIONAL=0 -drop table t1; -create table t1 (a int) row_format=dynamic transactional=1; -Warnings: -Note 1478 Row format set to PAGE because of TRANSACTIONAL=1 option -show create table t1; -Table Create Table -t1 CREATE TABLE `t1` ( - `a` int(11) DEFAULT NULL -) ENGINE=MARIA DEFAULT CHARSET=latin1 PAGE_CHECKSUM=0 ROW_FORMAT=PAGE TRANSACTIONAL=1 -alter table t1 row_format=PAGE; -show create table t1; -Table Create Table -t1 CREATE TABLE `t1` ( - `a` int(11) DEFAULT NULL -) ENGINE=MARIA DEFAULT CHARSET=latin1 PAGE_CHECKSUM=0 ROW_FORMAT=PAGE TRANSACTIONAL=1 -alter table t1 row_format=DYNAMIC; -Warnings: -Note 1478 Row format set to PAGE because of TRANSACTIONAL=1 option -show create table t1; -Table Create Table -t1 CREATE TABLE `t1` ( - `a` int(11) DEFAULT NULL -) ENGINE=MARIA DEFAULT CHARSET=latin1 PAGE_CHECKSUM=0 ROW_FORMAT=PAGE TRANSACTIONAL=1 -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=0 ROW_FORMAT=PAGE TRANSACTIONAL=0 -alter table t1 row_format=DYNAMIC; -show create table t1; -Table Create Table -t1 CREATE TABLE `t1` ( - `a` int(11) DEFAULT NULL -) ENGINE=MARIA DEFAULT CHARSET=latin1 PAGE_CHECKSUM=0 ROW_FORMAT=DYNAMIC TRANSACTIONAL=0 -drop table t1; -create table t1 (a int) row_format=PAGE; -show create table t1; -Table Create Table -t1 CREATE TABLE `t1` ( - `a` int(11) DEFAULT NULL -) ENGINE=MARIA DEFAULT CHARSET=latin1 PAGE_CHECKSUM=0 ROW_FORMAT=PAGE -drop table t1; -create table t1 (a int) row_format=PAGE TRANSACTIONAL=DEFAULT; -show create table t1; -Table Create Table -t1 CREATE TABLE `t1` ( - `a` int(11) DEFAULT NULL -) ENGINE=MARIA DEFAULT CHARSET=latin1 PAGE_CHECKSUM=0 ROW_FORMAT=PAGE -alter table t1 row_format=DYNAMIC; -show create table t1; -Table Create Table -t1 CREATE TABLE `t1` ( - `a` int(11) DEFAULT NULL -) ENGINE=MARIA DEFAULT CHARSET=latin1 PAGE_CHECKSUM=0 ROW_FORMAT=DYNAMIC -drop table t1; -create table `t1` ( -t1_name varchar(255) default null, -t1_id int(10) unsigned not null auto_increment, -key (t1_name), -primary key (t1_id) -) engine=maria auto_increment = 1000 default charset=latin1; -lock tables t1 write; -INSERT INTO `t1` VALUES ('bla',1000),('bla',1001),('bla',1002); -check table t1; -Table Op Msg_type Msg_text -test.t1 check status OK -unlock tables; -create table t2 like t1; -insert into t2 select * from t1; -analyze table t2; -Table Op Msg_type Msg_text -test.t2 analyze status Table is already up to date -delete from t2; -insert into t2 select * from t1; -analyze table t2; -Table Op Msg_type Msg_text -test.t2 analyze status Table is already up to date -drop table t1,t2; -create table t1 (a bigint auto_increment, primary key(a), b char(255), c varchar(20000)); -update t1 set b=repeat('a',100) where a between 1 and 100; -check table t1; -Table Op Msg_type Msg_text -test.t1 check status OK -update t1 set c=repeat('a',8192*2) where a between 200 and 202; -check table t1; -Table Op Msg_type Msg_text -test.t1 check status OK -drop table t1; -CREATE TABLE t1 (a int, b int, v varchar(60000)) checksum=1 engine=maria; -insert into t1 values (1,1,"aaa"),(1,2,null); -checksum table t1; -Table Checksum -test.t1 1112804611 -lock table t1 write; -insert into t1 values (1,3,repeat('c',30000)),(4,4,repeat('a',30000)); -update t1 set v="row5" where b=4; -delete from t1 where b=3; -select a, b, length(v) from t1; -a b length(v) -1 1 3 -1 2 NULL -4 4 4 -drop table t1; -CREATE TABLE t1 ( -auto int(5) unsigned NOT NULL auto_increment, -string char(10) default "hello", -tiny tinyint(4) DEFAULT '0' NOT NULL , -short smallint(6) DEFAULT '1' NOT NULL , -medium mediumint(8) DEFAULT '0' NOT NULL, -long_int int(11) DEFAULT '0' NOT NULL, -longlong bigint(13) DEFAULT '0' NOT NULL, -real_float float(13,1) DEFAULT 0.0 NOT NULL, -real_double double(16,4), -utiny tinyint(3) unsigned DEFAULT '0' NOT NULL, -ushort smallint(5) unsigned zerofill DEFAULT '00000' NOT NULL, -umedium mediumint(8) unsigned DEFAULT '0' NOT NULL, -ulong int(11) unsigned DEFAULT '0' NOT NULL, -ulonglong bigint(13) unsigned DEFAULT '0' NOT NULL, -time_stamp timestamp, -date_field date, -time_field time, -date_time datetime, -blob_col blob, -tinyblob_col tinyblob, -mediumblob_col mediumblob not null default '', -longblob_col longblob not null default '', -options enum('one','two','tree') not null , -flags set('one','two','tree') not null default '', -PRIMARY KEY (auto), -KEY (utiny), -KEY (tiny), -KEY (short), -KEY any_name (medium), -KEY (longlong), -KEY (real_float), -KEY (ushort), -KEY (umedium), -KEY (ulong), -KEY (ulonglong,ulong), -KEY (options,flags) -) engine=maria; -insert into t1 values (10,1,1,1,1,1,1,1,1,1,1,1,1,1,NULL,0,0,0,1,1,1,1,'one','one'); -create table t2 (primary key (auto)) engine=maria row_format=page select auto+1 as auto,1 as t1, 'a' as t2, repeat('a',256) as t3, binary repeat('b',256) as t4, repeat('a',4096) as t5, binary repeat('b',4096) as t6, '' as t7, binary '' as t8 from t1; -check table t1,t2; -Table Op Msg_type Msg_text -test.t1 check status OK -test.t2 check status OK -select t1,t2,length(t3),length(t4),length(t5),length(t6),t7,t8 from t2; -t1 t2 length(t3) length(t4) length(t5) length(t6) t7 t8 -1 a 256 256 4096 4096 -drop table t2; -create table t2 (primary key (auto)) engine=maria row_format=dynamic select auto+1 as auto,1 as t1, 'a' as t2, repeat('a',256) as t3, binary repeat('b',256) as t4, repeat('a',4096) as t5, binary repeat('b',4096) as t6, '' as t7, binary '' as t8 from t1; -check table t2; -Table Op Msg_type Msg_text -test.t2 check status OK -drop table t1,t2; -CREATE TABLE t1 (seq int, s1 int, s2 blob); -insert into t1 values (1, 1, MD5(1)); -update t1 set s1=2 where seq=1; -check table t1 extended; -Table Op Msg_type Msg_text -test.t1 check status OK -drop table t1; -show variables like 'maria%'; -Variable_name Value -maria_block_size 8192 -maria_checkpoint_interval 30 -maria_force_start_after_recovery_failures 0 -maria_log_file_size 4294959104 -maria_log_purge_type immediate -maria_max_sort_file_size 9223372036854775807 -maria_page_checksum OFF -maria_pagecache_age_threshold 300 -maria_pagecache_buffer_size 8388600 -maria_pagecache_division_limit 100 -maria_recover OFF -maria_repair_threads 1 -maria_sort_buffer_size 8388608 -maria_stats_method nulls_unequal -maria_sync_log_dir NEWFILE -show status like 'maria%'; -Variable_name Value -Maria_pagecache_blocks_not_flushed # -Maria_pagecache_blocks_unused # -Maria_pagecache_blocks_used # -Maria_pagecache_read_requests # -Maria_pagecache_reads # -Maria_pagecache_write_requests # -Maria_pagecache_writes # -create table t1 (b char(0)); -insert into t1 values(NULL),(""); -select length(b) from t1; -length(b) -NULL -0 -alter table t1 add column c char(0), add key (c); -insert into t1 values("",""),("",NULL); -select length(b),length(c) from t1; -length(b) length(c) -NULL NULL -0 NULL -0 0 -0 NULL -select length(b),length(c) from t1 where c is null; -length(b) length(c) -NULL NULL -0 NULL -0 NULL -select length(b),length(c) from t1 where c is not null; -length(b) length(c) -0 0 -select length(b),length(c) from t1 order by c; -length(b) length(c) -NULL NULL -0 NULL -0 NULL -0 0 -alter table t1 add column d char(0) not null, add key (d); -ERROR 42000: The used storage engine can't index column 'd' -drop table t1; -CREATE TABLE t1 (a bit(3)); -insert into t1 values (NULL),(0),(1),(2),(3),(4),(5),(6),(7); -select hex(a) from t1; -hex(a) -NULL -0 -1 -2 -3 -4 -5 -6 -7 -drop table t1; -create table t1(a bit not null); -insert into t1 values(0),(1); -select a+0 from t1; -a+0 -0 -1 -drop table t1; -CREATE TABLE t1 (col1 int, s1 char(16) DEFAULT NULL, s2 char(16) DEFAULT NULL, KEY (s1,s2)); -insert into t1 (col1) values(0); -drop table t1; -set global maria_page_checksum=1; -create table t1 (a int); -show create table t1; -Table Create Table -t1 CREATE TABLE `t1` ( - `a` int(11) DEFAULT NULL -) ENGINE=MARIA DEFAULT CHARSET=latin1 PAGE_CHECKSUM=1 -drop table t1; -set global maria_log_file_size=4294967296; -Warnings: -Warning 1292 Truncated incorrect log_file_size value: '4294967296' -create table t1 (a int not null); -lock tables t1 write; -insert into t1 values (1),(2); -delete from t1; -unlock tables; -select * from t1; -a -insert into t1 values (1),(2); -delete from t1; -select * from t1; -a -drop table t1; -create table t1 (c int); -insert into t1 values(1),(2); -create table t2 select * from t1; -create table t3 select * from t1, t2; -ERROR 42S21: Duplicate column name 'c' -create table t3 select t1.c AS c1, t2.c AS c2,1 as "const" from t1, t2; -drop table t1, t2, t3; -create table t1 (t datetime) engine=maria; -insert into t1 values (101),(691231),(700101),(991231),(10000101),(99991231),(101000000),(691231000000),(700101000000),(991231235959),(10000101000000),(99991231235959),(20030100000000),(20030000000000); -select * from t1; -t -2000-01-01 00:00:00 -2069-12-31 00:00:00 -1970-01-01 00:00:00 -1999-12-31 00:00:00 -1000-01-01 00:00:00 -9999-12-31 00:00:00 -2000-01-01 00:00:00 -2069-12-31 00:00:00 -1970-01-01 00:00:00 -1999-12-31 23:59:59 -1000-01-01 00:00:00 -9999-12-31 23:59:59 -2003-01-00 00:00:00 -2003-00-00 00:00:00 -optimize table t1; -Table Op Msg_type Msg_text -test.t1 optimize status OK -check table t1; -Table Op Msg_type Msg_text -test.t1 check status OK -delete from t1 where t > 0; -optimize table t1; -Table Op Msg_type Msg_text -test.t1 optimize status OK -check table t1; -Table Op Msg_type Msg_text -test.t1 check status OK -drop table t1; -SET SQL_MODE='NO_AUTO_VALUE_ON_ZERO'; -CREATE TABLE t1 (id int(11) PRIMARY KEY auto_increment,f1 varchar(10) NOT NULL UNIQUE); -INSERT IGNORE INTO t1 (f1) VALUES ("test1"); -INSERT IGNORE INTO t1 (f1) VALUES ("test1"); -INSERT IGNORE INTO t1 (f1) VALUES ("test2"); -SELECT * FROM t1; -id f1 -1 test1 -2 test2 -drop table t1; -SET SQL_MODE = 'TRADITIONAL'; -create table t1 (n int not null primary key auto_increment, c char(1), unique(c)); -insert into t1 values(100, "a"); -insert into t1 values(300, "b"); -insert into t1 values(50, "a"); -ERROR 23000: Duplicate entry 'a' for key 'c' -insert into t1 values(null, "c"); -select * from t1; -n c -100 a -300 b -301 c -update t1 set n=400,c='a' where n=301; -ERROR 23000: Duplicate entry 'a' for key 'c' -insert into t1 values(null, "d"); -select * from t1; -n c -100 a -300 b -301 c -302 d -drop table t1; -create table t1 (n int not null primary key auto_increment, c char(1), unique(c)) transactional=0 row_format=dynamic; -insert into t1 values(100, "a"); -insert into t1 values(300, "b"); -insert into t1 values(50, "a"); -ERROR 23000: Duplicate entry 'a' for key 'c' -insert into t1 values(null, "c"); -select * from t1; -n c -100 a -300 b -301 c -update t1 set n=400,c='a' where n=301; -ERROR 23000: Duplicate entry 'a' for key 'c' -insert into t1 values(null, "d"); -select * from t1; -n c -100 a -300 b -301 c -302 d -drop table t1; -create table t1 (n int not null, c char(1)) engine=maria; -alter table t1 engine=myisam; -alter table t1 engine=maria; -show create table t1; -Table Create Table -t1 CREATE TABLE `t1` ( - `n` int(11) NOT NULL, - `c` char(1) DEFAULT NULL -) ENGINE=MARIA DEFAULT CHARSET=latin1 PAGE_CHECKSUM=1 -drop table t1; -create table t1 (n int not null, c char(1)) engine=maria transactional=1; -alter table t1 engine=myisam; -Warnings: -Error 1478 Table storage engine 'MyISAM' does not support the create option 'TRANSACTIONAL=1' -alter table t1 engine=maria; -show create table t1; -Table Create Table -t1 CREATE TABLE `t1` ( - `n` int(11) NOT NULL, - `c` char(1) DEFAULT NULL -) ENGINE=MARIA DEFAULT CHARSET=latin1 PAGE_CHECKSUM=1 TRANSACTIONAL=1 -drop table t1; -create table t1 (n int not null, c char(1)) engine=myisam transactional=1; -Warnings: -Error 1478 Table storage engine 'MyISAM' does not support the create option 'TRANSACTIONAL=1' -alter table t1 engine=maria; -show create table t1; -Table Create Table -t1 CREATE TABLE `t1` ( - `n` int(11) NOT NULL, - `c` char(1) DEFAULT NULL -) ENGINE=MARIA DEFAULT CHARSET=latin1 PAGE_CHECKSUM=1 TRANSACTIONAL=1 -drop table t1; -create table t1 (a int, key(a)) transactional=0; -insert into t1 values (0),(1),(2),(3),(4); -insert into t1 select NULL from t1; -check table t1; -Table Op Msg_type Msg_text -test.t1 check status OK -drop table t1; -create temporary table t1 (a int, key(a)) transactional=1; -create temporary table t2 (a int, key(a)) transactional=1; -insert into t1 values (0),(1),(2),(3),(4); -insert into t2 select * from t1; -insert into t1 select NULL from t2; -select count(*) from t1; -count(*) -10 -select count(*) from t1 where a >= 4; -count(*) -1 -drop table t1; -create table t1 (i int auto_increment not null primary key) transactional=0; -check table t1 extended; -Table Op Msg_type Msg_text -test.t1 check status OK -delete from t1 where i = 10; -check table t1 extended; -Table Op Msg_type Msg_text -test.t1 check status OK -drop table t1; -create table t1 (i int auto_increment not null primary key); -check table t1 extended; -Table Op Msg_type Msg_text -test.t1 check status OK -delete from t1 where i = 10; -check table t1 extended; -Table Op Msg_type Msg_text -test.t1 check status OK -drop table t1; -CREATE TABLE t1(a VARCHAR(20), FULLTEXT(a)) transactional=0; -INSERT INTO t1 VALUES('Offside'),('City Of God'); -SELECT a FROM t1 WHERE MATCH a AGAINST ('+city of*' IN BOOLEAN MODE); -a -City Of God -SELECT a FROM t1 WHERE MATCH a AGAINST ('+city (of)*' IN BOOLEAN MODE); -a -City Of God -DROP TABLE t1; -create table t1(a int) engine=maria transactional=1; -select CREATE_OPTIONS from information_schema.TABLES where -TABLE_SCHEMA='test' and TABLE_NAME='t1'; -CREATE_OPTIONS -transactional=1 -drop table t1; diff --git a/mysql-test/r/maria3.result b/mysql-test/r/maria3.result new file mode 100644 index 00000000000..f7f6d969687 --- /dev/null +++ b/mysql-test/r/maria3.result @@ -0,0 +1,542 @@ +select * from INFORMATION_SCHEMA.ENGINES where ENGINE="MARIA"; +ENGINE SUPPORT COMMENT TRANSACTIONS XA SAVEPOINTS +MARIA YES Crash-safe tables with MyISAM heritage YES NO NO +set global storage_engine=maria; +set session storage_engine=maria; +set global maria_page_checksum=0; +set global maria_log_file_size=4294967295; +drop table if exists t1,t2; +SET SQL_WARNINGS=1; +create table t1 (a int not null, key `a` (a) key_block_size=512); +show create table t1; +Table Create Table +t1 CREATE TABLE `t1` ( + `a` int(11) NOT NULL, + KEY `a` (`a`) KEY_BLOCK_SIZE=8192 +) ENGINE=MARIA DEFAULT CHARSET=latin1 PAGE_CHECKSUM=0 +drop table t1; +create table t1 (a varchar(2048), key `a` (a) key_block_size=1000000000000000000); +Warnings: +Warning 1071 Specified key was too long; max key length is 1112 bytes +show create table t1; +Table Create Table +t1 CREATE TABLE `t1` ( + `a` varchar(2048) DEFAULT NULL, + KEY `a` (`a`(1112)) KEY_BLOCK_SIZE=8192 +) ENGINE=MARIA DEFAULT CHARSET=latin1 PAGE_CHECKSUM=0 +drop table t1; +create table t1 (a int not null, key `a` (a) key_block_size=1025); +show create table t1; +Table Create Table +t1 CREATE TABLE `t1` ( + `a` int(11) NOT NULL, + KEY `a` (`a`) KEY_BLOCK_SIZE=8192 +) ENGINE=MARIA DEFAULT CHARSET=latin1 PAGE_CHECKSUM=0 +drop table t1; +create table t1 (a int not null, key key_block_size=1024 (a)); +ERROR 42000: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '=1024 (a))' at line 1 +create table t1 (a int not null, key `a` key_block_size=1024 (a)); +ERROR 42000: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'key_block_size=1024 (a))' at line 1 +CREATE TABLE t1 ( +c1 INT, +c2 VARCHAR(300), +KEY (c1) KEY_BLOCK_SIZE 1024, +KEY (c2) KEY_BLOCK_SIZE 8192 +); +INSERT INTO t1 VALUES (10, REPEAT('a', CEIL(RAND(10) * 300))), +(11, REPEAT('b', CEIL(RAND() * 300))), +(12, REPEAT('c', CEIL(RAND() * 300))), +(13, REPEAT('d', CEIL(RAND() * 300))), +(14, REPEAT('e', CEIL(RAND() * 300))), +(15, REPEAT('f', CEIL(RAND() * 300))), +(16, REPEAT('g', CEIL(RAND() * 300))), +(17, REPEAT('h', CEIL(RAND() * 300))), +(18, REPEAT('i', CEIL(RAND() * 300))), +(19, REPEAT('j', CEIL(RAND() * 300))), +(20, REPEAT('k', CEIL(RAND() * 300))), +(21, REPEAT('l', CEIL(RAND() * 300))), +(22, REPEAT('m', CEIL(RAND() * 300))), +(23, REPEAT('n', CEIL(RAND() * 300))), +(24, REPEAT('o', CEIL(RAND() * 300))), +(25, REPEAT('p', CEIL(RAND() * 300))), +(26, REPEAT('q', CEIL(RAND() * 300))), +(27, REPEAT('r', CEIL(RAND() * 300))), +(28, REPEAT('s', CEIL(RAND() * 300))), +(29, REPEAT('t', CEIL(RAND() * 300))), +(30, REPEAT('u', CEIL(RAND() * 300))), +(31, REPEAT('v', CEIL(RAND() * 300))), +(32, REPEAT('w', CEIL(RAND() * 300))), +(33, REPEAT('x', CEIL(RAND() * 300))), +(34, REPEAT('y', CEIL(RAND() * 300))), +(35, REPEAT('z', CEIL(RAND() * 300))); +INSERT INTO t1 SELECT * FROM t1; +INSERT INTO t1 SELECT * FROM t1; +CHECK TABLE t1; +Table Op Msg_type Msg_text +test.t1 check status OK +REPAIR TABLE t1; +Table Op Msg_type Msg_text +test.t1 repair status OK +DELETE FROM t1 WHERE c1 >= 10; +CHECK TABLE t1; +Table Op Msg_type Msg_text +test.t1 check status OK +DROP TABLE t1; +create table t1 (a int) 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=0 TRANSACTIONAL=0 +drop table t1; +create table t1 (a int) row_format=dynamic 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=0 ROW_FORMAT=DYNAMIC TRANSACTIONAL=0 +drop table t1; +create table t1 (a int) row_format=dynamic transactional=1; +Warnings: +Note 1478 Row format set to PAGE because of TRANSACTIONAL=1 option +show create table t1; +Table Create Table +t1 CREATE TABLE `t1` ( + `a` int(11) DEFAULT NULL +) ENGINE=MARIA DEFAULT CHARSET=latin1 PAGE_CHECKSUM=0 ROW_FORMAT=PAGE TRANSACTIONAL=1 +alter table t1 row_format=PAGE; +show create table t1; +Table Create Table +t1 CREATE TABLE `t1` ( + `a` int(11) DEFAULT NULL +) ENGINE=MARIA DEFAULT CHARSET=latin1 PAGE_CHECKSUM=0 ROW_FORMAT=PAGE TRANSACTIONAL=1 +alter table t1 row_format=DYNAMIC; +Warnings: +Note 1478 Row format set to PAGE because of TRANSACTIONAL=1 option +show create table t1; +Table Create Table +t1 CREATE TABLE `t1` ( + `a` int(11) DEFAULT NULL +) ENGINE=MARIA DEFAULT CHARSET=latin1 PAGE_CHECKSUM=0 ROW_FORMAT=PAGE TRANSACTIONAL=1 +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=0 ROW_FORMAT=PAGE TRANSACTIONAL=0 +alter table t1 row_format=DYNAMIC; +show create table t1; +Table Create Table +t1 CREATE TABLE `t1` ( + `a` int(11) DEFAULT NULL +) ENGINE=MARIA DEFAULT CHARSET=latin1 PAGE_CHECKSUM=0 ROW_FORMAT=DYNAMIC TRANSACTIONAL=0 +drop table t1; +create table t1 (a int) row_format=PAGE; +show create table t1; +Table Create Table +t1 CREATE TABLE `t1` ( + `a` int(11) DEFAULT NULL +) ENGINE=MARIA DEFAULT CHARSET=latin1 PAGE_CHECKSUM=0 ROW_FORMAT=PAGE +drop table t1; +create table t1 (a int) row_format=PAGE TRANSACTIONAL=DEFAULT; +show create table t1; +Table Create Table +t1 CREATE TABLE `t1` ( + `a` int(11) DEFAULT NULL +) ENGINE=MARIA DEFAULT CHARSET=latin1 PAGE_CHECKSUM=0 ROW_FORMAT=PAGE +alter table t1 row_format=DYNAMIC; +show create table t1; +Table Create Table +t1 CREATE TABLE `t1` ( + `a` int(11) DEFAULT NULL +) ENGINE=MARIA DEFAULT CHARSET=latin1 PAGE_CHECKSUM=0 ROW_FORMAT=DYNAMIC +drop table t1; +create table `t1` ( +t1_name varchar(255) default null, +t1_id int(10) unsigned not null auto_increment, +key (t1_name), +primary key (t1_id) +) engine=maria auto_increment = 1000 default charset=latin1; +lock tables t1 write; +INSERT INTO `t1` VALUES ('bla',1000),('bla',1001),('bla',1002); +check table t1; +Table Op Msg_type Msg_text +test.t1 check status OK +unlock tables; +create table t2 like t1; +insert into t2 select * from t1; +analyze table t2; +Table Op Msg_type Msg_text +test.t2 analyze status Table is already up to date +delete from t2; +insert into t2 select * from t1; +analyze table t2; +Table Op Msg_type Msg_text +test.t2 analyze status Table is already up to date +drop table t1,t2; +create table t1 (a bigint auto_increment, primary key(a), b char(255), c varchar(20000)); +update t1 set b=repeat('a',100) where a between 1 and 100; +check table t1; +Table Op Msg_type Msg_text +test.t1 check status OK +update t1 set c=repeat('a',8192*2) where a between 200 and 202; +check table t1; +Table Op Msg_type Msg_text +test.t1 check status OK +drop table t1; +CREATE TABLE t1 (a int, b int, v varchar(60000)) checksum=1 engine=maria; +insert into t1 values (1,1,"aaa"),(1,2,null); +checksum table t1; +Table Checksum +test.t1 1112804611 +lock table t1 write; +insert into t1 values (1,3,repeat('c',30000)),(4,4,repeat('a',30000)); +update t1 set v="row5" where b=4; +delete from t1 where b=3; +select a, b, length(v) from t1; +a b length(v) +1 1 3 +1 2 NULL +4 4 4 +drop table t1; +CREATE TABLE t1 ( +auto int(5) unsigned NOT NULL auto_increment, +string char(10) default "hello", +tiny tinyint(4) DEFAULT '0' NOT NULL , +short smallint(6) DEFAULT '1' NOT NULL , +medium mediumint(8) DEFAULT '0' NOT NULL, +long_int int(11) DEFAULT '0' NOT NULL, +longlong bigint(13) DEFAULT '0' NOT NULL, +real_float float(13,1) DEFAULT 0.0 NOT NULL, +real_double double(16,4), +utiny tinyint(3) unsigned DEFAULT '0' NOT NULL, +ushort smallint(5) unsigned zerofill DEFAULT '00000' NOT NULL, +umedium mediumint(8) unsigned DEFAULT '0' NOT NULL, +ulong int(11) unsigned DEFAULT '0' NOT NULL, +ulonglong bigint(13) unsigned DEFAULT '0' NOT NULL, +time_stamp timestamp, +date_field date, +time_field time, +date_time datetime, +blob_col blob, +tinyblob_col tinyblob, +mediumblob_col mediumblob not null default '', +longblob_col longblob not null default '', +options enum('one','two','tree') not null , +flags set('one','two','tree') not null default '', +PRIMARY KEY (auto), +KEY (utiny), +KEY (tiny), +KEY (short), +KEY any_name (medium), +KEY (longlong), +KEY (real_float), +KEY (ushort), +KEY (umedium), +KEY (ulong), +KEY (ulonglong,ulong), +KEY (options,flags) +) engine=maria; +insert into t1 values (10,1,1,1,1,1,1,1,1,1,1,1,1,1,NULL,0,0,0,1,1,1,1,'one','one'); +create table t2 (primary key (auto)) engine=maria row_format=page select auto+1 as auto,1 as t1, 'a' as t2, repeat('a',256) as t3, binary repeat('b',256) as t4, repeat('a',4096) as t5, binary repeat('b',4096) as t6, '' as t7, binary '' as t8 from t1; +check table t1,t2; +Table Op Msg_type Msg_text +test.t1 check status OK +test.t2 check status OK +select t1,t2,length(t3),length(t4),length(t5),length(t6),t7,t8 from t2; +t1 t2 length(t3) length(t4) length(t5) length(t6) t7 t8 +1 a 256 256 4096 4096 +drop table t2; +create table t2 (primary key (auto)) engine=maria row_format=dynamic select auto+1 as auto,1 as t1, 'a' as t2, repeat('a',256) as t3, binary repeat('b',256) as t4, repeat('a',4096) as t5, binary repeat('b',4096) as t6, '' as t7, binary '' as t8 from t1; +check table t2; +Table Op Msg_type Msg_text +test.t2 check status OK +drop table t1,t2; +CREATE TABLE t1 (seq int, s1 int, s2 blob); +insert into t1 values (1, 1, MD5(1)); +update t1 set s1=2 where seq=1; +check table t1 extended; +Table Op Msg_type Msg_text +test.t1 check status OK +drop table t1; +show variables like 'maria%'; +Variable_name Value +maria_block_size 8192 +maria_checkpoint_interval 30 +maria_force_start_after_recovery_failures 0 +maria_log_file_size 4294959104 +maria_log_purge_type immediate +maria_max_sort_file_size 9223372036854775807 +maria_page_checksum OFF +maria_pagecache_age_threshold 300 +maria_pagecache_buffer_size 8388600 +maria_pagecache_division_limit 100 +maria_recover OFF +maria_repair_threads 1 +maria_sort_buffer_size 8388608 +maria_stats_method nulls_unequal +maria_sync_log_dir NEWFILE +show status like 'maria%'; +Variable_name Value +Maria_pagecache_blocks_not_flushed # +Maria_pagecache_blocks_unused # +Maria_pagecache_blocks_used # +Maria_pagecache_read_requests # +Maria_pagecache_reads # +Maria_pagecache_write_requests # +Maria_pagecache_writes # +create table t1 (b char(0)); +insert into t1 values(NULL),(""); +select length(b) from t1; +length(b) +NULL +0 +alter table t1 add column c char(0), add key (c); +insert into t1 values("",""),("",NULL); +select length(b),length(c) from t1; +length(b) length(c) +NULL NULL +0 NULL +0 0 +0 NULL +select length(b),length(c) from t1 where c is null; +length(b) length(c) +NULL NULL +0 NULL +0 NULL +select length(b),length(c) from t1 where c is not null; +length(b) length(c) +0 0 +select length(b),length(c) from t1 order by c; +length(b) length(c) +NULL NULL +0 NULL +0 NULL +0 0 +alter table t1 add column d char(0) not null, add key (d); +ERROR 42000: The used storage engine can't index column 'd' +drop table t1; +CREATE TABLE t1 (a bit(3)); +insert into t1 values (NULL),(0),(1),(2),(3),(4),(5),(6),(7); +select hex(a) from t1; +hex(a) +NULL +0 +1 +2 +3 +4 +5 +6 +7 +drop table t1; +create table t1(a bit not null); +insert into t1 values(0),(1); +select a+0 from t1; +a+0 +0 +1 +drop table t1; +CREATE TABLE t1 (col1 int, s1 char(16) DEFAULT NULL, s2 char(16) DEFAULT NULL, KEY (s1,s2)); +insert into t1 (col1) values(0); +drop table t1; +set global maria_page_checksum=1; +create table t1 (a int); +show create table t1; +Table Create Table +t1 CREATE TABLE `t1` ( + `a` int(11) DEFAULT NULL +) ENGINE=MARIA DEFAULT CHARSET=latin1 PAGE_CHECKSUM=1 +drop table t1; +set global maria_log_file_size=4294967296; +Warnings: +Warning 1292 Truncated incorrect log_file_size value: '4294967296' +create table t1 (a int not null); +lock tables t1 write; +insert into t1 values (1),(2); +delete from t1; +unlock tables; +select * from t1; +a +insert into t1 values (1),(2); +delete from t1; +select * from t1; +a +drop table t1; +create table t1 (c int); +insert into t1 values(1),(2); +create table t2 select * from t1; +create table t3 select * from t1, t2; +ERROR 42S21: Duplicate column name 'c' +create table t3 select t1.c AS c1, t2.c AS c2,1 as "const" from t1, t2; +drop table t1, t2, t3; +create table t1 (t datetime) engine=maria; +insert into t1 values (101),(691231),(700101),(991231),(10000101),(99991231),(101000000),(691231000000),(700101000000),(991231235959),(10000101000000),(99991231235959),(20030100000000),(20030000000000); +select * from t1; +t +2000-01-01 00:00:00 +2069-12-31 00:00:00 +1970-01-01 00:00:00 +1999-12-31 00:00:00 +1000-01-01 00:00:00 +9999-12-31 00:00:00 +2000-01-01 00:00:00 +2069-12-31 00:00:00 +1970-01-01 00:00:00 +1999-12-31 23:59:59 +1000-01-01 00:00:00 +9999-12-31 23:59:59 +2003-01-00 00:00:00 +2003-00-00 00:00:00 +optimize table t1; +Table Op Msg_type Msg_text +test.t1 optimize status OK +check table t1; +Table Op Msg_type Msg_text +test.t1 check status OK +delete from t1 where t > 0; +optimize table t1; +Table Op Msg_type Msg_text +test.t1 optimize status OK +check table t1; +Table Op Msg_type Msg_text +test.t1 check status OK +drop table t1; +SET SQL_MODE='NO_AUTO_VALUE_ON_ZERO'; +CREATE TABLE t1 (id int(11) PRIMARY KEY auto_increment,f1 varchar(10) NOT NULL UNIQUE); +INSERT IGNORE INTO t1 (f1) VALUES ("test1"); +INSERT IGNORE INTO t1 (f1) VALUES ("test1"); +INSERT IGNORE INTO t1 (f1) VALUES ("test2"); +SELECT * FROM t1; +id f1 +1 test1 +2 test2 +drop table t1; +SET SQL_MODE = 'TRADITIONAL'; +create table t1 (n int not null primary key auto_increment, c char(1), unique(c)); +insert into t1 values(100, "a"); +insert into t1 values(300, "b"); +insert into t1 values(50, "a"); +ERROR 23000: Duplicate entry 'a' for key 'c' +insert into t1 values(null, "c"); +select * from t1; +n c +100 a +300 b +301 c +update t1 set n=400,c='a' where n=301; +ERROR 23000: Duplicate entry 'a' for key 'c' +insert into t1 values(null, "d"); +select * from t1; +n c +100 a +300 b +301 c +302 d +drop table t1; +create table t1 (n int not null primary key auto_increment, c char(1), unique(c)) transactional=0 row_format=dynamic; +insert into t1 values(100, "a"); +insert into t1 values(300, "b"); +insert into t1 values(50, "a"); +ERROR 23000: Duplicate entry 'a' for key 'c' +insert into t1 values(null, "c"); +select * from t1; +n c +100 a +300 b +301 c +update t1 set n=400,c='a' where n=301; +ERROR 23000: Duplicate entry 'a' for key 'c' +insert into t1 values(null, "d"); +select * from t1; +n c +100 a +300 b +301 c +302 d +drop table t1; +create table t1 (n int not null, c char(1)) engine=maria; +alter table t1 engine=myisam; +alter table t1 engine=maria; +show create table t1; +Table Create Table +t1 CREATE TABLE `t1` ( + `n` int(11) NOT NULL, + `c` char(1) DEFAULT NULL +) ENGINE=MARIA DEFAULT CHARSET=latin1 PAGE_CHECKSUM=1 +drop table t1; +create table t1 (n int not null, c char(1)) engine=maria transactional=1; +alter table t1 engine=myisam; +Warnings: +Error 1478 Table storage engine 'MyISAM' does not support the create option 'TRANSACTIONAL=1' +alter table t1 engine=maria; +show create table t1; +Table Create Table +t1 CREATE TABLE `t1` ( + `n` int(11) NOT NULL, + `c` char(1) DEFAULT NULL +) ENGINE=MARIA DEFAULT CHARSET=latin1 PAGE_CHECKSUM=1 TRANSACTIONAL=1 +drop table t1; +create table t1 (n int not null, c char(1)) engine=myisam transactional=1; +Warnings: +Error 1478 Table storage engine 'MyISAM' does not support the create option 'TRANSACTIONAL=1' +alter table t1 engine=maria; +show create table t1; +Table Create Table +t1 CREATE TABLE `t1` ( + `n` int(11) NOT NULL, + `c` char(1) DEFAULT NULL +) ENGINE=MARIA DEFAULT CHARSET=latin1 PAGE_CHECKSUM=1 TRANSACTIONAL=1 +drop table t1; +create table t1 (a int, key(a)) transactional=0; +insert into t1 values (0),(1),(2),(3),(4); +insert into t1 select NULL from t1; +check table t1; +Table Op Msg_type Msg_text +test.t1 check status OK +drop table t1; +create temporary table t1 (a int, key(a)) transactional=1; +create temporary table t2 (a int, key(a)) transactional=1; +insert into t1 values (0),(1),(2),(3),(4); +insert into t2 select * from t1; +insert into t1 select NULL from t2; +select count(*) from t1; +count(*) +10 +select count(*) from t1 where a >= 4; +count(*) +1 +drop table t1; +create table t1 (i int auto_increment not null primary key) transactional=0; +check table t1 extended; +Table Op Msg_type Msg_text +test.t1 check status OK +delete from t1 where i = 10; +check table t1 extended; +Table Op Msg_type Msg_text +test.t1 check status OK +drop table t1; +create table t1 (i int auto_increment not null primary key); +check table t1 extended; +Table Op Msg_type Msg_text +test.t1 check status OK +delete from t1 where i = 10; +check table t1 extended; +Table Op Msg_type Msg_text +test.t1 check status OK +drop table t1; +CREATE TABLE t1(a VARCHAR(20), FULLTEXT(a)) transactional=0; +INSERT INTO t1 VALUES('Offside'),('City Of God'); +SELECT a FROM t1 WHERE MATCH a AGAINST ('+city of*' IN BOOLEAN MODE); +a +City Of God +SELECT a FROM t1 WHERE MATCH a AGAINST ('+city (of)*' IN BOOLEAN MODE); +a +City Of God +DROP TABLE t1; +create table t1(a int) engine=maria transactional=1; +select CREATE_OPTIONS from information_schema.TABLES where +TABLE_SCHEMA='test' and TABLE_NAME='t1'; +CREATE_OPTIONS +transactional=1 +drop table t1; diff --git a/mysql-test/suite/funcs_1/datadict/processlist_priv.inc b/mysql-test/suite/funcs_1/datadict/processlist_priv.inc index 24df7ef8948..62dc0abd107 100644 --- a/mysql-test/suite/funcs_1/datadict/processlist_priv.inc +++ b/mysql-test/suite/funcs_1/datadict/processlist_priv.inc @@ -111,6 +111,7 @@ connect (con100,localhost,ddicttestuser1,ddictpass,information_schema); --echo SHOW/SELECT shows all processes/threads. --echo #################################################################################### connection default; +--replace_result ENGINE=MyISAM "" ENGINE=MARIA "" " PAGE_CHECKSUM=1" "" " PAGE_CHECKSUM=0" "" eval SHOW CREATE TABLE $table; --replace_column 1 ID 6 TIME eval SHOW $table; @@ -127,6 +128,7 @@ eval SELECT $columns FROM $table $select_where ORDER BY id; connection con100; --echo SHOW/SELECT shows only the processes (1) of the user. --echo #################################################################################### +--replace_result ENGINE=MyISAM "" ENGINE=MARIA "" " PAGE_CHECKSUM=1" "" " PAGE_CHECKSUM=0" "" eval SHOW CREATE TABLE $table; --replace_column 1 ID 6 TIME eval SHOW $table; diff --git a/mysql-test/suite/funcs_1/datadict/processlist_val.inc b/mysql-test/suite/funcs_1/datadict/processlist_val.inc index 69a32553f65..83b7d55d435 100644 --- a/mysql-test/suite/funcs_1/datadict/processlist_val.inc +++ b/mysql-test/suite/funcs_1/datadict/processlist_val.inc @@ -53,6 +53,7 @@ CREATE TABLE test.t1 (f1 BIGINT); # Show the definition of the PROCESSLIST table #-------------------------------------------------------------------------- +--replace_result ENGINE=MyISAM "" ENGINE=MARIA "" " PAGE_CHECKSUM=1" "" " PAGE_CHECKSUM=0" "" SHOW CREATE TABLE INFORMATION_SCHEMA.PROCESSLIST; diff --git a/mysql-test/suite/funcs_1/datadict/tables2.inc b/mysql-test/suite/funcs_1/datadict/tables2.inc index 1066e52f8f0..5606ea827f0 100644 --- a/mysql-test/suite/funcs_1/datadict/tables2.inc +++ b/mysql-test/suite/funcs_1/datadict/tables2.inc @@ -29,6 +29,7 @@ let $innodb_pattern = 'InnoDB free'; let $ndb_pattern = 'number_of_replicas'; --vertical_results +--replace_result Dynamic DYNAMIC_OR_PAGE Page DYNAMIC_OR_PAGE MyISAM MYISAM_OR_MARIA MARIA MYISAM_OR_MARIA --replace_column 8 "#TBLR#" 9 "#ARL#" 10 "#DL#" 11 "#MDL#" 12 "#IL#" 13 "#DF#" 15 "#CRT#" 16 "#UT#" 17 "#CT#" 20 "#CO#" 21 "#TC#" eval SELECT *, diff --git a/mysql-test/suite/funcs_1/r/is_collation_character_set_applicability.result b/mysql-test/suite/funcs_1/r/is_collation_charset_applic.result similarity index 100% rename from mysql-test/suite/funcs_1/r/is_collation_character_set_applicability.result rename to mysql-test/suite/funcs_1/r/is_collation_charset_applic.result diff --git a/mysql-test/suite/funcs_1/r/is_columns.result b/mysql-test/suite/funcs_1/r/is_columns.result index 99a497d806d..a81a68518e8 100644 --- a/mysql-test/suite/funcs_1/r/is_columns.result +++ b/mysql-test/suite/funcs_1/r/is_columns.result @@ -69,7 +69,7 @@ COLUMNS CREATE TEMPORARY TABLE `COLUMNS` ( `EXTRA` varchar(27) NOT NULL DEFAULT '', `PRIVILEGES` varchar(80) NOT NULL DEFAULT '', `COLUMN_COMMENT` varchar(255) NOT NULL DEFAULT '' -) ENGINE=MyISAM DEFAULT CHARSET=utf8 +) DEFAULT CHARSET=utf8 SHOW COLUMNS FROM information_schema.COLUMNS; Field Type Null Key Default Extra TABLE_CATALOG varchar(512) YES NULL diff --git a/mysql-test/suite/funcs_1/r/is_events.result b/mysql-test/suite/funcs_1/r/is_events.result index 52673f1d285..7f7daebf8ee 100644 --- a/mysql-test/suite/funcs_1/r/is_events.result +++ b/mysql-test/suite/funcs_1/r/is_events.result @@ -79,7 +79,7 @@ EVENTS CREATE TEMPORARY TABLE `EVENTS` ( `CHARACTER_SET_CLIENT` varchar(32) NOT NULL DEFAULT '', `COLLATION_CONNECTION` varchar(32) NOT NULL DEFAULT '', `DATABASE_COLLATION` varchar(32) NOT NULL DEFAULT '' -) ENGINE=MyISAM DEFAULT CHARSET=utf8 +) DEFAULT CHARSET=utf8 SHOW COLUMNS FROM information_schema.EVENTS; Field Type Null Key Default Extra EVENT_CATALOG varchar(64) YES NULL diff --git a/mysql-test/suite/funcs_1/r/is_routines.result b/mysql-test/suite/funcs_1/r/is_routines.result index ba564c42f91..bf0ce4a1317 100644 --- a/mysql-test/suite/funcs_1/r/is_routines.result +++ b/mysql-test/suite/funcs_1/r/is_routines.result @@ -77,7 +77,7 @@ ROUTINES CREATE TEMPORARY TABLE `ROUTINES` ( `CHARACTER_SET_CLIENT` varchar(32) NOT NULL DEFAULT '', `COLLATION_CONNECTION` varchar(32) NOT NULL DEFAULT '', `DATABASE_COLLATION` varchar(32) NOT NULL DEFAULT '' -) ENGINE=MyISAM DEFAULT CHARSET=utf8 +) DEFAULT CHARSET=utf8 SHOW COLUMNS FROM information_schema.ROUTINES; Field Type Null Key Default Extra SPECIFIC_NAME varchar(64) NO diff --git a/mysql-test/suite/funcs_1/r/is_tables_is.result b/mysql-test/suite/funcs_1/r/is_tables_is.result index afef91f9e6b..1aacd57ffc9 100644 --- a/mysql-test/suite/funcs_1/r/is_tables_is.result +++ b/mysql-test/suite/funcs_1/r/is_tables_is.result @@ -86,9 +86,9 @@ TABLE_CATALOG NULL TABLE_SCHEMA information_schema TABLE_NAME COLUMNS TABLE_TYPE SYSTEM VIEW -ENGINE MyISAM +ENGINE MYISAM_OR_MARIA VERSION 10 -ROW_FORMAT Dynamic +ROW_FORMAT DYNAMIC_OR_PAGE TABLE_ROWS #TBLR# AVG_ROW_LENGTH #ARL# DATA_LENGTH #DL# @@ -155,9 +155,9 @@ TABLE_CATALOG NULL TABLE_SCHEMA information_schema TABLE_NAME EVENTS TABLE_TYPE SYSTEM VIEW -ENGINE MyISAM +ENGINE MYISAM_OR_MARIA VERSION 10 -ROW_FORMAT Dynamic +ROW_FORMAT DYNAMIC_OR_PAGE TABLE_ROWS #TBLR# AVG_ROW_LENGTH #ARL# DATA_LENGTH #DL# @@ -270,9 +270,9 @@ TABLE_CATALOG NULL TABLE_SCHEMA information_schema TABLE_NAME PARTITIONS TABLE_TYPE SYSTEM VIEW -ENGINE MyISAM +ENGINE MYISAM_OR_MARIA VERSION 10 -ROW_FORMAT Dynamic +ROW_FORMAT DYNAMIC_OR_PAGE TABLE_ROWS #TBLR# AVG_ROW_LENGTH #ARL# DATA_LENGTH #DL# @@ -293,9 +293,9 @@ TABLE_CATALOG NULL TABLE_SCHEMA information_schema TABLE_NAME PLUGINS TABLE_TYPE SYSTEM VIEW -ENGINE MyISAM +ENGINE MYISAM_OR_MARIA VERSION 10 -ROW_FORMAT Dynamic +ROW_FORMAT DYNAMIC_OR_PAGE TABLE_ROWS #TBLR# AVG_ROW_LENGTH #ARL# DATA_LENGTH #DL# @@ -316,9 +316,9 @@ TABLE_CATALOG NULL TABLE_SCHEMA information_schema TABLE_NAME PROCESSLIST TABLE_TYPE SYSTEM VIEW -ENGINE MyISAM +ENGINE MYISAM_OR_MARIA VERSION 10 -ROW_FORMAT Dynamic +ROW_FORMAT DYNAMIC_OR_PAGE TABLE_ROWS #TBLR# AVG_ROW_LENGTH #ARL# DATA_LENGTH #DL# @@ -362,9 +362,9 @@ TABLE_CATALOG NULL TABLE_SCHEMA information_schema TABLE_NAME ROUTINES TABLE_TYPE SYSTEM VIEW -ENGINE MyISAM +ENGINE MYISAM_OR_MARIA VERSION 10 -ROW_FORMAT Dynamic +ROW_FORMAT DYNAMIC_OR_PAGE TABLE_ROWS #TBLR# AVG_ROW_LENGTH #ARL# DATA_LENGTH #DL# @@ -569,9 +569,9 @@ TABLE_CATALOG NULL TABLE_SCHEMA information_schema TABLE_NAME TRIGGERS TABLE_TYPE SYSTEM VIEW -ENGINE MyISAM +ENGINE MYISAM_OR_MARIA VERSION 10 -ROW_FORMAT Dynamic +ROW_FORMAT DYNAMIC_OR_PAGE TABLE_ROWS #TBLR# AVG_ROW_LENGTH #ARL# DATA_LENGTH #DL# @@ -615,9 +615,9 @@ TABLE_CATALOG NULL TABLE_SCHEMA information_schema TABLE_NAME VIEWS TABLE_TYPE SYSTEM VIEW -ENGINE MyISAM +ENGINE MYISAM_OR_MARIA VERSION 10 -ROW_FORMAT Dynamic +ROW_FORMAT DYNAMIC_OR_PAGE TABLE_ROWS #TBLR# AVG_ROW_LENGTH #ARL# DATA_LENGTH #DL# @@ -724,9 +724,9 @@ TABLE_CATALOG NULL TABLE_SCHEMA information_schema TABLE_NAME COLUMNS TABLE_TYPE SYSTEM VIEW -ENGINE MyISAM +ENGINE MYISAM_OR_MARIA VERSION 10 -ROW_FORMAT Dynamic +ROW_FORMAT DYNAMIC_OR_PAGE TABLE_ROWS #TBLR# AVG_ROW_LENGTH #ARL# DATA_LENGTH #DL# @@ -793,9 +793,9 @@ TABLE_CATALOG NULL TABLE_SCHEMA information_schema TABLE_NAME EVENTS TABLE_TYPE SYSTEM VIEW -ENGINE MyISAM +ENGINE MYISAM_OR_MARIA VERSION 10 -ROW_FORMAT Dynamic +ROW_FORMAT DYNAMIC_OR_PAGE TABLE_ROWS #TBLR# AVG_ROW_LENGTH #ARL# DATA_LENGTH #DL# @@ -908,9 +908,9 @@ TABLE_CATALOG NULL TABLE_SCHEMA information_schema TABLE_NAME PARTITIONS TABLE_TYPE SYSTEM VIEW -ENGINE MyISAM +ENGINE MYISAM_OR_MARIA VERSION 10 -ROW_FORMAT Dynamic +ROW_FORMAT DYNAMIC_OR_PAGE TABLE_ROWS #TBLR# AVG_ROW_LENGTH #ARL# DATA_LENGTH #DL# @@ -931,9 +931,9 @@ TABLE_CATALOG NULL TABLE_SCHEMA information_schema TABLE_NAME PLUGINS TABLE_TYPE SYSTEM VIEW -ENGINE MyISAM +ENGINE MYISAM_OR_MARIA VERSION 10 -ROW_FORMAT Dynamic +ROW_FORMAT DYNAMIC_OR_PAGE TABLE_ROWS #TBLR# AVG_ROW_LENGTH #ARL# DATA_LENGTH #DL# @@ -954,9 +954,9 @@ TABLE_CATALOG NULL TABLE_SCHEMA information_schema TABLE_NAME PROCESSLIST TABLE_TYPE SYSTEM VIEW -ENGINE MyISAM +ENGINE MYISAM_OR_MARIA VERSION 10 -ROW_FORMAT Dynamic +ROW_FORMAT DYNAMIC_OR_PAGE TABLE_ROWS #TBLR# AVG_ROW_LENGTH #ARL# DATA_LENGTH #DL# @@ -1000,9 +1000,9 @@ TABLE_CATALOG NULL TABLE_SCHEMA information_schema TABLE_NAME ROUTINES TABLE_TYPE SYSTEM VIEW -ENGINE MyISAM +ENGINE MYISAM_OR_MARIA VERSION 10 -ROW_FORMAT Dynamic +ROW_FORMAT DYNAMIC_OR_PAGE TABLE_ROWS #TBLR# AVG_ROW_LENGTH #ARL# DATA_LENGTH #DL# @@ -1207,9 +1207,9 @@ TABLE_CATALOG NULL TABLE_SCHEMA information_schema TABLE_NAME TRIGGERS TABLE_TYPE SYSTEM VIEW -ENGINE MyISAM +ENGINE MYISAM_OR_MARIA VERSION 10 -ROW_FORMAT Dynamic +ROW_FORMAT DYNAMIC_OR_PAGE TABLE_ROWS #TBLR# AVG_ROW_LENGTH #ARL# DATA_LENGTH #DL# @@ -1253,9 +1253,9 @@ TABLE_CATALOG NULL TABLE_SCHEMA information_schema TABLE_NAME VIEWS TABLE_TYPE SYSTEM VIEW -ENGINE MyISAM +ENGINE MYISAM_OR_MARIA VERSION 10 -ROW_FORMAT Dynamic +ROW_FORMAT DYNAMIC_OR_PAGE TABLE_ROWS #TBLR# AVG_ROW_LENGTH #ARL# DATA_LENGTH #DL# diff --git a/mysql-test/suite/funcs_1/r/is_tables_myisam.result b/mysql-test/suite/funcs_1/r/is_tables_myisam.result index f48128f6794..38a99a44288 100644 --- a/mysql-test/suite/funcs_1/r/is_tables_myisam.result +++ b/mysql-test/suite/funcs_1/r/is_tables_myisam.result @@ -415,7 +415,7 @@ TABLE_CATALOG NULL TABLE_SCHEMA test TABLE_NAME t1 TABLE_TYPE BASE TABLE -ENGINE MyISAM +ENGINE MYISAM_OR_MARIA VERSION 10 ROW_FORMAT Fixed TABLE_ROWS #TBLR# @@ -438,7 +438,7 @@ TABLE_CATALOG NULL TABLE_SCHEMA test TABLE_NAME t10 TABLE_TYPE BASE TABLE -ENGINE MyISAM +ENGINE MYISAM_OR_MARIA VERSION 10 ROW_FORMAT Fixed TABLE_ROWS #TBLR# @@ -461,7 +461,7 @@ TABLE_CATALOG NULL TABLE_SCHEMA test TABLE_NAME t11 TABLE_TYPE BASE TABLE -ENGINE MyISAM +ENGINE MYISAM_OR_MARIA VERSION 10 ROW_FORMAT Fixed TABLE_ROWS #TBLR# @@ -484,7 +484,7 @@ TABLE_CATALOG NULL TABLE_SCHEMA test TABLE_NAME t2 TABLE_TYPE BASE TABLE -ENGINE MyISAM +ENGINE MYISAM_OR_MARIA VERSION 10 ROW_FORMAT Fixed TABLE_ROWS #TBLR# @@ -507,7 +507,7 @@ TABLE_CATALOG NULL TABLE_SCHEMA test TABLE_NAME t3 TABLE_TYPE BASE TABLE -ENGINE MyISAM +ENGINE MYISAM_OR_MARIA VERSION 10 ROW_FORMAT Fixed TABLE_ROWS #TBLR# @@ -530,7 +530,7 @@ TABLE_CATALOG NULL TABLE_SCHEMA test TABLE_NAME t4 TABLE_TYPE BASE TABLE -ENGINE MyISAM +ENGINE MYISAM_OR_MARIA VERSION 10 ROW_FORMAT Fixed TABLE_ROWS #TBLR# @@ -553,7 +553,7 @@ TABLE_CATALOG NULL TABLE_SCHEMA test TABLE_NAME t7 TABLE_TYPE BASE TABLE -ENGINE MyISAM +ENGINE MYISAM_OR_MARIA VERSION 10 ROW_FORMAT Fixed TABLE_ROWS #TBLR# @@ -576,7 +576,7 @@ TABLE_CATALOG NULL TABLE_SCHEMA test TABLE_NAME t8 TABLE_TYPE BASE TABLE -ENGINE MyISAM +ENGINE MYISAM_OR_MARIA VERSION 10 ROW_FORMAT Fixed TABLE_ROWS #TBLR# @@ -599,7 +599,7 @@ TABLE_CATALOG NULL TABLE_SCHEMA test TABLE_NAME t9 TABLE_TYPE BASE TABLE -ENGINE MyISAM +ENGINE MYISAM_OR_MARIA VERSION 10 ROW_FORMAT Fixed TABLE_ROWS #TBLR# @@ -622,9 +622,9 @@ TABLE_CATALOG NULL TABLE_SCHEMA test TABLE_NAME tb1 TABLE_TYPE BASE TABLE -ENGINE MyISAM +ENGINE MYISAM_OR_MARIA VERSION 10 -ROW_FORMAT Dynamic +ROW_FORMAT DYNAMIC_OR_PAGE TABLE_ROWS #TBLR# AVG_ROW_LENGTH #ARL# DATA_LENGTH #DL# @@ -645,9 +645,9 @@ TABLE_CATALOG NULL TABLE_SCHEMA test TABLE_NAME tb2 TABLE_TYPE BASE TABLE -ENGINE MyISAM +ENGINE MYISAM_OR_MARIA VERSION 10 -ROW_FORMAT Dynamic +ROW_FORMAT DYNAMIC_OR_PAGE TABLE_ROWS #TBLR# AVG_ROW_LENGTH #ARL# DATA_LENGTH #DL# @@ -668,9 +668,9 @@ TABLE_CATALOG NULL TABLE_SCHEMA test TABLE_NAME tb3 TABLE_TYPE BASE TABLE -ENGINE MyISAM +ENGINE MYISAM_OR_MARIA VERSION 10 -ROW_FORMAT Dynamic +ROW_FORMAT DYNAMIC_OR_PAGE TABLE_ROWS #TBLR# AVG_ROW_LENGTH #ARL# DATA_LENGTH #DL# @@ -691,9 +691,9 @@ TABLE_CATALOG NULL TABLE_SCHEMA test TABLE_NAME tb4 TABLE_TYPE BASE TABLE -ENGINE MyISAM +ENGINE MYISAM_OR_MARIA VERSION 10 -ROW_FORMAT Dynamic +ROW_FORMAT DYNAMIC_OR_PAGE TABLE_ROWS #TBLR# AVG_ROW_LENGTH #ARL# DATA_LENGTH #DL# @@ -714,9 +714,9 @@ TABLE_CATALOG NULL TABLE_SCHEMA test1 TABLE_NAME tb2 TABLE_TYPE BASE TABLE -ENGINE MyISAM +ENGINE MYISAM_OR_MARIA VERSION 10 -ROW_FORMAT Dynamic +ROW_FORMAT DYNAMIC_OR_PAGE TABLE_ROWS #TBLR# AVG_ROW_LENGTH #ARL# DATA_LENGTH #DL# @@ -737,7 +737,7 @@ TABLE_CATALOG NULL TABLE_SCHEMA test4 TABLE_NAME t6 TABLE_TYPE BASE TABLE -ENGINE MyISAM +ENGINE MYISAM_OR_MARIA VERSION 10 ROW_FORMAT Fixed TABLE_ROWS #TBLR# @@ -776,7 +776,7 @@ TABLE_CATALOG NULL TABLE_SCHEMA test TABLE_NAME t1 TABLE_TYPE BASE TABLE -ENGINE MyISAM +ENGINE MYISAM_OR_MARIA VERSION 10 ROW_FORMAT Fixed TABLE_ROWS #TBLR# @@ -799,7 +799,7 @@ TABLE_CATALOG NULL TABLE_SCHEMA test TABLE_NAME t10 TABLE_TYPE BASE TABLE -ENGINE MyISAM +ENGINE MYISAM_OR_MARIA VERSION 10 ROW_FORMAT Fixed TABLE_ROWS #TBLR# @@ -822,7 +822,7 @@ TABLE_CATALOG NULL TABLE_SCHEMA test TABLE_NAME t11 TABLE_TYPE BASE TABLE -ENGINE MyISAM +ENGINE MYISAM_OR_MARIA VERSION 10 ROW_FORMAT Fixed TABLE_ROWS #TBLR# @@ -845,7 +845,7 @@ TABLE_CATALOG NULL TABLE_SCHEMA test TABLE_NAME t2 TABLE_TYPE BASE TABLE -ENGINE MyISAM +ENGINE MYISAM_OR_MARIA VERSION 10 ROW_FORMAT Fixed TABLE_ROWS #TBLR# @@ -868,7 +868,7 @@ TABLE_CATALOG NULL TABLE_SCHEMA test TABLE_NAME t3 TABLE_TYPE BASE TABLE -ENGINE MyISAM +ENGINE MYISAM_OR_MARIA VERSION 10 ROW_FORMAT Fixed TABLE_ROWS #TBLR# @@ -891,7 +891,7 @@ TABLE_CATALOG NULL TABLE_SCHEMA test TABLE_NAME t4 TABLE_TYPE BASE TABLE -ENGINE MyISAM +ENGINE MYISAM_OR_MARIA VERSION 10 ROW_FORMAT Fixed TABLE_ROWS #TBLR# @@ -914,7 +914,7 @@ TABLE_CATALOG NULL TABLE_SCHEMA test TABLE_NAME t7 TABLE_TYPE BASE TABLE -ENGINE MyISAM +ENGINE MYISAM_OR_MARIA VERSION 10 ROW_FORMAT Fixed TABLE_ROWS #TBLR# @@ -937,7 +937,7 @@ TABLE_CATALOG NULL TABLE_SCHEMA test TABLE_NAME t8 TABLE_TYPE BASE TABLE -ENGINE MyISAM +ENGINE MYISAM_OR_MARIA VERSION 10 ROW_FORMAT Fixed TABLE_ROWS #TBLR# @@ -960,7 +960,7 @@ TABLE_CATALOG NULL TABLE_SCHEMA test TABLE_NAME t9 TABLE_TYPE BASE TABLE -ENGINE MyISAM +ENGINE MYISAM_OR_MARIA VERSION 10 ROW_FORMAT Fixed TABLE_ROWS #TBLR# @@ -983,9 +983,9 @@ TABLE_CATALOG NULL TABLE_SCHEMA test TABLE_NAME tb1 TABLE_TYPE BASE TABLE -ENGINE MyISAM +ENGINE MYISAM_OR_MARIA VERSION 10 -ROW_FORMAT Dynamic +ROW_FORMAT DYNAMIC_OR_PAGE TABLE_ROWS #TBLR# AVG_ROW_LENGTH #ARL# DATA_LENGTH #DL# @@ -1006,9 +1006,9 @@ TABLE_CATALOG NULL TABLE_SCHEMA test TABLE_NAME tb2 TABLE_TYPE BASE TABLE -ENGINE MyISAM +ENGINE MYISAM_OR_MARIA VERSION 10 -ROW_FORMAT Dynamic +ROW_FORMAT DYNAMIC_OR_PAGE TABLE_ROWS #TBLR# AVG_ROW_LENGTH #ARL# DATA_LENGTH #DL# @@ -1029,9 +1029,9 @@ TABLE_CATALOG NULL TABLE_SCHEMA test TABLE_NAME tb3 TABLE_TYPE BASE TABLE -ENGINE MyISAM +ENGINE MYISAM_OR_MARIA VERSION 10 -ROW_FORMAT Dynamic +ROW_FORMAT DYNAMIC_OR_PAGE TABLE_ROWS #TBLR# AVG_ROW_LENGTH #ARL# DATA_LENGTH #DL# @@ -1052,9 +1052,9 @@ TABLE_CATALOG NULL TABLE_SCHEMA test TABLE_NAME tb4 TABLE_TYPE BASE TABLE -ENGINE MyISAM +ENGINE MYISAM_OR_MARIA VERSION 10 -ROW_FORMAT Dynamic +ROW_FORMAT DYNAMIC_OR_PAGE TABLE_ROWS #TBLR# AVG_ROW_LENGTH #ARL# DATA_LENGTH #DL# diff --git a/mysql-test/suite/funcs_1/r/is_tables_mysql.result b/mysql-test/suite/funcs_1/r/is_tables_mysql.result index 689f0ef89d0..f616d18bee9 100644 --- a/mysql-test/suite/funcs_1/r/is_tables_mysql.result +++ b/mysql-test/suite/funcs_1/r/is_tables_mysql.result @@ -16,7 +16,7 @@ TABLE_CATALOG NULL TABLE_SCHEMA mysql TABLE_NAME columns_priv TABLE_TYPE BASE TABLE -ENGINE MyISAM +ENGINE MYISAM_OR_MARIA VERSION 10 ROW_FORMAT Fixed TABLE_ROWS #TBLR# @@ -39,7 +39,7 @@ TABLE_CATALOG NULL TABLE_SCHEMA mysql TABLE_NAME db TABLE_TYPE BASE TABLE -ENGINE MyISAM +ENGINE MYISAM_OR_MARIA VERSION 10 ROW_FORMAT Fixed TABLE_ROWS #TBLR# @@ -62,9 +62,9 @@ TABLE_CATALOG NULL TABLE_SCHEMA mysql TABLE_NAME event TABLE_TYPE BASE TABLE -ENGINE MyISAM +ENGINE MYISAM_OR_MARIA VERSION 10 -ROW_FORMAT Dynamic +ROW_FORMAT DYNAMIC_OR_PAGE TABLE_ROWS #TBLR# AVG_ROW_LENGTH #ARL# DATA_LENGTH #DL# @@ -85,7 +85,7 @@ TABLE_CATALOG NULL TABLE_SCHEMA mysql TABLE_NAME func TABLE_TYPE BASE TABLE -ENGINE MyISAM +ENGINE MYISAM_OR_MARIA VERSION 10 ROW_FORMAT Fixed TABLE_ROWS #TBLR# @@ -110,7 +110,7 @@ TABLE_NAME general_log TABLE_TYPE BASE TABLE ENGINE CSV VERSION 10 -ROW_FORMAT Dynamic +ROW_FORMAT DYNAMIC_OR_PAGE TABLE_ROWS #TBLR# AVG_ROW_LENGTH #ARL# DATA_LENGTH #DL# @@ -131,7 +131,7 @@ TABLE_CATALOG NULL TABLE_SCHEMA mysql TABLE_NAME help_category TABLE_TYPE BASE TABLE -ENGINE MyISAM +ENGINE MYISAM_OR_MARIA VERSION 10 ROW_FORMAT Fixed TABLE_ROWS #TBLR# @@ -154,7 +154,7 @@ TABLE_CATALOG NULL TABLE_SCHEMA mysql TABLE_NAME help_keyword TABLE_TYPE BASE TABLE -ENGINE MyISAM +ENGINE MYISAM_OR_MARIA VERSION 10 ROW_FORMAT Fixed TABLE_ROWS #TBLR# @@ -177,7 +177,7 @@ TABLE_CATALOG NULL TABLE_SCHEMA mysql TABLE_NAME help_relation TABLE_TYPE BASE TABLE -ENGINE MyISAM +ENGINE MYISAM_OR_MARIA VERSION 10 ROW_FORMAT Fixed TABLE_ROWS #TBLR# @@ -200,9 +200,9 @@ TABLE_CATALOG NULL TABLE_SCHEMA mysql TABLE_NAME help_topic TABLE_TYPE BASE TABLE -ENGINE MyISAM +ENGINE MYISAM_OR_MARIA VERSION 10 -ROW_FORMAT Dynamic +ROW_FORMAT DYNAMIC_OR_PAGE TABLE_ROWS #TBLR# AVG_ROW_LENGTH #ARL# DATA_LENGTH #DL# @@ -223,7 +223,7 @@ TABLE_CATALOG NULL TABLE_SCHEMA mysql TABLE_NAME host TABLE_TYPE BASE TABLE -ENGINE MyISAM +ENGINE MYISAM_OR_MARIA VERSION 10 ROW_FORMAT Fixed TABLE_ROWS #TBLR# @@ -246,9 +246,9 @@ TABLE_CATALOG NULL TABLE_SCHEMA mysql TABLE_NAME ndb_binlog_index TABLE_TYPE BASE TABLE -ENGINE MyISAM +ENGINE MYISAM_OR_MARIA VERSION 10 -ROW_FORMAT Dynamic +ROW_FORMAT DYNAMIC_OR_PAGE TABLE_ROWS #TBLR# AVG_ROW_LENGTH #ARL# DATA_LENGTH #DL# @@ -269,7 +269,7 @@ TABLE_CATALOG NULL TABLE_SCHEMA mysql TABLE_NAME plugin TABLE_TYPE BASE TABLE -ENGINE MyISAM +ENGINE MYISAM_OR_MARIA VERSION 10 ROW_FORMAT Fixed TABLE_ROWS #TBLR# @@ -292,9 +292,9 @@ TABLE_CATALOG NULL TABLE_SCHEMA mysql TABLE_NAME proc TABLE_TYPE BASE TABLE -ENGINE MyISAM +ENGINE MYISAM_OR_MARIA VERSION 10 -ROW_FORMAT Dynamic +ROW_FORMAT DYNAMIC_OR_PAGE TABLE_ROWS #TBLR# AVG_ROW_LENGTH #ARL# DATA_LENGTH #DL# @@ -315,7 +315,7 @@ TABLE_CATALOG NULL TABLE_SCHEMA mysql TABLE_NAME procs_priv TABLE_TYPE BASE TABLE -ENGINE MyISAM +ENGINE MYISAM_OR_MARIA VERSION 10 ROW_FORMAT Fixed TABLE_ROWS #TBLR# @@ -338,7 +338,7 @@ TABLE_CATALOG NULL TABLE_SCHEMA mysql TABLE_NAME servers TABLE_TYPE BASE TABLE -ENGINE MyISAM +ENGINE MYISAM_OR_MARIA VERSION 10 ROW_FORMAT Fixed TABLE_ROWS #TBLR# @@ -363,7 +363,7 @@ TABLE_NAME slow_log TABLE_TYPE BASE TABLE ENGINE CSV VERSION 10 -ROW_FORMAT Dynamic +ROW_FORMAT DYNAMIC_OR_PAGE TABLE_ROWS #TBLR# AVG_ROW_LENGTH #ARL# DATA_LENGTH #DL# @@ -384,7 +384,7 @@ TABLE_CATALOG NULL TABLE_SCHEMA mysql TABLE_NAME tables_priv TABLE_TYPE BASE TABLE -ENGINE MyISAM +ENGINE MYISAM_OR_MARIA VERSION 10 ROW_FORMAT Fixed TABLE_ROWS #TBLR# @@ -407,7 +407,7 @@ TABLE_CATALOG NULL TABLE_SCHEMA mysql TABLE_NAME time_zone TABLE_TYPE BASE TABLE -ENGINE MyISAM +ENGINE MYISAM_OR_MARIA VERSION 10 ROW_FORMAT Fixed TABLE_ROWS #TBLR# @@ -430,7 +430,7 @@ TABLE_CATALOG NULL TABLE_SCHEMA mysql TABLE_NAME time_zone_leap_second TABLE_TYPE BASE TABLE -ENGINE MyISAM +ENGINE MYISAM_OR_MARIA VERSION 10 ROW_FORMAT Fixed TABLE_ROWS #TBLR# @@ -453,7 +453,7 @@ TABLE_CATALOG NULL TABLE_SCHEMA mysql TABLE_NAME time_zone_name TABLE_TYPE BASE TABLE -ENGINE MyISAM +ENGINE MYISAM_OR_MARIA VERSION 10 ROW_FORMAT Fixed TABLE_ROWS #TBLR# @@ -476,7 +476,7 @@ TABLE_CATALOG NULL TABLE_SCHEMA mysql TABLE_NAME time_zone_transition TABLE_TYPE BASE TABLE -ENGINE MyISAM +ENGINE MYISAM_OR_MARIA VERSION 10 ROW_FORMAT Fixed TABLE_ROWS #TBLR# @@ -499,7 +499,7 @@ TABLE_CATALOG NULL TABLE_SCHEMA mysql TABLE_NAME time_zone_transition_type TABLE_TYPE BASE TABLE -ENGINE MyISAM +ENGINE MYISAM_OR_MARIA VERSION 10 ROW_FORMAT Fixed TABLE_ROWS #TBLR# @@ -522,9 +522,9 @@ TABLE_CATALOG NULL TABLE_SCHEMA mysql TABLE_NAME user TABLE_TYPE BASE TABLE -ENGINE MyISAM +ENGINE MYISAM_OR_MARIA VERSION 10 -ROW_FORMAT Dynamic +ROW_FORMAT DYNAMIC_OR_PAGE TABLE_ROWS #TBLR# AVG_ROW_LENGTH #ARL# DATA_LENGTH #DL# diff --git a/mysql-test/suite/funcs_1/r/is_triggers.result b/mysql-test/suite/funcs_1/r/is_triggers.result index ca62bd26e80..2f96c08a6ae 100644 --- a/mysql-test/suite/funcs_1/r/is_triggers.result +++ b/mysql-test/suite/funcs_1/r/is_triggers.result @@ -75,7 +75,7 @@ TRIGGERS CREATE TEMPORARY TABLE `TRIGGERS` ( `CHARACTER_SET_CLIENT` varchar(32) NOT NULL DEFAULT '', `COLLATION_CONNECTION` varchar(32) NOT NULL DEFAULT '', `DATABASE_COLLATION` varchar(32) NOT NULL DEFAULT '' -) ENGINE=MyISAM DEFAULT CHARSET=utf8 +) DEFAULT CHARSET=utf8 SHOW COLUMNS FROM information_schema.TRIGGERS; Field Type Null Key Default Extra TRIGGER_CATALOG varchar(512) YES NULL diff --git a/mysql-test/suite/funcs_1/r/is_views.result b/mysql-test/suite/funcs_1/r/is_views.result index f960c26b21d..0cce7a83d62 100644 --- a/mysql-test/suite/funcs_1/r/is_views.result +++ b/mysql-test/suite/funcs_1/r/is_views.result @@ -51,7 +51,7 @@ VIEWS CREATE TEMPORARY TABLE `VIEWS` ( `SECURITY_TYPE` varchar(7) NOT NULL DEFAULT '', `CHARACTER_SET_CLIENT` varchar(32) NOT NULL DEFAULT '', `COLLATION_CONNECTION` varchar(32) NOT NULL DEFAULT '' -) ENGINE=MyISAM DEFAULT CHARSET=utf8 +) DEFAULT CHARSET=utf8 SHOW COLUMNS FROM information_schema.VIEWS; Field Type Null Key Default Extra TABLE_CATALOG varchar(512) YES NULL diff --git a/mysql-test/suite/funcs_1/r/processlist_priv_no_prot.result b/mysql-test/suite/funcs_1/r/processlist_priv_no_prot.result index 23b4d65d0c9..e23a7936f10 100644 --- a/mysql-test/suite/funcs_1/r/processlist_priv_no_prot.result +++ b/mysql-test/suite/funcs_1/r/processlist_priv_no_prot.result @@ -32,7 +32,7 @@ PROCESSLIST CREATE TEMPORARY TABLE `PROCESSLIST` ( `TIME` bigint(7) NOT NULL DEFAULT '0', `STATE` varchar(64) DEFAULT NULL, `INFO` longtext -) ENGINE=MyISAM DEFAULT CHARSET=utf8 +) DEFAULT CHARSET=utf8 SHOW processlist; Id User Host db Command Time State Info ID root localhost information_schema Query TIME NULL SHOW processlist @@ -102,7 +102,7 @@ PROCESSLIST CREATE TEMPORARY TABLE `PROCESSLIST` ( `TIME` bigint(7) NOT NULL DEFAULT '0', `STATE` varchar(64) DEFAULT NULL, `INFO` longtext -) ENGINE=MyISAM DEFAULT CHARSET=utf8 +) DEFAULT CHARSET=utf8 SHOW processlist; Id User Host db Command Time State Info ID ddicttestuser1 localhost information_schema Query TIME NULL SHOW processlist diff --git a/mysql-test/suite/funcs_1/r/processlist_priv_ps.result b/mysql-test/suite/funcs_1/r/processlist_priv_ps.result index 51bfeaa5db4..5918c0da654 100644 --- a/mysql-test/suite/funcs_1/r/processlist_priv_ps.result +++ b/mysql-test/suite/funcs_1/r/processlist_priv_ps.result @@ -32,7 +32,7 @@ PROCESSLIST CREATE TEMPORARY TABLE `PROCESSLIST` ( `TIME` bigint(7) NOT NULL DEFAULT '0', `STATE` varchar(64) DEFAULT NULL, `INFO` longtext -) ENGINE=MyISAM DEFAULT CHARSET=utf8 +) DEFAULT CHARSET=utf8 SHOW processlist; Id User Host db Command Time State Info ID root localhost information_schema Query TIME NULL SHOW processlist @@ -102,7 +102,7 @@ PROCESSLIST CREATE TEMPORARY TABLE `PROCESSLIST` ( `TIME` bigint(7) NOT NULL DEFAULT '0', `STATE` varchar(64) DEFAULT NULL, `INFO` longtext -) ENGINE=MyISAM DEFAULT CHARSET=utf8 +) DEFAULT CHARSET=utf8 SHOW processlist; Id User Host db Command Time State Info ID ddicttestuser1 localhost information_schema Query TIME NULL SHOW processlist diff --git a/mysql-test/suite/funcs_1/r/processlist_val_no_prot.result b/mysql-test/suite/funcs_1/r/processlist_val_no_prot.result index 467015012f9..344fc55dfd4 100644 --- a/mysql-test/suite/funcs_1/r/processlist_val_no_prot.result +++ b/mysql-test/suite/funcs_1/r/processlist_val_no_prot.result @@ -17,7 +17,7 @@ PROCESSLIST CREATE TEMPORARY TABLE `PROCESSLIST` ( `TIME` bigint(7) NOT NULL DEFAULT '0', `STATE` varchar(64) DEFAULT NULL, `INFO` longtext -) ENGINE=MyISAM DEFAULT CHARSET=utf8 +) DEFAULT CHARSET=utf8 SELECT COUNT(*) FROM INFORMATION_SCHEMA.PROCESSLIST; COUNT(*) 1 diff --git a/mysql-test/suite/funcs_1/r/processlist_val_ps.result b/mysql-test/suite/funcs_1/r/processlist_val_ps.result index 8d7cfdd5203..ce29e927b1b 100644 --- a/mysql-test/suite/funcs_1/r/processlist_val_ps.result +++ b/mysql-test/suite/funcs_1/r/processlist_val_ps.result @@ -17,7 +17,7 @@ PROCESSLIST CREATE TEMPORARY TABLE `PROCESSLIST` ( `TIME` bigint(7) NOT NULL DEFAULT '0', `STATE` varchar(64) DEFAULT NULL, `INFO` longtext -) ENGINE=MyISAM DEFAULT CHARSET=utf8 +) DEFAULT CHARSET=utf8 SELECT COUNT(*) FROM INFORMATION_SCHEMA.PROCESSLIST; COUNT(*) 1 diff --git a/mysql-test/suite/funcs_1/t/is_collation_character_set_applicability.test b/mysql-test/suite/funcs_1/t/is_collation_charset_applic.test similarity index 100% rename from mysql-test/suite/funcs_1/t/is_collation_character_set_applicability.test rename to mysql-test/suite/funcs_1/t/is_collation_charset_applic.test diff --git a/mysql-test/suite/funcs_1/t/is_columns.test b/mysql-test/suite/funcs_1/t/is_columns.test index 385de733ac3..990d2416b3d 100644 --- a/mysql-test/suite/funcs_1/t/is_columns.test +++ b/mysql-test/suite/funcs_1/t/is_columns.test @@ -76,6 +76,7 @@ eval SHOW TABLES FROM information_schema LIKE '$is_table'; --source suite/funcs_1/datadict/datadict_bug_12777.inc eval DESCRIBE information_schema.$is_table; --source suite/funcs_1/datadict/datadict_bug_12777.inc +--replace_result ENGINE=MyISAM "" ENGINE=MARIA "" " PAGE_CHECKSUM=1" "" " PAGE_CHECKSUM=0" "" eval SHOW CREATE TABLE information_schema.$is_table; --source suite/funcs_1/datadict/datadict_bug_12777.inc eval SHOW COLUMNS FROM information_schema.$is_table; diff --git a/mysql-test/suite/funcs_1/t/is_events.test b/mysql-test/suite/funcs_1/t/is_events.test index 0136b86118a..338b8ff6490 100644 --- a/mysql-test/suite/funcs_1/t/is_events.test +++ b/mysql-test/suite/funcs_1/t/is_events.test @@ -86,6 +86,7 @@ eval SHOW TABLES FROM information_schema LIKE '$is_table'; # is associated. # eval DESCRIBE information_schema.$is_table; +--replace_result ENGINE=MyISAM "" ENGINE=MARIA "" " PAGE_CHECKSUM=1" "" " PAGE_CHECKSUM=0" "" eval SHOW CREATE TABLE information_schema.$is_table; eval SHOW COLUMNS FROM information_schema.$is_table; diff --git a/mysql-test/suite/funcs_1/t/is_routines.test b/mysql-test/suite/funcs_1/t/is_routines.test index fc23bf1da2c..3d500064e1e 100644 --- a/mysql-test/suite/funcs_1/t/is_routines.test +++ b/mysql-test/suite/funcs_1/t/is_routines.test @@ -74,6 +74,7 @@ eval SHOW TABLES FROM information_schema LIKE '$is_table'; --source suite/funcs_1/datadict/datadict_bug_12777.inc eval DESCRIBE information_schema.$is_table; --source suite/funcs_1/datadict/datadict_bug_12777.inc +--replace_result ENGINE=MyISAM "" ENGINE=MARIA "" " PAGE_CHECKSUM=1" "" " PAGE_CHECKSUM=0" "" eval SHOW CREATE TABLE information_schema.$is_table; --source suite/funcs_1/datadict/datadict_bug_12777.inc eval SHOW COLUMNS FROM information_schema.$is_table; diff --git a/mysql-test/suite/funcs_1/t/is_triggers.test b/mysql-test/suite/funcs_1/t/is_triggers.test index 1ec590ed76c..7b96de2df8e 100644 --- a/mysql-test/suite/funcs_1/t/is_triggers.test +++ b/mysql-test/suite/funcs_1/t/is_triggers.test @@ -69,6 +69,7 @@ eval SHOW TABLES FROM information_schema LIKE '$is_table'; --source suite/funcs_1/datadict/datadict_bug_12777.inc eval DESCRIBE information_schema.$is_table; --source suite/funcs_1/datadict/datadict_bug_12777.inc +--replace_result ENGINE=MyISAM "" ENGINE=MARIA "" " PAGE_CHECKSUM=1" "" " PAGE_CHECKSUM=0" "" eval SHOW CREATE TABLE information_schema.$is_table; --source suite/funcs_1/datadict/datadict_bug_12777.inc eval SHOW COLUMNS FROM information_schema.$is_table; diff --git a/mysql-test/suite/funcs_1/t/is_views.test b/mysql-test/suite/funcs_1/t/is_views.test index ba5a50d4afe..02593e6607f 100644 --- a/mysql-test/suite/funcs_1/t/is_views.test +++ b/mysql-test/suite/funcs_1/t/is_views.test @@ -59,6 +59,7 @@ eval SHOW TABLES FROM information_schema LIKE '$is_table'; --source suite/funcs_1/datadict/datadict_bug_12777.inc eval DESCRIBE information_schema.$is_table; --source suite/funcs_1/datadict/datadict_bug_12777.inc +--replace_result ENGINE=MyISAM "" ENGINE=MARIA "" " PAGE_CHECKSUM=1" "" " PAGE_CHECKSUM=0" "" eval SHOW CREATE TABLE information_schema.$is_table; --source suite/funcs_1/datadict/datadict_bug_12777.inc eval SHOW COLUMNS FROM information_schema.$is_table; diff --git a/mysql-test/t/maria-no-logging.test b/mysql-test/t/maria-no-logging.test index 8ed2dbad338..bca99848250 100644 --- a/mysql-test/t/maria-no-logging.test +++ b/mysql-test/t/maria-no-logging.test @@ -1,6 +1,8 @@ # test of cases where we can safely disable logging --source include/have_maria.inc +# can't restart server in embedded +--source include/not_embedded.inc set global maria_log_file_size=4294967295; @@ -9,7 +11,7 @@ drop database if exists mysqltest; --enable_warnings create database mysqltest; -connect (admin, 127.0.0.1, root,,mysqltest,,); +connect (admin, localhost, root,,mysqltest,,); --enable_reconnect connection default; diff --git a/mysql-test/t/maria-purge.test b/mysql-test/t/maria-purge.test index 7ab35aa45e0..1e588807895 100644 --- a/mysql-test/t/maria-purge.test +++ b/mysql-test/t/maria-purge.test @@ -1,8 +1,9 @@ -- source include/have_maria.inc -- source include/big_test.inc +-- source include/not_embedded.inc # pre-requisites for maria_empty_logs -connect (admin, 127.0.0.1, root,,test,,); +connect (admin, localhost, root,,test,,); # --enable_reconnect connection default; diff --git a/mysql-test/t/maria-recover-master.opt b/mysql-test/t/maria-recover-master.opt index 32af5433e03..0cdefeadf3d 100644 --- a/mysql-test/t/maria-recover-master.opt +++ b/mysql-test/t/maria-recover-master.opt @@ -1 +1 @@ ---maria-recover=backup --maria-log-dir-path=../tmp +--loose-maria-recover=backup --loose-maria-log-dir-path=$MYSQLTEST_VARDIR/tmp diff --git a/mysql-test/t/maria-recover.test b/mysql-test/t/maria-recover.test index 83729c6bd46..63e764a3b0e 100644 --- a/mysql-test/t/maria-recover.test +++ b/mysql-test/t/maria-recover.test @@ -48,7 +48,7 @@ EOF # line below will be removed disable_ps_protocol; -replace_regex /.mysqltest.t_corrupted2/t_corrupted2/ ; +replace_regex /Table.*t_corrupted2/t_corrupted2/ ; select * from t_corrupted2; # should show corruption and repair messages enable_ps_protocol; select * from t_corrupted2; # should show just rows diff --git a/mysql-test/t/maria-recovery-big.test b/mysql-test/t/maria-recovery-big.test index 5511d1a0cfb..9a5eeec56c5 100644 --- a/mysql-test/t/maria-recovery-big.test +++ b/mysql-test/t/maria-recovery-big.test @@ -20,7 +20,7 @@ let $mms_tname=t; # Include scripts can perform SQL. For it to not influence the main test # they use a separate connection. This way if they use a DDL it would # not autocommit in the main test. -connect (admin, 127.0.0.1, root,,mysqltest,,); +connect (admin, localhost, root,,mysqltest,,); --enable_reconnect connection default; diff --git a/mysql-test/t/maria-recovery-bitmap.test b/mysql-test/t/maria-recovery-bitmap.test index a44565c9f95..286d44b4ff8 100644 --- a/mysql-test/t/maria-recovery-bitmap.test +++ b/mysql-test/t/maria-recovery-bitmap.test @@ -16,7 +16,7 @@ let $mms_tname=t; # Include scripts can perform SQL. For it to not influence the main test # they use a separate connection. This way if they use a DDL it would # not autocommit in the main test. -connect (admin, 127.0.0.1, root,,mysqltest,,); +connect (admin, localhost, root,,mysqltest,,); --enable_reconnect connection default; diff --git a/mysql-test/t/maria-recovery-master.opt b/mysql-test/t/maria-recovery-master.opt index 7fece2f8c1b..9023fb74e8b 100644 --- a/mysql-test/t/maria-recovery-master.opt +++ b/mysql-test/t/maria-recovery-master.opt @@ -1 +1 @@ ---skip-stack-trace --skip-core-file --maria-log-dir-path=../tmp +--skip-stack-trace --skip-core-file --loose-maria-log-dir-path=$MYSQLTEST_VARDIR/tmp diff --git a/mysql-test/t/maria-recovery-rtree-ft.test b/mysql-test/t/maria-recovery-rtree-ft.test index b9bc0e718d2..5416c2e4edf 100644 --- a/mysql-test/t/maria-recovery-rtree-ft.test +++ b/mysql-test/t/maria-recovery-rtree-ft.test @@ -19,7 +19,7 @@ let $mms_tname=t; # Include scripts can perform SQL. For it to not influence the main test # they use a separate connection. This way if they use a DDL it would # not autocommit in the main test. -connect (admin, 127.0.0.1, root,,mysqltest,,); +connect (admin, localhost, root,,mysqltest,,); --enable_reconnect connection default; diff --git a/mysql-test/t/maria-recovery.test b/mysql-test/t/maria-recovery.test index acc70302842..c3c9306f4d5 100644 --- a/mysql-test/t/maria-recovery.test +++ b/mysql-test/t/maria-recovery.test @@ -17,7 +17,7 @@ let $mms_tname=t; # Include scripts can perform SQL. For it to not influence the main test # they use a separate connection. This way if they use a DDL it would # not autocommit in the main test. -connect (admin, 127.0.0.1, root,,mysqltest,,); +connect (admin, localhost, root,,mysqltest,,); --enable_reconnect connection default; diff --git a/mysql-test/t/maria.test b/mysql-test/t/maria.test index e176d7010cc..f4d7e3b84f8 100644 --- a/mysql-test/t/maria.test +++ b/mysql-test/t/maria.test @@ -1148,455 +1148,6 @@ create table t1 (a int not null, b int, key (a) key_block_size=1024, key(b) key_ show create table t1; drop table t1; - -# Test limits and errors of key_block_size - -create table t1 (a int not null, key `a` (a) key_block_size=512); -show create table t1; -drop table t1; - -create table t1 (a varchar(2048), key `a` (a) key_block_size=1000000000000000000); -show create table t1; -drop table t1; - -create table t1 (a int not null, key `a` (a) key_block_size=1025); -show create table t1; -drop table t1; - ---error 1064 -create table t1 (a int not null, key key_block_size=1024 (a)); ---error 1064 -create table t1 (a int not null, key `a` key_block_size=1024 (a)); - -# -# Test of changing MI_KEY_BLOCK_LENGTH -# - -CREATE TABLE t1 ( - c1 INT, - c2 VARCHAR(300), - KEY (c1) KEY_BLOCK_SIZE 1024, - KEY (c2) KEY_BLOCK_SIZE 8192 - ); -INSERT INTO t1 VALUES (10, REPEAT('a', CEIL(RAND(10) * 300))), - (11, REPEAT('b', CEIL(RAND() * 300))), - (12, REPEAT('c', CEIL(RAND() * 300))), - (13, REPEAT('d', CEIL(RAND() * 300))), - (14, REPEAT('e', CEIL(RAND() * 300))), - (15, REPEAT('f', CEIL(RAND() * 300))), - (16, REPEAT('g', CEIL(RAND() * 300))), - (17, REPEAT('h', CEIL(RAND() * 300))), - (18, REPEAT('i', CEIL(RAND() * 300))), - (19, REPEAT('j', CEIL(RAND() * 300))), - (20, REPEAT('k', CEIL(RAND() * 300))), - (21, REPEAT('l', CEIL(RAND() * 300))), - (22, REPEAT('m', CEIL(RAND() * 300))), - (23, REPEAT('n', CEIL(RAND() * 300))), - (24, REPEAT('o', CEIL(RAND() * 300))), - (25, REPEAT('p', CEIL(RAND() * 300))), - (26, REPEAT('q', CEIL(RAND() * 300))), - (27, REPEAT('r', CEIL(RAND() * 300))), - (28, REPEAT('s', CEIL(RAND() * 300))), - (29, REPEAT('t', CEIL(RAND() * 300))), - (30, REPEAT('u', CEIL(RAND() * 300))), - (31, REPEAT('v', CEIL(RAND() * 300))), - (32, REPEAT('w', CEIL(RAND() * 300))), - (33, REPEAT('x', CEIL(RAND() * 300))), - (34, REPEAT('y', CEIL(RAND() * 300))), - (35, REPEAT('z', CEIL(RAND() * 300))); -INSERT INTO t1 SELECT * FROM t1; -INSERT INTO t1 SELECT * FROM t1; -CHECK TABLE t1; -REPAIR TABLE t1; -DELETE FROM t1 WHERE c1 >= 10; -CHECK TABLE t1; -DROP TABLE t1; - -# -# Test that TRANSACTIONAL is preserved -# - -create table t1 (a int) transactional=0; -show create table t1; -drop table t1; -create table t1 (a int) row_format=dynamic transactional=0; -show create table t1; -drop table t1; -create table t1 (a int) row_format=dynamic transactional=1; -show create table t1; -alter table t1 row_format=PAGE; -show create table t1; -alter table t1 row_format=DYNAMIC; -show create table t1; -alter table t1 transactional=0; -show create table t1; -alter table t1 row_format=DYNAMIC; -show create table t1; -drop table t1; -create table t1 (a int) row_format=PAGE; -show create table t1; -drop table t1; -create table t1 (a int) row_format=PAGE TRANSACTIONAL=DEFAULT; -show create table t1; -alter table t1 row_format=DYNAMIC; -show create table t1; -drop table t1; - -# CHECK TABLE was reporting -# "Size of datafile is: 0 Should be: 16384" -# - -create table `t1` ( - t1_name varchar(255) default null, - t1_id int(10) unsigned not null auto_increment, - key (t1_name), - primary key (t1_id) -) engine=maria auto_increment = 1000 default charset=latin1; -lock tables t1 write; -INSERT INTO `t1` VALUES ('bla',1000),('bla',1001),('bla',1002); -check table t1; -unlock tables; - -# -# Check that an empty table uses fast recreate of index when we fill it -# with insert ... select. - -create table t2 like t1; -insert into t2 select * from t1; - -# This should say that the table is already up to date -analyze table t2; -delete from t2; -insert into t2 select * from t1; -analyze table t2; - -drop table t1,t2; - -# -# Test when expanding a row so that it doesn't fit into the same page -# - -create table t1 (a bigint auto_increment, primary key(a), b char(255), c varchar(20000)); - -let $1=1000; ---disable_query_log ---disable_warnings -while ($1) -{ - insert into t1 () values(); - dec $1; -} ---enable_query_log -update t1 set b=repeat('a',100) where a between 1 and 100; -check table t1; -update t1 set c=repeat('a',8192*2) where a between 200 and 202; -check table t1; -drop table t1; - -# -# Test where we shrink varchar -# - -CREATE TABLE t1 (a int, b int, v varchar(60000)) checksum=1 engine=maria; -insert into t1 values (1,1,"aaa"),(1,2,null); -checksum table t1; -lock table t1 write; -insert into t1 values (1,3,repeat('c',30000)),(4,4,repeat('a',30000)); -update t1 set v="row5" where b=4; -delete from t1 where b=3; -select a, b, length(v) from t1; -drop table t1; - -# -# Test tail pages for blobs -# - -CREATE TABLE t1 ( - auto int(5) unsigned NOT NULL auto_increment, - string char(10) default "hello", - tiny tinyint(4) DEFAULT '0' NOT NULL , - short smallint(6) DEFAULT '1' NOT NULL , - medium mediumint(8) DEFAULT '0' NOT NULL, - long_int int(11) DEFAULT '0' NOT NULL, - longlong bigint(13) DEFAULT '0' NOT NULL, - real_float float(13,1) DEFAULT 0.0 NOT NULL, - real_double double(16,4), - utiny tinyint(3) unsigned DEFAULT '0' NOT NULL, - ushort smallint(5) unsigned zerofill DEFAULT '00000' NOT NULL, - umedium mediumint(8) unsigned DEFAULT '0' NOT NULL, - ulong int(11) unsigned DEFAULT '0' NOT NULL, - ulonglong bigint(13) unsigned DEFAULT '0' NOT NULL, - time_stamp timestamp, - date_field date, - time_field time, - date_time datetime, - blob_col blob, - tinyblob_col tinyblob, - mediumblob_col mediumblob not null default '', - longblob_col longblob not null default '', - options enum('one','two','tree') not null , - flags set('one','two','tree') not null default '', - PRIMARY KEY (auto), - KEY (utiny), - KEY (tiny), - KEY (short), - KEY any_name (medium), - KEY (longlong), - KEY (real_float), - KEY (ushort), - KEY (umedium), - KEY (ulong), - KEY (ulonglong,ulong), - KEY (options,flags) -) engine=maria; -insert into t1 values (10,1,1,1,1,1,1,1,1,1,1,1,1,1,NULL,0,0,0,1,1,1,1,'one','one'); -create table t2 (primary key (auto)) engine=maria row_format=page select auto+1 as auto,1 as t1, 'a' as t2, repeat('a',256) as t3, binary repeat('b',256) as t4, repeat('a',4096) as t5, binary repeat('b',4096) as t6, '' as t7, binary '' as t8 from t1; -check table t1,t2; -select t1,t2,length(t3),length(t4),length(t5),length(t6),t7,t8 from t2; -drop table t2; -create table t2 (primary key (auto)) engine=maria row_format=dynamic select auto+1 as auto,1 as t1, 'a' as t2, repeat('a',256) as t3, binary repeat('b',256) as t4, repeat('a',4096) as t5, binary repeat('b',4096) as t6, '' as t7, binary '' as t8 from t1; -check table t2; -drop table t1,t2; - -# Test UPDATE with small BLOB which fits on head page - -CREATE TABLE t1 (seq int, s1 int, s2 blob); -insert into t1 values (1, 1, MD5(1)); -update t1 set s1=2 where seq=1; -check table t1 extended; -drop table t1; - -# Fix if we are using safemalloc ---replace_result 8388572 8388600 -show variables like 'maria%'; ---replace_column 2 # -show status like 'maria%'; - -# -# Test creating table with no field data and index on zero length columns -# - -create table t1 (b char(0)); -insert into t1 values(NULL),(""); -select length(b) from t1; -alter table t1 add column c char(0), add key (c); -insert into t1 values("",""),("",NULL); -select length(b),length(c) from t1; -select length(b),length(c) from t1 where c is null; -select length(b),length(c) from t1 where c is not null; -select length(b),length(c) from t1 order by c; ---error 1167 -alter table t1 add column d char(0) not null, add key (d); -drop table t1; - -CREATE TABLE t1 (a bit(3)); -insert into t1 values (NULL),(0),(1),(2),(3),(4),(5),(6),(7); -select hex(a) from t1; -drop table t1; -create table t1(a bit not null); -insert into t1 values(0),(1); -select a+0 from t1; -drop table t1; - -# -# Test of min_key_length -# - -CREATE TABLE t1 (col1 int, s1 char(16) DEFAULT NULL, s2 char(16) DEFAULT NULL, KEY (s1,s2)); -insert into t1 (col1) values(0); -drop table t1; - -# -# Show that page_checksum is remembered -# -set global maria_page_checksum=1; -create table t1 (a int); -show create table t1; -drop table t1; - -# -# Test warning on log file size truncates -# - ---enable_warnings -set global maria_log_file_size=4294967296; - -# -# Test delete of all rows in autocommit and not autocommit -# - -create table t1 (a int not null); -lock tables t1 write; -insert into t1 values (1),(2); -delete from t1; -unlock tables; -select * from t1; -insert into t1 values (1),(2); -delete from t1; -select * from t1; -drop table t1; - -# Test for bug "ha_enable_transaction(on) not called by CREATE TABLE" -# (originally from type_ranges.test) - -create table t1 (c int); -insert into t1 values(1),(2); -create table t2 select * from t1; ---error 1060 -create table t3 select * from t1, t2; # Should give an error -create table t3 select t1.c AS c1, t2.c AS c2,1 as "const" from t1, t2; -drop table t1, t2, t3; - -# Test for bug "maria_repair() (OPTIMIZE) leaves wrong -# data_file_length" (originally from type_datetime.test) - -create table t1 (t datetime) engine=maria; -insert into t1 values (101),(691231),(700101),(991231),(10000101),(99991231),(101000000),(691231000000),(700101000000),(991231235959),(10000101000000),(99991231235959),(20030100000000),(20030000000000); -select * from t1; -optimize table t1; -check table t1; -delete from t1 where t > 0; -optimize table t1; -check table t1; -drop table t1; - -# -# Test auto-increment -# - -SET SQL_MODE='NO_AUTO_VALUE_ON_ZERO'; -CREATE TABLE t1 (id int(11) PRIMARY KEY auto_increment,f1 varchar(10) NOT NULL UNIQUE); -INSERT IGNORE INTO t1 (f1) VALUES ("test1"); -INSERT IGNORE INTO t1 (f1) VALUES ("test1"); -INSERT IGNORE INTO t1 (f1) VALUES ("test2"); -SELECT * FROM t1; -drop table t1; -SET SQL_MODE = 'TRADITIONAL'; - -create table t1 (n int not null primary key auto_increment, c char(1), unique(c)); -insert into t1 values(100, "a"); -insert into t1 values(300, "b"); ---error 1062 -insert into t1 values(50, "a"); -insert into t1 values(null, "c"); -select * from t1; ---error 1062 -update t1 set n=400,c='a' where n=301; -insert into t1 values(null, "d"); -select * from t1; -drop table t1; - -create table t1 (n int not null primary key auto_increment, c char(1), unique(c)) transactional=0 row_format=dynamic; -insert into t1 values(100, "a"); -insert into t1 values(300, "b"); ---error 1062 -insert into t1 values(50, "a"); -insert into t1 values(null, "c"); -select * from t1; ---error 1062 -update t1 set n=400,c='a' where n=301; -insert into t1 values(null, "d"); -select * from t1; -drop table t1; - -# -# Test warnings with transactional=1 with MyISAM -# - -create table t1 (n int not null, c char(1)) engine=maria; -alter table t1 engine=myisam; -alter table t1 engine=maria; -show create table t1; -drop table t1; -create table t1 (n int not null, c char(1)) engine=maria transactional=1; -alter table t1 engine=myisam; -alter table t1 engine=maria; -show create table t1; -drop table t1; -create table t1 (n int not null, c char(1)) engine=myisam transactional=1; -alter table t1 engine=maria; -show create table t1; -drop table t1; - -# -# Some tests that have failed with transactional=0 -# - -# Testing buik insert -create table t1 (a int, key(a)) transactional=0; -insert into t1 values (0),(1),(2),(3),(4); -insert into t1 select NULL from t1; -check table t1; -drop table t1; - -# -# Some tests with temporary tables -# - -create temporary table t1 (a int, key(a)) transactional=1; -create temporary table t2 (a int, key(a)) transactional=1; -insert into t1 values (0),(1),(2),(3),(4); -insert into t2 select * from t1; -insert into t1 select NULL from t2; -select count(*) from t1; -select count(*) from t1 where a >= 4; -drop table t1; - -# -# Test problems with small rows and row_type=page -# Bug 35048 "maria table corruption reported when transactional=0" -# - -create table t1 (i int auto_increment not null primary key) transactional=0; - -let $i=510; ---disable_query_log -while ($i) -{ - dec $i; - insert into t1 values (null); -} ---enable_query_log -check table t1 extended; -delete from t1 where i = 10; -check table t1 extended; -drop table t1; - -create table t1 (i int auto_increment not null primary key); - -let $i=510; ---disable_query_log -while ($i) -{ - dec $i; - insert into t1 values (null); -} ---enable_query_log -check table t1 extended; -delete from t1 where i = 10; -check table t1 extended; -drop table t1; - -# -# BUG#29445 - match ... against () never returns -# -CREATE TABLE t1(a VARCHAR(20), FULLTEXT(a)) transactional=0; -INSERT INTO t1 VALUES('Offside'),('City Of God'); -SELECT a FROM t1 WHERE MATCH a AGAINST ('+city of*' IN BOOLEAN MODE); -SELECT a FROM t1 WHERE MATCH a AGAINST ('+city (of)*' IN BOOLEAN MODE); -DROP TABLE t1; - -# -# BUG#36104 - INFORMATION_SCHEMA.TABLES shows TRANSACTIONAL=1 twice in -# CREATE_OPTIONS -# -create table t1(a int) engine=maria transactional=1; -select CREATE_OPTIONS from information_schema.TABLES where -TABLE_SCHEMA='test' and TABLE_NAME='t1'; -drop table t1; - -# End of 5.1 tests - --disable_result_log --disable_query_log eval set global storage_engine=$default_engine, maria_page_checksum=$default_checksum; diff --git a/mysql-test/t/maria3.test b/mysql-test/t/maria3.test new file mode 100644 index 00000000000..25b22ca5424 --- /dev/null +++ b/mysql-test/t/maria3.test @@ -0,0 +1,470 @@ +-- source include/have_maria.inc + +select * from INFORMATION_SCHEMA.ENGINES where ENGINE="MARIA"; + +let $default_engine=`select @@global.storage_engine`; +let $default_checksum=`select @@global.maria_page_checksum`; +set global storage_engine=maria; +set session storage_engine=maria; +set global maria_page_checksum=0; +set global maria_log_file_size=4294967295; + +# Initialise +--disable_warnings +drop table if exists t1,t2; +--enable_warnings +SET SQL_WARNINGS=1; + +# Test limits and errors of key_block_size + +create table t1 (a int not null, key `a` (a) key_block_size=512); +show create table t1; +drop table t1; + +create table t1 (a varchar(2048), key `a` (a) key_block_size=1000000000000000000); +show create table t1; +drop table t1; + +create table t1 (a int not null, key `a` (a) key_block_size=1025); +show create table t1; +drop table t1; + +--error 1064 +create table t1 (a int not null, key key_block_size=1024 (a)); +--error 1064 +create table t1 (a int not null, key `a` key_block_size=1024 (a)); + +# +# Test of changing MI_KEY_BLOCK_LENGTH +# + +CREATE TABLE t1 ( + c1 INT, + c2 VARCHAR(300), + KEY (c1) KEY_BLOCK_SIZE 1024, + KEY (c2) KEY_BLOCK_SIZE 8192 + ); +INSERT INTO t1 VALUES (10, REPEAT('a', CEIL(RAND(10) * 300))), + (11, REPEAT('b', CEIL(RAND() * 300))), + (12, REPEAT('c', CEIL(RAND() * 300))), + (13, REPEAT('d', CEIL(RAND() * 300))), + (14, REPEAT('e', CEIL(RAND() * 300))), + (15, REPEAT('f', CEIL(RAND() * 300))), + (16, REPEAT('g', CEIL(RAND() * 300))), + (17, REPEAT('h', CEIL(RAND() * 300))), + (18, REPEAT('i', CEIL(RAND() * 300))), + (19, REPEAT('j', CEIL(RAND() * 300))), + (20, REPEAT('k', CEIL(RAND() * 300))), + (21, REPEAT('l', CEIL(RAND() * 300))), + (22, REPEAT('m', CEIL(RAND() * 300))), + (23, REPEAT('n', CEIL(RAND() * 300))), + (24, REPEAT('o', CEIL(RAND() * 300))), + (25, REPEAT('p', CEIL(RAND() * 300))), + (26, REPEAT('q', CEIL(RAND() * 300))), + (27, REPEAT('r', CEIL(RAND() * 300))), + (28, REPEAT('s', CEIL(RAND() * 300))), + (29, REPEAT('t', CEIL(RAND() * 300))), + (30, REPEAT('u', CEIL(RAND() * 300))), + (31, REPEAT('v', CEIL(RAND() * 300))), + (32, REPEAT('w', CEIL(RAND() * 300))), + (33, REPEAT('x', CEIL(RAND() * 300))), + (34, REPEAT('y', CEIL(RAND() * 300))), + (35, REPEAT('z', CEIL(RAND() * 300))); +INSERT INTO t1 SELECT * FROM t1; +INSERT INTO t1 SELECT * FROM t1; +CHECK TABLE t1; +REPAIR TABLE t1; +DELETE FROM t1 WHERE c1 >= 10; +CHECK TABLE t1; +DROP TABLE t1; + +# +# Test that TRANSACTIONAL is preserved +# + +create table t1 (a int) transactional=0; +show create table t1; +drop table t1; +create table t1 (a int) row_format=dynamic transactional=0; +show create table t1; +drop table t1; +create table t1 (a int) row_format=dynamic transactional=1; +show create table t1; +alter table t1 row_format=PAGE; +show create table t1; +alter table t1 row_format=DYNAMIC; +show create table t1; +alter table t1 transactional=0; +show create table t1; +alter table t1 row_format=DYNAMIC; +show create table t1; +drop table t1; +create table t1 (a int) row_format=PAGE; +show create table t1; +drop table t1; +create table t1 (a int) row_format=PAGE TRANSACTIONAL=DEFAULT; +show create table t1; +alter table t1 row_format=DYNAMIC; +show create table t1; +drop table t1; + +# CHECK TABLE was reporting +# "Size of datafile is: 0 Should be: 16384" +# + +create table `t1` ( + t1_name varchar(255) default null, + t1_id int(10) unsigned not null auto_increment, + key (t1_name), + primary key (t1_id) +) engine=maria auto_increment = 1000 default charset=latin1; +lock tables t1 write; +INSERT INTO `t1` VALUES ('bla',1000),('bla',1001),('bla',1002); +check table t1; +unlock tables; + +# +# Check that an empty table uses fast recreate of index when we fill it +# with insert ... select. + +create table t2 like t1; +insert into t2 select * from t1; + +# This should say that the table is already up to date +analyze table t2; +delete from t2; +insert into t2 select * from t1; +analyze table t2; + +drop table t1,t2; + +# +# Test when expanding a row so that it doesn't fit into the same page +# + +create table t1 (a bigint auto_increment, primary key(a), b char(255), c varchar(20000)); + +let $1=1000; +--disable_query_log +--disable_warnings +while ($1) +{ + insert into t1 () values(); + dec $1; +} +--enable_query_log +update t1 set b=repeat('a',100) where a between 1 and 100; +check table t1; +update t1 set c=repeat('a',8192*2) where a between 200 and 202; +check table t1; +drop table t1; + +# +# Test where we shrink varchar +# + +CREATE TABLE t1 (a int, b int, v varchar(60000)) checksum=1 engine=maria; +insert into t1 values (1,1,"aaa"),(1,2,null); +checksum table t1; +lock table t1 write; +insert into t1 values (1,3,repeat('c',30000)),(4,4,repeat('a',30000)); +update t1 set v="row5" where b=4; +delete from t1 where b=3; +select a, b, length(v) from t1; +drop table t1; + +# +# Test tail pages for blobs +# + +CREATE TABLE t1 ( + auto int(5) unsigned NOT NULL auto_increment, + string char(10) default "hello", + tiny tinyint(4) DEFAULT '0' NOT NULL , + short smallint(6) DEFAULT '1' NOT NULL , + medium mediumint(8) DEFAULT '0' NOT NULL, + long_int int(11) DEFAULT '0' NOT NULL, + longlong bigint(13) DEFAULT '0' NOT NULL, + real_float float(13,1) DEFAULT 0.0 NOT NULL, + real_double double(16,4), + utiny tinyint(3) unsigned DEFAULT '0' NOT NULL, + ushort smallint(5) unsigned zerofill DEFAULT '00000' NOT NULL, + umedium mediumint(8) unsigned DEFAULT '0' NOT NULL, + ulong int(11) unsigned DEFAULT '0' NOT NULL, + ulonglong bigint(13) unsigned DEFAULT '0' NOT NULL, + time_stamp timestamp, + date_field date, + time_field time, + date_time datetime, + blob_col blob, + tinyblob_col tinyblob, + mediumblob_col mediumblob not null default '', + longblob_col longblob not null default '', + options enum('one','two','tree') not null , + flags set('one','two','tree') not null default '', + PRIMARY KEY (auto), + KEY (utiny), + KEY (tiny), + KEY (short), + KEY any_name (medium), + KEY (longlong), + KEY (real_float), + KEY (ushort), + KEY (umedium), + KEY (ulong), + KEY (ulonglong,ulong), + KEY (options,flags) +) engine=maria; +insert into t1 values (10,1,1,1,1,1,1,1,1,1,1,1,1,1,NULL,0,0,0,1,1,1,1,'one','one'); +create table t2 (primary key (auto)) engine=maria row_format=page select auto+1 as auto,1 as t1, 'a' as t2, repeat('a',256) as t3, binary repeat('b',256) as t4, repeat('a',4096) as t5, binary repeat('b',4096) as t6, '' as t7, binary '' as t8 from t1; +check table t1,t2; +select t1,t2,length(t3),length(t4),length(t5),length(t6),t7,t8 from t2; +drop table t2; +create table t2 (primary key (auto)) engine=maria row_format=dynamic select auto+1 as auto,1 as t1, 'a' as t2, repeat('a',256) as t3, binary repeat('b',256) as t4, repeat('a',4096) as t5, binary repeat('b',4096) as t6, '' as t7, binary '' as t8 from t1; +check table t2; +drop table t1,t2; + +# Test UPDATE with small BLOB which fits on head page + +CREATE TABLE t1 (seq int, s1 int, s2 blob); +insert into t1 values (1, 1, MD5(1)); +update t1 set s1=2 where seq=1; +check table t1 extended; +drop table t1; + +# Fix if we are using safemalloc +--replace_result 8388572 8388600 +show variables like 'maria%'; +--replace_column 2 # +show status like 'maria%'; + +# +# Test creating table with no field data and index on zero length columns +# + +create table t1 (b char(0)); +insert into t1 values(NULL),(""); +select length(b) from t1; +alter table t1 add column c char(0), add key (c); +insert into t1 values("",""),("",NULL); +select length(b),length(c) from t1; +select length(b),length(c) from t1 where c is null; +select length(b),length(c) from t1 where c is not null; +select length(b),length(c) from t1 order by c; +--error 1167 +alter table t1 add column d char(0) not null, add key (d); +drop table t1; + +CREATE TABLE t1 (a bit(3)); +insert into t1 values (NULL),(0),(1),(2),(3),(4),(5),(6),(7); +select hex(a) from t1; +drop table t1; +create table t1(a bit not null); +insert into t1 values(0),(1); +select a+0 from t1; +drop table t1; + +# +# Test of min_key_length +# + +CREATE TABLE t1 (col1 int, s1 char(16) DEFAULT NULL, s2 char(16) DEFAULT NULL, KEY (s1,s2)); +insert into t1 (col1) values(0); +drop table t1; + +# +# Show that page_checksum is remembered +# +set global maria_page_checksum=1; +create table t1 (a int); +show create table t1; +drop table t1; + +# +# Test warning on log file size truncates +# + +--enable_warnings +set global maria_log_file_size=4294967296; + +# +# Test delete of all rows in autocommit and not autocommit +# + +create table t1 (a int not null); +lock tables t1 write; +insert into t1 values (1),(2); +delete from t1; +unlock tables; +select * from t1; +insert into t1 values (1),(2); +delete from t1; +select * from t1; +drop table t1; + +# Test for bug "ha_enable_transaction(on) not called by CREATE TABLE" +# (originally from type_ranges.test) + +create table t1 (c int); +insert into t1 values(1),(2); +create table t2 select * from t1; +--error 1060 +create table t3 select * from t1, t2; # Should give an error +create table t3 select t1.c AS c1, t2.c AS c2,1 as "const" from t1, t2; +drop table t1, t2, t3; + +# Test for bug "maria_repair() (OPTIMIZE) leaves wrong +# data_file_length" (originally from type_datetime.test) + +create table t1 (t datetime) engine=maria; +insert into t1 values (101),(691231),(700101),(991231),(10000101),(99991231),(101000000),(691231000000),(700101000000),(991231235959),(10000101000000),(99991231235959),(20030100000000),(20030000000000); +select * from t1; +optimize table t1; +check table t1; +delete from t1 where t > 0; +optimize table t1; +check table t1; +drop table t1; + +# +# Test auto-increment +# + +SET SQL_MODE='NO_AUTO_VALUE_ON_ZERO'; +CREATE TABLE t1 (id int(11) PRIMARY KEY auto_increment,f1 varchar(10) NOT NULL UNIQUE); +INSERT IGNORE INTO t1 (f1) VALUES ("test1"); +INSERT IGNORE INTO t1 (f1) VALUES ("test1"); +INSERT IGNORE INTO t1 (f1) VALUES ("test2"); +SELECT * FROM t1; +drop table t1; +SET SQL_MODE = 'TRADITIONAL'; + +create table t1 (n int not null primary key auto_increment, c char(1), unique(c)); +insert into t1 values(100, "a"); +insert into t1 values(300, "b"); +--error 1062 +insert into t1 values(50, "a"); +insert into t1 values(null, "c"); +select * from t1; +--error 1062 +update t1 set n=400,c='a' where n=301; +insert into t1 values(null, "d"); +select * from t1; +drop table t1; + +create table t1 (n int not null primary key auto_increment, c char(1), unique(c)) transactional=0 row_format=dynamic; +insert into t1 values(100, "a"); +insert into t1 values(300, "b"); +--error 1062 +insert into t1 values(50, "a"); +insert into t1 values(null, "c"); +select * from t1; +--error 1062 +update t1 set n=400,c='a' where n=301; +insert into t1 values(null, "d"); +select * from t1; +drop table t1; + +# +# Test warnings with transactional=1 with MyISAM +# + +create table t1 (n int not null, c char(1)) engine=maria; +alter table t1 engine=myisam; +alter table t1 engine=maria; +show create table t1; +drop table t1; +create table t1 (n int not null, c char(1)) engine=maria transactional=1; +alter table t1 engine=myisam; +alter table t1 engine=maria; +show create table t1; +drop table t1; +create table t1 (n int not null, c char(1)) engine=myisam transactional=1; +alter table t1 engine=maria; +show create table t1; +drop table t1; + +# +# Some tests that have failed with transactional=0 +# + +# Testing buik insert +create table t1 (a int, key(a)) transactional=0; +insert into t1 values (0),(1),(2),(3),(4); +insert into t1 select NULL from t1; +check table t1; +drop table t1; + +# +# Some tests with temporary tables +# + +create temporary table t1 (a int, key(a)) transactional=1; +create temporary table t2 (a int, key(a)) transactional=1; +insert into t1 values (0),(1),(2),(3),(4); +insert into t2 select * from t1; +insert into t1 select NULL from t2; +select count(*) from t1; +select count(*) from t1 where a >= 4; +drop table t1; + +# +# Test problems with small rows and row_type=page +# Bug 35048 "maria table corruption reported when transactional=0" +# + +create table t1 (i int auto_increment not null primary key) transactional=0; + +let $i=510; +--disable_query_log +while ($i) +{ + dec $i; + insert into t1 values (null); +} +--enable_query_log +check table t1 extended; +delete from t1 where i = 10; +check table t1 extended; +drop table t1; + +create table t1 (i int auto_increment not null primary key); + +let $i=510; +--disable_query_log +while ($i) +{ + dec $i; + insert into t1 values (null); +} +--enable_query_log +check table t1 extended; +delete from t1 where i = 10; +check table t1 extended; +drop table t1; + +# +# BUG#29445 - match ... against () never returns +# +CREATE TABLE t1(a VARCHAR(20), FULLTEXT(a)) transactional=0; +INSERT INTO t1 VALUES('Offside'),('City Of God'); +SELECT a FROM t1 WHERE MATCH a AGAINST ('+city of*' IN BOOLEAN MODE); +SELECT a FROM t1 WHERE MATCH a AGAINST ('+city (of)*' IN BOOLEAN MODE); +DROP TABLE t1; + +# +# BUG#36104 - INFORMATION_SCHEMA.TABLES shows TRANSACTIONAL=1 twice in +# CREATE_OPTIONS +# +create table t1(a int) engine=maria transactional=1; +select CREATE_OPTIONS from information_schema.TABLES where +TABLE_SCHEMA='test' and TABLE_NAME='t1'; +drop table t1; + +# End of 5.1 tests + +--disable_result_log +--disable_query_log +eval set global storage_engine=$default_engine, maria_page_checksum=$default_checksum; +--enable_result_log +--enable_query_log diff --git a/storage/maria/ma_delete.c b/storage/maria/ma_delete.c index c68a80a1fc9..a703823e0da 100644 --- a/storage/maria/ma_delete.c +++ b/storage/maria/ma_delete.c @@ -1523,8 +1523,8 @@ int _ma_write_undo_key_delete(MARIA_HA *info, const MARIA_KEY *key, return translog_write_record(res_lsn, log_type, info->trn, info, (translog_size_t) - log_array[TRANSLOG_INTERNAL_PARTS + 0].length + - log_array[TRANSLOG_INTERNAL_PARTS + 1].length, + (log_array[TRANSLOG_INTERNAL_PARTS + 0].length + + log_array[TRANSLOG_INTERNAL_PARTS + 1].length), TRANSLOG_INTERNAL_PARTS + 2, log_array, log_data + LSN_STORE_SIZE, &msg) ? -1 : 0; }