mirror of
				https://github.com/MariaDB/server.git
				synced 2025-10-27 05:56:07 +03:00 
			
		
		
		
	but not collation. The problem here was that text literals in a view were always dumped with character set introducer. That lead to loosing collation information. The fix is to dump character set introducer only if it was in the original query. That is now possible because there is no problem any more of loss of character set of string literals in views -- after WL#4052 the view is dumped in the original character set. mysql-test/r/case.result: Update result file. mysql-test/r/compress.result: Update result file. mysql-test/r/ctype_collate.result: Update result file. mysql-test/r/date_formats.result: Update result file. mysql-test/r/ddl_i18n_koi8r.result: Update result file. mysql-test/r/ddl_i18n_utf8.result: Update result file. mysql-test/r/fulltext.result: Update result file. mysql-test/r/func_crypt.result: Update result file. mysql-test/r/func_encrypt.result: Update result file. mysql-test/r/func_if.result: Update result file. mysql-test/r/func_in.result: Update result file. mysql-test/r/func_like.result: Update result file. mysql-test/r/func_regexp.result: Update result file. mysql-test/r/func_set.result: Update result file. mysql-test/r/func_str.result: Update result file. mysql-test/r/func_time.result: Update result file. mysql-test/r/gis.result: Update result file. mysql-test/r/group_min_max.result: Update result file. mysql-test/r/mysqldump.result: Update result file. mysql-test/r/negation_elimination.result: Update result file. mysql-test/r/null.result: Update result file. mysql-test/r/select.result: Update result file. mysql-test/r/show_check.result: Update result file. mysql-test/r/sp-code.result: Update result file. mysql-test/r/ssl.result: Update result file. mysql-test/r/ssl_compress.result: Update result file. mysql-test/r/subselect.result: Update result file. mysql-test/r/temp_table.result: Update result file. mysql-test/r/type_blob.result: Update result file. mysql-test/r/view.result: Update result file. mysql-test/suite/binlog/r/binlog_stm_blackhole.result: Update result file. mysql-test/suite/rpl/r/rpl_get_lock.result: Update result file. mysql-test/suite/rpl/r/rpl_master_pos_wait.result: Update result file. mysql-test/t/view.test: Add a test case for Bug#32538. sql/item.cc: Do not dump character set introducer if it was not specified explicitly in the original query. sql/item.h: Add 'cs_specified' property to Item_string. sql/sql_yacc.yy: Set Item_string::cs_specified property to TRUE when character set introducer is explicitly specified.
		
			
				
	
	
		
			172 lines
		
	
	
		
			3.9 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
			
		
		
	
	
			172 lines
		
	
	
		
			3.9 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
| drop table if exists t1;
 | |
| create table t1 (a varchar(10), key(a));
 | |
| insert into t1 values ("a"),("abc"),("abcd"),("hello"),("test");
 | |
| explain extended select * from t1 where a like 'abc%';
 | |
| id	select_type	table	type	possible_keys	key	key_len	ref	rows	filtered	Extra
 | |
| 1	SIMPLE	t1	index	a	a	13	NULL	5	20.00	Using where; Using index
 | |
| Warnings:
 | |
| Note	1003	select `test`.`t1`.`a` AS `a` from `test`.`t1` where (`test`.`t1`.`a` like 'abc%')
 | |
| explain extended select * from t1 where a like concat('abc','%');
 | |
| id	select_type	table	type	possible_keys	key	key_len	ref	rows	filtered	Extra
 | |
| 1	SIMPLE	t1	index	a	a	13	NULL	5	20.00	Using where; Using index
 | |
| Warnings:
 | |
| Note	1003	select `test`.`t1`.`a` AS `a` from `test`.`t1` where (`test`.`t1`.`a` like concat('abc','%'))
 | |
| select * from t1 where a like "abc%";
 | |
| a
 | |
| abc
 | |
| abcd
 | |
| select * from t1 where a like concat("abc","%");
 | |
| a
 | |
| abc
 | |
| abcd
 | |
| select * from t1 where a like "ABC%";
 | |
| a
 | |
| abc
 | |
| abcd
 | |
| select * from t1 where a like "test%";
 | |
| a
 | |
| test
 | |
| select * from t1 where a like "te_t";
 | |
