mirror of
				https://github.com/MariaDB/server.git
				synced 2025-10-31 19:06:14 +01:00 
			
		
		
		
	 9608773f75
			
		
	
	
	9608773f75
	
	
	
		
			
			This essentially reverts commit 4e89ec6692
and only disables InnoDB persistent statistics for tests where it is
desirable. By design, InnoDB persistent statistics will not be updated
except by ANALYZE TABLE or by STATS_AUTO_RECALC.
The internal transactions that update persistent InnoDB statistics
in background tasks (with innodb_stats_auto_recalc=ON) may cause
nondeterministic query plans or interfere with some tests that deal
with other InnoDB internals, such as the purge of transaction history.
		
	
			
		
			
				
	
	
		
			221 lines
		
	
	
	
		
			6.6 KiB
		
	
	
	
		
			Text
		
	
	
	
	
	
			
		
		
	
	
			221 lines
		
	
	
	
		
			6.6 KiB
		
	
	
	
		
			Text
		
	
	
	
	
	
| drop table if exists t1;
 | |
| select 'a' = 'a', 'a' = 'a ', 'a ' = 'a';
 | |
| 'a' = 'a'	'a' = 'a '	'a ' = 'a'
 | |
| 1	1	1
 | |
| select 'a\0' = 'a', 'a\0' < 'a', 'a\0' > 'a';
 | |
| 'a\0' = 'a'	'a\0' < 'a'	'a\0' > 'a'
 | |
| 0	1	0
 | |
| select 'a' = 'a\0', 'a' < 'a\0', 'a' > 'a\0';
 | |
| 'a' = 'a\0'	'a' < 'a\0'	'a' > 'a\0'
 | |
| 0	0	1
 | |
| select 'a\0' = 'a ', 'a\0' < 'a ', 'a\0' > 'a ';
 | |
| 'a\0' = 'a '	'a\0' < 'a '	'a\0' > 'a '
 | |
| 0	1	0
 | |
| select 'a ' = 'a\0', 'a ' < 'a\0', 'a ' > 'a\0';
 | |
| 'a ' = 'a\0'	'a ' < 'a\0'	'a ' > 'a\0'
 | |
| 0	0	1
 | |
| select 'a  a' > 'a', 'a  \0' < 'a';
 | |
| 'a  a' > 'a'	'a  \0' < 'a'
 | |
| 1	1
 | |
| select binary 'a  a' > 'a', binary 'a  \0' > 'a', binary 'a\0' > 'a';
 | |
| binary 'a  a' > 'a'	binary 'a  \0' > 'a'	binary 'a\0' > 'a'
 | |
| 1	1	1
 | |
| create table t1 (text1 varchar(32) not NULL, KEY key1 (text1));
 | |
| insert into t1 values ('teststring'), ('nothing'), ('teststring\t');
 | |
| check table t1;
 | |
| Table	Op	Msg_type	Msg_text
 | |
| test.t1	check	status	OK
 | |
| select * from t1 ignore key (key1) where text1='teststring' or 
 | |
| text1 like 'teststring_%' ORDER BY text1;
 | |
| text1
 | |
| teststring	
 | |
| teststring
 | |
| select * from t1 where text1='teststring' or text1 like 'teststring_%';
 | |
| text1
 | |
| teststring	
 | |
| teststring
 | |
| select * from t1 where text1='teststring' or text1 > 'teststring\t';
 | |
| text1
 | |
| teststring
 | |
| select * from t1 order by text1;
 | |
| text1
 | |
| nothing
 | |
| teststring	
 | |
| teststring
 | |
| explain select * from t1 order by text1;
 | |
| id	select_type	table	type	possible_keys	key	key_len	ref	rows	Extra
 | |
| 1	SIMPLE	t1	index	NULL	key1	34	NULL	3	Using index
 | |
| alter table t1 modify text1 char(32) binary not null;
 | |
| check table t1;
 | |
| Table	Op	Msg_type	Msg_text
 | |
