1# 2# MDEV-9711 NO PAD Collatons 3# 4SET character_set_connection=dec8; 5SET DEFAULT_STORAGE_ENGINE=MyISAM; 6# 7# Start of ctype_pad.inc 8# 9# 10# Unique indexes 11# 12CREATE TABLE t1 (a VARCHAR(10) PRIMARY KEY) COLLATE 'dec8_swedish_nopad_ci'; 13SHOW CREATE TABLE t1; 14Table Create Table 15t1 CREATE TABLE `t1` ( 16 `a` varchar(10) COLLATE dec8_swedish_nopad_ci NOT NULL, 17 PRIMARY KEY (`a`) 18) ENGINE=MyISAM DEFAULT CHARSET=dec8 COLLATE=dec8_swedish_nopad_ci 19INSERT INTO t1 VALUES ('abc'),('abc '),(' a'),(' a '),('a '); 20SELECT HEX(a), a FROM t1 ORDER BY a; 21HEX(a) a 222061 a 23206120 a 2461202020 a 25616263 abc 266162632020 abc 27SELECT HEX(a), a FROM t1 IGNORE INDEX(PRIMARY) ORDER BY a; 28HEX(a) a 292061 a 30206120 a 3161202020 a 32616263 abc 336162632020 abc 34SELECT HEX(a), a FROM t1 IGNORE INDEX(PRIMARY) ORDER BY a DESC; 35HEX(a) a 366162632020 abc 37616263 abc 3861202020 a 39206120 a 402061 a 41# 42# UNION 43# 44CREATE TABLE t2 (a VARCHAR(10)) COLLATE 'dec8_swedish_nopad_ci'; 45INSERT INTO t2 VALUES ('abc '),('abc '),(' a'),('a '); 46SELECT HEX(a),a FROM (SELECT * FROM t1 UNION SELECT * FROM t2 ORDER BY a) td; 47HEX(a) a 482061 a 49206120 a 506120 a 5161202020 a 52616263 abc 5361626320 abc 546162632020 abc 55DROP TABLE t1; 56DROP TABLE t2; 57# 58# DISTINCT, COUNT, MAX 59# 60CREATE TABLE t1 (a VARCHAR(10)) COLLATE 'dec8_swedish_nopad_ci'; 61INSERT INTO t1 VALUES ('a'),('a '),(' a'),(' a '),('a '); 62SELECT HEX(a), a FROM (SELECT DISTINCT a FROM t1 ORDER BY a) td; 63HEX(a) a 642061 a 65206120 a 6661 a 67612020 a 6861202020 a 69SELECT COUNT(DISTINCT a) FROM t1 ORDER BY a; 70COUNT(DISTINCT a) 715 72SELECT HEX(MAX(a)), MAX(a) FROM t1; 73HEX(MAX(a)) MAX(a) 7461202020 a 75# 76# GROUP BY 77# 78CREATE TABLE t2 (a VARCHAR(10), b int, c varchar(10)) COLLATE 'dec8_swedish_nopad_ci'; 79INSERT t2 values('ab', 12, 'cd'), ('ab', 2, 'ed'), ('aa', 20, 'er'), ('aa ', 0, 'er '); 80SELECT HEX(a), cnt FROM (SELECT a, COUNT(a) AS cnt FROM t2 GROUP BY a ORDER BY a) AS td; 81HEX(a) cnt 826161 1 8361612020 1 846162 2 85DROP TABLE t2; 86# 87# Weights 88# 89SELECT HEX(WEIGHT_STRING(a AS CHAR(10))) FROM t1; 90HEX(WEIGHT_STRING(a AS CHAR(10))) 9141000000000000000000 9241202000000000000000 9320410000000000000000 9420412000000000000000 9541202020000000000000 96DROP TABLE t1; 97# 98# IF, CASE, LEAST 99# 100SELECT IF('abc' COLLATE 'dec8_swedish_nopad_ci' = 'abc ', 'pad', 'nopad'); 101IF('abc' COLLATE 'dec8_swedish_nopad_ci' = 'abc ', 'pad', 'nopad') 102nopad 103SELECT CASE 'abc' COLLATE 'dec8_swedish_nopad_ci' WHEN 'abc ' THEN 'pad' ELSE 'nopad' END; 104CASE 'abc' COLLATE 'dec8_swedish_nopad_ci' WHEN 'abc ' THEN 'pad' ELSE 'nopad' END 105nopad 106SELECT CASE WHEN 'abc' COLLATE 'dec8_swedish_nopad_ci' = 'abc ' THEN 'pad' ELSE 'nopad' END; 107CASE WHEN 'abc' COLLATE 'dec8_swedish_nopad_ci' = 'abc ' THEN 'pad' ELSE 'nopad' END 108nopad 109SELECT HEX(LEAST('abc ' COLLATE 'dec8_swedish_nopad_ci', 'abc ')); 110HEX(LEAST('abc ' COLLATE 'dec8_swedish_nopad_ci', 'abc ')) 11161626320 112SELECT HEX(GREATEST('abc ' COLLATE 'dec8_swedish_nopad_ci', 'abc ')); 113HEX(GREATEST('abc ' COLLATE 'dec8_swedish_nopad_ci', 'abc ')) 1146162632020 115# 116# Collation mix 117# 118CREATE TABLE t1 (a VARCHAR(10)) COLLATE 'dec8_swedish_ci'; 119INSERT INTO t1 VALUES ('a'),('a '); 120SELECT COUNT(*) FROM t1 WHERE a='a'; 121COUNT(*) 1222 123SELECT COUNT(*) FROM t1 WHERE a='a' COLLATE 'dec8_swedish_ci'; 124COUNT(*) 1252 126SELECT COUNT(*) FROM t1 WHERE a='a' COLLATE 'dec8_swedish_nopad_ci'; 127COUNT(*) 1281 129ALTER TABLE t1 MODIFY a VARCHAR(10) COLLATE 'dec8_swedish_nopad_ci'; 130SELECT COUNT(*) FROM t1 WHERE a='a'; 131COUNT(*) 1321 133SELECT COUNT(*) FROM t1 WHERE a='a' COLLATE 'dec8_swedish_ci'; 134COUNT(*) 1352 136SELECT COUNT(*) FROM t1 WHERE a='a' COLLATE 'dec8_swedish_nopad_ci'; 137COUNT(*) 1381 139DROP TABLE t1; 140# 141# End of ctype_pad.inc 142# 143SET DEFAULT_STORAGE_ENGINE=HEAP; 144# 145# Start of ctype_pad.inc 146# 147# 148# Unique indexes 149# 150CREATE TABLE t1 (a VARCHAR(10) PRIMARY KEY) COLLATE 'dec8_swedish_nopad_ci'; 151SHOW CREATE TABLE t1; 152Table Create Table 153t1 CREATE TABLE `t1` ( 154 `a` varchar(10) COLLATE dec8_swedish_nopad_ci NOT NULL, 155 PRIMARY KEY (`a`) 156) ENGINE=MEMORY DEFAULT CHARSET=dec8 COLLATE=dec8_swedish_nopad_ci 157INSERT INTO t1 VALUES ('abc'),('abc '),(' a'),(' a '),('a '); 158SELECT HEX(a), a FROM t1 ORDER BY a; 159HEX(a) a 1602061 a 161206120 a 16261202020 a 163616263 abc 1646162632020 abc 165SELECT HEX(a), a FROM t1 IGNORE INDEX(PRIMARY) ORDER BY a; 166HEX(a) a 1672061 a 168206120 a 16961202020 a 170616263 abc 1716162632020 abc 172SELECT HEX(a), a FROM t1 IGNORE INDEX(PRIMARY) ORDER BY a DESC; 173HEX(a) a 1746162632020 abc 175616263 abc 17661202020 a 177206120 a 1782061 a 179# 180# UNION 181# 182CREATE TABLE t2 (a VARCHAR(10)) COLLATE 'dec8_swedish_nopad_ci'; 183INSERT INTO t2 VALUES ('abc '),('abc '),(' a'),('a '); 184SELECT HEX(a),a FROM (SELECT * FROM t1 UNION SELECT * FROM t2 ORDER BY a) td; 185HEX(a) a 1862061 a 187206120 a 1886120 a 18961202020 a 190616263 abc 19161626320 abc 1926162632020 abc 193DROP TABLE t1; 194DROP TABLE t2; 195# 196# DISTINCT, COUNT, MAX 197# 198CREATE TABLE t1 (a VARCHAR(10)) COLLATE 'dec8_swedish_nopad_ci'; 199INSERT INTO t1 VALUES ('a'),('a '),(' a'),(' a '),('a '); 200SELECT HEX(a), a FROM (SELECT DISTINCT a FROM t1 ORDER BY a) td; 201HEX(a) a 2022061 a 203206120 a 20461 a 205612020 a 20661202020 a 207SELECT COUNT(DISTINCT a) FROM t1 ORDER BY a; 208COUNT(DISTINCT a) 2095 210SELECT HEX(MAX(a)), MAX(a) FROM t1; 211HEX(MAX(a)) MAX(a) 21261202020 a 213# 214# GROUP BY 215# 216CREATE TABLE t2 (a VARCHAR(10), b int, c varchar(10)) COLLATE 'dec8_swedish_nopad_ci'; 217INSERT t2 values('ab', 12, 'cd'), ('ab', 2, 'ed'), ('aa', 20, 'er'), ('aa ', 0, 'er '); 218SELECT HEX(a), cnt FROM (SELECT a, COUNT(a) AS cnt FROM t2 GROUP BY a ORDER BY a) AS td; 219HEX(a) cnt 2206161 1 22161612020 1 2226162 2 223DROP TABLE t2; 224# 225# Weights 226# 227SELECT HEX(WEIGHT_STRING(a AS CHAR(10))) FROM t1; 228HEX(WEIGHT_STRING(a AS CHAR(10))) 22941000000000000000000 23041202000000000000000 23120410000000000000000 23220412000000000000000 23341202020000000000000 234DROP TABLE t1; 235# 236# IF, CASE, LEAST 237# 238SELECT IF('abc' COLLATE 'dec8_swedish_nopad_ci' = 'abc ', 'pad', 'nopad'); 239IF('abc' COLLATE 'dec8_swedish_nopad_ci' = 'abc ', 'pad', 'nopad') 240nopad 241SELECT CASE 'abc' COLLATE 'dec8_swedish_nopad_ci' WHEN 'abc ' THEN 'pad' ELSE 'nopad' END; 242CASE 'abc' COLLATE 'dec8_swedish_nopad_ci' WHEN 'abc ' THEN 'pad' ELSE 'nopad' END 243nopad 244SELECT CASE WHEN 'abc' COLLATE 'dec8_swedish_nopad_ci' = 'abc ' THEN 'pad' ELSE 'nopad' END; 245CASE WHEN 'abc' COLLATE 'dec8_swedish_nopad_ci' = 'abc ' THEN 'pad' ELSE 'nopad' END 246nopad 247SELECT HEX(LEAST('abc ' COLLATE 'dec8_swedish_nopad_ci', 'abc ')); 248HEX(LEAST('abc ' COLLATE 'dec8_swedish_nopad_ci', 'abc ')) 24961626320 250SELECT HEX(GREATEST('abc ' COLLATE 'dec8_swedish_nopad_ci', 'abc ')); 251HEX(GREATEST('abc ' COLLATE 'dec8_swedish_nopad_ci', 'abc ')) 2526162632020 253# 254# Collation mix 255# 256CREATE TABLE t1 (a VARCHAR(10)) COLLATE 'dec8_swedish_ci'; 257INSERT INTO t1 VALUES ('a'),('a '); 258SELECT COUNT(*) FROM t1 WHERE a='a'; 259COUNT(*) 2602 261SELECT COUNT(*) FROM t1 WHERE a='a' COLLATE 'dec8_swedish_ci'; 262COUNT(*) 2632 264SELECT COUNT(*) FROM t1 WHERE a='a' COLLATE 'dec8_swedish_nopad_ci'; 265COUNT(*) 2661 267ALTER TABLE t1 MODIFY a VARCHAR(10) COLLATE 'dec8_swedish_nopad_ci'; 268SELECT COUNT(*) FROM t1 WHERE a='a'; 269COUNT(*) 2701 271SELECT COUNT(*) FROM t1 WHERE a='a' COLLATE 'dec8_swedish_ci'; 272COUNT(*) 2732 274SELECT COUNT(*) FROM t1 WHERE a='a' COLLATE 'dec8_swedish_nopad_ci'; 275COUNT(*) 2761 277DROP TABLE t1; 278# 279# End of ctype_pad.inc 280# 281SET DEFAULT_STORAGE_ENGINE=Default; 282SET DEFAULT_STORAGE_ENGINE=MyISAM; 283# 284# Start of ctype_pad.inc 285# 286# 287# Unique indexes 288# 289CREATE TABLE t1 (a VARCHAR(10) PRIMARY KEY) COLLATE 'dec8_nopad_bin'; 290SHOW CREATE TABLE t1; 291Table Create Table 292t1 CREATE TABLE `t1` ( 293 `a` varchar(10) COLLATE dec8_nopad_bin NOT NULL, 294 PRIMARY KEY (`a`) 295) ENGINE=MyISAM DEFAULT CHARSET=dec8 COLLATE=dec8_nopad_bin 296INSERT INTO t1 VALUES ('abc'),('abc '),(' a'),(' a '),('a '); 297SELECT HEX(a), a FROM t1 ORDER BY a; 298HEX(a) a 2992061 a 300206120 a 30161202020 a 302616263 abc 3036162632020 abc 304SELECT HEX(a), a FROM t1 IGNORE INDEX(PRIMARY) ORDER BY a; 305HEX(a) a 3062061 a 307206120 a 30861202020 a 309616263 abc 3106162632020 abc 311SELECT HEX(a), a FROM t1 IGNORE INDEX(PRIMARY) ORDER BY a DESC; 312HEX(a) a 3136162632020 abc 314616263 abc 31561202020 a 316206120 a 3172061 a 318# 319# UNION 320# 321CREATE TABLE t2 (a VARCHAR(10)) COLLATE 'dec8_nopad_bin'; 322INSERT INTO t2 VALUES ('abc '),('abc '),(' a'),('a '); 323SELECT HEX(a),a FROM (SELECT * FROM t1 UNION SELECT * FROM t2 ORDER BY a) td; 324HEX(a) a 3252061 a 326206120 a 3276120 a 32861202020 a 329616263 abc 33061626320 abc 3316162632020 abc 332DROP TABLE t1; 333DROP TABLE t2; 334# 335# DISTINCT, COUNT, MAX 336# 337CREATE TABLE t1 (a VARCHAR(10)) COLLATE 'dec8_nopad_bin'; 338INSERT INTO t1 VALUES ('a'),('a '),(' a'),(' a '),('a '); 339SELECT HEX(a), a FROM (SELECT DISTINCT a FROM t1 ORDER BY a) td; 340HEX(a) a 3412061 a 342206120 a 34361 a 344612020 a 34561202020 a 346SELECT COUNT(DISTINCT a) FROM t1 ORDER BY a; 347COUNT(DISTINCT a) 3485 349SELECT HEX(MAX(a)), MAX(a) FROM t1; 350HEX(MAX(a)) MAX(a) 35161202020 a 352# 353# GROUP BY 354# 355CREATE TABLE t2 (a VARCHAR(10), b int, c varchar(10)) COLLATE 'dec8_nopad_bin'; 356INSERT t2 values('ab', 12, 'cd'), ('ab', 2, 'ed'), ('aa', 20, 'er'), ('aa ', 0, 'er '); 357SELECT HEX(a), cnt FROM (SELECT a, COUNT(a) AS cnt FROM t2 GROUP BY a ORDER BY a) AS td; 358HEX(a) cnt 3596161 1 36061612020 1 3616162 2 362DROP TABLE t2; 363# 364# Weights 365# 366SELECT HEX(WEIGHT_STRING(a AS CHAR(10))) FROM t1; 367HEX(WEIGHT_STRING(a AS CHAR(10))) 36861000000000000000000 36961202000000000000000 37020610000000000000000 37120612000000000000000 37261202020000000000000 373DROP TABLE t1; 374# 375# IF, CASE, LEAST 376# 377SELECT IF('abc' COLLATE 'dec8_nopad_bin' = 'abc ', 'pad', 'nopad'); 378IF('abc' COLLATE 'dec8_nopad_bin' = 'abc ', 'pad', 'nopad') 379nopad 380SELECT CASE 'abc' COLLATE 'dec8_nopad_bin' WHEN 'abc ' THEN 'pad' ELSE 'nopad' END; 381CASE 'abc' COLLATE 'dec8_nopad_bin' WHEN 'abc ' THEN 'pad' ELSE 'nopad' END 382nopad 383SELECT CASE WHEN 'abc' COLLATE 'dec8_nopad_bin' = 'abc ' THEN 'pad' ELSE 'nopad' END; 384CASE WHEN 'abc' COLLATE 'dec8_nopad_bin' = 'abc ' THEN 'pad' ELSE 'nopad' END 385nopad 386SELECT HEX(LEAST('abc ' COLLATE 'dec8_nopad_bin', 'abc ')); 387HEX(LEAST('abc ' COLLATE 'dec8_nopad_bin', 'abc ')) 38861626320 389SELECT HEX(GREATEST('abc ' COLLATE 'dec8_nopad_bin', 'abc ')); 390HEX(GREATEST('abc ' COLLATE 'dec8_nopad_bin', 'abc ')) 3916162632020 392# 393# Collation mix 394# 395CREATE TABLE t1 (a VARCHAR(10)) COLLATE 'dec8_bin'; 396INSERT INTO t1 VALUES ('a'),('a '); 397SELECT COUNT(*) FROM t1 WHERE a='a'; 398COUNT(*) 3992 400SELECT COUNT(*) FROM t1 WHERE a='a' COLLATE 'dec8_bin'; 401COUNT(*) 4022 403SELECT COUNT(*) FROM t1 WHERE a='a' COLLATE 'dec8_nopad_bin'; 404COUNT(*) 4051 406ALTER TABLE t1 MODIFY a VARCHAR(10) COLLATE 'dec8_nopad_bin'; 407SELECT COUNT(*) FROM t1 WHERE a='a'; 408COUNT(*) 4091 410SELECT COUNT(*) FROM t1 WHERE a='a' COLLATE 'dec8_bin'; 411COUNT(*) 4122 413SELECT COUNT(*) FROM t1 WHERE a='a' COLLATE 'dec8_nopad_bin'; 414COUNT(*) 4151 416DROP TABLE t1; 417# 418# End of ctype_pad.inc 419# 420SET DEFAULT_STORAGE_ENGINE=HEAP; 421# 422# Start of ctype_pad.inc 423# 424# 425# Unique indexes 426# 427CREATE TABLE t1 (a VARCHAR(10) PRIMARY KEY) COLLATE 'dec8_nopad_bin'; 428SHOW CREATE TABLE t1; 429Table Create Table 430t1 CREATE TABLE `t1` ( 431 `a` varchar(10) COLLATE dec8_nopad_bin NOT NULL, 432 PRIMARY KEY (`a`) 433) ENGINE=MEMORY DEFAULT CHARSET=dec8 COLLATE=dec8_nopad_bin 434INSERT INTO t1 VALUES ('abc'),('abc '),(' a'),(' a '),('a '); 435SELECT HEX(a), a FROM t1 ORDER BY a; 436HEX(a) a 4372061 a 438206120 a 43961202020 a 440616263 abc 4416162632020 abc 442SELECT HEX(a), a FROM t1 IGNORE INDEX(PRIMARY) ORDER BY a; 443HEX(a) a 4442061 a 445206120 a 44661202020 a 447616263 abc 4486162632020 abc 449SELECT HEX(a), a FROM t1 IGNORE INDEX(PRIMARY) ORDER BY a DESC; 450HEX(a) a 4516162632020 abc 452616263 abc 45361202020 a 454206120 a 4552061 a 456# 457# UNION 458# 459CREATE TABLE t2 (a VARCHAR(10)) COLLATE 'dec8_nopad_bin'; 460INSERT INTO t2 VALUES ('abc '),('abc '),(' a'),('a '); 461SELECT HEX(a),a FROM (SELECT * FROM t1 UNION SELECT * FROM t2 ORDER BY a) td; 462HEX(a) a 4632061 a 464206120 a 4656120 a 46661202020 a 467616263 abc 46861626320 abc 4696162632020 abc 470DROP TABLE t1; 471DROP TABLE t2; 472# 473# DISTINCT, COUNT, MAX 474# 475CREATE TABLE t1 (a VARCHAR(10)) COLLATE 'dec8_nopad_bin'; 476INSERT INTO t1 VALUES ('a'),('a '),(' a'),(' a '),('a '); 477SELECT HEX(a), a FROM (SELECT DISTINCT a FROM t1 ORDER BY a) td; 478HEX(a) a 4792061 a 480206120 a 48161 a 482612020 a 48361202020 a 484SELECT COUNT(DISTINCT a) FROM t1 ORDER BY a; 485COUNT(DISTINCT a) 4865 487SELECT HEX(MAX(a)), MAX(a) FROM t1; 488HEX(MAX(a)) MAX(a) 48961202020 a 490# 491# GROUP BY 492# 493CREATE TABLE t2 (a VARCHAR(10), b int, c varchar(10)) COLLATE 'dec8_nopad_bin'; 494INSERT t2 values('ab', 12, 'cd'), ('ab', 2, 'ed'), ('aa', 20, 'er'), ('aa ', 0, 'er '); 495SELECT HEX(a), cnt FROM (SELECT a, COUNT(a) AS cnt FROM t2 GROUP BY a ORDER BY a) AS td; 496HEX(a) cnt 4976161 1 49861612020 1 4996162 2 500DROP TABLE t2; 501# 502# Weights 503# 504SELECT HEX(WEIGHT_STRING(a AS CHAR(10))) FROM t1; 505HEX(WEIGHT_STRING(a AS CHAR(10))) 50661000000000000000000 50761202000000000000000 50820610000000000000000 50920612000000000000000 51061202020000000000000 511DROP TABLE t1; 512# 513# IF, CASE, LEAST 514# 515SELECT IF('abc' COLLATE 'dec8_nopad_bin' = 'abc ', 'pad', 'nopad'); 516IF('abc' COLLATE 'dec8_nopad_bin' = 'abc ', 'pad', 'nopad') 517nopad 518SELECT CASE 'abc' COLLATE 'dec8_nopad_bin' WHEN 'abc ' THEN 'pad' ELSE 'nopad' END; 519CASE 'abc' COLLATE 'dec8_nopad_bin' WHEN 'abc ' THEN 'pad' ELSE 'nopad' END 520nopad 521SELECT CASE WHEN 'abc' COLLATE 'dec8_nopad_bin' = 'abc ' THEN 'pad' ELSE 'nopad' END; 522CASE WHEN 'abc' COLLATE 'dec8_nopad_bin' = 'abc ' THEN 'pad' ELSE 'nopad' END 523nopad 524SELECT HEX(LEAST('abc ' COLLATE 'dec8_nopad_bin', 'abc ')); 525HEX(LEAST('abc ' COLLATE 'dec8_nopad_bin', 'abc ')) 52661626320 527SELECT HEX(GREATEST('abc ' COLLATE 'dec8_nopad_bin', 'abc ')); 528HEX(GREATEST('abc ' COLLATE 'dec8_nopad_bin', 'abc ')) 5296162632020 530# 531# Collation mix 532# 533CREATE TABLE t1 (a VARCHAR(10)) COLLATE 'dec8_bin'; 534INSERT INTO t1 VALUES ('a'),('a '); 535SELECT COUNT(*) FROM t1 WHERE a='a'; 536COUNT(*) 5372 538SELECT COUNT(*) FROM t1 WHERE a='a' COLLATE 'dec8_bin'; 539COUNT(*) 5402 541SELECT COUNT(*) FROM t1 WHERE a='a' COLLATE 'dec8_nopad_bin'; 542COUNT(*) 5431 544ALTER TABLE t1 MODIFY a VARCHAR(10) COLLATE 'dec8_nopad_bin'; 545SELECT COUNT(*) FROM t1 WHERE a='a'; 546COUNT(*) 5471 548SELECT COUNT(*) FROM t1 WHERE a='a' COLLATE 'dec8_bin'; 549COUNT(*) 5502 551SELECT COUNT(*) FROM t1 WHERE a='a' COLLATE 'dec8_nopad_bin'; 552COUNT(*) 5531 554DROP TABLE t1; 555# 556# End of ctype_pad.inc 557# 558SET DEFAULT_STORAGE_ENGINE=Default; 559SET character_set_connection=cp850; 560SET DEFAULT_STORAGE_ENGINE=MyISAM; 561# 562# Start of ctype_pad.inc 563# 564# 565# Unique indexes 566# 567CREATE TABLE t1 (a VARCHAR(10) PRIMARY KEY) COLLATE 'cp850_general_nopad_ci'; 568SHOW CREATE TABLE t1; 569Table Create Table 570t1 CREATE TABLE `t1` ( 571 `a` varchar(10) COLLATE cp850_general_nopad_ci NOT NULL, 572 PRIMARY KEY (`a`) 573) ENGINE=MyISAM DEFAULT CHARSET=cp850 COLLATE=cp850_general_nopad_ci 574INSERT INTO t1 VALUES ('abc'),('abc '),(' a'),(' a '),('a '); 575SELECT HEX(a), a FROM t1 ORDER BY a; 576HEX(a) a 5772061 a 578206120 a 57961202020 a 580616263 abc 5816162632020 abc 582SELECT HEX(a), a FROM t1 IGNORE INDEX(PRIMARY) ORDER BY a; 583HEX(a) a 5842061 a 585206120 a 58661202020 a 587616263 abc 5886162632020 abc 589SELECT HEX(a), a FROM t1 IGNORE INDEX(PRIMARY) ORDER BY a DESC; 590HEX(a) a 5916162632020 abc 592616263 abc 59361202020 a 594206120 a 5952061 a 596# 597# UNION 598# 599CREATE TABLE t2 (a VARCHAR(10)) COLLATE 'cp850_general_nopad_ci'; 600INSERT INTO t2 VALUES ('abc '),('abc '),(' a'),('a '); 601SELECT HEX(a),a FROM (SELECT * FROM t1 UNION SELECT * FROM t2 ORDER BY a) td; 602HEX(a) a 6032061 a 604206120 a 6056120 a 60661202020 a 607616263 abc 60861626320 abc 6096162632020 abc 610DROP TABLE t1; 611DROP TABLE t2; 612# 613# DISTINCT, COUNT, MAX 614# 615CREATE TABLE t1 (a VARCHAR(10)) COLLATE 'cp850_general_nopad_ci'; 616INSERT INTO t1 VALUES ('a'),('a '),(' a'),(' a '),('a '); 617SELECT HEX(a), a FROM (SELECT DISTINCT a FROM t1 ORDER BY a) td; 618HEX(a) a 6192061 a 620206120 a 62161 a 622612020 a 62361202020 a 624SELECT COUNT(DISTINCT a) FROM t1 ORDER BY a; 625COUNT(DISTINCT a) 6265 627SELECT HEX(MAX(a)), MAX(a) FROM t1; 628HEX(MAX(a)) MAX(a) 62961202020 a 630# 631# GROUP BY 632# 633CREATE TABLE t2 (a VARCHAR(10), b int, c varchar(10)) COLLATE 'cp850_general_nopad_ci'; 634INSERT t2 values('ab', 12, 'cd'), ('ab', 2, 'ed'), ('aa', 20, 'er'), ('aa ', 0, 'er '); 635SELECT HEX(a), cnt FROM (SELECT a, COUNT(a) AS cnt FROM t2 GROUP BY a ORDER BY a) AS td; 636HEX(a) cnt 6376161 1 63861612020 1 6396162 2 640DROP TABLE t2; 641# 642# Weights 643# 644SELECT HEX(WEIGHT_STRING(a AS CHAR(10))) FROM t1; 645HEX(WEIGHT_STRING(a AS CHAR(10))) 64641000000000000000000 64741202000000000000000 64820410000000000000000 64920412000000000000000 65041202020000000000000 651DROP TABLE t1; 652# 653# IF, CASE, LEAST 654# 655SELECT IF('abc' COLLATE 'cp850_general_nopad_ci' = 'abc ', 'pad', 'nopad'); 656IF('abc' COLLATE 'cp850_general_nopad_ci' = 'abc ', 'pad', 'nopad') 657nopad 658SELECT CASE 'abc' COLLATE 'cp850_general_nopad_ci' WHEN 'abc ' THEN 'pad' ELSE 'nopad' END; 659CASE 'abc' COLLATE 'cp850_general_nopad_ci' WHEN 'abc ' THEN 'pad' ELSE 'nopad' END 660nopad 661SELECT CASE WHEN 'abc' COLLATE 'cp850_general_nopad_ci' = 'abc ' THEN 'pad' ELSE 'nopad' END; 662CASE WHEN 'abc' COLLATE 'cp850_general_nopad_ci' = 'abc ' THEN 'pad' ELSE 'nopad' END 663nopad 664SELECT HEX(LEAST('abc ' COLLATE 'cp850_general_nopad_ci', 'abc ')); 665HEX(LEAST('abc ' COLLATE 'cp850_general_nopad_ci', 'abc ')) 66661626320 667SELECT HEX(GREATEST('abc ' COLLATE 'cp850_general_nopad_ci', 'abc ')); 668HEX(GREATEST('abc ' COLLATE 'cp850_general_nopad_ci', 'abc ')) 6696162632020 670# 671# Collation mix 672# 673CREATE TABLE t1 (a VARCHAR(10)) COLLATE 'cp850_general_ci'; 674INSERT INTO t1 VALUES ('a'),('a '); 675SELECT COUNT(*) FROM t1 WHERE a='a'; 676COUNT(*) 6772 678SELECT COUNT(*) FROM t1 WHERE a='a' COLLATE 'cp850_general_ci'; 679COUNT(*) 6802 681SELECT COUNT(*) FROM t1 WHERE a='a' COLLATE 'cp850_general_nopad_ci'; 682COUNT(*) 6831 684ALTER TABLE t1 MODIFY a VARCHAR(10) COLLATE 'cp850_general_nopad_ci'; 685SELECT COUNT(*) FROM t1 WHERE a='a'; 686COUNT(*) 6871 688SELECT COUNT(*) FROM t1 WHERE a='a' COLLATE 'cp850_general_ci'; 689COUNT(*) 6902 691SELECT COUNT(*) FROM t1 WHERE a='a' COLLATE 'cp850_general_nopad_ci'; 692COUNT(*) 6931 694DROP TABLE t1; 695# 696# End of ctype_pad.inc 697# 698SET DEFAULT_STORAGE_ENGINE=HEAP; 699# 700# Start of ctype_pad.inc 701# 702# 703# Unique indexes 704# 705CREATE TABLE t1 (a VARCHAR(10) PRIMARY KEY) COLLATE 'cp850_general_nopad_ci'; 706SHOW CREATE TABLE t1; 707Table Create Table 708t1 CREATE TABLE `t1` ( 709 `a` varchar(10) COLLATE cp850_general_nopad_ci NOT NULL, 710 PRIMARY KEY (`a`) 711) ENGINE=MEMORY DEFAULT CHARSET=cp850 COLLATE=cp850_general_nopad_ci 712INSERT INTO t1 VALUES ('abc'),('abc '),(' a'),(' a '),('a '); 713SELECT HEX(a), a FROM t1 ORDER BY a; 714HEX(a) a 7152061 a 716206120 a 71761202020 a 718616263 abc 7196162632020 abc 720SELECT HEX(a), a FROM t1 IGNORE INDEX(PRIMARY) ORDER BY a; 721HEX(a) a 7222061 a 723206120 a 72461202020 a 725616263 abc 7266162632020 abc 727SELECT HEX(a), a FROM t1 IGNORE INDEX(PRIMARY) ORDER BY a DESC; 728HEX(a) a 7296162632020 abc 730616263 abc 73161202020 a 732206120 a 7332061 a 734# 735# UNION 736# 737CREATE TABLE t2 (a VARCHAR(10)) COLLATE 'cp850_general_nopad_ci'; 738INSERT INTO t2 VALUES ('abc '),('abc '),(' a'),('a '); 739SELECT HEX(a),a FROM (SELECT * FROM t1 UNION SELECT * FROM t2 ORDER BY a) td; 740HEX(a) a 7412061 a 742206120 a 7436120 a 74461202020 a 745616263 abc 74661626320 abc 7476162632020 abc 748DROP TABLE t1; 749DROP TABLE t2; 750# 751# DISTINCT, COUNT, MAX 752# 753CREATE TABLE t1 (a VARCHAR(10)) COLLATE 'cp850_general_nopad_ci'; 754INSERT INTO t1 VALUES ('a'),('a '),(' a'),(' a '),('a '); 755SELECT HEX(a), a FROM (SELECT DISTINCT a FROM t1 ORDER BY a) td; 756HEX(a) a 7572061 a 758206120 a 75961 a 760612020 a 76161202020 a 762SELECT COUNT(DISTINCT a) FROM t1 ORDER BY a; 763COUNT(DISTINCT a) 7645 765SELECT HEX(MAX(a)), MAX(a) FROM t1; 766HEX(MAX(a)) MAX(a) 76761202020 a 768# 769# GROUP BY 770# 771CREATE TABLE t2 (a VARCHAR(10), b int, c varchar(10)) COLLATE 'cp850_general_nopad_ci'; 772INSERT t2 values('ab', 12, 'cd'), ('ab', 2, 'ed'), ('aa', 20, 'er'), ('aa ', 0, 'er '); 773SELECT HEX(a), cnt FROM (SELECT a, COUNT(a) AS cnt FROM t2 GROUP BY a ORDER BY a) AS td; 774HEX(a) cnt 7756161 1 77661612020 1 7776162 2 778DROP TABLE t2; 779# 780# Weights 781# 782SELECT HEX(WEIGHT_STRING(a AS CHAR(10))) FROM t1; 783HEX(WEIGHT_STRING(a AS CHAR(10))) 78441000000000000000000 78541202000000000000000 78620410000000000000000 78720412000000000000000 78841202020000000000000 789DROP TABLE t1; 790# 791# IF, CASE, LEAST 792# 793SELECT IF('abc' COLLATE 'cp850_general_nopad_ci' = 'abc ', 'pad', 'nopad'); 794IF('abc' COLLATE 'cp850_general_nopad_ci' = 'abc ', 'pad', 'nopad') 795nopad 796SELECT CASE 'abc' COLLATE 'cp850_general_nopad_ci' WHEN 'abc ' THEN 'pad' ELSE 'nopad' END; 797CASE 'abc' COLLATE 'cp850_general_nopad_ci' WHEN 'abc ' THEN 'pad' ELSE 'nopad' END 798nopad 799SELECT CASE WHEN 'abc' COLLATE 'cp850_general_nopad_ci' = 'abc ' THEN 'pad' ELSE 'nopad' END; 800CASE WHEN 'abc' COLLATE 'cp850_general_nopad_ci' = 'abc ' THEN 'pad' ELSE 'nopad' END 801nopad 802SELECT HEX(LEAST('abc ' COLLATE 'cp850_general_nopad_ci', 'abc ')); 803HEX(LEAST('abc ' COLLATE 'cp850_general_nopad_ci', 'abc ')) 80461626320 805SELECT HEX(GREATEST('abc ' COLLATE 'cp850_general_nopad_ci', 'abc ')); 806HEX(GREATEST('abc ' COLLATE 'cp850_general_nopad_ci', 'abc ')) 8076162632020 808# 809# Collation mix 810# 811CREATE TABLE t1 (a VARCHAR(10)) COLLATE 'cp850_general_ci'; 812INSERT INTO t1 VALUES ('a'),('a '); 813SELECT COUNT(*) FROM t1 WHERE a='a'; 814COUNT(*) 8152 816SELECT COUNT(*) FROM t1 WHERE a='a' COLLATE 'cp850_general_ci'; 817COUNT(*) 8182 819SELECT COUNT(*) FROM t1 WHERE a='a' COLLATE 'cp850_general_nopad_ci'; 820COUNT(*) 8211 822ALTER TABLE t1 MODIFY a VARCHAR(10) COLLATE 'cp850_general_nopad_ci'; 823SELECT COUNT(*) FROM t1 WHERE a='a'; 824COUNT(*) 8251 826SELECT COUNT(*) FROM t1 WHERE a='a' COLLATE 'cp850_general_ci'; 827COUNT(*) 8282 829SELECT COUNT(*) FROM t1 WHERE a='a' COLLATE 'cp850_general_nopad_ci'; 830COUNT(*) 8311 832DROP TABLE t1; 833# 834# End of ctype_pad.inc 835# 836SET DEFAULT_STORAGE_ENGINE=Default; 837SET DEFAULT_STORAGE_ENGINE=MyISAM; 838# 839# Start of ctype_pad.inc 840# 841# 842# Unique indexes 843# 844CREATE TABLE t1 (a VARCHAR(10) PRIMARY KEY) COLLATE 'cp850_nopad_bin'; 845SHOW CREATE TABLE t1; 846Table Create Table 847t1 CREATE TABLE `t1` ( 848 `a` varchar(10) COLLATE cp850_nopad_bin NOT NULL, 849 PRIMARY KEY (`a`) 850) ENGINE=MyISAM DEFAULT CHARSET=cp850 COLLATE=cp850_nopad_bin 851INSERT INTO t1 VALUES ('abc'),('abc '),(' a'),(' a '),('a '); 852SELECT HEX(a), a FROM t1 ORDER BY a; 853HEX(a) a 8542061 a 855206120 a 85661202020 a 857616263 abc 8586162632020 abc 859SELECT HEX(a), a FROM t1 IGNORE INDEX(PRIMARY) ORDER BY a; 860HEX(a) a 8612061 a 862206120 a 86361202020 a 864616263 abc 8656162632020 abc 866SELECT HEX(a), a FROM t1 IGNORE INDEX(PRIMARY) ORDER BY a DESC; 867HEX(a) a 8686162632020 abc 869616263 abc 87061202020 a 871206120 a 8722061 a 873# 874# UNION 875# 876CREATE TABLE t2 (a VARCHAR(10)) COLLATE 'cp850_nopad_bin'; 877INSERT INTO t2 VALUES ('abc '),('abc '),(' a'),('a '); 878SELECT HEX(a),a FROM (SELECT * FROM t1 UNION SELECT * FROM t2 ORDER BY a) td; 879HEX(a) a 8802061 a 881206120 a 8826120 a 88361202020 a 884616263 abc 88561626320 abc 8866162632020 abc 887DROP TABLE t1; 888DROP TABLE t2; 889# 890# DISTINCT, COUNT, MAX 891# 892CREATE TABLE t1 (a VARCHAR(10)) COLLATE 'cp850_nopad_bin'; 893INSERT INTO t1 VALUES ('a'),('a '),(' a'),(' a '),('a '); 894SELECT HEX(a), a FROM (SELECT DISTINCT a FROM t1 ORDER BY a) td; 895HEX(a) a 8962061 a 897206120 a 89861 a 899612020 a 90061202020 a 901SELECT COUNT(DISTINCT a) FROM t1 ORDER BY a; 902COUNT(DISTINCT a) 9035 904SELECT HEX(MAX(a)), MAX(a) FROM t1; 905HEX(MAX(a)) MAX(a) 90661202020 a 907# 908# GROUP BY 909# 910CREATE TABLE t2 (a VARCHAR(10), b int, c varchar(10)) COLLATE 'cp850_nopad_bin'; 911INSERT t2 values('ab', 12, 'cd'), ('ab', 2, 'ed'), ('aa', 20, 'er'), ('aa ', 0, 'er '); 912SELECT HEX(a), cnt FROM (SELECT a, COUNT(a) AS cnt FROM t2 GROUP BY a ORDER BY a) AS td; 913HEX(a) cnt 9146161 1 91561612020 1 9166162 2 917DROP TABLE t2; 918# 919# Weights 920# 921SELECT HEX(WEIGHT_STRING(a AS CHAR(10))) FROM t1; 922HEX(WEIGHT_STRING(a AS CHAR(10))) 92361000000000000000000 92461202000000000000000 92520610000000000000000 92620612000000000000000 92761202020000000000000 928DROP TABLE t1; 929# 930# IF, CASE, LEAST 931# 932SELECT IF('abc' COLLATE 'cp850_nopad_bin' = 'abc ', 'pad', 'nopad'); 933IF('abc' COLLATE 'cp850_nopad_bin' = 'abc ', 'pad', 'nopad') 934nopad 935SELECT CASE 'abc' COLLATE 'cp850_nopad_bin' WHEN 'abc ' THEN 'pad' ELSE 'nopad' END; 936CASE 'abc' COLLATE 'cp850_nopad_bin' WHEN 'abc ' THEN 'pad' ELSE 'nopad' END 937nopad 938SELECT CASE WHEN 'abc' COLLATE 'cp850_nopad_bin' = 'abc ' THEN 'pad' ELSE 'nopad' END; 939CASE WHEN 'abc' COLLATE 'cp850_nopad_bin' = 'abc ' THEN 'pad' ELSE 'nopad' END 940nopad 941SELECT HEX(LEAST('abc ' COLLATE 'cp850_nopad_bin', 'abc ')); 942HEX(LEAST('abc ' COLLATE 'cp850_nopad_bin', 'abc ')) 94361626320 944SELECT HEX(GREATEST('abc ' COLLATE 'cp850_nopad_bin', 'abc ')); 945HEX(GREATEST('abc ' COLLATE 'cp850_nopad_bin', 'abc ')) 9466162632020 947# 948# Collation mix 949# 950CREATE TABLE t1 (a VARCHAR(10)) COLLATE 'cp850_bin'; 951INSERT INTO t1 VALUES ('a'),('a '); 952SELECT COUNT(*) FROM t1 WHERE a='a'; 953COUNT(*) 9542 955SELECT COUNT(*) FROM t1 WHERE a='a' COLLATE 'cp850_bin'; 956COUNT(*) 9572 958SELECT COUNT(*) FROM t1 WHERE a='a' COLLATE 'cp850_nopad_bin'; 959COUNT(*) 9601 961ALTER TABLE t1 MODIFY a VARCHAR(10) COLLATE 'cp850_nopad_bin'; 962SELECT COUNT(*) FROM t1 WHERE a='a'; 963COUNT(*) 9641 965SELECT COUNT(*) FROM t1 WHERE a='a' COLLATE 'cp850_bin'; 966COUNT(*) 9672 968SELECT COUNT(*) FROM t1 WHERE a='a' COLLATE 'cp850_nopad_bin'; 969COUNT(*) 9701 971DROP TABLE t1; 972# 973# End of ctype_pad.inc 974# 975SET DEFAULT_STORAGE_ENGINE=HEAP; 976# 977# Start of ctype_pad.inc 978# 979# 980# Unique indexes 981# 982CREATE TABLE t1 (a VARCHAR(10) PRIMARY KEY) COLLATE 'cp850_nopad_bin'; 983SHOW CREATE TABLE t1; 984Table Create Table 985t1 CREATE TABLE `t1` ( 986 `a` varchar(10) COLLATE cp850_nopad_bin NOT NULL, 987 PRIMARY KEY (`a`) 988) ENGINE=MEMORY DEFAULT CHARSET=cp850 COLLATE=cp850_nopad_bin 989INSERT INTO t1 VALUES ('abc'),('abc '),(' a'),(' a '),('a '); 990SELECT HEX(a), a FROM t1 ORDER BY a; 991HEX(a) a 9922061 a 993206120 a 99461202020 a 995616263 abc 9966162632020 abc 997SELECT HEX(a), a FROM t1 IGNORE INDEX(PRIMARY) ORDER BY a; 998HEX(a) a 9992061 a 1000206120 a 100161202020 a 1002616263 abc 10036162632020 abc 1004SELECT HEX(a), a FROM t1 IGNORE INDEX(PRIMARY) ORDER BY a DESC; 1005HEX(a) a 10066162632020 abc 1007616263 abc 100861202020 a 1009206120 a 10102061 a 1011# 1012# UNION 1013# 1014CREATE TABLE t2 (a VARCHAR(10)) COLLATE 'cp850_nopad_bin'; 1015INSERT INTO t2 VALUES ('abc '),('abc '),(' a'),('a '); 1016SELECT HEX(a),a FROM (SELECT * FROM t1 UNION SELECT * FROM t2 ORDER BY a) td; 1017HEX(a) a 10182061 a 1019206120 a 10206120 a 102161202020 a 1022616263 abc 102361626320 abc 10246162632020 abc 1025DROP TABLE t1; 1026DROP TABLE t2; 1027# 1028# DISTINCT, COUNT, MAX 1029# 1030CREATE TABLE t1 (a VARCHAR(10)) COLLATE 'cp850_nopad_bin'; 1031INSERT INTO t1 VALUES ('a'),('a '),(' a'),(' a '),('a '); 1032SELECT HEX(a), a FROM (SELECT DISTINCT a FROM t1 ORDER BY a) td; 1033HEX(a) a 10342061 a 1035206120 a 103661 a 1037612020 a 103861202020 a 1039SELECT COUNT(DISTINCT a) FROM t1 ORDER BY a; 1040COUNT(DISTINCT a) 10415 1042SELECT HEX(MAX(a)), MAX(a) FROM t1; 1043HEX(MAX(a)) MAX(a) 104461202020 a 1045# 1046# GROUP BY 1047# 1048CREATE TABLE t2 (a VARCHAR(10), b int, c varchar(10)) COLLATE 'cp850_nopad_bin'; 1049INSERT t2 values('ab', 12, 'cd'), ('ab', 2, 'ed'), ('aa', 20, 'er'), ('aa ', 0, 'er '); 1050SELECT HEX(a), cnt FROM (SELECT a, COUNT(a) AS cnt FROM t2 GROUP BY a ORDER BY a) AS td; 1051HEX(a) cnt 10526161 1 105361612020 1 10546162 2 1055DROP TABLE t2; 1056# 1057# Weights 1058# 1059SELECT HEX(WEIGHT_STRING(a AS CHAR(10))) FROM t1; 1060HEX(WEIGHT_STRING(a AS CHAR(10))) 106161000000000000000000 106261202000000000000000 106320610000000000000000 106420612000000000000000 106561202020000000000000 1066DROP TABLE t1; 1067# 1068# IF, CASE, LEAST 1069# 1070SELECT IF('abc' COLLATE 'cp850_nopad_bin' = 'abc ', 'pad', 'nopad'); 1071IF('abc' COLLATE 'cp850_nopad_bin' = 'abc ', 'pad', 'nopad') 1072nopad 1073SELECT CASE 'abc' COLLATE 'cp850_nopad_bin' WHEN 'abc ' THEN 'pad' ELSE 'nopad' END; 1074CASE 'abc' COLLATE 'cp850_nopad_bin' WHEN 'abc ' THEN 'pad' ELSE 'nopad' END 1075nopad 1076SELECT CASE WHEN 'abc' COLLATE 'cp850_nopad_bin' = 'abc ' THEN 'pad' ELSE 'nopad' END; 1077CASE WHEN 'abc' COLLATE 'cp850_nopad_bin' = 'abc ' THEN 'pad' ELSE 'nopad' END 1078nopad 1079SELECT HEX(LEAST('abc ' COLLATE 'cp850_nopad_bin', 'abc ')); 1080HEX(LEAST('abc ' COLLATE 'cp850_nopad_bin', 'abc ')) 108161626320 1082SELECT HEX(GREATEST('abc ' COLLATE 'cp850_nopad_bin', 'abc ')); 1083HEX(GREATEST('abc ' COLLATE 'cp850_nopad_bin', 'abc ')) 10846162632020 1085# 1086# Collation mix 1087# 1088CREATE TABLE t1 (a VARCHAR(10)) COLLATE 'cp850_bin'; 1089INSERT INTO t1 VALUES ('a'),('a '); 1090SELECT COUNT(*) FROM t1 WHERE a='a'; 1091COUNT(*) 10922 1093SELECT COUNT(*) FROM t1 WHERE a='a' COLLATE 'cp850_bin'; 1094COUNT(*) 10952 1096SELECT COUNT(*) FROM t1 WHERE a='a' COLLATE 'cp850_nopad_bin'; 1097COUNT(*) 10981 1099ALTER TABLE t1 MODIFY a VARCHAR(10) COLLATE 'cp850_nopad_bin'; 1100SELECT COUNT(*) FROM t1 WHERE a='a'; 1101COUNT(*) 11021 1103SELECT COUNT(*) FROM t1 WHERE a='a' COLLATE 'cp850_bin'; 1104COUNT(*) 11052 1106SELECT COUNT(*) FROM t1 WHERE a='a' COLLATE 'cp850_nopad_bin'; 1107COUNT(*) 11081 1109DROP TABLE t1; 1110# 1111# End of ctype_pad.inc 1112# 1113SET DEFAULT_STORAGE_ENGINE=Default; 1114SET character_set_connection=hp8; 1115SET DEFAULT_STORAGE_ENGINE=MyISAM; 1116# 1117# Start of ctype_pad.inc 1118# 1119# 1120# Unique indexes 1121# 1122CREATE TABLE t1 (a VARCHAR(10) PRIMARY KEY) COLLATE 'hp8_english_nopad_ci'; 1123SHOW CREATE TABLE t1; 1124Table Create Table 1125t1 CREATE TABLE `t1` ( 1126 `a` varchar(10) COLLATE hp8_english_nopad_ci NOT NULL, 1127 PRIMARY KEY (`a`) 1128) ENGINE=MyISAM DEFAULT CHARSET=hp8 COLLATE=hp8_english_nopad_ci 1129INSERT INTO t1 VALUES ('abc'),('abc '),(' a'),(' a '),('a '); 1130SELECT HEX(a), a FROM t1 ORDER BY a; 1131HEX(a) a 11322061 a 1133206120 a 113461202020 a 1135616263 abc 11366162632020 abc 1137SELECT HEX(a), a FROM t1 IGNORE INDEX(PRIMARY) ORDER BY a; 1138HEX(a) a 11392061 a 1140206120 a 114161202020 a 1142616263 abc 11436162632020 abc 1144SELECT HEX(a), a FROM t1 IGNORE INDEX(PRIMARY) ORDER BY a DESC; 1145HEX(a) a 11466162632020 abc 1147616263 abc 114861202020 a 1149206120 a 11502061 a 1151# 1152# UNION 1153# 1154CREATE TABLE t2 (a VARCHAR(10)) COLLATE 'hp8_english_nopad_ci'; 1155INSERT INTO t2 VALUES ('abc '),('abc '),(' a'),('a '); 1156SELECT HEX(a),a FROM (SELECT * FROM t1 UNION SELECT * FROM t2 ORDER BY a) td; 1157HEX(a) a 11582061 a 1159206120 a 11606120 a 116161202020 a 1162616263 abc 116361626320 abc 11646162632020 abc 1165DROP TABLE t1; 1166DROP TABLE t2; 1167# 1168# DISTINCT, COUNT, MAX 1169# 1170CREATE TABLE t1 (a VARCHAR(10)) COLLATE 'hp8_english_nopad_ci'; 1171INSERT INTO t1 VALUES ('a'),('a '),(' a'),(' a '),('a '); 1172SELECT HEX(a), a FROM (SELECT DISTINCT a FROM t1 ORDER BY a) td; 1173HEX(a) a 11742061 a 1175206120 a 117661 a 1177612020 a 117861202020 a 1179SELECT COUNT(DISTINCT a) FROM t1 ORDER BY a; 1180COUNT(DISTINCT a) 11815 1182SELECT HEX(MAX(a)), MAX(a) FROM t1; 1183HEX(MAX(a)) MAX(a) 118461202020 a 1185# 1186# GROUP BY 1187# 1188CREATE TABLE t2 (a VARCHAR(10), b int, c varchar(10)) COLLATE 'hp8_english_nopad_ci'; 1189INSERT t2 values('ab', 12, 'cd'), ('ab', 2, 'ed'), ('aa', 20, 'er'), ('aa ', 0, 'er '); 1190SELECT HEX(a), cnt FROM (SELECT a, COUNT(a) AS cnt FROM t2 GROUP BY a ORDER BY a) AS td; 1191HEX(a) cnt 11926161 1 119361612020 1 11946162 2 1195DROP TABLE t2; 1196# 1197# Weights 1198# 1199SELECT HEX(WEIGHT_STRING(a AS CHAR(10))) FROM t1; 1200HEX(WEIGHT_STRING(a AS CHAR(10))) 120141000000000000000000 120241202000000000000000 120320410000000000000000 120420412000000000000000 120541202020000000000000 1206DROP TABLE t1; 1207# 1208# IF, CASE, LEAST 1209# 1210SELECT IF('abc' COLLATE 'hp8_english_nopad_ci' = 'abc ', 'pad', 'nopad'); 1211IF('abc' COLLATE 'hp8_english_nopad_ci' = 'abc ', 'pad', 'nopad') 1212nopad 1213SELECT CASE 'abc' COLLATE 'hp8_english_nopad_ci' WHEN 'abc ' THEN 'pad' ELSE 'nopad' END; 1214CASE 'abc' COLLATE 'hp8_english_nopad_ci' WHEN 'abc ' THEN 'pad' ELSE 'nopad' END 1215nopad 1216SELECT CASE WHEN 'abc' COLLATE 'hp8_english_nopad_ci' = 'abc ' THEN 'pad' ELSE 'nopad' END; 1217CASE WHEN 'abc' COLLATE 'hp8_english_nopad_ci' = 'abc ' THEN 'pad' ELSE 'nopad' END 1218nopad 1219SELECT HEX(LEAST('abc ' COLLATE 'hp8_english_nopad_ci', 'abc ')); 1220HEX(LEAST('abc ' COLLATE 'hp8_english_nopad_ci', 'abc ')) 122161626320 1222SELECT HEX(GREATEST('abc ' COLLATE 'hp8_english_nopad_ci', 'abc ')); 1223HEX(GREATEST('abc ' COLLATE 'hp8_english_nopad_ci', 'abc ')) 12246162632020 1225# 1226# Collation mix 1227# 1228CREATE TABLE t1 (a VARCHAR(10)) COLLATE 'hp8_english_ci'; 1229INSERT INTO t1 VALUES ('a'),('a '); 1230SELECT COUNT(*) FROM t1 WHERE a='a'; 1231COUNT(*) 12322 1233SELECT COUNT(*) FROM t1 WHERE a='a' COLLATE 'hp8_english_ci'; 1234COUNT(*) 12352 1236SELECT COUNT(*) FROM t1 WHERE a='a' COLLATE 'hp8_english_nopad_ci'; 1237COUNT(*) 12381 1239ALTER TABLE t1 MODIFY a VARCHAR(10) COLLATE 'hp8_english_nopad_ci'; 1240SELECT COUNT(*) FROM t1 WHERE a='a'; 1241COUNT(*) 12421 1243SELECT COUNT(*) FROM t1 WHERE a='a' COLLATE 'hp8_english_ci'; 1244COUNT(*) 12452 1246SELECT COUNT(*) FROM t1 WHERE a='a' COLLATE 'hp8_english_nopad_ci'; 1247COUNT(*) 12481 1249DROP TABLE t1; 1250# 1251# End of ctype_pad.inc 1252# 1253SET DEFAULT_STORAGE_ENGINE=HEAP; 1254# 1255# Start of ctype_pad.inc 1256# 1257# 1258# Unique indexes 1259# 1260CREATE TABLE t1 (a VARCHAR(10) PRIMARY KEY) COLLATE 'hp8_english_nopad_ci'; 1261SHOW CREATE TABLE t1; 1262Table Create Table 1263t1 CREATE TABLE `t1` ( 1264 `a` varchar(10) COLLATE hp8_english_nopad_ci NOT NULL, 1265 PRIMARY KEY (`a`) 1266) ENGINE=MEMORY DEFAULT CHARSET=hp8 COLLATE=hp8_english_nopad_ci 1267INSERT INTO t1 VALUES ('abc'),('abc '),(' a'),(' a '),('a '); 1268SELECT HEX(a), a FROM t1 ORDER BY a; 1269HEX(a) a 12702061 a 1271206120 a 127261202020 a 1273616263 abc 12746162632020 abc 1275SELECT HEX(a), a FROM t1 IGNORE INDEX(PRIMARY) ORDER BY a; 1276HEX(a) a 12772061 a 1278206120 a 127961202020 a 1280616263 abc 12816162632020 abc 1282SELECT HEX(a), a FROM t1 IGNORE INDEX(PRIMARY) ORDER BY a DESC; 1283HEX(a) a 12846162632020 abc 1285616263 abc 128661202020 a 1287206120 a 12882061 a 1289# 1290# UNION 1291# 1292CREATE TABLE t2 (a VARCHAR(10)) COLLATE 'hp8_english_nopad_ci'; 1293INSERT INTO t2 VALUES ('abc '),('abc '),(' a'),('a '); 1294SELECT HEX(a),a FROM (SELECT * FROM t1 UNION SELECT * FROM t2 ORDER BY a) td; 1295HEX(a) a 12962061 a 1297206120 a 12986120 a 129961202020 a 1300616263 abc 130161626320 abc 13026162632020 abc 1303DROP TABLE t1; 1304DROP TABLE t2; 1305# 1306# DISTINCT, COUNT, MAX 1307# 1308CREATE TABLE t1 (a VARCHAR(10)) COLLATE 'hp8_english_nopad_ci'; 1309INSERT INTO t1 VALUES ('a'),('a '),(' a'),(' a '),('a '); 1310SELECT HEX(a), a FROM (SELECT DISTINCT a FROM t1 ORDER BY a) td; 1311HEX(a) a 13122061 a 1313206120 a 131461 a 1315612020 a 131661202020 a 1317SELECT COUNT(DISTINCT a) FROM t1 ORDER BY a; 1318COUNT(DISTINCT a) 13195 1320SELECT HEX(MAX(a)), MAX(a) FROM t1; 1321HEX(MAX(a)) MAX(a) 132261202020 a 1323# 1324# GROUP BY 1325# 1326CREATE TABLE t2 (a VARCHAR(10), b int, c varchar(10)) COLLATE 'hp8_english_nopad_ci'; 1327INSERT t2 values('ab', 12, 'cd'), ('ab', 2, 'ed'), ('aa', 20, 'er'), ('aa ', 0, 'er '); 1328SELECT HEX(a), cnt FROM (SELECT a, COUNT(a) AS cnt FROM t2 GROUP BY a ORDER BY a) AS td; 1329HEX(a) cnt 13306161 1 133161612020 1 13326162 2 1333DROP TABLE t2; 1334# 1335# Weights 1336# 1337SELECT HEX(WEIGHT_STRING(a AS CHAR(10))) FROM t1; 1338HEX(WEIGHT_STRING(a AS CHAR(10))) 133941000000000000000000 134041202000000000000000 134120410000000000000000 134220412000000000000000 134341202020000000000000 1344DROP TABLE t1; 1345# 1346# IF, CASE, LEAST 1347# 1348SELECT IF('abc' COLLATE 'hp8_english_nopad_ci' = 'abc ', 'pad', 'nopad'); 1349IF('abc' COLLATE 'hp8_english_nopad_ci' = 'abc ', 'pad', 'nopad') 1350nopad 1351SELECT CASE 'abc' COLLATE 'hp8_english_nopad_ci' WHEN 'abc ' THEN 'pad' ELSE 'nopad' END; 1352CASE 'abc' COLLATE 'hp8_english_nopad_ci' WHEN 'abc ' THEN 'pad' ELSE 'nopad' END 1353nopad 1354SELECT CASE WHEN 'abc' COLLATE 'hp8_english_nopad_ci' = 'abc ' THEN 'pad' ELSE 'nopad' END; 1355CASE WHEN 'abc' COLLATE 'hp8_english_nopad_ci' = 'abc ' THEN 'pad' ELSE 'nopad' END 1356nopad 1357SELECT HEX(LEAST('abc ' COLLATE 'hp8_english_nopad_ci', 'abc ')); 1358HEX(LEAST('abc ' COLLATE 'hp8_english_nopad_ci', 'abc ')) 135961626320 1360SELECT HEX(GREATEST('abc ' COLLATE 'hp8_english_nopad_ci', 'abc ')); 1361HEX(GREATEST('abc ' COLLATE 'hp8_english_nopad_ci', 'abc ')) 13626162632020 1363# 1364# Collation mix 1365# 1366CREATE TABLE t1 (a VARCHAR(10)) COLLATE 'hp8_english_ci'; 1367INSERT INTO t1 VALUES ('a'),('a '); 1368SELECT COUNT(*) FROM t1 WHERE a='a'; 1369COUNT(*) 13702 1371SELECT COUNT(*) FROM t1 WHERE a='a' COLLATE 'hp8_english_ci'; 1372COUNT(*) 13732 1374SELECT COUNT(*) FROM t1 WHERE a='a' COLLATE 'hp8_english_nopad_ci'; 1375COUNT(*) 13761 1377ALTER TABLE t1 MODIFY a VARCHAR(10) COLLATE 'hp8_english_nopad_ci'; 1378SELECT COUNT(*) FROM t1 WHERE a='a'; 1379COUNT(*) 13801 1381SELECT COUNT(*) FROM t1 WHERE a='a' COLLATE 'hp8_english_ci'; 1382COUNT(*) 13832 1384SELECT COUNT(*) FROM t1 WHERE a='a' COLLATE 'hp8_english_nopad_ci'; 1385COUNT(*) 13861 1387DROP TABLE t1; 1388# 1389# End of ctype_pad.inc 1390# 1391SET DEFAULT_STORAGE_ENGINE=Default; 1392SET DEFAULT_STORAGE_ENGINE=MyISAM; 1393# 1394# Start of ctype_pad.inc 1395# 1396# 1397# Unique indexes 1398# 1399CREATE TABLE t1 (a VARCHAR(10) PRIMARY KEY) COLLATE 'hp8_nopad_bin'; 1400SHOW CREATE TABLE t1; 1401Table Create Table 1402t1 CREATE TABLE `t1` ( 1403 `a` varchar(10) COLLATE hp8_nopad_bin NOT NULL, 1404 PRIMARY KEY (`a`) 1405) ENGINE=MyISAM DEFAULT CHARSET=hp8 COLLATE=hp8_nopad_bin 1406INSERT INTO t1 VALUES ('abc'),('abc '),(' a'),(' a '),('a '); 1407SELECT HEX(a), a FROM t1 ORDER BY a; 1408HEX(a) a 14092061 a 1410206120 a 141161202020 a 1412616263 abc 14136162632020 abc 1414SELECT HEX(a), a FROM t1 IGNORE INDEX(PRIMARY) ORDER BY a; 1415HEX(a) a 14162061 a 1417206120 a 141861202020 a 1419616263 abc 14206162632020 abc 1421SELECT HEX(a), a FROM t1 IGNORE INDEX(PRIMARY) ORDER BY a DESC; 1422HEX(a) a 14236162632020 abc 1424616263 abc 142561202020 a 1426206120 a 14272061 a 1428# 1429# UNION 1430# 1431CREATE TABLE t2 (a VARCHAR(10)) COLLATE 'hp8_nopad_bin'; 1432INSERT INTO t2 VALUES ('abc '),('abc '),(' a'),('a '); 1433SELECT HEX(a),a FROM (SELECT * FROM t1 UNION SELECT * FROM t2 ORDER BY a) td; 1434HEX(a) a 14352061 a 1436206120 a 14376120 a 143861202020 a 1439616263 abc 144061626320 abc 14416162632020 abc 1442DROP TABLE t1; 1443DROP TABLE t2; 1444# 1445# DISTINCT, COUNT, MAX 1446# 1447CREATE TABLE t1 (a VARCHAR(10)) COLLATE 'hp8_nopad_bin'; 1448INSERT INTO t1 VALUES ('a'),('a '),(' a'),(' a '),('a '); 1449SELECT HEX(a), a FROM (SELECT DISTINCT a FROM t1 ORDER BY a) td; 1450HEX(a) a 14512061 a 1452206120 a 145361 a 1454612020 a 145561202020 a 1456SELECT COUNT(DISTINCT a) FROM t1 ORDER BY a; 1457COUNT(DISTINCT a) 14585 1459SELECT HEX(MAX(a)), MAX(a) FROM t1; 1460HEX(MAX(a)) MAX(a) 146161202020 a 1462# 1463# GROUP BY 1464# 1465CREATE TABLE t2 (a VARCHAR(10), b int, c varchar(10)) COLLATE 'hp8_nopad_bin'; 1466INSERT t2 values('ab', 12, 'cd'), ('ab', 2, 'ed'), ('aa', 20, 'er'), ('aa ', 0, 'er '); 1467SELECT HEX(a), cnt FROM (SELECT a, COUNT(a) AS cnt FROM t2 GROUP BY a ORDER BY a) AS td; 1468HEX(a) cnt 14696161 1 147061612020 1 14716162 2 1472DROP TABLE t2; 1473# 1474# Weights 1475# 1476SELECT HEX(WEIGHT_STRING(a AS CHAR(10))) FROM t1; 1477HEX(WEIGHT_STRING(a AS CHAR(10))) 147861000000000000000000 147961202000000000000000 148020610000000000000000 148120612000000000000000 148261202020000000000000 1483DROP TABLE t1; 1484# 1485# IF, CASE, LEAST 1486# 1487SELECT IF('abc' COLLATE 'hp8_nopad_bin' = 'abc ', 'pad', 'nopad'); 1488IF('abc' COLLATE 'hp8_nopad_bin' = 'abc ', 'pad', 'nopad') 1489nopad 1490SELECT CASE 'abc' COLLATE 'hp8_nopad_bin' WHEN 'abc ' THEN 'pad' ELSE 'nopad' END; 1491CASE 'abc' COLLATE 'hp8_nopad_bin' WHEN 'abc ' THEN 'pad' ELSE 'nopad' END 1492nopad 1493SELECT CASE WHEN 'abc' COLLATE 'hp8_nopad_bin' = 'abc ' THEN 'pad' ELSE 'nopad' END; 1494CASE WHEN 'abc' COLLATE 'hp8_nopad_bin' = 'abc ' THEN 'pad' ELSE 'nopad' END 1495nopad 1496SELECT HEX(LEAST('abc ' COLLATE 'hp8_nopad_bin', 'abc ')); 1497HEX(LEAST('abc ' COLLATE 'hp8_nopad_bin', 'abc ')) 149861626320 1499SELECT HEX(GREATEST('abc ' COLLATE 'hp8_nopad_bin', 'abc ')); 1500HEX(GREATEST('abc ' COLLATE 'hp8_nopad_bin', 'abc ')) 15016162632020 1502# 1503# Collation mix 1504# 1505CREATE TABLE t1 (a VARCHAR(10)) COLLATE 'hp8_bin'; 1506INSERT INTO t1 VALUES ('a'),('a '); 1507SELECT COUNT(*) FROM t1 WHERE a='a'; 1508COUNT(*) 15092 1510SELECT COUNT(*) FROM t1 WHERE a='a' COLLATE 'hp8_bin'; 1511COUNT(*) 15122 1513SELECT COUNT(*) FROM t1 WHERE a='a' COLLATE 'hp8_nopad_bin'; 1514COUNT(*) 15151 1516ALTER TABLE t1 MODIFY a VARCHAR(10) COLLATE 'hp8_nopad_bin'; 1517SELECT COUNT(*) FROM t1 WHERE a='a'; 1518COUNT(*) 15191 1520SELECT COUNT(*) FROM t1 WHERE a='a' COLLATE 'hp8_bin'; 1521COUNT(*) 15222 1523SELECT COUNT(*) FROM t1 WHERE a='a' COLLATE 'hp8_nopad_bin'; 1524COUNT(*) 15251 1526DROP TABLE t1; 1527# 1528# End of ctype_pad.inc 1529# 1530SET DEFAULT_STORAGE_ENGINE=HEAP; 1531# 1532# Start of ctype_pad.inc 1533# 1534# 1535# Unique indexes 1536# 1537CREATE TABLE t1 (a VARCHAR(10) PRIMARY KEY) COLLATE 'hp8_nopad_bin'; 1538SHOW CREATE TABLE t1; 1539Table Create Table 1540t1 CREATE TABLE `t1` ( 1541 `a` varchar(10) COLLATE hp8_nopad_bin NOT NULL, 1542 PRIMARY KEY (`a`) 1543) ENGINE=MEMORY DEFAULT CHARSET=hp8 COLLATE=hp8_nopad_bin 1544INSERT INTO t1 VALUES ('abc'),('abc '),(' a'),(' a '),('a '); 1545SELECT HEX(a), a FROM t1 ORDER BY a; 1546HEX(a) a 15472061 a 1548206120 a 154961202020 a 1550616263 abc 15516162632020 abc 1552SELECT HEX(a), a FROM t1 IGNORE INDEX(PRIMARY) ORDER BY a; 1553HEX(a) a 15542061 a 1555206120 a 155661202020 a 1557616263 abc 15586162632020 abc 1559SELECT HEX(a), a FROM t1 IGNORE INDEX(PRIMARY) ORDER BY a DESC; 1560HEX(a) a 15616162632020 abc 1562616263 abc 156361202020 a 1564206120 a 15652061 a 1566# 1567# UNION 1568# 1569CREATE TABLE t2 (a VARCHAR(10)) COLLATE 'hp8_nopad_bin'; 1570INSERT INTO t2 VALUES ('abc '),('abc '),(' a'),('a '); 1571SELECT HEX(a),a FROM (SELECT * FROM t1 UNION SELECT * FROM t2 ORDER BY a) td; 1572HEX(a) a 15732061 a 1574206120 a 15756120 a 157661202020 a 1577616263 abc 157861626320 abc 15796162632020 abc 1580DROP TABLE t1; 1581DROP TABLE t2; 1582# 1583# DISTINCT, COUNT, MAX 1584# 1585CREATE TABLE t1 (a VARCHAR(10)) COLLATE 'hp8_nopad_bin'; 1586INSERT INTO t1 VALUES ('a'),('a '),(' a'),(' a '),('a '); 1587SELECT HEX(a), a FROM (SELECT DISTINCT a FROM t1 ORDER BY a) td; 1588HEX(a) a 15892061 a 1590206120 a 159161 a 1592612020 a 159361202020 a 1594SELECT COUNT(DISTINCT a) FROM t1 ORDER BY a; 1595COUNT(DISTINCT a) 15965 1597SELECT HEX(MAX(a)), MAX(a) FROM t1; 1598HEX(MAX(a)) MAX(a) 159961202020 a 1600# 1601# GROUP BY 1602# 1603CREATE TABLE t2 (a VARCHAR(10), b int, c varchar(10)) COLLATE 'hp8_nopad_bin'; 1604INSERT t2 values('ab', 12, 'cd'), ('ab', 2, 'ed'), ('aa', 20, 'er'), ('aa ', 0, 'er '); 1605SELECT HEX(a), cnt FROM (SELECT a, COUNT(a) AS cnt FROM t2 GROUP BY a ORDER BY a) AS td; 1606HEX(a) cnt 16076161 1 160861612020 1 16096162 2 1610DROP TABLE t2; 1611# 1612# Weights 1613# 1614SELECT HEX(WEIGHT_STRING(a AS CHAR(10))) FROM t1; 1615HEX(WEIGHT_STRING(a AS CHAR(10))) 161661000000000000000000 161761202000000000000000 161820610000000000000000 161920612000000000000000 162061202020000000000000 1621DROP TABLE t1; 1622# 1623# IF, CASE, LEAST 1624# 1625SELECT IF('abc' COLLATE 'hp8_nopad_bin' = 'abc ', 'pad', 'nopad'); 1626IF('abc' COLLATE 'hp8_nopad_bin' = 'abc ', 'pad', 'nopad') 1627nopad 1628SELECT CASE 'abc' COLLATE 'hp8_nopad_bin' WHEN 'abc ' THEN 'pad' ELSE 'nopad' END; 1629CASE 'abc' COLLATE 'hp8_nopad_bin' WHEN 'abc ' THEN 'pad' ELSE 'nopad' END 1630nopad 1631SELECT CASE WHEN 'abc' COLLATE 'hp8_nopad_bin' = 'abc ' THEN 'pad' ELSE 'nopad' END; 1632CASE WHEN 'abc' COLLATE 'hp8_nopad_bin' = 'abc ' THEN 'pad' ELSE 'nopad' END 1633nopad 1634SELECT HEX(LEAST('abc ' COLLATE 'hp8_nopad_bin', 'abc ')); 1635HEX(LEAST('abc ' COLLATE 'hp8_nopad_bin', 'abc ')) 163661626320 1637SELECT HEX(GREATEST('abc ' COLLATE 'hp8_nopad_bin', 'abc ')); 1638HEX(GREATEST('abc ' COLLATE 'hp8_nopad_bin', 'abc ')) 16396162632020 1640# 1641# Collation mix 1642# 1643CREATE TABLE t1 (a VARCHAR(10)) COLLATE 'hp8_bin'; 1644INSERT INTO t1 VALUES ('a'),('a '); 1645SELECT COUNT(*) FROM t1 WHERE a='a'; 1646COUNT(*) 16472 1648SELECT COUNT(*) FROM t1 WHERE a='a' COLLATE 'hp8_bin'; 1649COUNT(*) 16502 1651SELECT COUNT(*) FROM t1 WHERE a='a' COLLATE 'hp8_nopad_bin'; 1652COUNT(*) 16531 1654ALTER TABLE t1 MODIFY a VARCHAR(10) COLLATE 'hp8_nopad_bin'; 1655SELECT COUNT(*) FROM t1 WHERE a='a'; 1656COUNT(*) 16571 1658SELECT COUNT(*) FROM t1 WHERE a='a' COLLATE 'hp8_bin'; 1659COUNT(*) 16602 1661SELECT COUNT(*) FROM t1 WHERE a='a' COLLATE 'hp8_nopad_bin'; 1662COUNT(*) 16631 1664DROP TABLE t1; 1665# 1666# End of ctype_pad.inc 1667# 1668SET DEFAULT_STORAGE_ENGINE=Default; 1669SET character_set_connection=koi8r; 1670SET DEFAULT_STORAGE_ENGINE=MyISAM; 1671# 1672# Start of ctype_pad.inc 1673# 1674# 1675# Unique indexes 1676# 1677CREATE TABLE t1 (a VARCHAR(10) PRIMARY KEY) COLLATE 'koi8r_general_nopad_ci'; 1678SHOW CREATE TABLE t1; 1679Table Create Table 1680t1 CREATE TABLE `t1` ( 1681 `a` varchar(10) COLLATE koi8r_general_nopad_ci NOT NULL, 1682 PRIMARY KEY (`a`) 1683) ENGINE=MyISAM DEFAULT CHARSET=koi8r COLLATE=koi8r_general_nopad_ci 1684INSERT INTO t1 VALUES ('abc'),('abc '),(' a'),(' a '),('a '); 1685SELECT HEX(a), a FROM t1 ORDER BY a; 1686HEX(a) a 16872061 a 1688206120 a 168961202020 a 1690616263 abc 16916162632020 abc 1692SELECT HEX(a), a FROM t1 IGNORE INDEX(PRIMARY) ORDER BY a; 1693HEX(a) a 16942061 a 1695206120 a 169661202020 a 1697616263 abc 16986162632020 abc 1699SELECT HEX(a), a FROM t1 IGNORE INDEX(PRIMARY) ORDER BY a DESC; 1700HEX(a) a 17016162632020 abc 1702616263 abc 170361202020 a 1704206120 a 17052061 a 1706# 1707# UNION 1708# 1709CREATE TABLE t2 (a VARCHAR(10)) COLLATE 'koi8r_general_nopad_ci'; 1710INSERT INTO t2 VALUES ('abc '),('abc '),(' a'),('a '); 1711SELECT HEX(a),a FROM (SELECT * FROM t1 UNION SELECT * FROM t2 ORDER BY a) td; 1712HEX(a) a 17132061 a 1714206120 a 17156120 a 171661202020 a 1717616263 abc 171861626320 abc 17196162632020 abc 1720DROP TABLE t1; 1721DROP TABLE t2; 1722# 1723# DISTINCT, COUNT, MAX 1724# 1725CREATE TABLE t1 (a VARCHAR(10)) COLLATE 'koi8r_general_nopad_ci'; 1726INSERT INTO t1 VALUES ('a'),('a '),(' a'),(' a '),('a '); 1727SELECT HEX(a), a FROM (SELECT DISTINCT a FROM t1 ORDER BY a) td; 1728HEX(a) a 17292061 a 1730206120 a 173161 a 1732612020 a 173361202020 a 1734SELECT COUNT(DISTINCT a) FROM t1 ORDER BY a; 1735COUNT(DISTINCT a) 17365 1737SELECT HEX(MAX(a)), MAX(a) FROM t1; 1738HEX(MAX(a)) MAX(a) 173961202020 a 1740# 1741# GROUP BY 1742# 1743CREATE TABLE t2 (a VARCHAR(10), b int, c varchar(10)) COLLATE 'koi8r_general_nopad_ci'; 1744INSERT t2 values('ab', 12, 'cd'), ('ab', 2, 'ed'), ('aa', 20, 'er'), ('aa ', 0, 'er '); 1745SELECT HEX(a), cnt FROM (SELECT a, COUNT(a) AS cnt FROM t2 GROUP BY a ORDER BY a) AS td; 1746HEX(a) cnt 17476161 1 174861612020 1 17496162 2 1750DROP TABLE t2; 1751# 1752# Weights 1753# 1754SELECT HEX(WEIGHT_STRING(a AS CHAR(10))) FROM t1; 1755HEX(WEIGHT_STRING(a AS CHAR(10))) 175641000000000000000000 175741202000000000000000 175820410000000000000000 175920412000000000000000 176041202020000000000000 1761DROP TABLE t1; 1762# 1763# IF, CASE, LEAST 1764# 1765SELECT IF('abc' COLLATE 'koi8r_general_nopad_ci' = 'abc ', 'pad', 'nopad'); 1766IF('abc' COLLATE 'koi8r_general_nopad_ci' = 'abc ', 'pad', 'nopad') 1767nopad 1768SELECT CASE 'abc' COLLATE 'koi8r_general_nopad_ci' WHEN 'abc ' THEN 'pad' ELSE 'nopad' END; 1769CASE 'abc' COLLATE 'koi8r_general_nopad_ci' WHEN 'abc ' THEN 'pad' ELSE 'nopad' END 1770nopad 1771SELECT CASE WHEN 'abc' COLLATE 'koi8r_general_nopad_ci' = 'abc ' THEN 'pad' ELSE 'nopad' END; 1772CASE WHEN 'abc' COLLATE 'koi8r_general_nopad_ci' = 'abc ' THEN 'pad' ELSE 'nopad' END 1773nopad 1774SELECT HEX(LEAST('abc ' COLLATE 'koi8r_general_nopad_ci', 'abc ')); 1775HEX(LEAST('abc ' COLLATE 'koi8r_general_nopad_ci', 'abc ')) 177661626320 1777SELECT HEX(GREATEST('abc ' COLLATE 'koi8r_general_nopad_ci', 'abc ')); 1778HEX(GREATEST('abc ' COLLATE 'koi8r_general_nopad_ci', 'abc ')) 17796162632020 1780# 1781# Collation mix 1782# 1783CREATE TABLE t1 (a VARCHAR(10)) COLLATE 'koi8r_general_ci'; 1784INSERT INTO t1 VALUES ('a'),('a '); 1785SELECT COUNT(*) FROM t1 WHERE a='a'; 1786COUNT(*) 17872 1788SELECT COUNT(*) FROM t1 WHERE a='a' COLLATE 'koi8r_general_ci'; 1789COUNT(*) 17902 1791SELECT COUNT(*) FROM t1 WHERE a='a' COLLATE 'koi8r_general_nopad_ci'; 1792COUNT(*) 17931 1794ALTER TABLE t1 MODIFY a VARCHAR(10) COLLATE 'koi8r_general_nopad_ci'; 1795SELECT COUNT(*) FROM t1 WHERE a='a'; 1796COUNT(*) 17971 1798SELECT COUNT(*) FROM t1 WHERE a='a' COLLATE 'koi8r_general_ci'; 1799COUNT(*) 18002 1801SELECT COUNT(*) FROM t1 WHERE a='a' COLLATE 'koi8r_general_nopad_ci'; 1802COUNT(*) 18031 1804DROP TABLE t1; 1805# 1806# End of ctype_pad.inc 1807# 1808SET DEFAULT_STORAGE_ENGINE=HEAP; 1809# 1810# Start of ctype_pad.inc 1811# 1812# 1813# Unique indexes 1814# 1815CREATE TABLE t1 (a VARCHAR(10) PRIMARY KEY) COLLATE 'koi8r_general_nopad_ci'; 1816SHOW CREATE TABLE t1; 1817Table Create Table 1818t1 CREATE TABLE `t1` ( 1819 `a` varchar(10) COLLATE koi8r_general_nopad_ci NOT NULL, 1820 PRIMARY KEY (`a`) 1821) ENGINE=MEMORY DEFAULT CHARSET=koi8r COLLATE=koi8r_general_nopad_ci 1822INSERT INTO t1 VALUES ('abc'),('abc '),(' a'),(' a '),('a '); 1823SELECT HEX(a), a FROM t1 ORDER BY a; 1824HEX(a) a 18252061 a 1826206120 a 182761202020 a 1828616263 abc 18296162632020 abc 1830SELECT HEX(a), a FROM t1 IGNORE INDEX(PRIMARY) ORDER BY a; 1831HEX(a) a 18322061 a 1833206120 a 183461202020 a 1835616263 abc 18366162632020 abc 1837SELECT HEX(a), a FROM t1 IGNORE INDEX(PRIMARY) ORDER BY a DESC; 1838HEX(a) a 18396162632020 abc 1840616263 abc 184161202020 a 1842206120 a 18432061 a 1844# 1845# UNION 1846# 1847CREATE TABLE t2 (a VARCHAR(10)) COLLATE 'koi8r_general_nopad_ci'; 1848INSERT INTO t2 VALUES ('abc '),('abc '),(' a'),('a '); 1849SELECT HEX(a),a FROM (SELECT * FROM t1 UNION SELECT * FROM t2 ORDER BY a) td; 1850HEX(a) a 18512061 a 1852206120 a 18536120 a 185461202020 a 1855616263 abc 185661626320 abc 18576162632020 abc 1858DROP TABLE t1; 1859DROP TABLE t2; 1860# 1861# DISTINCT, COUNT, MAX 1862# 1863CREATE TABLE t1 (a VARCHAR(10)) COLLATE 'koi8r_general_nopad_ci'; 1864INSERT INTO t1 VALUES ('a'),('a '),(' a'),(' a '),('a '); 1865SELECT HEX(a), a FROM (SELECT DISTINCT a FROM t1 ORDER BY a) td; 1866HEX(a) a 18672061 a 1868206120 a 186961 a 1870612020 a 187161202020 a 1872SELECT COUNT(DISTINCT a) FROM t1 ORDER BY a; 1873COUNT(DISTINCT a) 18745 1875SELECT HEX(MAX(a)), MAX(a) FROM t1; 1876HEX(MAX(a)) MAX(a) 187761202020 a 1878# 1879# GROUP BY 1880# 1881CREATE TABLE t2 (a VARCHAR(10), b int, c varchar(10)) COLLATE 'koi8r_general_nopad_ci'; 1882INSERT t2 values('ab', 12, 'cd'), ('ab', 2, 'ed'), ('aa', 20, 'er'), ('aa ', 0, 'er '); 1883SELECT HEX(a), cnt FROM (SELECT a, COUNT(a) AS cnt FROM t2 GROUP BY a ORDER BY a) AS td; 1884HEX(a) cnt 18856161 1 188661612020 1 18876162 2 1888DROP TABLE t2; 1889# 1890# Weights 1891# 1892SELECT HEX(WEIGHT_STRING(a AS CHAR(10))) FROM t1; 1893HEX(WEIGHT_STRING(a AS CHAR(10))) 189441000000000000000000 189541202000000000000000 189620410000000000000000 189720412000000000000000 189841202020000000000000 1899DROP TABLE t1; 1900# 1901# IF, CASE, LEAST 1902# 1903SELECT IF('abc' COLLATE 'koi8r_general_nopad_ci' = 'abc ', 'pad', 'nopad'); 1904IF('abc' COLLATE 'koi8r_general_nopad_ci' = 'abc ', 'pad', 'nopad') 1905nopad 1906SELECT CASE 'abc' COLLATE 'koi8r_general_nopad_ci' WHEN 'abc ' THEN 'pad' ELSE 'nopad' END; 1907CASE 'abc' COLLATE 'koi8r_general_nopad_ci' WHEN 'abc ' THEN 'pad' ELSE 'nopad' END 1908nopad 1909SELECT CASE WHEN 'abc' COLLATE 'koi8r_general_nopad_ci' = 'abc ' THEN 'pad' ELSE 'nopad' END; 1910CASE WHEN 'abc' COLLATE 'koi8r_general_nopad_ci' = 'abc ' THEN 'pad' ELSE 'nopad' END 1911nopad 1912SELECT HEX(LEAST('abc ' COLLATE 'koi8r_general_nopad_ci', 'abc ')); 1913HEX(LEAST('abc ' COLLATE 'koi8r_general_nopad_ci', 'abc ')) 191461626320 1915SELECT HEX(GREATEST('abc ' COLLATE 'koi8r_general_nopad_ci', 'abc ')); 1916HEX(GREATEST('abc ' COLLATE 'koi8r_general_nopad_ci', 'abc ')) 19176162632020 1918# 1919# Collation mix 1920# 1921CREATE TABLE t1 (a VARCHAR(10)) COLLATE 'koi8r_general_ci'; 1922INSERT INTO t1 VALUES ('a'),('a '); 1923SELECT COUNT(*) FROM t1 WHERE a='a'; 1924COUNT(*) 19252 1926SELECT COUNT(*) FROM t1 WHERE a='a' COLLATE 'koi8r_general_ci'; 1927COUNT(*) 19282 1929SELECT COUNT(*) FROM t1 WHERE a='a' COLLATE 'koi8r_general_nopad_ci'; 1930COUNT(*) 19311 1932ALTER TABLE t1 MODIFY a VARCHAR(10) COLLATE 'koi8r_general_nopad_ci'; 1933SELECT COUNT(*) FROM t1 WHERE a='a'; 1934COUNT(*) 19351 1936SELECT COUNT(*) FROM t1 WHERE a='a' COLLATE 'koi8r_general_ci'; 1937COUNT(*) 19382 1939SELECT COUNT(*) FROM t1 WHERE a='a' COLLATE 'koi8r_general_nopad_ci'; 1940COUNT(*) 19411 1942DROP TABLE t1; 1943# 1944# End of ctype_pad.inc 1945# 1946SET DEFAULT_STORAGE_ENGINE=Default; 1947SET DEFAULT_STORAGE_ENGINE=MyISAM; 1948# 1949# Start of ctype_pad.inc 1950# 1951# 1952# Unique indexes 1953# 1954CREATE TABLE t1 (a VARCHAR(10) PRIMARY KEY) COLLATE 'koi8r_nopad_bin'; 1955SHOW CREATE TABLE t1; 1956Table Create Table 1957t1 CREATE TABLE `t1` ( 1958 `a` varchar(10) COLLATE koi8r_nopad_bin NOT NULL, 1959 PRIMARY KEY (`a`) 1960) ENGINE=MyISAM DEFAULT CHARSET=koi8r COLLATE=koi8r_nopad_bin 1961INSERT INTO t1 VALUES ('abc'),('abc '),(' a'),(' a '),('a '); 1962SELECT HEX(a), a FROM t1 ORDER BY a; 1963HEX(a) a 19642061 a 1965206120 a 196661202020 a 1967616263 abc 19686162632020 abc 1969SELECT HEX(a), a FROM t1 IGNORE INDEX(PRIMARY) ORDER BY a; 1970HEX(a) a 19712061 a 1972206120 a 197361202020 a 1974616263 abc 19756162632020 abc 1976SELECT HEX(a), a FROM t1 IGNORE INDEX(PRIMARY) ORDER BY a DESC; 1977HEX(a) a 19786162632020 abc 1979616263 abc 198061202020 a 1981206120 a 19822061 a 1983# 1984# UNION 1985# 1986CREATE TABLE t2 (a VARCHAR(10)) COLLATE 'koi8r_nopad_bin'; 1987INSERT INTO t2 VALUES ('abc '),('abc '),(' a'),('a '); 1988SELECT HEX(a),a FROM (SELECT * FROM t1 UNION SELECT * FROM t2 ORDER BY a) td; 1989HEX(a) a 19902061 a 1991206120 a 19926120 a 199361202020 a 1994616263 abc 199561626320 abc 19966162632020 abc 1997DROP TABLE t1; 1998DROP TABLE t2; 1999# 2000# DISTINCT, COUNT, MAX 2001# 2002CREATE TABLE t1 (a VARCHAR(10)) COLLATE 'koi8r_nopad_bin'; 2003INSERT INTO t1 VALUES ('a'),('a '),(' a'),(' a '),('a '); 2004SELECT HEX(a), a FROM (SELECT DISTINCT a FROM t1 ORDER BY a) td; 2005HEX(a) a 20062061 a 2007206120 a 200861 a 2009612020 a 201061202020 a 2011SELECT COUNT(DISTINCT a) FROM t1 ORDER BY a; 2012COUNT(DISTINCT a) 20135 2014SELECT HEX(MAX(a)), MAX(a) FROM t1; 2015HEX(MAX(a)) MAX(a) 201661202020 a 2017# 2018# GROUP BY 2019# 2020CREATE TABLE t2 (a VARCHAR(10), b int, c varchar(10)) COLLATE 'koi8r_nopad_bin'; 2021INSERT t2 values('ab', 12, 'cd'), ('ab', 2, 'ed'), ('aa', 20, 'er'), ('aa ', 0, 'er '); 2022SELECT HEX(a), cnt FROM (SELECT a, COUNT(a) AS cnt FROM t2 GROUP BY a ORDER BY a) AS td; 2023HEX(a) cnt 20246161 1 202561612020 1 20266162 2 2027DROP TABLE t2; 2028# 2029# Weights 2030# 2031SELECT HEX(WEIGHT_STRING(a AS CHAR(10))) FROM t1; 2032HEX(WEIGHT_STRING(a AS CHAR(10))) 203361000000000000000000 203461202000000000000000 203520610000000000000000 203620612000000000000000 203761202020000000000000 2038DROP TABLE t1; 2039# 2040# IF, CASE, LEAST 2041# 2042SELECT IF('abc' COLLATE 'koi8r_nopad_bin' = 'abc ', 'pad', 'nopad'); 2043IF('abc' COLLATE 'koi8r_nopad_bin' = 'abc ', 'pad', 'nopad') 2044nopad 2045SELECT CASE 'abc' COLLATE 'koi8r_nopad_bin' WHEN 'abc ' THEN 'pad' ELSE 'nopad' END; 2046CASE 'abc' COLLATE 'koi8r_nopad_bin' WHEN 'abc ' THEN 'pad' ELSE 'nopad' END 2047nopad 2048SELECT CASE WHEN 'abc' COLLATE 'koi8r_nopad_bin' = 'abc ' THEN 'pad' ELSE 'nopad' END; 2049CASE WHEN 'abc' COLLATE 'koi8r_nopad_bin' = 'abc ' THEN 'pad' ELSE 'nopad' END 2050nopad 2051SELECT HEX(LEAST('abc ' COLLATE 'koi8r_nopad_bin', 'abc ')); 2052HEX(LEAST('abc ' COLLATE 'koi8r_nopad_bin', 'abc ')) 205361626320 2054SELECT HEX(GREATEST('abc ' COLLATE 'koi8r_nopad_bin', 'abc ')); 2055HEX(GREATEST('abc ' COLLATE 'koi8r_nopad_bin', 'abc ')) 20566162632020 2057# 2058# Collation mix 2059# 2060CREATE TABLE t1 (a VARCHAR(10)) COLLATE 'koi8r_bin'; 2061INSERT INTO t1 VALUES ('a'),('a '); 2062SELECT COUNT(*) FROM t1 WHERE a='a'; 2063COUNT(*) 20642 2065SELECT COUNT(*) FROM t1 WHERE a='a' COLLATE 'koi8r_bin'; 2066COUNT(*) 20672 2068SELECT COUNT(*) FROM t1 WHERE a='a' COLLATE 'koi8r_nopad_bin'; 2069COUNT(*) 20701 2071ALTER TABLE t1 MODIFY a VARCHAR(10) COLLATE 'koi8r_nopad_bin'; 2072SELECT COUNT(*) FROM t1 WHERE a='a'; 2073COUNT(*) 20741 2075SELECT COUNT(*) FROM t1 WHERE a='a' COLLATE 'koi8r_bin'; 2076COUNT(*) 20772 2078SELECT COUNT(*) FROM t1 WHERE a='a' COLLATE 'koi8r_nopad_bin'; 2079COUNT(*) 20801 2081DROP TABLE t1; 2082# 2083# End of ctype_pad.inc 2084# 2085SET DEFAULT_STORAGE_ENGINE=HEAP; 2086# 2087# Start of ctype_pad.inc 2088# 2089# 2090# Unique indexes 2091# 2092CREATE TABLE t1 (a VARCHAR(10) PRIMARY KEY) COLLATE 'koi8r_nopad_bin'; 2093SHOW CREATE TABLE t1; 2094Table Create Table 2095t1 CREATE TABLE `t1` ( 2096 `a` varchar(10) COLLATE koi8r_nopad_bin NOT NULL, 2097 PRIMARY KEY (`a`) 2098) ENGINE=MEMORY DEFAULT CHARSET=koi8r COLLATE=koi8r_nopad_bin 2099INSERT INTO t1 VALUES ('abc'),('abc '),(' a'),(' a '),('a '); 2100SELECT HEX(a), a FROM t1 ORDER BY a; 2101HEX(a) a 21022061 a 2103206120 a 210461202020 a 2105616263 abc 21066162632020 abc 2107SELECT HEX(a), a FROM t1 IGNORE INDEX(PRIMARY) ORDER BY a; 2108HEX(a) a 21092061 a 2110206120 a 211161202020 a 2112616263 abc 21136162632020 abc 2114SELECT HEX(a), a FROM t1 IGNORE INDEX(PRIMARY) ORDER BY a DESC; 2115HEX(a) a 21166162632020 abc 2117616263 abc 211861202020 a 2119206120 a 21202061 a 2121# 2122# UNION 2123# 2124CREATE TABLE t2 (a VARCHAR(10)) COLLATE 'koi8r_nopad_bin'; 2125INSERT INTO t2 VALUES ('abc '),('abc '),(' a'),('a '); 2126SELECT HEX(a),a FROM (SELECT * FROM t1 UNION SELECT * FROM t2 ORDER BY a) td; 2127HEX(a) a 21282061 a 2129206120 a 21306120 a 213161202020 a 2132616263 abc 213361626320 abc 21346162632020 abc 2135DROP TABLE t1; 2136DROP TABLE t2; 2137# 2138# DISTINCT, COUNT, MAX 2139# 2140CREATE TABLE t1 (a VARCHAR(10)) COLLATE 'koi8r_nopad_bin'; 2141INSERT INTO t1 VALUES ('a'),('a '),(' a'),(' a '),('a '); 2142SELECT HEX(a), a FROM (SELECT DISTINCT a FROM t1 ORDER BY a) td; 2143HEX(a) a 21442061 a 2145206120 a 214661 a 2147612020 a 214861202020 a 2149SELECT COUNT(DISTINCT a) FROM t1 ORDER BY a; 2150COUNT(DISTINCT a) 21515 2152SELECT HEX(MAX(a)), MAX(a) FROM t1; 2153HEX(MAX(a)) MAX(a) 215461202020 a 2155# 2156# GROUP BY 2157# 2158CREATE TABLE t2 (a VARCHAR(10), b int, c varchar(10)) COLLATE 'koi8r_nopad_bin'; 2159INSERT t2 values('ab', 12, 'cd'), ('ab', 2, 'ed'), ('aa', 20, 'er'), ('aa ', 0, 'er '); 2160SELECT HEX(a), cnt FROM (SELECT a, COUNT(a) AS cnt FROM t2 GROUP BY a ORDER BY a) AS td; 2161HEX(a) cnt 21626161 1 216361612020 1 21646162 2 2165DROP TABLE t2; 2166# 2167# Weights 2168# 2169SELECT HEX(WEIGHT_STRING(a AS CHAR(10))) FROM t1; 2170HEX(WEIGHT_STRING(a AS CHAR(10))) 217161000000000000000000 217261202000000000000000 217320610000000000000000 217420612000000000000000 217561202020000000000000 2176DROP TABLE t1; 2177# 2178# IF, CASE, LEAST 2179# 2180SELECT IF('abc' COLLATE 'koi8r_nopad_bin' = 'abc ', 'pad', 'nopad'); 2181IF('abc' COLLATE 'koi8r_nopad_bin' = 'abc ', 'pad', 'nopad') 2182nopad 2183SELECT CASE 'abc' COLLATE 'koi8r_nopad_bin' WHEN 'abc ' THEN 'pad' ELSE 'nopad' END; 2184CASE 'abc' COLLATE 'koi8r_nopad_bin' WHEN 'abc ' THEN 'pad' ELSE 'nopad' END 2185nopad 2186SELECT CASE WHEN 'abc' COLLATE 'koi8r_nopad_bin' = 'abc ' THEN 'pad' ELSE 'nopad' END; 2187CASE WHEN 'abc' COLLATE 'koi8r_nopad_bin' = 'abc ' THEN 'pad' ELSE 'nopad' END 2188nopad 2189SELECT HEX(LEAST('abc ' COLLATE 'koi8r_nopad_bin', 'abc ')); 2190HEX(LEAST('abc ' COLLATE 'koi8r_nopad_bin', 'abc ')) 219161626320 2192SELECT HEX(GREATEST('abc ' COLLATE 'koi8r_nopad_bin', 'abc ')); 2193HEX(GREATEST('abc ' COLLATE 'koi8r_nopad_bin', 'abc ')) 21946162632020 2195# 2196# Collation mix 2197# 2198CREATE TABLE t1 (a VARCHAR(10)) COLLATE 'koi8r_bin'; 2199INSERT INTO t1 VALUES ('a'),('a '); 2200SELECT COUNT(*) FROM t1 WHERE a='a'; 2201COUNT(*) 22022 2203SELECT COUNT(*) FROM t1 WHERE a='a' COLLATE 'koi8r_bin'; 2204COUNT(*) 22052 2206SELECT COUNT(*) FROM t1 WHERE a='a' COLLATE 'koi8r_nopad_bin'; 2207COUNT(*) 22081 2209ALTER TABLE t1 MODIFY a VARCHAR(10) COLLATE 'koi8r_nopad_bin'; 2210SELECT COUNT(*) FROM t1 WHERE a='a'; 2211COUNT(*) 22121 2213SELECT COUNT(*) FROM t1 WHERE a='a' COLLATE 'koi8r_bin'; 2214COUNT(*) 22152 2216SELECT COUNT(*) FROM t1 WHERE a='a' COLLATE 'koi8r_nopad_bin'; 2217COUNT(*) 22181 2219DROP TABLE t1; 2220# 2221# End of ctype_pad.inc 2222# 2223SET DEFAULT_STORAGE_ENGINE=Default; 2224SET character_set_connection=latin2; 2225SET DEFAULT_STORAGE_ENGINE=MyISAM; 2226# 2227# Start of ctype_pad.inc 2228# 2229# 2230# Unique indexes 2231# 2232CREATE TABLE t1 (a VARCHAR(10) PRIMARY KEY) COLLATE 'latin2_general_nopad_ci'; 2233SHOW CREATE TABLE t1; 2234Table Create Table 2235t1 CREATE TABLE `t1` ( 2236 `a` varchar(10) COLLATE latin2_general_nopad_ci NOT NULL, 2237 PRIMARY KEY (`a`) 2238) ENGINE=MyISAM DEFAULT CHARSET=latin2 COLLATE=latin2_general_nopad_ci 2239INSERT INTO t1 VALUES ('abc'),('abc '),(' a'),(' a '),('a '); 2240SELECT HEX(a), a FROM t1 ORDER BY a; 2241HEX(a) a 22422061 a 2243206120 a 224461202020 a 2245616263 abc 22466162632020 abc 2247SELECT HEX(a), a FROM t1 IGNORE INDEX(PRIMARY) ORDER BY a; 2248HEX(a) a 22492061 a 2250206120 a 225161202020 a 2252616263 abc 22536162632020 abc 2254SELECT HEX(a), a FROM t1 IGNORE INDEX(PRIMARY) ORDER BY a DESC; 2255HEX(a) a 22566162632020 abc 2257616263 abc 225861202020 a 2259206120 a 22602061 a 2261# 2262# UNION 2263# 2264CREATE TABLE t2 (a VARCHAR(10)) COLLATE 'latin2_general_nopad_ci'; 2265INSERT INTO t2 VALUES ('abc '),('abc '),(' a'),('a '); 2266SELECT HEX(a),a FROM (SELECT * FROM t1 UNION SELECT * FROM t2 ORDER BY a) td; 2267HEX(a) a 22682061 a 2269206120 a 22706120 a 227161202020 a 2272616263 abc 227361626320 abc 22746162632020 abc 2275DROP TABLE t1; 2276DROP TABLE t2; 2277# 2278# DISTINCT, COUNT, MAX 2279# 2280CREATE TABLE t1 (a VARCHAR(10)) COLLATE 'latin2_general_nopad_ci'; 2281INSERT INTO t1 VALUES ('a'),('a '),(' a'),(' a '),('a '); 2282SELECT HEX(a), a FROM (SELECT DISTINCT a FROM t1 ORDER BY a) td; 2283HEX(a) a 22842061 a 2285206120 a 228661 a 2287612020 a 228861202020 a 2289SELECT COUNT(DISTINCT a) FROM t1 ORDER BY a; 2290COUNT(DISTINCT a) 22915 2292SELECT HEX(MAX(a)), MAX(a) FROM t1; 2293HEX(MAX(a)) MAX(a) 229461202020 a 2295# 2296# GROUP BY 2297# 2298CREATE TABLE t2 (a VARCHAR(10), b int, c varchar(10)) COLLATE 'latin2_general_nopad_ci'; 2299INSERT t2 values('ab', 12, 'cd'), ('ab', 2, 'ed'), ('aa', 20, 'er'), ('aa ', 0, 'er '); 2300SELECT HEX(a), cnt FROM (SELECT a, COUNT(a) AS cnt FROM t2 GROUP BY a ORDER BY a) AS td; 2301HEX(a) cnt 23026161 1 230361612020 1 23046162 2 2305DROP TABLE t2; 2306# 2307# Weights 2308# 2309SELECT HEX(WEIGHT_STRING(a AS CHAR(10))) FROM t1; 2310HEX(WEIGHT_STRING(a AS CHAR(10))) 231141000000000000000000 231241202000000000000000 231320410000000000000000 231420412000000000000000 231541202020000000000000 2316DROP TABLE t1; 2317# 2318# IF, CASE, LEAST 2319# 2320SELECT IF('abc' COLLATE 'latin2_general_nopad_ci' = 'abc ', 'pad', 'nopad'); 2321IF('abc' COLLATE 'latin2_general_nopad_ci' = 'abc ', 'pad', 'nopad') 2322nopad 2323SELECT CASE 'abc' COLLATE 'latin2_general_nopad_ci' WHEN 'abc ' THEN 'pad' ELSE 'nopad' END; 2324CASE 'abc' COLLATE 'latin2_general_nopad_ci' WHEN 'abc ' THEN 'pad' ELSE 'nopad' END 2325nopad 2326SELECT CASE WHEN 'abc' COLLATE 'latin2_general_nopad_ci' = 'abc ' THEN 'pad' ELSE 'nopad' END; 2327CASE WHEN 'abc' COLLATE 'latin2_general_nopad_ci' = 'abc ' THEN 'pad' ELSE 'nopad' END 2328nopad 2329SELECT HEX(LEAST('abc ' COLLATE 'latin2_general_nopad_ci', 'abc ')); 2330HEX(LEAST('abc ' COLLATE 'latin2_general_nopad_ci', 'abc ')) 233161626320 2332SELECT HEX(GREATEST('abc ' COLLATE 'latin2_general_nopad_ci', 'abc ')); 2333HEX(GREATEST('abc ' COLLATE 'latin2_general_nopad_ci', 'abc ')) 23346162632020 2335# 2336# Collation mix 2337# 2338CREATE TABLE t1 (a VARCHAR(10)) COLLATE 'latin2_general_ci'; 2339INSERT INTO t1 VALUES ('a'),('a '); 2340SELECT COUNT(*) FROM t1 WHERE a='a'; 2341COUNT(*) 23422 2343SELECT COUNT(*) FROM t1 WHERE a='a' COLLATE 'latin2_general_ci'; 2344COUNT(*) 23452 2346SELECT COUNT(*) FROM t1 WHERE a='a' COLLATE 'latin2_general_nopad_ci'; 2347COUNT(*) 23481 2349ALTER TABLE t1 MODIFY a VARCHAR(10) COLLATE 'latin2_general_nopad_ci'; 2350SELECT COUNT(*) FROM t1 WHERE a='a'; 2351COUNT(*) 23521 2353SELECT COUNT(*) FROM t1 WHERE a='a' COLLATE 'latin2_general_ci'; 2354COUNT(*) 23552 2356SELECT COUNT(*) FROM t1 WHERE a='a' COLLATE 'latin2_general_nopad_ci'; 2357COUNT(*) 23581 2359DROP TABLE t1; 2360# 2361# End of ctype_pad.inc 2362# 2363SET DEFAULT_STORAGE_ENGINE=HEAP; 2364# 2365# Start of ctype_pad.inc 2366# 2367# 2368# Unique indexes 2369# 2370CREATE TABLE t1 (a VARCHAR(10) PRIMARY KEY) COLLATE 'latin2_general_nopad_ci'; 2371SHOW CREATE TABLE t1; 2372Table Create Table 2373t1 CREATE TABLE `t1` ( 2374 `a` varchar(10) COLLATE latin2_general_nopad_ci NOT NULL, 2375 PRIMARY KEY (`a`) 2376) ENGINE=MEMORY DEFAULT CHARSET=latin2 COLLATE=latin2_general_nopad_ci 2377INSERT INTO t1 VALUES ('abc'),('abc '),(' a'),(' a '),('a '); 2378SELECT HEX(a), a FROM t1 ORDER BY a; 2379HEX(a) a 23802061 a 2381206120 a 238261202020 a 2383616263 abc 23846162632020 abc 2385SELECT HEX(a), a FROM t1 IGNORE INDEX(PRIMARY) ORDER BY a; 2386HEX(a) a 23872061 a 2388206120 a 238961202020 a 2390616263 abc 23916162632020 abc 2392SELECT HEX(a), a FROM t1 IGNORE INDEX(PRIMARY) ORDER BY a DESC; 2393HEX(a) a 23946162632020 abc 2395616263 abc 239661202020 a 2397206120 a 23982061 a 2399# 2400# UNION 2401# 2402CREATE TABLE t2 (a VARCHAR(10)) COLLATE 'latin2_general_nopad_ci'; 2403INSERT INTO t2 VALUES ('abc '),('abc '),(' a'),('a '); 2404SELECT HEX(a),a FROM (SELECT * FROM t1 UNION SELECT * FROM t2 ORDER BY a) td; 2405HEX(a) a 24062061 a 2407206120 a 24086120 a 240961202020 a 2410616263 abc 241161626320 abc 24126162632020 abc 2413DROP TABLE t1; 2414DROP TABLE t2; 2415# 2416# DISTINCT, COUNT, MAX 2417# 2418CREATE TABLE t1 (a VARCHAR(10)) COLLATE 'latin2_general_nopad_ci'; 2419INSERT INTO t1 VALUES ('a'),('a '),(' a'),(' a '),('a '); 2420SELECT HEX(a), a FROM (SELECT DISTINCT a FROM t1 ORDER BY a) td; 2421HEX(a) a 24222061 a 2423206120 a 242461 a 2425612020 a 242661202020 a 2427SELECT COUNT(DISTINCT a) FROM t1 ORDER BY a; 2428COUNT(DISTINCT a) 24295 2430SELECT HEX(MAX(a)), MAX(a) FROM t1; 2431HEX(MAX(a)) MAX(a) 243261202020 a 2433# 2434# GROUP BY 2435# 2436CREATE TABLE t2 (a VARCHAR(10), b int, c varchar(10)) COLLATE 'latin2_general_nopad_ci'; 2437INSERT t2 values('ab', 12, 'cd'), ('ab', 2, 'ed'), ('aa', 20, 'er'), ('aa ', 0, 'er '); 2438SELECT HEX(a), cnt FROM (SELECT a, COUNT(a) AS cnt FROM t2 GROUP BY a ORDER BY a) AS td; 2439HEX(a) cnt 24406161 1 244161612020 1 24426162 2 2443DROP TABLE t2; 2444# 2445# Weights 2446# 2447SELECT HEX(WEIGHT_STRING(a AS CHAR(10))) FROM t1; 2448HEX(WEIGHT_STRING(a AS CHAR(10))) 244941000000000000000000 245041202000000000000000 245120410000000000000000 245220412000000000000000 245341202020000000000000 2454DROP TABLE t1; 2455# 2456# IF, CASE, LEAST 2457# 2458SELECT IF('abc' COLLATE 'latin2_general_nopad_ci' = 'abc ', 'pad', 'nopad'); 2459IF('abc' COLLATE 'latin2_general_nopad_ci' = 'abc ', 'pad', 'nopad') 2460nopad 2461SELECT CASE 'abc' COLLATE 'latin2_general_nopad_ci' WHEN 'abc ' THEN 'pad' ELSE 'nopad' END; 2462CASE 'abc' COLLATE 'latin2_general_nopad_ci' WHEN 'abc ' THEN 'pad' ELSE 'nopad' END 2463nopad 2464SELECT CASE WHEN 'abc' COLLATE 'latin2_general_nopad_ci' = 'abc ' THEN 'pad' ELSE 'nopad' END; 2465CASE WHEN 'abc' COLLATE 'latin2_general_nopad_ci' = 'abc ' THEN 'pad' ELSE 'nopad' END 2466nopad 2467SELECT HEX(LEAST('abc ' COLLATE 'latin2_general_nopad_ci', 'abc ')); 2468HEX(LEAST('abc ' COLLATE 'latin2_general_nopad_ci', 'abc ')) 246961626320 2470SELECT HEX(GREATEST('abc ' COLLATE 'latin2_general_nopad_ci', 'abc ')); 2471HEX(GREATEST('abc ' COLLATE 'latin2_general_nopad_ci', 'abc ')) 24726162632020 2473# 2474# Collation mix 2475# 2476CREATE TABLE t1 (a VARCHAR(10)) COLLATE 'latin2_general_ci'; 2477INSERT INTO t1 VALUES ('a'),('a '); 2478SELECT COUNT(*) FROM t1 WHERE a='a'; 2479COUNT(*) 24802 2481SELECT COUNT(*) FROM t1 WHERE a='a' COLLATE 'latin2_general_ci'; 2482COUNT(*) 24832 2484SELECT COUNT(*) FROM t1 WHERE a='a' COLLATE 'latin2_general_nopad_ci'; 2485COUNT(*) 24861 2487ALTER TABLE t1 MODIFY a VARCHAR(10) COLLATE 'latin2_general_nopad_ci'; 2488SELECT COUNT(*) FROM t1 WHERE a='a'; 2489COUNT(*) 24901 2491SELECT COUNT(*) FROM t1 WHERE a='a' COLLATE 'latin2_general_ci'; 2492COUNT(*) 24932 2494SELECT COUNT(*) FROM t1 WHERE a='a' COLLATE 'latin2_general_nopad_ci'; 2495COUNT(*) 24961 2497DROP TABLE t1; 2498# 2499# End of ctype_pad.inc 2500# 2501SET DEFAULT_STORAGE_ENGINE=Default; 2502SET DEFAULT_STORAGE_ENGINE=MyISAM; 2503# 2504# Start of ctype_pad.inc 2505# 2506# 2507# Unique indexes 2508# 2509CREATE TABLE t1 (a VARCHAR(10) PRIMARY KEY) COLLATE 'latin2_nopad_bin'; 2510SHOW CREATE TABLE t1; 2511Table Create Table 2512t1 CREATE TABLE `t1` ( 2513 `a` varchar(10) COLLATE latin2_nopad_bin NOT NULL, 2514 PRIMARY KEY (`a`) 2515) ENGINE=MyISAM DEFAULT CHARSET=latin2 COLLATE=latin2_nopad_bin 2516INSERT INTO t1 VALUES ('abc'),('abc '),(' a'),(' a '),('a '); 2517SELECT HEX(a), a FROM t1 ORDER BY a; 2518HEX(a) a 25192061 a 2520206120 a 252161202020 a 2522616263 abc 25236162632020 abc 2524SELECT HEX(a), a FROM t1 IGNORE INDEX(PRIMARY) ORDER BY a; 2525HEX(a) a 25262061 a 2527206120 a 252861202020 a 2529616263 abc 25306162632020 abc 2531SELECT HEX(a), a FROM t1 IGNORE INDEX(PRIMARY) ORDER BY a DESC; 2532HEX(a) a 25336162632020 abc 2534616263 abc 253561202020 a 2536206120 a 25372061 a 2538# 2539# UNION 2540# 2541CREATE TABLE t2 (a VARCHAR(10)) COLLATE 'latin2_nopad_bin'; 2542INSERT INTO t2 VALUES ('abc '),('abc '),(' a'),('a '); 2543SELECT HEX(a),a FROM (SELECT * FROM t1 UNION SELECT * FROM t2 ORDER BY a) td; 2544HEX(a) a 25452061 a 2546206120 a 25476120 a 254861202020 a 2549616263 abc 255061626320 abc 25516162632020 abc 2552DROP TABLE t1; 2553DROP TABLE t2; 2554# 2555# DISTINCT, COUNT, MAX 2556# 2557CREATE TABLE t1 (a VARCHAR(10)) COLLATE 'latin2_nopad_bin'; 2558INSERT INTO t1 VALUES ('a'),('a '),(' a'),(' a '),('a '); 2559SELECT HEX(a), a FROM (SELECT DISTINCT a FROM t1 ORDER BY a) td; 2560HEX(a) a 25612061 a 2562206120 a 256361 a 2564612020 a 256561202020 a 2566SELECT COUNT(DISTINCT a) FROM t1 ORDER BY a; 2567COUNT(DISTINCT a) 25685 2569SELECT HEX(MAX(a)), MAX(a) FROM t1; 2570HEX(MAX(a)) MAX(a) 257161202020 a 2572# 2573# GROUP BY 2574# 2575CREATE TABLE t2 (a VARCHAR(10), b int, c varchar(10)) COLLATE 'latin2_nopad_bin'; 2576INSERT t2 values('ab', 12, 'cd'), ('ab', 2, 'ed'), ('aa', 20, 'er'), ('aa ', 0, 'er '); 2577SELECT HEX(a), cnt FROM (SELECT a, COUNT(a) AS cnt FROM t2 GROUP BY a ORDER BY a) AS td; 2578HEX(a) cnt 25796161 1 258061612020 1 25816162 2 2582DROP TABLE t2; 2583# 2584# Weights 2585# 2586SELECT HEX(WEIGHT_STRING(a AS CHAR(10))) FROM t1; 2587HEX(WEIGHT_STRING(a AS CHAR(10))) 258861000000000000000000 258961202000000000000000 259020610000000000000000 259120612000000000000000 259261202020000000000000 2593DROP TABLE t1; 2594# 2595# IF, CASE, LEAST 2596# 2597SELECT IF('abc' COLLATE 'latin2_nopad_bin' = 'abc ', 'pad', 'nopad'); 2598IF('abc' COLLATE 'latin2_nopad_bin' = 'abc ', 'pad', 'nopad') 2599nopad 2600SELECT CASE 'abc' COLLATE 'latin2_nopad_bin' WHEN 'abc ' THEN 'pad' ELSE 'nopad' END; 2601CASE 'abc' COLLATE 'latin2_nopad_bin' WHEN 'abc ' THEN 'pad' ELSE 'nopad' END 2602nopad 2603SELECT CASE WHEN 'abc' COLLATE 'latin2_nopad_bin' = 'abc ' THEN 'pad' ELSE 'nopad' END; 2604CASE WHEN 'abc' COLLATE 'latin2_nopad_bin' = 'abc ' THEN 'pad' ELSE 'nopad' END 2605nopad 2606SELECT HEX(LEAST('abc ' COLLATE 'latin2_nopad_bin', 'abc ')); 2607HEX(LEAST('abc ' COLLATE 'latin2_nopad_bin', 'abc ')) 260861626320 2609SELECT HEX(GREATEST('abc ' COLLATE 'latin2_nopad_bin', 'abc ')); 2610HEX(GREATEST('abc ' COLLATE 'latin2_nopad_bin', 'abc ')) 26116162632020 2612# 2613# Collation mix 2614# 2615CREATE TABLE t1 (a VARCHAR(10)) COLLATE 'latin2_bin'; 2616INSERT INTO t1 VALUES ('a'),('a '); 2617SELECT COUNT(*) FROM t1 WHERE a='a'; 2618COUNT(*) 26192 2620SELECT COUNT(*) FROM t1 WHERE a='a' COLLATE 'latin2_bin'; 2621COUNT(*) 26222 2623SELECT COUNT(*) FROM t1 WHERE a='a' COLLATE 'latin2_nopad_bin'; 2624COUNT(*) 26251 2626ALTER TABLE t1 MODIFY a VARCHAR(10) COLLATE 'latin2_nopad_bin'; 2627SELECT COUNT(*) FROM t1 WHERE a='a'; 2628COUNT(*) 26291 2630SELECT COUNT(*) FROM t1 WHERE a='a' COLLATE 'latin2_bin'; 2631COUNT(*) 26322 2633SELECT COUNT(*) FROM t1 WHERE a='a' COLLATE 'latin2_nopad_bin'; 2634COUNT(*) 26351 2636DROP TABLE t1; 2637# 2638# End of ctype_pad.inc 2639# 2640SET DEFAULT_STORAGE_ENGINE=HEAP; 2641# 2642# Start of ctype_pad.inc 2643# 2644# 2645# Unique indexes 2646# 2647CREATE TABLE t1 (a VARCHAR(10) PRIMARY KEY) COLLATE 'latin2_nopad_bin'; 2648SHOW CREATE TABLE t1; 2649Table Create Table 2650t1 CREATE TABLE `t1` ( 2651 `a` varchar(10) COLLATE latin2_nopad_bin NOT NULL, 2652 PRIMARY KEY (`a`) 2653) ENGINE=MEMORY DEFAULT CHARSET=latin2 COLLATE=latin2_nopad_bin 2654INSERT INTO t1 VALUES ('abc'),('abc '),(' a'),(' a '),('a '); 2655SELECT HEX(a), a FROM t1 ORDER BY a; 2656HEX(a) a 26572061 a 2658206120 a 265961202020 a 2660616263 abc 26616162632020 abc 2662SELECT HEX(a), a FROM t1 IGNORE INDEX(PRIMARY) ORDER BY a; 2663HEX(a) a 26642061 a 2665206120 a 266661202020 a 2667616263 abc 26686162632020 abc 2669SELECT HEX(a), a FROM t1 IGNORE INDEX(PRIMARY) ORDER BY a DESC; 2670HEX(a) a 26716162632020 abc 2672616263 abc 267361202020 a 2674206120 a 26752061 a 2676# 2677# UNION 2678# 2679CREATE TABLE t2 (a VARCHAR(10)) COLLATE 'latin2_nopad_bin'; 2680INSERT INTO t2 VALUES ('abc '),('abc '),(' a'),('a '); 2681SELECT HEX(a),a FROM (SELECT * FROM t1 UNION SELECT * FROM t2 ORDER BY a) td; 2682HEX(a) a 26832061 a 2684206120 a 26856120 a 268661202020 a 2687616263 abc 268861626320 abc 26896162632020 abc 2690DROP TABLE t1; 2691DROP TABLE t2; 2692# 2693# DISTINCT, COUNT, MAX 2694# 2695CREATE TABLE t1 (a VARCHAR(10)) COLLATE 'latin2_nopad_bin'; 2696INSERT INTO t1 VALUES ('a'),('a '),(' a'),(' a '),('a '); 2697SELECT HEX(a), a FROM (SELECT DISTINCT a FROM t1 ORDER BY a) td; 2698HEX(a) a 26992061 a 2700206120 a 270161 a 2702612020 a 270361202020 a 2704SELECT COUNT(DISTINCT a) FROM t1 ORDER BY a; 2705COUNT(DISTINCT a) 27065 2707SELECT HEX(MAX(a)), MAX(a) FROM t1; 2708HEX(MAX(a)) MAX(a) 270961202020 a 2710# 2711# GROUP BY 2712# 2713CREATE TABLE t2 (a VARCHAR(10), b int, c varchar(10)) COLLATE 'latin2_nopad_bin'; 2714INSERT t2 values('ab', 12, 'cd'), ('ab', 2, 'ed'), ('aa', 20, 'er'), ('aa ', 0, 'er '); 2715SELECT HEX(a), cnt FROM (SELECT a, COUNT(a) AS cnt FROM t2 GROUP BY a ORDER BY a) AS td; 2716HEX(a) cnt 27176161 1 271861612020 1 27196162 2 2720DROP TABLE t2; 2721# 2722# Weights 2723# 2724SELECT HEX(WEIGHT_STRING(a AS CHAR(10))) FROM t1; 2725HEX(WEIGHT_STRING(a AS CHAR(10))) 272661000000000000000000 272761202000000000000000 272820610000000000000000 272920612000000000000000 273061202020000000000000 2731DROP TABLE t1; 2732# 2733# IF, CASE, LEAST 2734# 2735SELECT IF('abc' COLLATE 'latin2_nopad_bin' = 'abc ', 'pad', 'nopad'); 2736IF('abc' COLLATE 'latin2_nopad_bin' = 'abc ', 'pad', 'nopad') 2737nopad 2738SELECT CASE 'abc' COLLATE 'latin2_nopad_bin' WHEN 'abc ' THEN 'pad' ELSE 'nopad' END; 2739CASE 'abc' COLLATE 'latin2_nopad_bin' WHEN 'abc ' THEN 'pad' ELSE 'nopad' END 2740nopad 2741SELECT CASE WHEN 'abc' COLLATE 'latin2_nopad_bin' = 'abc ' THEN 'pad' ELSE 'nopad' END; 2742CASE WHEN 'abc' COLLATE 'latin2_nopad_bin' = 'abc ' THEN 'pad' ELSE 'nopad' END 2743nopad 2744SELECT HEX(LEAST('abc ' COLLATE 'latin2_nopad_bin', 'abc ')); 2745HEX(LEAST('abc ' COLLATE 'latin2_nopad_bin', 'abc ')) 274661626320 2747SELECT HEX(GREATEST('abc ' COLLATE 'latin2_nopad_bin', 'abc ')); 2748HEX(GREATEST('abc ' COLLATE 'latin2_nopad_bin', 'abc ')) 27496162632020 2750# 2751# Collation mix 2752# 2753CREATE TABLE t1 (a VARCHAR(10)) COLLATE 'latin2_bin'; 2754INSERT INTO t1 VALUES ('a'),('a '); 2755SELECT COUNT(*) FROM t1 WHERE a='a'; 2756COUNT(*) 27572 2758SELECT COUNT(*) FROM t1 WHERE a='a' COLLATE 'latin2_bin'; 2759COUNT(*) 27602 2761SELECT COUNT(*) FROM t1 WHERE a='a' COLLATE 'latin2_nopad_bin'; 2762COUNT(*) 27631 2764ALTER TABLE t1 MODIFY a VARCHAR(10) COLLATE 'latin2_nopad_bin'; 2765SELECT COUNT(*) FROM t1 WHERE a='a'; 2766COUNT(*) 27671 2768SELECT COUNT(*) FROM t1 WHERE a='a' COLLATE 'latin2_bin'; 2769COUNT(*) 27702 2771SELECT COUNT(*) FROM t1 WHERE a='a' COLLATE 'latin2_nopad_bin'; 2772COUNT(*) 27731 2774DROP TABLE t1; 2775# 2776# End of ctype_pad.inc 2777# 2778SET DEFAULT_STORAGE_ENGINE=Default; 2779SET character_set_connection=swe7; 2780SET DEFAULT_STORAGE_ENGINE=MyISAM; 2781# 2782# Start of ctype_pad.inc 2783# 2784# 2785# Unique indexes 2786# 2787CREATE TABLE t1 (a VARCHAR(10) PRIMARY KEY) COLLATE 'swe7_swedish_nopad_ci'; 2788SHOW CREATE TABLE t1; 2789Table Create Table 2790t1 CREATE TABLE `t1` ( 2791 `a` varchar(10) COLLATE swe7_swedish_nopad_ci NOT NULL, 2792 PRIMARY KEY (`a`) 2793) ENGINE=MyISAM DEFAULT CHARSET=swe7 COLLATE=swe7_swedish_nopad_ci 2794INSERT INTO t1 VALUES ('abc'),('abc '),(' a'),(' a '),('a '); 2795SELECT HEX(a), a FROM t1 ORDER BY a; 2796HEX(a) a 27972061 a 2798206120 a 279961202020 a 2800616263 abc 28016162632020 abc 2802SELECT HEX(a), a FROM t1 IGNORE INDEX(PRIMARY) ORDER BY a; 2803HEX(a) a 28042061 a 2805206120 a 280661202020 a 2807616263 abc 28086162632020 abc 2809SELECT HEX(a), a FROM t1 IGNORE INDEX(PRIMARY) ORDER BY a DESC; 2810HEX(a) a 28116162632020 abc 2812616263 abc 281361202020 a 2814206120 a 28152061 a 2816# 2817# UNION 2818# 2819CREATE TABLE t2 (a VARCHAR(10)) COLLATE 'swe7_swedish_nopad_ci'; 2820INSERT INTO t2 VALUES ('abc '),('abc '),(' a'),('a '); 2821SELECT HEX(a),a FROM (SELECT * FROM t1 UNION SELECT * FROM t2 ORDER BY a) td; 2822HEX(a) a 28232061 a 2824206120 a 28256120 a 282661202020 a 2827616263 abc 282861626320 abc 28296162632020 abc 2830DROP TABLE t1; 2831DROP TABLE t2; 2832# 2833# DISTINCT, COUNT, MAX 2834# 2835CREATE TABLE t1 (a VARCHAR(10)) COLLATE 'swe7_swedish_nopad_ci'; 2836INSERT INTO t1 VALUES ('a'),('a '),(' a'),(' a '),('a '); 2837SELECT HEX(a), a FROM (SELECT DISTINCT a FROM t1 ORDER BY a) td; 2838HEX(a) a 28392061 a 2840206120 a 284161 a 2842612020 a 284361202020 a 2844SELECT COUNT(DISTINCT a) FROM t1 ORDER BY a; 2845COUNT(DISTINCT a) 28465 2847SELECT HEX(MAX(a)), MAX(a) FROM t1; 2848HEX(MAX(a)) MAX(a) 284961202020 a 2850# 2851# GROUP BY 2852# 2853CREATE TABLE t2 (a VARCHAR(10), b int, c varchar(10)) COLLATE 'swe7_swedish_nopad_ci'; 2854INSERT t2 values('ab', 12, 'cd'), ('ab', 2, 'ed'), ('aa', 20, 'er'), ('aa ', 0, 'er '); 2855SELECT HEX(a), cnt FROM (SELECT a, COUNT(a) AS cnt FROM t2 GROUP BY a ORDER BY a) AS td; 2856HEX(a) cnt 28576161 1 285861612020 1 28596162 2 2860DROP TABLE t2; 2861# 2862# Weights 2863# 2864SELECT HEX(WEIGHT_STRING(a AS CHAR(10))) FROM t1; 2865HEX(WEIGHT_STRING(a AS CHAR(10))) 286641000000000000000000 286741202000000000000000 286820410000000000000000 286920412000000000000000 287041202020000000000000 2871DROP TABLE t1; 2872# 2873# IF, CASE, LEAST 2874# 2875SELECT IF('abc' COLLATE 'swe7_swedish_nopad_ci' = 'abc ', 'pad', 'nopad'); 2876IF('abc' COLLATE 'swe7_swedish_nopad_ci' = 'abc ', 'pad', 'nopad') 2877nopad 2878SELECT CASE 'abc' COLLATE 'swe7_swedish_nopad_ci' WHEN 'abc ' THEN 'pad' ELSE 'nopad' END; 2879CASE 'abc' COLLATE 'swe7_swedish_nopad_ci' WHEN 'abc ' THEN 'pad' ELSE 'nopad' END 2880nopad 2881SELECT CASE WHEN 'abc' COLLATE 'swe7_swedish_nopad_ci' = 'abc ' THEN 'pad' ELSE 'nopad' END; 2882CASE WHEN 'abc' COLLATE 'swe7_swedish_nopad_ci' = 'abc ' THEN 'pad' ELSE 'nopad' END 2883nopad 2884SELECT HEX(LEAST('abc ' COLLATE 'swe7_swedish_nopad_ci', 'abc ')); 2885HEX(LEAST('abc ' COLLATE 'swe7_swedish_nopad_ci', 'abc ')) 288661626320 2887SELECT HEX(GREATEST('abc ' COLLATE 'swe7_swedish_nopad_ci', 'abc ')); 2888HEX(GREATEST('abc ' COLLATE 'swe7_swedish_nopad_ci', 'abc ')) 28896162632020 2890# 2891# Collation mix 2892# 2893CREATE TABLE t1 (a VARCHAR(10)) COLLATE 'swe7_swedish_ci'; 2894INSERT INTO t1 VALUES ('a'),('a '); 2895SELECT COUNT(*) FROM t1 WHERE a='a'; 2896COUNT(*) 28972 2898SELECT COUNT(*) FROM t1 WHERE a='a' COLLATE 'swe7_swedish_ci'; 2899COUNT(*) 29002 2901SELECT COUNT(*) FROM t1 WHERE a='a' COLLATE 'swe7_swedish_nopad_ci'; 2902COUNT(*) 29031 2904ALTER TABLE t1 MODIFY a VARCHAR(10) COLLATE 'swe7_swedish_nopad_ci'; 2905SELECT COUNT(*) FROM t1 WHERE a='a'; 2906COUNT(*) 29071 2908SELECT COUNT(*) FROM t1 WHERE a='a' COLLATE 'swe7_swedish_ci'; 2909COUNT(*) 29102 2911SELECT COUNT(*) FROM t1 WHERE a='a' COLLATE 'swe7_swedish_nopad_ci'; 2912COUNT(*) 29131 2914DROP TABLE t1; 2915# 2916# End of ctype_pad.inc 2917# 2918SET DEFAULT_STORAGE_ENGINE=HEAP; 2919# 2920# Start of ctype_pad.inc 2921# 2922# 2923# Unique indexes 2924# 2925CREATE TABLE t1 (a VARCHAR(10) PRIMARY KEY) COLLATE 'swe7_swedish_nopad_ci'; 2926SHOW CREATE TABLE t1; 2927Table Create Table 2928t1 CREATE TABLE `t1` ( 2929 `a` varchar(10) COLLATE swe7_swedish_nopad_ci NOT NULL, 2930 PRIMARY KEY (`a`) 2931) ENGINE=MEMORY DEFAULT CHARSET=swe7 COLLATE=swe7_swedish_nopad_ci 2932INSERT INTO t1 VALUES ('abc'),('abc '),(' a'),(' a '),('a '); 2933SELECT HEX(a), a FROM t1 ORDER BY a; 2934HEX(a) a 29352061 a 2936206120 a 293761202020 a 2938616263 abc 29396162632020 abc 2940SELECT HEX(a), a FROM t1 IGNORE INDEX(PRIMARY) ORDER BY a; 2941HEX(a) a 29422061 a 2943206120 a 294461202020 a 2945616263 abc 29466162632020 abc 2947SELECT HEX(a), a FROM t1 IGNORE INDEX(PRIMARY) ORDER BY a DESC; 2948HEX(a) a 29496162632020 abc 2950616263 abc 295161202020 a 2952206120 a 29532061 a 2954# 2955# UNION 2956# 2957CREATE TABLE t2 (a VARCHAR(10)) COLLATE 'swe7_swedish_nopad_ci'; 2958INSERT INTO t2 VALUES ('abc '),('abc '),(' a'),('a '); 2959SELECT HEX(a),a FROM (SELECT * FROM t1 UNION SELECT * FROM t2 ORDER BY a) td; 2960HEX(a) a 29612061 a 2962206120 a 29636120 a 296461202020 a 2965616263 abc 296661626320 abc 29676162632020 abc 2968DROP TABLE t1; 2969DROP TABLE t2; 2970# 2971# DISTINCT, COUNT, MAX 2972# 2973CREATE TABLE t1 (a VARCHAR(10)) COLLATE 'swe7_swedish_nopad_ci'; 2974INSERT INTO t1 VALUES ('a'),('a '),(' a'),(' a '),('a '); 2975SELECT HEX(a), a FROM (SELECT DISTINCT a FROM t1 ORDER BY a) td; 2976HEX(a) a 29772061 a 2978206120 a 297961 a 2980612020 a 298161202020 a 2982SELECT COUNT(DISTINCT a) FROM t1 ORDER BY a; 2983COUNT(DISTINCT a) 29845 2985SELECT HEX(MAX(a)), MAX(a) FROM t1; 2986HEX(MAX(a)) MAX(a) 298761202020 a 2988# 2989# GROUP BY 2990# 2991CREATE TABLE t2 (a VARCHAR(10), b int, c varchar(10)) COLLATE 'swe7_swedish_nopad_ci'; 2992INSERT t2 values('ab', 12, 'cd'), ('ab', 2, 'ed'), ('aa', 20, 'er'), ('aa ', 0, 'er '); 2993SELECT HEX(a), cnt FROM (SELECT a, COUNT(a) AS cnt FROM t2 GROUP BY a ORDER BY a) AS td; 2994HEX(a) cnt 29956161 1 299661612020 1 29976162 2 2998DROP TABLE t2; 2999# 3000# Weights 3001# 3002SELECT HEX(WEIGHT_STRING(a AS CHAR(10))) FROM t1; 3003HEX(WEIGHT_STRING(a AS CHAR(10))) 300441000000000000000000 300541202000000000000000 300620410000000000000000 300720412000000000000000 300841202020000000000000 3009DROP TABLE t1; 3010# 3011# IF, CASE, LEAST 3012# 3013SELECT IF('abc' COLLATE 'swe7_swedish_nopad_ci' = 'abc ', 'pad', 'nopad'); 3014IF('abc' COLLATE 'swe7_swedish_nopad_ci' = 'abc ', 'pad', 'nopad') 3015nopad 3016SELECT CASE 'abc' COLLATE 'swe7_swedish_nopad_ci' WHEN 'abc ' THEN 'pad' ELSE 'nopad' END; 3017CASE 'abc' COLLATE 'swe7_swedish_nopad_ci' WHEN 'abc ' THEN 'pad' ELSE 'nopad' END 3018nopad 3019SELECT CASE WHEN 'abc' COLLATE 'swe7_swedish_nopad_ci' = 'abc ' THEN 'pad' ELSE 'nopad' END; 3020CASE WHEN 'abc' COLLATE 'swe7_swedish_nopad_ci' = 'abc ' THEN 'pad' ELSE 'nopad' END 3021nopad 3022SELECT HEX(LEAST('abc ' COLLATE 'swe7_swedish_nopad_ci', 'abc ')); 3023HEX(LEAST('abc ' COLLATE 'swe7_swedish_nopad_ci', 'abc ')) 302461626320 3025SELECT HEX(GREATEST('abc ' COLLATE 'swe7_swedish_nopad_ci', 'abc ')); 3026HEX(GREATEST('abc ' COLLATE 'swe7_swedish_nopad_ci', 'abc ')) 30276162632020 3028# 3029# Collation mix 3030# 3031CREATE TABLE t1 (a VARCHAR(10)) COLLATE 'swe7_swedish_ci'; 3032INSERT INTO t1 VALUES ('a'),('a '); 3033SELECT COUNT(*) FROM t1 WHERE a='a'; 3034COUNT(*) 30352 3036SELECT COUNT(*) FROM t1 WHERE a='a' COLLATE 'swe7_swedish_ci'; 3037COUNT(*) 30382 3039SELECT COUNT(*) FROM t1 WHERE a='a' COLLATE 'swe7_swedish_nopad_ci'; 3040COUNT(*) 30411 3042ALTER TABLE t1 MODIFY a VARCHAR(10) COLLATE 'swe7_swedish_nopad_ci'; 3043SELECT COUNT(*) FROM t1 WHERE a='a'; 3044COUNT(*) 30451 3046SELECT COUNT(*) FROM t1 WHERE a='a' COLLATE 'swe7_swedish_ci'; 3047COUNT(*) 30482 3049SELECT COUNT(*) FROM t1 WHERE a='a' COLLATE 'swe7_swedish_nopad_ci'; 3050COUNT(*) 30511 3052DROP TABLE t1; 3053# 3054# End of ctype_pad.inc 3055# 3056SET DEFAULT_STORAGE_ENGINE=Default; 3057SET DEFAULT_STORAGE_ENGINE=MyISAM; 3058# 3059# Start of ctype_pad.inc 3060# 3061# 3062# Unique indexes 3063# 3064CREATE TABLE t1 (a VARCHAR(10) PRIMARY KEY) COLLATE 'swe7_nopad_bin'; 3065SHOW CREATE TABLE t1; 3066Table Create Table 3067t1 CREATE TABLE `t1` ( 3068 `a` varchar(10) COLLATE swe7_nopad_bin NOT NULL, 3069 PRIMARY KEY (`a`) 3070) ENGINE=MyISAM DEFAULT CHARSET=swe7 COLLATE=swe7_nopad_bin 3071INSERT INTO t1 VALUES ('abc'),('abc '),(' a'),(' a '),('a '); 3072SELECT HEX(a), a FROM t1 ORDER BY a; 3073HEX(a) a 30742061 a 3075206120 a 307661202020 a 3077616263 abc 30786162632020 abc 3079SELECT HEX(a), a FROM t1 IGNORE INDEX(PRIMARY) ORDER BY a; 3080HEX(a) a 30812061 a 3082206120 a 308361202020 a 3084616263 abc 30856162632020 abc 3086SELECT HEX(a), a FROM t1 IGNORE INDEX(PRIMARY) ORDER BY a DESC; 3087HEX(a) a 30886162632020 abc 3089616263 abc 309061202020 a 3091206120 a 30922061 a 3093# 3094# UNION 3095# 3096CREATE TABLE t2 (a VARCHAR(10)) COLLATE 'swe7_nopad_bin'; 3097INSERT INTO t2 VALUES ('abc '),('abc '),(' a'),('a '); 3098SELECT HEX(a),a FROM (SELECT * FROM t1 UNION SELECT * FROM t2 ORDER BY a) td; 3099HEX(a) a 31002061 a 3101206120 a 31026120 a 310361202020 a 3104616263 abc 310561626320 abc 31066162632020 abc 3107DROP TABLE t1; 3108DROP TABLE t2; 3109# 3110# DISTINCT, COUNT, MAX 3111# 3112CREATE TABLE t1 (a VARCHAR(10)) COLLATE 'swe7_nopad_bin'; 3113INSERT INTO t1 VALUES ('a'),('a '),(' a'),(' a '),('a '); 3114SELECT HEX(a), a FROM (SELECT DISTINCT a FROM t1 ORDER BY a) td; 3115HEX(a) a 31162061 a 3117206120 a 311861 a 3119612020 a 312061202020 a 3121SELECT COUNT(DISTINCT a) FROM t1 ORDER BY a; 3122COUNT(DISTINCT a) 31235 3124SELECT HEX(MAX(a)), MAX(a) FROM t1; 3125HEX(MAX(a)) MAX(a) 312661202020 a 3127# 3128# GROUP BY 3129# 3130CREATE TABLE t2 (a VARCHAR(10), b int, c varchar(10)) COLLATE 'swe7_nopad_bin'; 3131INSERT t2 values('ab', 12, 'cd'), ('ab', 2, 'ed'), ('aa', 20, 'er'), ('aa ', 0, 'er '); 3132SELECT HEX(a), cnt FROM (SELECT a, COUNT(a) AS cnt FROM t2 GROUP BY a ORDER BY a) AS td; 3133HEX(a) cnt 31346161 1 313561612020 1 31366162 2 3137DROP TABLE t2; 3138# 3139# Weights 3140# 3141SELECT HEX(WEIGHT_STRING(a AS CHAR(10))) FROM t1; 3142HEX(WEIGHT_STRING(a AS CHAR(10))) 314361000000000000000000 314461202000000000000000 314520610000000000000000 314620612000000000000000 314761202020000000000000 3148DROP TABLE t1; 3149# 3150# IF, CASE, LEAST 3151# 3152SELECT IF('abc' COLLATE 'swe7_nopad_bin' = 'abc ', 'pad', 'nopad'); 3153IF('abc' COLLATE 'swe7_nopad_bin' = 'abc ', 'pad', 'nopad') 3154nopad 3155SELECT CASE 'abc' COLLATE 'swe7_nopad_bin' WHEN 'abc ' THEN 'pad' ELSE 'nopad' END; 3156CASE 'abc' COLLATE 'swe7_nopad_bin' WHEN 'abc ' THEN 'pad' ELSE 'nopad' END 3157nopad 3158SELECT CASE WHEN 'abc' COLLATE 'swe7_nopad_bin' = 'abc ' THEN 'pad' ELSE 'nopad' END; 3159CASE WHEN 'abc' COLLATE 'swe7_nopad_bin' = 'abc ' THEN 'pad' ELSE 'nopad' END 3160nopad 3161SELECT HEX(LEAST('abc ' COLLATE 'swe7_nopad_bin', 'abc ')); 3162HEX(LEAST('abc ' COLLATE 'swe7_nopad_bin', 'abc ')) 316361626320 3164SELECT HEX(GREATEST('abc ' COLLATE 'swe7_nopad_bin', 'abc ')); 3165HEX(GREATEST('abc ' COLLATE 'swe7_nopad_bin', 'abc ')) 31666162632020 3167# 3168# Collation mix 3169# 3170CREATE TABLE t1 (a VARCHAR(10)) COLLATE 'swe7_bin'; 3171INSERT INTO t1 VALUES ('a'),('a '); 3172SELECT COUNT(*) FROM t1 WHERE a='a'; 3173COUNT(*) 31742 3175SELECT COUNT(*) FROM t1 WHERE a='a' COLLATE 'swe7_bin'; 3176COUNT(*) 31772 3178SELECT COUNT(*) FROM t1 WHERE a='a' COLLATE 'swe7_nopad_bin'; 3179COUNT(*) 31801 3181ALTER TABLE t1 MODIFY a VARCHAR(10) COLLATE 'swe7_nopad_bin'; 3182SELECT COUNT(*) FROM t1 WHERE a='a'; 3183COUNT(*) 31841 3185SELECT COUNT(*) FROM t1 WHERE a='a' COLLATE 'swe7_bin'; 3186COUNT(*) 31872 3188SELECT COUNT(*) FROM t1 WHERE a='a' COLLATE 'swe7_nopad_bin'; 3189COUNT(*) 31901 3191DROP TABLE t1; 3192# 3193# End of ctype_pad.inc 3194# 3195SET DEFAULT_STORAGE_ENGINE=HEAP; 3196# 3197# Start of ctype_pad.inc 3198# 3199# 3200# Unique indexes 3201# 3202CREATE TABLE t1 (a VARCHAR(10) PRIMARY KEY) COLLATE 'swe7_nopad_bin'; 3203SHOW CREATE TABLE t1; 3204Table Create Table 3205t1 CREATE TABLE `t1` ( 3206 `a` varchar(10) COLLATE swe7_nopad_bin NOT NULL, 3207 PRIMARY KEY (`a`) 3208) ENGINE=MEMORY DEFAULT CHARSET=swe7 COLLATE=swe7_nopad_bin 3209INSERT INTO t1 VALUES ('abc'),('abc '),(' a'),(' a '),('a '); 3210SELECT HEX(a), a FROM t1 ORDER BY a; 3211HEX(a) a 32122061 a 3213206120 a 321461202020 a 3215616263 abc 32166162632020 abc 3217SELECT HEX(a), a FROM t1 IGNORE INDEX(PRIMARY) ORDER BY a; 3218HEX(a) a 32192061 a 3220206120 a 322161202020 a 3222616263 abc 32236162632020 abc 3224SELECT HEX(a), a FROM t1 IGNORE INDEX(PRIMARY) ORDER BY a DESC; 3225HEX(a) a 32266162632020 abc 3227616263 abc 322861202020 a 3229206120 a 32302061 a 3231# 3232# UNION 3233# 3234CREATE TABLE t2 (a VARCHAR(10)) COLLATE 'swe7_nopad_bin'; 3235INSERT INTO t2 VALUES ('abc '),('abc '),(' a'),('a '); 3236SELECT HEX(a),a FROM (SELECT * FROM t1 UNION SELECT * FROM t2 ORDER BY a) td; 3237HEX(a) a 32382061 a 3239206120 a 32406120 a 324161202020 a 3242616263 abc 324361626320 abc 32446162632020 abc 3245DROP TABLE t1; 3246DROP TABLE t2; 3247# 3248# DISTINCT, COUNT, MAX 3249# 3250CREATE TABLE t1 (a VARCHAR(10)) COLLATE 'swe7_nopad_bin'; 3251INSERT INTO t1 VALUES ('a'),('a '),(' a'),(' a '),('a '); 3252SELECT HEX(a), a FROM (SELECT DISTINCT a FROM t1 ORDER BY a) td; 3253HEX(a) a 32542061 a 3255206120 a 325661 a 3257612020 a 325861202020 a 3259SELECT COUNT(DISTINCT a) FROM t1 ORDER BY a; 3260COUNT(DISTINCT a) 32615 3262SELECT HEX(MAX(a)), MAX(a) FROM t1; 3263HEX(MAX(a)) MAX(a) 326461202020 a 3265# 3266# GROUP BY 3267# 3268CREATE TABLE t2 (a VARCHAR(10), b int, c varchar(10)) COLLATE 'swe7_nopad_bin'; 3269INSERT t2 values('ab', 12, 'cd'), ('ab', 2, 'ed'), ('aa', 20, 'er'), ('aa ', 0, 'er '); 3270SELECT HEX(a), cnt FROM (SELECT a, COUNT(a) AS cnt FROM t2 GROUP BY a ORDER BY a) AS td; 3271HEX(a) cnt 32726161 1 327361612020 1 32746162 2 3275DROP TABLE t2; 3276# 3277# Weights 3278# 3279SELECT HEX(WEIGHT_STRING(a AS CHAR(10))) FROM t1; 3280HEX(WEIGHT_STRING(a AS CHAR(10))) 328161000000000000000000 328261202000000000000000 328320610000000000000000 328420612000000000000000 328561202020000000000000 3286DROP TABLE t1; 3287# 3288# IF, CASE, LEAST 3289# 3290SELECT IF('abc' COLLATE 'swe7_nopad_bin' = 'abc ', 'pad', 'nopad'); 3291IF('abc' COLLATE 'swe7_nopad_bin' = 'abc ', 'pad', 'nopad') 3292nopad 3293SELECT CASE 'abc' COLLATE 'swe7_nopad_bin' WHEN 'abc ' THEN 'pad' ELSE 'nopad' END; 3294CASE 'abc' COLLATE 'swe7_nopad_bin' WHEN 'abc ' THEN 'pad' ELSE 'nopad' END 3295nopad 3296SELECT CASE WHEN 'abc' COLLATE 'swe7_nopad_bin' = 'abc ' THEN 'pad' ELSE 'nopad' END; 3297CASE WHEN 'abc' COLLATE 'swe7_nopad_bin' = 'abc ' THEN 'pad' ELSE 'nopad' END 3298nopad 3299SELECT HEX(LEAST('abc ' COLLATE 'swe7_nopad_bin', 'abc ')); 3300HEX(LEAST('abc ' COLLATE 'swe7_nopad_bin', 'abc ')) 330161626320 3302SELECT HEX(GREATEST('abc ' COLLATE 'swe7_nopad_bin', 'abc ')); 3303HEX(GREATEST('abc ' COLLATE 'swe7_nopad_bin', 'abc ')) 33046162632020 3305# 3306# Collation mix 3307# 3308CREATE TABLE t1 (a VARCHAR(10)) COLLATE 'swe7_bin'; 3309INSERT INTO t1 VALUES ('a'),('a '); 3310SELECT COUNT(*) FROM t1 WHERE a='a'; 3311COUNT(*) 33122 3313SELECT COUNT(*) FROM t1 WHERE a='a' COLLATE 'swe7_bin'; 3314COUNT(*) 33152 3316SELECT COUNT(*) FROM t1 WHERE a='a' COLLATE 'swe7_nopad_bin'; 3317COUNT(*) 33181 3319ALTER TABLE t1 MODIFY a VARCHAR(10) COLLATE 'swe7_nopad_bin'; 3320SELECT COUNT(*) FROM t1 WHERE a='a'; 3321COUNT(*) 33221 3323SELECT COUNT(*) FROM t1 WHERE a='a' COLLATE 'swe7_bin'; 3324COUNT(*) 33252 3326SELECT COUNT(*) FROM t1 WHERE a='a' COLLATE 'swe7_nopad_bin'; 3327COUNT(*) 33281 3329DROP TABLE t1; 3330# 3331# End of ctype_pad.inc 3332# 3333SET DEFAULT_STORAGE_ENGINE=Default; 3334SET character_set_connection=ascii; 3335SET DEFAULT_STORAGE_ENGINE=MyISAM; 3336# 3337# Start of ctype_pad.inc 3338# 3339# 3340# Unique indexes 3341# 3342CREATE TABLE t1 (a VARCHAR(10) PRIMARY KEY) COLLATE 'ascii_general_nopad_ci'; 3343SHOW CREATE TABLE t1; 3344Table Create Table 3345t1 CREATE TABLE `t1` ( 3346 `a` varchar(10) COLLATE ascii_general_nopad_ci NOT NULL, 3347 PRIMARY KEY (`a`) 3348) ENGINE=MyISAM DEFAULT CHARSET=ascii COLLATE=ascii_general_nopad_ci 3349INSERT INTO t1 VALUES ('abc'),('abc '),(' a'),(' a '),('a '); 3350SELECT HEX(a), a FROM t1 ORDER BY a; 3351HEX(a) a 33522061 a 3353206120 a 335461202020 a 3355616263 abc 33566162632020 abc 3357SELECT HEX(a), a FROM t1 IGNORE INDEX(PRIMARY) ORDER BY a; 3358HEX(a) a 33592061 a 3360206120 a 336161202020 a 3362616263 abc 33636162632020 abc 3364SELECT HEX(a), a FROM t1 IGNORE INDEX(PRIMARY) ORDER BY a DESC; 3365HEX(a) a 33666162632020 abc 3367616263 abc 336861202020 a 3369206120 a 33702061 a 3371# 3372# UNION 3373# 3374CREATE TABLE t2 (a VARCHAR(10)) COLLATE 'ascii_general_nopad_ci'; 3375INSERT INTO t2 VALUES ('abc '),('abc '),(' a'),('a '); 3376SELECT HEX(a),a FROM (SELECT * FROM t1 UNION SELECT * FROM t2 ORDER BY a) td; 3377HEX(a) a 33782061 a 3379206120 a 33806120 a 338161202020 a 3382616263 abc 338361626320 abc 33846162632020 abc 3385DROP TABLE t1; 3386DROP TABLE t2; 3387# 3388# DISTINCT, COUNT, MAX 3389# 3390CREATE TABLE t1 (a VARCHAR(10)) COLLATE 'ascii_general_nopad_ci'; 3391INSERT INTO t1 VALUES ('a'),('a '),(' a'),(' a '),('a '); 3392SELECT HEX(a), a FROM (SELECT DISTINCT a FROM t1 ORDER BY a) td; 3393HEX(a) a 33942061 a 3395206120 a 339661 a 3397612020 a 339861202020 a 3399SELECT COUNT(DISTINCT a) FROM t1 ORDER BY a; 3400COUNT(DISTINCT a) 34015 3402SELECT HEX(MAX(a)), MAX(a) FROM t1; 3403HEX(MAX(a)) MAX(a) 340461202020 a 3405# 3406# GROUP BY 3407# 3408CREATE TABLE t2 (a VARCHAR(10), b int, c varchar(10)) COLLATE 'ascii_general_nopad_ci'; 3409INSERT t2 values('ab', 12, 'cd'), ('ab', 2, 'ed'), ('aa', 20, 'er'), ('aa ', 0, 'er '); 3410SELECT HEX(a), cnt FROM (SELECT a, COUNT(a) AS cnt FROM t2 GROUP BY a ORDER BY a) AS td; 3411HEX(a) cnt 34126161 1 341361612020 1 34146162 2 3415DROP TABLE t2; 3416# 3417# Weights 3418# 3419SELECT HEX(WEIGHT_STRING(a AS CHAR(10))) FROM t1; 3420HEX(WEIGHT_STRING(a AS CHAR(10))) 342141000000000000000000 342241202000000000000000 342320410000000000000000 342420412000000000000000 342541202020000000000000 3426DROP TABLE t1; 3427# 3428# IF, CASE, LEAST 3429# 3430SELECT IF('abc' COLLATE 'ascii_general_nopad_ci' = 'abc ', 'pad', 'nopad'); 3431IF('abc' COLLATE 'ascii_general_nopad_ci' = 'abc ', 'pad', 'nopad') 3432nopad 3433SELECT CASE 'abc' COLLATE 'ascii_general_nopad_ci' WHEN 'abc ' THEN 'pad' ELSE 'nopad' END; 3434CASE 'abc' COLLATE 'ascii_general_nopad_ci' WHEN 'abc ' THEN 'pad' ELSE 'nopad' END 3435nopad 3436SELECT CASE WHEN 'abc' COLLATE 'ascii_general_nopad_ci' = 'abc ' THEN 'pad' ELSE 'nopad' END; 3437CASE WHEN 'abc' COLLATE 'ascii_general_nopad_ci' = 'abc ' THEN 'pad' ELSE 'nopad' END 3438nopad 3439SELECT HEX(LEAST('abc ' COLLATE 'ascii_general_nopad_ci', 'abc ')); 3440HEX(LEAST('abc ' COLLATE 'ascii_general_nopad_ci', 'abc ')) 344161626320 3442SELECT HEX(GREATEST('abc ' COLLATE 'ascii_general_nopad_ci', 'abc ')); 3443HEX(GREATEST('abc ' COLLATE 'ascii_general_nopad_ci', 'abc ')) 34446162632020 3445# 3446# Collation mix 3447# 3448CREATE TABLE t1 (a VARCHAR(10)) COLLATE 'ascii_general_ci'; 3449INSERT INTO t1 VALUES ('a'),('a '); 3450SELECT COUNT(*) FROM t1 WHERE a='a'; 3451COUNT(*) 34522 3453SELECT COUNT(*) FROM t1 WHERE a='a' COLLATE 'ascii_general_ci'; 3454COUNT(*) 34552 3456SELECT COUNT(*) FROM t1 WHERE a='a' COLLATE 'ascii_general_nopad_ci'; 3457COUNT(*) 34581 3459ALTER TABLE t1 MODIFY a VARCHAR(10) COLLATE 'ascii_general_nopad_ci'; 3460SELECT COUNT(*) FROM t1 WHERE a='a'; 3461COUNT(*) 34621 3463SELECT COUNT(*) FROM t1 WHERE a='a' COLLATE 'ascii_general_ci'; 3464COUNT(*) 34652 3466SELECT COUNT(*) FROM t1 WHERE a='a' COLLATE 'ascii_general_nopad_ci'; 3467COUNT(*) 34681 3469DROP TABLE t1; 3470# 3471# End of ctype_pad.inc 3472# 3473SET DEFAULT_STORAGE_ENGINE=HEAP; 3474# 3475# Start of ctype_pad.inc 3476# 3477# 3478# Unique indexes 3479# 3480CREATE TABLE t1 (a VARCHAR(10) PRIMARY KEY) COLLATE 'ascii_general_nopad_ci'; 3481SHOW CREATE TABLE t1; 3482Table Create Table 3483t1 CREATE TABLE `t1` ( 3484 `a` varchar(10) COLLATE ascii_general_nopad_ci NOT NULL, 3485 PRIMARY KEY (`a`) 3486) ENGINE=MEMORY DEFAULT CHARSET=ascii COLLATE=ascii_general_nopad_ci 3487INSERT INTO t1 VALUES ('abc'),('abc '),(' a'),(' a '),('a '); 3488SELECT HEX(a), a FROM t1 ORDER BY a; 3489HEX(a) a 34902061 a 3491206120 a 349261202020 a 3493616263 abc 34946162632020 abc 3495SELECT HEX(a), a FROM t1 IGNORE INDEX(PRIMARY) ORDER BY a; 3496HEX(a) a 34972061 a 3498206120 a 349961202020 a 3500616263 abc 35016162632020 abc 3502SELECT HEX(a), a FROM t1 IGNORE INDEX(PRIMARY) ORDER BY a DESC; 3503HEX(a) a 35046162632020 abc 3505616263 abc 350661202020 a 3507206120 a 35082061 a 3509# 3510# UNION 3511# 3512CREATE TABLE t2 (a VARCHAR(10)) COLLATE 'ascii_general_nopad_ci'; 3513INSERT INTO t2 VALUES ('abc '),('abc '),(' a'),('a '); 3514SELECT HEX(a),a FROM (SELECT * FROM t1 UNION SELECT * FROM t2 ORDER BY a) td; 3515HEX(a) a 35162061 a 3517206120 a 35186120 a 351961202020 a 3520616263 abc 352161626320 abc 35226162632020 abc 3523DROP TABLE t1; 3524DROP TABLE t2; 3525# 3526# DISTINCT, COUNT, MAX 3527# 3528CREATE TABLE t1 (a VARCHAR(10)) COLLATE 'ascii_general_nopad_ci'; 3529INSERT INTO t1 VALUES ('a'),('a '),(' a'),(' a '),('a '); 3530SELECT HEX(a), a FROM (SELECT DISTINCT a FROM t1 ORDER BY a) td; 3531HEX(a) a 35322061 a 3533206120 a 353461 a 3535612020 a 353661202020 a 3537SELECT COUNT(DISTINCT a) FROM t1 ORDER BY a; 3538COUNT(DISTINCT a) 35395 3540SELECT HEX(MAX(a)), MAX(a) FROM t1; 3541HEX(MAX(a)) MAX(a) 354261202020 a 3543# 3544# GROUP BY 3545# 3546CREATE TABLE t2 (a VARCHAR(10), b int, c varchar(10)) COLLATE 'ascii_general_nopad_ci'; 3547INSERT t2 values('ab', 12, 'cd'), ('ab', 2, 'ed'), ('aa', 20, 'er'), ('aa ', 0, 'er '); 3548SELECT HEX(a), cnt FROM (SELECT a, COUNT(a) AS cnt FROM t2 GROUP BY a ORDER BY a) AS td; 3549HEX(a) cnt 35506161 1 355161612020 1 35526162 2 3553DROP TABLE t2; 3554# 3555# Weights 3556# 3557SELECT HEX(WEIGHT_STRING(a AS CHAR(10))) FROM t1; 3558HEX(WEIGHT_STRING(a AS CHAR(10))) 355941000000000000000000 356041202000000000000000 356120410000000000000000 356220412000000000000000 356341202020000000000000 3564DROP TABLE t1; 3565# 3566# IF, CASE, LEAST 3567# 3568SELECT IF('abc' COLLATE 'ascii_general_nopad_ci' = 'abc ', 'pad', 'nopad'); 3569IF('abc' COLLATE 'ascii_general_nopad_ci' = 'abc ', 'pad', 'nopad') 3570nopad 3571SELECT CASE 'abc' COLLATE 'ascii_general_nopad_ci' WHEN 'abc ' THEN 'pad' ELSE 'nopad' END; 3572CASE 'abc' COLLATE 'ascii_general_nopad_ci' WHEN 'abc ' THEN 'pad' ELSE 'nopad' END 3573nopad 3574SELECT CASE WHEN 'abc' COLLATE 'ascii_general_nopad_ci' = 'abc ' THEN 'pad' ELSE 'nopad' END; 3575CASE WHEN 'abc' COLLATE 'ascii_general_nopad_ci' = 'abc ' THEN 'pad' ELSE 'nopad' END 3576nopad 3577SELECT HEX(LEAST('abc ' COLLATE 'ascii_general_nopad_ci', 'abc ')); 3578HEX(LEAST('abc ' COLLATE 'ascii_general_nopad_ci', 'abc ')) 357961626320 3580SELECT HEX(GREATEST('abc ' COLLATE 'ascii_general_nopad_ci', 'abc ')); 3581HEX(GREATEST('abc ' COLLATE 'ascii_general_nopad_ci', 'abc ')) 35826162632020 3583# 3584# Collation mix 3585# 3586CREATE TABLE t1 (a VARCHAR(10)) COLLATE 'ascii_general_ci'; 3587INSERT INTO t1 VALUES ('a'),('a '); 3588SELECT COUNT(*) FROM t1 WHERE a='a'; 3589COUNT(*) 35902 3591SELECT COUNT(*) FROM t1 WHERE a='a' COLLATE 'ascii_general_ci'; 3592COUNT(*) 35932 3594SELECT COUNT(*) FROM t1 WHERE a='a' COLLATE 'ascii_general_nopad_ci'; 3595COUNT(*) 35961 3597ALTER TABLE t1 MODIFY a VARCHAR(10) COLLATE 'ascii_general_nopad_ci'; 3598SELECT COUNT(*) FROM t1 WHERE a='a'; 3599COUNT(*) 36001 3601SELECT COUNT(*) FROM t1 WHERE a='a' COLLATE 'ascii_general_ci'; 3602COUNT(*) 36032 3604SELECT COUNT(*) FROM t1 WHERE a='a' COLLATE 'ascii_general_nopad_ci'; 3605COUNT(*) 36061 3607DROP TABLE t1; 3608# 3609# End of ctype_pad.inc 3610# 3611SET DEFAULT_STORAGE_ENGINE=Default; 3612SET DEFAULT_STORAGE_ENGINE=MyISAM; 3613# 3614# Start of ctype_pad.inc 3615# 3616# 3617# Unique indexes 3618# 3619CREATE TABLE t1 (a VARCHAR(10) PRIMARY KEY) COLLATE 'ascii_nopad_bin'; 3620SHOW CREATE TABLE t1; 3621Table Create Table 3622t1 CREATE TABLE `t1` ( 3623 `a` varchar(10) COLLATE ascii_nopad_bin NOT NULL, 3624 PRIMARY KEY (`a`) 3625) ENGINE=MyISAM DEFAULT CHARSET=ascii COLLATE=ascii_nopad_bin 3626INSERT INTO t1 VALUES ('abc'),('abc '),(' a'),(' a '),('a '); 3627SELECT HEX(a), a FROM t1 ORDER BY a; 3628HEX(a) a 36292061 a 3630206120 a 363161202020 a 3632616263 abc 36336162632020 abc 3634SELECT HEX(a), a FROM t1 IGNORE INDEX(PRIMARY) ORDER BY a; 3635HEX(a) a 36362061 a 3637206120 a 363861202020 a 3639616263 abc 36406162632020 abc 3641SELECT HEX(a), a FROM t1 IGNORE INDEX(PRIMARY) ORDER BY a DESC; 3642HEX(a) a 36436162632020 abc 3644616263 abc 364561202020 a 3646206120 a 36472061 a 3648# 3649# UNION 3650# 3651CREATE TABLE t2 (a VARCHAR(10)) COLLATE 'ascii_nopad_bin'; 3652INSERT INTO t2 VALUES ('abc '),('abc '),(' a'),('a '); 3653SELECT HEX(a),a FROM (SELECT * FROM t1 UNION SELECT * FROM t2 ORDER BY a) td; 3654HEX(a) a 36552061 a 3656206120 a 36576120 a 365861202020 a 3659616263 abc 366061626320 abc 36616162632020 abc 3662DROP TABLE t1; 3663DROP TABLE t2; 3664# 3665# DISTINCT, COUNT, MAX 3666# 3667CREATE TABLE t1 (a VARCHAR(10)) COLLATE 'ascii_nopad_bin'; 3668INSERT INTO t1 VALUES ('a'),('a '),(' a'),(' a '),('a '); 3669SELECT HEX(a), a FROM (SELECT DISTINCT a FROM t1 ORDER BY a) td; 3670HEX(a) a 36712061 a 3672206120 a 367361 a 3674612020 a 367561202020 a 3676SELECT COUNT(DISTINCT a) FROM t1 ORDER BY a; 3677COUNT(DISTINCT a) 36785 3679SELECT HEX(MAX(a)), MAX(a) FROM t1; 3680HEX(MAX(a)) MAX(a) 368161202020 a 3682# 3683# GROUP BY 3684# 3685CREATE TABLE t2 (a VARCHAR(10), b int, c varchar(10)) COLLATE 'ascii_nopad_bin'; 3686INSERT t2 values('ab', 12, 'cd'), ('ab', 2, 'ed'), ('aa', 20, 'er'), ('aa ', 0, 'er '); 3687SELECT HEX(a), cnt FROM (SELECT a, COUNT(a) AS cnt FROM t2 GROUP BY a ORDER BY a) AS td; 3688HEX(a) cnt 36896161 1 369061612020 1 36916162 2 3692DROP TABLE t2; 3693# 3694# Weights 3695# 3696SELECT HEX(WEIGHT_STRING(a AS CHAR(10))) FROM t1; 3697HEX(WEIGHT_STRING(a AS CHAR(10))) 369861000000000000000000 369961202000000000000000 370020610000000000000000 370120612000000000000000 370261202020000000000000 3703DROP TABLE t1; 3704# 3705# IF, CASE, LEAST 3706# 3707SELECT IF('abc' COLLATE 'ascii_nopad_bin' = 'abc ', 'pad', 'nopad'); 3708IF('abc' COLLATE 'ascii_nopad_bin' = 'abc ', 'pad', 'nopad') 3709nopad 3710SELECT CASE 'abc' COLLATE 'ascii_nopad_bin' WHEN 'abc ' THEN 'pad' ELSE 'nopad' END; 3711CASE 'abc' COLLATE 'ascii_nopad_bin' WHEN 'abc ' THEN 'pad' ELSE 'nopad' END 3712nopad 3713SELECT CASE WHEN 'abc' COLLATE 'ascii_nopad_bin' = 'abc ' THEN 'pad' ELSE 'nopad' END; 3714CASE WHEN 'abc' COLLATE 'ascii_nopad_bin' = 'abc ' THEN 'pad' ELSE 'nopad' END 3715nopad 3716SELECT HEX(LEAST('abc ' COLLATE 'ascii_nopad_bin', 'abc ')); 3717HEX(LEAST('abc ' COLLATE 'ascii_nopad_bin', 'abc ')) 371861626320 3719SELECT HEX(GREATEST('abc ' COLLATE 'ascii_nopad_bin', 'abc ')); 3720HEX(GREATEST('abc ' COLLATE 'ascii_nopad_bin', 'abc ')) 37216162632020 3722# 3723# Collation mix 3724# 3725CREATE TABLE t1 (a VARCHAR(10)) COLLATE 'ascii_bin'; 3726INSERT INTO t1 VALUES ('a'),('a '); 3727SELECT COUNT(*) FROM t1 WHERE a='a'; 3728COUNT(*) 37292 3730SELECT COUNT(*) FROM t1 WHERE a='a' COLLATE 'ascii_bin'; 3731COUNT(*) 37322 3733SELECT COUNT(*) FROM t1 WHERE a='a' COLLATE 'ascii_nopad_bin'; 3734COUNT(*) 37351 3736ALTER TABLE t1 MODIFY a VARCHAR(10) COLLATE 'ascii_nopad_bin'; 3737SELECT COUNT(*) FROM t1 WHERE a='a'; 3738COUNT(*) 37391 3740SELECT COUNT(*) FROM t1 WHERE a='a' COLLATE 'ascii_bin'; 3741COUNT(*) 37422 3743SELECT COUNT(*) FROM t1 WHERE a='a' COLLATE 'ascii_nopad_bin'; 3744COUNT(*) 37451 3746DROP TABLE t1; 3747# 3748# End of ctype_pad.inc 3749# 3750SET DEFAULT_STORAGE_ENGINE=HEAP; 3751# 3752# Start of ctype_pad.inc 3753# 3754# 3755# Unique indexes 3756# 3757CREATE TABLE t1 (a VARCHAR(10) PRIMARY KEY) COLLATE 'ascii_nopad_bin'; 3758SHOW CREATE TABLE t1; 3759Table Create Table 3760t1 CREATE TABLE `t1` ( 3761 `a` varchar(10) COLLATE ascii_nopad_bin NOT NULL, 3762 PRIMARY KEY (`a`) 3763) ENGINE=MEMORY DEFAULT CHARSET=ascii COLLATE=ascii_nopad_bin 3764INSERT INTO t1 VALUES ('abc'),('abc '),(' a'),(' a '),('a '); 3765SELECT HEX(a), a FROM t1 ORDER BY a; 3766HEX(a) a 37672061 a 3768206120 a 376961202020 a 3770616263 abc 37716162632020 abc 3772SELECT HEX(a), a FROM t1 IGNORE INDEX(PRIMARY) ORDER BY a; 3773HEX(a) a 37742061 a 3775206120 a 377661202020 a 3777616263 abc 37786162632020 abc 3779SELECT HEX(a), a FROM t1 IGNORE INDEX(PRIMARY) ORDER BY a DESC; 3780HEX(a) a 37816162632020 abc 3782616263 abc 378361202020 a 3784206120 a 37852061 a 3786# 3787# UNION 3788# 3789CREATE TABLE t2 (a VARCHAR(10)) COLLATE 'ascii_nopad_bin'; 3790INSERT INTO t2 VALUES ('abc '),('abc '),(' a'),('a '); 3791SELECT HEX(a),a FROM (SELECT * FROM t1 UNION SELECT * FROM t2 ORDER BY a) td; 3792HEX(a) a 37932061 a 3794206120 a 37956120 a 379661202020 a 3797616263 abc 379861626320 abc 37996162632020 abc 3800DROP TABLE t1; 3801DROP TABLE t2; 3802# 3803# DISTINCT, COUNT, MAX 3804# 3805CREATE TABLE t1 (a VARCHAR(10)) COLLATE 'ascii_nopad_bin'; 3806INSERT INTO t1 VALUES ('a'),('a '),(' a'),(' a '),('a '); 3807SELECT HEX(a), a FROM (SELECT DISTINCT a FROM t1 ORDER BY a) td; 3808HEX(a) a 38092061 a 3810206120 a 381161 a 3812612020 a 381361202020 a 3814SELECT COUNT(DISTINCT a) FROM t1 ORDER BY a; 3815COUNT(DISTINCT a) 38165 3817SELECT HEX(MAX(a)), MAX(a) FROM t1; 3818HEX(MAX(a)) MAX(a) 381961202020 a 3820# 3821# GROUP BY 3822# 3823CREATE TABLE t2 (a VARCHAR(10), b int, c varchar(10)) COLLATE 'ascii_nopad_bin'; 3824INSERT t2 values('ab', 12, 'cd'), ('ab', 2, 'ed'), ('aa', 20, 'er'), ('aa ', 0, 'er '); 3825SELECT HEX(a), cnt FROM (SELECT a, COUNT(a) AS cnt FROM t2 GROUP BY a ORDER BY a) AS td; 3826HEX(a) cnt 38276161 1 382861612020 1 38296162 2 3830DROP TABLE t2; 3831# 3832# Weights 3833# 3834SELECT HEX(WEIGHT_STRING(a AS CHAR(10))) FROM t1; 3835HEX(WEIGHT_STRING(a AS CHAR(10))) 383661000000000000000000 383761202000000000000000 383820610000000000000000 383920612000000000000000 384061202020000000000000 3841DROP TABLE t1; 3842# 3843# IF, CASE, LEAST 3844# 3845SELECT IF('abc' COLLATE 'ascii_nopad_bin' = 'abc ', 'pad', 'nopad'); 3846IF('abc' COLLATE 'ascii_nopad_bin' = 'abc ', 'pad', 'nopad') 3847nopad 3848SELECT CASE 'abc' COLLATE 'ascii_nopad_bin' WHEN 'abc ' THEN 'pad' ELSE 'nopad' END; 3849CASE 'abc' COLLATE 'ascii_nopad_bin' WHEN 'abc ' THEN 'pad' ELSE 'nopad' END 3850nopad 3851SELECT CASE WHEN 'abc' COLLATE 'ascii_nopad_bin' = 'abc ' THEN 'pad' ELSE 'nopad' END; 3852CASE WHEN 'abc' COLLATE 'ascii_nopad_bin' = 'abc ' THEN 'pad' ELSE 'nopad' END 3853nopad 3854SELECT HEX(LEAST('abc ' COLLATE 'ascii_nopad_bin', 'abc ')); 3855HEX(LEAST('abc ' COLLATE 'ascii_nopad_bin', 'abc ')) 385661626320 3857SELECT HEX(GREATEST('abc ' COLLATE 'ascii_nopad_bin', 'abc ')); 3858HEX(GREATEST('abc ' COLLATE 'ascii_nopad_bin', 'abc ')) 38596162632020 3860# 3861# Collation mix 3862# 3863CREATE TABLE t1 (a VARCHAR(10)) COLLATE 'ascii_bin'; 3864INSERT INTO t1 VALUES ('a'),('a '); 3865SELECT COUNT(*) FROM t1 WHERE a='a'; 3866COUNT(*) 38672 3868SELECT COUNT(*) FROM t1 WHERE a='a' COLLATE 'ascii_bin'; 3869COUNT(*) 38702 3871SELECT COUNT(*) FROM t1 WHERE a='a' COLLATE 'ascii_nopad_bin'; 3872COUNT(*) 38731 3874ALTER TABLE t1 MODIFY a VARCHAR(10) COLLATE 'ascii_nopad_bin'; 3875SELECT COUNT(*) FROM t1 WHERE a='a'; 3876COUNT(*) 38771 3878SELECT COUNT(*) FROM t1 WHERE a='a' COLLATE 'ascii_bin'; 3879COUNT(*) 38802 3881SELECT COUNT(*) FROM t1 WHERE a='a' COLLATE 'ascii_nopad_bin'; 3882COUNT(*) 38831 3884DROP TABLE t1; 3885# 3886# End of ctype_pad.inc 3887# 3888SET DEFAULT_STORAGE_ENGINE=Default; 3889SET character_set_connection=hebrew; 3890SET DEFAULT_STORAGE_ENGINE=MyISAM; 3891# 3892# Start of ctype_pad.inc 3893# 3894# 3895# Unique indexes 3896# 3897CREATE TABLE t1 (a VARCHAR(10) PRIMARY KEY) COLLATE 'hebrew_general_nopad_ci'; 3898SHOW CREATE TABLE t1; 3899Table Create Table 3900t1 CREATE TABLE `t1` ( 3901 `a` varchar(10) COLLATE hebrew_general_nopad_ci NOT NULL, 3902 PRIMARY KEY (`a`) 3903) ENGINE=MyISAM DEFAULT CHARSET=hebrew COLLATE=hebrew_general_nopad_ci 3904INSERT INTO t1 VALUES ('abc'),('abc '),(' a'),(' a '),('a '); 3905SELECT HEX(a), a FROM t1 ORDER BY a; 3906HEX(a) a 39072061 a 3908206120 a 390961202020 a 3910616263 abc 39116162632020 abc 3912SELECT HEX(a), a FROM t1 IGNORE INDEX(PRIMARY) ORDER BY a; 3913HEX(a) a 39142061 a 3915206120 a 391661202020 a 3917616263 abc 39186162632020 abc 3919SELECT HEX(a), a FROM t1 IGNORE INDEX(PRIMARY) ORDER BY a DESC; 3920HEX(a) a 39216162632020 abc 3922616263 abc 392361202020 a 3924206120 a 39252061 a 3926# 3927# UNION 3928# 3929CREATE TABLE t2 (a VARCHAR(10)) COLLATE 'hebrew_general_nopad_ci'; 3930INSERT INTO t2 VALUES ('abc '),('abc '),(' a'),('a '); 3931SELECT HEX(a),a FROM (SELECT * FROM t1 UNION SELECT * FROM t2 ORDER BY a) td; 3932HEX(a) a 39332061 a 3934206120 a 39356120 a 393661202020 a 3937616263 abc 393861626320 abc 39396162632020 abc 3940DROP TABLE t1; 3941DROP TABLE t2; 3942# 3943# DISTINCT, COUNT, MAX 3944# 3945CREATE TABLE t1 (a VARCHAR(10)) COLLATE 'hebrew_general_nopad_ci'; 3946INSERT INTO t1 VALUES ('a'),('a '),(' a'),(' a '),('a '); 3947SELECT HEX(a), a FROM (SELECT DISTINCT a FROM t1 ORDER BY a) td; 3948HEX(a) a 39492061 a 3950206120 a 395161 a 3952612020 a 395361202020 a 3954SELECT COUNT(DISTINCT a) FROM t1 ORDER BY a; 3955COUNT(DISTINCT a) 39565 3957SELECT HEX(MAX(a)), MAX(a) FROM t1; 3958HEX(MAX(a)) MAX(a) 395961202020 a 3960# 3961# GROUP BY 3962# 3963CREATE TABLE t2 (a VARCHAR(10), b int, c varchar(10)) COLLATE 'hebrew_general_nopad_ci'; 3964INSERT t2 values('ab', 12, 'cd'), ('ab', 2, 'ed'), ('aa', 20, 'er'), ('aa ', 0, 'er '); 3965SELECT HEX(a), cnt FROM (SELECT a, COUNT(a) AS cnt FROM t2 GROUP BY a ORDER BY a) AS td; 3966HEX(a) cnt 39676161 1 396861612020 1 39696162 2 3970DROP TABLE t2; 3971# 3972# Weights 3973# 3974SELECT HEX(WEIGHT_STRING(a AS CHAR(10))) FROM t1; 3975HEX(WEIGHT_STRING(a AS CHAR(10))) 397641000000000000000000 397741202000000000000000 397820410000000000000000 397920412000000000000000 398041202020000000000000 3981DROP TABLE t1; 3982# 3983# IF, CASE, LEAST 3984# 3985SELECT IF('abc' COLLATE 'hebrew_general_nopad_ci' = 'abc ', 'pad', 'nopad'); 3986IF('abc' COLLATE 'hebrew_general_nopad_ci' = 'abc ', 'pad', 'nopad') 3987nopad 3988SELECT CASE 'abc' COLLATE 'hebrew_general_nopad_ci' WHEN 'abc ' THEN 'pad' ELSE 'nopad' END; 3989CASE 'abc' COLLATE 'hebrew_general_nopad_ci' WHEN 'abc ' THEN 'pad' ELSE 'nopad' END 3990nopad 3991SELECT CASE WHEN 'abc' COLLATE 'hebrew_general_nopad_ci' = 'abc ' THEN 'pad' ELSE 'nopad' END; 3992CASE WHEN 'abc' COLLATE 'hebrew_general_nopad_ci' = 'abc ' THEN 'pad' ELSE 'nopad' END 3993nopad 3994SELECT HEX(LEAST('abc ' COLLATE 'hebrew_general_nopad_ci', 'abc ')); 3995HEX(LEAST('abc ' COLLATE 'hebrew_general_nopad_ci', 'abc ')) 399661626320 3997SELECT HEX(GREATEST('abc ' COLLATE 'hebrew_general_nopad_ci', 'abc ')); 3998HEX(GREATEST('abc ' COLLATE 'hebrew_general_nopad_ci', 'abc ')) 39996162632020 4000# 4001# Collation mix 4002# 4003CREATE TABLE t1 (a VARCHAR(10)) COLLATE 'hebrew_general_ci'; 4004INSERT INTO t1 VALUES ('a'),('a '); 4005SELECT COUNT(*) FROM t1 WHERE a='a'; 4006COUNT(*) 40072 4008SELECT COUNT(*) FROM t1 WHERE a='a' COLLATE 'hebrew_general_ci'; 4009COUNT(*) 40102 4011SELECT COUNT(*) FROM t1 WHERE a='a' COLLATE 'hebrew_general_nopad_ci'; 4012COUNT(*) 40131 4014ALTER TABLE t1 MODIFY a VARCHAR(10) COLLATE 'hebrew_general_nopad_ci'; 4015SELECT COUNT(*) FROM t1 WHERE a='a'; 4016COUNT(*) 40171 4018SELECT COUNT(*) FROM t1 WHERE a='a' COLLATE 'hebrew_general_ci'; 4019COUNT(*) 40202 4021SELECT COUNT(*) FROM t1 WHERE a='a' COLLATE 'hebrew_general_nopad_ci'; 4022COUNT(*) 40231 4024DROP TABLE t1; 4025# 4026# End of ctype_pad.inc 4027# 4028SET DEFAULT_STORAGE_ENGINE=HEAP; 4029# 4030# Start of ctype_pad.inc 4031# 4032# 4033# Unique indexes 4034# 4035CREATE TABLE t1 (a VARCHAR(10) PRIMARY KEY) COLLATE 'hebrew_general_nopad_ci'; 4036SHOW CREATE TABLE t1; 4037Table Create Table 4038t1 CREATE TABLE `t1` ( 4039 `a` varchar(10) COLLATE hebrew_general_nopad_ci NOT NULL, 4040 PRIMARY KEY (`a`) 4041) ENGINE=MEMORY DEFAULT CHARSET=hebrew COLLATE=hebrew_general_nopad_ci 4042INSERT INTO t1 VALUES ('abc'),('abc '),(' a'),(' a '),('a '); 4043SELECT HEX(a), a FROM t1 ORDER BY a; 4044HEX(a) a 40452061 a 4046206120 a 404761202020 a 4048616263 abc 40496162632020 abc 4050SELECT HEX(a), a FROM t1 IGNORE INDEX(PRIMARY) ORDER BY a; 4051HEX(a) a 40522061 a 4053206120 a 405461202020 a 4055616263 abc 40566162632020 abc 4057SELECT HEX(a), a FROM t1 IGNORE INDEX(PRIMARY) ORDER BY a DESC; 4058HEX(a) a 40596162632020 abc 4060616263 abc 406161202020 a 4062206120 a 40632061 a 4064# 4065# UNION 4066# 4067CREATE TABLE t2 (a VARCHAR(10)) COLLATE 'hebrew_general_nopad_ci'; 4068INSERT INTO t2 VALUES ('abc '),('abc '),(' a'),('a '); 4069SELECT HEX(a),a FROM (SELECT * FROM t1 UNION SELECT * FROM t2 ORDER BY a) td; 4070HEX(a) a 40712061 a 4072206120 a 40736120 a 407461202020 a 4075616263 abc 407661626320 abc 40776162632020 abc 4078DROP TABLE t1; 4079DROP TABLE t2; 4080# 4081# DISTINCT, COUNT, MAX 4082# 4083CREATE TABLE t1 (a VARCHAR(10)) COLLATE 'hebrew_general_nopad_ci'; 4084INSERT INTO t1 VALUES ('a'),('a '),(' a'),(' a '),('a '); 4085SELECT HEX(a), a FROM (SELECT DISTINCT a FROM t1 ORDER BY a) td; 4086HEX(a) a 40872061 a 4088206120 a 408961 a 4090612020 a 409161202020 a 4092SELECT COUNT(DISTINCT a) FROM t1 ORDER BY a; 4093COUNT(DISTINCT a) 40945 4095SELECT HEX(MAX(a)), MAX(a) FROM t1; 4096HEX(MAX(a)) MAX(a) 409761202020 a 4098# 4099# GROUP BY 4100# 4101CREATE TABLE t2 (a VARCHAR(10), b int, c varchar(10)) COLLATE 'hebrew_general_nopad_ci'; 4102INSERT t2 values('ab', 12, 'cd'), ('ab', 2, 'ed'), ('aa', 20, 'er'), ('aa ', 0, 'er '); 4103SELECT HEX(a), cnt FROM (SELECT a, COUNT(a) AS cnt FROM t2 GROUP BY a ORDER BY a) AS td; 4104HEX(a) cnt 41056161 1 410661612020 1 41076162 2 4108DROP TABLE t2; 4109# 4110# Weights 4111# 4112SELECT HEX(WEIGHT_STRING(a AS CHAR(10))) FROM t1; 4113HEX(WEIGHT_STRING(a AS CHAR(10))) 411441000000000000000000 411541202000000000000000 411620410000000000000000 411720412000000000000000 411841202020000000000000 4119DROP TABLE t1; 4120# 4121# IF, CASE, LEAST 4122# 4123SELECT IF('abc' COLLATE 'hebrew_general_nopad_ci' = 'abc ', 'pad', 'nopad'); 4124IF('abc' COLLATE 'hebrew_general_nopad_ci' = 'abc ', 'pad', 'nopad') 4125nopad 4126SELECT CASE 'abc' COLLATE 'hebrew_general_nopad_ci' WHEN 'abc ' THEN 'pad' ELSE 'nopad' END; 4127CASE 'abc' COLLATE 'hebrew_general_nopad_ci' WHEN 'abc ' THEN 'pad' ELSE 'nopad' END 4128nopad 4129SELECT CASE WHEN 'abc' COLLATE 'hebrew_general_nopad_ci' = 'abc ' THEN 'pad' ELSE 'nopad' END; 4130CASE WHEN 'abc' COLLATE 'hebrew_general_nopad_ci' = 'abc ' THEN 'pad' ELSE 'nopad' END 4131nopad 4132SELECT HEX(LEAST('abc ' COLLATE 'hebrew_general_nopad_ci', 'abc ')); 4133HEX(LEAST('abc ' COLLATE 'hebrew_general_nopad_ci', 'abc ')) 413461626320 4135SELECT HEX(GREATEST('abc ' COLLATE 'hebrew_general_nopad_ci', 'abc ')); 4136HEX(GREATEST('abc ' COLLATE 'hebrew_general_nopad_ci', 'abc ')) 41376162632020 4138# 4139# Collation mix 4140# 4141CREATE TABLE t1 (a VARCHAR(10)) COLLATE 'hebrew_general_ci'; 4142INSERT INTO t1 VALUES ('a'),('a '); 4143SELECT COUNT(*) FROM t1 WHERE a='a'; 4144COUNT(*) 41452 4146SELECT COUNT(*) FROM t1 WHERE a='a' COLLATE 'hebrew_general_ci'; 4147COUNT(*) 41482 4149SELECT COUNT(*) FROM t1 WHERE a='a' COLLATE 'hebrew_general_nopad_ci'; 4150COUNT(*) 41511 4152ALTER TABLE t1 MODIFY a VARCHAR(10) COLLATE 'hebrew_general_nopad_ci'; 4153SELECT COUNT(*) FROM t1 WHERE a='a'; 4154COUNT(*) 41551 4156SELECT COUNT(*) FROM t1 WHERE a='a' COLLATE 'hebrew_general_ci'; 4157COUNT(*) 41582 4159SELECT COUNT(*) FROM t1 WHERE a='a' COLLATE 'hebrew_general_nopad_ci'; 4160COUNT(*) 41611 4162DROP TABLE t1; 4163# 4164# End of ctype_pad.inc 4165# 4166SET DEFAULT_STORAGE_ENGINE=Default; 4167SET DEFAULT_STORAGE_ENGINE=MyISAM; 4168# 4169# Start of ctype_pad.inc 4170# 4171# 4172# Unique indexes 4173# 4174CREATE TABLE t1 (a VARCHAR(10) PRIMARY KEY) COLLATE 'hebrew_nopad_bin'; 4175SHOW CREATE TABLE t1; 4176Table Create Table 4177t1 CREATE TABLE `t1` ( 4178 `a` varchar(10) COLLATE hebrew_nopad_bin NOT NULL, 4179 PRIMARY KEY (`a`) 4180) ENGINE=MyISAM DEFAULT CHARSET=hebrew COLLATE=hebrew_nopad_bin 4181INSERT INTO t1 VALUES ('abc'),('abc '),(' a'),(' a '),('a '); 4182SELECT HEX(a), a FROM t1 ORDER BY a; 4183HEX(a) a 41842061 a 4185206120 a 418661202020 a 4187616263 abc 41886162632020 abc 4189SELECT HEX(a), a FROM t1 IGNORE INDEX(PRIMARY) ORDER BY a; 4190HEX(a) a 41912061 a 4192206120 a 419361202020 a 4194616263 abc 41956162632020 abc 4196SELECT HEX(a), a FROM t1 IGNORE INDEX(PRIMARY) ORDER BY a DESC; 4197HEX(a) a 41986162632020 abc 4199616263 abc 420061202020 a 4201206120 a 42022061 a 4203# 4204# UNION 4205# 4206CREATE TABLE t2 (a VARCHAR(10)) COLLATE 'hebrew_nopad_bin'; 4207INSERT INTO t2 VALUES ('abc '),('abc '),(' a'),('a '); 4208SELECT HEX(a),a FROM (SELECT * FROM t1 UNION SELECT * FROM t2 ORDER BY a) td; 4209HEX(a) a 42102061 a 4211206120 a 42126120 a 421361202020 a 4214616263 abc 421561626320 abc 42166162632020 abc 4217DROP TABLE t1; 4218DROP TABLE t2; 4219# 4220# DISTINCT, COUNT, MAX 4221# 4222CREATE TABLE t1 (a VARCHAR(10)) COLLATE 'hebrew_nopad_bin'; 4223INSERT INTO t1 VALUES ('a'),('a '),(' a'),(' a '),('a '); 4224SELECT HEX(a), a FROM (SELECT DISTINCT a FROM t1 ORDER BY a) td; 4225HEX(a) a 42262061 a 4227206120 a 422861 a 4229612020 a 423061202020 a 4231SELECT COUNT(DISTINCT a) FROM t1 ORDER BY a; 4232COUNT(DISTINCT a) 42335 4234SELECT HEX(MAX(a)), MAX(a) FROM t1; 4235HEX(MAX(a)) MAX(a) 423661202020 a 4237# 4238# GROUP BY 4239# 4240CREATE TABLE t2 (a VARCHAR(10), b int, c varchar(10)) COLLATE 'hebrew_nopad_bin'; 4241INSERT t2 values('ab', 12, 'cd'), ('ab', 2, 'ed'), ('aa', 20, 'er'), ('aa ', 0, 'er '); 4242SELECT HEX(a), cnt FROM (SELECT a, COUNT(a) AS cnt FROM t2 GROUP BY a ORDER BY a) AS td; 4243HEX(a) cnt 42446161 1 424561612020 1 42466162 2 4247DROP TABLE t2; 4248# 4249# Weights 4250# 4251SELECT HEX(WEIGHT_STRING(a AS CHAR(10))) FROM t1; 4252HEX(WEIGHT_STRING(a AS CHAR(10))) 425361000000000000000000 425461202000000000000000 425520610000000000000000 425620612000000000000000 425761202020000000000000 4258DROP TABLE t1; 4259# 4260# IF, CASE, LEAST 4261# 4262SELECT IF('abc' COLLATE 'hebrew_nopad_bin' = 'abc ', 'pad', 'nopad'); 4263IF('abc' COLLATE 'hebrew_nopad_bin' = 'abc ', 'pad', 'nopad') 4264nopad 4265SELECT CASE 'abc' COLLATE 'hebrew_nopad_bin' WHEN 'abc ' THEN 'pad' ELSE 'nopad' END; 4266CASE 'abc' COLLATE 'hebrew_nopad_bin' WHEN 'abc ' THEN 'pad' ELSE 'nopad' END 4267nopad 4268SELECT CASE WHEN 'abc' COLLATE 'hebrew_nopad_bin' = 'abc ' THEN 'pad' ELSE 'nopad' END; 4269CASE WHEN 'abc' COLLATE 'hebrew_nopad_bin' = 'abc ' THEN 'pad' ELSE 'nopad' END 4270nopad 4271SELECT HEX(LEAST('abc ' COLLATE 'hebrew_nopad_bin', 'abc ')); 4272HEX(LEAST('abc ' COLLATE 'hebrew_nopad_bin', 'abc ')) 427361626320 4274SELECT HEX(GREATEST('abc ' COLLATE 'hebrew_nopad_bin', 'abc ')); 4275HEX(GREATEST('abc ' COLLATE 'hebrew_nopad_bin', 'abc ')) 42766162632020 4277# 4278# Collation mix 4279# 4280CREATE TABLE t1 (a VARCHAR(10)) COLLATE 'hebrew_bin'; 4281INSERT INTO t1 VALUES ('a'),('a '); 4282SELECT COUNT(*) FROM t1 WHERE a='a'; 4283COUNT(*) 42842 4285SELECT COUNT(*) FROM t1 WHERE a='a' COLLATE 'hebrew_bin'; 4286COUNT(*) 42872 4288SELECT COUNT(*) FROM t1 WHERE a='a' COLLATE 'hebrew_nopad_bin'; 4289COUNT(*) 42901 4291ALTER TABLE t1 MODIFY a VARCHAR(10) COLLATE 'hebrew_nopad_bin'; 4292SELECT COUNT(*) FROM t1 WHERE a='a'; 4293COUNT(*) 42941 4295SELECT COUNT(*) FROM t1 WHERE a='a' COLLATE 'hebrew_bin'; 4296COUNT(*) 42972 4298SELECT COUNT(*) FROM t1 WHERE a='a' COLLATE 'hebrew_nopad_bin'; 4299COUNT(*) 43001 4301DROP TABLE t1; 4302# 4303# End of ctype_pad.inc 4304# 4305SET DEFAULT_STORAGE_ENGINE=HEAP; 4306# 4307# Start of ctype_pad.inc 4308# 4309# 4310# Unique indexes 4311# 4312CREATE TABLE t1 (a VARCHAR(10) PRIMARY KEY) COLLATE 'hebrew_nopad_bin'; 4313SHOW CREATE TABLE t1; 4314Table Create Table 4315t1 CREATE TABLE `t1` ( 4316 `a` varchar(10) COLLATE hebrew_nopad_bin NOT NULL, 4317 PRIMARY KEY (`a`) 4318) ENGINE=MEMORY DEFAULT CHARSET=hebrew COLLATE=hebrew_nopad_bin 4319INSERT INTO t1 VALUES ('abc'),('abc '),(' a'),(' a '),('a '); 4320SELECT HEX(a), a FROM t1 ORDER BY a; 4321HEX(a) a 43222061 a 4323206120 a 432461202020 a 4325616263 abc 43266162632020 abc 4327SELECT HEX(a), a FROM t1 IGNORE INDEX(PRIMARY) ORDER BY a; 4328HEX(a) a 43292061 a 4330206120 a 433161202020 a 4332616263 abc 43336162632020 abc 4334SELECT HEX(a), a FROM t1 IGNORE INDEX(PRIMARY) ORDER BY a DESC; 4335HEX(a) a 43366162632020 abc 4337616263 abc 433861202020 a 4339206120 a 43402061 a 4341# 4342# UNION 4343# 4344CREATE TABLE t2 (a VARCHAR(10)) COLLATE 'hebrew_nopad_bin'; 4345INSERT INTO t2 VALUES ('abc '),('abc '),(' a'),('a '); 4346SELECT HEX(a),a FROM (SELECT * FROM t1 UNION SELECT * FROM t2 ORDER BY a) td; 4347HEX(a) a 43482061 a 4349206120 a 43506120 a 435161202020 a 4352616263 abc 435361626320 abc 43546162632020 abc 4355DROP TABLE t1; 4356DROP TABLE t2; 4357# 4358# DISTINCT, COUNT, MAX 4359# 4360CREATE TABLE t1 (a VARCHAR(10)) COLLATE 'hebrew_nopad_bin'; 4361INSERT INTO t1 VALUES ('a'),('a '),(' a'),(' a '),('a '); 4362SELECT HEX(a), a FROM (SELECT DISTINCT a FROM t1 ORDER BY a) td; 4363HEX(a) a 43642061 a 4365206120 a 436661 a 4367612020 a 436861202020 a 4369SELECT COUNT(DISTINCT a) FROM t1 ORDER BY a; 4370COUNT(DISTINCT a) 43715 4372SELECT HEX(MAX(a)), MAX(a) FROM t1; 4373HEX(MAX(a)) MAX(a) 437461202020 a 4375# 4376# GROUP BY 4377# 4378CREATE TABLE t2 (a VARCHAR(10), b int, c varchar(10)) COLLATE 'hebrew_nopad_bin'; 4379INSERT t2 values('ab', 12, 'cd'), ('ab', 2, 'ed'), ('aa', 20, 'er'), ('aa ', 0, 'er '); 4380SELECT HEX(a), cnt FROM (SELECT a, COUNT(a) AS cnt FROM t2 GROUP BY a ORDER BY a) AS td; 4381HEX(a) cnt 43826161 1 438361612020 1 43846162 2 4385DROP TABLE t2; 4386# 4387# Weights 4388# 4389SELECT HEX(WEIGHT_STRING(a AS CHAR(10))) FROM t1; 4390HEX(WEIGHT_STRING(a AS CHAR(10))) 439161000000000000000000 439261202000000000000000 439320610000000000000000 439420612000000000000000 439561202020000000000000 4396DROP TABLE t1; 4397# 4398# IF, CASE, LEAST 4399# 4400SELECT IF('abc' COLLATE 'hebrew_nopad_bin' = 'abc ', 'pad', 'nopad'); 4401IF('abc' COLLATE 'hebrew_nopad_bin' = 'abc ', 'pad', 'nopad') 4402nopad 4403SELECT CASE 'abc' COLLATE 'hebrew_nopad_bin' WHEN 'abc ' THEN 'pad' ELSE 'nopad' END; 4404CASE 'abc' COLLATE 'hebrew_nopad_bin' WHEN 'abc ' THEN 'pad' ELSE 'nopad' END 4405nopad 4406SELECT CASE WHEN 'abc' COLLATE 'hebrew_nopad_bin' = 'abc ' THEN 'pad' ELSE 'nopad' END; 4407CASE WHEN 'abc' COLLATE 'hebrew_nopad_bin' = 'abc ' THEN 'pad' ELSE 'nopad' END 4408nopad 4409SELECT HEX(LEAST('abc ' COLLATE 'hebrew_nopad_bin', 'abc ')); 4410HEX(LEAST('abc ' COLLATE 'hebrew_nopad_bin', 'abc ')) 441161626320 4412SELECT HEX(GREATEST('abc ' COLLATE 'hebrew_nopad_bin', 'abc ')); 4413HEX(GREATEST('abc ' COLLATE 'hebrew_nopad_bin', 'abc ')) 44146162632020 4415# 4416# Collation mix 4417# 4418CREATE TABLE t1 (a VARCHAR(10)) COLLATE 'hebrew_bin'; 4419INSERT INTO t1 VALUES ('a'),('a '); 4420SELECT COUNT(*) FROM t1 WHERE a='a'; 4421COUNT(*) 44222 4423SELECT COUNT(*) FROM t1 WHERE a='a' COLLATE 'hebrew_bin'; 4424COUNT(*) 44252 4426SELECT COUNT(*) FROM t1 WHERE a='a' COLLATE 'hebrew_nopad_bin'; 4427COUNT(*) 44281 4429ALTER TABLE t1 MODIFY a VARCHAR(10) COLLATE 'hebrew_nopad_bin'; 4430SELECT COUNT(*) FROM t1 WHERE a='a'; 4431COUNT(*) 44321 4433SELECT COUNT(*) FROM t1 WHERE a='a' COLLATE 'hebrew_bin'; 4434COUNT(*) 44352 4436SELECT COUNT(*) FROM t1 WHERE a='a' COLLATE 'hebrew_nopad_bin'; 4437COUNT(*) 44381 4439DROP TABLE t1; 4440# 4441# End of ctype_pad.inc 4442# 4443SET DEFAULT_STORAGE_ENGINE=Default; 4444SET character_set_connection=koi8u; 4445SET DEFAULT_STORAGE_ENGINE=MyISAM; 4446# 4447# Start of ctype_pad.inc 4448# 4449# 4450# Unique indexes 4451# 4452CREATE TABLE t1 (a VARCHAR(10) PRIMARY KEY) COLLATE 'koi8u_general_nopad_ci'; 4453SHOW CREATE TABLE t1; 4454Table Create Table 4455t1 CREATE TABLE `t1` ( 4456 `a` varchar(10) COLLATE koi8u_general_nopad_ci NOT NULL, 4457 PRIMARY KEY (`a`) 4458) ENGINE=MyISAM DEFAULT CHARSET=koi8u COLLATE=koi8u_general_nopad_ci 4459INSERT INTO t1 VALUES ('abc'),('abc '),(' a'),(' a '),('a '); 4460SELECT HEX(a), a FROM t1 ORDER BY a; 4461HEX(a) a 44622061 a 4463206120 a 446461202020 a 4465616263 abc 44666162632020 abc 4467SELECT HEX(a), a FROM t1 IGNORE INDEX(PRIMARY) ORDER BY a; 4468HEX(a) a 44692061 a 4470206120 a 447161202020 a 4472616263 abc 44736162632020 abc 4474SELECT HEX(a), a FROM t1 IGNORE INDEX(PRIMARY) ORDER BY a DESC; 4475HEX(a) a 44766162632020 abc 4477616263 abc 447861202020 a 4479206120 a 44802061 a 4481# 4482# UNION 4483# 4484CREATE TABLE t2 (a VARCHAR(10)) COLLATE 'koi8u_general_nopad_ci'; 4485INSERT INTO t2 VALUES ('abc '),('abc '),(' a'),('a '); 4486SELECT HEX(a),a FROM (SELECT * FROM t1 UNION SELECT * FROM t2 ORDER BY a) td; 4487HEX(a) a 44882061 a 4489206120 a 44906120 a 449161202020 a 4492616263 abc 449361626320 abc 44946162632020 abc 4495DROP TABLE t1; 4496DROP TABLE t2; 4497# 4498# DISTINCT, COUNT, MAX 4499# 4500CREATE TABLE t1 (a VARCHAR(10)) COLLATE 'koi8u_general_nopad_ci'; 4501INSERT INTO t1 VALUES ('a'),('a '),(' a'),(' a '),('a '); 4502SELECT HEX(a), a FROM (SELECT DISTINCT a FROM t1 ORDER BY a) td; 4503HEX(a) a 45042061 a 4505206120 a 450661 a 4507612020 a 450861202020 a 4509SELECT COUNT(DISTINCT a) FROM t1 ORDER BY a; 4510COUNT(DISTINCT a) 45115 4512SELECT HEX(MAX(a)), MAX(a) FROM t1; 4513HEX(MAX(a)) MAX(a) 451461202020 a 4515# 4516# GROUP BY 4517# 4518CREATE TABLE t2 (a VARCHAR(10), b int, c varchar(10)) COLLATE 'koi8u_general_nopad_ci'; 4519INSERT t2 values('ab', 12, 'cd'), ('ab', 2, 'ed'), ('aa', 20, 'er'), ('aa ', 0, 'er '); 4520SELECT HEX(a), cnt FROM (SELECT a, COUNT(a) AS cnt FROM t2 GROUP BY a ORDER BY a) AS td; 4521HEX(a) cnt 45226161 1 452361612020 1 45246162 2 4525DROP TABLE t2; 4526# 4527# Weights 4528# 4529SELECT HEX(WEIGHT_STRING(a AS CHAR(10))) FROM t1; 4530HEX(WEIGHT_STRING(a AS CHAR(10))) 453141000000000000000000 453241202000000000000000 453320410000000000000000 453420412000000000000000 453541202020000000000000 4536DROP TABLE t1; 4537# 4538# IF, CASE, LEAST 4539# 4540SELECT IF('abc' COLLATE 'koi8u_general_nopad_ci' = 'abc ', 'pad', 'nopad'); 4541IF('abc' COLLATE 'koi8u_general_nopad_ci' = 'abc ', 'pad', 'nopad') 4542nopad 4543SELECT CASE 'abc' COLLATE 'koi8u_general_nopad_ci' WHEN 'abc ' THEN 'pad' ELSE 'nopad' END; 4544CASE 'abc' COLLATE 'koi8u_general_nopad_ci' WHEN 'abc ' THEN 'pad' ELSE 'nopad' END 4545nopad 4546SELECT CASE WHEN 'abc' COLLATE 'koi8u_general_nopad_ci' = 'abc ' THEN 'pad' ELSE 'nopad' END; 4547CASE WHEN 'abc' COLLATE 'koi8u_general_nopad_ci' = 'abc ' THEN 'pad' ELSE 'nopad' END 4548nopad 4549SELECT HEX(LEAST('abc ' COLLATE 'koi8u_general_nopad_ci', 'abc ')); 4550HEX(LEAST('abc ' COLLATE 'koi8u_general_nopad_ci', 'abc ')) 455161626320 4552SELECT HEX(GREATEST('abc ' COLLATE 'koi8u_general_nopad_ci', 'abc ')); 4553HEX(GREATEST('abc ' COLLATE 'koi8u_general_nopad_ci', 'abc ')) 45546162632020 4555# 4556# Collation mix 4557# 4558CREATE TABLE t1 (a VARCHAR(10)) COLLATE 'koi8u_general_ci'; 4559INSERT INTO t1 VALUES ('a'),('a '); 4560SELECT COUNT(*) FROM t1 WHERE a='a'; 4561COUNT(*) 45622 4563SELECT COUNT(*) FROM t1 WHERE a='a' COLLATE 'koi8u_general_ci'; 4564COUNT(*) 45652 4566SELECT COUNT(*) FROM t1 WHERE a='a' COLLATE 'koi8u_general_nopad_ci'; 4567COUNT(*) 45681 4569ALTER TABLE t1 MODIFY a VARCHAR(10) COLLATE 'koi8u_general_nopad_ci'; 4570SELECT COUNT(*) FROM t1 WHERE a='a'; 4571COUNT(*) 45721 4573SELECT COUNT(*) FROM t1 WHERE a='a' COLLATE 'koi8u_general_ci'; 4574COUNT(*) 45752 4576SELECT COUNT(*) FROM t1 WHERE a='a' COLLATE 'koi8u_general_nopad_ci'; 4577COUNT(*) 45781 4579DROP TABLE t1; 4580# 4581# End of ctype_pad.inc 4582# 4583SET DEFAULT_STORAGE_ENGINE=HEAP; 4584# 4585# Start of ctype_pad.inc 4586# 4587# 4588# Unique indexes 4589# 4590CREATE TABLE t1 (a VARCHAR(10) PRIMARY KEY) COLLATE 'koi8u_general_nopad_ci'; 4591SHOW CREATE TABLE t1; 4592Table Create Table 4593t1 CREATE TABLE `t1` ( 4594 `a` varchar(10) COLLATE koi8u_general_nopad_ci NOT NULL, 4595 PRIMARY KEY (`a`) 4596) ENGINE=MEMORY DEFAULT CHARSET=koi8u COLLATE=koi8u_general_nopad_ci 4597INSERT INTO t1 VALUES ('abc'),('abc '),(' a'),(' a '),('a '); 4598SELECT HEX(a), a FROM t1 ORDER BY a; 4599HEX(a) a 46002061 a 4601206120 a 460261202020 a 4603616263 abc 46046162632020 abc 4605SELECT HEX(a), a FROM t1 IGNORE INDEX(PRIMARY) ORDER BY a; 4606HEX(a) a 46072061 a 4608206120 a 460961202020 a 4610616263 abc 46116162632020 abc 4612SELECT HEX(a), a FROM t1 IGNORE INDEX(PRIMARY) ORDER BY a DESC; 4613HEX(a) a 46146162632020 abc 4615616263 abc 461661202020 a 4617206120 a 46182061 a 4619# 4620# UNION 4621# 4622CREATE TABLE t2 (a VARCHAR(10)) COLLATE 'koi8u_general_nopad_ci'; 4623INSERT INTO t2 VALUES ('abc '),('abc '),(' a'),('a '); 4624SELECT HEX(a),a FROM (SELECT * FROM t1 UNION SELECT * FROM t2 ORDER BY a) td; 4625HEX(a) a 46262061 a 4627206120 a 46286120 a 462961202020 a 4630616263 abc 463161626320 abc 46326162632020 abc 4633DROP TABLE t1; 4634DROP TABLE t2; 4635# 4636# DISTINCT, COUNT, MAX 4637# 4638CREATE TABLE t1 (a VARCHAR(10)) COLLATE 'koi8u_general_nopad_ci'; 4639INSERT INTO t1 VALUES ('a'),('a '),(' a'),(' a '),('a '); 4640SELECT HEX(a), a FROM (SELECT DISTINCT a FROM t1 ORDER BY a) td; 4641HEX(a) a 46422061 a 4643206120 a 464461 a 4645612020 a 464661202020 a 4647SELECT COUNT(DISTINCT a) FROM t1 ORDER BY a; 4648COUNT(DISTINCT a) 46495 4650SELECT HEX(MAX(a)), MAX(a) FROM t1; 4651HEX(MAX(a)) MAX(a) 465261202020 a 4653# 4654# GROUP BY 4655# 4656CREATE TABLE t2 (a VARCHAR(10), b int, c varchar(10)) COLLATE 'koi8u_general_nopad_ci'; 4657INSERT t2 values('ab', 12, 'cd'), ('ab', 2, 'ed'), ('aa', 20, 'er'), ('aa ', 0, 'er '); 4658SELECT HEX(a), cnt FROM (SELECT a, COUNT(a) AS cnt FROM t2 GROUP BY a ORDER BY a) AS td; 4659HEX(a) cnt 46606161 1 466161612020 1 46626162 2 4663DROP TABLE t2; 4664# 4665# Weights 4666# 4667SELECT HEX(WEIGHT_STRING(a AS CHAR(10))) FROM t1; 4668HEX(WEIGHT_STRING(a AS CHAR(10))) 466941000000000000000000 467041202000000000000000 467120410000000000000000 467220412000000000000000 467341202020000000000000 4674DROP TABLE t1; 4675# 4676# IF, CASE, LEAST 4677# 4678SELECT IF('abc' COLLATE 'koi8u_general_nopad_ci' = 'abc ', 'pad', 'nopad'); 4679IF('abc' COLLATE 'koi8u_general_nopad_ci' = 'abc ', 'pad', 'nopad') 4680nopad 4681SELECT CASE 'abc' COLLATE 'koi8u_general_nopad_ci' WHEN 'abc ' THEN 'pad' ELSE 'nopad' END; 4682CASE 'abc' COLLATE 'koi8u_general_nopad_ci' WHEN 'abc ' THEN 'pad' ELSE 'nopad' END 4683nopad 4684SELECT CASE WHEN 'abc' COLLATE 'koi8u_general_nopad_ci' = 'abc ' THEN 'pad' ELSE 'nopad' END; 4685CASE WHEN 'abc' COLLATE 'koi8u_general_nopad_ci' = 'abc ' THEN 'pad' ELSE 'nopad' END 4686nopad 4687SELECT HEX(LEAST('abc ' COLLATE 'koi8u_general_nopad_ci', 'abc ')); 4688HEX(LEAST('abc ' COLLATE 'koi8u_general_nopad_ci', 'abc ')) 468961626320 4690SELECT HEX(GREATEST('abc ' COLLATE 'koi8u_general_nopad_ci', 'abc ')); 4691HEX(GREATEST('abc ' COLLATE 'koi8u_general_nopad_ci', 'abc ')) 46926162632020 4693# 4694# Collation mix 4695# 4696CREATE TABLE t1 (a VARCHAR(10)) COLLATE 'koi8u_general_ci'; 4697INSERT INTO t1 VALUES ('a'),('a '); 4698SELECT COUNT(*) FROM t1 WHERE a='a'; 4699COUNT(*) 47002 4701SELECT COUNT(*) FROM t1 WHERE a='a' COLLATE 'koi8u_general_ci'; 4702COUNT(*) 47032 4704SELECT COUNT(*) FROM t1 WHERE a='a' COLLATE 'koi8u_general_nopad_ci'; 4705COUNT(*) 47061 4707ALTER TABLE t1 MODIFY a VARCHAR(10) COLLATE 'koi8u_general_nopad_ci'; 4708SELECT COUNT(*) FROM t1 WHERE a='a'; 4709COUNT(*) 47101 4711SELECT COUNT(*) FROM t1 WHERE a='a' COLLATE 'koi8u_general_ci'; 4712COUNT(*) 47132 4714SELECT COUNT(*) FROM t1 WHERE a='a' COLLATE 'koi8u_general_nopad_ci'; 4715COUNT(*) 47161 4717DROP TABLE t1; 4718# 4719# End of ctype_pad.inc 4720# 4721SET DEFAULT_STORAGE_ENGINE=Default; 4722SET DEFAULT_STORAGE_ENGINE=MyISAM; 4723# 4724# Start of ctype_pad.inc 4725# 4726# 4727# Unique indexes 4728# 4729CREATE TABLE t1 (a VARCHAR(10) PRIMARY KEY) COLLATE 'koi8u_nopad_bin'; 4730SHOW CREATE TABLE t1; 4731Table Create Table 4732t1 CREATE TABLE `t1` ( 4733 `a` varchar(10) COLLATE koi8u_nopad_bin NOT NULL, 4734 PRIMARY KEY (`a`) 4735) ENGINE=MyISAM DEFAULT CHARSET=koi8u COLLATE=koi8u_nopad_bin 4736INSERT INTO t1 VALUES ('abc'),('abc '),(' a'),(' a '),('a '); 4737SELECT HEX(a), a FROM t1 ORDER BY a; 4738HEX(a) a 47392061 a 4740206120 a 474161202020 a 4742616263 abc 47436162632020 abc 4744SELECT HEX(a), a FROM t1 IGNORE INDEX(PRIMARY) ORDER BY a; 4745HEX(a) a 47462061 a 4747206120 a 474861202020 a 4749616263 abc 47506162632020 abc 4751SELECT HEX(a), a FROM t1 IGNORE INDEX(PRIMARY) ORDER BY a DESC; 4752HEX(a) a 47536162632020 abc 4754616263 abc 475561202020 a 4756206120 a 47572061 a 4758# 4759# UNION 4760# 4761CREATE TABLE t2 (a VARCHAR(10)) COLLATE 'koi8u_nopad_bin'; 4762INSERT INTO t2 VALUES ('abc '),('abc '),(' a'),('a '); 4763SELECT HEX(a),a FROM (SELECT * FROM t1 UNION SELECT * FROM t2 ORDER BY a) td; 4764HEX(a) a 47652061 a 4766206120 a 47676120 a 476861202020 a 4769616263 abc 477061626320 abc 47716162632020 abc 4772DROP TABLE t1; 4773DROP TABLE t2; 4774# 4775# DISTINCT, COUNT, MAX 4776# 4777CREATE TABLE t1 (a VARCHAR(10)) COLLATE 'koi8u_nopad_bin'; 4778INSERT INTO t1 VALUES ('a'),('a '),(' a'),(' a '),('a '); 4779SELECT HEX(a), a FROM (SELECT DISTINCT a FROM t1 ORDER BY a) td; 4780HEX(a) a 47812061 a 4782206120 a 478361 a 4784612020 a 478561202020 a 4786SELECT COUNT(DISTINCT a) FROM t1 ORDER BY a; 4787COUNT(DISTINCT a) 47885 4789SELECT HEX(MAX(a)), MAX(a) FROM t1; 4790HEX(MAX(a)) MAX(a) 479161202020 a 4792# 4793# GROUP BY 4794# 4795CREATE TABLE t2 (a VARCHAR(10), b int, c varchar(10)) COLLATE 'koi8u_nopad_bin'; 4796INSERT t2 values('ab', 12, 'cd'), ('ab', 2, 'ed'), ('aa', 20, 'er'), ('aa ', 0, 'er '); 4797SELECT HEX(a), cnt FROM (SELECT a, COUNT(a) AS cnt FROM t2 GROUP BY a ORDER BY a) AS td; 4798HEX(a) cnt 47996161 1 480061612020 1 48016162 2 4802DROP TABLE t2; 4803# 4804# Weights 4805# 4806SELECT HEX(WEIGHT_STRING(a AS CHAR(10))) FROM t1; 4807HEX(WEIGHT_STRING(a AS CHAR(10))) 480861000000000000000000 480961202000000000000000 481020610000000000000000 481120612000000000000000 481261202020000000000000 4813DROP TABLE t1; 4814# 4815# IF, CASE, LEAST 4816# 4817SELECT IF('abc' COLLATE 'koi8u_nopad_bin' = 'abc ', 'pad', 'nopad'); 4818IF('abc' COLLATE 'koi8u_nopad_bin' = 'abc ', 'pad', 'nopad') 4819nopad 4820SELECT CASE 'abc' COLLATE 'koi8u_nopad_bin' WHEN 'abc ' THEN 'pad' ELSE 'nopad' END; 4821CASE 'abc' COLLATE 'koi8u_nopad_bin' WHEN 'abc ' THEN 'pad' ELSE 'nopad' END 4822nopad 4823SELECT CASE WHEN 'abc' COLLATE 'koi8u_nopad_bin' = 'abc ' THEN 'pad' ELSE 'nopad' END; 4824CASE WHEN 'abc' COLLATE 'koi8u_nopad_bin' = 'abc ' THEN 'pad' ELSE 'nopad' END 4825nopad 4826SELECT HEX(LEAST('abc ' COLLATE 'koi8u_nopad_bin', 'abc ')); 4827HEX(LEAST('abc ' COLLATE 'koi8u_nopad_bin', 'abc ')) 482861626320 4829SELECT HEX(GREATEST('abc ' COLLATE 'koi8u_nopad_bin', 'abc ')); 4830HEX(GREATEST('abc ' COLLATE 'koi8u_nopad_bin', 'abc ')) 48316162632020 4832# 4833# Collation mix 4834# 4835CREATE TABLE t1 (a VARCHAR(10)) COLLATE 'koi8u_bin'; 4836INSERT INTO t1 VALUES ('a'),('a '); 4837SELECT COUNT(*) FROM t1 WHERE a='a'; 4838COUNT(*) 48392 4840SELECT COUNT(*) FROM t1 WHERE a='a' COLLATE 'koi8u_bin'; 4841COUNT(*) 48422 4843SELECT COUNT(*) FROM t1 WHERE a='a' COLLATE 'koi8u_nopad_bin'; 4844COUNT(*) 48451 4846ALTER TABLE t1 MODIFY a VARCHAR(10) COLLATE 'koi8u_nopad_bin'; 4847SELECT COUNT(*) FROM t1 WHERE a='a'; 4848COUNT(*) 48491 4850SELECT COUNT(*) FROM t1 WHERE a='a' COLLATE 'koi8u_bin'; 4851COUNT(*) 48522 4853SELECT COUNT(*) FROM t1 WHERE a='a' COLLATE 'koi8u_nopad_bin'; 4854COUNT(*) 48551 4856DROP TABLE t1; 4857# 4858# End of ctype_pad.inc 4859# 4860SET DEFAULT_STORAGE_ENGINE=HEAP; 4861# 4862# Start of ctype_pad.inc 4863# 4864# 4865# Unique indexes 4866# 4867CREATE TABLE t1 (a VARCHAR(10) PRIMARY KEY) COLLATE 'koi8u_nopad_bin'; 4868SHOW CREATE TABLE t1; 4869Table Create Table 4870t1 CREATE TABLE `t1` ( 4871 `a` varchar(10) COLLATE koi8u_nopad_bin NOT NULL, 4872 PRIMARY KEY (`a`) 4873) ENGINE=MEMORY DEFAULT CHARSET=koi8u COLLATE=koi8u_nopad_bin 4874INSERT INTO t1 VALUES ('abc'),('abc '),(' a'),(' a '),('a '); 4875SELECT HEX(a), a FROM t1 ORDER BY a; 4876HEX(a) a 48772061 a 4878206120 a 487961202020 a 4880616263 abc 48816162632020 abc 4882SELECT HEX(a), a FROM t1 IGNORE INDEX(PRIMARY) ORDER BY a; 4883HEX(a) a 48842061 a 4885206120 a 488661202020 a 4887616263 abc 48886162632020 abc 4889SELECT HEX(a), a FROM t1 IGNORE INDEX(PRIMARY) ORDER BY a DESC; 4890HEX(a) a 48916162632020 abc 4892616263 abc 489361202020 a 4894206120 a 48952061 a 4896# 4897# UNION 4898# 4899CREATE TABLE t2 (a VARCHAR(10)) COLLATE 'koi8u_nopad_bin'; 4900INSERT INTO t2 VALUES ('abc '),('abc '),(' a'),('a '); 4901SELECT HEX(a),a FROM (SELECT * FROM t1 UNION SELECT * FROM t2 ORDER BY a) td; 4902HEX(a) a 49032061 a 4904206120 a 49056120 a 490661202020 a 4907616263 abc 490861626320 abc 49096162632020 abc 4910DROP TABLE t1; 4911DROP TABLE t2; 4912# 4913# DISTINCT, COUNT, MAX 4914# 4915CREATE TABLE t1 (a VARCHAR(10)) COLLATE 'koi8u_nopad_bin'; 4916INSERT INTO t1 VALUES ('a'),('a '),(' a'),(' a '),('a '); 4917SELECT HEX(a), a FROM (SELECT DISTINCT a FROM t1 ORDER BY a) td; 4918HEX(a) a 49192061 a 4920206120 a 492161 a 4922612020 a 492361202020 a 4924SELECT COUNT(DISTINCT a) FROM t1 ORDER BY a; 4925COUNT(DISTINCT a) 49265 4927SELECT HEX(MAX(a)), MAX(a) FROM t1; 4928HEX(MAX(a)) MAX(a) 492961202020 a 4930# 4931# GROUP BY 4932# 4933CREATE TABLE t2 (a VARCHAR(10), b int, c varchar(10)) COLLATE 'koi8u_nopad_bin'; 4934INSERT t2 values('ab', 12, 'cd'), ('ab', 2, 'ed'), ('aa', 20, 'er'), ('aa ', 0, 'er '); 4935SELECT HEX(a), cnt FROM (SELECT a, COUNT(a) AS cnt FROM t2 GROUP BY a ORDER BY a) AS td; 4936HEX(a) cnt 49376161 1 493861612020 1 49396162 2 4940DROP TABLE t2; 4941# 4942# Weights 4943# 4944SELECT HEX(WEIGHT_STRING(a AS CHAR(10))) FROM t1; 4945HEX(WEIGHT_STRING(a AS CHAR(10))) 494661000000000000000000 494761202000000000000000 494820610000000000000000 494920612000000000000000 495061202020000000000000 4951DROP TABLE t1; 4952# 4953# IF, CASE, LEAST 4954# 4955SELECT IF('abc' COLLATE 'koi8u_nopad_bin' = 'abc ', 'pad', 'nopad'); 4956IF('abc' COLLATE 'koi8u_nopad_bin' = 'abc ', 'pad', 'nopad') 4957nopad 4958SELECT CASE 'abc' COLLATE 'koi8u_nopad_bin' WHEN 'abc ' THEN 'pad' ELSE 'nopad' END; 4959CASE 'abc' COLLATE 'koi8u_nopad_bin' WHEN 'abc ' THEN 'pad' ELSE 'nopad' END 4960nopad 4961SELECT CASE WHEN 'abc' COLLATE 'koi8u_nopad_bin' = 'abc ' THEN 'pad' ELSE 'nopad' END; 4962CASE WHEN 'abc' COLLATE 'koi8u_nopad_bin' = 'abc ' THEN 'pad' ELSE 'nopad' END 4963nopad 4964SELECT HEX(LEAST('abc ' COLLATE 'koi8u_nopad_bin', 'abc ')); 4965HEX(LEAST('abc ' COLLATE 'koi8u_nopad_bin', 'abc ')) 496661626320 4967SELECT HEX(GREATEST('abc ' COLLATE 'koi8u_nopad_bin', 'abc ')); 4968HEX(GREATEST('abc ' COLLATE 'koi8u_nopad_bin', 'abc ')) 49696162632020 4970# 4971# Collation mix 4972# 4973CREATE TABLE t1 (a VARCHAR(10)) COLLATE 'koi8u_bin'; 4974INSERT INTO t1 VALUES ('a'),('a '); 4975SELECT COUNT(*) FROM t1 WHERE a='a'; 4976COUNT(*) 49772 4978SELECT COUNT(*) FROM t1 WHERE a='a' COLLATE 'koi8u_bin'; 4979COUNT(*) 49802 4981SELECT COUNT(*) FROM t1 WHERE a='a' COLLATE 'koi8u_nopad_bin'; 4982COUNT(*) 49831 4984ALTER TABLE t1 MODIFY a VARCHAR(10) COLLATE 'koi8u_nopad_bin'; 4985SELECT COUNT(*) FROM t1 WHERE a='a'; 4986COUNT(*) 49871 4988SELECT COUNT(*) FROM t1 WHERE a='a' COLLATE 'koi8u_bin'; 4989COUNT(*) 49902 4991SELECT COUNT(*) FROM t1 WHERE a='a' COLLATE 'koi8u_nopad_bin'; 4992COUNT(*) 49931 4994DROP TABLE t1; 4995# 4996# End of ctype_pad.inc 4997# 4998SET DEFAULT_STORAGE_ENGINE=Default; 4999SET character_set_connection=greek; 5000SET DEFAULT_STORAGE_ENGINE=MyISAM; 5001# 5002# Start of ctype_pad.inc 5003# 5004# 5005# Unique indexes 5006# 5007CREATE TABLE t1 (a VARCHAR(10) PRIMARY KEY) COLLATE 'greek_general_nopad_ci'; 5008SHOW CREATE TABLE t1; 5009Table Create Table 5010t1 CREATE TABLE `t1` ( 5011 `a` varchar(10) COLLATE greek_general_nopad_ci NOT NULL, 5012 PRIMARY KEY (`a`) 5013) ENGINE=MyISAM DEFAULT CHARSET=greek COLLATE=greek_general_nopad_ci 5014INSERT INTO t1 VALUES ('abc'),('abc '),(' a'),(' a '),('a '); 5015SELECT HEX(a), a FROM t1 ORDER BY a; 5016HEX(a) a 50172061 a 5018206120 a 501961202020 a 5020616263 abc 50216162632020 abc 5022SELECT HEX(a), a FROM t1 IGNORE INDEX(PRIMARY) ORDER BY a; 5023HEX(a) a 50242061 a 5025206120 a 502661202020 a 5027616263 abc 50286162632020 abc 5029SELECT HEX(a), a FROM t1 IGNORE INDEX(PRIMARY) ORDER BY a DESC; 5030HEX(a) a 50316162632020 abc 5032616263 abc 503361202020 a 5034206120 a 50352061 a 5036# 5037# UNION 5038# 5039CREATE TABLE t2 (a VARCHAR(10)) COLLATE 'greek_general_nopad_ci'; 5040INSERT INTO t2 VALUES ('abc '),('abc '),(' a'),('a '); 5041SELECT HEX(a),a FROM (SELECT * FROM t1 UNION SELECT * FROM t2 ORDER BY a) td; 5042HEX(a) a 50432061 a 5044206120 a 50456120 a 504661202020 a 5047616263 abc 504861626320 abc 50496162632020 abc 5050DROP TABLE t1; 5051DROP TABLE t2; 5052# 5053# DISTINCT, COUNT, MAX 5054# 5055CREATE TABLE t1 (a VARCHAR(10)) COLLATE 'greek_general_nopad_ci'; 5056INSERT INTO t1 VALUES ('a'),('a '),(' a'),(' a '),('a '); 5057SELECT HEX(a), a FROM (SELECT DISTINCT a FROM t1 ORDER BY a) td; 5058HEX(a) a 50592061 a 5060206120 a 506161 a 5062612020 a 506361202020 a 5064SELECT COUNT(DISTINCT a) FROM t1 ORDER BY a; 5065COUNT(DISTINCT a) 50665 5067SELECT HEX(MAX(a)), MAX(a) FROM t1; 5068HEX(MAX(a)) MAX(a) 506961202020 a 5070# 5071# GROUP BY 5072# 5073CREATE TABLE t2 (a VARCHAR(10), b int, c varchar(10)) COLLATE 'greek_general_nopad_ci'; 5074INSERT t2 values('ab', 12, 'cd'), ('ab', 2, 'ed'), ('aa', 20, 'er'), ('aa ', 0, 'er '); 5075SELECT HEX(a), cnt FROM (SELECT a, COUNT(a) AS cnt FROM t2 GROUP BY a ORDER BY a) AS td; 5076HEX(a) cnt 50776161 1 507861612020 1 50796162 2 5080DROP TABLE t2; 5081# 5082# Weights 5083# 5084SELECT HEX(WEIGHT_STRING(a AS CHAR(10))) FROM t1; 5085HEX(WEIGHT_STRING(a AS CHAR(10))) 508641000000000000000000 508741202000000000000000 508820410000000000000000 508920412000000000000000 509041202020000000000000 5091DROP TABLE t1; 5092# 5093# IF, CASE, LEAST 5094# 5095SELECT IF('abc' COLLATE 'greek_general_nopad_ci' = 'abc ', 'pad', 'nopad'); 5096IF('abc' COLLATE 'greek_general_nopad_ci' = 'abc ', 'pad', 'nopad') 5097nopad 5098SELECT CASE 'abc' COLLATE 'greek_general_nopad_ci' WHEN 'abc ' THEN 'pad' ELSE 'nopad' END; 5099CASE 'abc' COLLATE 'greek_general_nopad_ci' WHEN 'abc ' THEN 'pad' ELSE 'nopad' END 5100nopad 5101SELECT CASE WHEN 'abc' COLLATE 'greek_general_nopad_ci' = 'abc ' THEN 'pad' ELSE 'nopad' END; 5102CASE WHEN 'abc' COLLATE 'greek_general_nopad_ci' = 'abc ' THEN 'pad' ELSE 'nopad' END 5103nopad 5104SELECT HEX(LEAST('abc ' COLLATE 'greek_general_nopad_ci', 'abc ')); 5105HEX(LEAST('abc ' COLLATE 'greek_general_nopad_ci', 'abc ')) 510661626320 5107SELECT HEX(GREATEST('abc ' COLLATE 'greek_general_nopad_ci', 'abc ')); 5108HEX(GREATEST('abc ' COLLATE 'greek_general_nopad_ci', 'abc ')) 51096162632020 5110# 5111# Collation mix 5112# 5113CREATE TABLE t1 (a VARCHAR(10)) COLLATE 'greek_general_ci'; 5114INSERT INTO t1 VALUES ('a'),('a '); 5115SELECT COUNT(*) FROM t1 WHERE a='a'; 5116COUNT(*) 51172 5118SELECT COUNT(*) FROM t1 WHERE a='a' COLLATE 'greek_general_ci'; 5119COUNT(*) 51202 5121SELECT COUNT(*) FROM t1 WHERE a='a' COLLATE 'greek_general_nopad_ci'; 5122COUNT(*) 51231 5124ALTER TABLE t1 MODIFY a VARCHAR(10) COLLATE 'greek_general_nopad_ci'; 5125SELECT COUNT(*) FROM t1 WHERE a='a'; 5126COUNT(*) 51271 5128SELECT COUNT(*) FROM t1 WHERE a='a' COLLATE 'greek_general_ci'; 5129COUNT(*) 51302 5131SELECT COUNT(*) FROM t1 WHERE a='a' COLLATE 'greek_general_nopad_ci'; 5132COUNT(*) 51331 5134DROP TABLE t1; 5135# 5136# End of ctype_pad.inc 5137# 5138SET DEFAULT_STORAGE_ENGINE=HEAP; 5139# 5140# Start of ctype_pad.inc 5141# 5142# 5143# Unique indexes 5144# 5145CREATE TABLE t1 (a VARCHAR(10) PRIMARY KEY) COLLATE 'greek_general_nopad_ci'; 5146SHOW CREATE TABLE t1; 5147Table Create Table 5148t1 CREATE TABLE `t1` ( 5149 `a` varchar(10) COLLATE greek_general_nopad_ci NOT NULL, 5150 PRIMARY KEY (`a`) 5151) ENGINE=MEMORY DEFAULT CHARSET=greek COLLATE=greek_general_nopad_ci 5152INSERT INTO t1 VALUES ('abc'),('abc '),(' a'),(' a '),('a '); 5153SELECT HEX(a), a FROM t1 ORDER BY a; 5154HEX(a) a 51552061 a 5156206120 a 515761202020 a 5158616263 abc 51596162632020 abc 5160SELECT HEX(a), a FROM t1 IGNORE INDEX(PRIMARY) ORDER BY a; 5161HEX(a) a 51622061 a 5163206120 a 516461202020 a 5165616263 abc 51666162632020 abc 5167SELECT HEX(a), a FROM t1 IGNORE INDEX(PRIMARY) ORDER BY a DESC; 5168HEX(a) a 51696162632020 abc 5170616263 abc 517161202020 a 5172206120 a 51732061 a 5174# 5175# UNION 5176# 5177CREATE TABLE t2 (a VARCHAR(10)) COLLATE 'greek_general_nopad_ci'; 5178INSERT INTO t2 VALUES ('abc '),('abc '),(' a'),('a '); 5179SELECT HEX(a),a FROM (SELECT * FROM t1 UNION SELECT * FROM t2 ORDER BY a) td; 5180HEX(a) a 51812061 a 5182206120 a 51836120 a 518461202020 a 5185616263 abc 518661626320 abc 51876162632020 abc 5188DROP TABLE t1; 5189DROP TABLE t2; 5190# 5191# DISTINCT, COUNT, MAX 5192# 5193CREATE TABLE t1 (a VARCHAR(10)) COLLATE 'greek_general_nopad_ci'; 5194INSERT INTO t1 VALUES ('a'),('a '),(' a'),(' a '),('a '); 5195SELECT HEX(a), a FROM (SELECT DISTINCT a FROM t1 ORDER BY a) td; 5196HEX(a) a 51972061 a 5198206120 a 519961 a 5200612020 a 520161202020 a 5202SELECT COUNT(DISTINCT a) FROM t1 ORDER BY a; 5203COUNT(DISTINCT a) 52045 5205SELECT HEX(MAX(a)), MAX(a) FROM t1; 5206HEX(MAX(a)) MAX(a) 520761202020 a 5208# 5209# GROUP BY 5210# 5211CREATE TABLE t2 (a VARCHAR(10), b int, c varchar(10)) COLLATE 'greek_general_nopad_ci'; 5212INSERT t2 values('ab', 12, 'cd'), ('ab', 2, 'ed'), ('aa', 20, 'er'), ('aa ', 0, 'er '); 5213SELECT HEX(a), cnt FROM (SELECT a, COUNT(a) AS cnt FROM t2 GROUP BY a ORDER BY a) AS td; 5214HEX(a) cnt 52156161 1 521661612020 1 52176162 2 5218DROP TABLE t2; 5219# 5220# Weights 5221# 5222SELECT HEX(WEIGHT_STRING(a AS CHAR(10))) FROM t1; 5223HEX(WEIGHT_STRING(a AS CHAR(10))) 522441000000000000000000 522541202000000000000000 522620410000000000000000 522720412000000000000000 522841202020000000000000 5229DROP TABLE t1; 5230# 5231# IF, CASE, LEAST 5232# 5233SELECT IF('abc' COLLATE 'greek_general_nopad_ci' = 'abc ', 'pad', 'nopad'); 5234IF('abc' COLLATE 'greek_general_nopad_ci' = 'abc ', 'pad', 'nopad') 5235nopad 5236SELECT CASE 'abc' COLLATE 'greek_general_nopad_ci' WHEN 'abc ' THEN 'pad' ELSE 'nopad' END; 5237CASE 'abc' COLLATE 'greek_general_nopad_ci' WHEN 'abc ' THEN 'pad' ELSE 'nopad' END 5238nopad 5239SELECT CASE WHEN 'abc' COLLATE 'greek_general_nopad_ci' = 'abc ' THEN 'pad' ELSE 'nopad' END; 5240CASE WHEN 'abc' COLLATE 'greek_general_nopad_ci' = 'abc ' THEN 'pad' ELSE 'nopad' END 5241nopad 5242SELECT HEX(LEAST('abc ' COLLATE 'greek_general_nopad_ci', 'abc ')); 5243HEX(LEAST('abc ' COLLATE 'greek_general_nopad_ci', 'abc ')) 524461626320 5245SELECT HEX(GREATEST('abc ' COLLATE 'greek_general_nopad_ci', 'abc ')); 5246HEX(GREATEST('abc ' COLLATE 'greek_general_nopad_ci', 'abc ')) 52476162632020 5248# 5249# Collation mix 5250# 5251CREATE TABLE t1 (a VARCHAR(10)) COLLATE 'greek_general_ci'; 5252INSERT INTO t1 VALUES ('a'),('a '); 5253SELECT COUNT(*) FROM t1 WHERE a='a'; 5254COUNT(*) 52552 5256SELECT COUNT(*) FROM t1 WHERE a='a' COLLATE 'greek_general_ci'; 5257COUNT(*) 52582 5259SELECT COUNT(*) FROM t1 WHERE a='a' COLLATE 'greek_general_nopad_ci'; 5260COUNT(*) 52611 5262ALTER TABLE t1 MODIFY a VARCHAR(10) COLLATE 'greek_general_nopad_ci'; 5263SELECT COUNT(*) FROM t1 WHERE a='a'; 5264COUNT(*) 52651 5266SELECT COUNT(*) FROM t1 WHERE a='a' COLLATE 'greek_general_ci'; 5267COUNT(*) 52682 5269SELECT COUNT(*) FROM t1 WHERE a='a' COLLATE 'greek_general_nopad_ci'; 5270COUNT(*) 52711 5272DROP TABLE t1; 5273# 5274# End of ctype_pad.inc 5275# 5276SET DEFAULT_STORAGE_ENGINE=Default; 5277SET DEFAULT_STORAGE_ENGINE=MyISAM; 5278# 5279# Start of ctype_pad.inc 5280# 5281# 5282# Unique indexes 5283# 5284CREATE TABLE t1 (a VARCHAR(10) PRIMARY KEY) COLLATE 'greek_nopad_bin'; 5285SHOW CREATE TABLE t1; 5286Table Create Table 5287t1 CREATE TABLE `t1` ( 5288 `a` varchar(10) COLLATE greek_nopad_bin NOT NULL, 5289 PRIMARY KEY (`a`) 5290) ENGINE=MyISAM DEFAULT CHARSET=greek COLLATE=greek_nopad_bin 5291INSERT INTO t1 VALUES ('abc'),('abc '),(' a'),(' a '),('a '); 5292SELECT HEX(a), a FROM t1 ORDER BY a; 5293HEX(a) a 52942061 a 5295206120 a 529661202020 a 5297616263 abc 52986162632020 abc 5299SELECT HEX(a), a FROM t1 IGNORE INDEX(PRIMARY) ORDER BY a; 5300HEX(a) a 53012061 a 5302206120 a 530361202020 a 5304616263 abc 53056162632020 abc 5306SELECT HEX(a), a FROM t1 IGNORE INDEX(PRIMARY) ORDER BY a DESC; 5307HEX(a) a 53086162632020 abc 5309616263 abc 531061202020 a 5311206120 a 53122061 a 5313# 5314# UNION 5315# 5316CREATE TABLE t2 (a VARCHAR(10)) COLLATE 'greek_nopad_bin'; 5317INSERT INTO t2 VALUES ('abc '),('abc '),(' a'),('a '); 5318SELECT HEX(a),a FROM (SELECT * FROM t1 UNION SELECT * FROM t2 ORDER BY a) td; 5319HEX(a) a 53202061 a 5321206120 a 53226120 a 532361202020 a 5324616263 abc 532561626320 abc 53266162632020 abc 5327DROP TABLE t1; 5328DROP TABLE t2; 5329# 5330# DISTINCT, COUNT, MAX 5331# 5332CREATE TABLE t1 (a VARCHAR(10)) COLLATE 'greek_nopad_bin'; 5333INSERT INTO t1 VALUES ('a'),('a '),(' a'),(' a '),('a '); 5334SELECT HEX(a), a FROM (SELECT DISTINCT a FROM t1 ORDER BY a) td; 5335HEX(a) a 53362061 a 5337206120 a 533861 a 5339612020 a 534061202020 a 5341SELECT COUNT(DISTINCT a) FROM t1 ORDER BY a; 5342COUNT(DISTINCT a) 53435 5344SELECT HEX(MAX(a)), MAX(a) FROM t1; 5345HEX(MAX(a)) MAX(a) 534661202020 a 5347# 5348# GROUP BY 5349# 5350CREATE TABLE t2 (a VARCHAR(10), b int, c varchar(10)) COLLATE 'greek_nopad_bin'; 5351INSERT t2 values('ab', 12, 'cd'), ('ab', 2, 'ed'), ('aa', 20, 'er'), ('aa ', 0, 'er '); 5352SELECT HEX(a), cnt FROM (SELECT a, COUNT(a) AS cnt FROM t2 GROUP BY a ORDER BY a) AS td; 5353HEX(a) cnt 53546161 1 535561612020 1 53566162 2 5357DROP TABLE t2; 5358# 5359# Weights 5360# 5361SELECT HEX(WEIGHT_STRING(a AS CHAR(10))) FROM t1; 5362HEX(WEIGHT_STRING(a AS CHAR(10))) 536361000000000000000000 536461202000000000000000 536520610000000000000000 536620612000000000000000 536761202020000000000000 5368DROP TABLE t1; 5369# 5370# IF, CASE, LEAST 5371# 5372SELECT IF('abc' COLLATE 'greek_nopad_bin' = 'abc ', 'pad', 'nopad'); 5373IF('abc' COLLATE 'greek_nopad_bin' = 'abc ', 'pad', 'nopad') 5374nopad 5375SELECT CASE 'abc' COLLATE 'greek_nopad_bin' WHEN 'abc ' THEN 'pad' ELSE 'nopad' END; 5376CASE 'abc' COLLATE 'greek_nopad_bin' WHEN 'abc ' THEN 'pad' ELSE 'nopad' END 5377nopad 5378SELECT CASE WHEN 'abc' COLLATE 'greek_nopad_bin' = 'abc ' THEN 'pad' ELSE 'nopad' END; 5379CASE WHEN 'abc' COLLATE 'greek_nopad_bin' = 'abc ' THEN 'pad' ELSE 'nopad' END 5380nopad 5381SELECT HEX(LEAST('abc ' COLLATE 'greek_nopad_bin', 'abc ')); 5382HEX(LEAST('abc ' COLLATE 'greek_nopad_bin', 'abc ')) 538361626320 5384SELECT HEX(GREATEST('abc ' COLLATE 'greek_nopad_bin', 'abc ')); 5385HEX(GREATEST('abc ' COLLATE 'greek_nopad_bin', 'abc ')) 53866162632020 5387# 5388# Collation mix 5389# 5390CREATE TABLE t1 (a VARCHAR(10)) COLLATE 'greek_bin'; 5391INSERT INTO t1 VALUES ('a'),('a '); 5392SELECT COUNT(*) FROM t1 WHERE a='a'; 5393COUNT(*) 53942 5395SELECT COUNT(*) FROM t1 WHERE a='a' COLLATE 'greek_bin'; 5396COUNT(*) 53972 5398SELECT COUNT(*) FROM t1 WHERE a='a' COLLATE 'greek_nopad_bin'; 5399COUNT(*) 54001 5401ALTER TABLE t1 MODIFY a VARCHAR(10) COLLATE 'greek_nopad_bin'; 5402SELECT COUNT(*) FROM t1 WHERE a='a'; 5403COUNT(*) 54041 5405SELECT COUNT(*) FROM t1 WHERE a='a' COLLATE 'greek_bin'; 5406COUNT(*) 54072 5408SELECT COUNT(*) FROM t1 WHERE a='a' COLLATE 'greek_nopad_bin'; 5409COUNT(*) 54101 5411DROP TABLE t1; 5412# 5413# End of ctype_pad.inc 5414# 5415SET DEFAULT_STORAGE_ENGINE=HEAP; 5416# 5417# Start of ctype_pad.inc 5418# 5419# 5420# Unique indexes 5421# 5422CREATE TABLE t1 (a VARCHAR(10) PRIMARY KEY) COLLATE 'greek_nopad_bin'; 5423SHOW CREATE TABLE t1; 5424Table Create Table 5425t1 CREATE TABLE `t1` ( 5426 `a` varchar(10) COLLATE greek_nopad_bin NOT NULL, 5427 PRIMARY KEY (`a`) 5428) ENGINE=MEMORY DEFAULT CHARSET=greek COLLATE=greek_nopad_bin 5429INSERT INTO t1 VALUES ('abc'),('abc '),(' a'),(' a '),('a '); 5430SELECT HEX(a), a FROM t1 ORDER BY a; 5431HEX(a) a 54322061 a 5433206120 a 543461202020 a 5435616263 abc 54366162632020 abc 5437SELECT HEX(a), a FROM t1 IGNORE INDEX(PRIMARY) ORDER BY a; 5438HEX(a) a 54392061 a 5440206120 a 544161202020 a 5442616263 abc 54436162632020 abc 5444SELECT HEX(a), a FROM t1 IGNORE INDEX(PRIMARY) ORDER BY a DESC; 5445HEX(a) a 54466162632020 abc 5447616263 abc 544861202020 a 5449206120 a 54502061 a 5451# 5452# UNION 5453# 5454CREATE TABLE t2 (a VARCHAR(10)) COLLATE 'greek_nopad_bin'; 5455INSERT INTO t2 VALUES ('abc '),('abc '),(' a'),('a '); 5456SELECT HEX(a),a FROM (SELECT * FROM t1 UNION SELECT * FROM t2 ORDER BY a) td; 5457HEX(a) a 54582061 a 5459206120 a 54606120 a 546161202020 a 5462616263 abc 546361626320 abc 54646162632020 abc 5465DROP TABLE t1; 5466DROP TABLE t2; 5467# 5468# DISTINCT, COUNT, MAX 5469# 5470CREATE TABLE t1 (a VARCHAR(10)) COLLATE 'greek_nopad_bin'; 5471INSERT INTO t1 VALUES ('a'),('a '),(' a'),(' a '),('a '); 5472SELECT HEX(a), a FROM (SELECT DISTINCT a FROM t1 ORDER BY a) td; 5473HEX(a) a 54742061 a 5475206120 a 547661 a 5477612020 a 547861202020 a 5479SELECT COUNT(DISTINCT a) FROM t1 ORDER BY a; 5480COUNT(DISTINCT a) 54815 5482SELECT HEX(MAX(a)), MAX(a) FROM t1; 5483HEX(MAX(a)) MAX(a) 548461202020 a 5485# 5486# GROUP BY 5487# 5488CREATE TABLE t2 (a VARCHAR(10), b int, c varchar(10)) COLLATE 'greek_nopad_bin'; 5489INSERT t2 values('ab', 12, 'cd'), ('ab', 2, 'ed'), ('aa', 20, 'er'), ('aa ', 0, 'er '); 5490SELECT HEX(a), cnt FROM (SELECT a, COUNT(a) AS cnt FROM t2 GROUP BY a ORDER BY a) AS td; 5491HEX(a) cnt 54926161 1 549361612020 1 54946162 2 5495DROP TABLE t2; 5496# 5497# Weights 5498# 5499SELECT HEX(WEIGHT_STRING(a AS CHAR(10))) FROM t1; 5500HEX(WEIGHT_STRING(a AS CHAR(10))) 550161000000000000000000 550261202000000000000000 550320610000000000000000 550420612000000000000000 550561202020000000000000 5506DROP TABLE t1; 5507# 5508# IF, CASE, LEAST 5509# 5510SELECT IF('abc' COLLATE 'greek_nopad_bin' = 'abc ', 'pad', 'nopad'); 5511IF('abc' COLLATE 'greek_nopad_bin' = 'abc ', 'pad', 'nopad') 5512nopad 5513SELECT CASE 'abc' COLLATE 'greek_nopad_bin' WHEN 'abc ' THEN 'pad' ELSE 'nopad' END; 5514CASE 'abc' COLLATE 'greek_nopad_bin' WHEN 'abc ' THEN 'pad' ELSE 'nopad' END 5515nopad 5516SELECT CASE WHEN 'abc' COLLATE 'greek_nopad_bin' = 'abc ' THEN 'pad' ELSE 'nopad' END; 5517CASE WHEN 'abc' COLLATE 'greek_nopad_bin' = 'abc ' THEN 'pad' ELSE 'nopad' END 5518nopad 5519SELECT HEX(LEAST('abc ' COLLATE 'greek_nopad_bin', 'abc ')); 5520HEX(LEAST('abc ' COLLATE 'greek_nopad_bin', 'abc ')) 552161626320 5522SELECT HEX(GREATEST('abc ' COLLATE 'greek_nopad_bin', 'abc ')); 5523HEX(GREATEST('abc ' COLLATE 'greek_nopad_bin', 'abc ')) 55246162632020 5525# 5526# Collation mix 5527# 5528CREATE TABLE t1 (a VARCHAR(10)) COLLATE 'greek_bin'; 5529INSERT INTO t1 VALUES ('a'),('a '); 5530SELECT COUNT(*) FROM t1 WHERE a='a'; 5531COUNT(*) 55322 5533SELECT COUNT(*) FROM t1 WHERE a='a' COLLATE 'greek_bin'; 5534COUNT(*) 55352 5536SELECT COUNT(*) FROM t1 WHERE a='a' COLLATE 'greek_nopad_bin'; 5537COUNT(*) 55381 5539ALTER TABLE t1 MODIFY a VARCHAR(10) COLLATE 'greek_nopad_bin'; 5540SELECT COUNT(*) FROM t1 WHERE a='a'; 5541COUNT(*) 55421 5543SELECT COUNT(*) FROM t1 WHERE a='a' COLLATE 'greek_bin'; 5544COUNT(*) 55452 5546SELECT COUNT(*) FROM t1 WHERE a='a' COLLATE 'greek_nopad_bin'; 5547COUNT(*) 55481 5549DROP TABLE t1; 5550# 5551# End of ctype_pad.inc 5552# 5553SET DEFAULT_STORAGE_ENGINE=Default; 5554SET character_set_connection=cp1250; 5555SET DEFAULT_STORAGE_ENGINE=MyISAM; 5556# 5557# Start of ctype_pad.inc 5558# 5559# 5560# Unique indexes 5561# 5562CREATE TABLE t1 (a VARCHAR(10) PRIMARY KEY) COLLATE 'cp1250_general_nopad_ci'; 5563SHOW CREATE TABLE t1; 5564Table Create Table 5565t1 CREATE TABLE `t1` ( 5566 `a` varchar(10) COLLATE cp1250_general_nopad_ci NOT NULL, 5567 PRIMARY KEY (`a`) 5568) ENGINE=MyISAM DEFAULT CHARSET=cp1250 COLLATE=cp1250_general_nopad_ci 5569INSERT INTO t1 VALUES ('abc'),('abc '),(' a'),(' a '),('a '); 5570SELECT HEX(a), a FROM t1 ORDER BY a; 5571HEX(a) a 55722061 a 5573206120 a 557461202020 a 5575616263 abc 55766162632020 abc 5577SELECT HEX(a), a FROM t1 IGNORE INDEX(PRIMARY) ORDER BY a; 5578HEX(a) a 55792061 a 5580206120 a 558161202020 a 5582616263 abc 55836162632020 abc 5584SELECT HEX(a), a FROM t1 IGNORE INDEX(PRIMARY) ORDER BY a DESC; 5585HEX(a) a 55866162632020 abc 5587616263 abc 558861202020 a 5589206120 a 55902061 a 5591# 5592# UNION 5593# 5594CREATE TABLE t2 (a VARCHAR(10)) COLLATE 'cp1250_general_nopad_ci'; 5595INSERT INTO t2 VALUES ('abc '),('abc '),(' a'),('a '); 5596SELECT HEX(a),a FROM (SELECT * FROM t1 UNION SELECT * FROM t2 ORDER BY a) td; 5597HEX(a) a 55982061 a 5599206120 a 56006120 a 560161202020 a 5602616263 abc 560361626320 abc 56046162632020 abc 5605DROP TABLE t1; 5606DROP TABLE t2; 5607# 5608# DISTINCT, COUNT, MAX 5609# 5610CREATE TABLE t1 (a VARCHAR(10)) COLLATE 'cp1250_general_nopad_ci'; 5611INSERT INTO t1 VALUES ('a'),('a '),(' a'),(' a '),('a '); 5612SELECT HEX(a), a FROM (SELECT DISTINCT a FROM t1 ORDER BY a) td; 5613HEX(a) a 56142061 a 5615206120 a 561661 a 5617612020 a 561861202020 a 5619SELECT COUNT(DISTINCT a) FROM t1 ORDER BY a; 5620COUNT(DISTINCT a) 56215 5622SELECT HEX(MAX(a)), MAX(a) FROM t1; 5623HEX(MAX(a)) MAX(a) 562461202020 a 5625# 5626# GROUP BY 5627# 5628CREATE TABLE t2 (a VARCHAR(10), b int, c varchar(10)) COLLATE 'cp1250_general_nopad_ci'; 5629INSERT t2 values('ab', 12, 'cd'), ('ab', 2, 'ed'), ('aa', 20, 'er'), ('aa ', 0, 'er '); 5630SELECT HEX(a), cnt FROM (SELECT a, COUNT(a) AS cnt FROM t2 GROUP BY a ORDER BY a) AS td; 5631HEX(a) cnt 56326161 1 563361612020 1 56346162 2 5635DROP TABLE t2; 5636# 5637# Weights 5638# 5639SELECT HEX(WEIGHT_STRING(a AS CHAR(10))) FROM t1; 5640HEX(WEIGHT_STRING(a AS CHAR(10))) 564141000000000000000000 564241202000000000000000 564320410000000000000000 564420412000000000000000 564541202020000000000000 5646DROP TABLE t1; 5647# 5648# IF, CASE, LEAST 5649# 5650SELECT IF('abc' COLLATE 'cp1250_general_nopad_ci' = 'abc ', 'pad', 'nopad'); 5651IF('abc' COLLATE 'cp1250_general_nopad_ci' = 'abc ', 'pad', 'nopad') 5652nopad 5653SELECT CASE 'abc' COLLATE 'cp1250_general_nopad_ci' WHEN 'abc ' THEN 'pad' ELSE 'nopad' END; 5654CASE 'abc' COLLATE 'cp1250_general_nopad_ci' WHEN 'abc ' THEN 'pad' ELSE 'nopad' END 5655nopad 5656SELECT CASE WHEN 'abc' COLLATE 'cp1250_general_nopad_ci' = 'abc ' THEN 'pad' ELSE 'nopad' END; 5657CASE WHEN 'abc' COLLATE 'cp1250_general_nopad_ci' = 'abc ' THEN 'pad' ELSE 'nopad' END 5658nopad 5659SELECT HEX(LEAST('abc ' COLLATE 'cp1250_general_nopad_ci', 'abc ')); 5660HEX(LEAST('abc ' COLLATE 'cp1250_general_nopad_ci', 'abc ')) 566161626320 5662SELECT HEX(GREATEST('abc ' COLLATE 'cp1250_general_nopad_ci', 'abc ')); 5663HEX(GREATEST('abc ' COLLATE 'cp1250_general_nopad_ci', 'abc ')) 56646162632020 5665# 5666# Collation mix 5667# 5668CREATE TABLE t1 (a VARCHAR(10)) COLLATE 'cp1250_general_ci'; 5669INSERT INTO t1 VALUES ('a'),('a '); 5670SELECT COUNT(*) FROM t1 WHERE a='a'; 5671COUNT(*) 56722 5673SELECT COUNT(*) FROM t1 WHERE a='a' COLLATE 'cp1250_general_ci'; 5674COUNT(*) 56752 5676SELECT COUNT(*) FROM t1 WHERE a='a' COLLATE 'cp1250_general_nopad_ci'; 5677COUNT(*) 56781 5679ALTER TABLE t1 MODIFY a VARCHAR(10) COLLATE 'cp1250_general_nopad_ci'; 5680SELECT COUNT(*) FROM t1 WHERE a='a'; 5681COUNT(*) 56821 5683SELECT COUNT(*) FROM t1 WHERE a='a' COLLATE 'cp1250_general_ci'; 5684COUNT(*) 56852 5686SELECT COUNT(*) FROM t1 WHERE a='a' COLLATE 'cp1250_general_nopad_ci'; 5687COUNT(*) 56881 5689DROP TABLE t1; 5690# 5691# End of ctype_pad.inc 5692# 5693SET DEFAULT_STORAGE_ENGINE=HEAP; 5694# 5695# Start of ctype_pad.inc 5696# 5697# 5698# Unique indexes 5699# 5700CREATE TABLE t1 (a VARCHAR(10) PRIMARY KEY) COLLATE 'cp1250_general_nopad_ci'; 5701SHOW CREATE TABLE t1; 5702Table Create Table 5703t1 CREATE TABLE `t1` ( 5704 `a` varchar(10) COLLATE cp1250_general_nopad_ci NOT NULL, 5705 PRIMARY KEY (`a`) 5706) ENGINE=MEMORY DEFAULT CHARSET=cp1250 COLLATE=cp1250_general_nopad_ci 5707INSERT INTO t1 VALUES ('abc'),('abc '),(' a'),(' a '),('a '); 5708SELECT HEX(a), a FROM t1 ORDER BY a; 5709HEX(a) a 57102061 a 5711206120 a 571261202020 a 5713616263 abc 57146162632020 abc 5715SELECT HEX(a), a FROM t1 IGNORE INDEX(PRIMARY) ORDER BY a; 5716HEX(a) a 57172061 a 5718206120 a 571961202020 a 5720616263 abc 57216162632020 abc 5722SELECT HEX(a), a FROM t1 IGNORE INDEX(PRIMARY) ORDER BY a DESC; 5723HEX(a) a 57246162632020 abc 5725616263 abc 572661202020 a 5727206120 a 57282061 a 5729# 5730# UNION 5731# 5732CREATE TABLE t2 (a VARCHAR(10)) COLLATE 'cp1250_general_nopad_ci'; 5733INSERT INTO t2 VALUES ('abc '),('abc '),(' a'),('a '); 5734SELECT HEX(a),a FROM (SELECT * FROM t1 UNION SELECT * FROM t2 ORDER BY a) td; 5735HEX(a) a 57362061 a 5737206120 a 57386120 a 573961202020 a 5740616263 abc 574161626320 abc 57426162632020 abc 5743DROP TABLE t1; 5744DROP TABLE t2; 5745# 5746# DISTINCT, COUNT, MAX 5747# 5748CREATE TABLE t1 (a VARCHAR(10)) COLLATE 'cp1250_general_nopad_ci'; 5749INSERT INTO t1 VALUES ('a'),('a '),(' a'),(' a '),('a '); 5750SELECT HEX(a), a FROM (SELECT DISTINCT a FROM t1 ORDER BY a) td; 5751HEX(a) a 57522061 a 5753206120 a 575461 a 5755612020 a 575661202020 a 5757SELECT COUNT(DISTINCT a) FROM t1 ORDER BY a; 5758COUNT(DISTINCT a) 57595 5760SELECT HEX(MAX(a)), MAX(a) FROM t1; 5761HEX(MAX(a)) MAX(a) 576261202020 a 5763# 5764# GROUP BY 5765# 5766CREATE TABLE t2 (a VARCHAR(10), b int, c varchar(10)) COLLATE 'cp1250_general_nopad_ci'; 5767INSERT t2 values('ab', 12, 'cd'), ('ab', 2, 'ed'), ('aa', 20, 'er'), ('aa ', 0, 'er '); 5768SELECT HEX(a), cnt FROM (SELECT a, COUNT(a) AS cnt FROM t2 GROUP BY a ORDER BY a) AS td; 5769HEX(a) cnt 57706161 1 577161612020 1 57726162 2 5773DROP TABLE t2; 5774# 5775# Weights 5776# 5777SELECT HEX(WEIGHT_STRING(a AS CHAR(10))) FROM t1; 5778HEX(WEIGHT_STRING(a AS CHAR(10))) 577941000000000000000000 578041202000000000000000 578120410000000000000000 578220412000000000000000 578341202020000000000000 5784DROP TABLE t1; 5785# 5786# IF, CASE, LEAST 5787# 5788SELECT IF('abc' COLLATE 'cp1250_general_nopad_ci' = 'abc ', 'pad', 'nopad'); 5789IF('abc' COLLATE 'cp1250_general_nopad_ci' = 'abc ', 'pad', 'nopad') 5790nopad 5791SELECT CASE 'abc' COLLATE 'cp1250_general_nopad_ci' WHEN 'abc ' THEN 'pad' ELSE 'nopad' END; 5792CASE 'abc' COLLATE 'cp1250_general_nopad_ci' WHEN 'abc ' THEN 'pad' ELSE 'nopad' END 5793nopad 5794SELECT CASE WHEN 'abc' COLLATE 'cp1250_general_nopad_ci' = 'abc ' THEN 'pad' ELSE 'nopad' END; 5795CASE WHEN 'abc' COLLATE 'cp1250_general_nopad_ci' = 'abc ' THEN 'pad' ELSE 'nopad' END 5796nopad 5797SELECT HEX(LEAST('abc ' COLLATE 'cp1250_general_nopad_ci', 'abc ')); 5798HEX(LEAST('abc ' COLLATE 'cp1250_general_nopad_ci', 'abc ')) 579961626320 5800SELECT HEX(GREATEST('abc ' COLLATE 'cp1250_general_nopad_ci', 'abc ')); 5801HEX(GREATEST('abc ' COLLATE 'cp1250_general_nopad_ci', 'abc ')) 58026162632020 5803# 5804# Collation mix 5805# 5806CREATE TABLE t1 (a VARCHAR(10)) COLLATE 'cp1250_general_ci'; 5807INSERT INTO t1 VALUES ('a'),('a '); 5808SELECT COUNT(*) FROM t1 WHERE a='a'; 5809COUNT(*) 58102 5811SELECT COUNT(*) FROM t1 WHERE a='a' COLLATE 'cp1250_general_ci'; 5812COUNT(*) 58132 5814SELECT COUNT(*) FROM t1 WHERE a='a' COLLATE 'cp1250_general_nopad_ci'; 5815COUNT(*) 58161 5817ALTER TABLE t1 MODIFY a VARCHAR(10) COLLATE 'cp1250_general_nopad_ci'; 5818SELECT COUNT(*) FROM t1 WHERE a='a'; 5819COUNT(*) 58201 5821SELECT COUNT(*) FROM t1 WHERE a='a' COLLATE 'cp1250_general_ci'; 5822COUNT(*) 58232 5824SELECT COUNT(*) FROM t1 WHERE a='a' COLLATE 'cp1250_general_nopad_ci'; 5825COUNT(*) 58261 5827DROP TABLE t1; 5828# 5829# End of ctype_pad.inc 5830# 5831SET DEFAULT_STORAGE_ENGINE=Default; 5832SET DEFAULT_STORAGE_ENGINE=MyISAM; 5833# 5834# Start of ctype_pad.inc 5835# 5836# 5837# Unique indexes 5838# 5839CREATE TABLE t1 (a VARCHAR(10) PRIMARY KEY) COLLATE 'cp1250_nopad_bin'; 5840SHOW CREATE TABLE t1; 5841Table Create Table 5842t1 CREATE TABLE `t1` ( 5843 `a` varchar(10) COLLATE cp1250_nopad_bin NOT NULL, 5844 PRIMARY KEY (`a`) 5845) ENGINE=MyISAM DEFAULT CHARSET=cp1250 COLLATE=cp1250_nopad_bin 5846INSERT INTO t1 VALUES ('abc'),('abc '),(' a'),(' a '),('a '); 5847SELECT HEX(a), a FROM t1 ORDER BY a; 5848HEX(a) a 58492061 a 5850206120 a 585161202020 a 5852616263 abc 58536162632020 abc 5854SELECT HEX(a), a FROM t1 IGNORE INDEX(PRIMARY) ORDER BY a; 5855HEX(a) a 58562061 a 5857206120 a 585861202020 a 5859616263 abc 58606162632020 abc 5861SELECT HEX(a), a FROM t1 IGNORE INDEX(PRIMARY) ORDER BY a DESC; 5862HEX(a) a 58636162632020 abc 5864616263 abc 586561202020 a 5866206120 a 58672061 a 5868# 5869# UNION 5870# 5871CREATE TABLE t2 (a VARCHAR(10)) COLLATE 'cp1250_nopad_bin'; 5872INSERT INTO t2 VALUES ('abc '),('abc '),(' a'),('a '); 5873SELECT HEX(a),a FROM (SELECT * FROM t1 UNION SELECT * FROM t2 ORDER BY a) td; 5874HEX(a) a 58752061 a 5876206120 a 58776120 a 587861202020 a 5879616263 abc 588061626320 abc 58816162632020 abc 5882DROP TABLE t1; 5883DROP TABLE t2; 5884# 5885# DISTINCT, COUNT, MAX 5886# 5887CREATE TABLE t1 (a VARCHAR(10)) COLLATE 'cp1250_nopad_bin'; 5888INSERT INTO t1 VALUES ('a'),('a '),(' a'),(' a '),('a '); 5889SELECT HEX(a), a FROM (SELECT DISTINCT a FROM t1 ORDER BY a) td; 5890HEX(a) a 58912061 a 5892206120 a 589361 a 5894612020 a 589561202020 a 5896SELECT COUNT(DISTINCT a) FROM t1 ORDER BY a; 5897COUNT(DISTINCT a) 58985 5899SELECT HEX(MAX(a)), MAX(a) FROM t1; 5900HEX(MAX(a)) MAX(a) 590161202020 a 5902# 5903# GROUP BY 5904# 5905CREATE TABLE t2 (a VARCHAR(10), b int, c varchar(10)) COLLATE 'cp1250_nopad_bin'; 5906INSERT t2 values('ab', 12, 'cd'), ('ab', 2, 'ed'), ('aa', 20, 'er'), ('aa ', 0, 'er '); 5907SELECT HEX(a), cnt FROM (SELECT a, COUNT(a) AS cnt FROM t2 GROUP BY a ORDER BY a) AS td; 5908HEX(a) cnt 59096161 1 591061612020 1 59116162 2 5912DROP TABLE t2; 5913# 5914# Weights 5915# 5916SELECT HEX(WEIGHT_STRING(a AS CHAR(10))) FROM t1; 5917HEX(WEIGHT_STRING(a AS CHAR(10))) 591861000000000000000000 591961202000000000000000 592020610000000000000000 592120612000000000000000 592261202020000000000000 5923DROP TABLE t1; 5924# 5925# IF, CASE, LEAST 5926# 5927SELECT IF('abc' COLLATE 'cp1250_nopad_bin' = 'abc ', 'pad', 'nopad'); 5928IF('abc' COLLATE 'cp1250_nopad_bin' = 'abc ', 'pad', 'nopad') 5929nopad 5930SELECT CASE 'abc' COLLATE 'cp1250_nopad_bin' WHEN 'abc ' THEN 'pad' ELSE 'nopad' END; 5931CASE 'abc' COLLATE 'cp1250_nopad_bin' WHEN 'abc ' THEN 'pad' ELSE 'nopad' END 5932nopad 5933SELECT CASE WHEN 'abc' COLLATE 'cp1250_nopad_bin' = 'abc ' THEN 'pad' ELSE 'nopad' END; 5934CASE WHEN 'abc' COLLATE 'cp1250_nopad_bin' = 'abc ' THEN 'pad' ELSE 'nopad' END 5935nopad 5936SELECT HEX(LEAST('abc ' COLLATE 'cp1250_nopad_bin', 'abc ')); 5937HEX(LEAST('abc ' COLLATE 'cp1250_nopad_bin', 'abc ')) 593861626320 5939SELECT HEX(GREATEST('abc ' COLLATE 'cp1250_nopad_bin', 'abc ')); 5940HEX(GREATEST('abc ' COLLATE 'cp1250_nopad_bin', 'abc ')) 59416162632020 5942# 5943# Collation mix 5944# 5945CREATE TABLE t1 (a VARCHAR(10)) COLLATE 'cp1250_bin'; 5946INSERT INTO t1 VALUES ('a'),('a '); 5947SELECT COUNT(*) FROM t1 WHERE a='a'; 5948COUNT(*) 59492 5950SELECT COUNT(*) FROM t1 WHERE a='a' COLLATE 'cp1250_bin'; 5951COUNT(*) 59522 5953SELECT COUNT(*) FROM t1 WHERE a='a' COLLATE 'cp1250_nopad_bin'; 5954COUNT(*) 59551 5956ALTER TABLE t1 MODIFY a VARCHAR(10) COLLATE 'cp1250_nopad_bin'; 5957SELECT COUNT(*) FROM t1 WHERE a='a'; 5958COUNT(*) 59591 5960SELECT COUNT(*) FROM t1 WHERE a='a' COLLATE 'cp1250_bin'; 5961COUNT(*) 59622 5963SELECT COUNT(*) FROM t1 WHERE a='a' COLLATE 'cp1250_nopad_bin'; 5964COUNT(*) 59651 5966DROP TABLE t1; 5967# 5968# End of ctype_pad.inc 5969# 5970SET DEFAULT_STORAGE_ENGINE=HEAP; 5971# 5972# Start of ctype_pad.inc 5973# 5974# 5975# Unique indexes 5976# 5977CREATE TABLE t1 (a VARCHAR(10) PRIMARY KEY) COLLATE 'cp1250_nopad_bin'; 5978SHOW CREATE TABLE t1; 5979Table Create Table 5980t1 CREATE TABLE `t1` ( 5981 `a` varchar(10) COLLATE cp1250_nopad_bin NOT NULL, 5982 PRIMARY KEY (`a`) 5983) ENGINE=MEMORY DEFAULT CHARSET=cp1250 COLLATE=cp1250_nopad_bin 5984INSERT INTO t1 VALUES ('abc'),('abc '),(' a'),(' a '),('a '); 5985SELECT HEX(a), a FROM t1 ORDER BY a; 5986HEX(a) a 59872061 a 5988206120 a 598961202020 a 5990616263 abc 59916162632020 abc 5992SELECT HEX(a), a FROM t1 IGNORE INDEX(PRIMARY) ORDER BY a; 5993HEX(a) a 59942061 a 5995206120 a 599661202020 a 5997616263 abc 59986162632020 abc 5999SELECT HEX(a), a FROM t1 IGNORE INDEX(PRIMARY) ORDER BY a DESC; 6000HEX(a) a 60016162632020 abc 6002616263 abc 600361202020 a 6004206120 a 60052061 a 6006# 6007# UNION 6008# 6009CREATE TABLE t2 (a VARCHAR(10)) COLLATE 'cp1250_nopad_bin'; 6010INSERT INTO t2 VALUES ('abc '),('abc '),(' a'),('a '); 6011SELECT HEX(a),a FROM (SELECT * FROM t1 UNION SELECT * FROM t2 ORDER BY a) td; 6012HEX(a) a 60132061 a 6014206120 a 60156120 a 601661202020 a 6017616263 abc 601861626320 abc 60196162632020 abc 6020DROP TABLE t1; 6021DROP TABLE t2; 6022# 6023# DISTINCT, COUNT, MAX 6024# 6025CREATE TABLE t1 (a VARCHAR(10)) COLLATE 'cp1250_nopad_bin'; 6026INSERT INTO t1 VALUES ('a'),('a '),(' a'),(' a '),('a '); 6027SELECT HEX(a), a FROM (SELECT DISTINCT a FROM t1 ORDER BY a) td; 6028HEX(a) a 60292061 a 6030206120 a 603161 a 6032612020 a 603361202020 a 6034SELECT COUNT(DISTINCT a) FROM t1 ORDER BY a; 6035COUNT(DISTINCT a) 60365 6037SELECT HEX(MAX(a)), MAX(a) FROM t1; 6038HEX(MAX(a)) MAX(a) 603961202020 a 6040# 6041# GROUP BY 6042# 6043CREATE TABLE t2 (a VARCHAR(10), b int, c varchar(10)) COLLATE 'cp1250_nopad_bin'; 6044INSERT t2 values('ab', 12, 'cd'), ('ab', 2, 'ed'), ('aa', 20, 'er'), ('aa ', 0, 'er '); 6045SELECT HEX(a), cnt FROM (SELECT a, COUNT(a) AS cnt FROM t2 GROUP BY a ORDER BY a) AS td; 6046HEX(a) cnt 60476161 1 604861612020 1 60496162 2 6050DROP TABLE t2; 6051# 6052# Weights 6053# 6054SELECT HEX(WEIGHT_STRING(a AS CHAR(10))) FROM t1; 6055HEX(WEIGHT_STRING(a AS CHAR(10))) 605661000000000000000000 605761202000000000000000 605820610000000000000000 605920612000000000000000 606061202020000000000000 6061DROP TABLE t1; 6062# 6063# IF, CASE, LEAST 6064# 6065SELECT IF('abc' COLLATE 'cp1250_nopad_bin' = 'abc ', 'pad', 'nopad'); 6066IF('abc' COLLATE 'cp1250_nopad_bin' = 'abc ', 'pad', 'nopad') 6067nopad 6068SELECT CASE 'abc' COLLATE 'cp1250_nopad_bin' WHEN 'abc ' THEN 'pad' ELSE 'nopad' END; 6069CASE 'abc' COLLATE 'cp1250_nopad_bin' WHEN 'abc ' THEN 'pad' ELSE 'nopad' END 6070nopad 6071SELECT CASE WHEN 'abc' COLLATE 'cp1250_nopad_bin' = 'abc ' THEN 'pad' ELSE 'nopad' END; 6072CASE WHEN 'abc' COLLATE 'cp1250_nopad_bin' = 'abc ' THEN 'pad' ELSE 'nopad' END 6073nopad 6074SELECT HEX(LEAST('abc ' COLLATE 'cp1250_nopad_bin', 'abc ')); 6075HEX(LEAST('abc ' COLLATE 'cp1250_nopad_bin', 'abc ')) 607661626320 6077SELECT HEX(GREATEST('abc ' COLLATE 'cp1250_nopad_bin', 'abc ')); 6078HEX(GREATEST('abc ' COLLATE 'cp1250_nopad_bin', 'abc ')) 60796162632020 6080# 6081# Collation mix 6082# 6083CREATE TABLE t1 (a VARCHAR(10)) COLLATE 'cp1250_bin'; 6084INSERT INTO t1 VALUES ('a'),('a '); 6085SELECT COUNT(*) FROM t1 WHERE a='a'; 6086COUNT(*) 60872 6088SELECT COUNT(*) FROM t1 WHERE a='a' COLLATE 'cp1250_bin'; 6089COUNT(*) 60902 6091SELECT COUNT(*) FROM t1 WHERE a='a' COLLATE 'cp1250_nopad_bin'; 6092COUNT(*) 60931 6094ALTER TABLE t1 MODIFY a VARCHAR(10) COLLATE 'cp1250_nopad_bin'; 6095SELECT COUNT(*) FROM t1 WHERE a='a'; 6096COUNT(*) 60971 6098SELECT COUNT(*) FROM t1 WHERE a='a' COLLATE 'cp1250_bin'; 6099COUNT(*) 61002 6101SELECT COUNT(*) FROM t1 WHERE a='a' COLLATE 'cp1250_nopad_bin'; 6102COUNT(*) 61031 6104DROP TABLE t1; 6105# 6106# End of ctype_pad.inc 6107# 6108SET DEFAULT_STORAGE_ENGINE=Default; 6109SET character_set_connection=cp1257; 6110SET DEFAULT_STORAGE_ENGINE=MyISAM; 6111# 6112# Start of ctype_pad.inc 6113# 6114# 6115# Unique indexes 6116# 6117CREATE TABLE t1 (a VARCHAR(10) PRIMARY KEY) COLLATE 'cp1257_general_nopad_ci'; 6118SHOW CREATE TABLE t1; 6119Table Create Table 6120t1 CREATE TABLE `t1` ( 6121 `a` varchar(10) COLLATE cp1257_general_nopad_ci NOT NULL, 6122 PRIMARY KEY (`a`) 6123) ENGINE=MyISAM DEFAULT CHARSET=cp1257 COLLATE=cp1257_general_nopad_ci 6124INSERT INTO t1 VALUES ('abc'),('abc '),(' a'),(' a '),('a '); 6125SELECT HEX(a), a FROM t1 ORDER BY a; 6126HEX(a) a 61272061 a 6128206120 a 612961202020 a 6130616263 abc 61316162632020 abc 6132SELECT HEX(a), a FROM t1 IGNORE INDEX(PRIMARY) ORDER BY a; 6133HEX(a) a 61342061 a 6135206120 a 613661202020 a 6137616263 abc 61386162632020 abc 6139SELECT HEX(a), a FROM t1 IGNORE INDEX(PRIMARY) ORDER BY a DESC; 6140HEX(a) a 61416162632020 abc 6142616263 abc 614361202020 a 6144206120 a 61452061 a 6146# 6147# UNION 6148# 6149CREATE TABLE t2 (a VARCHAR(10)) COLLATE 'cp1257_general_nopad_ci'; 6150INSERT INTO t2 VALUES ('abc '),('abc '),(' a'),('a '); 6151SELECT HEX(a),a FROM (SELECT * FROM t1 UNION SELECT * FROM t2 ORDER BY a) td; 6152HEX(a) a 61532061 a 6154206120 a 61556120 a 615661202020 a 6157616263 abc 615861626320 abc 61596162632020 abc 6160DROP TABLE t1; 6161DROP TABLE t2; 6162# 6163# DISTINCT, COUNT, MAX 6164# 6165CREATE TABLE t1 (a VARCHAR(10)) COLLATE 'cp1257_general_nopad_ci'; 6166INSERT INTO t1 VALUES ('a'),('a '),(' a'),(' a '),('a '); 6167SELECT HEX(a), a FROM (SELECT DISTINCT a FROM t1 ORDER BY a) td; 6168HEX(a) a 61692061 a 6170206120 a 617161 a 6172612020 a 617361202020 a 6174SELECT COUNT(DISTINCT a) FROM t1 ORDER BY a; 6175COUNT(DISTINCT a) 61765 6177SELECT HEX(MAX(a)), MAX(a) FROM t1; 6178HEX(MAX(a)) MAX(a) 617961202020 a 6180# 6181# GROUP BY 6182# 6183CREATE TABLE t2 (a VARCHAR(10), b int, c varchar(10)) COLLATE 'cp1257_general_nopad_ci'; 6184INSERT t2 values('ab', 12, 'cd'), ('ab', 2, 'ed'), ('aa', 20, 'er'), ('aa ', 0, 'er '); 6185SELECT HEX(a), cnt FROM (SELECT a, COUNT(a) AS cnt FROM t2 GROUP BY a ORDER BY a) AS td; 6186HEX(a) cnt 61876161 1 618861612020 1 61896162 2 6190DROP TABLE t2; 6191# 6192# Weights 6193# 6194SELECT HEX(WEIGHT_STRING(a AS CHAR(10))) FROM t1; 6195HEX(WEIGHT_STRING(a AS CHAR(10))) 619641000000000000000000 619741202000000000000000 619820410000000000000000 619920412000000000000000 620041202020000000000000 6201DROP TABLE t1; 6202# 6203# IF, CASE, LEAST 6204# 6205SELECT IF('abc' COLLATE 'cp1257_general_nopad_ci' = 'abc ', 'pad', 'nopad'); 6206IF('abc' COLLATE 'cp1257_general_nopad_ci' = 'abc ', 'pad', 'nopad') 6207nopad 6208SELECT CASE 'abc' COLLATE 'cp1257_general_nopad_ci' WHEN 'abc ' THEN 'pad' ELSE 'nopad' END; 6209CASE 'abc' COLLATE 'cp1257_general_nopad_ci' WHEN 'abc ' THEN 'pad' ELSE 'nopad' END 6210nopad 6211SELECT CASE WHEN 'abc' COLLATE 'cp1257_general_nopad_ci' = 'abc ' THEN 'pad' ELSE 'nopad' END; 6212CASE WHEN 'abc' COLLATE 'cp1257_general_nopad_ci' = 'abc ' THEN 'pad' ELSE 'nopad' END 6213nopad 6214SELECT HEX(LEAST('abc ' COLLATE 'cp1257_general_nopad_ci', 'abc ')); 6215HEX(LEAST('abc ' COLLATE 'cp1257_general_nopad_ci', 'abc ')) 621661626320 6217SELECT HEX(GREATEST('abc ' COLLATE 'cp1257_general_nopad_ci', 'abc ')); 6218HEX(GREATEST('abc ' COLLATE 'cp1257_general_nopad_ci', 'abc ')) 62196162632020 6220# 6221# Collation mix 6222# 6223CREATE TABLE t1 (a VARCHAR(10)) COLLATE 'cp1257_general_ci'; 6224INSERT INTO t1 VALUES ('a'),('a '); 6225SELECT COUNT(*) FROM t1 WHERE a='a'; 6226COUNT(*) 62272 6228SELECT COUNT(*) FROM t1 WHERE a='a' COLLATE 'cp1257_general_ci'; 6229COUNT(*) 62302 6231SELECT COUNT(*) FROM t1 WHERE a='a' COLLATE 'cp1257_general_nopad_ci'; 6232COUNT(*) 62331 6234ALTER TABLE t1 MODIFY a VARCHAR(10) COLLATE 'cp1257_general_nopad_ci'; 6235SELECT COUNT(*) FROM t1 WHERE a='a'; 6236COUNT(*) 62371 6238SELECT COUNT(*) FROM t1 WHERE a='a' COLLATE 'cp1257_general_ci'; 6239COUNT(*) 62402 6241SELECT COUNT(*) FROM t1 WHERE a='a' COLLATE 'cp1257_general_nopad_ci'; 6242COUNT(*) 62431 6244DROP TABLE t1; 6245# 6246# End of ctype_pad.inc 6247# 6248SET DEFAULT_STORAGE_ENGINE=HEAP; 6249# 6250# Start of ctype_pad.inc 6251# 6252# 6253# Unique indexes 6254# 6255CREATE TABLE t1 (a VARCHAR(10) PRIMARY KEY) COLLATE 'cp1257_general_nopad_ci'; 6256SHOW CREATE TABLE t1; 6257Table Create Table 6258t1 CREATE TABLE `t1` ( 6259 `a` varchar(10) COLLATE cp1257_general_nopad_ci NOT NULL, 6260 PRIMARY KEY (`a`) 6261) ENGINE=MEMORY DEFAULT CHARSET=cp1257 COLLATE=cp1257_general_nopad_ci 6262INSERT INTO t1 VALUES ('abc'),('abc '),(' a'),(' a '),('a '); 6263SELECT HEX(a), a FROM t1 ORDER BY a; 6264HEX(a) a 62652061 a 6266206120 a 626761202020 a 6268616263 abc 62696162632020 abc 6270SELECT HEX(a), a FROM t1 IGNORE INDEX(PRIMARY) ORDER BY a; 6271HEX(a) a 62722061 a 6273206120 a 627461202020 a 6275616263 abc 62766162632020 abc 6277SELECT HEX(a), a FROM t1 IGNORE INDEX(PRIMARY) ORDER BY a DESC; 6278HEX(a) a 62796162632020 abc 6280616263 abc 628161202020 a 6282206120 a 62832061 a 6284# 6285# UNION 6286# 6287CREATE TABLE t2 (a VARCHAR(10)) COLLATE 'cp1257_general_nopad_ci'; 6288INSERT INTO t2 VALUES ('abc '),('abc '),(' a'),('a '); 6289SELECT HEX(a),a FROM (SELECT * FROM t1 UNION SELECT * FROM t2 ORDER BY a) td; 6290HEX(a) a 62912061 a 6292206120 a 62936120 a 629461202020 a 6295616263 abc 629661626320 abc 62976162632020 abc 6298DROP TABLE t1; 6299DROP TABLE t2; 6300# 6301# DISTINCT, COUNT, MAX 6302# 6303CREATE TABLE t1 (a VARCHAR(10)) COLLATE 'cp1257_general_nopad_ci'; 6304INSERT INTO t1 VALUES ('a'),('a '),(' a'),(' a '),('a '); 6305SELECT HEX(a), a FROM (SELECT DISTINCT a FROM t1 ORDER BY a) td; 6306HEX(a) a 63072061 a 6308206120 a 630961 a 6310612020 a 631161202020 a 6312SELECT COUNT(DISTINCT a) FROM t1 ORDER BY a; 6313COUNT(DISTINCT a) 63145 6315SELECT HEX(MAX(a)), MAX(a) FROM t1; 6316HEX(MAX(a)) MAX(a) 631761202020 a 6318# 6319# GROUP BY 6320# 6321CREATE TABLE t2 (a VARCHAR(10), b int, c varchar(10)) COLLATE 'cp1257_general_nopad_ci'; 6322INSERT t2 values('ab', 12, 'cd'), ('ab', 2, 'ed'), ('aa', 20, 'er'), ('aa ', 0, 'er '); 6323SELECT HEX(a), cnt FROM (SELECT a, COUNT(a) AS cnt FROM t2 GROUP BY a ORDER BY a) AS td; 6324HEX(a) cnt 63256161 1 632661612020 1 63276162 2 6328DROP TABLE t2; 6329# 6330# Weights 6331# 6332SELECT HEX(WEIGHT_STRING(a AS CHAR(10))) FROM t1; 6333HEX(WEIGHT_STRING(a AS CHAR(10))) 633441000000000000000000 633541202000000000000000 633620410000000000000000 633720412000000000000000 633841202020000000000000 6339DROP TABLE t1; 6340# 6341# IF, CASE, LEAST 6342# 6343SELECT IF('abc' COLLATE 'cp1257_general_nopad_ci' = 'abc ', 'pad', 'nopad'); 6344IF('abc' COLLATE 'cp1257_general_nopad_ci' = 'abc ', 'pad', 'nopad') 6345nopad 6346SELECT CASE 'abc' COLLATE 'cp1257_general_nopad_ci' WHEN 'abc ' THEN 'pad' ELSE 'nopad' END; 6347CASE 'abc' COLLATE 'cp1257_general_nopad_ci' WHEN 'abc ' THEN 'pad' ELSE 'nopad' END 6348nopad 6349SELECT CASE WHEN 'abc' COLLATE 'cp1257_general_nopad_ci' = 'abc ' THEN 'pad' ELSE 'nopad' END; 6350CASE WHEN 'abc' COLLATE 'cp1257_general_nopad_ci' = 'abc ' THEN 'pad' ELSE 'nopad' END 6351nopad 6352SELECT HEX(LEAST('abc ' COLLATE 'cp1257_general_nopad_ci', 'abc ')); 6353HEX(LEAST('abc ' COLLATE 'cp1257_general_nopad_ci', 'abc ')) 635461626320 6355SELECT HEX(GREATEST('abc ' COLLATE 'cp1257_general_nopad_ci', 'abc ')); 6356HEX(GREATEST('abc ' COLLATE 'cp1257_general_nopad_ci', 'abc ')) 63576162632020 6358# 6359# Collation mix 6360# 6361CREATE TABLE t1 (a VARCHAR(10)) COLLATE 'cp1257_general_ci'; 6362INSERT INTO t1 VALUES ('a'),('a '); 6363SELECT COUNT(*) FROM t1 WHERE a='a'; 6364COUNT(*) 63652 6366SELECT COUNT(*) FROM t1 WHERE a='a' COLLATE 'cp1257_general_ci'; 6367COUNT(*) 63682 6369SELECT COUNT(*) FROM t1 WHERE a='a' COLLATE 'cp1257_general_nopad_ci'; 6370COUNT(*) 63711 6372ALTER TABLE t1 MODIFY a VARCHAR(10) COLLATE 'cp1257_general_nopad_ci'; 6373SELECT COUNT(*) FROM t1 WHERE a='a'; 6374COUNT(*) 63751 6376SELECT COUNT(*) FROM t1 WHERE a='a' COLLATE 'cp1257_general_ci'; 6377COUNT(*) 63782 6379SELECT COUNT(*) FROM t1 WHERE a='a' COLLATE 'cp1257_general_nopad_ci'; 6380COUNT(*) 63811 6382DROP TABLE t1; 6383# 6384# End of ctype_pad.inc 6385# 6386SET DEFAULT_STORAGE_ENGINE=Default; 6387SET DEFAULT_STORAGE_ENGINE=MyISAM; 6388# 6389# Start of ctype_pad.inc 6390# 6391# 6392# Unique indexes 6393# 6394CREATE TABLE t1 (a VARCHAR(10) PRIMARY KEY) COLLATE 'cp1257_nopad_bin'; 6395SHOW CREATE TABLE t1; 6396Table Create Table 6397t1 CREATE TABLE `t1` ( 6398 `a` varchar(10) COLLATE cp1257_nopad_bin NOT NULL, 6399 PRIMARY KEY (`a`) 6400) ENGINE=MyISAM DEFAULT CHARSET=cp1257 COLLATE=cp1257_nopad_bin 6401INSERT INTO t1 VALUES ('abc'),('abc '),(' a'),(' a '),('a '); 6402SELECT HEX(a), a FROM t1 ORDER BY a; 6403HEX(a) a 64042061 a 6405206120 a 640661202020 a 6407616263 abc 64086162632020 abc 6409SELECT HEX(a), a FROM t1 IGNORE INDEX(PRIMARY) ORDER BY a; 6410HEX(a) a 64112061 a 6412206120 a 641361202020 a 6414616263 abc 64156162632020 abc 6416SELECT HEX(a), a FROM t1 IGNORE INDEX(PRIMARY) ORDER BY a DESC; 6417HEX(a) a 64186162632020 abc 6419616263 abc 642061202020 a 6421206120 a 64222061 a 6423# 6424# UNION 6425# 6426CREATE TABLE t2 (a VARCHAR(10)) COLLATE 'cp1257_nopad_bin'; 6427INSERT INTO t2 VALUES ('abc '),('abc '),(' a'),('a '); 6428SELECT HEX(a),a FROM (SELECT * FROM t1 UNION SELECT * FROM t2 ORDER BY a) td; 6429HEX(a) a 64302061 a 6431206120 a 64326120 a 643361202020 a 6434616263 abc 643561626320 abc 64366162632020 abc 6437DROP TABLE t1; 6438DROP TABLE t2; 6439# 6440# DISTINCT, COUNT, MAX 6441# 6442CREATE TABLE t1 (a VARCHAR(10)) COLLATE 'cp1257_nopad_bin'; 6443INSERT INTO t1 VALUES ('a'),('a '),(' a'),(' a '),('a '); 6444SELECT HEX(a), a FROM (SELECT DISTINCT a FROM t1 ORDER BY a) td; 6445HEX(a) a 64462061 a 6447206120 a 644861 a 6449612020 a 645061202020 a 6451SELECT COUNT(DISTINCT a) FROM t1 ORDER BY a; 6452COUNT(DISTINCT a) 64535 6454SELECT HEX(MAX(a)), MAX(a) FROM t1; 6455HEX(MAX(a)) MAX(a) 645661202020 a 6457# 6458# GROUP BY 6459# 6460CREATE TABLE t2 (a VARCHAR(10), b int, c varchar(10)) COLLATE 'cp1257_nopad_bin'; 6461INSERT t2 values('ab', 12, 'cd'), ('ab', 2, 'ed'), ('aa', 20, 'er'), ('aa ', 0, 'er '); 6462SELECT HEX(a), cnt FROM (SELECT a, COUNT(a) AS cnt FROM t2 GROUP BY a ORDER BY a) AS td; 6463HEX(a) cnt 64646161 1 646561612020 1 64666162 2 6467DROP TABLE t2; 6468# 6469# Weights 6470# 6471SELECT HEX(WEIGHT_STRING(a AS CHAR(10))) FROM t1; 6472HEX(WEIGHT_STRING(a AS CHAR(10))) 647361000000000000000000 647461202000000000000000 647520610000000000000000 647620612000000000000000 647761202020000000000000 6478DROP TABLE t1; 6479# 6480# IF, CASE, LEAST 6481# 6482SELECT IF('abc' COLLATE 'cp1257_nopad_bin' = 'abc ', 'pad', 'nopad'); 6483IF('abc' COLLATE 'cp1257_nopad_bin' = 'abc ', 'pad', 'nopad') 6484nopad 6485SELECT CASE 'abc' COLLATE 'cp1257_nopad_bin' WHEN 'abc ' THEN 'pad' ELSE 'nopad' END; 6486CASE 'abc' COLLATE 'cp1257_nopad_bin' WHEN 'abc ' THEN 'pad' ELSE 'nopad' END 6487nopad 6488SELECT CASE WHEN 'abc' COLLATE 'cp1257_nopad_bin' = 'abc ' THEN 'pad' ELSE 'nopad' END; 6489CASE WHEN 'abc' COLLATE 'cp1257_nopad_bin' = 'abc ' THEN 'pad' ELSE 'nopad' END 6490nopad 6491SELECT HEX(LEAST('abc ' COLLATE 'cp1257_nopad_bin', 'abc ')); 6492HEX(LEAST('abc ' COLLATE 'cp1257_nopad_bin', 'abc ')) 649361626320 6494SELECT HEX(GREATEST('abc ' COLLATE 'cp1257_nopad_bin', 'abc ')); 6495HEX(GREATEST('abc ' COLLATE 'cp1257_nopad_bin', 'abc ')) 64966162632020 6497# 6498# Collation mix 6499# 6500CREATE TABLE t1 (a VARCHAR(10)) COLLATE 'cp1257_bin'; 6501INSERT INTO t1 VALUES ('a'),('a '); 6502SELECT COUNT(*) FROM t1 WHERE a='a'; 6503COUNT(*) 65042 6505SELECT COUNT(*) FROM t1 WHERE a='a' COLLATE 'cp1257_bin'; 6506COUNT(*) 65072 6508SELECT COUNT(*) FROM t1 WHERE a='a' COLLATE 'cp1257_nopad_bin'; 6509COUNT(*) 65101 6511ALTER TABLE t1 MODIFY a VARCHAR(10) COLLATE 'cp1257_nopad_bin'; 6512SELECT COUNT(*) FROM t1 WHERE a='a'; 6513COUNT(*) 65141 6515SELECT COUNT(*) FROM t1 WHERE a='a' COLLATE 'cp1257_bin'; 6516COUNT(*) 65172 6518SELECT COUNT(*) FROM t1 WHERE a='a' COLLATE 'cp1257_nopad_bin'; 6519COUNT(*) 65201 6521DROP TABLE t1; 6522# 6523# End of ctype_pad.inc 6524# 6525SET DEFAULT_STORAGE_ENGINE=HEAP; 6526# 6527# Start of ctype_pad.inc 6528# 6529# 6530# Unique indexes 6531# 6532CREATE TABLE t1 (a VARCHAR(10) PRIMARY KEY) COLLATE 'cp1257_nopad_bin'; 6533SHOW CREATE TABLE t1; 6534Table Create Table 6535t1 CREATE TABLE `t1` ( 6536 `a` varchar(10) COLLATE cp1257_nopad_bin NOT NULL, 6537 PRIMARY KEY (`a`) 6538) ENGINE=MEMORY DEFAULT CHARSET=cp1257 COLLATE=cp1257_nopad_bin 6539INSERT INTO t1 VALUES ('abc'),('abc '),(' a'),(' a '),('a '); 6540SELECT HEX(a), a FROM t1 ORDER BY a; 6541HEX(a) a 65422061 a 6543206120 a 654461202020 a 6545616263 abc 65466162632020 abc 6547SELECT HEX(a), a FROM t1 IGNORE INDEX(PRIMARY) ORDER BY a; 6548HEX(a) a 65492061 a 6550206120 a 655161202020 a 6552616263 abc 65536162632020 abc 6554SELECT HEX(a), a FROM t1 IGNORE INDEX(PRIMARY) ORDER BY a DESC; 6555HEX(a) a 65566162632020 abc 6557616263 abc 655861202020 a 6559206120 a 65602061 a 6561# 6562# UNION 6563# 6564CREATE TABLE t2 (a VARCHAR(10)) COLLATE 'cp1257_nopad_bin'; 6565INSERT INTO t2 VALUES ('abc '),('abc '),(' a'),('a '); 6566SELECT HEX(a),a FROM (SELECT * FROM t1 UNION SELECT * FROM t2 ORDER BY a) td; 6567HEX(a) a 65682061 a 6569206120 a 65706120 a 657161202020 a 6572616263 abc 657361626320 abc 65746162632020 abc 6575DROP TABLE t1; 6576DROP TABLE t2; 6577# 6578# DISTINCT, COUNT, MAX 6579# 6580CREATE TABLE t1 (a VARCHAR(10)) COLLATE 'cp1257_nopad_bin'; 6581INSERT INTO t1 VALUES ('a'),('a '),(' a'),(' a '),('a '); 6582SELECT HEX(a), a FROM (SELECT DISTINCT a FROM t1 ORDER BY a) td; 6583HEX(a) a 65842061 a 6585206120 a 658661 a 6587612020 a 658861202020 a 6589SELECT COUNT(DISTINCT a) FROM t1 ORDER BY a; 6590COUNT(DISTINCT a) 65915 6592SELECT HEX(MAX(a)), MAX(a) FROM t1; 6593HEX(MAX(a)) MAX(a) 659461202020 a 6595# 6596# GROUP BY 6597# 6598CREATE TABLE t2 (a VARCHAR(10), b int, c varchar(10)) COLLATE 'cp1257_nopad_bin'; 6599INSERT t2 values('ab', 12, 'cd'), ('ab', 2, 'ed'), ('aa', 20, 'er'), ('aa ', 0, 'er '); 6600SELECT HEX(a), cnt FROM (SELECT a, COUNT(a) AS cnt FROM t2 GROUP BY a ORDER BY a) AS td; 6601HEX(a) cnt 66026161 1 660361612020 1 66046162 2 6605DROP TABLE t2; 6606# 6607# Weights 6608# 6609SELECT HEX(WEIGHT_STRING(a AS CHAR(10))) FROM t1; 6610HEX(WEIGHT_STRING(a AS CHAR(10))) 661161000000000000000000 661261202000000000000000 661320610000000000000000 661420612000000000000000 661561202020000000000000 6616DROP TABLE t1; 6617# 6618# IF, CASE, LEAST 6619# 6620SELECT IF('abc' COLLATE 'cp1257_nopad_bin' = 'abc ', 'pad', 'nopad'); 6621IF('abc' COLLATE 'cp1257_nopad_bin' = 'abc ', 'pad', 'nopad') 6622nopad 6623SELECT CASE 'abc' COLLATE 'cp1257_nopad_bin' WHEN 'abc ' THEN 'pad' ELSE 'nopad' END; 6624CASE 'abc' COLLATE 'cp1257_nopad_bin' WHEN 'abc ' THEN 'pad' ELSE 'nopad' END 6625nopad 6626SELECT CASE WHEN 'abc' COLLATE 'cp1257_nopad_bin' = 'abc ' THEN 'pad' ELSE 'nopad' END; 6627CASE WHEN 'abc' COLLATE 'cp1257_nopad_bin' = 'abc ' THEN 'pad' ELSE 'nopad' END 6628nopad 6629SELECT HEX(LEAST('abc ' COLLATE 'cp1257_nopad_bin', 'abc ')); 6630HEX(LEAST('abc ' COLLATE 'cp1257_nopad_bin', 'abc ')) 663161626320 6632SELECT HEX(GREATEST('abc ' COLLATE 'cp1257_nopad_bin', 'abc ')); 6633HEX(GREATEST('abc ' COLLATE 'cp1257_nopad_bin', 'abc ')) 66346162632020 6635# 6636# Collation mix 6637# 6638CREATE TABLE t1 (a VARCHAR(10)) COLLATE 'cp1257_bin'; 6639INSERT INTO t1 VALUES ('a'),('a '); 6640SELECT COUNT(*) FROM t1 WHERE a='a'; 6641COUNT(*) 66422 6643SELECT COUNT(*) FROM t1 WHERE a='a' COLLATE 'cp1257_bin'; 6644COUNT(*) 66452 6646SELECT COUNT(*) FROM t1 WHERE a='a' COLLATE 'cp1257_nopad_bin'; 6647COUNT(*) 66481 6649ALTER TABLE t1 MODIFY a VARCHAR(10) COLLATE 'cp1257_nopad_bin'; 6650SELECT COUNT(*) FROM t1 WHERE a='a'; 6651COUNT(*) 66521 6653SELECT COUNT(*) FROM t1 WHERE a='a' COLLATE 'cp1257_bin'; 6654COUNT(*) 66552 6656SELECT COUNT(*) FROM t1 WHERE a='a' COLLATE 'cp1257_nopad_bin'; 6657COUNT(*) 66581 6659DROP TABLE t1; 6660# 6661# End of ctype_pad.inc 6662# 6663SET DEFAULT_STORAGE_ENGINE=Default; 6664SET character_set_connection=latin5; 6665SET DEFAULT_STORAGE_ENGINE=MyISAM; 6666# 6667# Start of ctype_pad.inc 6668# 6669# 6670# Unique indexes 6671# 6672CREATE TABLE t1 (a VARCHAR(10) PRIMARY KEY) COLLATE 'latin5_turkish_nopad_ci'; 6673SHOW CREATE TABLE t1; 6674Table Create Table 6675t1 CREATE TABLE `t1` ( 6676 `a` varchar(10) COLLATE latin5_turkish_nopad_ci NOT NULL, 6677 PRIMARY KEY (`a`) 6678) ENGINE=MyISAM DEFAULT CHARSET=latin5 COLLATE=latin5_turkish_nopad_ci 6679INSERT INTO t1 VALUES ('abc'),('abc '),(' a'),(' a '),('a '); 6680SELECT HEX(a), a FROM t1 ORDER BY a; 6681HEX(a) a 66822061 a 6683206120 a 668461202020 a 6685616263 abc 66866162632020 abc 6687SELECT HEX(a), a FROM t1 IGNORE INDEX(PRIMARY) ORDER BY a; 6688HEX(a) a 66892061 a 6690206120 a 669161202020 a 6692616263 abc 66936162632020 abc 6694SELECT HEX(a), a FROM t1 IGNORE INDEX(PRIMARY) ORDER BY a DESC; 6695HEX(a) a 66966162632020 abc 6697616263 abc 669861202020 a 6699206120 a 67002061 a 6701# 6702# UNION 6703# 6704CREATE TABLE t2 (a VARCHAR(10)) COLLATE 'latin5_turkish_nopad_ci'; 6705INSERT INTO t2 VALUES ('abc '),('abc '),(' a'),('a '); 6706SELECT HEX(a),a FROM (SELECT * FROM t1 UNION SELECT * FROM t2 ORDER BY a) td; 6707HEX(a) a 67082061 a 6709206120 a 67106120 a 671161202020 a 6712616263 abc 671361626320 abc 67146162632020 abc 6715DROP TABLE t1; 6716DROP TABLE t2; 6717# 6718# DISTINCT, COUNT, MAX 6719# 6720CREATE TABLE t1 (a VARCHAR(10)) COLLATE 'latin5_turkish_nopad_ci'; 6721INSERT INTO t1 VALUES ('a'),('a '),(' a'),(' a '),('a '); 6722SELECT HEX(a), a FROM (SELECT DISTINCT a FROM t1 ORDER BY a) td; 6723HEX(a) a 67242061 a 6725206120 a 672661 a 6727612020 a 672861202020 a 6729SELECT COUNT(DISTINCT a) FROM t1 ORDER BY a; 6730COUNT(DISTINCT a) 67315 6732SELECT HEX(MAX(a)), MAX(a) FROM t1; 6733HEX(MAX(a)) MAX(a) 673461202020 a 6735# 6736# GROUP BY 6737# 6738CREATE TABLE t2 (a VARCHAR(10), b int, c varchar(10)) COLLATE 'latin5_turkish_nopad_ci'; 6739INSERT t2 values('ab', 12, 'cd'), ('ab', 2, 'ed'), ('aa', 20, 'er'), ('aa ', 0, 'er '); 6740SELECT HEX(a), cnt FROM (SELECT a, COUNT(a) AS cnt FROM t2 GROUP BY a ORDER BY a) AS td; 6741HEX(a) cnt 67426161 1 674361612020 1 67446162 2 6745DROP TABLE t2; 6746# 6747# Weights 6748# 6749SELECT HEX(WEIGHT_STRING(a AS CHAR(10))) FROM t1; 6750HEX(WEIGHT_STRING(a AS CHAR(10))) 675141000000000000000000 675241202000000000000000 675320410000000000000000 675420412000000000000000 675541202020000000000000 6756DROP TABLE t1; 6757# 6758# IF, CASE, LEAST 6759# 6760SELECT IF('abc' COLLATE 'latin5_turkish_nopad_ci' = 'abc ', 'pad', 'nopad'); 6761IF('abc' COLLATE 'latin5_turkish_nopad_ci' = 'abc ', 'pad', 'nopad') 6762nopad 6763SELECT CASE 'abc' COLLATE 'latin5_turkish_nopad_ci' WHEN 'abc ' THEN 'pad' ELSE 'nopad' END; 6764CASE 'abc' COLLATE 'latin5_turkish_nopad_ci' WHEN 'abc ' THEN 'pad' ELSE 'nopad' END 6765nopad 6766SELECT CASE WHEN 'abc' COLLATE 'latin5_turkish_nopad_ci' = 'abc ' THEN 'pad' ELSE 'nopad' END; 6767CASE WHEN 'abc' COLLATE 'latin5_turkish_nopad_ci' = 'abc ' THEN 'pad' ELSE 'nopad' END 6768nopad 6769SELECT HEX(LEAST('abc ' COLLATE 'latin5_turkish_nopad_ci', 'abc ')); 6770HEX(LEAST('abc ' COLLATE 'latin5_turkish_nopad_ci', 'abc ')) 677161626320 6772SELECT HEX(GREATEST('abc ' COLLATE 'latin5_turkish_nopad_ci', 'abc ')); 6773HEX(GREATEST('abc ' COLLATE 'latin5_turkish_nopad_ci', 'abc ')) 67746162632020 6775# 6776# Collation mix 6777# 6778CREATE TABLE t1 (a VARCHAR(10)) COLLATE 'latin5_turkish_ci'; 6779INSERT INTO t1 VALUES ('a'),('a '); 6780SELECT COUNT(*) FROM t1 WHERE a='a'; 6781COUNT(*) 67822 6783SELECT COUNT(*) FROM t1 WHERE a='a' COLLATE 'latin5_turkish_ci'; 6784COUNT(*) 67852 6786SELECT COUNT(*) FROM t1 WHERE a='a' COLLATE 'latin5_turkish_nopad_ci'; 6787COUNT(*) 67881 6789ALTER TABLE t1 MODIFY a VARCHAR(10) COLLATE 'latin5_turkish_nopad_ci'; 6790SELECT COUNT(*) FROM t1 WHERE a='a'; 6791COUNT(*) 67921 6793SELECT COUNT(*) FROM t1 WHERE a='a' COLLATE 'latin5_turkish_ci'; 6794COUNT(*) 67952 6796SELECT COUNT(*) FROM t1 WHERE a='a' COLLATE 'latin5_turkish_nopad_ci'; 6797COUNT(*) 67981 6799DROP TABLE t1; 6800# 6801# End of ctype_pad.inc 6802# 6803SET DEFAULT_STORAGE_ENGINE=HEAP; 6804# 6805# Start of ctype_pad.inc 6806# 6807# 6808# Unique indexes 6809# 6810CREATE TABLE t1 (a VARCHAR(10) PRIMARY KEY) COLLATE 'latin5_turkish_nopad_ci'; 6811SHOW CREATE TABLE t1; 6812Table Create Table 6813t1 CREATE TABLE `t1` ( 6814 `a` varchar(10) COLLATE latin5_turkish_nopad_ci NOT NULL, 6815 PRIMARY KEY (`a`) 6816) ENGINE=MEMORY DEFAULT CHARSET=latin5 COLLATE=latin5_turkish_nopad_ci 6817INSERT INTO t1 VALUES ('abc'),('abc '),(' a'),(' a '),('a '); 6818SELECT HEX(a), a FROM t1 ORDER BY a; 6819HEX(a) a 68202061 a 6821206120 a 682261202020 a 6823616263 abc 68246162632020 abc 6825SELECT HEX(a), a FROM t1 IGNORE INDEX(PRIMARY) ORDER BY a; 6826HEX(a) a 68272061 a 6828206120 a 682961202020 a 6830616263 abc 68316162632020 abc 6832SELECT HEX(a), a FROM t1 IGNORE INDEX(PRIMARY) ORDER BY a DESC; 6833HEX(a) a 68346162632020 abc 6835616263 abc 683661202020 a 6837206120 a 68382061 a 6839# 6840# UNION 6841# 6842CREATE TABLE t2 (a VARCHAR(10)) COLLATE 'latin5_turkish_nopad_ci'; 6843INSERT INTO t2 VALUES ('abc '),('abc '),(' a'),('a '); 6844SELECT HEX(a),a FROM (SELECT * FROM t1 UNION SELECT * FROM t2 ORDER BY a) td; 6845HEX(a) a 68462061 a 6847206120 a 68486120 a 684961202020 a 6850616263 abc 685161626320 abc 68526162632020 abc 6853DROP TABLE t1; 6854DROP TABLE t2; 6855# 6856# DISTINCT, COUNT, MAX 6857# 6858CREATE TABLE t1 (a VARCHAR(10)) COLLATE 'latin5_turkish_nopad_ci'; 6859INSERT INTO t1 VALUES ('a'),('a '),(' a'),(' a '),('a '); 6860SELECT HEX(a), a FROM (SELECT DISTINCT a FROM t1 ORDER BY a) td; 6861HEX(a) a 68622061 a 6863206120 a 686461 a 6865612020 a 686661202020 a 6867SELECT COUNT(DISTINCT a) FROM t1 ORDER BY a; 6868COUNT(DISTINCT a) 68695 6870SELECT HEX(MAX(a)), MAX(a) FROM t1; 6871HEX(MAX(a)) MAX(a) 687261202020 a 6873# 6874# GROUP BY 6875# 6876CREATE TABLE t2 (a VARCHAR(10), b int, c varchar(10)) COLLATE 'latin5_turkish_nopad_ci'; 6877INSERT t2 values('ab', 12, 'cd'), ('ab', 2, 'ed'), ('aa', 20, 'er'), ('aa ', 0, 'er '); 6878SELECT HEX(a), cnt FROM (SELECT a, COUNT(a) AS cnt FROM t2 GROUP BY a ORDER BY a) AS td; 6879HEX(a) cnt 68806161 1 688161612020 1 68826162 2 6883DROP TABLE t2; 6884# 6885# Weights 6886# 6887SELECT HEX(WEIGHT_STRING(a AS CHAR(10))) FROM t1; 6888HEX(WEIGHT_STRING(a AS CHAR(10))) 688941000000000000000000 689041202000000000000000 689120410000000000000000 689220412000000000000000 689341202020000000000000 6894DROP TABLE t1; 6895# 6896# IF, CASE, LEAST 6897# 6898SELECT IF('abc' COLLATE 'latin5_turkish_nopad_ci' = 'abc ', 'pad', 'nopad'); 6899IF('abc' COLLATE 'latin5_turkish_nopad_ci' = 'abc ', 'pad', 'nopad') 6900nopad 6901SELECT CASE 'abc' COLLATE 'latin5_turkish_nopad_ci' WHEN 'abc ' THEN 'pad' ELSE 'nopad' END; 6902CASE 'abc' COLLATE 'latin5_turkish_nopad_ci' WHEN 'abc ' THEN 'pad' ELSE 'nopad' END 6903nopad 6904SELECT CASE WHEN 'abc' COLLATE 'latin5_turkish_nopad_ci' = 'abc ' THEN 'pad' ELSE 'nopad' END; 6905CASE WHEN 'abc' COLLATE 'latin5_turkish_nopad_ci' = 'abc ' THEN 'pad' ELSE 'nopad' END 6906nopad 6907SELECT HEX(LEAST('abc ' COLLATE 'latin5_turkish_nopad_ci', 'abc ')); 6908HEX(LEAST('abc ' COLLATE 'latin5_turkish_nopad_ci', 'abc ')) 690961626320 6910SELECT HEX(GREATEST('abc ' COLLATE 'latin5_turkish_nopad_ci', 'abc ')); 6911HEX(GREATEST('abc ' COLLATE 'latin5_turkish_nopad_ci', 'abc ')) 69126162632020 6913# 6914# Collation mix 6915# 6916CREATE TABLE t1 (a VARCHAR(10)) COLLATE 'latin5_turkish_ci'; 6917INSERT INTO t1 VALUES ('a'),('a '); 6918SELECT COUNT(*) FROM t1 WHERE a='a'; 6919COUNT(*) 69202 6921SELECT COUNT(*) FROM t1 WHERE a='a' COLLATE 'latin5_turkish_ci'; 6922COUNT(*) 69232 6924SELECT COUNT(*) FROM t1 WHERE a='a' COLLATE 'latin5_turkish_nopad_ci'; 6925COUNT(*) 69261 6927ALTER TABLE t1 MODIFY a VARCHAR(10) COLLATE 'latin5_turkish_nopad_ci'; 6928SELECT COUNT(*) FROM t1 WHERE a='a'; 6929COUNT(*) 69301 6931SELECT COUNT(*) FROM t1 WHERE a='a' COLLATE 'latin5_turkish_ci'; 6932COUNT(*) 69332 6934SELECT COUNT(*) FROM t1 WHERE a='a' COLLATE 'latin5_turkish_nopad_ci'; 6935COUNT(*) 69361 6937DROP TABLE t1; 6938# 6939# End of ctype_pad.inc 6940# 6941SET DEFAULT_STORAGE_ENGINE=Default; 6942SET DEFAULT_STORAGE_ENGINE=MyISAM; 6943# 6944# Start of ctype_pad.inc 6945# 6946# 6947# Unique indexes 6948# 6949CREATE TABLE t1 (a VARCHAR(10) PRIMARY KEY) COLLATE 'latin5_nopad_bin'; 6950SHOW CREATE TABLE t1; 6951Table Create Table 6952t1 CREATE TABLE `t1` ( 6953 `a` varchar(10) COLLATE latin5_nopad_bin NOT NULL, 6954 PRIMARY KEY (`a`) 6955) ENGINE=MyISAM DEFAULT CHARSET=latin5 COLLATE=latin5_nopad_bin 6956INSERT INTO t1 VALUES ('abc'),('abc '),(' a'),(' a '),('a '); 6957SELECT HEX(a), a FROM t1 ORDER BY a; 6958HEX(a) a 69592061 a 6960206120 a 696161202020 a 6962616263 abc 69636162632020 abc 6964SELECT HEX(a), a FROM t1 IGNORE INDEX(PRIMARY) ORDER BY a; 6965HEX(a) a 69662061 a 6967206120 a 696861202020 a 6969616263 abc 69706162632020 abc 6971SELECT HEX(a), a FROM t1 IGNORE INDEX(PRIMARY) ORDER BY a DESC; 6972HEX(a) a 69736162632020 abc 6974616263 abc 697561202020 a 6976206120 a 69772061 a 6978# 6979# UNION 6980# 6981CREATE TABLE t2 (a VARCHAR(10)) COLLATE 'latin5_nopad_bin'; 6982INSERT INTO t2 VALUES ('abc '),('abc '),(' a'),('a '); 6983SELECT HEX(a),a FROM (SELECT * FROM t1 UNION SELECT * FROM t2 ORDER BY a) td; 6984HEX(a) a 69852061 a 6986206120 a 69876120 a 698861202020 a 6989616263 abc 699061626320 abc 69916162632020 abc 6992DROP TABLE t1; 6993DROP TABLE t2; 6994# 6995# DISTINCT, COUNT, MAX 6996# 6997CREATE TABLE t1 (a VARCHAR(10)) COLLATE 'latin5_nopad_bin'; 6998INSERT INTO t1 VALUES ('a'),('a '),(' a'),(' a '),('a '); 6999SELECT HEX(a), a FROM (SELECT DISTINCT a FROM t1 ORDER BY a) td; 7000HEX(a) a 70012061 a 7002206120 a 700361 a 7004612020 a 700561202020 a 7006SELECT COUNT(DISTINCT a) FROM t1 ORDER BY a; 7007COUNT(DISTINCT a) 70085 7009SELECT HEX(MAX(a)), MAX(a) FROM t1; 7010HEX(MAX(a)) MAX(a) 701161202020 a 7012# 7013# GROUP BY 7014# 7015CREATE TABLE t2 (a VARCHAR(10), b int, c varchar(10)) COLLATE 'latin5_nopad_bin'; 7016INSERT t2 values('ab', 12, 'cd'), ('ab', 2, 'ed'), ('aa', 20, 'er'), ('aa ', 0, 'er '); 7017SELECT HEX(a), cnt FROM (SELECT a, COUNT(a) AS cnt FROM t2 GROUP BY a ORDER BY a) AS td; 7018HEX(a) cnt 70196161 1 702061612020 1 70216162 2 7022DROP TABLE t2; 7023# 7024# Weights 7025# 7026SELECT HEX(WEIGHT_STRING(a AS CHAR(10))) FROM t1; 7027HEX(WEIGHT_STRING(a AS CHAR(10))) 702861000000000000000000 702961202000000000000000 703020610000000000000000 703120612000000000000000 703261202020000000000000 7033DROP TABLE t1; 7034# 7035# IF, CASE, LEAST 7036# 7037SELECT IF('abc' COLLATE 'latin5_nopad_bin' = 'abc ', 'pad', 'nopad'); 7038IF('abc' COLLATE 'latin5_nopad_bin' = 'abc ', 'pad', 'nopad') 7039nopad 7040SELECT CASE 'abc' COLLATE 'latin5_nopad_bin' WHEN 'abc ' THEN 'pad' ELSE 'nopad' END; 7041CASE 'abc' COLLATE 'latin5_nopad_bin' WHEN 'abc ' THEN 'pad' ELSE 'nopad' END 7042nopad 7043SELECT CASE WHEN 'abc' COLLATE 'latin5_nopad_bin' = 'abc ' THEN 'pad' ELSE 'nopad' END; 7044CASE WHEN 'abc' COLLATE 'latin5_nopad_bin' = 'abc ' THEN 'pad' ELSE 'nopad' END 7045nopad 7046SELECT HEX(LEAST('abc ' COLLATE 'latin5_nopad_bin', 'abc ')); 7047HEX(LEAST('abc ' COLLATE 'latin5_nopad_bin', 'abc ')) 704861626320 7049SELECT HEX(GREATEST('abc ' COLLATE 'latin5_nopad_bin', 'abc ')); 7050HEX(GREATEST('abc ' COLLATE 'latin5_nopad_bin', 'abc ')) 70516162632020 7052# 7053# Collation mix 7054# 7055CREATE TABLE t1 (a VARCHAR(10)) COLLATE 'latin5_bin'; 7056INSERT INTO t1 VALUES ('a'),('a '); 7057SELECT COUNT(*) FROM t1 WHERE a='a'; 7058COUNT(*) 70592 7060SELECT COUNT(*) FROM t1 WHERE a='a' COLLATE 'latin5_bin'; 7061COUNT(*) 70622 7063SELECT COUNT(*) FROM t1 WHERE a='a' COLLATE 'latin5_nopad_bin'; 7064COUNT(*) 70651 7066ALTER TABLE t1 MODIFY a VARCHAR(10) COLLATE 'latin5_nopad_bin'; 7067SELECT COUNT(*) FROM t1 WHERE a='a'; 7068COUNT(*) 70691 7070SELECT COUNT(*) FROM t1 WHERE a='a' COLLATE 'latin5_bin'; 7071COUNT(*) 70722 7073SELECT COUNT(*) FROM t1 WHERE a='a' COLLATE 'latin5_nopad_bin'; 7074COUNT(*) 70751 7076DROP TABLE t1; 7077# 7078# End of ctype_pad.inc 7079# 7080SET DEFAULT_STORAGE_ENGINE=HEAP; 7081# 7082# Start of ctype_pad.inc 7083# 7084# 7085# Unique indexes 7086# 7087CREATE TABLE t1 (a VARCHAR(10) PRIMARY KEY) COLLATE 'latin5_nopad_bin'; 7088SHOW CREATE TABLE t1; 7089Table Create Table 7090t1 CREATE TABLE `t1` ( 7091 `a` varchar(10) COLLATE latin5_nopad_bin NOT NULL, 7092 PRIMARY KEY (`a`) 7093) ENGINE=MEMORY DEFAULT CHARSET=latin5 COLLATE=latin5_nopad_bin 7094INSERT INTO t1 VALUES ('abc'),('abc '),(' a'),(' a '),('a '); 7095SELECT HEX(a), a FROM t1 ORDER BY a; 7096HEX(a) a 70972061 a 7098206120 a 709961202020 a 7100616263 abc 71016162632020 abc 7102SELECT HEX(a), a FROM t1 IGNORE INDEX(PRIMARY) ORDER BY a; 7103HEX(a) a 71042061 a 7105206120 a 710661202020 a 7107616263 abc 71086162632020 abc 7109SELECT HEX(a), a FROM t1 IGNORE INDEX(PRIMARY) ORDER BY a DESC; 7110HEX(a) a 71116162632020 abc 7112616263 abc 711361202020 a 7114206120 a 71152061 a 7116# 7117# UNION 7118# 7119CREATE TABLE t2 (a VARCHAR(10)) COLLATE 'latin5_nopad_bin'; 7120INSERT INTO t2 VALUES ('abc '),('abc '),(' a'),('a '); 7121SELECT HEX(a),a FROM (SELECT * FROM t1 UNION SELECT * FROM t2 ORDER BY a) td; 7122HEX(a) a 71232061 a 7124206120 a 71256120 a 712661202020 a 7127616263 abc 712861626320 abc 71296162632020 abc 7130DROP TABLE t1; 7131DROP TABLE t2; 7132# 7133# DISTINCT, COUNT, MAX 7134# 7135CREATE TABLE t1 (a VARCHAR(10)) COLLATE 'latin5_nopad_bin'; 7136INSERT INTO t1 VALUES ('a'),('a '),(' a'),(' a '),('a '); 7137SELECT HEX(a), a FROM (SELECT DISTINCT a FROM t1 ORDER BY a) td; 7138HEX(a) a 71392061 a 7140206120 a 714161 a 7142612020 a 714361202020 a 7144SELECT COUNT(DISTINCT a) FROM t1 ORDER BY a; 7145COUNT(DISTINCT a) 71465 7147SELECT HEX(MAX(a)), MAX(a) FROM t1; 7148HEX(MAX(a)) MAX(a) 714961202020 a 7150# 7151# GROUP BY 7152# 7153CREATE TABLE t2 (a VARCHAR(10), b int, c varchar(10)) COLLATE 'latin5_nopad_bin'; 7154INSERT t2 values('ab', 12, 'cd'), ('ab', 2, 'ed'), ('aa', 20, 'er'), ('aa ', 0, 'er '); 7155SELECT HEX(a), cnt FROM (SELECT a, COUNT(a) AS cnt FROM t2 GROUP BY a ORDER BY a) AS td; 7156HEX(a) cnt 71576161 1 715861612020 1 71596162 2 7160DROP TABLE t2; 7161# 7162# Weights 7163# 7164SELECT HEX(WEIGHT_STRING(a AS CHAR(10))) FROM t1; 7165HEX(WEIGHT_STRING(a AS CHAR(10))) 716661000000000000000000 716761202000000000000000 716820610000000000000000 716920612000000000000000 717061202020000000000000 7171DROP TABLE t1; 7172# 7173# IF, CASE, LEAST 7174# 7175SELECT IF('abc' COLLATE 'latin5_nopad_bin' = 'abc ', 'pad', 'nopad'); 7176IF('abc' COLLATE 'latin5_nopad_bin' = 'abc ', 'pad', 'nopad') 7177nopad 7178SELECT CASE 'abc' COLLATE 'latin5_nopad_bin' WHEN 'abc ' THEN 'pad' ELSE 'nopad' END; 7179CASE 'abc' COLLATE 'latin5_nopad_bin' WHEN 'abc ' THEN 'pad' ELSE 'nopad' END 7180nopad 7181SELECT CASE WHEN 'abc' COLLATE 'latin5_nopad_bin' = 'abc ' THEN 'pad' ELSE 'nopad' END; 7182CASE WHEN 'abc' COLLATE 'latin5_nopad_bin' = 'abc ' THEN 'pad' ELSE 'nopad' END 7183nopad 7184SELECT HEX(LEAST('abc ' COLLATE 'latin5_nopad_bin', 'abc ')); 7185HEX(LEAST('abc ' COLLATE 'latin5_nopad_bin', 'abc ')) 718661626320 7187SELECT HEX(GREATEST('abc ' COLLATE 'latin5_nopad_bin', 'abc ')); 7188HEX(GREATEST('abc ' COLLATE 'latin5_nopad_bin', 'abc ')) 71896162632020 7190# 7191# Collation mix 7192# 7193CREATE TABLE t1 (a VARCHAR(10)) COLLATE 'latin5_bin'; 7194INSERT INTO t1 VALUES ('a'),('a '); 7195SELECT COUNT(*) FROM t1 WHERE a='a'; 7196COUNT(*) 71972 7198SELECT COUNT(*) FROM t1 WHERE a='a' COLLATE 'latin5_bin'; 7199COUNT(*) 72002 7201SELECT COUNT(*) FROM t1 WHERE a='a' COLLATE 'latin5_nopad_bin'; 7202COUNT(*) 72031 7204ALTER TABLE t1 MODIFY a VARCHAR(10) COLLATE 'latin5_nopad_bin'; 7205SELECT COUNT(*) FROM t1 WHERE a='a'; 7206COUNT(*) 72071 7208SELECT COUNT(*) FROM t1 WHERE a='a' COLLATE 'latin5_bin'; 7209COUNT(*) 72102 7211SELECT COUNT(*) FROM t1 WHERE a='a' COLLATE 'latin5_nopad_bin'; 7212COUNT(*) 72131 7214DROP TABLE t1; 7215# 7216# End of ctype_pad.inc 7217# 7218SET DEFAULT_STORAGE_ENGINE=Default; 7219SET character_set_connection=armscii8; 7220SET DEFAULT_STORAGE_ENGINE=MyISAM; 7221# 7222# Start of ctype_pad.inc 7223# 7224# 7225# Unique indexes 7226# 7227CREATE TABLE t1 (a VARCHAR(10) PRIMARY KEY) COLLATE 'armscii8_general_nopad_ci'; 7228SHOW CREATE TABLE t1; 7229Table Create Table 7230t1 CREATE TABLE `t1` ( 7231 `a` varchar(10) COLLATE armscii8_general_nopad_ci NOT NULL, 7232 PRIMARY KEY (`a`) 7233) ENGINE=MyISAM DEFAULT CHARSET=armscii8 COLLATE=armscii8_general_nopad_ci 7234INSERT INTO t1 VALUES ('abc'),('abc '),(' a'),(' a '),('a '); 7235SELECT HEX(a), a FROM t1 ORDER BY a; 7236HEX(a) a 72372061 a 7238206120 a 723961202020 a 7240616263 abc 72416162632020 abc 7242SELECT HEX(a), a FROM t1 IGNORE INDEX(PRIMARY) ORDER BY a; 7243HEX(a) a 72442061 a 7245206120 a 724661202020 a 7247616263 abc 72486162632020 abc 7249SELECT HEX(a), a FROM t1 IGNORE INDEX(PRIMARY) ORDER BY a DESC; 7250HEX(a) a 72516162632020 abc 7252616263 abc 725361202020 a 7254206120 a 72552061 a 7256# 7257# UNION 7258# 7259CREATE TABLE t2 (a VARCHAR(10)) COLLATE 'armscii8_general_nopad_ci'; 7260INSERT INTO t2 VALUES ('abc '),('abc '),(' a'),('a '); 7261SELECT HEX(a),a FROM (SELECT * FROM t1 UNION SELECT * FROM t2 ORDER BY a) td; 7262HEX(a) a 72632061 a 7264206120 a 72656120 a 726661202020 a 7267616263 abc 726861626320 abc 72696162632020 abc 7270DROP TABLE t1; 7271DROP TABLE t2; 7272# 7273# DISTINCT, COUNT, MAX 7274# 7275CREATE TABLE t1 (a VARCHAR(10)) COLLATE 'armscii8_general_nopad_ci'; 7276INSERT INTO t1 VALUES ('a'),('a '),(' a'),(' a '),('a '); 7277SELECT HEX(a), a FROM (SELECT DISTINCT a FROM t1 ORDER BY a) td; 7278HEX(a) a 72792061 a 7280206120 a 728161 a 7282612020 a 728361202020 a 7284SELECT COUNT(DISTINCT a) FROM t1 ORDER BY a; 7285COUNT(DISTINCT a) 72865 7287SELECT HEX(MAX(a)), MAX(a) FROM t1; 7288HEX(MAX(a)) MAX(a) 728961202020 a 7290# 7291# GROUP BY 7292# 7293CREATE TABLE t2 (a VARCHAR(10), b int, c varchar(10)) COLLATE 'armscii8_general_nopad_ci'; 7294INSERT t2 values('ab', 12, 'cd'), ('ab', 2, 'ed'), ('aa', 20, 'er'), ('aa ', 0, 'er '); 7295SELECT HEX(a), cnt FROM (SELECT a, COUNT(a) AS cnt FROM t2 GROUP BY a ORDER BY a) AS td; 7296HEX(a) cnt 72976161 1 729861612020 1 72996162 2 7300DROP TABLE t2; 7301# 7302# Weights 7303# 7304SELECT HEX(WEIGHT_STRING(a AS CHAR(10))) FROM t1; 7305HEX(WEIGHT_STRING(a AS CHAR(10))) 730641000000000000000000 730741202000000000000000 730820410000000000000000 730920412000000000000000 731041202020000000000000 7311DROP TABLE t1; 7312# 7313# IF, CASE, LEAST 7314# 7315SELECT IF('abc' COLLATE 'armscii8_general_nopad_ci' = 'abc ', 'pad', 'nopad'); 7316IF('abc' COLLATE 'armscii8_general_nopad_ci' = 'abc ', 'pad', 'nopad') 7317nopad 7318SELECT CASE 'abc' COLLATE 'armscii8_general_nopad_ci' WHEN 'abc ' THEN 'pad' ELSE 'nopad' END; 7319CASE 'abc' COLLATE 'armscii8_general_nopad_ci' WHEN 'abc ' THEN 'pad' ELSE 'nopad' END 7320nopad 7321SELECT CASE WHEN 'abc' COLLATE 'armscii8_general_nopad_ci' = 'abc ' THEN 'pad' ELSE 'nopad' END; 7322CASE WHEN 'abc' COLLATE 'armscii8_general_nopad_ci' = 'abc ' THEN 'pad' ELSE 'nopad' END 7323nopad 7324SELECT HEX(LEAST('abc ' COLLATE 'armscii8_general_nopad_ci', 'abc ')); 7325HEX(LEAST('abc ' COLLATE 'armscii8_general_nopad_ci', 'abc ')) 732661626320 7327SELECT HEX(GREATEST('abc ' COLLATE 'armscii8_general_nopad_ci', 'abc ')); 7328HEX(GREATEST('abc ' COLLATE 'armscii8_general_nopad_ci', 'abc ')) 73296162632020 7330# 7331# Collation mix 7332# 7333CREATE TABLE t1 (a VARCHAR(10)) COLLATE 'armscii8_general_ci'; 7334INSERT INTO t1 VALUES ('a'),('a '); 7335SELECT COUNT(*) FROM t1 WHERE a='a'; 7336COUNT(*) 73372 7338SELECT COUNT(*) FROM t1 WHERE a='a' COLLATE 'armscii8_general_ci'; 7339COUNT(*) 73402 7341SELECT COUNT(*) FROM t1 WHERE a='a' COLLATE 'armscii8_general_nopad_ci'; 7342COUNT(*) 73431 7344ALTER TABLE t1 MODIFY a VARCHAR(10) COLLATE 'armscii8_general_nopad_ci'; 7345SELECT COUNT(*) FROM t1 WHERE a='a'; 7346COUNT(*) 73471 7348SELECT COUNT(*) FROM t1 WHERE a='a' COLLATE 'armscii8_general_ci'; 7349COUNT(*) 73502 7351SELECT COUNT(*) FROM t1 WHERE a='a' COLLATE 'armscii8_general_nopad_ci'; 7352COUNT(*) 73531 7354DROP TABLE t1; 7355# 7356# End of ctype_pad.inc 7357# 7358SET DEFAULT_STORAGE_ENGINE=HEAP; 7359# 7360# Start of ctype_pad.inc 7361# 7362# 7363# Unique indexes 7364# 7365CREATE TABLE t1 (a VARCHAR(10) PRIMARY KEY) COLLATE 'armscii8_general_nopad_ci'; 7366SHOW CREATE TABLE t1; 7367Table Create Table 7368t1 CREATE TABLE `t1` ( 7369 `a` varchar(10) COLLATE armscii8_general_nopad_ci NOT NULL, 7370 PRIMARY KEY (`a`) 7371) ENGINE=MEMORY DEFAULT CHARSET=armscii8 COLLATE=armscii8_general_nopad_ci 7372INSERT INTO t1 VALUES ('abc'),('abc '),(' a'),(' a '),('a '); 7373SELECT HEX(a), a FROM t1 ORDER BY a; 7374HEX(a) a 73752061 a 7376206120 a 737761202020 a 7378616263 abc 73796162632020 abc 7380SELECT HEX(a), a FROM t1 IGNORE INDEX(PRIMARY) ORDER BY a; 7381HEX(a) a 73822061 a 7383206120 a 738461202020 a 7385616263 abc 73866162632020 abc 7387SELECT HEX(a), a FROM t1 IGNORE INDEX(PRIMARY) ORDER BY a DESC; 7388HEX(a) a 73896162632020 abc 7390616263 abc 739161202020 a 7392206120 a 73932061 a 7394# 7395# UNION 7396# 7397CREATE TABLE t2 (a VARCHAR(10)) COLLATE 'armscii8_general_nopad_ci'; 7398INSERT INTO t2 VALUES ('abc '),('abc '),(' a'),('a '); 7399SELECT HEX(a),a FROM (SELECT * FROM t1 UNION SELECT * FROM t2 ORDER BY a) td; 7400HEX(a) a 74012061 a 7402206120 a 74036120 a 740461202020 a 7405616263 abc 740661626320 abc 74076162632020 abc 7408DROP TABLE t1; 7409DROP TABLE t2; 7410# 7411# DISTINCT, COUNT, MAX 7412# 7413CREATE TABLE t1 (a VARCHAR(10)) COLLATE 'armscii8_general_nopad_ci'; 7414INSERT INTO t1 VALUES ('a'),('a '),(' a'),(' a '),('a '); 7415SELECT HEX(a), a FROM (SELECT DISTINCT a FROM t1 ORDER BY a) td; 7416HEX(a) a 74172061 a 7418206120 a 741961 a 7420612020 a 742161202020 a 7422SELECT COUNT(DISTINCT a) FROM t1 ORDER BY a; 7423COUNT(DISTINCT a) 74245 7425SELECT HEX(MAX(a)), MAX(a) FROM t1; 7426HEX(MAX(a)) MAX(a) 742761202020 a 7428# 7429# GROUP BY 7430# 7431CREATE TABLE t2 (a VARCHAR(10), b int, c varchar(10)) COLLATE 'armscii8_general_nopad_ci'; 7432INSERT t2 values('ab', 12, 'cd'), ('ab', 2, 'ed'), ('aa', 20, 'er'), ('aa ', 0, 'er '); 7433SELECT HEX(a), cnt FROM (SELECT a, COUNT(a) AS cnt FROM t2 GROUP BY a ORDER BY a) AS td; 7434HEX(a) cnt 74356161 1 743661612020 1 74376162 2 7438DROP TABLE t2; 7439# 7440# Weights 7441# 7442SELECT HEX(WEIGHT_STRING(a AS CHAR(10))) FROM t1; 7443HEX(WEIGHT_STRING(a AS CHAR(10))) 744441000000000000000000 744541202000000000000000 744620410000000000000000 744720412000000000000000 744841202020000000000000 7449DROP TABLE t1; 7450# 7451# IF, CASE, LEAST 7452# 7453SELECT IF('abc' COLLATE 'armscii8_general_nopad_ci' = 'abc ', 'pad', 'nopad'); 7454IF('abc' COLLATE 'armscii8_general_nopad_ci' = 'abc ', 'pad', 'nopad') 7455nopad 7456SELECT CASE 'abc' COLLATE 'armscii8_general_nopad_ci' WHEN 'abc ' THEN 'pad' ELSE 'nopad' END; 7457CASE 'abc' COLLATE 'armscii8_general_nopad_ci' WHEN 'abc ' THEN 'pad' ELSE 'nopad' END 7458nopad 7459SELECT CASE WHEN 'abc' COLLATE 'armscii8_general_nopad_ci' = 'abc ' THEN 'pad' ELSE 'nopad' END; 7460CASE WHEN 'abc' COLLATE 'armscii8_general_nopad_ci' = 'abc ' THEN 'pad' ELSE 'nopad' END 7461nopad 7462SELECT HEX(LEAST('abc ' COLLATE 'armscii8_general_nopad_ci', 'abc ')); 7463HEX(LEAST('abc ' COLLATE 'armscii8_general_nopad_ci', 'abc ')) 746461626320 7465SELECT HEX(GREATEST('abc ' COLLATE 'armscii8_general_nopad_ci', 'abc ')); 7466HEX(GREATEST('abc ' COLLATE 'armscii8_general_nopad_ci', 'abc ')) 74676162632020 7468# 7469# Collation mix 7470# 7471CREATE TABLE t1 (a VARCHAR(10)) COLLATE 'armscii8_general_ci'; 7472INSERT INTO t1 VALUES ('a'),('a '); 7473SELECT COUNT(*) FROM t1 WHERE a='a'; 7474COUNT(*) 74752 7476SELECT COUNT(*) FROM t1 WHERE a='a' COLLATE 'armscii8_general_ci'; 7477COUNT(*) 74782 7479SELECT COUNT(*) FROM t1 WHERE a='a' COLLATE 'armscii8_general_nopad_ci'; 7480COUNT(*) 74811 7482ALTER TABLE t1 MODIFY a VARCHAR(10) COLLATE 'armscii8_general_nopad_ci'; 7483SELECT COUNT(*) FROM t1 WHERE a='a'; 7484COUNT(*) 74851 7486SELECT COUNT(*) FROM t1 WHERE a='a' COLLATE 'armscii8_general_ci'; 7487COUNT(*) 74882 7489SELECT COUNT(*) FROM t1 WHERE a='a' COLLATE 'armscii8_general_nopad_ci'; 7490COUNT(*) 74911 7492DROP TABLE t1; 7493# 7494# End of ctype_pad.inc 7495# 7496SET DEFAULT_STORAGE_ENGINE=Default; 7497SET DEFAULT_STORAGE_ENGINE=MyISAM; 7498# 7499# Start of ctype_pad.inc 7500# 7501# 7502# Unique indexes 7503# 7504CREATE TABLE t1 (a VARCHAR(10) PRIMARY KEY) COLLATE 'armscii8_nopad_bin'; 7505SHOW CREATE TABLE t1; 7506Table Create Table 7507t1 CREATE TABLE `t1` ( 7508 `a` varchar(10) COLLATE armscii8_nopad_bin NOT NULL, 7509 PRIMARY KEY (`a`) 7510) ENGINE=MyISAM DEFAULT CHARSET=armscii8 COLLATE=armscii8_nopad_bin 7511INSERT INTO t1 VALUES ('abc'),('abc '),(' a'),(' a '),('a '); 7512SELECT HEX(a), a FROM t1 ORDER BY a; 7513HEX(a) a 75142061 a 7515206120 a 751661202020 a 7517616263 abc 75186162632020 abc 7519SELECT HEX(a), a FROM t1 IGNORE INDEX(PRIMARY) ORDER BY a; 7520HEX(a) a 75212061 a 7522206120 a 752361202020 a 7524616263 abc 75256162632020 abc 7526SELECT HEX(a), a FROM t1 IGNORE INDEX(PRIMARY) ORDER BY a DESC; 7527HEX(a) a 75286162632020 abc 7529616263 abc 753061202020 a 7531206120 a 75322061 a 7533# 7534# UNION 7535# 7536CREATE TABLE t2 (a VARCHAR(10)) COLLATE 'armscii8_nopad_bin'; 7537INSERT INTO t2 VALUES ('abc '),('abc '),(' a'),('a '); 7538SELECT HEX(a),a FROM (SELECT * FROM t1 UNION SELECT * FROM t2 ORDER BY a) td; 7539HEX(a) a 75402061 a 7541206120 a 75426120 a 754361202020 a 7544616263 abc 754561626320 abc 75466162632020 abc 7547DROP TABLE t1; 7548DROP TABLE t2; 7549# 7550# DISTINCT, COUNT, MAX 7551# 7552CREATE TABLE t1 (a VARCHAR(10)) COLLATE 'armscii8_nopad_bin'; 7553INSERT INTO t1 VALUES ('a'),('a '),(' a'),(' a '),('a '); 7554SELECT HEX(a), a FROM (SELECT DISTINCT a FROM t1 ORDER BY a) td; 7555HEX(a) a 75562061 a 7557206120 a 755861 a 7559612020 a 756061202020 a 7561SELECT COUNT(DISTINCT a) FROM t1 ORDER BY a; 7562COUNT(DISTINCT a) 75635 7564SELECT HEX(MAX(a)), MAX(a) FROM t1; 7565HEX(MAX(a)) MAX(a) 756661202020 a 7567# 7568# GROUP BY 7569# 7570CREATE TABLE t2 (a VARCHAR(10), b int, c varchar(10)) COLLATE 'armscii8_nopad_bin'; 7571INSERT t2 values('ab', 12, 'cd'), ('ab', 2, 'ed'), ('aa', 20, 'er'), ('aa ', 0, 'er '); 7572SELECT HEX(a), cnt FROM (SELECT a, COUNT(a) AS cnt FROM t2 GROUP BY a ORDER BY a) AS td; 7573HEX(a) cnt 75746161 1 757561612020 1 75766162 2 7577DROP TABLE t2; 7578# 7579# Weights 7580# 7581SELECT HEX(WEIGHT_STRING(a AS CHAR(10))) FROM t1; 7582HEX(WEIGHT_STRING(a AS CHAR(10))) 758361000000000000000000 758461202000000000000000 758520610000000000000000 758620612000000000000000 758761202020000000000000 7588DROP TABLE t1; 7589# 7590# IF, CASE, LEAST 7591# 7592SELECT IF('abc' COLLATE 'armscii8_nopad_bin' = 'abc ', 'pad', 'nopad'); 7593IF('abc' COLLATE 'armscii8_nopad_bin' = 'abc ', 'pad', 'nopad') 7594nopad 7595SELECT CASE 'abc' COLLATE 'armscii8_nopad_bin' WHEN 'abc ' THEN 'pad' ELSE 'nopad' END; 7596CASE 'abc' COLLATE 'armscii8_nopad_bin' WHEN 'abc ' THEN 'pad' ELSE 'nopad' END 7597nopad 7598SELECT CASE WHEN 'abc' COLLATE 'armscii8_nopad_bin' = 'abc ' THEN 'pad' ELSE 'nopad' END; 7599CASE WHEN 'abc' COLLATE 'armscii8_nopad_bin' = 'abc ' THEN 'pad' ELSE 'nopad' END 7600nopad 7601SELECT HEX(LEAST('abc ' COLLATE 'armscii8_nopad_bin', 'abc ')); 7602HEX(LEAST('abc ' COLLATE 'armscii8_nopad_bin', 'abc ')) 760361626320 7604SELECT HEX(GREATEST('abc ' COLLATE 'armscii8_nopad_bin', 'abc ')); 7605HEX(GREATEST('abc ' COLLATE 'armscii8_nopad_bin', 'abc ')) 76066162632020 7607# 7608# Collation mix 7609# 7610CREATE TABLE t1 (a VARCHAR(10)) COLLATE 'armscii8_bin'; 7611INSERT INTO t1 VALUES ('a'),('a '); 7612SELECT COUNT(*) FROM t1 WHERE a='a'; 7613COUNT(*) 76142 7615SELECT COUNT(*) FROM t1 WHERE a='a' COLLATE 'armscii8_bin'; 7616COUNT(*) 76172 7618SELECT COUNT(*) FROM t1 WHERE a='a' COLLATE 'armscii8_nopad_bin'; 7619COUNT(*) 76201 7621ALTER TABLE t1 MODIFY a VARCHAR(10) COLLATE 'armscii8_nopad_bin'; 7622SELECT COUNT(*) FROM t1 WHERE a='a'; 7623COUNT(*) 76241 7625SELECT COUNT(*) FROM t1 WHERE a='a' COLLATE 'armscii8_bin'; 7626COUNT(*) 76272 7628SELECT COUNT(*) FROM t1 WHERE a='a' COLLATE 'armscii8_nopad_bin'; 7629COUNT(*) 76301 7631DROP TABLE t1; 7632# 7633# End of ctype_pad.inc 7634# 7635SET DEFAULT_STORAGE_ENGINE=HEAP; 7636# 7637# Start of ctype_pad.inc 7638# 7639# 7640# Unique indexes 7641# 7642CREATE TABLE t1 (a VARCHAR(10) PRIMARY KEY) COLLATE 'armscii8_nopad_bin'; 7643SHOW CREATE TABLE t1; 7644Table Create Table 7645t1 CREATE TABLE `t1` ( 7646 `a` varchar(10) COLLATE armscii8_nopad_bin NOT NULL, 7647 PRIMARY KEY (`a`) 7648) ENGINE=MEMORY DEFAULT CHARSET=armscii8 COLLATE=armscii8_nopad_bin 7649INSERT INTO t1 VALUES ('abc'),('abc '),(' a'),(' a '),('a '); 7650SELECT HEX(a), a FROM t1 ORDER BY a; 7651HEX(a) a 76522061 a 7653206120 a 765461202020 a 7655616263 abc 76566162632020 abc 7657SELECT HEX(a), a FROM t1 IGNORE INDEX(PRIMARY) ORDER BY a; 7658HEX(a) a 76592061 a 7660206120 a 766161202020 a 7662616263 abc 76636162632020 abc 7664SELECT HEX(a), a FROM t1 IGNORE INDEX(PRIMARY) ORDER BY a DESC; 7665HEX(a) a 76666162632020 abc 7667616263 abc 766861202020 a 7669206120 a 76702061 a 7671# 7672# UNION 7673# 7674CREATE TABLE t2 (a VARCHAR(10)) COLLATE 'armscii8_nopad_bin'; 7675INSERT INTO t2 VALUES ('abc '),('abc '),(' a'),('a '); 7676SELECT HEX(a),a FROM (SELECT * FROM t1 UNION SELECT * FROM t2 ORDER BY a) td; 7677HEX(a) a 76782061 a 7679206120 a 76806120 a 768161202020 a 7682616263 abc 768361626320 abc 76846162632020 abc 7685DROP TABLE t1; 7686DROP TABLE t2; 7687# 7688# DISTINCT, COUNT, MAX 7689# 7690CREATE TABLE t1 (a VARCHAR(10)) COLLATE 'armscii8_nopad_bin'; 7691INSERT INTO t1 VALUES ('a'),('a '),(' a'),(' a '),('a '); 7692SELECT HEX(a), a FROM (SELECT DISTINCT a FROM t1 ORDER BY a) td; 7693HEX(a) a 76942061 a 7695206120 a 769661 a 7697612020 a 769861202020 a 7699SELECT COUNT(DISTINCT a) FROM t1 ORDER BY a; 7700COUNT(DISTINCT a) 77015 7702SELECT HEX(MAX(a)), MAX(a) FROM t1; 7703HEX(MAX(a)) MAX(a) 770461202020 a 7705# 7706# GROUP BY 7707# 7708CREATE TABLE t2 (a VARCHAR(10), b int, c varchar(10)) COLLATE 'armscii8_nopad_bin'; 7709INSERT t2 values('ab', 12, 'cd'), ('ab', 2, 'ed'), ('aa', 20, 'er'), ('aa ', 0, 'er '); 7710SELECT HEX(a), cnt FROM (SELECT a, COUNT(a) AS cnt FROM t2 GROUP BY a ORDER BY a) AS td; 7711HEX(a) cnt 77126161 1 771361612020 1 77146162 2 7715DROP TABLE t2; 7716# 7717# Weights 7718# 7719SELECT HEX(WEIGHT_STRING(a AS CHAR(10))) FROM t1; 7720HEX(WEIGHT_STRING(a AS CHAR(10))) 772161000000000000000000 772261202000000000000000 772320610000000000000000 772420612000000000000000 772561202020000000000000 7726DROP TABLE t1; 7727# 7728# IF, CASE, LEAST 7729# 7730SELECT IF('abc' COLLATE 'armscii8_nopad_bin' = 'abc ', 'pad', 'nopad'); 7731IF('abc' COLLATE 'armscii8_nopad_bin' = 'abc ', 'pad', 'nopad') 7732nopad 7733SELECT CASE 'abc' COLLATE 'armscii8_nopad_bin' WHEN 'abc ' THEN 'pad' ELSE 'nopad' END; 7734CASE 'abc' COLLATE 'armscii8_nopad_bin' WHEN 'abc ' THEN 'pad' ELSE 'nopad' END 7735nopad 7736SELECT CASE WHEN 'abc' COLLATE 'armscii8_nopad_bin' = 'abc ' THEN 'pad' ELSE 'nopad' END; 7737CASE WHEN 'abc' COLLATE 'armscii8_nopad_bin' = 'abc ' THEN 'pad' ELSE 'nopad' END 7738nopad 7739SELECT HEX(LEAST('abc ' COLLATE 'armscii8_nopad_bin', 'abc ')); 7740HEX(LEAST('abc ' COLLATE 'armscii8_nopad_bin', 'abc ')) 774161626320 7742SELECT HEX(GREATEST('abc ' COLLATE 'armscii8_nopad_bin', 'abc ')); 7743HEX(GREATEST('abc ' COLLATE 'armscii8_nopad_bin', 'abc ')) 77446162632020 7745# 7746# Collation mix 7747# 7748CREATE TABLE t1 (a VARCHAR(10)) COLLATE 'armscii8_bin'; 7749INSERT INTO t1 VALUES ('a'),('a '); 7750SELECT COUNT(*) FROM t1 WHERE a='a'; 7751COUNT(*) 77522 7753SELECT COUNT(*) FROM t1 WHERE a='a' COLLATE 'armscii8_bin'; 7754COUNT(*) 77552 7756SELECT COUNT(*) FROM t1 WHERE a='a' COLLATE 'armscii8_nopad_bin'; 7757COUNT(*) 77581 7759ALTER TABLE t1 MODIFY a VARCHAR(10) COLLATE 'armscii8_nopad_bin'; 7760SELECT COUNT(*) FROM t1 WHERE a='a'; 7761COUNT(*) 77621 7763SELECT COUNT(*) FROM t1 WHERE a='a' COLLATE 'armscii8_bin'; 7764COUNT(*) 77652 7766SELECT COUNT(*) FROM t1 WHERE a='a' COLLATE 'armscii8_nopad_bin'; 7767COUNT(*) 77681 7769DROP TABLE t1; 7770# 7771# End of ctype_pad.inc 7772# 7773SET DEFAULT_STORAGE_ENGINE=Default; 7774SET character_set_connection=cp866; 7775SET DEFAULT_STORAGE_ENGINE=MyISAM; 7776# 7777# Start of ctype_pad.inc 7778# 7779# 7780# Unique indexes 7781# 7782CREATE TABLE t1 (a VARCHAR(10) PRIMARY KEY) COLLATE 'cp866_general_nopad_ci'; 7783SHOW CREATE TABLE t1; 7784Table Create Table 7785t1 CREATE TABLE `t1` ( 7786 `a` varchar(10) COLLATE cp866_general_nopad_ci NOT NULL, 7787 PRIMARY KEY (`a`) 7788) ENGINE=MyISAM DEFAULT CHARSET=cp866 COLLATE=cp866_general_nopad_ci 7789INSERT INTO t1 VALUES ('abc'),('abc '),(' a'),(' a '),('a '); 7790SELECT HEX(a), a FROM t1 ORDER BY a; 7791HEX(a) a 77922061 a 7793206120 a 779461202020 a 7795616263 abc 77966162632020 abc 7797SELECT HEX(a), a FROM t1 IGNORE INDEX(PRIMARY) ORDER BY a; 7798HEX(a) a 77992061 a 7800206120 a 780161202020 a 7802616263 abc 78036162632020 abc 7804SELECT HEX(a), a FROM t1 IGNORE INDEX(PRIMARY) ORDER BY a DESC; 7805HEX(a) a 78066162632020 abc 7807616263 abc 780861202020 a 7809206120 a 78102061 a 7811# 7812# UNION 7813# 7814CREATE TABLE t2 (a VARCHAR(10)) COLLATE 'cp866_general_nopad_ci'; 7815INSERT INTO t2 VALUES ('abc '),('abc '),(' a'),('a '); 7816SELECT HEX(a),a FROM (SELECT * FROM t1 UNION SELECT * FROM t2 ORDER BY a) td; 7817HEX(a) a 78182061 a 7819206120 a 78206120 a 782161202020 a 7822616263 abc 782361626320 abc 78246162632020 abc 7825DROP TABLE t1; 7826DROP TABLE t2; 7827# 7828# DISTINCT, COUNT, MAX 7829# 7830CREATE TABLE t1 (a VARCHAR(10)) COLLATE 'cp866_general_nopad_ci'; 7831INSERT INTO t1 VALUES ('a'),('a '),(' a'),(' a '),('a '); 7832SELECT HEX(a), a FROM (SELECT DISTINCT a FROM t1 ORDER BY a) td; 7833HEX(a) a 78342061 a 7835206120 a 783661 a 7837612020 a 783861202020 a 7839SELECT COUNT(DISTINCT a) FROM t1 ORDER BY a; 7840COUNT(DISTINCT a) 78415 7842SELECT HEX(MAX(a)), MAX(a) FROM t1; 7843HEX(MAX(a)) MAX(a) 784461202020 a 7845# 7846# GROUP BY 7847# 7848CREATE TABLE t2 (a VARCHAR(10), b int, c varchar(10)) COLLATE 'cp866_general_nopad_ci'; 7849INSERT t2 values('ab', 12, 'cd'), ('ab', 2, 'ed'), ('aa', 20, 'er'), ('aa ', 0, 'er '); 7850SELECT HEX(a), cnt FROM (SELECT a, COUNT(a) AS cnt FROM t2 GROUP BY a ORDER BY a) AS td; 7851HEX(a) cnt 78526161 1 785361612020 1 78546162 2 7855DROP TABLE t2; 7856# 7857# Weights 7858# 7859SELECT HEX(WEIGHT_STRING(a AS CHAR(10))) FROM t1; 7860HEX(WEIGHT_STRING(a AS CHAR(10))) 786141000000000000000000 786241202000000000000000 786320410000000000000000 786420412000000000000000 786541202020000000000000 7866DROP TABLE t1; 7867# 7868# IF, CASE, LEAST 7869# 7870SELECT IF('abc' COLLATE 'cp866_general_nopad_ci' = 'abc ', 'pad', 'nopad'); 7871IF('abc' COLLATE 'cp866_general_nopad_ci' = 'abc ', 'pad', 'nopad') 7872nopad 7873SELECT CASE 'abc' COLLATE 'cp866_general_nopad_ci' WHEN 'abc ' THEN 'pad' ELSE 'nopad' END; 7874CASE 'abc' COLLATE 'cp866_general_nopad_ci' WHEN 'abc ' THEN 'pad' ELSE 'nopad' END 7875nopad 7876SELECT CASE WHEN 'abc' COLLATE 'cp866_general_nopad_ci' = 'abc ' THEN 'pad' ELSE 'nopad' END; 7877CASE WHEN 'abc' COLLATE 'cp866_general_nopad_ci' = 'abc ' THEN 'pad' ELSE 'nopad' END 7878nopad 7879SELECT HEX(LEAST('abc ' COLLATE 'cp866_general_nopad_ci', 'abc ')); 7880HEX(LEAST('abc ' COLLATE 'cp866_general_nopad_ci', 'abc ')) 788161626320 7882SELECT HEX(GREATEST('abc ' COLLATE 'cp866_general_nopad_ci', 'abc ')); 7883HEX(GREATEST('abc ' COLLATE 'cp866_general_nopad_ci', 'abc ')) 78846162632020 7885# 7886# Collation mix 7887# 7888CREATE TABLE t1 (a VARCHAR(10)) COLLATE 'cp866_general_ci'; 7889INSERT INTO t1 VALUES ('a'),('a '); 7890SELECT COUNT(*) FROM t1 WHERE a='a'; 7891COUNT(*) 78922 7893SELECT COUNT(*) FROM t1 WHERE a='a' COLLATE 'cp866_general_ci'; 7894COUNT(*) 78952 7896SELECT COUNT(*) FROM t1 WHERE a='a' COLLATE 'cp866_general_nopad_ci'; 7897COUNT(*) 78981 7899ALTER TABLE t1 MODIFY a VARCHAR(10) COLLATE 'cp866_general_nopad_ci'; 7900SELECT COUNT(*) FROM t1 WHERE a='a'; 7901COUNT(*) 79021 7903SELECT COUNT(*) FROM t1 WHERE a='a' COLLATE 'cp866_general_ci'; 7904COUNT(*) 79052 7906SELECT COUNT(*) FROM t1 WHERE a='a' COLLATE 'cp866_general_nopad_ci'; 7907COUNT(*) 79081 7909DROP TABLE t1; 7910# 7911# End of ctype_pad.inc 7912# 7913SET DEFAULT_STORAGE_ENGINE=HEAP; 7914# 7915# Start of ctype_pad.inc 7916# 7917# 7918# Unique indexes 7919# 7920CREATE TABLE t1 (a VARCHAR(10) PRIMARY KEY) COLLATE 'cp866_general_nopad_ci'; 7921SHOW CREATE TABLE t1; 7922Table Create Table 7923t1 CREATE TABLE `t1` ( 7924 `a` varchar(10) COLLATE cp866_general_nopad_ci NOT NULL, 7925 PRIMARY KEY (`a`) 7926) ENGINE=MEMORY DEFAULT CHARSET=cp866 COLLATE=cp866_general_nopad_ci 7927INSERT INTO t1 VALUES ('abc'),('abc '),(' a'),(' a '),('a '); 7928SELECT HEX(a), a FROM t1 ORDER BY a; 7929HEX(a) a 79302061 a 7931206120 a 793261202020 a 7933616263 abc 79346162632020 abc 7935SELECT HEX(a), a FROM t1 IGNORE INDEX(PRIMARY) ORDER BY a; 7936HEX(a) a 79372061 a 7938206120 a 793961202020 a 7940616263 abc 79416162632020 abc 7942SELECT HEX(a), a FROM t1 IGNORE INDEX(PRIMARY) ORDER BY a DESC; 7943HEX(a) a 79446162632020 abc 7945616263 abc 794661202020 a 7947206120 a 79482061 a 7949# 7950# UNION 7951# 7952CREATE TABLE t2 (a VARCHAR(10)) COLLATE 'cp866_general_nopad_ci'; 7953INSERT INTO t2 VALUES ('abc '),('abc '),(' a'),('a '); 7954SELECT HEX(a),a FROM (SELECT * FROM t1 UNION SELECT * FROM t2 ORDER BY a) td; 7955HEX(a) a 79562061 a 7957206120 a 79586120 a 795961202020 a 7960616263 abc 796161626320 abc 79626162632020 abc 7963DROP TABLE t1; 7964DROP TABLE t2; 7965# 7966# DISTINCT, COUNT, MAX 7967# 7968CREATE TABLE t1 (a VARCHAR(10)) COLLATE 'cp866_general_nopad_ci'; 7969INSERT INTO t1 VALUES ('a'),('a '),(' a'),(' a '),('a '); 7970SELECT HEX(a), a FROM (SELECT DISTINCT a FROM t1 ORDER BY a) td; 7971HEX(a) a 79722061 a 7973206120 a 797461 a 7975612020 a 797661202020 a 7977SELECT COUNT(DISTINCT a) FROM t1 ORDER BY a; 7978COUNT(DISTINCT a) 79795 7980SELECT HEX(MAX(a)), MAX(a) FROM t1; 7981HEX(MAX(a)) MAX(a) 798261202020 a 7983# 7984# GROUP BY 7985# 7986CREATE TABLE t2 (a VARCHAR(10), b int, c varchar(10)) COLLATE 'cp866_general_nopad_ci'; 7987INSERT t2 values('ab', 12, 'cd'), ('ab', 2, 'ed'), ('aa', 20, 'er'), ('aa ', 0, 'er '); 7988SELECT HEX(a), cnt FROM (SELECT a, COUNT(a) AS cnt FROM t2 GROUP BY a ORDER BY a) AS td; 7989HEX(a) cnt 79906161 1 799161612020 1 79926162 2 7993DROP TABLE t2; 7994# 7995# Weights 7996# 7997SELECT HEX(WEIGHT_STRING(a AS CHAR(10))) FROM t1; 7998HEX(WEIGHT_STRING(a AS CHAR(10))) 799941000000000000000000 800041202000000000000000 800120410000000000000000 800220412000000000000000 800341202020000000000000 8004DROP TABLE t1; 8005# 8006# IF, CASE, LEAST 8007# 8008SELECT IF('abc' COLLATE 'cp866_general_nopad_ci' = 'abc ', 'pad', 'nopad'); 8009IF('abc' COLLATE 'cp866_general_nopad_ci' = 'abc ', 'pad', 'nopad') 8010nopad 8011SELECT CASE 'abc' COLLATE 'cp866_general_nopad_ci' WHEN 'abc ' THEN 'pad' ELSE 'nopad' END; 8012CASE 'abc' COLLATE 'cp866_general_nopad_ci' WHEN 'abc ' THEN 'pad' ELSE 'nopad' END 8013nopad 8014SELECT CASE WHEN 'abc' COLLATE 'cp866_general_nopad_ci' = 'abc ' THEN 'pad' ELSE 'nopad' END; 8015CASE WHEN 'abc' COLLATE 'cp866_general_nopad_ci' = 'abc ' THEN 'pad' ELSE 'nopad' END 8016nopad 8017SELECT HEX(LEAST('abc ' COLLATE 'cp866_general_nopad_ci', 'abc ')); 8018HEX(LEAST('abc ' COLLATE 'cp866_general_nopad_ci', 'abc ')) 801961626320 8020SELECT HEX(GREATEST('abc ' COLLATE 'cp866_general_nopad_ci', 'abc ')); 8021HEX(GREATEST('abc ' COLLATE 'cp866_general_nopad_ci', 'abc ')) 80226162632020 8023# 8024# Collation mix 8025# 8026CREATE TABLE t1 (a VARCHAR(10)) COLLATE 'cp866_general_ci'; 8027INSERT INTO t1 VALUES ('a'),('a '); 8028SELECT COUNT(*) FROM t1 WHERE a='a'; 8029COUNT(*) 80302 8031SELECT COUNT(*) FROM t1 WHERE a='a' COLLATE 'cp866_general_ci'; 8032COUNT(*) 80332 8034SELECT COUNT(*) FROM t1 WHERE a='a' COLLATE 'cp866_general_nopad_ci'; 8035COUNT(*) 80361 8037ALTER TABLE t1 MODIFY a VARCHAR(10) COLLATE 'cp866_general_nopad_ci'; 8038SELECT COUNT(*) FROM t1 WHERE a='a'; 8039COUNT(*) 80401 8041SELECT COUNT(*) FROM t1 WHERE a='a' COLLATE 'cp866_general_ci'; 8042COUNT(*) 80432 8044SELECT COUNT(*) FROM t1 WHERE a='a' COLLATE 'cp866_general_nopad_ci'; 8045COUNT(*) 80461 8047DROP TABLE t1; 8048# 8049# End of ctype_pad.inc 8050# 8051SET DEFAULT_STORAGE_ENGINE=Default; 8052SET DEFAULT_STORAGE_ENGINE=MyISAM; 8053# 8054# Start of ctype_pad.inc 8055# 8056# 8057# Unique indexes 8058# 8059CREATE TABLE t1 (a VARCHAR(10) PRIMARY KEY) COLLATE 'cp866_nopad_bin'; 8060SHOW CREATE TABLE t1; 8061Table Create Table 8062t1 CREATE TABLE `t1` ( 8063 `a` varchar(10) COLLATE cp866_nopad_bin NOT NULL, 8064 PRIMARY KEY (`a`) 8065) ENGINE=MyISAM DEFAULT CHARSET=cp866 COLLATE=cp866_nopad_bin 8066INSERT INTO t1 VALUES ('abc'),('abc '),(' a'),(' a '),('a '); 8067SELECT HEX(a), a FROM t1 ORDER BY a; 8068HEX(a) a 80692061 a 8070206120 a 807161202020 a 8072616263 abc 80736162632020 abc 8074SELECT HEX(a), a FROM t1 IGNORE INDEX(PRIMARY) ORDER BY a; 8075HEX(a) a 80762061 a 8077206120 a 807861202020 a 8079616263 abc 80806162632020 abc 8081SELECT HEX(a), a FROM t1 IGNORE INDEX(PRIMARY) ORDER BY a DESC; 8082HEX(a) a 80836162632020 abc 8084616263 abc 808561202020 a 8086206120 a 80872061 a 8088# 8089# UNION 8090# 8091CREATE TABLE t2 (a VARCHAR(10)) COLLATE 'cp866_nopad_bin'; 8092INSERT INTO t2 VALUES ('abc '),('abc '),(' a'),('a '); 8093SELECT HEX(a),a FROM (SELECT * FROM t1 UNION SELECT * FROM t2 ORDER BY a) td; 8094HEX(a) a 80952061 a 8096206120 a 80976120 a 809861202020 a 8099616263 abc 810061626320 abc 81016162632020 abc 8102DROP TABLE t1; 8103DROP TABLE t2; 8104# 8105# DISTINCT, COUNT, MAX 8106# 8107CREATE TABLE t1 (a VARCHAR(10)) COLLATE 'cp866_nopad_bin'; 8108INSERT INTO t1 VALUES ('a'),('a '),(' a'),(' a '),('a '); 8109SELECT HEX(a), a FROM (SELECT DISTINCT a FROM t1 ORDER BY a) td; 8110HEX(a) a 81112061 a 8112206120 a 811361 a 8114612020 a 811561202020 a 8116SELECT COUNT(DISTINCT a) FROM t1 ORDER BY a; 8117COUNT(DISTINCT a) 81185 8119SELECT HEX(MAX(a)), MAX(a) FROM t1; 8120HEX(MAX(a)) MAX(a) 812161202020 a 8122# 8123# GROUP BY 8124# 8125CREATE TABLE t2 (a VARCHAR(10), b int, c varchar(10)) COLLATE 'cp866_nopad_bin'; 8126INSERT t2 values('ab', 12, 'cd'), ('ab', 2, 'ed'), ('aa', 20, 'er'), ('aa ', 0, 'er '); 8127SELECT HEX(a), cnt FROM (SELECT a, COUNT(a) AS cnt FROM t2 GROUP BY a ORDER BY a) AS td; 8128HEX(a) cnt 81296161 1 813061612020 1 81316162 2 8132DROP TABLE t2; 8133# 8134# Weights 8135# 8136SELECT HEX(WEIGHT_STRING(a AS CHAR(10))) FROM t1; 8137HEX(WEIGHT_STRING(a AS CHAR(10))) 813861000000000000000000 813961202000000000000000 814020610000000000000000 814120612000000000000000 814261202020000000000000 8143DROP TABLE t1; 8144# 8145# IF, CASE, LEAST 8146# 8147SELECT IF('abc' COLLATE 'cp866_nopad_bin' = 'abc ', 'pad', 'nopad'); 8148IF('abc' COLLATE 'cp866_nopad_bin' = 'abc ', 'pad', 'nopad') 8149nopad 8150SELECT CASE 'abc' COLLATE 'cp866_nopad_bin' WHEN 'abc ' THEN 'pad' ELSE 'nopad' END; 8151CASE 'abc' COLLATE 'cp866_nopad_bin' WHEN 'abc ' THEN 'pad' ELSE 'nopad' END 8152nopad 8153SELECT CASE WHEN 'abc' COLLATE 'cp866_nopad_bin' = 'abc ' THEN 'pad' ELSE 'nopad' END; 8154CASE WHEN 'abc' COLLATE 'cp866_nopad_bin' = 'abc ' THEN 'pad' ELSE 'nopad' END 8155nopad 8156SELECT HEX(LEAST('abc ' COLLATE 'cp866_nopad_bin', 'abc ')); 8157HEX(LEAST('abc ' COLLATE 'cp866_nopad_bin', 'abc ')) 815861626320 8159SELECT HEX(GREATEST('abc ' COLLATE 'cp866_nopad_bin', 'abc ')); 8160HEX(GREATEST('abc ' COLLATE 'cp866_nopad_bin', 'abc ')) 81616162632020 8162# 8163# Collation mix 8164# 8165CREATE TABLE t1 (a VARCHAR(10)) COLLATE 'cp866_bin'; 8166INSERT INTO t1 VALUES ('a'),('a '); 8167SELECT COUNT(*) FROM t1 WHERE a='a'; 8168COUNT(*) 81692 8170SELECT COUNT(*) FROM t1 WHERE a='a' COLLATE 'cp866_bin'; 8171COUNT(*) 81722 8173SELECT COUNT(*) FROM t1 WHERE a='a' COLLATE 'cp866_nopad_bin'; 8174COUNT(*) 81751 8176ALTER TABLE t1 MODIFY a VARCHAR(10) COLLATE 'cp866_nopad_bin'; 8177SELECT COUNT(*) FROM t1 WHERE a='a'; 8178COUNT(*) 81791 8180SELECT COUNT(*) FROM t1 WHERE a='a' COLLATE 'cp866_bin'; 8181COUNT(*) 81822 8183SELECT COUNT(*) FROM t1 WHERE a='a' COLLATE 'cp866_nopad_bin'; 8184COUNT(*) 81851 8186DROP TABLE t1; 8187# 8188# End of ctype_pad.inc 8189# 8190SET DEFAULT_STORAGE_ENGINE=HEAP; 8191# 8192# Start of ctype_pad.inc 8193# 8194# 8195# Unique indexes 8196# 8197CREATE TABLE t1 (a VARCHAR(10) PRIMARY KEY) COLLATE 'cp866_nopad_bin'; 8198SHOW CREATE TABLE t1; 8199Table Create Table 8200t1 CREATE TABLE `t1` ( 8201 `a` varchar(10) COLLATE cp866_nopad_bin NOT NULL, 8202 PRIMARY KEY (`a`) 8203) ENGINE=MEMORY DEFAULT CHARSET=cp866 COLLATE=cp866_nopad_bin 8204INSERT INTO t1 VALUES ('abc'),('abc '),(' a'),(' a '),('a '); 8205SELECT HEX(a), a FROM t1 ORDER BY a; 8206HEX(a) a 82072061 a 8208206120 a 820961202020 a 8210616263 abc 82116162632020 abc 8212SELECT HEX(a), a FROM t1 IGNORE INDEX(PRIMARY) ORDER BY a; 8213HEX(a) a 82142061 a 8215206120 a 821661202020 a 8217616263 abc 82186162632020 abc 8219SELECT HEX(a), a FROM t1 IGNORE INDEX(PRIMARY) ORDER BY a DESC; 8220HEX(a) a 82216162632020 abc 8222616263 abc 822361202020 a 8224206120 a 82252061 a 8226# 8227# UNION 8228# 8229CREATE TABLE t2 (a VARCHAR(10)) COLLATE 'cp866_nopad_bin'; 8230INSERT INTO t2 VALUES ('abc '),('abc '),(' a'),('a '); 8231SELECT HEX(a),a FROM (SELECT * FROM t1 UNION SELECT * FROM t2 ORDER BY a) td; 8232HEX(a) a 82332061 a 8234206120 a 82356120 a 823661202020 a 8237616263 abc 823861626320 abc 82396162632020 abc 8240DROP TABLE t1; 8241DROP TABLE t2; 8242# 8243# DISTINCT, COUNT, MAX 8244# 8245CREATE TABLE t1 (a VARCHAR(10)) COLLATE 'cp866_nopad_bin'; 8246INSERT INTO t1 VALUES ('a'),('a '),(' a'),(' a '),('a '); 8247SELECT HEX(a), a FROM (SELECT DISTINCT a FROM t1 ORDER BY a) td; 8248HEX(a) a 82492061 a 8250206120 a 825161 a 8252612020 a 825361202020 a 8254SELECT COUNT(DISTINCT a) FROM t1 ORDER BY a; 8255COUNT(DISTINCT a) 82565 8257SELECT HEX(MAX(a)), MAX(a) FROM t1; 8258HEX(MAX(a)) MAX(a) 825961202020 a 8260# 8261# GROUP BY 8262# 8263CREATE TABLE t2 (a VARCHAR(10), b int, c varchar(10)) COLLATE 'cp866_nopad_bin'; 8264INSERT t2 values('ab', 12, 'cd'), ('ab', 2, 'ed'), ('aa', 20, 'er'), ('aa ', 0, 'er '); 8265SELECT HEX(a), cnt FROM (SELECT a, COUNT(a) AS cnt FROM t2 GROUP BY a ORDER BY a) AS td; 8266HEX(a) cnt 82676161 1 826861612020 1 82696162 2 8270DROP TABLE t2; 8271# 8272# Weights 8273# 8274SELECT HEX(WEIGHT_STRING(a AS CHAR(10))) FROM t1; 8275HEX(WEIGHT_STRING(a AS CHAR(10))) 827661000000000000000000 827761202000000000000000 827820610000000000000000 827920612000000000000000 828061202020000000000000 8281DROP TABLE t1; 8282# 8283# IF, CASE, LEAST 8284# 8285SELECT IF('abc' COLLATE 'cp866_nopad_bin' = 'abc ', 'pad', 'nopad'); 8286IF('abc' COLLATE 'cp866_nopad_bin' = 'abc ', 'pad', 'nopad') 8287nopad 8288SELECT CASE 'abc' COLLATE 'cp866_nopad_bin' WHEN 'abc ' THEN 'pad' ELSE 'nopad' END; 8289CASE 'abc' COLLATE 'cp866_nopad_bin' WHEN 'abc ' THEN 'pad' ELSE 'nopad' END 8290nopad 8291SELECT CASE WHEN 'abc' COLLATE 'cp866_nopad_bin' = 'abc ' THEN 'pad' ELSE 'nopad' END; 8292CASE WHEN 'abc' COLLATE 'cp866_nopad_bin' = 'abc ' THEN 'pad' ELSE 'nopad' END 8293nopad 8294SELECT HEX(LEAST('abc ' COLLATE 'cp866_nopad_bin', 'abc ')); 8295HEX(LEAST('abc ' COLLATE 'cp866_nopad_bin', 'abc ')) 829661626320 8297SELECT HEX(GREATEST('abc ' COLLATE 'cp866_nopad_bin', 'abc ')); 8298HEX(GREATEST('abc ' COLLATE 'cp866_nopad_bin', 'abc ')) 82996162632020 8300# 8301# Collation mix 8302# 8303CREATE TABLE t1 (a VARCHAR(10)) COLLATE 'cp866_bin'; 8304INSERT INTO t1 VALUES ('a'),('a '); 8305SELECT COUNT(*) FROM t1 WHERE a='a'; 8306COUNT(*) 83072 8308SELECT COUNT(*) FROM t1 WHERE a='a' COLLATE 'cp866_bin'; 8309COUNT(*) 83102 8311SELECT COUNT(*) FROM t1 WHERE a='a' COLLATE 'cp866_nopad_bin'; 8312COUNT(*) 83131 8314ALTER TABLE t1 MODIFY a VARCHAR(10) COLLATE 'cp866_nopad_bin'; 8315SELECT COUNT(*) FROM t1 WHERE a='a'; 8316COUNT(*) 83171 8318SELECT COUNT(*) FROM t1 WHERE a='a' COLLATE 'cp866_bin'; 8319COUNT(*) 83202 8321SELECT COUNT(*) FROM t1 WHERE a='a' COLLATE 'cp866_nopad_bin'; 8322COUNT(*) 83231 8324DROP TABLE t1; 8325# 8326# End of ctype_pad.inc 8327# 8328SET DEFAULT_STORAGE_ENGINE=Default; 8329SET character_set_connection=keybcs2; 8330SET DEFAULT_STORAGE_ENGINE=MyISAM; 8331# 8332# Start of ctype_pad.inc 8333# 8334# 8335# Unique indexes 8336# 8337CREATE TABLE t1 (a VARCHAR(10) PRIMARY KEY) COLLATE 'keybcs2_general_nopad_ci'; 8338SHOW CREATE TABLE t1; 8339Table Create Table 8340t1 CREATE TABLE `t1` ( 8341 `a` varchar(10) COLLATE keybcs2_general_nopad_ci NOT NULL, 8342 PRIMARY KEY (`a`) 8343) ENGINE=MyISAM DEFAULT CHARSET=keybcs2 COLLATE=keybcs2_general_nopad_ci 8344INSERT INTO t1 VALUES ('abc'),('abc '),(' a'),(' a '),('a '); 8345SELECT HEX(a), a FROM t1 ORDER BY a; 8346HEX(a) a 83472061 a 8348206120 a 834961202020 a 8350616263 abc 83516162632020 abc 8352SELECT HEX(a), a FROM t1 IGNORE INDEX(PRIMARY) ORDER BY a; 8353HEX(a) a 83542061 a 8355206120 a 835661202020 a 8357616263 abc 83586162632020 abc 8359SELECT HEX(a), a FROM t1 IGNORE INDEX(PRIMARY) ORDER BY a DESC; 8360HEX(a) a 83616162632020 abc 8362616263 abc 836361202020 a 8364206120 a 83652061 a 8366# 8367# UNION 8368# 8369CREATE TABLE t2 (a VARCHAR(10)) COLLATE 'keybcs2_general_nopad_ci'; 8370INSERT INTO t2 VALUES ('abc '),('abc '),(' a'),('a '); 8371SELECT HEX(a),a FROM (SELECT * FROM t1 UNION SELECT * FROM t2 ORDER BY a) td; 8372HEX(a) a 83732061 a 8374206120 a 83756120 a 837661202020 a 8377616263 abc 837861626320 abc 83796162632020 abc 8380DROP TABLE t1; 8381DROP TABLE t2; 8382# 8383# DISTINCT, COUNT, MAX 8384# 8385CREATE TABLE t1 (a VARCHAR(10)) COLLATE 'keybcs2_general_nopad_ci'; 8386INSERT INTO t1 VALUES ('a'),('a '),(' a'),(' a '),('a '); 8387SELECT HEX(a), a FROM (SELECT DISTINCT a FROM t1 ORDER BY a) td; 8388HEX(a) a 83892061 a 8390206120 a 839161 a 8392612020 a 839361202020 a 8394SELECT COUNT(DISTINCT a) FROM t1 ORDER BY a; 8395COUNT(DISTINCT a) 83965 8397SELECT HEX(MAX(a)), MAX(a) FROM t1; 8398HEX(MAX(a)) MAX(a) 839961202020 a 8400# 8401# GROUP BY 8402# 8403CREATE TABLE t2 (a VARCHAR(10), b int, c varchar(10)) COLLATE 'keybcs2_general_nopad_ci'; 8404INSERT t2 values('ab', 12, 'cd'), ('ab', 2, 'ed'), ('aa', 20, 'er'), ('aa ', 0, 'er '); 8405SELECT HEX(a), cnt FROM (SELECT a, COUNT(a) AS cnt FROM t2 GROUP BY a ORDER BY a) AS td; 8406HEX(a) cnt 84076161 1 840861612020 1 84096162 2 8410DROP TABLE t2; 8411# 8412# Weights 8413# 8414SELECT HEX(WEIGHT_STRING(a AS CHAR(10))) FROM t1; 8415HEX(WEIGHT_STRING(a AS CHAR(10))) 841641000000000000000000 841741202000000000000000 841820410000000000000000 841920412000000000000000 842041202020000000000000 8421DROP TABLE t1; 8422# 8423# IF, CASE, LEAST 8424# 8425SELECT IF('abc' COLLATE 'keybcs2_general_nopad_ci' = 'abc ', 'pad', 'nopad'); 8426IF('abc' COLLATE 'keybcs2_general_nopad_ci' = 'abc ', 'pad', 'nopad') 8427nopad 8428SELECT CASE 'abc' COLLATE 'keybcs2_general_nopad_ci' WHEN 'abc ' THEN 'pad' ELSE 'nopad' END; 8429CASE 'abc' COLLATE 'keybcs2_general_nopad_ci' WHEN 'abc ' THEN 'pad' ELSE 'nopad' END 8430nopad 8431SELECT CASE WHEN 'abc' COLLATE 'keybcs2_general_nopad_ci' = 'abc ' THEN 'pad' ELSE 'nopad' END; 8432CASE WHEN 'abc' COLLATE 'keybcs2_general_nopad_ci' = 'abc ' THEN 'pad' ELSE 'nopad' END 8433nopad 8434SELECT HEX(LEAST('abc ' COLLATE 'keybcs2_general_nopad_ci', 'abc ')); 8435HEX(LEAST('abc ' COLLATE 'keybcs2_general_nopad_ci', 'abc ')) 843661626320 8437SELECT HEX(GREATEST('abc ' COLLATE 'keybcs2_general_nopad_ci', 'abc ')); 8438HEX(GREATEST('abc ' COLLATE 'keybcs2_general_nopad_ci', 'abc ')) 84396162632020 8440# 8441# Collation mix 8442# 8443CREATE TABLE t1 (a VARCHAR(10)) COLLATE 'keybcs2_general_ci'; 8444INSERT INTO t1 VALUES ('a'),('a '); 8445SELECT COUNT(*) FROM t1 WHERE a='a'; 8446COUNT(*) 84472 8448SELECT COUNT(*) FROM t1 WHERE a='a' COLLATE 'keybcs2_general_ci'; 8449COUNT(*) 84502 8451SELECT COUNT(*) FROM t1 WHERE a='a' COLLATE 'keybcs2_general_nopad_ci'; 8452COUNT(*) 84531 8454ALTER TABLE t1 MODIFY a VARCHAR(10) COLLATE 'keybcs2_general_nopad_ci'; 8455SELECT COUNT(*) FROM t1 WHERE a='a'; 8456COUNT(*) 84571 8458SELECT COUNT(*) FROM t1 WHERE a='a' COLLATE 'keybcs2_general_ci'; 8459COUNT(*) 84602 8461SELECT COUNT(*) FROM t1 WHERE a='a' COLLATE 'keybcs2_general_nopad_ci'; 8462COUNT(*) 84631 8464DROP TABLE t1; 8465# 8466# End of ctype_pad.inc 8467# 8468SET DEFAULT_STORAGE_ENGINE=HEAP; 8469# 8470# Start of ctype_pad.inc 8471# 8472# 8473# Unique indexes 8474# 8475CREATE TABLE t1 (a VARCHAR(10) PRIMARY KEY) COLLATE 'keybcs2_general_nopad_ci'; 8476SHOW CREATE TABLE t1; 8477Table Create Table 8478t1 CREATE TABLE `t1` ( 8479 `a` varchar(10) COLLATE keybcs2_general_nopad_ci NOT NULL, 8480 PRIMARY KEY (`a`) 8481) ENGINE=MEMORY DEFAULT CHARSET=keybcs2 COLLATE=keybcs2_general_nopad_ci 8482INSERT INTO t1 VALUES ('abc'),('abc '),(' a'),(' a '),('a '); 8483SELECT HEX(a), a FROM t1 ORDER BY a; 8484HEX(a) a 84852061 a 8486206120 a 848761202020 a 8488616263 abc 84896162632020 abc 8490SELECT HEX(a), a FROM t1 IGNORE INDEX(PRIMARY) ORDER BY a; 8491HEX(a) a 84922061 a 8493206120 a 849461202020 a 8495616263 abc 84966162632020 abc 8497SELECT HEX(a), a FROM t1 IGNORE INDEX(PRIMARY) ORDER BY a DESC; 8498HEX(a) a 84996162632020 abc 8500616263 abc 850161202020 a 8502206120 a 85032061 a 8504# 8505# UNION 8506# 8507CREATE TABLE t2 (a VARCHAR(10)) COLLATE 'keybcs2_general_nopad_ci'; 8508INSERT INTO t2 VALUES ('abc '),('abc '),(' a'),('a '); 8509SELECT HEX(a),a FROM (SELECT * FROM t1 UNION SELECT * FROM t2 ORDER BY a) td; 8510HEX(a) a 85112061 a 8512206120 a 85136120 a 851461202020 a 8515616263 abc 851661626320 abc 85176162632020 abc 8518DROP TABLE t1; 8519DROP TABLE t2; 8520# 8521# DISTINCT, COUNT, MAX 8522# 8523CREATE TABLE t1 (a VARCHAR(10)) COLLATE 'keybcs2_general_nopad_ci'; 8524INSERT INTO t1 VALUES ('a'),('a '),(' a'),(' a '),('a '); 8525SELECT HEX(a), a FROM (SELECT DISTINCT a FROM t1 ORDER BY a) td; 8526HEX(a) a 85272061 a 8528206120 a 852961 a 8530612020 a 853161202020 a 8532SELECT COUNT(DISTINCT a) FROM t1 ORDER BY a; 8533COUNT(DISTINCT a) 85345 8535SELECT HEX(MAX(a)), MAX(a) FROM t1; 8536HEX(MAX(a)) MAX(a) 853761202020 a 8538# 8539# GROUP BY 8540# 8541CREATE TABLE t2 (a VARCHAR(10), b int, c varchar(10)) COLLATE 'keybcs2_general_nopad_ci'; 8542INSERT t2 values('ab', 12, 'cd'), ('ab', 2, 'ed'), ('aa', 20, 'er'), ('aa ', 0, 'er '); 8543SELECT HEX(a), cnt FROM (SELECT a, COUNT(a) AS cnt FROM t2 GROUP BY a ORDER BY a) AS td; 8544HEX(a) cnt 85456161 1 854661612020 1 85476162 2 8548DROP TABLE t2; 8549# 8550# Weights 8551# 8552SELECT HEX(WEIGHT_STRING(a AS CHAR(10))) FROM t1; 8553HEX(WEIGHT_STRING(a AS CHAR(10))) 855441000000000000000000 855541202000000000000000 855620410000000000000000 855720412000000000000000 855841202020000000000000 8559DROP TABLE t1; 8560# 8561# IF, CASE, LEAST 8562# 8563SELECT IF('abc' COLLATE 'keybcs2_general_nopad_ci' = 'abc ', 'pad', 'nopad'); 8564IF('abc' COLLATE 'keybcs2_general_nopad_ci' = 'abc ', 'pad', 'nopad') 8565nopad 8566SELECT CASE 'abc' COLLATE 'keybcs2_general_nopad_ci' WHEN 'abc ' THEN 'pad' ELSE 'nopad' END; 8567CASE 'abc' COLLATE 'keybcs2_general_nopad_ci' WHEN 'abc ' THEN 'pad' ELSE 'nopad' END 8568nopad 8569SELECT CASE WHEN 'abc' COLLATE 'keybcs2_general_nopad_ci' = 'abc ' THEN 'pad' ELSE 'nopad' END; 8570CASE WHEN 'abc' COLLATE 'keybcs2_general_nopad_ci' = 'abc ' THEN 'pad' ELSE 'nopad' END 8571nopad 8572SELECT HEX(LEAST('abc ' COLLATE 'keybcs2_general_nopad_ci', 'abc ')); 8573HEX(LEAST('abc ' COLLATE 'keybcs2_general_nopad_ci', 'abc ')) 857461626320 8575SELECT HEX(GREATEST('abc ' COLLATE 'keybcs2_general_nopad_ci', 'abc ')); 8576HEX(GREATEST('abc ' COLLATE 'keybcs2_general_nopad_ci', 'abc ')) 85776162632020 8578# 8579# Collation mix 8580# 8581CREATE TABLE t1 (a VARCHAR(10)) COLLATE 'keybcs2_general_ci'; 8582INSERT INTO t1 VALUES ('a'),('a '); 8583SELECT COUNT(*) FROM t1 WHERE a='a'; 8584COUNT(*) 85852 8586SELECT COUNT(*) FROM t1 WHERE a='a' COLLATE 'keybcs2_general_ci'; 8587COUNT(*) 85882 8589SELECT COUNT(*) FROM t1 WHERE a='a' COLLATE 'keybcs2_general_nopad_ci'; 8590COUNT(*) 85911 8592ALTER TABLE t1 MODIFY a VARCHAR(10) COLLATE 'keybcs2_general_nopad_ci'; 8593SELECT COUNT(*) FROM t1 WHERE a='a'; 8594COUNT(*) 85951 8596SELECT COUNT(*) FROM t1 WHERE a='a' COLLATE 'keybcs2_general_ci'; 8597COUNT(*) 85982 8599SELECT COUNT(*) FROM t1 WHERE a='a' COLLATE 'keybcs2_general_nopad_ci'; 8600COUNT(*) 86011 8602DROP TABLE t1; 8603# 8604# End of ctype_pad.inc 8605# 8606SET DEFAULT_STORAGE_ENGINE=Default; 8607SET DEFAULT_STORAGE_ENGINE=MyISAM; 8608# 8609# Start of ctype_pad.inc 8610# 8611# 8612# Unique indexes 8613# 8614CREATE TABLE t1 (a VARCHAR(10) PRIMARY KEY) COLLATE 'keybcs2_nopad_bin'; 8615SHOW CREATE TABLE t1; 8616Table Create Table 8617t1 CREATE TABLE `t1` ( 8618 `a` varchar(10) COLLATE keybcs2_nopad_bin NOT NULL, 8619 PRIMARY KEY (`a`) 8620) ENGINE=MyISAM DEFAULT CHARSET=keybcs2 COLLATE=keybcs2_nopad_bin 8621INSERT INTO t1 VALUES ('abc'),('abc '),(' a'),(' a '),('a '); 8622SELECT HEX(a), a FROM t1 ORDER BY a; 8623HEX(a) a 86242061 a 8625206120 a 862661202020 a 8627616263 abc 86286162632020 abc 8629SELECT HEX(a), a FROM t1 IGNORE INDEX(PRIMARY) ORDER BY a; 8630HEX(a) a 86312061 a 8632206120 a 863361202020 a 8634616263 abc 86356162632020 abc 8636SELECT HEX(a), a FROM t1 IGNORE INDEX(PRIMARY) ORDER BY a DESC; 8637HEX(a) a 86386162632020 abc 8639616263 abc 864061202020 a 8641206120 a 86422061 a 8643# 8644# UNION 8645# 8646CREATE TABLE t2 (a VARCHAR(10)) COLLATE 'keybcs2_nopad_bin'; 8647INSERT INTO t2 VALUES ('abc '),('abc '),(' a'),('a '); 8648SELECT HEX(a),a FROM (SELECT * FROM t1 UNION SELECT * FROM t2 ORDER BY a) td; 8649HEX(a) a 86502061 a 8651206120 a 86526120 a 865361202020 a 8654616263 abc 865561626320 abc 86566162632020 abc 8657DROP TABLE t1; 8658DROP TABLE t2; 8659# 8660# DISTINCT, COUNT, MAX 8661# 8662CREATE TABLE t1 (a VARCHAR(10)) COLLATE 'keybcs2_nopad_bin'; 8663INSERT INTO t1 VALUES ('a'),('a '),(' a'),(' a '),('a '); 8664SELECT HEX(a), a FROM (SELECT DISTINCT a FROM t1 ORDER BY a) td; 8665HEX(a) a 86662061 a 8667206120 a 866861 a 8669612020 a 867061202020 a 8671SELECT COUNT(DISTINCT a) FROM t1 ORDER BY a; 8672COUNT(DISTINCT a) 86735 8674SELECT HEX(MAX(a)), MAX(a) FROM t1; 8675HEX(MAX(a)) MAX(a) 867661202020 a 8677# 8678# GROUP BY 8679# 8680CREATE TABLE t2 (a VARCHAR(10), b int, c varchar(10)) COLLATE 'keybcs2_nopad_bin'; 8681INSERT t2 values('ab', 12, 'cd'), ('ab', 2, 'ed'), ('aa', 20, 'er'), ('aa ', 0, 'er '); 8682SELECT HEX(a), cnt FROM (SELECT a, COUNT(a) AS cnt FROM t2 GROUP BY a ORDER BY a) AS td; 8683HEX(a) cnt 86846161 1 868561612020 1 86866162 2 8687DROP TABLE t2; 8688# 8689# Weights 8690# 8691SELECT HEX(WEIGHT_STRING(a AS CHAR(10))) FROM t1; 8692HEX(WEIGHT_STRING(a AS CHAR(10))) 869361000000000000000000 869461202000000000000000 869520610000000000000000 869620612000000000000000 869761202020000000000000 8698DROP TABLE t1; 8699# 8700# IF, CASE, LEAST 8701# 8702SELECT IF('abc' COLLATE 'keybcs2_nopad_bin' = 'abc ', 'pad', 'nopad'); 8703IF('abc' COLLATE 'keybcs2_nopad_bin' = 'abc ', 'pad', 'nopad') 8704nopad 8705SELECT CASE 'abc' COLLATE 'keybcs2_nopad_bin' WHEN 'abc ' THEN 'pad' ELSE 'nopad' END; 8706CASE 'abc' COLLATE 'keybcs2_nopad_bin' WHEN 'abc ' THEN 'pad' ELSE 'nopad' END 8707nopad 8708SELECT CASE WHEN 'abc' COLLATE 'keybcs2_nopad_bin' = 'abc ' THEN 'pad' ELSE 'nopad' END; 8709CASE WHEN 'abc' COLLATE 'keybcs2_nopad_bin' = 'abc ' THEN 'pad' ELSE 'nopad' END 8710nopad 8711SELECT HEX(LEAST('abc ' COLLATE 'keybcs2_nopad_bin', 'abc ')); 8712HEX(LEAST('abc ' COLLATE 'keybcs2_nopad_bin', 'abc ')) 871361626320 8714SELECT HEX(GREATEST('abc ' COLLATE 'keybcs2_nopad_bin', 'abc ')); 8715HEX(GREATEST('abc ' COLLATE 'keybcs2_nopad_bin', 'abc ')) 87166162632020 8717# 8718# Collation mix 8719# 8720CREATE TABLE t1 (a VARCHAR(10)) COLLATE 'keybcs2_bin'; 8721INSERT INTO t1 VALUES ('a'),('a '); 8722SELECT COUNT(*) FROM t1 WHERE a='a'; 8723COUNT(*) 87242 8725SELECT COUNT(*) FROM t1 WHERE a='a' COLLATE 'keybcs2_bin'; 8726COUNT(*) 87272 8728SELECT COUNT(*) FROM t1 WHERE a='a' COLLATE 'keybcs2_nopad_bin'; 8729COUNT(*) 87301 8731ALTER TABLE t1 MODIFY a VARCHAR(10) COLLATE 'keybcs2_nopad_bin'; 8732SELECT COUNT(*) FROM t1 WHERE a='a'; 8733COUNT(*) 87341 8735SELECT COUNT(*) FROM t1 WHERE a='a' COLLATE 'keybcs2_bin'; 8736COUNT(*) 87372 8738SELECT COUNT(*) FROM t1 WHERE a='a' COLLATE 'keybcs2_nopad_bin'; 8739COUNT(*) 87401 8741DROP TABLE t1; 8742# 8743# End of ctype_pad.inc 8744# 8745SET DEFAULT_STORAGE_ENGINE=HEAP; 8746# 8747# Start of ctype_pad.inc 8748# 8749# 8750# Unique indexes 8751# 8752CREATE TABLE t1 (a VARCHAR(10) PRIMARY KEY) COLLATE 'keybcs2_nopad_bin'; 8753SHOW CREATE TABLE t1; 8754Table Create Table 8755t1 CREATE TABLE `t1` ( 8756 `a` varchar(10) COLLATE keybcs2_nopad_bin NOT NULL, 8757 PRIMARY KEY (`a`) 8758) ENGINE=MEMORY DEFAULT CHARSET=keybcs2 COLLATE=keybcs2_nopad_bin 8759INSERT INTO t1 VALUES ('abc'),('abc '),(' a'),(' a '),('a '); 8760SELECT HEX(a), a FROM t1 ORDER BY a; 8761HEX(a) a 87622061 a 8763206120 a 876461202020 a 8765616263 abc 87666162632020 abc 8767SELECT HEX(a), a FROM t1 IGNORE INDEX(PRIMARY) ORDER BY a; 8768HEX(a) a 87692061 a 8770206120 a 877161202020 a 8772616263 abc 87736162632020 abc 8774SELECT HEX(a), a FROM t1 IGNORE INDEX(PRIMARY) ORDER BY a DESC; 8775HEX(a) a 87766162632020 abc 8777616263 abc 877861202020 a 8779206120 a 87802061 a 8781# 8782# UNION 8783# 8784CREATE TABLE t2 (a VARCHAR(10)) COLLATE 'keybcs2_nopad_bin'; 8785INSERT INTO t2 VALUES ('abc '),('abc '),(' a'),('a '); 8786SELECT HEX(a),a FROM (SELECT * FROM t1 UNION SELECT * FROM t2 ORDER BY a) td; 8787HEX(a) a 87882061 a 8789206120 a 87906120 a 879161202020 a 8792616263 abc 879361626320 abc 87946162632020 abc 8795DROP TABLE t1; 8796DROP TABLE t2; 8797# 8798# DISTINCT, COUNT, MAX 8799# 8800CREATE TABLE t1 (a VARCHAR(10)) COLLATE 'keybcs2_nopad_bin'; 8801INSERT INTO t1 VALUES ('a'),('a '),(' a'),(' a '),('a '); 8802SELECT HEX(a), a FROM (SELECT DISTINCT a FROM t1 ORDER BY a) td; 8803HEX(a) a 88042061 a 8805206120 a 880661 a 8807612020 a 880861202020 a 8809SELECT COUNT(DISTINCT a) FROM t1 ORDER BY a; 8810COUNT(DISTINCT a) 88115 8812SELECT HEX(MAX(a)), MAX(a) FROM t1; 8813HEX(MAX(a)) MAX(a) 881461202020 a 8815# 8816# GROUP BY 8817# 8818CREATE TABLE t2 (a VARCHAR(10), b int, c varchar(10)) COLLATE 'keybcs2_nopad_bin'; 8819INSERT t2 values('ab', 12, 'cd'), ('ab', 2, 'ed'), ('aa', 20, 'er'), ('aa ', 0, 'er '); 8820SELECT HEX(a), cnt FROM (SELECT a, COUNT(a) AS cnt FROM t2 GROUP BY a ORDER BY a) AS td; 8821HEX(a) cnt 88226161 1 882361612020 1 88246162 2 8825DROP TABLE t2; 8826# 8827# Weights 8828# 8829SELECT HEX(WEIGHT_STRING(a AS CHAR(10))) FROM t1; 8830HEX(WEIGHT_STRING(a AS CHAR(10))) 883161000000000000000000 883261202000000000000000 883320610000000000000000 883420612000000000000000 883561202020000000000000 8836DROP TABLE t1; 8837# 8838# IF, CASE, LEAST 8839# 8840SELECT IF('abc' COLLATE 'keybcs2_nopad_bin' = 'abc ', 'pad', 'nopad'); 8841IF('abc' COLLATE 'keybcs2_nopad_bin' = 'abc ', 'pad', 'nopad') 8842nopad 8843SELECT CASE 'abc' COLLATE 'keybcs2_nopad_bin' WHEN 'abc ' THEN 'pad' ELSE 'nopad' END; 8844CASE 'abc' COLLATE 'keybcs2_nopad_bin' WHEN 'abc ' THEN 'pad' ELSE 'nopad' END 8845nopad 8846SELECT CASE WHEN 'abc' COLLATE 'keybcs2_nopad_bin' = 'abc ' THEN 'pad' ELSE 'nopad' END; 8847CASE WHEN 'abc' COLLATE 'keybcs2_nopad_bin' = 'abc ' THEN 'pad' ELSE 'nopad' END 8848nopad 8849SELECT HEX(LEAST('abc ' COLLATE 'keybcs2_nopad_bin', 'abc ')); 8850HEX(LEAST('abc ' COLLATE 'keybcs2_nopad_bin', 'abc ')) 885161626320 8852SELECT HEX(GREATEST('abc ' COLLATE 'keybcs2_nopad_bin', 'abc ')); 8853HEX(GREATEST('abc ' COLLATE 'keybcs2_nopad_bin', 'abc ')) 88546162632020 8855# 8856# Collation mix 8857# 8858CREATE TABLE t1 (a VARCHAR(10)) COLLATE 'keybcs2_bin'; 8859INSERT INTO t1 VALUES ('a'),('a '); 8860SELECT COUNT(*) FROM t1 WHERE a='a'; 8861COUNT(*) 88622 8863SELECT COUNT(*) FROM t1 WHERE a='a' COLLATE 'keybcs2_bin'; 8864COUNT(*) 88652 8866SELECT COUNT(*) FROM t1 WHERE a='a' COLLATE 'keybcs2_nopad_bin'; 8867COUNT(*) 88681 8869ALTER TABLE t1 MODIFY a VARCHAR(10) COLLATE 'keybcs2_nopad_bin'; 8870SELECT COUNT(*) FROM t1 WHERE a='a'; 8871COUNT(*) 88721 8873SELECT COUNT(*) FROM t1 WHERE a='a' COLLATE 'keybcs2_bin'; 8874COUNT(*) 88752 8876SELECT COUNT(*) FROM t1 WHERE a='a' COLLATE 'keybcs2_nopad_bin'; 8877COUNT(*) 88781 8879DROP TABLE t1; 8880# 8881# End of ctype_pad.inc 8882# 8883SET DEFAULT_STORAGE_ENGINE=Default; 8884SET character_set_connection=macce; 8885SET DEFAULT_STORAGE_ENGINE=MyISAM; 8886# 8887# Start of ctype_pad.inc 8888# 8889# 8890# Unique indexes 8891# 8892CREATE TABLE t1 (a VARCHAR(10) PRIMARY KEY) COLLATE 'macce_general_nopad_ci'; 8893SHOW CREATE TABLE t1; 8894Table Create Table 8895t1 CREATE TABLE `t1` ( 8896 `a` varchar(10) COLLATE macce_general_nopad_ci NOT NULL, 8897 PRIMARY KEY (`a`) 8898) ENGINE=MyISAM DEFAULT CHARSET=macce COLLATE=macce_general_nopad_ci 8899INSERT INTO t1 VALUES ('abc'),('abc '),(' a'),(' a '),('a '); 8900SELECT HEX(a), a FROM t1 ORDER BY a; 8901HEX(a) a 89022061 a 8903206120 a 890461202020 a 8905616263 abc 89066162632020 abc 8907SELECT HEX(a), a FROM t1 IGNORE INDEX(PRIMARY) ORDER BY a; 8908HEX(a) a 89092061 a 8910206120 a 891161202020 a 8912616263 abc 89136162632020 abc 8914SELECT HEX(a), a FROM t1 IGNORE INDEX(PRIMARY) ORDER BY a DESC; 8915HEX(a) a 89166162632020 abc 8917616263 abc 891861202020 a 8919206120 a 89202061 a 8921# 8922# UNION 8923# 8924CREATE TABLE t2 (a VARCHAR(10)) COLLATE 'macce_general_nopad_ci'; 8925INSERT INTO t2 VALUES ('abc '),('abc '),(' a'),('a '); 8926SELECT HEX(a),a FROM (SELECT * FROM t1 UNION SELECT * FROM t2 ORDER BY a) td; 8927HEX(a) a 89282061 a 8929206120 a 89306120 a 893161202020 a 8932616263 abc 893361626320 abc 89346162632020 abc 8935DROP TABLE t1; 8936DROP TABLE t2; 8937# 8938# DISTINCT, COUNT, MAX 8939# 8940CREATE TABLE t1 (a VARCHAR(10)) COLLATE 'macce_general_nopad_ci'; 8941INSERT INTO t1 VALUES ('a'),('a '),(' a'),(' a '),('a '); 8942SELECT HEX(a), a FROM (SELECT DISTINCT a FROM t1 ORDER BY a) td; 8943HEX(a) a 89442061 a 8945206120 a 894661 a 8947612020 a 894861202020 a 8949SELECT COUNT(DISTINCT a) FROM t1 ORDER BY a; 8950COUNT(DISTINCT a) 89515 8952SELECT HEX(MAX(a)), MAX(a) FROM t1; 8953HEX(MAX(a)) MAX(a) 895461202020 a 8955# 8956# GROUP BY 8957# 8958CREATE TABLE t2 (a VARCHAR(10), b int, c varchar(10)) COLLATE 'macce_general_nopad_ci'; 8959INSERT t2 values('ab', 12, 'cd'), ('ab', 2, 'ed'), ('aa', 20, 'er'), ('aa ', 0, 'er '); 8960SELECT HEX(a), cnt FROM (SELECT a, COUNT(a) AS cnt FROM t2 GROUP BY a ORDER BY a) AS td; 8961HEX(a) cnt 89626161 1 896361612020 1 89646162 2 8965DROP TABLE t2; 8966# 8967# Weights 8968# 8969SELECT HEX(WEIGHT_STRING(a AS CHAR(10))) FROM t1; 8970HEX(WEIGHT_STRING(a AS CHAR(10))) 897141000000000000000000 897241202000000000000000 897320410000000000000000 897420412000000000000000 897541202020000000000000 8976DROP TABLE t1; 8977# 8978# IF, CASE, LEAST 8979# 8980SELECT IF('abc' COLLATE 'macce_general_nopad_ci' = 'abc ', 'pad', 'nopad'); 8981IF('abc' COLLATE 'macce_general_nopad_ci' = 'abc ', 'pad', 'nopad') 8982nopad 8983SELECT CASE 'abc' COLLATE 'macce_general_nopad_ci' WHEN 'abc ' THEN 'pad' ELSE 'nopad' END; 8984CASE 'abc' COLLATE 'macce_general_nopad_ci' WHEN 'abc ' THEN 'pad' ELSE 'nopad' END 8985nopad 8986SELECT CASE WHEN 'abc' COLLATE 'macce_general_nopad_ci' = 'abc ' THEN 'pad' ELSE 'nopad' END; 8987CASE WHEN 'abc' COLLATE 'macce_general_nopad_ci' = 'abc ' THEN 'pad' ELSE 'nopad' END 8988nopad 8989SELECT HEX(LEAST('abc ' COLLATE 'macce_general_nopad_ci', 'abc ')); 8990HEX(LEAST('abc ' COLLATE 'macce_general_nopad_ci', 'abc ')) 899161626320 8992SELECT HEX(GREATEST('abc ' COLLATE 'macce_general_nopad_ci', 'abc ')); 8993HEX(GREATEST('abc ' COLLATE 'macce_general_nopad_ci', 'abc ')) 89946162632020 8995# 8996# Collation mix 8997# 8998CREATE TABLE t1 (a VARCHAR(10)) COLLATE 'macce_general_ci'; 8999INSERT INTO t1 VALUES ('a'),('a '); 9000SELECT COUNT(*) FROM t1 WHERE a='a'; 9001COUNT(*) 90022 9003SELECT COUNT(*) FROM t1 WHERE a='a' COLLATE 'macce_general_ci'; 9004COUNT(*) 90052 9006SELECT COUNT(*) FROM t1 WHERE a='a' COLLATE 'macce_general_nopad_ci'; 9007COUNT(*) 90081 9009ALTER TABLE t1 MODIFY a VARCHAR(10) COLLATE 'macce_general_nopad_ci'; 9010SELECT COUNT(*) FROM t1 WHERE a='a'; 9011COUNT(*) 90121 9013SELECT COUNT(*) FROM t1 WHERE a='a' COLLATE 'macce_general_ci'; 9014COUNT(*) 90152 9016SELECT COUNT(*) FROM t1 WHERE a='a' COLLATE 'macce_general_nopad_ci'; 9017COUNT(*) 90181 9019DROP TABLE t1; 9020# 9021# End of ctype_pad.inc 9022# 9023SET DEFAULT_STORAGE_ENGINE=HEAP; 9024# 9025# Start of ctype_pad.inc 9026# 9027# 9028# Unique indexes 9029# 9030CREATE TABLE t1 (a VARCHAR(10) PRIMARY KEY) COLLATE 'macce_general_nopad_ci'; 9031SHOW CREATE TABLE t1; 9032Table Create Table 9033t1 CREATE TABLE `t1` ( 9034 `a` varchar(10) COLLATE macce_general_nopad_ci NOT NULL, 9035 PRIMARY KEY (`a`) 9036) ENGINE=MEMORY DEFAULT CHARSET=macce COLLATE=macce_general_nopad_ci 9037INSERT INTO t1 VALUES ('abc'),('abc '),(' a'),(' a '),('a '); 9038SELECT HEX(a), a FROM t1 ORDER BY a; 9039HEX(a) a 90402061 a 9041206120 a 904261202020 a 9043616263 abc 90446162632020 abc 9045SELECT HEX(a), a FROM t1 IGNORE INDEX(PRIMARY) ORDER BY a; 9046HEX(a) a 90472061 a 9048206120 a 904961202020 a 9050616263 abc 90516162632020 abc 9052SELECT HEX(a), a FROM t1 IGNORE INDEX(PRIMARY) ORDER BY a DESC; 9053HEX(a) a 90546162632020 abc 9055616263 abc 905661202020 a 9057206120 a 90582061 a 9059# 9060# UNION 9061# 9062CREATE TABLE t2 (a VARCHAR(10)) COLLATE 'macce_general_nopad_ci'; 9063INSERT INTO t2 VALUES ('abc '),('abc '),(' a'),('a '); 9064SELECT HEX(a),a FROM (SELECT * FROM t1 UNION SELECT * FROM t2 ORDER BY a) td; 9065HEX(a) a 90662061 a 9067206120 a 90686120 a 906961202020 a 9070616263 abc 907161626320 abc 90726162632020 abc 9073DROP TABLE t1; 9074DROP TABLE t2; 9075# 9076# DISTINCT, COUNT, MAX 9077# 9078CREATE TABLE t1 (a VARCHAR(10)) COLLATE 'macce_general_nopad_ci'; 9079INSERT INTO t1 VALUES ('a'),('a '),(' a'),(' a '),('a '); 9080SELECT HEX(a), a FROM (SELECT DISTINCT a FROM t1 ORDER BY a) td; 9081HEX(a) a 90822061 a 9083206120 a 908461 a 9085612020 a 908661202020 a 9087SELECT COUNT(DISTINCT a) FROM t1 ORDER BY a; 9088COUNT(DISTINCT a) 90895 9090SELECT HEX(MAX(a)), MAX(a) FROM t1; 9091HEX(MAX(a)) MAX(a) 909261202020 a 9093# 9094# GROUP BY 9095# 9096CREATE TABLE t2 (a VARCHAR(10), b int, c varchar(10)) COLLATE 'macce_general_nopad_ci'; 9097INSERT t2 values('ab', 12, 'cd'), ('ab', 2, 'ed'), ('aa', 20, 'er'), ('aa ', 0, 'er '); 9098SELECT HEX(a), cnt FROM (SELECT a, COUNT(a) AS cnt FROM t2 GROUP BY a ORDER BY a) AS td; 9099HEX(a) cnt 91006161 1 910161612020 1 91026162 2 9103DROP TABLE t2; 9104# 9105# Weights 9106# 9107SELECT HEX(WEIGHT_STRING(a AS CHAR(10))) FROM t1; 9108HEX(WEIGHT_STRING(a AS CHAR(10))) 910941000000000000000000 911041202000000000000000 911120410000000000000000 911220412000000000000000 911341202020000000000000 9114DROP TABLE t1; 9115# 9116# IF, CASE, LEAST 9117# 9118SELECT IF('abc' COLLATE 'macce_general_nopad_ci' = 'abc ', 'pad', 'nopad'); 9119IF('abc' COLLATE 'macce_general_nopad_ci' = 'abc ', 'pad', 'nopad') 9120nopad 9121SELECT CASE 'abc' COLLATE 'macce_general_nopad_ci' WHEN 'abc ' THEN 'pad' ELSE 'nopad' END; 9122CASE 'abc' COLLATE 'macce_general_nopad_ci' WHEN 'abc ' THEN 'pad' ELSE 'nopad' END 9123nopad 9124SELECT CASE WHEN 'abc' COLLATE 'macce_general_nopad_ci' = 'abc ' THEN 'pad' ELSE 'nopad' END; 9125CASE WHEN 'abc' COLLATE 'macce_general_nopad_ci' = 'abc ' THEN 'pad' ELSE 'nopad' END 9126nopad 9127SELECT HEX(LEAST('abc ' COLLATE 'macce_general_nopad_ci', 'abc ')); 9128HEX(LEAST('abc ' COLLATE 'macce_general_nopad_ci', 'abc ')) 912961626320 9130SELECT HEX(GREATEST('abc ' COLLATE 'macce_general_nopad_ci', 'abc ')); 9131HEX(GREATEST('abc ' COLLATE 'macce_general_nopad_ci', 'abc ')) 91326162632020 9133# 9134# Collation mix 9135# 9136CREATE TABLE t1 (a VARCHAR(10)) COLLATE 'macce_general_ci'; 9137INSERT INTO t1 VALUES ('a'),('a '); 9138SELECT COUNT(*) FROM t1 WHERE a='a'; 9139COUNT(*) 91402 9141SELECT COUNT(*) FROM t1 WHERE a='a' COLLATE 'macce_general_ci'; 9142COUNT(*) 91432 9144SELECT COUNT(*) FROM t1 WHERE a='a' COLLATE 'macce_general_nopad_ci'; 9145COUNT(*) 91461 9147ALTER TABLE t1 MODIFY a VARCHAR(10) COLLATE 'macce_general_nopad_ci'; 9148SELECT COUNT(*) FROM t1 WHERE a='a'; 9149COUNT(*) 91501 9151SELECT COUNT(*) FROM t1 WHERE a='a' COLLATE 'macce_general_ci'; 9152COUNT(*) 91532 9154SELECT COUNT(*) FROM t1 WHERE a='a' COLLATE 'macce_general_nopad_ci'; 9155COUNT(*) 91561 9157DROP TABLE t1; 9158# 9159# End of ctype_pad.inc 9160# 9161SET DEFAULT_STORAGE_ENGINE=Default; 9162SET DEFAULT_STORAGE_ENGINE=MyISAM; 9163# 9164# Start of ctype_pad.inc 9165# 9166# 9167# Unique indexes 9168# 9169CREATE TABLE t1 (a VARCHAR(10) PRIMARY KEY) COLLATE 'macce_nopad_bin'; 9170SHOW CREATE TABLE t1; 9171Table Create Table 9172t1 CREATE TABLE `t1` ( 9173 `a` varchar(10) COLLATE macce_nopad_bin NOT NULL, 9174 PRIMARY KEY (`a`) 9175) ENGINE=MyISAM DEFAULT CHARSET=macce COLLATE=macce_nopad_bin 9176INSERT INTO t1 VALUES ('abc'),('abc '),(' a'),(' a '),('a '); 9177SELECT HEX(a), a FROM t1 ORDER BY a; 9178HEX(a) a 91792061 a 9180206120 a 918161202020 a 9182616263 abc 91836162632020 abc 9184SELECT HEX(a), a FROM t1 IGNORE INDEX(PRIMARY) ORDER BY a; 9185HEX(a) a 91862061 a 9187206120 a 918861202020 a 9189616263 abc 91906162632020 abc 9191SELECT HEX(a), a FROM t1 IGNORE INDEX(PRIMARY) ORDER BY a DESC; 9192HEX(a) a 91936162632020 abc 9194616263 abc 919561202020 a 9196206120 a 91972061 a 9198# 9199# UNION 9200# 9201CREATE TABLE t2 (a VARCHAR(10)) COLLATE 'macce_nopad_bin'; 9202INSERT INTO t2 VALUES ('abc '),('abc '),(' a'),('a '); 9203SELECT HEX(a),a FROM (SELECT * FROM t1 UNION SELECT * FROM t2 ORDER BY a) td; 9204HEX(a) a 92052061 a 9206206120 a 92076120 a 920861202020 a 9209616263 abc 921061626320 abc 92116162632020 abc 9212DROP TABLE t1; 9213DROP TABLE t2; 9214# 9215# DISTINCT, COUNT, MAX 9216# 9217CREATE TABLE t1 (a VARCHAR(10)) COLLATE 'macce_nopad_bin'; 9218INSERT INTO t1 VALUES ('a'),('a '),(' a'),(' a '),('a '); 9219SELECT HEX(a), a FROM (SELECT DISTINCT a FROM t1 ORDER BY a) td; 9220HEX(a) a 92212061 a 9222206120 a 922361 a 9224612020 a 922561202020 a 9226SELECT COUNT(DISTINCT a) FROM t1 ORDER BY a; 9227COUNT(DISTINCT a) 92285 9229SELECT HEX(MAX(a)), MAX(a) FROM t1; 9230HEX(MAX(a)) MAX(a) 923161202020 a 9232# 9233# GROUP BY 9234# 9235CREATE TABLE t2 (a VARCHAR(10), b int, c varchar(10)) COLLATE 'macce_nopad_bin'; 9236INSERT t2 values('ab', 12, 'cd'), ('ab', 2, 'ed'), ('aa', 20, 'er'), ('aa ', 0, 'er '); 9237SELECT HEX(a), cnt FROM (SELECT a, COUNT(a) AS cnt FROM t2 GROUP BY a ORDER BY a) AS td; 9238HEX(a) cnt 92396161 1 924061612020 1 92416162 2 9242DROP TABLE t2; 9243# 9244# Weights 9245# 9246SELECT HEX(WEIGHT_STRING(a AS CHAR(10))) FROM t1; 9247HEX(WEIGHT_STRING(a AS CHAR(10))) 924861000000000000000000 924961202000000000000000 925020610000000000000000 925120612000000000000000 925261202020000000000000 9253DROP TABLE t1; 9254# 9255# IF, CASE, LEAST 9256# 9257SELECT IF('abc' COLLATE 'macce_nopad_bin' = 'abc ', 'pad', 'nopad'); 9258IF('abc' COLLATE 'macce_nopad_bin' = 'abc ', 'pad', 'nopad') 9259nopad 9260SELECT CASE 'abc' COLLATE 'macce_nopad_bin' WHEN 'abc ' THEN 'pad' ELSE 'nopad' END; 9261CASE 'abc' COLLATE 'macce_nopad_bin' WHEN 'abc ' THEN 'pad' ELSE 'nopad' END 9262nopad 9263SELECT CASE WHEN 'abc' COLLATE 'macce_nopad_bin' = 'abc ' THEN 'pad' ELSE 'nopad' END; 9264CASE WHEN 'abc' COLLATE 'macce_nopad_bin' = 'abc ' THEN 'pad' ELSE 'nopad' END 9265nopad 9266SELECT HEX(LEAST('abc ' COLLATE 'macce_nopad_bin', 'abc ')); 9267HEX(LEAST('abc ' COLLATE 'macce_nopad_bin', 'abc ')) 926861626320 9269SELECT HEX(GREATEST('abc ' COLLATE 'macce_nopad_bin', 'abc ')); 9270HEX(GREATEST('abc ' COLLATE 'macce_nopad_bin', 'abc ')) 92716162632020 9272# 9273# Collation mix 9274# 9275CREATE TABLE t1 (a VARCHAR(10)) COLLATE 'macce_bin'; 9276INSERT INTO t1 VALUES ('a'),('a '); 9277SELECT COUNT(*) FROM t1 WHERE a='a'; 9278COUNT(*) 92792 9280SELECT COUNT(*) FROM t1 WHERE a='a' COLLATE 'macce_bin'; 9281COUNT(*) 92822 9283SELECT COUNT(*) FROM t1 WHERE a='a' COLLATE 'macce_nopad_bin'; 9284COUNT(*) 92851 9286ALTER TABLE t1 MODIFY a VARCHAR(10) COLLATE 'macce_nopad_bin'; 9287SELECT COUNT(*) FROM t1 WHERE a='a'; 9288COUNT(*) 92891 9290SELECT COUNT(*) FROM t1 WHERE a='a' COLLATE 'macce_bin'; 9291COUNT(*) 92922 9293SELECT COUNT(*) FROM t1 WHERE a='a' COLLATE 'macce_nopad_bin'; 9294COUNT(*) 92951 9296DROP TABLE t1; 9297# 9298# End of ctype_pad.inc 9299# 9300SET DEFAULT_STORAGE_ENGINE=HEAP; 9301# 9302# Start of ctype_pad.inc 9303# 9304# 9305# Unique indexes 9306# 9307CREATE TABLE t1 (a VARCHAR(10) PRIMARY KEY) COLLATE 'macce_nopad_bin'; 9308SHOW CREATE TABLE t1; 9309Table Create Table 9310t1 CREATE TABLE `t1` ( 9311 `a` varchar(10) COLLATE macce_nopad_bin NOT NULL, 9312 PRIMARY KEY (`a`) 9313) ENGINE=MEMORY DEFAULT CHARSET=macce COLLATE=macce_nopad_bin 9314INSERT INTO t1 VALUES ('abc'),('abc '),(' a'),(' a '),('a '); 9315SELECT HEX(a), a FROM t1 ORDER BY a; 9316HEX(a) a 93172061 a 9318206120 a 931961202020 a 9320616263 abc 93216162632020 abc 9322SELECT HEX(a), a FROM t1 IGNORE INDEX(PRIMARY) ORDER BY a; 9323HEX(a) a 93242061 a 9325206120 a 932661202020 a 9327616263 abc 93286162632020 abc 9329SELECT HEX(a), a FROM t1 IGNORE INDEX(PRIMARY) ORDER BY a DESC; 9330HEX(a) a 93316162632020 abc 9332616263 abc 933361202020 a 9334206120 a 93352061 a 9336# 9337# UNION 9338# 9339CREATE TABLE t2 (a VARCHAR(10)) COLLATE 'macce_nopad_bin'; 9340INSERT INTO t2 VALUES ('abc '),('abc '),(' a'),('a '); 9341SELECT HEX(a),a FROM (SELECT * FROM t1 UNION SELECT * FROM t2 ORDER BY a) td; 9342HEX(a) a 93432061 a 9344206120 a 93456120 a 934661202020 a 9347616263 abc 934861626320 abc 93496162632020 abc 9350DROP TABLE t1; 9351DROP TABLE t2; 9352# 9353# DISTINCT, COUNT, MAX 9354# 9355CREATE TABLE t1 (a VARCHAR(10)) COLLATE 'macce_nopad_bin'; 9356INSERT INTO t1 VALUES ('a'),('a '),(' a'),(' a '),('a '); 9357SELECT HEX(a), a FROM (SELECT DISTINCT a FROM t1 ORDER BY a) td; 9358HEX(a) a 93592061 a 9360206120 a 936161 a 9362612020 a 936361202020 a 9364SELECT COUNT(DISTINCT a) FROM t1 ORDER BY a; 9365COUNT(DISTINCT a) 93665 9367SELECT HEX(MAX(a)), MAX(a) FROM t1; 9368HEX(MAX(a)) MAX(a) 936961202020 a 9370# 9371# GROUP BY 9372# 9373CREATE TABLE t2 (a VARCHAR(10), b int, c varchar(10)) COLLATE 'macce_nopad_bin'; 9374INSERT t2 values('ab', 12, 'cd'), ('ab', 2, 'ed'), ('aa', 20, 'er'), ('aa ', 0, 'er '); 9375SELECT HEX(a), cnt FROM (SELECT a, COUNT(a) AS cnt FROM t2 GROUP BY a ORDER BY a) AS td; 9376HEX(a) cnt 93776161 1 937861612020 1 93796162 2 9380DROP TABLE t2; 9381# 9382# Weights 9383# 9384SELECT HEX(WEIGHT_STRING(a AS CHAR(10))) FROM t1; 9385HEX(WEIGHT_STRING(a AS CHAR(10))) 938661000000000000000000 938761202000000000000000 938820610000000000000000 938920612000000000000000 939061202020000000000000 9391DROP TABLE t1; 9392# 9393# IF, CASE, LEAST 9394# 9395SELECT IF('abc' COLLATE 'macce_nopad_bin' = 'abc ', 'pad', 'nopad'); 9396IF('abc' COLLATE 'macce_nopad_bin' = 'abc ', 'pad', 'nopad') 9397nopad 9398SELECT CASE 'abc' COLLATE 'macce_nopad_bin' WHEN 'abc ' THEN 'pad' ELSE 'nopad' END; 9399CASE 'abc' COLLATE 'macce_nopad_bin' WHEN 'abc ' THEN 'pad' ELSE 'nopad' END 9400nopad 9401SELECT CASE WHEN 'abc' COLLATE 'macce_nopad_bin' = 'abc ' THEN 'pad' ELSE 'nopad' END; 9402CASE WHEN 'abc' COLLATE 'macce_nopad_bin' = 'abc ' THEN 'pad' ELSE 'nopad' END 9403nopad 9404SELECT HEX(LEAST('abc ' COLLATE 'macce_nopad_bin', 'abc ')); 9405HEX(LEAST('abc ' COLLATE 'macce_nopad_bin', 'abc ')) 940661626320 9407SELECT HEX(GREATEST('abc ' COLLATE 'macce_nopad_bin', 'abc ')); 9408HEX(GREATEST('abc ' COLLATE 'macce_nopad_bin', 'abc ')) 94096162632020 9410# 9411# Collation mix 9412# 9413CREATE TABLE t1 (a VARCHAR(10)) COLLATE 'macce_bin'; 9414INSERT INTO t1 VALUES ('a'),('a '); 9415SELECT COUNT(*) FROM t1 WHERE a='a'; 9416COUNT(*) 94172 9418SELECT COUNT(*) FROM t1 WHERE a='a' COLLATE 'macce_bin'; 9419COUNT(*) 94202 9421SELECT COUNT(*) FROM t1 WHERE a='a' COLLATE 'macce_nopad_bin'; 9422COUNT(*) 94231 9424ALTER TABLE t1 MODIFY a VARCHAR(10) COLLATE 'macce_nopad_bin'; 9425SELECT COUNT(*) FROM t1 WHERE a='a'; 9426COUNT(*) 94271 9428SELECT COUNT(*) FROM t1 WHERE a='a' COLLATE 'macce_bin'; 9429COUNT(*) 94302 9431SELECT COUNT(*) FROM t1 WHERE a='a' COLLATE 'macce_nopad_bin'; 9432COUNT(*) 94331 9434DROP TABLE t1; 9435# 9436# End of ctype_pad.inc 9437# 9438SET DEFAULT_STORAGE_ENGINE=Default; 9439SET character_set_connection=macroman; 9440SET DEFAULT_STORAGE_ENGINE=MyISAM; 9441# 9442# Start of ctype_pad.inc 9443# 9444# 9445# Unique indexes 9446# 9447CREATE TABLE t1 (a VARCHAR(10) PRIMARY KEY) COLLATE 'macroman_general_nopad_ci'; 9448SHOW CREATE TABLE t1; 9449Table Create Table 9450t1 CREATE TABLE `t1` ( 9451 `a` varchar(10) COLLATE macroman_general_nopad_ci NOT NULL, 9452 PRIMARY KEY (`a`) 9453) ENGINE=MyISAM DEFAULT CHARSET=macroman COLLATE=macroman_general_nopad_ci 9454INSERT INTO t1 VALUES ('abc'),('abc '),(' a'),(' a '),('a '); 9455SELECT HEX(a), a FROM t1 ORDER BY a; 9456HEX(a) a 94572061 a 9458206120 a 945961202020 a 9460616263 abc 94616162632020 abc 9462SELECT HEX(a), a FROM t1 IGNORE INDEX(PRIMARY) ORDER BY a; 9463HEX(a) a 94642061 a 9465206120 a 946661202020 a 9467616263 abc 94686162632020 abc 9469SELECT HEX(a), a FROM t1 IGNORE INDEX(PRIMARY) ORDER BY a DESC; 9470HEX(a) a 94716162632020 abc 9472616263 abc 947361202020 a 9474206120 a 94752061 a 9476# 9477# UNION 9478# 9479CREATE TABLE t2 (a VARCHAR(10)) COLLATE 'macroman_general_nopad_ci'; 9480INSERT INTO t2 VALUES ('abc '),('abc '),(' a'),('a '); 9481SELECT HEX(a),a FROM (SELECT * FROM t1 UNION SELECT * FROM t2 ORDER BY a) td; 9482HEX(a) a 94832061 a 9484206120 a 94856120 a 948661202020 a 9487616263 abc 948861626320 abc 94896162632020 abc 9490DROP TABLE t1; 9491DROP TABLE t2; 9492# 9493# DISTINCT, COUNT, MAX 9494# 9495CREATE TABLE t1 (a VARCHAR(10)) COLLATE 'macroman_general_nopad_ci'; 9496INSERT INTO t1 VALUES ('a'),('a '),(' a'),(' a '),('a '); 9497SELECT HEX(a), a FROM (SELECT DISTINCT a FROM t1 ORDER BY a) td; 9498HEX(a) a 94992061 a 9500206120 a 950161 a 9502612020 a 950361202020 a 9504SELECT COUNT(DISTINCT a) FROM t1 ORDER BY a; 9505COUNT(DISTINCT a) 95065 9507SELECT HEX(MAX(a)), MAX(a) FROM t1; 9508HEX(MAX(a)) MAX(a) 950961202020 a 9510# 9511# GROUP BY 9512# 9513CREATE TABLE t2 (a VARCHAR(10), b int, c varchar(10)) COLLATE 'macroman_general_nopad_ci'; 9514INSERT t2 values('ab', 12, 'cd'), ('ab', 2, 'ed'), ('aa', 20, 'er'), ('aa ', 0, 'er '); 9515SELECT HEX(a), cnt FROM (SELECT a, COUNT(a) AS cnt FROM t2 GROUP BY a ORDER BY a) AS td; 9516HEX(a) cnt 95176161 1 951861612020 1 95196162 2 9520DROP TABLE t2; 9521# 9522# Weights 9523# 9524SELECT HEX(WEIGHT_STRING(a AS CHAR(10))) FROM t1; 9525HEX(WEIGHT_STRING(a AS CHAR(10))) 952641000000000000000000 952741202000000000000000 952820410000000000000000 952920412000000000000000 953041202020000000000000 9531DROP TABLE t1; 9532# 9533# IF, CASE, LEAST 9534# 9535SELECT IF('abc' COLLATE 'macroman_general_nopad_ci' = 'abc ', 'pad', 'nopad'); 9536IF('abc' COLLATE 'macroman_general_nopad_ci' = 'abc ', 'pad', 'nopad') 9537nopad 9538SELECT CASE 'abc' COLLATE 'macroman_general_nopad_ci' WHEN 'abc ' THEN 'pad' ELSE 'nopad' END; 9539CASE 'abc' COLLATE 'macroman_general_nopad_ci' WHEN 'abc ' THEN 'pad' ELSE 'nopad' END 9540nopad 9541SELECT CASE WHEN 'abc' COLLATE 'macroman_general_nopad_ci' = 'abc ' THEN 'pad' ELSE 'nopad' END; 9542CASE WHEN 'abc' COLLATE 'macroman_general_nopad_ci' = 'abc ' THEN 'pad' ELSE 'nopad' END 9543nopad 9544SELECT HEX(LEAST('abc ' COLLATE 'macroman_general_nopad_ci', 'abc ')); 9545HEX(LEAST('abc ' COLLATE 'macroman_general_nopad_ci', 'abc ')) 954661626320 9547SELECT HEX(GREATEST('abc ' COLLATE 'macroman_general_nopad_ci', 'abc ')); 9548HEX(GREATEST('abc ' COLLATE 'macroman_general_nopad_ci', 'abc ')) 95496162632020 9550# 9551# Collation mix 9552# 9553CREATE TABLE t1 (a VARCHAR(10)) COLLATE 'macroman_general_ci'; 9554INSERT INTO t1 VALUES ('a'),('a '); 9555SELECT COUNT(*) FROM t1 WHERE a='a'; 9556COUNT(*) 95572 9558SELECT COUNT(*) FROM t1 WHERE a='a' COLLATE 'macroman_general_ci'; 9559COUNT(*) 95602 9561SELECT COUNT(*) FROM t1 WHERE a='a' COLLATE 'macroman_general_nopad_ci'; 9562COUNT(*) 95631 9564ALTER TABLE t1 MODIFY a VARCHAR(10) COLLATE 'macroman_general_nopad_ci'; 9565SELECT COUNT(*) FROM t1 WHERE a='a'; 9566COUNT(*) 95671 9568SELECT COUNT(*) FROM t1 WHERE a='a' COLLATE 'macroman_general_ci'; 9569COUNT(*) 95702 9571SELECT COUNT(*) FROM t1 WHERE a='a' COLLATE 'macroman_general_nopad_ci'; 9572COUNT(*) 95731 9574DROP TABLE t1; 9575# 9576# End of ctype_pad.inc 9577# 9578SET DEFAULT_STORAGE_ENGINE=HEAP; 9579# 9580# Start of ctype_pad.inc 9581# 9582# 9583# Unique indexes 9584# 9585CREATE TABLE t1 (a VARCHAR(10) PRIMARY KEY) COLLATE 'macroman_general_nopad_ci'; 9586SHOW CREATE TABLE t1; 9587Table Create Table 9588t1 CREATE TABLE `t1` ( 9589 `a` varchar(10) COLLATE macroman_general_nopad_ci NOT NULL, 9590 PRIMARY KEY (`a`) 9591) ENGINE=MEMORY DEFAULT CHARSET=macroman COLLATE=macroman_general_nopad_ci 9592INSERT INTO t1 VALUES ('abc'),('abc '),(' a'),(' a '),('a '); 9593SELECT HEX(a), a FROM t1 ORDER BY a; 9594HEX(a) a 95952061 a 9596206120 a 959761202020 a 9598616263 abc 95996162632020 abc 9600SELECT HEX(a), a FROM t1 IGNORE INDEX(PRIMARY) ORDER BY a; 9601HEX(a) a 96022061 a 9603206120 a 960461202020 a 9605616263 abc 96066162632020 abc 9607SELECT HEX(a), a FROM t1 IGNORE INDEX(PRIMARY) ORDER BY a DESC; 9608HEX(a) a 96096162632020 abc 9610616263 abc 961161202020 a 9612206120 a 96132061 a 9614# 9615# UNION 9616# 9617CREATE TABLE t2 (a VARCHAR(10)) COLLATE 'macroman_general_nopad_ci'; 9618INSERT INTO t2 VALUES ('abc '),('abc '),(' a'),('a '); 9619SELECT HEX(a),a FROM (SELECT * FROM t1 UNION SELECT * FROM t2 ORDER BY a) td; 9620HEX(a) a 96212061 a 9622206120 a 96236120 a 962461202020 a 9625616263 abc 962661626320 abc 96276162632020 abc 9628DROP TABLE t1; 9629DROP TABLE t2; 9630# 9631# DISTINCT, COUNT, MAX 9632# 9633CREATE TABLE t1 (a VARCHAR(10)) COLLATE 'macroman_general_nopad_ci'; 9634INSERT INTO t1 VALUES ('a'),('a '),(' a'),(' a '),('a '); 9635SELECT HEX(a), a FROM (SELECT DISTINCT a FROM t1 ORDER BY a) td; 9636HEX(a) a 96372061 a 9638206120 a 963961 a 9640612020 a 964161202020 a 9642SELECT COUNT(DISTINCT a) FROM t1 ORDER BY a; 9643COUNT(DISTINCT a) 96445 9645SELECT HEX(MAX(a)), MAX(a) FROM t1; 9646HEX(MAX(a)) MAX(a) 964761202020 a 9648# 9649# GROUP BY 9650# 9651CREATE TABLE t2 (a VARCHAR(10), b int, c varchar(10)) COLLATE 'macroman_general_nopad_ci'; 9652INSERT t2 values('ab', 12, 'cd'), ('ab', 2, 'ed'), ('aa', 20, 'er'), ('aa ', 0, 'er '); 9653SELECT HEX(a), cnt FROM (SELECT a, COUNT(a) AS cnt FROM t2 GROUP BY a ORDER BY a) AS td; 9654HEX(a) cnt 96556161 1 965661612020 1 96576162 2 9658DROP TABLE t2; 9659# 9660# Weights 9661# 9662SELECT HEX(WEIGHT_STRING(a AS CHAR(10))) FROM t1; 9663HEX(WEIGHT_STRING(a AS CHAR(10))) 966441000000000000000000 966541202000000000000000 966620410000000000000000 966720412000000000000000 966841202020000000000000 9669DROP TABLE t1; 9670# 9671# IF, CASE, LEAST 9672# 9673SELECT IF('abc' COLLATE 'macroman_general_nopad_ci' = 'abc ', 'pad', 'nopad'); 9674IF('abc' COLLATE 'macroman_general_nopad_ci' = 'abc ', 'pad', 'nopad') 9675nopad 9676SELECT CASE 'abc' COLLATE 'macroman_general_nopad_ci' WHEN 'abc ' THEN 'pad' ELSE 'nopad' END; 9677CASE 'abc' COLLATE 'macroman_general_nopad_ci' WHEN 'abc ' THEN 'pad' ELSE 'nopad' END 9678nopad 9679SELECT CASE WHEN 'abc' COLLATE 'macroman_general_nopad_ci' = 'abc ' THEN 'pad' ELSE 'nopad' END; 9680CASE WHEN 'abc' COLLATE 'macroman_general_nopad_ci' = 'abc ' THEN 'pad' ELSE 'nopad' END 9681nopad 9682SELECT HEX(LEAST('abc ' COLLATE 'macroman_general_nopad_ci', 'abc ')); 9683HEX(LEAST('abc ' COLLATE 'macroman_general_nopad_ci', 'abc ')) 968461626320 9685SELECT HEX(GREATEST('abc ' COLLATE 'macroman_general_nopad_ci', 'abc ')); 9686HEX(GREATEST('abc ' COLLATE 'macroman_general_nopad_ci', 'abc ')) 96876162632020 9688# 9689# Collation mix 9690# 9691CREATE TABLE t1 (a VARCHAR(10)) COLLATE 'macroman_general_ci'; 9692INSERT INTO t1 VALUES ('a'),('a '); 9693SELECT COUNT(*) FROM t1 WHERE a='a'; 9694COUNT(*) 96952 9696SELECT COUNT(*) FROM t1 WHERE a='a' COLLATE 'macroman_general_ci'; 9697COUNT(*) 96982 9699SELECT COUNT(*) FROM t1 WHERE a='a' COLLATE 'macroman_general_nopad_ci'; 9700COUNT(*) 97011 9702ALTER TABLE t1 MODIFY a VARCHAR(10) COLLATE 'macroman_general_nopad_ci'; 9703SELECT COUNT(*) FROM t1 WHERE a='a'; 9704COUNT(*) 97051 9706SELECT COUNT(*) FROM t1 WHERE a='a' COLLATE 'macroman_general_ci'; 9707COUNT(*) 97082 9709SELECT COUNT(*) FROM t1 WHERE a='a' COLLATE 'macroman_general_nopad_ci'; 9710COUNT(*) 97111 9712DROP TABLE t1; 9713# 9714# End of ctype_pad.inc 9715# 9716SET DEFAULT_STORAGE_ENGINE=Default; 9717SET DEFAULT_STORAGE_ENGINE=MyISAM; 9718# 9719# Start of ctype_pad.inc 9720# 9721# 9722# Unique indexes 9723# 9724CREATE TABLE t1 (a VARCHAR(10) PRIMARY KEY) COLLATE 'macroman_nopad_bin'; 9725SHOW CREATE TABLE t1; 9726Table Create Table 9727t1 CREATE TABLE `t1` ( 9728 `a` varchar(10) COLLATE macroman_nopad_bin NOT NULL, 9729 PRIMARY KEY (`a`) 9730) ENGINE=MyISAM DEFAULT CHARSET=macroman COLLATE=macroman_nopad_bin 9731INSERT INTO t1 VALUES ('abc'),('abc '),(' a'),(' a '),('a '); 9732SELECT HEX(a), a FROM t1 ORDER BY a; 9733HEX(a) a 97342061 a 9735206120 a 973661202020 a 9737616263 abc 97386162632020 abc 9739SELECT HEX(a), a FROM t1 IGNORE INDEX(PRIMARY) ORDER BY a; 9740HEX(a) a 97412061 a 9742206120 a 974361202020 a 9744616263 abc 97456162632020 abc 9746SELECT HEX(a), a FROM t1 IGNORE INDEX(PRIMARY) ORDER BY a DESC; 9747HEX(a) a 97486162632020 abc 9749616263 abc 975061202020 a 9751206120 a 97522061 a 9753# 9754# UNION 9755# 9756CREATE TABLE t2 (a VARCHAR(10)) COLLATE 'macroman_nopad_bin'; 9757INSERT INTO t2 VALUES ('abc '),('abc '),(' a'),('a '); 9758SELECT HEX(a),a FROM (SELECT * FROM t1 UNION SELECT * FROM t2 ORDER BY a) td; 9759HEX(a) a 97602061 a 9761206120 a 97626120 a 976361202020 a 9764616263 abc 976561626320 abc 97666162632020 abc 9767DROP TABLE t1; 9768DROP TABLE t2; 9769# 9770# DISTINCT, COUNT, MAX 9771# 9772CREATE TABLE t1 (a VARCHAR(10)) COLLATE 'macroman_nopad_bin'; 9773INSERT INTO t1 VALUES ('a'),('a '),(' a'),(' a '),('a '); 9774SELECT HEX(a), a FROM (SELECT DISTINCT a FROM t1 ORDER BY a) td; 9775HEX(a) a 97762061 a 9777206120 a 977861 a 9779612020 a 978061202020 a 9781SELECT COUNT(DISTINCT a) FROM t1 ORDER BY a; 9782COUNT(DISTINCT a) 97835 9784SELECT HEX(MAX(a)), MAX(a) FROM t1; 9785HEX(MAX(a)) MAX(a) 978661202020 a 9787# 9788# GROUP BY 9789# 9790CREATE TABLE t2 (a VARCHAR(10), b int, c varchar(10)) COLLATE 'macroman_nopad_bin'; 9791INSERT t2 values('ab', 12, 'cd'), ('ab', 2, 'ed'), ('aa', 20, 'er'), ('aa ', 0, 'er '); 9792SELECT HEX(a), cnt FROM (SELECT a, COUNT(a) AS cnt FROM t2 GROUP BY a ORDER BY a) AS td; 9793HEX(a) cnt 97946161 1 979561612020 1 97966162 2 9797DROP TABLE t2; 9798# 9799# Weights 9800# 9801SELECT HEX(WEIGHT_STRING(a AS CHAR(10))) FROM t1; 9802HEX(WEIGHT_STRING(a AS CHAR(10))) 980361000000000000000000 980461202000000000000000 980520610000000000000000 980620612000000000000000 980761202020000000000000 9808DROP TABLE t1; 9809# 9810# IF, CASE, LEAST 9811# 9812SELECT IF('abc' COLLATE 'macroman_nopad_bin' = 'abc ', 'pad', 'nopad'); 9813IF('abc' COLLATE 'macroman_nopad_bin' = 'abc ', 'pad', 'nopad') 9814nopad 9815SELECT CASE 'abc' COLLATE 'macroman_nopad_bin' WHEN 'abc ' THEN 'pad' ELSE 'nopad' END; 9816CASE 'abc' COLLATE 'macroman_nopad_bin' WHEN 'abc ' THEN 'pad' ELSE 'nopad' END 9817nopad 9818SELECT CASE WHEN 'abc' COLLATE 'macroman_nopad_bin' = 'abc ' THEN 'pad' ELSE 'nopad' END; 9819CASE WHEN 'abc' COLLATE 'macroman_nopad_bin' = 'abc ' THEN 'pad' ELSE 'nopad' END 9820nopad 9821SELECT HEX(LEAST('abc ' COLLATE 'macroman_nopad_bin', 'abc ')); 9822HEX(LEAST('abc ' COLLATE 'macroman_nopad_bin', 'abc ')) 982361626320 9824SELECT HEX(GREATEST('abc ' COLLATE 'macroman_nopad_bin', 'abc ')); 9825HEX(GREATEST('abc ' COLLATE 'macroman_nopad_bin', 'abc ')) 98266162632020 9827# 9828# Collation mix 9829# 9830CREATE TABLE t1 (a VARCHAR(10)) COLLATE 'macroman_bin'; 9831INSERT INTO t1 VALUES ('a'),('a '); 9832SELECT COUNT(*) FROM t1 WHERE a='a'; 9833COUNT(*) 98342 9835SELECT COUNT(*) FROM t1 WHERE a='a' COLLATE 'macroman_bin'; 9836COUNT(*) 98372 9838SELECT COUNT(*) FROM t1 WHERE a='a' COLLATE 'macroman_nopad_bin'; 9839COUNT(*) 98401 9841ALTER TABLE t1 MODIFY a VARCHAR(10) COLLATE 'macroman_nopad_bin'; 9842SELECT COUNT(*) FROM t1 WHERE a='a'; 9843COUNT(*) 98441 9845SELECT COUNT(*) FROM t1 WHERE a='a' COLLATE 'macroman_bin'; 9846COUNT(*) 98472 9848SELECT COUNT(*) FROM t1 WHERE a='a' COLLATE 'macroman_nopad_bin'; 9849COUNT(*) 98501 9851DROP TABLE t1; 9852# 9853# End of ctype_pad.inc 9854# 9855SET DEFAULT_STORAGE_ENGINE=HEAP; 9856# 9857# Start of ctype_pad.inc 9858# 9859# 9860# Unique indexes 9861# 9862CREATE TABLE t1 (a VARCHAR(10) PRIMARY KEY) COLLATE 'macroman_nopad_bin'; 9863SHOW CREATE TABLE t1; 9864Table Create Table 9865t1 CREATE TABLE `t1` ( 9866 `a` varchar(10) COLLATE macroman_nopad_bin NOT NULL, 9867 PRIMARY KEY (`a`) 9868) ENGINE=MEMORY DEFAULT CHARSET=macroman COLLATE=macroman_nopad_bin 9869INSERT INTO t1 VALUES ('abc'),('abc '),(' a'),(' a '),('a '); 9870SELECT HEX(a), a FROM t1 ORDER BY a; 9871HEX(a) a 98722061 a 9873206120 a 987461202020 a 9875616263 abc 98766162632020 abc 9877SELECT HEX(a), a FROM t1 IGNORE INDEX(PRIMARY) ORDER BY a; 9878HEX(a) a 98792061 a 9880206120 a 988161202020 a 9882616263 abc 98836162632020 abc 9884SELECT HEX(a), a FROM t1 IGNORE INDEX(PRIMARY) ORDER BY a DESC; 9885HEX(a) a 98866162632020 abc 9887616263 abc 988861202020 a 9889206120 a 98902061 a 9891# 9892# UNION 9893# 9894CREATE TABLE t2 (a VARCHAR(10)) COLLATE 'macroman_nopad_bin'; 9895INSERT INTO t2 VALUES ('abc '),('abc '),(' a'),('a '); 9896SELECT HEX(a),a FROM (SELECT * FROM t1 UNION SELECT * FROM t2 ORDER BY a) td; 9897HEX(a) a 98982061 a 9899206120 a 99006120 a 990161202020 a 9902616263 abc 990361626320 abc 99046162632020 abc 9905DROP TABLE t1; 9906DROP TABLE t2; 9907# 9908# DISTINCT, COUNT, MAX 9909# 9910CREATE TABLE t1 (a VARCHAR(10)) COLLATE 'macroman_nopad_bin'; 9911INSERT INTO t1 VALUES ('a'),('a '),(' a'),(' a '),('a '); 9912SELECT HEX(a), a FROM (SELECT DISTINCT a FROM t1 ORDER BY a) td; 9913HEX(a) a 99142061 a 9915206120 a 991661 a 9917612020 a 991861202020 a 9919SELECT COUNT(DISTINCT a) FROM t1 ORDER BY a; 9920COUNT(DISTINCT a) 99215 9922SELECT HEX(MAX(a)), MAX(a) FROM t1; 9923HEX(MAX(a)) MAX(a) 992461202020 a 9925# 9926# GROUP BY 9927# 9928CREATE TABLE t2 (a VARCHAR(10), b int, c varchar(10)) COLLATE 'macroman_nopad_bin'; 9929INSERT t2 values('ab', 12, 'cd'), ('ab', 2, 'ed'), ('aa', 20, 'er'), ('aa ', 0, 'er '); 9930SELECT HEX(a), cnt FROM (SELECT a, COUNT(a) AS cnt FROM t2 GROUP BY a ORDER BY a) AS td; 9931HEX(a) cnt 99326161 1 993361612020 1 99346162 2 9935DROP TABLE t2; 9936# 9937# Weights 9938# 9939SELECT HEX(WEIGHT_STRING(a AS CHAR(10))) FROM t1; 9940HEX(WEIGHT_STRING(a AS CHAR(10))) 994161000000000000000000 994261202000000000000000 994320610000000000000000 994420612000000000000000 994561202020000000000000 9946DROP TABLE t1; 9947# 9948# IF, CASE, LEAST 9949# 9950SELECT IF('abc' COLLATE 'macroman_nopad_bin' = 'abc ', 'pad', 'nopad'); 9951IF('abc' COLLATE 'macroman_nopad_bin' = 'abc ', 'pad', 'nopad') 9952nopad 9953SELECT CASE 'abc' COLLATE 'macroman_nopad_bin' WHEN 'abc ' THEN 'pad' ELSE 'nopad' END; 9954CASE 'abc' COLLATE 'macroman_nopad_bin' WHEN 'abc ' THEN 'pad' ELSE 'nopad' END 9955nopad 9956SELECT CASE WHEN 'abc' COLLATE 'macroman_nopad_bin' = 'abc ' THEN 'pad' ELSE 'nopad' END; 9957CASE WHEN 'abc' COLLATE 'macroman_nopad_bin' = 'abc ' THEN 'pad' ELSE 'nopad' END 9958nopad 9959SELECT HEX(LEAST('abc ' COLLATE 'macroman_nopad_bin', 'abc ')); 9960HEX(LEAST('abc ' COLLATE 'macroman_nopad_bin', 'abc ')) 996161626320 9962SELECT HEX(GREATEST('abc ' COLLATE 'macroman_nopad_bin', 'abc ')); 9963HEX(GREATEST('abc ' COLLATE 'macroman_nopad_bin', 'abc ')) 99646162632020 9965# 9966# Collation mix 9967# 9968CREATE TABLE t1 (a VARCHAR(10)) COLLATE 'macroman_bin'; 9969INSERT INTO t1 VALUES ('a'),('a '); 9970SELECT COUNT(*) FROM t1 WHERE a='a'; 9971COUNT(*) 99722 9973SELECT COUNT(*) FROM t1 WHERE a='a' COLLATE 'macroman_bin'; 9974COUNT(*) 99752 9976SELECT COUNT(*) FROM t1 WHERE a='a' COLLATE 'macroman_nopad_bin'; 9977COUNT(*) 99781 9979ALTER TABLE t1 MODIFY a VARCHAR(10) COLLATE 'macroman_nopad_bin'; 9980SELECT COUNT(*) FROM t1 WHERE a='a'; 9981COUNT(*) 99821 9983SELECT COUNT(*) FROM t1 WHERE a='a' COLLATE 'macroman_bin'; 9984COUNT(*) 99852 9986SELECT COUNT(*) FROM t1 WHERE a='a' COLLATE 'macroman_nopad_bin'; 9987COUNT(*) 99881 9989DROP TABLE t1; 9990# 9991# End of ctype_pad.inc 9992# 9993SET DEFAULT_STORAGE_ENGINE=Default; 9994SET character_set_connection=cp852; 9995SET DEFAULT_STORAGE_ENGINE=MyISAM; 9996# 9997# Start of ctype_pad.inc 9998# 9999# 10000# Unique indexes 10001# 10002CREATE TABLE t1 (a VARCHAR(10) PRIMARY KEY) COLLATE 'cp852_general_nopad_ci'; 10003SHOW CREATE TABLE t1; 10004Table Create Table 10005t1 CREATE TABLE `t1` ( 10006 `a` varchar(10) COLLATE cp852_general_nopad_ci NOT NULL, 10007 PRIMARY KEY (`a`) 10008) ENGINE=MyISAM DEFAULT CHARSET=cp852 COLLATE=cp852_general_nopad_ci 10009INSERT INTO t1 VALUES ('abc'),('abc '),(' a'),(' a '),('a '); 10010SELECT HEX(a), a FROM t1 ORDER BY a; 10011HEX(a) a 100122061 a 10013206120 a 1001461202020 a 10015616263 abc 100166162632020 abc 10017SELECT HEX(a), a FROM t1 IGNORE INDEX(PRIMARY) ORDER BY a; 10018HEX(a) a 100192061 a 10020206120 a 1002161202020 a 10022616263 abc 100236162632020 abc 10024SELECT HEX(a), a FROM t1 IGNORE INDEX(PRIMARY) ORDER BY a DESC; 10025HEX(a) a 100266162632020 abc 10027616263 abc 1002861202020 a 10029206120 a 100302061 a 10031# 10032# UNION 10033# 10034CREATE TABLE t2 (a VARCHAR(10)) COLLATE 'cp852_general_nopad_ci'; 10035INSERT INTO t2 VALUES ('abc '),('abc '),(' a'),('a '); 10036SELECT HEX(a),a FROM (SELECT * FROM t1 UNION SELECT * FROM t2 ORDER BY a) td; 10037HEX(a) a 100382061 a 10039206120 a 100406120 a 1004161202020 a 10042616263 abc 1004361626320 abc 100446162632020 abc 10045DROP TABLE t1; 10046DROP TABLE t2; 10047# 10048# DISTINCT, COUNT, MAX 10049# 10050CREATE TABLE t1 (a VARCHAR(10)) COLLATE 'cp852_general_nopad_ci'; 10051INSERT INTO t1 VALUES ('a'),('a '),(' a'),(' a '),('a '); 10052SELECT HEX(a), a FROM (SELECT DISTINCT a FROM t1 ORDER BY a) td; 10053HEX(a) a 100542061 a 10055206120 a 1005661 a 10057612020 a 1005861202020 a 10059SELECT COUNT(DISTINCT a) FROM t1 ORDER BY a; 10060COUNT(DISTINCT a) 100615 10062SELECT HEX(MAX(a)), MAX(a) FROM t1; 10063HEX(MAX(a)) MAX(a) 1006461202020 a 10065# 10066# GROUP BY 10067# 10068CREATE TABLE t2 (a VARCHAR(10), b int, c varchar(10)) COLLATE 'cp852_general_nopad_ci'; 10069INSERT t2 values('ab', 12, 'cd'), ('ab', 2, 'ed'), ('aa', 20, 'er'), ('aa ', 0, 'er '); 10070SELECT HEX(a), cnt FROM (SELECT a, COUNT(a) AS cnt FROM t2 GROUP BY a ORDER BY a) AS td; 10071HEX(a) cnt 100726161 1 1007361612020 1 100746162 2 10075DROP TABLE t2; 10076# 10077# Weights 10078# 10079SELECT HEX(WEIGHT_STRING(a AS CHAR(10))) FROM t1; 10080HEX(WEIGHT_STRING(a AS CHAR(10))) 1008141000000000000000000 1008241202000000000000000 1008320410000000000000000 1008420412000000000000000 1008541202020000000000000 10086DROP TABLE t1; 10087# 10088# IF, CASE, LEAST 10089# 10090SELECT IF('abc' COLLATE 'cp852_general_nopad_ci' = 'abc ', 'pad', 'nopad'); 10091IF('abc' COLLATE 'cp852_general_nopad_ci' = 'abc ', 'pad', 'nopad') 10092nopad 10093SELECT CASE 'abc' COLLATE 'cp852_general_nopad_ci' WHEN 'abc ' THEN 'pad' ELSE 'nopad' END; 10094CASE 'abc' COLLATE 'cp852_general_nopad_ci' WHEN 'abc ' THEN 'pad' ELSE 'nopad' END 10095nopad 10096SELECT CASE WHEN 'abc' COLLATE 'cp852_general_nopad_ci' = 'abc ' THEN 'pad' ELSE 'nopad' END; 10097CASE WHEN 'abc' COLLATE 'cp852_general_nopad_ci' = 'abc ' THEN 'pad' ELSE 'nopad' END 10098nopad 10099SELECT HEX(LEAST('abc ' COLLATE 'cp852_general_nopad_ci', 'abc ')); 10100HEX(LEAST('abc ' COLLATE 'cp852_general_nopad_ci', 'abc ')) 1010161626320 10102SELECT HEX(GREATEST('abc ' COLLATE 'cp852_general_nopad_ci', 'abc ')); 10103HEX(GREATEST('abc ' COLLATE 'cp852_general_nopad_ci', 'abc ')) 101046162632020 10105# 10106# Collation mix 10107# 10108CREATE TABLE t1 (a VARCHAR(10)) COLLATE 'cp852_general_ci'; 10109INSERT INTO t1 VALUES ('a'),('a '); 10110SELECT COUNT(*) FROM t1 WHERE a='a'; 10111COUNT(*) 101122 10113SELECT COUNT(*) FROM t1 WHERE a='a' COLLATE 'cp852_general_ci'; 10114COUNT(*) 101152 10116SELECT COUNT(*) FROM t1 WHERE a='a' COLLATE 'cp852_general_nopad_ci'; 10117COUNT(*) 101181 10119ALTER TABLE t1 MODIFY a VARCHAR(10) COLLATE 'cp852_general_nopad_ci'; 10120SELECT COUNT(*) FROM t1 WHERE a='a'; 10121COUNT(*) 101221 10123SELECT COUNT(*) FROM t1 WHERE a='a' COLLATE 'cp852_general_ci'; 10124COUNT(*) 101252 10126SELECT COUNT(*) FROM t1 WHERE a='a' COLLATE 'cp852_general_nopad_ci'; 10127COUNT(*) 101281 10129DROP TABLE t1; 10130# 10131# End of ctype_pad.inc 10132# 10133SET DEFAULT_STORAGE_ENGINE=HEAP; 10134# 10135# Start of ctype_pad.inc 10136# 10137# 10138# Unique indexes 10139# 10140CREATE TABLE t1 (a VARCHAR(10) PRIMARY KEY) COLLATE 'cp852_general_nopad_ci'; 10141SHOW CREATE TABLE t1; 10142Table Create Table 10143t1 CREATE TABLE `t1` ( 10144 `a` varchar(10) COLLATE cp852_general_nopad_ci NOT NULL, 10145 PRIMARY KEY (`a`) 10146) ENGINE=MEMORY DEFAULT CHARSET=cp852 COLLATE=cp852_general_nopad_ci 10147INSERT INTO t1 VALUES ('abc'),('abc '),(' a'),(' a '),('a '); 10148SELECT HEX(a), a FROM t1 ORDER BY a; 10149HEX(a) a 101502061 a 10151206120 a 1015261202020 a 10153616263 abc 101546162632020 abc 10155SELECT HEX(a), a FROM t1 IGNORE INDEX(PRIMARY) ORDER BY a; 10156HEX(a) a 101572061 a 10158206120 a 1015961202020 a 10160616263 abc 101616162632020 abc 10162SELECT HEX(a), a FROM t1 IGNORE INDEX(PRIMARY) ORDER BY a DESC; 10163HEX(a) a 101646162632020 abc 10165616263 abc 1016661202020 a 10167206120 a 101682061 a 10169# 10170# UNION 10171# 10172CREATE TABLE t2 (a VARCHAR(10)) COLLATE 'cp852_general_nopad_ci'; 10173INSERT INTO t2 VALUES ('abc '),('abc '),(' a'),('a '); 10174SELECT HEX(a),a FROM (SELECT * FROM t1 UNION SELECT * FROM t2 ORDER BY a) td; 10175HEX(a) a 101762061 a 10177206120 a 101786120 a 1017961202020 a 10180616263 abc 1018161626320 abc 101826162632020 abc 10183DROP TABLE t1; 10184DROP TABLE t2; 10185# 10186# DISTINCT, COUNT, MAX 10187# 10188CREATE TABLE t1 (a VARCHAR(10)) COLLATE 'cp852_general_nopad_ci'; 10189INSERT INTO t1 VALUES ('a'),('a '),(' a'),(' a '),('a '); 10190SELECT HEX(a), a FROM (SELECT DISTINCT a FROM t1 ORDER BY a) td; 10191HEX(a) a 101922061 a 10193206120 a 1019461 a 10195612020 a 1019661202020 a 10197SELECT COUNT(DISTINCT a) FROM t1 ORDER BY a; 10198COUNT(DISTINCT a) 101995 10200SELECT HEX(MAX(a)), MAX(a) FROM t1; 10201HEX(MAX(a)) MAX(a) 1020261202020 a 10203# 10204# GROUP BY 10205# 10206CREATE TABLE t2 (a VARCHAR(10), b int, c varchar(10)) COLLATE 'cp852_general_nopad_ci'; 10207INSERT t2 values('ab', 12, 'cd'), ('ab', 2, 'ed'), ('aa', 20, 'er'), ('aa ', 0, 'er '); 10208SELECT HEX(a), cnt FROM (SELECT a, COUNT(a) AS cnt FROM t2 GROUP BY a ORDER BY a) AS td; 10209HEX(a) cnt 102106161 1 1021161612020 1 102126162 2 10213DROP TABLE t2; 10214# 10215# Weights 10216# 10217SELECT HEX(WEIGHT_STRING(a AS CHAR(10))) FROM t1; 10218HEX(WEIGHT_STRING(a AS CHAR(10))) 1021941000000000000000000 1022041202000000000000000 1022120410000000000000000 1022220412000000000000000 1022341202020000000000000 10224DROP TABLE t1; 10225# 10226# IF, CASE, LEAST 10227# 10228SELECT IF('abc' COLLATE 'cp852_general_nopad_ci' = 'abc ', 'pad', 'nopad'); 10229IF('abc' COLLATE 'cp852_general_nopad_ci' = 'abc ', 'pad', 'nopad') 10230nopad 10231SELECT CASE 'abc' COLLATE 'cp852_general_nopad_ci' WHEN 'abc ' THEN 'pad' ELSE 'nopad' END; 10232CASE 'abc' COLLATE 'cp852_general_nopad_ci' WHEN 'abc ' THEN 'pad' ELSE 'nopad' END 10233nopad 10234SELECT CASE WHEN 'abc' COLLATE 'cp852_general_nopad_ci' = 'abc ' THEN 'pad' ELSE 'nopad' END; 10235CASE WHEN 'abc' COLLATE 'cp852_general_nopad_ci' = 'abc ' THEN 'pad' ELSE 'nopad' END 10236nopad 10237SELECT HEX(LEAST('abc ' COLLATE 'cp852_general_nopad_ci', 'abc ')); 10238HEX(LEAST('abc ' COLLATE 'cp852_general_nopad_ci', 'abc ')) 1023961626320 10240SELECT HEX(GREATEST('abc ' COLLATE 'cp852_general_nopad_ci', 'abc ')); 10241HEX(GREATEST('abc ' COLLATE 'cp852_general_nopad_ci', 'abc ')) 102426162632020 10243# 10244# Collation mix 10245# 10246CREATE TABLE t1 (a VARCHAR(10)) COLLATE 'cp852_general_ci'; 10247INSERT INTO t1 VALUES ('a'),('a '); 10248SELECT COUNT(*) FROM t1 WHERE a='a'; 10249COUNT(*) 102502 10251SELECT COUNT(*) FROM t1 WHERE a='a' COLLATE 'cp852_general_ci'; 10252COUNT(*) 102532 10254SELECT COUNT(*) FROM t1 WHERE a='a' COLLATE 'cp852_general_nopad_ci'; 10255COUNT(*) 102561 10257ALTER TABLE t1 MODIFY a VARCHAR(10) COLLATE 'cp852_general_nopad_ci'; 10258SELECT COUNT(*) FROM t1 WHERE a='a'; 10259COUNT(*) 102601 10261SELECT COUNT(*) FROM t1 WHERE a='a' COLLATE 'cp852_general_ci'; 10262COUNT(*) 102632 10264SELECT COUNT(*) FROM t1 WHERE a='a' COLLATE 'cp852_general_nopad_ci'; 10265COUNT(*) 102661 10267DROP TABLE t1; 10268# 10269# End of ctype_pad.inc 10270# 10271SET DEFAULT_STORAGE_ENGINE=Default; 10272SET DEFAULT_STORAGE_ENGINE=MyISAM; 10273# 10274# Start of ctype_pad.inc 10275# 10276# 10277# Unique indexes 10278# 10279CREATE TABLE t1 (a VARCHAR(10) PRIMARY KEY) COLLATE 'cp852_nopad_bin'; 10280SHOW CREATE TABLE t1; 10281Table Create Table 10282t1 CREATE TABLE `t1` ( 10283 `a` varchar(10) COLLATE cp852_nopad_bin NOT NULL, 10284 PRIMARY KEY (`a`) 10285) ENGINE=MyISAM DEFAULT CHARSET=cp852 COLLATE=cp852_nopad_bin 10286INSERT INTO t1 VALUES ('abc'),('abc '),(' a'),(' a '),('a '); 10287SELECT HEX(a), a FROM t1 ORDER BY a; 10288HEX(a) a 102892061 a 10290206120 a 1029161202020 a 10292616263 abc 102936162632020 abc 10294SELECT HEX(a), a FROM t1 IGNORE INDEX(PRIMARY) ORDER BY a; 10295HEX(a) a 102962061 a 10297206120 a 1029861202020 a 10299616263 abc 103006162632020 abc 10301SELECT HEX(a), a FROM t1 IGNORE INDEX(PRIMARY) ORDER BY a DESC; 10302HEX(a) a 103036162632020 abc 10304616263 abc 1030561202020 a 10306206120 a 103072061 a 10308# 10309# UNION 10310# 10311CREATE TABLE t2 (a VARCHAR(10)) COLLATE 'cp852_nopad_bin'; 10312INSERT INTO t2 VALUES ('abc '),('abc '),(' a'),('a '); 10313SELECT HEX(a),a FROM (SELECT * FROM t1 UNION SELECT * FROM t2 ORDER BY a) td; 10314HEX(a) a 103152061 a 10316206120 a 103176120 a 1031861202020 a 10319616263 abc 1032061626320 abc 103216162632020 abc 10322DROP TABLE t1; 10323DROP TABLE t2; 10324# 10325# DISTINCT, COUNT, MAX 10326# 10327CREATE TABLE t1 (a VARCHAR(10)) COLLATE 'cp852_nopad_bin'; 10328INSERT INTO t1 VALUES ('a'),('a '),(' a'),(' a '),('a '); 10329SELECT HEX(a), a FROM (SELECT DISTINCT a FROM t1 ORDER BY a) td; 10330HEX(a) a 103312061 a 10332206120 a 1033361 a 10334612020 a 1033561202020 a 10336SELECT COUNT(DISTINCT a) FROM t1 ORDER BY a; 10337COUNT(DISTINCT a) 103385 10339SELECT HEX(MAX(a)), MAX(a) FROM t1; 10340HEX(MAX(a)) MAX(a) 1034161202020 a 10342# 10343# GROUP BY 10344# 10345CREATE TABLE t2 (a VARCHAR(10), b int, c varchar(10)) COLLATE 'cp852_nopad_bin'; 10346INSERT t2 values('ab', 12, 'cd'), ('ab', 2, 'ed'), ('aa', 20, 'er'), ('aa ', 0, 'er '); 10347SELECT HEX(a), cnt FROM (SELECT a, COUNT(a) AS cnt FROM t2 GROUP BY a ORDER BY a) AS td; 10348HEX(a) cnt 103496161 1 1035061612020 1 103516162 2 10352DROP TABLE t2; 10353# 10354# Weights 10355# 10356SELECT HEX(WEIGHT_STRING(a AS CHAR(10))) FROM t1; 10357HEX(WEIGHT_STRING(a AS CHAR(10))) 1035861000000000000000000 1035961202000000000000000 1036020610000000000000000 1036120612000000000000000 1036261202020000000000000 10363DROP TABLE t1; 10364# 10365# IF, CASE, LEAST 10366# 10367SELECT IF('abc' COLLATE 'cp852_nopad_bin' = 'abc ', 'pad', 'nopad'); 10368IF('abc' COLLATE 'cp852_nopad_bin' = 'abc ', 'pad', 'nopad') 10369nopad 10370SELECT CASE 'abc' COLLATE 'cp852_nopad_bin' WHEN 'abc ' THEN 'pad' ELSE 'nopad' END; 10371CASE 'abc' COLLATE 'cp852_nopad_bin' WHEN 'abc ' THEN 'pad' ELSE 'nopad' END 10372nopad 10373SELECT CASE WHEN 'abc' COLLATE 'cp852_nopad_bin' = 'abc ' THEN 'pad' ELSE 'nopad' END; 10374CASE WHEN 'abc' COLLATE 'cp852_nopad_bin' = 'abc ' THEN 'pad' ELSE 'nopad' END 10375nopad 10376SELECT HEX(LEAST('abc ' COLLATE 'cp852_nopad_bin', 'abc ')); 10377HEX(LEAST('abc ' COLLATE 'cp852_nopad_bin', 'abc ')) 1037861626320 10379SELECT HEX(GREATEST('abc ' COLLATE 'cp852_nopad_bin', 'abc ')); 10380HEX(GREATEST('abc ' COLLATE 'cp852_nopad_bin', 'abc ')) 103816162632020 10382# 10383# Collation mix 10384# 10385CREATE TABLE t1 (a VARCHAR(10)) COLLATE 'cp852_bin'; 10386INSERT INTO t1 VALUES ('a'),('a '); 10387SELECT COUNT(*) FROM t1 WHERE a='a'; 10388COUNT(*) 103892 10390SELECT COUNT(*) FROM t1 WHERE a='a' COLLATE 'cp852_bin'; 10391COUNT(*) 103922 10393SELECT COUNT(*) FROM t1 WHERE a='a' COLLATE 'cp852_nopad_bin'; 10394COUNT(*) 103951 10396ALTER TABLE t1 MODIFY a VARCHAR(10) COLLATE 'cp852_nopad_bin'; 10397SELECT COUNT(*) FROM t1 WHERE a='a'; 10398COUNT(*) 103991 10400SELECT COUNT(*) FROM t1 WHERE a='a' COLLATE 'cp852_bin'; 10401COUNT(*) 104022 10403SELECT COUNT(*) FROM t1 WHERE a='a' COLLATE 'cp852_nopad_bin'; 10404COUNT(*) 104051 10406DROP TABLE t1; 10407# 10408# End of ctype_pad.inc 10409# 10410SET DEFAULT_STORAGE_ENGINE=HEAP; 10411# 10412# Start of ctype_pad.inc 10413# 10414# 10415# Unique indexes 10416# 10417CREATE TABLE t1 (a VARCHAR(10) PRIMARY KEY) COLLATE 'cp852_nopad_bin'; 10418SHOW CREATE TABLE t1; 10419Table Create Table 10420t1 CREATE TABLE `t1` ( 10421 `a` varchar(10) COLLATE cp852_nopad_bin NOT NULL, 10422 PRIMARY KEY (`a`) 10423) ENGINE=MEMORY DEFAULT CHARSET=cp852 COLLATE=cp852_nopad_bin 10424INSERT INTO t1 VALUES ('abc'),('abc '),(' a'),(' a '),('a '); 10425SELECT HEX(a), a FROM t1 ORDER BY a; 10426HEX(a) a 104272061 a 10428206120 a 1042961202020 a 10430616263 abc 104316162632020 abc 10432SELECT HEX(a), a FROM t1 IGNORE INDEX(PRIMARY) ORDER BY a; 10433HEX(a) a 104342061 a 10435206120 a 1043661202020 a 10437616263 abc 104386162632020 abc 10439SELECT HEX(a), a FROM t1 IGNORE INDEX(PRIMARY) ORDER BY a DESC; 10440HEX(a) a 104416162632020 abc 10442616263 abc 1044361202020 a 10444206120 a 104452061 a 10446# 10447# UNION 10448# 10449CREATE TABLE t2 (a VARCHAR(10)) COLLATE 'cp852_nopad_bin'; 10450INSERT INTO t2 VALUES ('abc '),('abc '),(' a'),('a '); 10451SELECT HEX(a),a FROM (SELECT * FROM t1 UNION SELECT * FROM t2 ORDER BY a) td; 10452HEX(a) a 104532061 a 10454206120 a 104556120 a 1045661202020 a 10457616263 abc 1045861626320 abc 104596162632020 abc 10460DROP TABLE t1; 10461DROP TABLE t2; 10462# 10463# DISTINCT, COUNT, MAX 10464# 10465CREATE TABLE t1 (a VARCHAR(10)) COLLATE 'cp852_nopad_bin'; 10466INSERT INTO t1 VALUES ('a'),('a '),(' a'),(' a '),('a '); 10467SELECT HEX(a), a FROM (SELECT DISTINCT a FROM t1 ORDER BY a) td; 10468HEX(a) a 104692061 a 10470206120 a 1047161 a 10472612020 a 1047361202020 a 10474SELECT COUNT(DISTINCT a) FROM t1 ORDER BY a; 10475COUNT(DISTINCT a) 104765 10477SELECT HEX(MAX(a)), MAX(a) FROM t1; 10478HEX(MAX(a)) MAX(a) 1047961202020 a 10480# 10481# GROUP BY 10482# 10483CREATE TABLE t2 (a VARCHAR(10), b int, c varchar(10)) COLLATE 'cp852_nopad_bin'; 10484INSERT t2 values('ab', 12, 'cd'), ('ab', 2, 'ed'), ('aa', 20, 'er'), ('aa ', 0, 'er '); 10485SELECT HEX(a), cnt FROM (SELECT a, COUNT(a) AS cnt FROM t2 GROUP BY a ORDER BY a) AS td; 10486HEX(a) cnt 104876161 1 1048861612020 1 104896162 2 10490DROP TABLE t2; 10491# 10492# Weights 10493# 10494SELECT HEX(WEIGHT_STRING(a AS CHAR(10))) FROM t1; 10495HEX(WEIGHT_STRING(a AS CHAR(10))) 1049661000000000000000000 1049761202000000000000000 1049820610000000000000000 1049920612000000000000000 1050061202020000000000000 10501DROP TABLE t1; 10502# 10503# IF, CASE, LEAST 10504# 10505SELECT IF('abc' COLLATE 'cp852_nopad_bin' = 'abc ', 'pad', 'nopad'); 10506IF('abc' COLLATE 'cp852_nopad_bin' = 'abc ', 'pad', 'nopad') 10507nopad 10508SELECT CASE 'abc' COLLATE 'cp852_nopad_bin' WHEN 'abc ' THEN 'pad' ELSE 'nopad' END; 10509CASE 'abc' COLLATE 'cp852_nopad_bin' WHEN 'abc ' THEN 'pad' ELSE 'nopad' END 10510nopad 10511SELECT CASE WHEN 'abc' COLLATE 'cp852_nopad_bin' = 'abc ' THEN 'pad' ELSE 'nopad' END; 10512CASE WHEN 'abc' COLLATE 'cp852_nopad_bin' = 'abc ' THEN 'pad' ELSE 'nopad' END 10513nopad 10514SELECT HEX(LEAST('abc ' COLLATE 'cp852_nopad_bin', 'abc ')); 10515HEX(LEAST('abc ' COLLATE 'cp852_nopad_bin', 'abc ')) 1051661626320 10517SELECT HEX(GREATEST('abc ' COLLATE 'cp852_nopad_bin', 'abc ')); 10518HEX(GREATEST('abc ' COLLATE 'cp852_nopad_bin', 'abc ')) 105196162632020 10520# 10521# Collation mix 10522# 10523CREATE TABLE t1 (a VARCHAR(10)) COLLATE 'cp852_bin'; 10524INSERT INTO t1 VALUES ('a'),('a '); 10525SELECT COUNT(*) FROM t1 WHERE a='a'; 10526COUNT(*) 105272 10528SELECT COUNT(*) FROM t1 WHERE a='a' COLLATE 'cp852_bin'; 10529COUNT(*) 105302 10531SELECT COUNT(*) FROM t1 WHERE a='a' COLLATE 'cp852_nopad_bin'; 10532COUNT(*) 105331 10534ALTER TABLE t1 MODIFY a VARCHAR(10) COLLATE 'cp852_nopad_bin'; 10535SELECT COUNT(*) FROM t1 WHERE a='a'; 10536COUNT(*) 105371 10538SELECT COUNT(*) FROM t1 WHERE a='a' COLLATE 'cp852_bin'; 10539COUNT(*) 105402 10541SELECT COUNT(*) FROM t1 WHERE a='a' COLLATE 'cp852_nopad_bin'; 10542COUNT(*) 105431 10544DROP TABLE t1; 10545# 10546# End of ctype_pad.inc 10547# 10548SET DEFAULT_STORAGE_ENGINE=Default; 10549SET character_set_connection=latin7; 10550SET DEFAULT_STORAGE_ENGINE=MyISAM; 10551# 10552# Start of ctype_pad.inc 10553# 10554# 10555# Unique indexes 10556# 10557CREATE TABLE t1 (a VARCHAR(10) PRIMARY KEY) COLLATE 'latin7_general_nopad_ci'; 10558SHOW CREATE TABLE t1; 10559Table Create Table 10560t1 CREATE TABLE `t1` ( 10561 `a` varchar(10) COLLATE latin7_general_nopad_ci NOT NULL, 10562 PRIMARY KEY (`a`) 10563) ENGINE=MyISAM DEFAULT CHARSET=latin7 COLLATE=latin7_general_nopad_ci 10564INSERT INTO t1 VALUES ('abc'),('abc '),(' a'),(' a '),('a '); 10565SELECT HEX(a), a FROM t1 ORDER BY a; 10566HEX(a) a 105672061 a 10568206120 a 1056961202020 a 10570616263 abc 105716162632020 abc 10572SELECT HEX(a), a FROM t1 IGNORE INDEX(PRIMARY) ORDER BY a; 10573HEX(a) a 105742061 a 10575206120 a 1057661202020 a 10577616263 abc 105786162632020 abc 10579SELECT HEX(a), a FROM t1 IGNORE INDEX(PRIMARY) ORDER BY a DESC; 10580HEX(a) a 105816162632020 abc 10582616263 abc 1058361202020 a 10584206120 a 105852061 a 10586# 10587# UNION 10588# 10589CREATE TABLE t2 (a VARCHAR(10)) COLLATE 'latin7_general_nopad_ci'; 10590INSERT INTO t2 VALUES ('abc '),('abc '),(' a'),('a '); 10591SELECT HEX(a),a FROM (SELECT * FROM t1 UNION SELECT * FROM t2 ORDER BY a) td; 10592HEX(a) a 105932061 a 10594206120 a 105956120 a 1059661202020 a 10597616263 abc 1059861626320 abc 105996162632020 abc 10600DROP TABLE t1; 10601DROP TABLE t2; 10602# 10603# DISTINCT, COUNT, MAX 10604# 10605CREATE TABLE t1 (a VARCHAR(10)) COLLATE 'latin7_general_nopad_ci'; 10606INSERT INTO t1 VALUES ('a'),('a '),(' a'),(' a '),('a '); 10607SELECT HEX(a), a FROM (SELECT DISTINCT a FROM t1 ORDER BY a) td; 10608HEX(a) a 106092061 a 10610206120 a 1061161 a 10612612020 a 1061361202020 a 10614SELECT COUNT(DISTINCT a) FROM t1 ORDER BY a; 10615COUNT(DISTINCT a) 106165 10617SELECT HEX(MAX(a)), MAX(a) FROM t1; 10618HEX(MAX(a)) MAX(a) 1061961202020 a 10620# 10621# GROUP BY 10622# 10623CREATE TABLE t2 (a VARCHAR(10), b int, c varchar(10)) COLLATE 'latin7_general_nopad_ci'; 10624INSERT t2 values('ab', 12, 'cd'), ('ab', 2, 'ed'), ('aa', 20, 'er'), ('aa ', 0, 'er '); 10625SELECT HEX(a), cnt FROM (SELECT a, COUNT(a) AS cnt FROM t2 GROUP BY a ORDER BY a) AS td; 10626HEX(a) cnt 106276161 1 1062861612020 1 106296162 2 10630DROP TABLE t2; 10631# 10632# Weights 10633# 10634SELECT HEX(WEIGHT_STRING(a AS CHAR(10))) FROM t1; 10635HEX(WEIGHT_STRING(a AS CHAR(10))) 1063686000000000000000000 1063786303000000000000000 1063830860000000000000000 1063930863000000000000000 1064086303030000000000000 10641DROP TABLE t1; 10642# 10643# IF, CASE, LEAST 10644# 10645SELECT IF('abc' COLLATE 'latin7_general_nopad_ci' = 'abc ', 'pad', 'nopad'); 10646IF('abc' COLLATE 'latin7_general_nopad_ci' = 'abc ', 'pad', 'nopad') 10647nopad 10648SELECT CASE 'abc' COLLATE 'latin7_general_nopad_ci' WHEN 'abc ' THEN 'pad' ELSE 'nopad' END; 10649CASE 'abc' COLLATE 'latin7_general_nopad_ci' WHEN 'abc ' THEN 'pad' ELSE 'nopad' END 10650nopad 10651SELECT CASE WHEN 'abc' COLLATE 'latin7_general_nopad_ci' = 'abc ' THEN 'pad' ELSE 'nopad' END; 10652CASE WHEN 'abc' COLLATE 'latin7_general_nopad_ci' = 'abc ' THEN 'pad' ELSE 'nopad' END 10653nopad 10654SELECT HEX(LEAST('abc ' COLLATE 'latin7_general_nopad_ci', 'abc ')); 10655HEX(LEAST('abc ' COLLATE 'latin7_general_nopad_ci', 'abc ')) 1065661626320 10657SELECT HEX(GREATEST('abc ' COLLATE 'latin7_general_nopad_ci', 'abc ')); 10658HEX(GREATEST('abc ' COLLATE 'latin7_general_nopad_ci', 'abc ')) 106596162632020 10660# 10661# Collation mix 10662# 10663CREATE TABLE t1 (a VARCHAR(10)) COLLATE 'latin7_general_ci'; 10664INSERT INTO t1 VALUES ('a'),('a '); 10665SELECT COUNT(*) FROM t1 WHERE a='a'; 10666COUNT(*) 106672 10668SELECT COUNT(*) FROM t1 WHERE a='a' COLLATE 'latin7_general_ci'; 10669COUNT(*) 106702 10671SELECT COUNT(*) FROM t1 WHERE a='a' COLLATE 'latin7_general_nopad_ci'; 10672COUNT(*) 106731 10674ALTER TABLE t1 MODIFY a VARCHAR(10) COLLATE 'latin7_general_nopad_ci'; 10675SELECT COUNT(*) FROM t1 WHERE a='a'; 10676COUNT(*) 106771 10678SELECT COUNT(*) FROM t1 WHERE a='a' COLLATE 'latin7_general_ci'; 10679COUNT(*) 106802 10681SELECT COUNT(*) FROM t1 WHERE a='a' COLLATE 'latin7_general_nopad_ci'; 10682COUNT(*) 106831 10684DROP TABLE t1; 10685# 10686# End of ctype_pad.inc 10687# 10688SET DEFAULT_STORAGE_ENGINE=HEAP; 10689# 10690# Start of ctype_pad.inc 10691# 10692# 10693# Unique indexes 10694# 10695CREATE TABLE t1 (a VARCHAR(10) PRIMARY KEY) COLLATE 'latin7_general_nopad_ci'; 10696SHOW CREATE TABLE t1; 10697Table Create Table 10698t1 CREATE TABLE `t1` ( 10699 `a` varchar(10) COLLATE latin7_general_nopad_ci NOT NULL, 10700 PRIMARY KEY (`a`) 10701) ENGINE=MEMORY DEFAULT CHARSET=latin7 COLLATE=latin7_general_nopad_ci 10702INSERT INTO t1 VALUES ('abc'),('abc '),(' a'),(' a '),('a '); 10703SELECT HEX(a), a FROM t1 ORDER BY a; 10704HEX(a) a 107052061 a 10706206120 a 1070761202020 a 10708616263 abc 107096162632020 abc 10710SELECT HEX(a), a FROM t1 IGNORE INDEX(PRIMARY) ORDER BY a; 10711HEX(a) a 107122061 a 10713206120 a 1071461202020 a 10715616263 abc 107166162632020 abc 10717SELECT HEX(a), a FROM t1 IGNORE INDEX(PRIMARY) ORDER BY a DESC; 10718HEX(a) a 107196162632020 abc 10720616263 abc 1072161202020 a 10722206120 a 107232061 a 10724# 10725# UNION 10726# 10727CREATE TABLE t2 (a VARCHAR(10)) COLLATE 'latin7_general_nopad_ci'; 10728INSERT INTO t2 VALUES ('abc '),('abc '),(' a'),('a '); 10729SELECT HEX(a),a FROM (SELECT * FROM t1 UNION SELECT * FROM t2 ORDER BY a) td; 10730HEX(a) a 107312061 a 10732206120 a 107336120 a 1073461202020 a 10735616263 abc 1073661626320 abc 107376162632020 abc 10738DROP TABLE t1; 10739DROP TABLE t2; 10740# 10741# DISTINCT, COUNT, MAX 10742# 10743CREATE TABLE t1 (a VARCHAR(10)) COLLATE 'latin7_general_nopad_ci'; 10744INSERT INTO t1 VALUES ('a'),('a '),(' a'),(' a '),('a '); 10745SELECT HEX(a), a FROM (SELECT DISTINCT a FROM t1 ORDER BY a) td; 10746HEX(a) a 107472061 a 10748206120 a 1074961 a 10750612020 a 1075161202020 a 10752SELECT COUNT(DISTINCT a) FROM t1 ORDER BY a; 10753COUNT(DISTINCT a) 107545 10755SELECT HEX(MAX(a)), MAX(a) FROM t1; 10756HEX(MAX(a)) MAX(a) 1075761202020 a 10758# 10759# GROUP BY 10760# 10761CREATE TABLE t2 (a VARCHAR(10), b int, c varchar(10)) COLLATE 'latin7_general_nopad_ci'; 10762INSERT t2 values('ab', 12, 'cd'), ('ab', 2, 'ed'), ('aa', 20, 'er'), ('aa ', 0, 'er '); 10763SELECT HEX(a), cnt FROM (SELECT a, COUNT(a) AS cnt FROM t2 GROUP BY a ORDER BY a) AS td; 10764HEX(a) cnt 107656161 1 1076661612020 1 107676162 2 10768DROP TABLE t2; 10769# 10770# Weights 10771# 10772SELECT HEX(WEIGHT_STRING(a AS CHAR(10))) FROM t1; 10773HEX(WEIGHT_STRING(a AS CHAR(10))) 1077486000000000000000000 1077586303000000000000000 1077630860000000000000000 1077730863000000000000000 1077886303030000000000000 10779DROP TABLE t1; 10780# 10781# IF, CASE, LEAST 10782# 10783SELECT IF('abc' COLLATE 'latin7_general_nopad_ci' = 'abc ', 'pad', 'nopad'); 10784IF('abc' COLLATE 'latin7_general_nopad_ci' = 'abc ', 'pad', 'nopad') 10785nopad 10786SELECT CASE 'abc' COLLATE 'latin7_general_nopad_ci' WHEN 'abc ' THEN 'pad' ELSE 'nopad' END; 10787CASE 'abc' COLLATE 'latin7_general_nopad_ci' WHEN 'abc ' THEN 'pad' ELSE 'nopad' END 10788nopad 10789SELECT CASE WHEN 'abc' COLLATE 'latin7_general_nopad_ci' = 'abc ' THEN 'pad' ELSE 'nopad' END; 10790CASE WHEN 'abc' COLLATE 'latin7_general_nopad_ci' = 'abc ' THEN 'pad' ELSE 'nopad' END 10791nopad 10792SELECT HEX(LEAST('abc ' COLLATE 'latin7_general_nopad_ci', 'abc ')); 10793HEX(LEAST('abc ' COLLATE 'latin7_general_nopad_ci', 'abc ')) 1079461626320 10795SELECT HEX(GREATEST('abc ' COLLATE 'latin7_general_nopad_ci', 'abc ')); 10796HEX(GREATEST('abc ' COLLATE 'latin7_general_nopad_ci', 'abc ')) 107976162632020 10798# 10799# Collation mix 10800# 10801CREATE TABLE t1 (a VARCHAR(10)) COLLATE 'latin7_general_ci'; 10802INSERT INTO t1 VALUES ('a'),('a '); 10803SELECT COUNT(*) FROM t1 WHERE a='a'; 10804COUNT(*) 108052 10806SELECT COUNT(*) FROM t1 WHERE a='a' COLLATE 'latin7_general_ci'; 10807COUNT(*) 108082 10809SELECT COUNT(*) FROM t1 WHERE a='a' COLLATE 'latin7_general_nopad_ci'; 10810COUNT(*) 108111 10812ALTER TABLE t1 MODIFY a VARCHAR(10) COLLATE 'latin7_general_nopad_ci'; 10813SELECT COUNT(*) FROM t1 WHERE a='a'; 10814COUNT(*) 108151 10816SELECT COUNT(*) FROM t1 WHERE a='a' COLLATE 'latin7_general_ci'; 10817COUNT(*) 108182 10819SELECT COUNT(*) FROM t1 WHERE a='a' COLLATE 'latin7_general_nopad_ci'; 10820COUNT(*) 108211 10822DROP TABLE t1; 10823# 10824# End of ctype_pad.inc 10825# 10826SET DEFAULT_STORAGE_ENGINE=Default; 10827SET DEFAULT_STORAGE_ENGINE=MyISAM; 10828# 10829# Start of ctype_pad.inc 10830# 10831# 10832# Unique indexes 10833# 10834CREATE TABLE t1 (a VARCHAR(10) PRIMARY KEY) COLLATE 'latin7_nopad_bin'; 10835SHOW CREATE TABLE t1; 10836Table Create Table 10837t1 CREATE TABLE `t1` ( 10838 `a` varchar(10) COLLATE latin7_nopad_bin NOT NULL, 10839 PRIMARY KEY (`a`) 10840) ENGINE=MyISAM DEFAULT CHARSET=latin7 COLLATE=latin7_nopad_bin 10841INSERT INTO t1 VALUES ('abc'),('abc '),(' a'),(' a '),('a '); 10842SELECT HEX(a), a FROM t1 ORDER BY a; 10843HEX(a) a 108442061 a 10845206120 a 1084661202020 a 10847616263 abc 108486162632020 abc 10849SELECT HEX(a), a FROM t1 IGNORE INDEX(PRIMARY) ORDER BY a; 10850HEX(a) a 108512061 a 10852206120 a 1085361202020 a 10854616263 abc 108556162632020 abc 10856SELECT HEX(a), a FROM t1 IGNORE INDEX(PRIMARY) ORDER BY a DESC; 10857HEX(a) a 108586162632020 abc 10859616263 abc 1086061202020 a 10861206120 a 108622061 a 10863# 10864# UNION 10865# 10866CREATE TABLE t2 (a VARCHAR(10)) COLLATE 'latin7_nopad_bin'; 10867INSERT INTO t2 VALUES ('abc '),('abc '),(' a'),('a '); 10868SELECT HEX(a),a FROM (SELECT * FROM t1 UNION SELECT * FROM t2 ORDER BY a) td; 10869HEX(a) a 108702061 a 10871206120 a 108726120 a 1087361202020 a 10874616263 abc 1087561626320 abc 108766162632020 abc 10877DROP TABLE t1; 10878DROP TABLE t2; 10879# 10880# DISTINCT, COUNT, MAX 10881# 10882CREATE TABLE t1 (a VARCHAR(10)) COLLATE 'latin7_nopad_bin'; 10883INSERT INTO t1 VALUES ('a'),('a '),(' a'),(' a '),('a '); 10884SELECT HEX(a), a FROM (SELECT DISTINCT a FROM t1 ORDER BY a) td; 10885HEX(a) a 108862061 a 10887206120 a 1088861 a 10889612020 a 1089061202020 a 10891SELECT COUNT(DISTINCT a) FROM t1 ORDER BY a; 10892COUNT(DISTINCT a) 108935 10894SELECT HEX(MAX(a)), MAX(a) FROM t1; 10895HEX(MAX(a)) MAX(a) 1089661202020 a 10897# 10898# GROUP BY 10899# 10900CREATE TABLE t2 (a VARCHAR(10), b int, c varchar(10)) COLLATE 'latin7_nopad_bin'; 10901INSERT t2 values('ab', 12, 'cd'), ('ab', 2, 'ed'), ('aa', 20, 'er'), ('aa ', 0, 'er '); 10902SELECT HEX(a), cnt FROM (SELECT a, COUNT(a) AS cnt FROM t2 GROUP BY a ORDER BY a) AS td; 10903HEX(a) cnt 109046161 1 1090561612020 1 109066162 2 10907DROP TABLE t2; 10908# 10909# Weights 10910# 10911SELECT HEX(WEIGHT_STRING(a AS CHAR(10))) FROM t1; 10912HEX(WEIGHT_STRING(a AS CHAR(10))) 1091361000000000000000000 1091461202000000000000000 1091520610000000000000000 1091620612000000000000000 1091761202020000000000000 10918DROP TABLE t1; 10919# 10920# IF, CASE, LEAST 10921# 10922SELECT IF('abc' COLLATE 'latin7_nopad_bin' = 'abc ', 'pad', 'nopad'); 10923IF('abc' COLLATE 'latin7_nopad_bin' = 'abc ', 'pad', 'nopad') 10924nopad 10925SELECT CASE 'abc' COLLATE 'latin7_nopad_bin' WHEN 'abc ' THEN 'pad' ELSE 'nopad' END; 10926CASE 'abc' COLLATE 'latin7_nopad_bin' WHEN 'abc ' THEN 'pad' ELSE 'nopad' END 10927nopad 10928SELECT CASE WHEN 'abc' COLLATE 'latin7_nopad_bin' = 'abc ' THEN 'pad' ELSE 'nopad' END; 10929CASE WHEN 'abc' COLLATE 'latin7_nopad_bin' = 'abc ' THEN 'pad' ELSE 'nopad' END 10930nopad 10931SELECT HEX(LEAST('abc ' COLLATE 'latin7_nopad_bin', 'abc ')); 10932HEX(LEAST('abc ' COLLATE 'latin7_nopad_bin', 'abc ')) 1093361626320 10934SELECT HEX(GREATEST('abc ' COLLATE 'latin7_nopad_bin', 'abc ')); 10935HEX(GREATEST('abc ' COLLATE 'latin7_nopad_bin', 'abc ')) 109366162632020 10937# 10938# Collation mix 10939# 10940CREATE TABLE t1 (a VARCHAR(10)) COLLATE 'latin7_bin'; 10941INSERT INTO t1 VALUES ('a'),('a '); 10942SELECT COUNT(*) FROM t1 WHERE a='a'; 10943COUNT(*) 109442 10945SELECT COUNT(*) FROM t1 WHERE a='a' COLLATE 'latin7_bin'; 10946COUNT(*) 109472 10948SELECT COUNT(*) FROM t1 WHERE a='a' COLLATE 'latin7_nopad_bin'; 10949COUNT(*) 109501 10951ALTER TABLE t1 MODIFY a VARCHAR(10) COLLATE 'latin7_nopad_bin'; 10952SELECT COUNT(*) FROM t1 WHERE a='a'; 10953COUNT(*) 109541 10955SELECT COUNT(*) FROM t1 WHERE a='a' COLLATE 'latin7_bin'; 10956COUNT(*) 109572 10958SELECT COUNT(*) FROM t1 WHERE a='a' COLLATE 'latin7_nopad_bin'; 10959COUNT(*) 109601 10961DROP TABLE t1; 10962# 10963# End of ctype_pad.inc 10964# 10965SET DEFAULT_STORAGE_ENGINE=HEAP; 10966# 10967# Start of ctype_pad.inc 10968# 10969# 10970# Unique indexes 10971# 10972CREATE TABLE t1 (a VARCHAR(10) PRIMARY KEY) COLLATE 'latin7_nopad_bin'; 10973SHOW CREATE TABLE t1; 10974Table Create Table 10975t1 CREATE TABLE `t1` ( 10976 `a` varchar(10) COLLATE latin7_nopad_bin NOT NULL, 10977 PRIMARY KEY (`a`) 10978) ENGINE=MEMORY DEFAULT CHARSET=latin7 COLLATE=latin7_nopad_bin 10979INSERT INTO t1 VALUES ('abc'),('abc '),(' a'),(' a '),('a '); 10980SELECT HEX(a), a FROM t1 ORDER BY a; 10981HEX(a) a 109822061 a 10983206120 a 1098461202020 a 10985616263 abc 109866162632020 abc 10987SELECT HEX(a), a FROM t1 IGNORE INDEX(PRIMARY) ORDER BY a; 10988HEX(a) a 109892061 a 10990206120 a 1099161202020 a 10992616263 abc 109936162632020 abc 10994SELECT HEX(a), a FROM t1 IGNORE INDEX(PRIMARY) ORDER BY a DESC; 10995HEX(a) a 109966162632020 abc 10997616263 abc 1099861202020 a 10999206120 a 110002061 a 11001# 11002# UNION 11003# 11004CREATE TABLE t2 (a VARCHAR(10)) COLLATE 'latin7_nopad_bin'; 11005INSERT INTO t2 VALUES ('abc '),('abc '),(' a'),('a '); 11006SELECT HEX(a),a FROM (SELECT * FROM t1 UNION SELECT * FROM t2 ORDER BY a) td; 11007HEX(a) a 110082061 a 11009206120 a 110106120 a 1101161202020 a 11012616263 abc 1101361626320 abc 110146162632020 abc 11015DROP TABLE t1; 11016DROP TABLE t2; 11017# 11018# DISTINCT, COUNT, MAX 11019# 11020CREATE TABLE t1 (a VARCHAR(10)) COLLATE 'latin7_nopad_bin'; 11021INSERT INTO t1 VALUES ('a'),('a '),(' a'),(' a '),('a '); 11022SELECT HEX(a), a FROM (SELECT DISTINCT a FROM t1 ORDER BY a) td; 11023HEX(a) a 110242061 a 11025206120 a 1102661 a 11027612020 a 1102861202020 a 11029SELECT COUNT(DISTINCT a) FROM t1 ORDER BY a; 11030COUNT(DISTINCT a) 110315 11032SELECT HEX(MAX(a)), MAX(a) FROM t1; 11033HEX(MAX(a)) MAX(a) 1103461202020 a 11035# 11036# GROUP BY 11037# 11038CREATE TABLE t2 (a VARCHAR(10), b int, c varchar(10)) COLLATE 'latin7_nopad_bin'; 11039INSERT t2 values('ab', 12, 'cd'), ('ab', 2, 'ed'), ('aa', 20, 'er'), ('aa ', 0, 'er '); 11040SELECT HEX(a), cnt FROM (SELECT a, COUNT(a) AS cnt FROM t2 GROUP BY a ORDER BY a) AS td; 11041HEX(a) cnt 110426161 1 1104361612020 1 110446162 2 11045DROP TABLE t2; 11046# 11047# Weights 11048# 11049SELECT HEX(WEIGHT_STRING(a AS CHAR(10))) FROM t1; 11050HEX(WEIGHT_STRING(a AS CHAR(10))) 1105161000000000000000000 1105261202000000000000000 1105320610000000000000000 1105420612000000000000000 1105561202020000000000000 11056DROP TABLE t1; 11057# 11058# IF, CASE, LEAST 11059# 11060SELECT IF('abc' COLLATE 'latin7_nopad_bin' = 'abc ', 'pad', 'nopad'); 11061IF('abc' COLLATE 'latin7_nopad_bin' = 'abc ', 'pad', 'nopad') 11062nopad 11063SELECT CASE 'abc' COLLATE 'latin7_nopad_bin' WHEN 'abc ' THEN 'pad' ELSE 'nopad' END; 11064CASE 'abc' COLLATE 'latin7_nopad_bin' WHEN 'abc ' THEN 'pad' ELSE 'nopad' END 11065nopad 11066SELECT CASE WHEN 'abc' COLLATE 'latin7_nopad_bin' = 'abc ' THEN 'pad' ELSE 'nopad' END; 11067CASE WHEN 'abc' COLLATE 'latin7_nopad_bin' = 'abc ' THEN 'pad' ELSE 'nopad' END 11068nopad 11069SELECT HEX(LEAST('abc ' COLLATE 'latin7_nopad_bin', 'abc ')); 11070HEX(LEAST('abc ' COLLATE 'latin7_nopad_bin', 'abc ')) 1107161626320 11072SELECT HEX(GREATEST('abc ' COLLATE 'latin7_nopad_bin', 'abc ')); 11073HEX(GREATEST('abc ' COLLATE 'latin7_nopad_bin', 'abc ')) 110746162632020 11075# 11076# Collation mix 11077# 11078CREATE TABLE t1 (a VARCHAR(10)) COLLATE 'latin7_bin'; 11079INSERT INTO t1 VALUES ('a'),('a '); 11080SELECT COUNT(*) FROM t1 WHERE a='a'; 11081COUNT(*) 110822 11083SELECT COUNT(*) FROM t1 WHERE a='a' COLLATE 'latin7_bin'; 11084COUNT(*) 110852 11086SELECT COUNT(*) FROM t1 WHERE a='a' COLLATE 'latin7_nopad_bin'; 11087COUNT(*) 110881 11089ALTER TABLE t1 MODIFY a VARCHAR(10) COLLATE 'latin7_nopad_bin'; 11090SELECT COUNT(*) FROM t1 WHERE a='a'; 11091COUNT(*) 110921 11093SELECT COUNT(*) FROM t1 WHERE a='a' COLLATE 'latin7_bin'; 11094COUNT(*) 110952 11096SELECT COUNT(*) FROM t1 WHERE a='a' COLLATE 'latin7_nopad_bin'; 11097COUNT(*) 110981 11099DROP TABLE t1; 11100# 11101# End of ctype_pad.inc 11102# 11103SET DEFAULT_STORAGE_ENGINE=Default; 11104SET character_set_connection=cp1251; 11105SET DEFAULT_STORAGE_ENGINE=MyISAM; 11106# 11107# Start of ctype_pad.inc 11108# 11109# 11110# Unique indexes 11111# 11112CREATE TABLE t1 (a VARCHAR(10) PRIMARY KEY) COLLATE 'cp1251_general_nopad_ci'; 11113SHOW CREATE TABLE t1; 11114Table Create Table 11115t1 CREATE TABLE `t1` ( 11116 `a` varchar(10) COLLATE cp1251_general_nopad_ci NOT NULL, 11117 PRIMARY KEY (`a`) 11118) ENGINE=MyISAM DEFAULT CHARSET=cp1251 COLLATE=cp1251_general_nopad_ci 11119INSERT INTO t1 VALUES ('abc'),('abc '),(' a'),(' a '),('a '); 11120SELECT HEX(a), a FROM t1 ORDER BY a; 11121HEX(a) a 111222061 a 11123206120 a 1112461202020 a 11125616263 abc 111266162632020 abc 11127SELECT HEX(a), a FROM t1 IGNORE INDEX(PRIMARY) ORDER BY a; 11128HEX(a) a 111292061 a 11130206120 a 1113161202020 a 11132616263 abc 111336162632020 abc 11134SELECT HEX(a), a FROM t1 IGNORE INDEX(PRIMARY) ORDER BY a DESC; 11135HEX(a) a 111366162632020 abc 11137616263 abc 1113861202020 a 11139206120 a 111402061 a 11141# 11142# UNION 11143# 11144CREATE TABLE t2 (a VARCHAR(10)) COLLATE 'cp1251_general_nopad_ci'; 11145INSERT INTO t2 VALUES ('abc '),('abc '),(' a'),('a '); 11146SELECT HEX(a),a FROM (SELECT * FROM t1 UNION SELECT * FROM t2 ORDER BY a) td; 11147HEX(a) a 111482061 a 11149206120 a 111506120 a 1115161202020 a 11152616263 abc 1115361626320 abc 111546162632020 abc 11155DROP TABLE t1; 11156DROP TABLE t2; 11157# 11158# DISTINCT, COUNT, MAX 11159# 11160CREATE TABLE t1 (a VARCHAR(10)) COLLATE 'cp1251_general_nopad_ci'; 11161INSERT INTO t1 VALUES ('a'),('a '),(' a'),(' a '),('a '); 11162SELECT HEX(a), a FROM (SELECT DISTINCT a FROM t1 ORDER BY a) td; 11163HEX(a) a 111642061 a 11165206120 a 1116661 a 11167612020 a 1116861202020 a 11169SELECT COUNT(DISTINCT a) FROM t1 ORDER BY a; 11170COUNT(DISTINCT a) 111715 11172SELECT HEX(MAX(a)), MAX(a) FROM t1; 11173HEX(MAX(a)) MAX(a) 1117461202020 a 11175# 11176# GROUP BY 11177# 11178CREATE TABLE t2 (a VARCHAR(10), b int, c varchar(10)) COLLATE 'cp1251_general_nopad_ci'; 11179INSERT t2 values('ab', 12, 'cd'), ('ab', 2, 'ed'), ('aa', 20, 'er'), ('aa ', 0, 'er '); 11180SELECT HEX(a), cnt FROM (SELECT a, COUNT(a) AS cnt FROM t2 GROUP BY a ORDER BY a) AS td; 11181HEX(a) cnt 111826161 1 1118361612020 1 111846162 2 11185DROP TABLE t2; 11186# 11187# Weights 11188# 11189SELECT HEX(WEIGHT_STRING(a AS CHAR(10))) FROM t1; 11190HEX(WEIGHT_STRING(a AS CHAR(10))) 1119141000000000000000000 1119241202000000000000000 1119320410000000000000000 1119420412000000000000000 1119541202020000000000000 11196DROP TABLE t1; 11197# 11198# IF, CASE, LEAST 11199# 11200SELECT IF('abc' COLLATE 'cp1251_general_nopad_ci' = 'abc ', 'pad', 'nopad'); 11201IF('abc' COLLATE 'cp1251_general_nopad_ci' = 'abc ', 'pad', 'nopad') 11202nopad 11203SELECT CASE 'abc' COLLATE 'cp1251_general_nopad_ci' WHEN 'abc ' THEN 'pad' ELSE 'nopad' END; 11204CASE 'abc' COLLATE 'cp1251_general_nopad_ci' WHEN 'abc ' THEN 'pad' ELSE 'nopad' END 11205nopad 11206SELECT CASE WHEN 'abc' COLLATE 'cp1251_general_nopad_ci' = 'abc ' THEN 'pad' ELSE 'nopad' END; 11207CASE WHEN 'abc' COLLATE 'cp1251_general_nopad_ci' = 'abc ' THEN 'pad' ELSE 'nopad' END 11208nopad 11209SELECT HEX(LEAST('abc ' COLLATE 'cp1251_general_nopad_ci', 'abc ')); 11210HEX(LEAST('abc ' COLLATE 'cp1251_general_nopad_ci', 'abc ')) 1121161626320 11212SELECT HEX(GREATEST('abc ' COLLATE 'cp1251_general_nopad_ci', 'abc ')); 11213HEX(GREATEST('abc ' COLLATE 'cp1251_general_nopad_ci', 'abc ')) 112146162632020 11215# 11216# Collation mix 11217# 11218CREATE TABLE t1 (a VARCHAR(10)) COLLATE 'cp1251_general_ci'; 11219INSERT INTO t1 VALUES ('a'),('a '); 11220SELECT COUNT(*) FROM t1 WHERE a='a'; 11221COUNT(*) 112222 11223SELECT COUNT(*) FROM t1 WHERE a='a' COLLATE 'cp1251_general_ci'; 11224COUNT(*) 112252 11226SELECT COUNT(*) FROM t1 WHERE a='a' COLLATE 'cp1251_general_nopad_ci'; 11227COUNT(*) 112281 11229ALTER TABLE t1 MODIFY a VARCHAR(10) COLLATE 'cp1251_general_nopad_ci'; 11230SELECT COUNT(*) FROM t1 WHERE a='a'; 11231COUNT(*) 112321 11233SELECT COUNT(*) FROM t1 WHERE a='a' COLLATE 'cp1251_general_ci'; 11234COUNT(*) 112352 11236SELECT COUNT(*) FROM t1 WHERE a='a' COLLATE 'cp1251_general_nopad_ci'; 11237COUNT(*) 112381 11239DROP TABLE t1; 11240# 11241# End of ctype_pad.inc 11242# 11243SET DEFAULT_STORAGE_ENGINE=HEAP; 11244# 11245# Start of ctype_pad.inc 11246# 11247# 11248# Unique indexes 11249# 11250CREATE TABLE t1 (a VARCHAR(10) PRIMARY KEY) COLLATE 'cp1251_general_nopad_ci'; 11251SHOW CREATE TABLE t1; 11252Table Create Table 11253t1 CREATE TABLE `t1` ( 11254 `a` varchar(10) COLLATE cp1251_general_nopad_ci NOT NULL, 11255 PRIMARY KEY (`a`) 11256) ENGINE=MEMORY DEFAULT CHARSET=cp1251 COLLATE=cp1251_general_nopad_ci 11257INSERT INTO t1 VALUES ('abc'),('abc '),(' a'),(' a '),('a '); 11258SELECT HEX(a), a FROM t1 ORDER BY a; 11259HEX(a) a 112602061 a 11261206120 a 1126261202020 a 11263616263 abc 112646162632020 abc 11265SELECT HEX(a), a FROM t1 IGNORE INDEX(PRIMARY) ORDER BY a; 11266HEX(a) a 112672061 a 11268206120 a 1126961202020 a 11270616263 abc 112716162632020 abc 11272SELECT HEX(a), a FROM t1 IGNORE INDEX(PRIMARY) ORDER BY a DESC; 11273HEX(a) a 112746162632020 abc 11275616263 abc 1127661202020 a 11277206120 a 112782061 a 11279# 11280# UNION 11281# 11282CREATE TABLE t2 (a VARCHAR(10)) COLLATE 'cp1251_general_nopad_ci'; 11283INSERT INTO t2 VALUES ('abc '),('abc '),(' a'),('a '); 11284SELECT HEX(a),a FROM (SELECT * FROM t1 UNION SELECT * FROM t2 ORDER BY a) td; 11285HEX(a) a 112862061 a 11287206120 a 112886120 a 1128961202020 a 11290616263 abc 1129161626320 abc 112926162632020 abc 11293DROP TABLE t1; 11294DROP TABLE t2; 11295# 11296# DISTINCT, COUNT, MAX 11297# 11298CREATE TABLE t1 (a VARCHAR(10)) COLLATE 'cp1251_general_nopad_ci'; 11299INSERT INTO t1 VALUES ('a'),('a '),(' a'),(' a '),('a '); 11300SELECT HEX(a), a FROM (SELECT DISTINCT a FROM t1 ORDER BY a) td; 11301HEX(a) a 113022061 a 11303206120 a 1130461 a 11305612020 a 1130661202020 a 11307SELECT COUNT(DISTINCT a) FROM t1 ORDER BY a; 11308COUNT(DISTINCT a) 113095 11310SELECT HEX(MAX(a)), MAX(a) FROM t1; 11311HEX(MAX(a)) MAX(a) 1131261202020 a 11313# 11314# GROUP BY 11315# 11316CREATE TABLE t2 (a VARCHAR(10), b int, c varchar(10)) COLLATE 'cp1251_general_nopad_ci'; 11317INSERT t2 values('ab', 12, 'cd'), ('ab', 2, 'ed'), ('aa', 20, 'er'), ('aa ', 0, 'er '); 11318SELECT HEX(a), cnt FROM (SELECT a, COUNT(a) AS cnt FROM t2 GROUP BY a ORDER BY a) AS td; 11319HEX(a) cnt 113206161 1 1132161612020 1 113226162 2 11323DROP TABLE t2; 11324# 11325# Weights 11326# 11327SELECT HEX(WEIGHT_STRING(a AS CHAR(10))) FROM t1; 11328HEX(WEIGHT_STRING(a AS CHAR(10))) 1132941000000000000000000 1133041202000000000000000 1133120410000000000000000 1133220412000000000000000 1133341202020000000000000 11334DROP TABLE t1; 11335# 11336# IF, CASE, LEAST 11337# 11338SELECT IF('abc' COLLATE 'cp1251_general_nopad_ci' = 'abc ', 'pad', 'nopad'); 11339IF('abc' COLLATE 'cp1251_general_nopad_ci' = 'abc ', 'pad', 'nopad') 11340nopad 11341SELECT CASE 'abc' COLLATE 'cp1251_general_nopad_ci' WHEN 'abc ' THEN 'pad' ELSE 'nopad' END; 11342CASE 'abc' COLLATE 'cp1251_general_nopad_ci' WHEN 'abc ' THEN 'pad' ELSE 'nopad' END 11343nopad 11344SELECT CASE WHEN 'abc' COLLATE 'cp1251_general_nopad_ci' = 'abc ' THEN 'pad' ELSE 'nopad' END; 11345CASE WHEN 'abc' COLLATE 'cp1251_general_nopad_ci' = 'abc ' THEN 'pad' ELSE 'nopad' END 11346nopad 11347SELECT HEX(LEAST('abc ' COLLATE 'cp1251_general_nopad_ci', 'abc ')); 11348HEX(LEAST('abc ' COLLATE 'cp1251_general_nopad_ci', 'abc ')) 1134961626320 11350SELECT HEX(GREATEST('abc ' COLLATE 'cp1251_general_nopad_ci', 'abc ')); 11351HEX(GREATEST('abc ' COLLATE 'cp1251_general_nopad_ci', 'abc ')) 113526162632020 11353# 11354# Collation mix 11355# 11356CREATE TABLE t1 (a VARCHAR(10)) COLLATE 'cp1251_general_ci'; 11357INSERT INTO t1 VALUES ('a'),('a '); 11358SELECT COUNT(*) FROM t1 WHERE a='a'; 11359COUNT(*) 113602 11361SELECT COUNT(*) FROM t1 WHERE a='a' COLLATE 'cp1251_general_ci'; 11362COUNT(*) 113632 11364SELECT COUNT(*) FROM t1 WHERE a='a' COLLATE 'cp1251_general_nopad_ci'; 11365COUNT(*) 113661 11367ALTER TABLE t1 MODIFY a VARCHAR(10) COLLATE 'cp1251_general_nopad_ci'; 11368SELECT COUNT(*) FROM t1 WHERE a='a'; 11369COUNT(*) 113701 11371SELECT COUNT(*) FROM t1 WHERE a='a' COLLATE 'cp1251_general_ci'; 11372COUNT(*) 113732 11374SELECT COUNT(*) FROM t1 WHERE a='a' COLLATE 'cp1251_general_nopad_ci'; 11375COUNT(*) 113761 11377DROP TABLE t1; 11378# 11379# End of ctype_pad.inc 11380# 11381SET DEFAULT_STORAGE_ENGINE=Default; 11382SET DEFAULT_STORAGE_ENGINE=MyISAM; 11383# 11384# Start of ctype_pad.inc 11385# 11386# 11387# Unique indexes 11388# 11389CREATE TABLE t1 (a VARCHAR(10) PRIMARY KEY) COLLATE 'cp1251_nopad_bin'; 11390SHOW CREATE TABLE t1; 11391Table Create Table 11392t1 CREATE TABLE `t1` ( 11393 `a` varchar(10) COLLATE cp1251_nopad_bin NOT NULL, 11394 PRIMARY KEY (`a`) 11395) ENGINE=MyISAM DEFAULT CHARSET=cp1251 COLLATE=cp1251_nopad_bin 11396INSERT INTO t1 VALUES ('abc'),('abc '),(' a'),(' a '),('a '); 11397SELECT HEX(a), a FROM t1 ORDER BY a; 11398HEX(a) a 113992061 a 11400206120 a 1140161202020 a 11402616263 abc 114036162632020 abc 11404SELECT HEX(a), a FROM t1 IGNORE INDEX(PRIMARY) ORDER BY a; 11405HEX(a) a 114062061 a 11407206120 a 1140861202020 a 11409616263 abc 114106162632020 abc 11411SELECT HEX(a), a FROM t1 IGNORE INDEX(PRIMARY) ORDER BY a DESC; 11412HEX(a) a 114136162632020 abc 11414616263 abc 1141561202020 a 11416206120 a 114172061 a 11418# 11419# UNION 11420# 11421CREATE TABLE t2 (a VARCHAR(10)) COLLATE 'cp1251_nopad_bin'; 11422INSERT INTO t2 VALUES ('abc '),('abc '),(' a'),('a '); 11423SELECT HEX(a),a FROM (SELECT * FROM t1 UNION SELECT * FROM t2 ORDER BY a) td; 11424HEX(a) a 114252061 a 11426206120 a 114276120 a 1142861202020 a 11429616263 abc 1143061626320 abc 114316162632020 abc 11432DROP TABLE t1; 11433DROP TABLE t2; 11434# 11435# DISTINCT, COUNT, MAX 11436# 11437CREATE TABLE t1 (a VARCHAR(10)) COLLATE 'cp1251_nopad_bin'; 11438INSERT INTO t1 VALUES ('a'),('a '),(' a'),(' a '),('a '); 11439SELECT HEX(a), a FROM (SELECT DISTINCT a FROM t1 ORDER BY a) td; 11440HEX(a) a 114412061 a 11442206120 a 1144361 a 11444612020 a 1144561202020 a 11446SELECT COUNT(DISTINCT a) FROM t1 ORDER BY a; 11447COUNT(DISTINCT a) 114485 11449SELECT HEX(MAX(a)), MAX(a) FROM t1; 11450HEX(MAX(a)) MAX(a) 1145161202020 a 11452# 11453# GROUP BY 11454# 11455CREATE TABLE t2 (a VARCHAR(10), b int, c varchar(10)) COLLATE 'cp1251_nopad_bin'; 11456INSERT t2 values('ab', 12, 'cd'), ('ab', 2, 'ed'), ('aa', 20, 'er'), ('aa ', 0, 'er '); 11457SELECT HEX(a), cnt FROM (SELECT a, COUNT(a) AS cnt FROM t2 GROUP BY a ORDER BY a) AS td; 11458HEX(a) cnt 114596161 1 1146061612020 1 114616162 2 11462DROP TABLE t2; 11463# 11464# Weights 11465# 11466SELECT HEX(WEIGHT_STRING(a AS CHAR(10))) FROM t1; 11467HEX(WEIGHT_STRING(a AS CHAR(10))) 1146861000000000000000000 1146961202000000000000000 1147020610000000000000000 1147120612000000000000000 1147261202020000000000000 11473DROP TABLE t1; 11474# 11475# IF, CASE, LEAST 11476# 11477SELECT IF('abc' COLLATE 'cp1251_nopad_bin' = 'abc ', 'pad', 'nopad'); 11478IF('abc' COLLATE 'cp1251_nopad_bin' = 'abc ', 'pad', 'nopad') 11479nopad 11480SELECT CASE 'abc' COLLATE 'cp1251_nopad_bin' WHEN 'abc ' THEN 'pad' ELSE 'nopad' END; 11481CASE 'abc' COLLATE 'cp1251_nopad_bin' WHEN 'abc ' THEN 'pad' ELSE 'nopad' END 11482nopad 11483SELECT CASE WHEN 'abc' COLLATE 'cp1251_nopad_bin' = 'abc ' THEN 'pad' ELSE 'nopad' END; 11484CASE WHEN 'abc' COLLATE 'cp1251_nopad_bin' = 'abc ' THEN 'pad' ELSE 'nopad' END 11485nopad 11486SELECT HEX(LEAST('abc ' COLLATE 'cp1251_nopad_bin', 'abc ')); 11487HEX(LEAST('abc ' COLLATE 'cp1251_nopad_bin', 'abc ')) 1148861626320 11489SELECT HEX(GREATEST('abc ' COLLATE 'cp1251_nopad_bin', 'abc ')); 11490HEX(GREATEST('abc ' COLLATE 'cp1251_nopad_bin', 'abc ')) 114916162632020 11492# 11493# Collation mix 11494# 11495CREATE TABLE t1 (a VARCHAR(10)) COLLATE 'cp1251_bin'; 11496INSERT INTO t1 VALUES ('a'),('a '); 11497SELECT COUNT(*) FROM t1 WHERE a='a'; 11498COUNT(*) 114992 11500SELECT COUNT(*) FROM t1 WHERE a='a' COLLATE 'cp1251_bin'; 11501COUNT(*) 115022 11503SELECT COUNT(*) FROM t1 WHERE a='a' COLLATE 'cp1251_nopad_bin'; 11504COUNT(*) 115051 11506ALTER TABLE t1 MODIFY a VARCHAR(10) COLLATE 'cp1251_nopad_bin'; 11507SELECT COUNT(*) FROM t1 WHERE a='a'; 11508COUNT(*) 115091 11510SELECT COUNT(*) FROM t1 WHERE a='a' COLLATE 'cp1251_bin'; 11511COUNT(*) 115122 11513SELECT COUNT(*) FROM t1 WHERE a='a' COLLATE 'cp1251_nopad_bin'; 11514COUNT(*) 115151 11516DROP TABLE t1; 11517# 11518# End of ctype_pad.inc 11519# 11520SET DEFAULT_STORAGE_ENGINE=HEAP; 11521# 11522# Start of ctype_pad.inc 11523# 11524# 11525# Unique indexes 11526# 11527CREATE TABLE t1 (a VARCHAR(10) PRIMARY KEY) COLLATE 'cp1251_nopad_bin'; 11528SHOW CREATE TABLE t1; 11529Table Create Table 11530t1 CREATE TABLE `t1` ( 11531 `a` varchar(10) COLLATE cp1251_nopad_bin NOT NULL, 11532 PRIMARY KEY (`a`) 11533) ENGINE=MEMORY DEFAULT CHARSET=cp1251 COLLATE=cp1251_nopad_bin 11534INSERT INTO t1 VALUES ('abc'),('abc '),(' a'),(' a '),('a '); 11535SELECT HEX(a), a FROM t1 ORDER BY a; 11536HEX(a) a 115372061 a 11538206120 a 1153961202020 a 11540616263 abc 115416162632020 abc 11542SELECT HEX(a), a FROM t1 IGNORE INDEX(PRIMARY) ORDER BY a; 11543HEX(a) a 115442061 a 11545206120 a 1154661202020 a 11547616263 abc 115486162632020 abc 11549SELECT HEX(a), a FROM t1 IGNORE INDEX(PRIMARY) ORDER BY a DESC; 11550HEX(a) a 115516162632020 abc 11552616263 abc 1155361202020 a 11554206120 a 115552061 a 11556# 11557# UNION 11558# 11559CREATE TABLE t2 (a VARCHAR(10)) COLLATE 'cp1251_nopad_bin'; 11560INSERT INTO t2 VALUES ('abc '),('abc '),(' a'),('a '); 11561SELECT HEX(a),a FROM (SELECT * FROM t1 UNION SELECT * FROM t2 ORDER BY a) td; 11562HEX(a) a 115632061 a 11564206120 a 115656120 a 1156661202020 a 11567616263 abc 1156861626320 abc 115696162632020 abc 11570DROP TABLE t1; 11571DROP TABLE t2; 11572# 11573# DISTINCT, COUNT, MAX 11574# 11575CREATE TABLE t1 (a VARCHAR(10)) COLLATE 'cp1251_nopad_bin'; 11576INSERT INTO t1 VALUES ('a'),('a '),(' a'),(' a '),('a '); 11577SELECT HEX(a), a FROM (SELECT DISTINCT a FROM t1 ORDER BY a) td; 11578HEX(a) a 115792061 a 11580206120 a 1158161 a 11582612020 a 1158361202020 a 11584SELECT COUNT(DISTINCT a) FROM t1 ORDER BY a; 11585COUNT(DISTINCT a) 115865 11587SELECT HEX(MAX(a)), MAX(a) FROM t1; 11588HEX(MAX(a)) MAX(a) 1158961202020 a 11590# 11591# GROUP BY 11592# 11593CREATE TABLE t2 (a VARCHAR(10), b int, c varchar(10)) COLLATE 'cp1251_nopad_bin'; 11594INSERT t2 values('ab', 12, 'cd'), ('ab', 2, 'ed'), ('aa', 20, 'er'), ('aa ', 0, 'er '); 11595SELECT HEX(a), cnt FROM (SELECT a, COUNT(a) AS cnt FROM t2 GROUP BY a ORDER BY a) AS td; 11596HEX(a) cnt 115976161 1 1159861612020 1 115996162 2 11600DROP TABLE t2; 11601# 11602# Weights 11603# 11604SELECT HEX(WEIGHT_STRING(a AS CHAR(10))) FROM t1; 11605HEX(WEIGHT_STRING(a AS CHAR(10))) 1160661000000000000000000 1160761202000000000000000 1160820610000000000000000 1160920612000000000000000 1161061202020000000000000 11611DROP TABLE t1; 11612# 11613# IF, CASE, LEAST 11614# 11615SELECT IF('abc' COLLATE 'cp1251_nopad_bin' = 'abc ', 'pad', 'nopad'); 11616IF('abc' COLLATE 'cp1251_nopad_bin' = 'abc ', 'pad', 'nopad') 11617nopad 11618SELECT CASE 'abc' COLLATE 'cp1251_nopad_bin' WHEN 'abc ' THEN 'pad' ELSE 'nopad' END; 11619CASE 'abc' COLLATE 'cp1251_nopad_bin' WHEN 'abc ' THEN 'pad' ELSE 'nopad' END 11620nopad 11621SELECT CASE WHEN 'abc' COLLATE 'cp1251_nopad_bin' = 'abc ' THEN 'pad' ELSE 'nopad' END; 11622CASE WHEN 'abc' COLLATE 'cp1251_nopad_bin' = 'abc ' THEN 'pad' ELSE 'nopad' END 11623nopad 11624SELECT HEX(LEAST('abc ' COLLATE 'cp1251_nopad_bin', 'abc ')); 11625HEX(LEAST('abc ' COLLATE 'cp1251_nopad_bin', 'abc ')) 1162661626320 11627SELECT HEX(GREATEST('abc ' COLLATE 'cp1251_nopad_bin', 'abc ')); 11628HEX(GREATEST('abc ' COLLATE 'cp1251_nopad_bin', 'abc ')) 116296162632020 11630# 11631# Collation mix 11632# 11633CREATE TABLE t1 (a VARCHAR(10)) COLLATE 'cp1251_bin'; 11634INSERT INTO t1 VALUES ('a'),('a '); 11635SELECT COUNT(*) FROM t1 WHERE a='a'; 11636COUNT(*) 116372 11638SELECT COUNT(*) FROM t1 WHERE a='a' COLLATE 'cp1251_bin'; 11639COUNT(*) 116402 11641SELECT COUNT(*) FROM t1 WHERE a='a' COLLATE 'cp1251_nopad_bin'; 11642COUNT(*) 116431 11644ALTER TABLE t1 MODIFY a VARCHAR(10) COLLATE 'cp1251_nopad_bin'; 11645SELECT COUNT(*) FROM t1 WHERE a='a'; 11646COUNT(*) 116471 11648SELECT COUNT(*) FROM t1 WHERE a='a' COLLATE 'cp1251_bin'; 11649COUNT(*) 116502 11651SELECT COUNT(*) FROM t1 WHERE a='a' COLLATE 'cp1251_nopad_bin'; 11652COUNT(*) 116531 11654DROP TABLE t1; 11655# 11656# End of ctype_pad.inc 11657# 11658SET DEFAULT_STORAGE_ENGINE=Default; 11659SET character_set_connection=cp1256; 11660SET DEFAULT_STORAGE_ENGINE=MyISAM; 11661# 11662# Start of ctype_pad.inc 11663# 11664# 11665# Unique indexes 11666# 11667CREATE TABLE t1 (a VARCHAR(10) PRIMARY KEY) COLLATE 'cp1256_general_nopad_ci'; 11668SHOW CREATE TABLE t1; 11669Table Create Table 11670t1 CREATE TABLE `t1` ( 11671 `a` varchar(10) COLLATE cp1256_general_nopad_ci NOT NULL, 11672 PRIMARY KEY (`a`) 11673) ENGINE=MyISAM DEFAULT CHARSET=cp1256 COLLATE=cp1256_general_nopad_ci 11674INSERT INTO t1 VALUES ('abc'),('abc '),(' a'),(' a '),('a '); 11675SELECT HEX(a), a FROM t1 ORDER BY a; 11676HEX(a) a 116772061 a 11678206120 a 1167961202020 a 11680616263 abc 116816162632020 abc 11682SELECT HEX(a), a FROM t1 IGNORE INDEX(PRIMARY) ORDER BY a; 11683HEX(a) a 116842061 a 11685206120 a 1168661202020 a 11687616263 abc 116886162632020 abc 11689SELECT HEX(a), a FROM t1 IGNORE INDEX(PRIMARY) ORDER BY a DESC; 11690HEX(a) a 116916162632020 abc 11692616263 abc 1169361202020 a 11694206120 a 116952061 a 11696# 11697# UNION 11698# 11699CREATE TABLE t2 (a VARCHAR(10)) COLLATE 'cp1256_general_nopad_ci'; 11700INSERT INTO t2 VALUES ('abc '),('abc '),(' a'),('a '); 11701SELECT HEX(a),a FROM (SELECT * FROM t1 UNION SELECT * FROM t2 ORDER BY a) td; 11702HEX(a) a 117032061 a 11704206120 a 117056120 a 1170661202020 a 11707616263 abc 1170861626320 abc 117096162632020 abc 11710DROP TABLE t1; 11711DROP TABLE t2; 11712# 11713# DISTINCT, COUNT, MAX 11714# 11715CREATE TABLE t1 (a VARCHAR(10)) COLLATE 'cp1256_general_nopad_ci'; 11716INSERT INTO t1 VALUES ('a'),('a '),(' a'),(' a '),('a '); 11717SELECT HEX(a), a FROM (SELECT DISTINCT a FROM t1 ORDER BY a) td; 11718HEX(a) a 117192061 a 11720206120 a 1172161 a 11722612020 a 1172361202020 a 11724SELECT COUNT(DISTINCT a) FROM t1 ORDER BY a; 11725COUNT(DISTINCT a) 117265 11727SELECT HEX(MAX(a)), MAX(a) FROM t1; 11728HEX(MAX(a)) MAX(a) 1172961202020 a 11730# 11731# GROUP BY 11732# 11733CREATE TABLE t2 (a VARCHAR(10), b int, c varchar(10)) COLLATE 'cp1256_general_nopad_ci'; 11734INSERT t2 values('ab', 12, 'cd'), ('ab', 2, 'ed'), ('aa', 20, 'er'), ('aa ', 0, 'er '); 11735SELECT HEX(a), cnt FROM (SELECT a, COUNT(a) AS cnt FROM t2 GROUP BY a ORDER BY a) AS td; 11736HEX(a) cnt 117376161 1 1173861612020 1 117396162 2 11740DROP TABLE t2; 11741# 11742# Weights 11743# 11744SELECT HEX(WEIGHT_STRING(a AS CHAR(10))) FROM t1; 11745HEX(WEIGHT_STRING(a AS CHAR(10))) 1174641000000000000000000 1174741202000000000000000 1174820410000000000000000 1174920412000000000000000 1175041202020000000000000 11751DROP TABLE t1; 11752# 11753# IF, CASE, LEAST 11754# 11755SELECT IF('abc' COLLATE 'cp1256_general_nopad_ci' = 'abc ', 'pad', 'nopad'); 11756IF('abc' COLLATE 'cp1256_general_nopad_ci' = 'abc ', 'pad', 'nopad') 11757nopad 11758SELECT CASE 'abc' COLLATE 'cp1256_general_nopad_ci' WHEN 'abc ' THEN 'pad' ELSE 'nopad' END; 11759CASE 'abc' COLLATE 'cp1256_general_nopad_ci' WHEN 'abc ' THEN 'pad' ELSE 'nopad' END 11760nopad 11761SELECT CASE WHEN 'abc' COLLATE 'cp1256_general_nopad_ci' = 'abc ' THEN 'pad' ELSE 'nopad' END; 11762CASE WHEN 'abc' COLLATE 'cp1256_general_nopad_ci' = 'abc ' THEN 'pad' ELSE 'nopad' END 11763nopad 11764SELECT HEX(LEAST('abc ' COLLATE 'cp1256_general_nopad_ci', 'abc ')); 11765HEX(LEAST('abc ' COLLATE 'cp1256_general_nopad_ci', 'abc ')) 1176661626320 11767SELECT HEX(GREATEST('abc ' COLLATE 'cp1256_general_nopad_ci', 'abc ')); 11768HEX(GREATEST('abc ' COLLATE 'cp1256_general_nopad_ci', 'abc ')) 117696162632020 11770# 11771# Collation mix 11772# 11773CREATE TABLE t1 (a VARCHAR(10)) COLLATE 'cp1256_general_ci'; 11774INSERT INTO t1 VALUES ('a'),('a '); 11775SELECT COUNT(*) FROM t1 WHERE a='a'; 11776COUNT(*) 117772 11778SELECT COUNT(*) FROM t1 WHERE a='a' COLLATE 'cp1256_general_ci'; 11779COUNT(*) 117802 11781SELECT COUNT(*) FROM t1 WHERE a='a' COLLATE 'cp1256_general_nopad_ci'; 11782COUNT(*) 117831 11784ALTER TABLE t1 MODIFY a VARCHAR(10) COLLATE 'cp1256_general_nopad_ci'; 11785SELECT COUNT(*) FROM t1 WHERE a='a'; 11786COUNT(*) 117871 11788SELECT COUNT(*) FROM t1 WHERE a='a' COLLATE 'cp1256_general_ci'; 11789COUNT(*) 117902 11791SELECT COUNT(*) FROM t1 WHERE a='a' COLLATE 'cp1256_general_nopad_ci'; 11792COUNT(*) 117931 11794DROP TABLE t1; 11795# 11796# End of ctype_pad.inc 11797# 11798SET DEFAULT_STORAGE_ENGINE=HEAP; 11799# 11800# Start of ctype_pad.inc 11801# 11802# 11803# Unique indexes 11804# 11805CREATE TABLE t1 (a VARCHAR(10) PRIMARY KEY) COLLATE 'cp1256_general_nopad_ci'; 11806SHOW CREATE TABLE t1; 11807Table Create Table 11808t1 CREATE TABLE `t1` ( 11809 `a` varchar(10) COLLATE cp1256_general_nopad_ci NOT NULL, 11810 PRIMARY KEY (`a`) 11811) ENGINE=MEMORY DEFAULT CHARSET=cp1256 COLLATE=cp1256_general_nopad_ci 11812INSERT INTO t1 VALUES ('abc'),('abc '),(' a'),(' a '),('a '); 11813SELECT HEX(a), a FROM t1 ORDER BY a; 11814HEX(a) a 118152061 a 11816206120 a 1181761202020 a 11818616263 abc 118196162632020 abc 11820SELECT HEX(a), a FROM t1 IGNORE INDEX(PRIMARY) ORDER BY a; 11821HEX(a) a 118222061 a 11823206120 a 1182461202020 a 11825616263 abc 118266162632020 abc 11827SELECT HEX(a), a FROM t1 IGNORE INDEX(PRIMARY) ORDER BY a DESC; 11828HEX(a) a 118296162632020 abc 11830616263 abc 1183161202020 a 11832206120 a 118332061 a 11834# 11835# UNION 11836# 11837CREATE TABLE t2 (a VARCHAR(10)) COLLATE 'cp1256_general_nopad_ci'; 11838INSERT INTO t2 VALUES ('abc '),('abc '),(' a'),('a '); 11839SELECT HEX(a),a FROM (SELECT * FROM t1 UNION SELECT * FROM t2 ORDER BY a) td; 11840HEX(a) a 118412061 a 11842206120 a 118436120 a 1184461202020 a 11845616263 abc 1184661626320 abc 118476162632020 abc 11848DROP TABLE t1; 11849DROP TABLE t2; 11850# 11851# DISTINCT, COUNT, MAX 11852# 11853CREATE TABLE t1 (a VARCHAR(10)) COLLATE 'cp1256_general_nopad_ci'; 11854INSERT INTO t1 VALUES ('a'),('a '),(' a'),(' a '),('a '); 11855SELECT HEX(a), a FROM (SELECT DISTINCT a FROM t1 ORDER BY a) td; 11856HEX(a) a 118572061 a 11858206120 a 1185961 a 11860612020 a 1186161202020 a 11862SELECT COUNT(DISTINCT a) FROM t1 ORDER BY a; 11863COUNT(DISTINCT a) 118645 11865SELECT HEX(MAX(a)), MAX(a) FROM t1; 11866HEX(MAX(a)) MAX(a) 1186761202020 a 11868# 11869# GROUP BY 11870# 11871CREATE TABLE t2 (a VARCHAR(10), b int, c varchar(10)) COLLATE 'cp1256_general_nopad_ci'; 11872INSERT t2 values('ab', 12, 'cd'), ('ab', 2, 'ed'), ('aa', 20, 'er'), ('aa ', 0, 'er '); 11873SELECT HEX(a), cnt FROM (SELECT a, COUNT(a) AS cnt FROM t2 GROUP BY a ORDER BY a) AS td; 11874HEX(a) cnt 118756161 1 1187661612020 1 118776162 2 11878DROP TABLE t2; 11879# 11880# Weights 11881# 11882SELECT HEX(WEIGHT_STRING(a AS CHAR(10))) FROM t1; 11883HEX(WEIGHT_STRING(a AS CHAR(10))) 1188441000000000000000000 1188541202000000000000000 1188620410000000000000000 1188720412000000000000000 1188841202020000000000000 11889DROP TABLE t1; 11890# 11891# IF, CASE, LEAST 11892# 11893SELECT IF('abc' COLLATE 'cp1256_general_nopad_ci' = 'abc ', 'pad', 'nopad'); 11894IF('abc' COLLATE 'cp1256_general_nopad_ci' = 'abc ', 'pad', 'nopad') 11895nopad 11896SELECT CASE 'abc' COLLATE 'cp1256_general_nopad_ci' WHEN 'abc ' THEN 'pad' ELSE 'nopad' END; 11897CASE 'abc' COLLATE 'cp1256_general_nopad_ci' WHEN 'abc ' THEN 'pad' ELSE 'nopad' END 11898nopad 11899SELECT CASE WHEN 'abc' COLLATE 'cp1256_general_nopad_ci' = 'abc ' THEN 'pad' ELSE 'nopad' END; 11900CASE WHEN 'abc' COLLATE 'cp1256_general_nopad_ci' = 'abc ' THEN 'pad' ELSE 'nopad' END 11901nopad 11902SELECT HEX(LEAST('abc ' COLLATE 'cp1256_general_nopad_ci', 'abc ')); 11903HEX(LEAST('abc ' COLLATE 'cp1256_general_nopad_ci', 'abc ')) 1190461626320 11905SELECT HEX(GREATEST('abc ' COLLATE 'cp1256_general_nopad_ci', 'abc ')); 11906HEX(GREATEST('abc ' COLLATE 'cp1256_general_nopad_ci', 'abc ')) 119076162632020 11908# 11909# Collation mix 11910# 11911CREATE TABLE t1 (a VARCHAR(10)) COLLATE 'cp1256_general_ci'; 11912INSERT INTO t1 VALUES ('a'),('a '); 11913SELECT COUNT(*) FROM t1 WHERE a='a'; 11914COUNT(*) 119152 11916SELECT COUNT(*) FROM t1 WHERE a='a' COLLATE 'cp1256_general_ci'; 11917COUNT(*) 119182 11919SELECT COUNT(*) FROM t1 WHERE a='a' COLLATE 'cp1256_general_nopad_ci'; 11920COUNT(*) 119211 11922ALTER TABLE t1 MODIFY a VARCHAR(10) COLLATE 'cp1256_general_nopad_ci'; 11923SELECT COUNT(*) FROM t1 WHERE a='a'; 11924COUNT(*) 119251 11926SELECT COUNT(*) FROM t1 WHERE a='a' COLLATE 'cp1256_general_ci'; 11927COUNT(*) 119282 11929SELECT COUNT(*) FROM t1 WHERE a='a' COLLATE 'cp1256_general_nopad_ci'; 11930COUNT(*) 119311 11932DROP TABLE t1; 11933# 11934# End of ctype_pad.inc 11935# 11936SET DEFAULT_STORAGE_ENGINE=Default; 11937SET DEFAULT_STORAGE_ENGINE=MyISAM; 11938# 11939# Start of ctype_pad.inc 11940# 11941# 11942# Unique indexes 11943# 11944CREATE TABLE t1 (a VARCHAR(10) PRIMARY KEY) COLLATE 'cp1256_nopad_bin'; 11945SHOW CREATE TABLE t1; 11946Table Create Table 11947t1 CREATE TABLE `t1` ( 11948 `a` varchar(10) COLLATE cp1256_nopad_bin NOT NULL, 11949 PRIMARY KEY (`a`) 11950) ENGINE=MyISAM DEFAULT CHARSET=cp1256 COLLATE=cp1256_nopad_bin 11951INSERT INTO t1 VALUES ('abc'),('abc '),(' a'),(' a '),('a '); 11952SELECT HEX(a), a FROM t1 ORDER BY a; 11953HEX(a) a 119542061 a 11955206120 a 1195661202020 a 11957616263 abc 119586162632020 abc 11959SELECT HEX(a), a FROM t1 IGNORE INDEX(PRIMARY) ORDER BY a; 11960HEX(a) a 119612061 a 11962206120 a 1196361202020 a 11964616263 abc 119656162632020 abc 11966SELECT HEX(a), a FROM t1 IGNORE INDEX(PRIMARY) ORDER BY a DESC; 11967HEX(a) a 119686162632020 abc 11969616263 abc 1197061202020 a 11971206120 a 119722061 a 11973# 11974# UNION 11975# 11976CREATE TABLE t2 (a VARCHAR(10)) COLLATE 'cp1256_nopad_bin'; 11977INSERT INTO t2 VALUES ('abc '),('abc '),(' a'),('a '); 11978SELECT HEX(a),a FROM (SELECT * FROM t1 UNION SELECT * FROM t2 ORDER BY a) td; 11979HEX(a) a 119802061 a 11981206120 a 119826120 a 1198361202020 a 11984616263 abc 1198561626320 abc 119866162632020 abc 11987DROP TABLE t1; 11988DROP TABLE t2; 11989# 11990# DISTINCT, COUNT, MAX 11991# 11992CREATE TABLE t1 (a VARCHAR(10)) COLLATE 'cp1256_nopad_bin'; 11993INSERT INTO t1 VALUES ('a'),('a '),(' a'),(' a '),('a '); 11994SELECT HEX(a), a FROM (SELECT DISTINCT a FROM t1 ORDER BY a) td; 11995HEX(a) a 119962061 a 11997206120 a 1199861 a 11999612020 a 1200061202020 a 12001SELECT COUNT(DISTINCT a) FROM t1 ORDER BY a; 12002COUNT(DISTINCT a) 120035 12004SELECT HEX(MAX(a)), MAX(a) FROM t1; 12005HEX(MAX(a)) MAX(a) 1200661202020 a 12007# 12008# GROUP BY 12009# 12010CREATE TABLE t2 (a VARCHAR(10), b int, c varchar(10)) COLLATE 'cp1256_nopad_bin'; 12011INSERT t2 values('ab', 12, 'cd'), ('ab', 2, 'ed'), ('aa', 20, 'er'), ('aa ', 0, 'er '); 12012SELECT HEX(a), cnt FROM (SELECT a, COUNT(a) AS cnt FROM t2 GROUP BY a ORDER BY a) AS td; 12013HEX(a) cnt 120146161 1 1201561612020 1 120166162 2 12017DROP TABLE t2; 12018# 12019# Weights 12020# 12021SELECT HEX(WEIGHT_STRING(a AS CHAR(10))) FROM t1; 12022HEX(WEIGHT_STRING(a AS CHAR(10))) 1202361000000000000000000 1202461202000000000000000 1202520610000000000000000 1202620612000000000000000 1202761202020000000000000 12028DROP TABLE t1; 12029# 12030# IF, CASE, LEAST 12031# 12032SELECT IF('abc' COLLATE 'cp1256_nopad_bin' = 'abc ', 'pad', 'nopad'); 12033IF('abc' COLLATE 'cp1256_nopad_bin' = 'abc ', 'pad', 'nopad') 12034nopad 12035SELECT CASE 'abc' COLLATE 'cp1256_nopad_bin' WHEN 'abc ' THEN 'pad' ELSE 'nopad' END; 12036CASE 'abc' COLLATE 'cp1256_nopad_bin' WHEN 'abc ' THEN 'pad' ELSE 'nopad' END 12037nopad 12038SELECT CASE WHEN 'abc' COLLATE 'cp1256_nopad_bin' = 'abc ' THEN 'pad' ELSE 'nopad' END; 12039CASE WHEN 'abc' COLLATE 'cp1256_nopad_bin' = 'abc ' THEN 'pad' ELSE 'nopad' END 12040nopad 12041SELECT HEX(LEAST('abc ' COLLATE 'cp1256_nopad_bin', 'abc ')); 12042HEX(LEAST('abc ' COLLATE 'cp1256_nopad_bin', 'abc ')) 1204361626320 12044SELECT HEX(GREATEST('abc ' COLLATE 'cp1256_nopad_bin', 'abc ')); 12045HEX(GREATEST('abc ' COLLATE 'cp1256_nopad_bin', 'abc ')) 120466162632020 12047# 12048# Collation mix 12049# 12050CREATE TABLE t1 (a VARCHAR(10)) COLLATE 'cp1256_bin'; 12051INSERT INTO t1 VALUES ('a'),('a '); 12052SELECT COUNT(*) FROM t1 WHERE a='a'; 12053COUNT(*) 120542 12055SELECT COUNT(*) FROM t1 WHERE a='a' COLLATE 'cp1256_bin'; 12056COUNT(*) 120572 12058SELECT COUNT(*) FROM t1 WHERE a='a' COLLATE 'cp1256_nopad_bin'; 12059COUNT(*) 120601 12061ALTER TABLE t1 MODIFY a VARCHAR(10) COLLATE 'cp1256_nopad_bin'; 12062SELECT COUNT(*) FROM t1 WHERE a='a'; 12063COUNT(*) 120641 12065SELECT COUNT(*) FROM t1 WHERE a='a' COLLATE 'cp1256_bin'; 12066COUNT(*) 120672 12068SELECT COUNT(*) FROM t1 WHERE a='a' COLLATE 'cp1256_nopad_bin'; 12069COUNT(*) 120701 12071DROP TABLE t1; 12072# 12073# End of ctype_pad.inc 12074# 12075SET DEFAULT_STORAGE_ENGINE=HEAP; 12076# 12077# Start of ctype_pad.inc 12078# 12079# 12080# Unique indexes 12081# 12082CREATE TABLE t1 (a VARCHAR(10) PRIMARY KEY) COLLATE 'cp1256_nopad_bin'; 12083SHOW CREATE TABLE t1; 12084Table Create Table 12085t1 CREATE TABLE `t1` ( 12086 `a` varchar(10) COLLATE cp1256_nopad_bin NOT NULL, 12087 PRIMARY KEY (`a`) 12088) ENGINE=MEMORY DEFAULT CHARSET=cp1256 COLLATE=cp1256_nopad_bin 12089INSERT INTO t1 VALUES ('abc'),('abc '),(' a'),(' a '),('a '); 12090SELECT HEX(a), a FROM t1 ORDER BY a; 12091HEX(a) a 120922061 a 12093206120 a 1209461202020 a 12095616263 abc 120966162632020 abc 12097SELECT HEX(a), a FROM t1 IGNORE INDEX(PRIMARY) ORDER BY a; 12098HEX(a) a 120992061 a 12100206120 a 1210161202020 a 12102616263 abc 121036162632020 abc 12104SELECT HEX(a), a FROM t1 IGNORE INDEX(PRIMARY) ORDER BY a DESC; 12105HEX(a) a 121066162632020 abc 12107616263 abc 1210861202020 a 12109206120 a 121102061 a 12111# 12112# UNION 12113# 12114CREATE TABLE t2 (a VARCHAR(10)) COLLATE 'cp1256_nopad_bin'; 12115INSERT INTO t2 VALUES ('abc '),('abc '),(' a'),('a '); 12116SELECT HEX(a),a FROM (SELECT * FROM t1 UNION SELECT * FROM t2 ORDER BY a) td; 12117HEX(a) a 121182061 a 12119206120 a 121206120 a 1212161202020 a 12122616263 abc 1212361626320 abc 121246162632020 abc 12125DROP TABLE t1; 12126DROP TABLE t2; 12127# 12128# DISTINCT, COUNT, MAX 12129# 12130CREATE TABLE t1 (a VARCHAR(10)) COLLATE 'cp1256_nopad_bin'; 12131INSERT INTO t1 VALUES ('a'),('a '),(' a'),(' a '),('a '); 12132SELECT HEX(a), a FROM (SELECT DISTINCT a FROM t1 ORDER BY a) td; 12133HEX(a) a 121342061 a 12135206120 a 1213661 a 12137612020 a 1213861202020 a 12139SELECT COUNT(DISTINCT a) FROM t1 ORDER BY a; 12140COUNT(DISTINCT a) 121415 12142SELECT HEX(MAX(a)), MAX(a) FROM t1; 12143HEX(MAX(a)) MAX(a) 1214461202020 a 12145# 12146# GROUP BY 12147# 12148CREATE TABLE t2 (a VARCHAR(10), b int, c varchar(10)) COLLATE 'cp1256_nopad_bin'; 12149INSERT t2 values('ab', 12, 'cd'), ('ab', 2, 'ed'), ('aa', 20, 'er'), ('aa ', 0, 'er '); 12150SELECT HEX(a), cnt FROM (SELECT a, COUNT(a) AS cnt FROM t2 GROUP BY a ORDER BY a) AS td; 12151HEX(a) cnt 121526161 1 1215361612020 1 121546162 2 12155DROP TABLE t2; 12156# 12157# Weights 12158# 12159SELECT HEX(WEIGHT_STRING(a AS CHAR(10))) FROM t1; 12160HEX(WEIGHT_STRING(a AS CHAR(10))) 1216161000000000000000000 1216261202000000000000000 1216320610000000000000000 1216420612000000000000000 1216561202020000000000000 12166DROP TABLE t1; 12167# 12168# IF, CASE, LEAST 12169# 12170SELECT IF('abc' COLLATE 'cp1256_nopad_bin' = 'abc ', 'pad', 'nopad'); 12171IF('abc' COLLATE 'cp1256_nopad_bin' = 'abc ', 'pad', 'nopad') 12172nopad 12173SELECT CASE 'abc' COLLATE 'cp1256_nopad_bin' WHEN 'abc ' THEN 'pad' ELSE 'nopad' END; 12174CASE 'abc' COLLATE 'cp1256_nopad_bin' WHEN 'abc ' THEN 'pad' ELSE 'nopad' END 12175nopad 12176SELECT CASE WHEN 'abc' COLLATE 'cp1256_nopad_bin' = 'abc ' THEN 'pad' ELSE 'nopad' END; 12177CASE WHEN 'abc' COLLATE 'cp1256_nopad_bin' = 'abc ' THEN 'pad' ELSE 'nopad' END 12178nopad 12179SELECT HEX(LEAST('abc ' COLLATE 'cp1256_nopad_bin', 'abc ')); 12180HEX(LEAST('abc ' COLLATE 'cp1256_nopad_bin', 'abc ')) 1218161626320 12182SELECT HEX(GREATEST('abc ' COLLATE 'cp1256_nopad_bin', 'abc ')); 12183HEX(GREATEST('abc ' COLLATE 'cp1256_nopad_bin', 'abc ')) 121846162632020 12185# 12186# Collation mix 12187# 12188CREATE TABLE t1 (a VARCHAR(10)) COLLATE 'cp1256_bin'; 12189INSERT INTO t1 VALUES ('a'),('a '); 12190SELECT COUNT(*) FROM t1 WHERE a='a'; 12191COUNT(*) 121922 12193SELECT COUNT(*) FROM t1 WHERE a='a' COLLATE 'cp1256_bin'; 12194COUNT(*) 121952 12196SELECT COUNT(*) FROM t1 WHERE a='a' COLLATE 'cp1256_nopad_bin'; 12197COUNT(*) 121981 12199ALTER TABLE t1 MODIFY a VARCHAR(10) COLLATE 'cp1256_nopad_bin'; 12200SELECT COUNT(*) FROM t1 WHERE a='a'; 12201COUNT(*) 122021 12203SELECT COUNT(*) FROM t1 WHERE a='a' COLLATE 'cp1256_bin'; 12204COUNT(*) 122052 12206SELECT COUNT(*) FROM t1 WHERE a='a' COLLATE 'cp1256_nopad_bin'; 12207COUNT(*) 122081 12209DROP TABLE t1; 12210# 12211# End of ctype_pad.inc 12212# 12213SET DEFAULT_STORAGE_ENGINE=Default; 12214SET character_set_connection=geostd8; 12215SET DEFAULT_STORAGE_ENGINE=MyISAM; 12216# 12217# Start of ctype_pad.inc 12218# 12219# 12220# Unique indexes 12221# 12222CREATE TABLE t1 (a VARCHAR(10) PRIMARY KEY) COLLATE 'geostd8_general_nopad_ci'; 12223SHOW CREATE TABLE t1; 12224Table Create Table 12225t1 CREATE TABLE `t1` ( 12226 `a` varchar(10) COLLATE geostd8_general_nopad_ci NOT NULL, 12227 PRIMARY KEY (`a`) 12228) ENGINE=MyISAM DEFAULT CHARSET=geostd8 COLLATE=geostd8_general_nopad_ci 12229INSERT INTO t1 VALUES ('abc'),('abc '),(' a'),(' a '),('a '); 12230SELECT HEX(a), a FROM t1 ORDER BY a; 12231HEX(a) a 122322061 a 12233206120 a 1223461202020 a 12235616263 abc 122366162632020 abc 12237SELECT HEX(a), a FROM t1 IGNORE INDEX(PRIMARY) ORDER BY a; 12238HEX(a) a 122392061 a 12240206120 a 1224161202020 a 12242616263 abc 122436162632020 abc 12244SELECT HEX(a), a FROM t1 IGNORE INDEX(PRIMARY) ORDER BY a DESC; 12245HEX(a) a 122466162632020 abc 12247616263 abc 1224861202020 a 12249206120 a 122502061 a 12251# 12252# UNION 12253# 12254CREATE TABLE t2 (a VARCHAR(10)) COLLATE 'geostd8_general_nopad_ci'; 12255INSERT INTO t2 VALUES ('abc '),('abc '),(' a'),('a '); 12256SELECT HEX(a),a FROM (SELECT * FROM t1 UNION SELECT * FROM t2 ORDER BY a) td; 12257HEX(a) a 122582061 a 12259206120 a 122606120 a 1226161202020 a 12262616263 abc 1226361626320 abc 122646162632020 abc 12265DROP TABLE t1; 12266DROP TABLE t2; 12267# 12268# DISTINCT, COUNT, MAX 12269# 12270CREATE TABLE t1 (a VARCHAR(10)) COLLATE 'geostd8_general_nopad_ci'; 12271INSERT INTO t1 VALUES ('a'),('a '),(' a'),(' a '),('a '); 12272SELECT HEX(a), a FROM (SELECT DISTINCT a FROM t1 ORDER BY a) td; 12273HEX(a) a 122742061 a 12275206120 a 1227661 a 12277612020 a 1227861202020 a 12279SELECT COUNT(DISTINCT a) FROM t1 ORDER BY a; 12280COUNT(DISTINCT a) 122815 12282SELECT HEX(MAX(a)), MAX(a) FROM t1; 12283HEX(MAX(a)) MAX(a) 1228461202020 a 12285# 12286# GROUP BY 12287# 12288CREATE TABLE t2 (a VARCHAR(10), b int, c varchar(10)) COLLATE 'geostd8_general_nopad_ci'; 12289INSERT t2 values('ab', 12, 'cd'), ('ab', 2, 'ed'), ('aa', 20, 'er'), ('aa ', 0, 'er '); 12290SELECT HEX(a), cnt FROM (SELECT a, COUNT(a) AS cnt FROM t2 GROUP BY a ORDER BY a) AS td; 12291HEX(a) cnt 122926161 1 1229361612020 1 122946162 2 12295DROP TABLE t2; 12296# 12297# Weights 12298# 12299SELECT HEX(WEIGHT_STRING(a AS CHAR(10))) FROM t1; 12300HEX(WEIGHT_STRING(a AS CHAR(10))) 1230141000000000000000000 1230241202000000000000000 1230320410000000000000000 1230420412000000000000000 1230541202020000000000000 12306DROP TABLE t1; 12307# 12308# IF, CASE, LEAST 12309# 12310SELECT IF('abc' COLLATE 'geostd8_general_nopad_ci' = 'abc ', 'pad', 'nopad'); 12311IF('abc' COLLATE 'geostd8_general_nopad_ci' = 'abc ', 'pad', 'nopad') 12312nopad 12313SELECT CASE 'abc' COLLATE 'geostd8_general_nopad_ci' WHEN 'abc ' THEN 'pad' ELSE 'nopad' END; 12314CASE 'abc' COLLATE 'geostd8_general_nopad_ci' WHEN 'abc ' THEN 'pad' ELSE 'nopad' END 12315nopad 12316SELECT CASE WHEN 'abc' COLLATE 'geostd8_general_nopad_ci' = 'abc ' THEN 'pad' ELSE 'nopad' END; 12317CASE WHEN 'abc' COLLATE 'geostd8_general_nopad_ci' = 'abc ' THEN 'pad' ELSE 'nopad' END 12318nopad 12319SELECT HEX(LEAST('abc ' COLLATE 'geostd8_general_nopad_ci', 'abc ')); 12320HEX(LEAST('abc ' COLLATE 'geostd8_general_nopad_ci', 'abc ')) 1232161626320 12322SELECT HEX(GREATEST('abc ' COLLATE 'geostd8_general_nopad_ci', 'abc ')); 12323HEX(GREATEST('abc ' COLLATE 'geostd8_general_nopad_ci', 'abc ')) 123246162632020 12325# 12326# Collation mix 12327# 12328CREATE TABLE t1 (a VARCHAR(10)) COLLATE 'geostd8_general_ci'; 12329INSERT INTO t1 VALUES ('a'),('a '); 12330SELECT COUNT(*) FROM t1 WHERE a='a'; 12331COUNT(*) 123322 12333SELECT COUNT(*) FROM t1 WHERE a='a' COLLATE 'geostd8_general_ci'; 12334COUNT(*) 123352 12336SELECT COUNT(*) FROM t1 WHERE a='a' COLLATE 'geostd8_general_nopad_ci'; 12337COUNT(*) 123381 12339ALTER TABLE t1 MODIFY a VARCHAR(10) COLLATE 'geostd8_general_nopad_ci'; 12340SELECT COUNT(*) FROM t1 WHERE a='a'; 12341COUNT(*) 123421 12343SELECT COUNT(*) FROM t1 WHERE a='a' COLLATE 'geostd8_general_ci'; 12344COUNT(*) 123452 12346SELECT COUNT(*) FROM t1 WHERE a='a' COLLATE 'geostd8_general_nopad_ci'; 12347COUNT(*) 123481 12349DROP TABLE t1; 12350# 12351# End of ctype_pad.inc 12352# 12353SET DEFAULT_STORAGE_ENGINE=HEAP; 12354# 12355# Start of ctype_pad.inc 12356# 12357# 12358# Unique indexes 12359# 12360CREATE TABLE t1 (a VARCHAR(10) PRIMARY KEY) COLLATE 'geostd8_general_nopad_ci'; 12361SHOW CREATE TABLE t1; 12362Table Create Table 12363t1 CREATE TABLE `t1` ( 12364 `a` varchar(10) COLLATE geostd8_general_nopad_ci NOT NULL, 12365 PRIMARY KEY (`a`) 12366) ENGINE=MEMORY DEFAULT CHARSET=geostd8 COLLATE=geostd8_general_nopad_ci 12367INSERT INTO t1 VALUES ('abc'),('abc '),(' a'),(' a '),('a '); 12368SELECT HEX(a), a FROM t1 ORDER BY a; 12369HEX(a) a 123702061 a 12371206120 a 1237261202020 a 12373616263 abc 123746162632020 abc 12375SELECT HEX(a), a FROM t1 IGNORE INDEX(PRIMARY) ORDER BY a; 12376HEX(a) a 123772061 a 12378206120 a 1237961202020 a 12380616263 abc 123816162632020 abc 12382SELECT HEX(a), a FROM t1 IGNORE INDEX(PRIMARY) ORDER BY a DESC; 12383HEX(a) a 123846162632020 abc 12385616263 abc 1238661202020 a 12387206120 a 123882061 a 12389# 12390# UNION 12391# 12392CREATE TABLE t2 (a VARCHAR(10)) COLLATE 'geostd8_general_nopad_ci'; 12393INSERT INTO t2 VALUES ('abc '),('abc '),(' a'),('a '); 12394SELECT HEX(a),a FROM (SELECT * FROM t1 UNION SELECT * FROM t2 ORDER BY a) td; 12395HEX(a) a 123962061 a 12397206120 a 123986120 a 1239961202020 a 12400616263 abc 1240161626320 abc 124026162632020 abc 12403DROP TABLE t1; 12404DROP TABLE t2; 12405# 12406# DISTINCT, COUNT, MAX 12407# 12408CREATE TABLE t1 (a VARCHAR(10)) COLLATE 'geostd8_general_nopad_ci'; 12409INSERT INTO t1 VALUES ('a'),('a '),(' a'),(' a '),('a '); 12410SELECT HEX(a), a FROM (SELECT DISTINCT a FROM t1 ORDER BY a) td; 12411HEX(a) a 124122061 a 12413206120 a 1241461 a 12415612020 a 1241661202020 a 12417SELECT COUNT(DISTINCT a) FROM t1 ORDER BY a; 12418COUNT(DISTINCT a) 124195 12420SELECT HEX(MAX(a)), MAX(a) FROM t1; 12421HEX(MAX(a)) MAX(a) 1242261202020 a 12423# 12424# GROUP BY 12425# 12426CREATE TABLE t2 (a VARCHAR(10), b int, c varchar(10)) COLLATE 'geostd8_general_nopad_ci'; 12427INSERT t2 values('ab', 12, 'cd'), ('ab', 2, 'ed'), ('aa', 20, 'er'), ('aa ', 0, 'er '); 12428SELECT HEX(a), cnt FROM (SELECT a, COUNT(a) AS cnt FROM t2 GROUP BY a ORDER BY a) AS td; 12429HEX(a) cnt 124306161 1 1243161612020 1 124326162 2 12433DROP TABLE t2; 12434# 12435# Weights 12436# 12437SELECT HEX(WEIGHT_STRING(a AS CHAR(10))) FROM t1; 12438HEX(WEIGHT_STRING(a AS CHAR(10))) 1243941000000000000000000 1244041202000000000000000 1244120410000000000000000 1244220412000000000000000 1244341202020000000000000 12444DROP TABLE t1; 12445# 12446# IF, CASE, LEAST 12447# 12448SELECT IF('abc' COLLATE 'geostd8_general_nopad_ci' = 'abc ', 'pad', 'nopad'); 12449IF('abc' COLLATE 'geostd8_general_nopad_ci' = 'abc ', 'pad', 'nopad') 12450nopad 12451SELECT CASE 'abc' COLLATE 'geostd8_general_nopad_ci' WHEN 'abc ' THEN 'pad' ELSE 'nopad' END; 12452CASE 'abc' COLLATE 'geostd8_general_nopad_ci' WHEN 'abc ' THEN 'pad' ELSE 'nopad' END 12453nopad 12454SELECT CASE WHEN 'abc' COLLATE 'geostd8_general_nopad_ci' = 'abc ' THEN 'pad' ELSE 'nopad' END; 12455CASE WHEN 'abc' COLLATE 'geostd8_general_nopad_ci' = 'abc ' THEN 'pad' ELSE 'nopad' END 12456nopad 12457SELECT HEX(LEAST('abc ' COLLATE 'geostd8_general_nopad_ci', 'abc ')); 12458HEX(LEAST('abc ' COLLATE 'geostd8_general_nopad_ci', 'abc ')) 1245961626320 12460SELECT HEX(GREATEST('abc ' COLLATE 'geostd8_general_nopad_ci', 'abc ')); 12461HEX(GREATEST('abc ' COLLATE 'geostd8_general_nopad_ci', 'abc ')) 124626162632020 12463# 12464# Collation mix 12465# 12466CREATE TABLE t1 (a VARCHAR(10)) COLLATE 'geostd8_general_ci'; 12467INSERT INTO t1 VALUES ('a'),('a '); 12468SELECT COUNT(*) FROM t1 WHERE a='a'; 12469COUNT(*) 124702 12471SELECT COUNT(*) FROM t1 WHERE a='a' COLLATE 'geostd8_general_ci'; 12472COUNT(*) 124732 12474SELECT COUNT(*) FROM t1 WHERE a='a' COLLATE 'geostd8_general_nopad_ci'; 12475COUNT(*) 124761 12477ALTER TABLE t1 MODIFY a VARCHAR(10) COLLATE 'geostd8_general_nopad_ci'; 12478SELECT COUNT(*) FROM t1 WHERE a='a'; 12479COUNT(*) 124801 12481SELECT COUNT(*) FROM t1 WHERE a='a' COLLATE 'geostd8_general_ci'; 12482COUNT(*) 124832 12484SELECT COUNT(*) FROM t1 WHERE a='a' COLLATE 'geostd8_general_nopad_ci'; 12485COUNT(*) 124861 12487DROP TABLE t1; 12488# 12489# End of ctype_pad.inc 12490# 12491SET DEFAULT_STORAGE_ENGINE=Default; 12492SET DEFAULT_STORAGE_ENGINE=MyISAM; 12493# 12494# Start of ctype_pad.inc 12495# 12496# 12497# Unique indexes 12498# 12499CREATE TABLE t1 (a VARCHAR(10) PRIMARY KEY) COLLATE 'geostd8_nopad_bin'; 12500SHOW CREATE TABLE t1; 12501Table Create Table 12502t1 CREATE TABLE `t1` ( 12503 `a` varchar(10) COLLATE geostd8_nopad_bin NOT NULL, 12504 PRIMARY KEY (`a`) 12505) ENGINE=MyISAM DEFAULT CHARSET=geostd8 COLLATE=geostd8_nopad_bin 12506INSERT INTO t1 VALUES ('abc'),('abc '),(' a'),(' a '),('a '); 12507SELECT HEX(a), a FROM t1 ORDER BY a; 12508HEX(a) a 125092061 a 12510206120 a 1251161202020 a 12512616263 abc 125136162632020 abc 12514SELECT HEX(a), a FROM t1 IGNORE INDEX(PRIMARY) ORDER BY a; 12515HEX(a) a 125162061 a 12517206120 a 1251861202020 a 12519616263 abc 125206162632020 abc 12521SELECT HEX(a), a FROM t1 IGNORE INDEX(PRIMARY) ORDER BY a DESC; 12522HEX(a) a 125236162632020 abc 12524616263 abc 1252561202020 a 12526206120 a 125272061 a 12528# 12529# UNION 12530# 12531CREATE TABLE t2 (a VARCHAR(10)) COLLATE 'geostd8_nopad_bin'; 12532INSERT INTO t2 VALUES ('abc '),('abc '),(' a'),('a '); 12533SELECT HEX(a),a FROM (SELECT * FROM t1 UNION SELECT * FROM t2 ORDER BY a) td; 12534HEX(a) a 125352061 a 12536206120 a 125376120 a 1253861202020 a 12539616263 abc 1254061626320 abc 125416162632020 abc 12542DROP TABLE t1; 12543DROP TABLE t2; 12544# 12545# DISTINCT, COUNT, MAX 12546# 12547CREATE TABLE t1 (a VARCHAR(10)) COLLATE 'geostd8_nopad_bin'; 12548INSERT INTO t1 VALUES ('a'),('a '),(' a'),(' a '),('a '); 12549SELECT HEX(a), a FROM (SELECT DISTINCT a FROM t1 ORDER BY a) td; 12550HEX(a) a 125512061 a 12552206120 a 1255361 a 12554612020 a 1255561202020 a 12556SELECT COUNT(DISTINCT a) FROM t1 ORDER BY a; 12557COUNT(DISTINCT a) 125585 12559SELECT HEX(MAX(a)), MAX(a) FROM t1; 12560HEX(MAX(a)) MAX(a) 1256161202020 a 12562# 12563# GROUP BY 12564# 12565CREATE TABLE t2 (a VARCHAR(10), b int, c varchar(10)) COLLATE 'geostd8_nopad_bin'; 12566INSERT t2 values('ab', 12, 'cd'), ('ab', 2, 'ed'), ('aa', 20, 'er'), ('aa ', 0, 'er '); 12567SELECT HEX(a), cnt FROM (SELECT a, COUNT(a) AS cnt FROM t2 GROUP BY a ORDER BY a) AS td; 12568HEX(a) cnt 125696161 1 1257061612020 1 125716162 2 12572DROP TABLE t2; 12573# 12574# Weights 12575# 12576SELECT HEX(WEIGHT_STRING(a AS CHAR(10))) FROM t1; 12577HEX(WEIGHT_STRING(a AS CHAR(10))) 1257861000000000000000000 1257961202000000000000000 1258020610000000000000000 1258120612000000000000000 1258261202020000000000000 12583DROP TABLE t1; 12584# 12585# IF, CASE, LEAST 12586# 12587SELECT IF('abc' COLLATE 'geostd8_nopad_bin' = 'abc ', 'pad', 'nopad'); 12588IF('abc' COLLATE 'geostd8_nopad_bin' = 'abc ', 'pad', 'nopad') 12589nopad 12590SELECT CASE 'abc' COLLATE 'geostd8_nopad_bin' WHEN 'abc ' THEN 'pad' ELSE 'nopad' END; 12591CASE 'abc' COLLATE 'geostd8_nopad_bin' WHEN 'abc ' THEN 'pad' ELSE 'nopad' END 12592nopad 12593SELECT CASE WHEN 'abc' COLLATE 'geostd8_nopad_bin' = 'abc ' THEN 'pad' ELSE 'nopad' END; 12594CASE WHEN 'abc' COLLATE 'geostd8_nopad_bin' = 'abc ' THEN 'pad' ELSE 'nopad' END 12595nopad 12596SELECT HEX(LEAST('abc ' COLLATE 'geostd8_nopad_bin', 'abc ')); 12597HEX(LEAST('abc ' COLLATE 'geostd8_nopad_bin', 'abc ')) 1259861626320 12599SELECT HEX(GREATEST('abc ' COLLATE 'geostd8_nopad_bin', 'abc ')); 12600HEX(GREATEST('abc ' COLLATE 'geostd8_nopad_bin', 'abc ')) 126016162632020 12602# 12603# Collation mix 12604# 12605CREATE TABLE t1 (a VARCHAR(10)) COLLATE 'geostd8_bin'; 12606INSERT INTO t1 VALUES ('a'),('a '); 12607SELECT COUNT(*) FROM t1 WHERE a='a'; 12608COUNT(*) 126092 12610SELECT COUNT(*) FROM t1 WHERE a='a' COLLATE 'geostd8_bin'; 12611COUNT(*) 126122 12613SELECT COUNT(*) FROM t1 WHERE a='a' COLLATE 'geostd8_nopad_bin'; 12614COUNT(*) 126151 12616ALTER TABLE t1 MODIFY a VARCHAR(10) COLLATE 'geostd8_nopad_bin'; 12617SELECT COUNT(*) FROM t1 WHERE a='a'; 12618COUNT(*) 126191 12620SELECT COUNT(*) FROM t1 WHERE a='a' COLLATE 'geostd8_bin'; 12621COUNT(*) 126222 12623SELECT COUNT(*) FROM t1 WHERE a='a' COLLATE 'geostd8_nopad_bin'; 12624COUNT(*) 126251 12626DROP TABLE t1; 12627# 12628# End of ctype_pad.inc 12629# 12630SET DEFAULT_STORAGE_ENGINE=HEAP; 12631# 12632# Start of ctype_pad.inc 12633# 12634# 12635# Unique indexes 12636# 12637CREATE TABLE t1 (a VARCHAR(10) PRIMARY KEY) COLLATE 'geostd8_nopad_bin'; 12638SHOW CREATE TABLE t1; 12639Table Create Table 12640t1 CREATE TABLE `t1` ( 12641 `a` varchar(10) COLLATE geostd8_nopad_bin NOT NULL, 12642 PRIMARY KEY (`a`) 12643) ENGINE=MEMORY DEFAULT CHARSET=geostd8 COLLATE=geostd8_nopad_bin 12644INSERT INTO t1 VALUES ('abc'),('abc '),(' a'),(' a '),('a '); 12645SELECT HEX(a), a FROM t1 ORDER BY a; 12646HEX(a) a 126472061 a 12648206120 a 1264961202020 a 12650616263 abc 126516162632020 abc 12652SELECT HEX(a), a FROM t1 IGNORE INDEX(PRIMARY) ORDER BY a; 12653HEX(a) a 126542061 a 12655206120 a 1265661202020 a 12657616263 abc 126586162632020 abc 12659SELECT HEX(a), a FROM t1 IGNORE INDEX(PRIMARY) ORDER BY a DESC; 12660HEX(a) a 126616162632020 abc 12662616263 abc 1266361202020 a 12664206120 a 126652061 a 12666# 12667# UNION 12668# 12669CREATE TABLE t2 (a VARCHAR(10)) COLLATE 'geostd8_nopad_bin'; 12670INSERT INTO t2 VALUES ('abc '),('abc '),(' a'),('a '); 12671SELECT HEX(a),a FROM (SELECT * FROM t1 UNION SELECT * FROM t2 ORDER BY a) td; 12672HEX(a) a 126732061 a 12674206120 a 126756120 a 1267661202020 a 12677616263 abc 1267861626320 abc 126796162632020 abc 12680DROP TABLE t1; 12681DROP TABLE t2; 12682# 12683# DISTINCT, COUNT, MAX 12684# 12685CREATE TABLE t1 (a VARCHAR(10)) COLLATE 'geostd8_nopad_bin'; 12686INSERT INTO t1 VALUES ('a'),('a '),(' a'),(' a '),('a '); 12687SELECT HEX(a), a FROM (SELECT DISTINCT a FROM t1 ORDER BY a) td; 12688HEX(a) a 126892061 a 12690206120 a 1269161 a 12692612020 a 1269361202020 a 12694SELECT COUNT(DISTINCT a) FROM t1 ORDER BY a; 12695COUNT(DISTINCT a) 126965 12697SELECT HEX(MAX(a)), MAX(a) FROM t1; 12698HEX(MAX(a)) MAX(a) 1269961202020 a 12700# 12701# GROUP BY 12702# 12703CREATE TABLE t2 (a VARCHAR(10), b int, c varchar(10)) COLLATE 'geostd8_nopad_bin'; 12704INSERT t2 values('ab', 12, 'cd'), ('ab', 2, 'ed'), ('aa', 20, 'er'), ('aa ', 0, 'er '); 12705SELECT HEX(a), cnt FROM (SELECT a, COUNT(a) AS cnt FROM t2 GROUP BY a ORDER BY a) AS td; 12706HEX(a) cnt 127076161 1 1270861612020 1 127096162 2 12710DROP TABLE t2; 12711# 12712# Weights 12713# 12714SELECT HEX(WEIGHT_STRING(a AS CHAR(10))) FROM t1; 12715HEX(WEIGHT_STRING(a AS CHAR(10))) 1271661000000000000000000 1271761202000000000000000 1271820610000000000000000 1271920612000000000000000 1272061202020000000000000 12721DROP TABLE t1; 12722# 12723# IF, CASE, LEAST 12724# 12725SELECT IF('abc' COLLATE 'geostd8_nopad_bin' = 'abc ', 'pad', 'nopad'); 12726IF('abc' COLLATE 'geostd8_nopad_bin' = 'abc ', 'pad', 'nopad') 12727nopad 12728SELECT CASE 'abc' COLLATE 'geostd8_nopad_bin' WHEN 'abc ' THEN 'pad' ELSE 'nopad' END; 12729CASE 'abc' COLLATE 'geostd8_nopad_bin' WHEN 'abc ' THEN 'pad' ELSE 'nopad' END 12730nopad 12731SELECT CASE WHEN 'abc' COLLATE 'geostd8_nopad_bin' = 'abc ' THEN 'pad' ELSE 'nopad' END; 12732CASE WHEN 'abc' COLLATE 'geostd8_nopad_bin' = 'abc ' THEN 'pad' ELSE 'nopad' END 12733nopad 12734SELECT HEX(LEAST('abc ' COLLATE 'geostd8_nopad_bin', 'abc ')); 12735HEX(LEAST('abc ' COLLATE 'geostd8_nopad_bin', 'abc ')) 1273661626320 12737SELECT HEX(GREATEST('abc ' COLLATE 'geostd8_nopad_bin', 'abc ')); 12738HEX(GREATEST('abc ' COLLATE 'geostd8_nopad_bin', 'abc ')) 127396162632020 12740# 12741# Collation mix 12742# 12743CREATE TABLE t1 (a VARCHAR(10)) COLLATE 'geostd8_bin'; 12744INSERT INTO t1 VALUES ('a'),('a '); 12745SELECT COUNT(*) FROM t1 WHERE a='a'; 12746COUNT(*) 127472 12748SELECT COUNT(*) FROM t1 WHERE a='a' COLLATE 'geostd8_bin'; 12749COUNT(*) 127502 12751SELECT COUNT(*) FROM t1 WHERE a='a' COLLATE 'geostd8_nopad_bin'; 12752COUNT(*) 127531 12754ALTER TABLE t1 MODIFY a VARCHAR(10) COLLATE 'geostd8_nopad_bin'; 12755SELECT COUNT(*) FROM t1 WHERE a='a'; 12756COUNT(*) 127571 12758SELECT COUNT(*) FROM t1 WHERE a='a' COLLATE 'geostd8_bin'; 12759COUNT(*) 127602 12761SELECT COUNT(*) FROM t1 WHERE a='a' COLLATE 'geostd8_nopad_bin'; 12762COUNT(*) 127631 12764DROP TABLE t1; 12765# 12766# End of ctype_pad.inc 12767# 12768SET DEFAULT_STORAGE_ENGINE=Default; 12769# 12770# End of 10.2 tests 12771# 12772