| a
 | |
| test
 | |
| select * from t1 where a like "%a%";
 | |
| a
 | |
| a
 | |
| abc
 | |
| abcd
 | |
| select * from t1 where a like "%abcd%";
 | |
| a
 | |
| abcd
 | |
| select * from t1 where a like "%abc\d%";
 | |
| a
 | |
| abcd
 | |
| drop table t1;
 | |
| create table t1 (a varchar(10), key(a));
 | |
| insert into t1 values ('a'), ('a\\b');
 | |
| select * from t1 where a like 'a\\%' escape '#';
 | |
| a
 | |
| a\b
 | |
| select * from t1 where a like 'a\\%' escape '#' and a like 'a\\\\b';
 | |
| a
 | |
| a\b
 | |
| prepare stmt1 from 'select * from t1 where a like \'a\\%\' escape ?';
 | |
| set @esc='#';
 | |
| execute stmt1 using @esc;
 | |
| a
 | |
| a\b
 | |
| deallocate prepare stmt1;
 | |
| drop table t1;
 | |
| create table t1 (a datetime);
 | |
| insert into t1 values ('2004-03-11 12:00:21');
 | |
| select * from t1 where a like '2004-03-11 12:00:21';
 | |
| a
 | |
| 2004-03-11 12:00:21
 | |
| drop table t1;
 | |
| SET NAMES koi8r;
 | |
| CREATE TABLE t1 (a VARCHAR(10) CHARACTER SET koi8r);
 | |
| INSERT INTO t1 VALUES ('ÆÙ×Á'),('æÙ×Á'),('Æù×Á'),('ÆÙ÷Á'),('ÆÙ×á'),('æù÷á');
 | |
| INSERT INTO t1 VALUES ('ÆÙ×ÁÐÒÏÌÄÖ'),('æÙ×ÁÐÒÏÌÄÖ'),('Æù×ÁÐÒÏÌÄÖ'),('ÆÙ÷ÁÐÒÏÌÄÖ');
 | |
| INSERT INTO t1 VALUES ('ÆÙ×áÐÒÏÌÄÖ'),('ÆÙ×ÁðÒÏÌÄÖ'),('ÆÙ×ÁÐòÏÌÄÖ'),('ÆÙ×ÁÐÒïÌÄÖ');
 | |
| INSERT INTO t1 VALUES ('ÆÙ×ÁÐÒÏìÄÖ'),('ÆÙ×ÁÐÒÏÌäÖ'),('ÆÙ×ÁÐÒÏÌÄö'),('æù÷áðòïìäö');
 | |
| SELECT * FROM t1 WHERE a LIKE '%Æù×Á%';
 | |
| a
 | |
| ÆÙ×Á
 | |
| æÙ×Á
 | |
| Æù×Á
 | |
| ÆÙ÷Á
 | |
| ÆÙ×á
 | |
| æù÷á
 | |
| ÆÙ×ÁÐÒÏÌÄÖ
 | |
| æÙ×ÁÐÒÏÌÄÖ
 | |
| Æù×ÁÐÒÏÌÄÖ
 | |
| ÆÙ÷ÁÐÒÏÌÄÖ
 | |
| ÆÙ×áÐÒÏÌÄÖ
 | |
| ÆÙ×ÁðÒÏÌÄÖ
 | |
| ÆÙ×ÁÐòÏÌÄÖ
 | |
| ÆÙ×ÁÐÒïÌÄÖ
 | |
| ÆÙ×ÁÐÒÏìÄÖ
 | |
| ÆÙ×ÁÐÒÏÌäÖ
 | |
| ÆÙ×ÁÐÒÏÌÄö
 | |
| æù÷áðòïìäö
 | |
| SELECT * FROM t1 WHERE a LIKE '%Æù×%';
 | |
| a
 | |
| ÆÙ×Á
 | |
| æÙ×Á
 | |
| Æù×Á
 | |
| ÆÙ÷Á
 | |
| ÆÙ×á
 | |
| æù÷á
 | |
| ÆÙ×ÁÐÒÏÌÄÖ
 | |
| æÙ×ÁÐÒÏÌÄÖ
 | |
| Æù×ÁÐÒÏÌÄÖ
 | |