| test.t1	check	status	OK
 | |
| select * from t1 ignore key (key1) where text1='teststring' or 
 | |
| text1 like 'teststring_%' ORDER BY text1;
 | |
| text1
 | |
| teststring	
 | |
| teststring
 | |
| select concat('|', text1, '|') as c from t1 where text1='teststring' or text1 like 'teststring_%' order by c;
 | |
| c
 | |
| |teststring	|
 | |
| |teststring|
 | |
| select concat('|', text1, '|') from t1 where text1='teststring' or text1 > 'teststring\t';
 | |
| concat('|', text1, '|')
 | |
| |teststring|
 | |
| select text1, length(text1) from t1 order by text1;
 | |
| text1	length(text1)
 | |
| nothing	7
 | |
| teststring		11
 | |
| teststring	10
 | |
| select text1, length(text1) from t1 order by binary text1;
 | |
| text1	length(text1)
 | |
| nothing	7
 | |
| teststring	10
 | |
| teststring		11
 | |
| alter table t1 modify text1 blob not null, drop key key1, add key key1 (text1(20));
 | |
| insert into t1 values ('teststring ');
 | |
| select concat('|', text1, '|') from t1 order by text1;
 | |
| concat('|', text1, '|')
 | |
| |nothing|
 | |
| |teststring|
 | |
| |teststring	|
 | |
| |teststring |
 | |
| select concat('|', text1, '|') from t1 where text1='teststring' or text1 > 'teststring\t';
 | |
| concat('|', text1, '|')
 | |
| |teststring|
 | |
| |teststring |
 | |
| select concat('|', text1, '|') from t1 where text1='teststring';
 | |
| concat('|', text1, '|')
 | |
| |teststring|
 | |
| select concat('|', text1, '|') from t1 where text1='teststring ';
 | |
| concat('|', text1, '|')
 | |
| |teststring |
 | |
| alter table t1 modify text1 text not null, pack_keys=1;
 | |
| select concat('|', text1, '|') from t1 where text1='teststring';
 | |
| concat('|', text1, '|')
 | |
| |teststring|
 | |
| |teststring |
 | |
| select concat('|', text1, '|') from t1 where text1='teststring ';
 | |
| concat('|', text1, '|')
 | |
| |teststring|
 | |
| |teststring |
 | |
| explain select concat('|', text1, '|') from t1 where text1='teststring ';
 | |
| id	select_type	table	type	possible_keys	key	key_len	ref	rows	Extra
 | |
| 1	SIMPLE	t1	ref	key1	key1	22	const	2	Using where
 | |
| select concat('|', text1, '|') from t1 where text1 like 'teststring_%';
 | |
| concat('|', text1, '|')
 | |
| |teststring	|
 | |
| |teststring |
 | |
| select concat('|', text1, '|') as c from t1 where text1='teststring' or text1 like 'teststring_%' order by c;
 | |
| c
 | |
| |teststring	|
 | |
| |teststring |
 | |
| |teststring|
 | |
| select concat('|', text1, '|') from t1 where text1='teststring' or text1 > 'teststring\t';
 | |
| concat('|', text1, '|')
 | |
| |teststring|
 | |
| |teststring |
 | |
| select concat('|', text1, '|') from t1 order by text1;
 | |
| concat('|', text1, '|')
 | |
| |nothing|
 | |
| |teststring	|
 | |
| |teststring|
 | |
| |teststring |
 | |
| drop table t1;
 | |
| create table t1 (text1 varchar(32) not NULL, KEY key1 (text1)) pack_keys=0;
 | |
| insert into t1 values ('teststring'), ('nothing'), ('teststring\t');
 | |
| select concat('|', text1, '|') as c from t1 where text1='teststring' or text1 like 'teststring_%' order by c;
 | |
| c
 | |
| |teststring	|
 | |
| |teststring|
 | |
| select concat('|', text1, '|') from t1 where text1='teststring' or text1 >= 'teststring\t';
 | |