| ÆÙ÷ÁÐÒÏÌÄÖ
 | |
| ÆÙ×áÐÒÏÌÄÖ
 | |
| ÆÙ×ÁðÒÏÌÄÖ
 | |
| ÆÙ×ÁÐòÏÌÄÖ
 | |
| ÆÙ×ÁÐÒïÌÄÖ
 | |
| ÆÙ×ÁÐÒÏìÄÖ
 | |
| ÆÙ×ÁÐÒÏÌäÖ
 | |
| ÆÙ×ÁÐÒÏÌÄö
 | |
| æù÷áðòïìäö
 | |
| SELECT * FROM t1 WHERE a LIKE 'Æù×Á%';
 | |
| a
 | |
| ÆÙ×Á
 | |
| æÙ×Á
 | |
| Æù×Á
 | |
| ÆÙ÷Á
 | |
| ÆÙ×á
 | |
| æù÷á
 | |
| ÆÙ×ÁÐÒÏÌÄÖ
 | |
| æÙ×ÁÐÒÏÌÄÖ
 | |
| Æù×ÁÐÒÏÌÄÖ
 | |
| ÆÙ÷ÁÐÒÏÌÄÖ
 | |
| ÆÙ×áÐÒÏÌÄÖ
 | |
| ÆÙ×ÁðÒÏÌÄÖ
 | |
| ÆÙ×ÁÐòÏÌÄÖ
 | |
| ÆÙ×ÁÐÒïÌÄÖ
 | |
| ÆÙ×ÁÐÒÏìÄÖ
 | |
| ÆÙ×ÁÐÒÏÌäÖ
 | |
| ÆÙ×ÁÐÒÏÌÄö
 | |
| æù÷áðòïìäö
 | |
| DROP TABLE t1;
 | |
| SET NAMES cp1250;
 | |
| CREATE TABLE t1 (a varchar(250) NOT NULL) DEFAULT CHARACTER SET=cp1250;
 | |
| INSERT INTO t1 VALUES
 | |
| ('Techni Tapes Sp. z o.o.'),
 | |
| ('Pojazdy Szynowe PESA Bydgoszcz SA Holding'),
 | |
| ('AKAPESTER 1 P.P.H.U.'),
 | |
| ('Pojazdy Szynowe PESA Bydgoszcz S A Holding'),
 | |
| ('PPUH PESKA-I Maria Struniarska');
 | |
| select * from t1 where a like '%PESA%';
 | |
| a
 | |
| Pojazdy Szynowe PESA Bydgoszcz SA Holding
 | |
| Pojazdy Szynowe PESA Bydgoszcz S A Holding
 | |
| select * from t1 where a like '%PESA %';
 | |
| a
 | |
| Pojazdy Szynowe PESA Bydgoszcz SA Holding
 | |
| Pojazdy Szynowe PESA Bydgoszcz S A Holding
 | |
| select * from t1 where a like '%PES%';
 | |
| a
 | |
| Techni Tapes Sp. z o.o.
 | |
| Pojazdy Szynowe PESA Bydgoszcz SA Holding
 | |
| AKAPESTER 1 P.P.H.U.
 | |
| Pojazdy Szynowe PESA Bydgoszcz S A Holding
 | |
| PPUH PESKA-I Maria Struniarska
 | |
| select * from t1 where a like '%PESKA%';
 | |
| a
 | |
| PPUH PESKA-I Maria Struniarska
 | |
| select * from t1 where a like '%ESKA%';
 | |
| a
 | |
| PPUH PESKA-I Maria Struniarska
 | |
| DROP TABLE t1;
 | |
| select _cp866'aaaaaaaaa' like _cp866'%aaaa%' collate cp866_bin;
 | |
| _cp866'aaaaaaaaa' like _cp866'%aaaa%' collate cp866_bin
 | |
| 1
 | |
| set names koi8r;
 | |
| select 'andre%' like 'andreÊ%' escape 'Ê';
 | |
| 'andre%' like 'andreÊ%' escape 'Ê'
 | |
| 1
 | |
| select _cp1251'andre%' like convert('andreÊ%' using cp1251)  escape 'Ê';
 | |
| _cp1251'andre%' like convert('andreÊ%' using cp1251)  escape 'Ê'
 | |
| 1
 |