| concat('|', text1, '|')
 | |
| |teststring	|
 | |
| |teststring|
 | |
| drop table t1;
 | |
| create table t1 (text1 varchar(32) not NULL, KEY key1 using BTREE (text1)) engine=heap;
 | |
| insert into t1 values ('teststring'), ('nothing'), ('teststring\t');
 | |
| select * from t1 ignore key (key1) where text1='teststring' or 
 | |
| text1 like 'teststring_%' ORDER BY text1;
 | |
| text1
 | |
| teststring	
 | |
| teststring
 | |
| select * from t1 where text1='teststring' or text1 like 'teststring_%';
 | |
| text1
 | |
| teststring	
 | |
| teststring
 | |
| select * from t1 where text1='teststring' or text1 >= 'teststring\t';
 | |
| text1
 | |
| teststring	
 | |
| teststring
 | |
| select * from t1 order by text1;
 | |
| text1
 | |
| nothing
 | |
| teststring	
 | |
| teststring
 | |
| explain select * from t1 order by text1;
 | |
| id	select_type	table	type	possible_keys	key	key_len	ref	rows	Extra
 | |
| 1	SIMPLE	t1	ALL	NULL	NULL	NULL	NULL	3	Using filesort
 | |
| alter table t1 modify text1 char(32) binary not null;
 | |
| select * from t1 order by text1;
 | |
| text1
 | |
| nothing
 | |
| teststring	
 | |
| teststring
 | |
| drop table t1;
 | |
| create table t1 (text1 varchar(32) not NULL, KEY key1 (text1)) engine=innodb
 | |
| stats_persistent=0;
 | |
| insert into t1 values ('teststring'), ('nothing'), ('teststring\t');
 | |
| check table t1;
 | |
| Table	Op	Msg_type	Msg_text
 | |
| test.t1	check	status	OK
 | |
| select * from t1 where text1='teststring' or text1 like 'teststring_%';
 | |
| text1
 | |
| teststring	
 | |
| teststring
 | |
| select * from t1 where text1='teststring' or text1 > 'teststring\t';
 | |
| text1
 | |
| teststring
 | |
| select * from t1 order by text1;
 | |
| text1
 | |
| nothing
 | |
| teststring	
 | |
| teststring
 | |
| explain select * from t1 order by text1;
 | |
| id	select_type	table	type	possible_keys	key	key_len	ref	rows	Extra
 | |
| 1	SIMPLE	t1	index	NULL	key1	34	NULL	3	Using index
 | |
| alter table t1 modify text1 char(32) binary not null;
 | |
| select * from t1 order by text1;
 | |
| text1
 | |
| nothing
 | |
| teststring	
 | |
| teststring
 | |
| alter table t1 modify text1 blob not null, drop key key1, add key key1 (text1(20));
 | |
| insert into t1 values ('teststring ');
 | |
| select concat('|', text1, '|') from t1 order by text1;
 | |
| concat('|', text1, '|')
 | |
| |nothing|
 | |
| |teststring|
 | |
| |teststring	|
 | |
| |teststring |
 | |
| alter table t1 modify text1 text not null, pack_keys=1;
 | |
| select * from t1 where text1 like 'teststring_%';
 | |
| text1
 | |
| teststring	
 | |
| teststring 
 | |
| select text1, length(text1) from t1 where text1='teststring' or text1 like 'teststring_%';
 | |
| text1	length(text1)
 | |
| teststring		11
 | |
| teststring	10
 | |
| teststring 	11
 | |
| select text1, length(text1) from t1 where text1='teststring' or text1 >= 'teststring\t';
 | |
| text1	length(text1)
 | |
| teststring		11
 | |
| teststring	10
 | |
| teststring 	11
 | |
| select concat('|', text1, '|') from t1 order by text1;
 | |
| concat('|', text1, '|')
 | |
| |nothing|
 | |
| |teststring	|
 | |
| |teststring|
 | |
| |teststring |
 | |
| drop table t1;
 |