Server IP : 172.67.216.182 / Your IP : 162.158.88.75 Web Server : Apache System : Linux krdc-ubuntu-s-2vcpu-4gb-amd-blr1-01.localdomain 5.15.0-142-generic #152-Ubuntu SMP Mon May 19 10:54:31 UTC 2025 x86_64 User : www ( 1000) PHP Version : 7.4.33 Disable Function : passthru,exec,system,putenv,chroot,chgrp,chown,shell_exec,popen,proc_open,pcntl_exec,ini_alter,ini_restore,dl,openlog,syslog,readlink,symlink,popepassthru,pcntl_alarm,pcntl_fork,pcntl_waitpid,pcntl_wait,pcntl_wifexited,pcntl_wifstopped,pcntl_wifsignaled,pcntl_wifcontinued,pcntl_wexitstatus,pcntl_wtermsig,pcntl_wstopsig,pcntl_signal,pcntl_signal_dispatch,pcntl_get_last_error,pcntl_strerror,pcntl_sigprocmask,pcntl_sigwaitinfo,pcntl_sigtimedwait,pcntl_exec,pcntl_getpriority,pcntl_setpriority,imap_open,apache_setenv MySQL : OFF | cURL : ON | WGET : ON | Perl : ON | Python : OFF | Sudo : ON | Pkexec : ON Directory : /www/server/mysql/mysql-test/t/ |
Upload File : |
-- source include/have_gb18030.inc -- source include/no_valgrind_without_big.inc # # Tests with the gb18030 character set # SET @test_character_set= 'gb18030'; SET @test_collation= 'gb18030_chinese_ci'; -- source include/ctype_common.inc SET NAMES utf8; SET collation_connection='gb18030_chinese_ci'; -- source include/ctype_filesort.inc -- source include/ctype_innodb_like.inc -- source include/ctype_like_escape.inc -- source include/ctype_like_range_f1f2.inc -- source include/ctype_ascii_order.inc SET collation_connection='gb18030_bin'; -- source include/ctype_filesort.inc -- source include/ctype_innodb_like.inc -- source include/ctype_like_escape.inc -- source include/ctype_like_range_f1f2.inc # # Test some conversions SELECT HEX(CONVERT(_gb18030 0xA14041 USING ucs2)); SELECT HEX(CONVERT(_gb18030 0xA14041 USING utf8)); SELECT HEX(CONVERT(_gb18030 0xFEFEFEFD814040 USING utf32)); SELECT HEX(CONVERT(_gb18030 0x813081304041A140 USING utf32)); SELECT HEX(CONVERT(_gb18030 0xE3329A34 USING utf32)); SELECT HEX(CONVERT(_gb18030 0xE3329A35 USING utf32)); SELECT HEX(CONVERT(_gb18030 0xE3329A36 USING utf32)); SELECT HEX(CONVERT(_gb18030 0xFE39FE39 USING utf32)); SELECT HEX(CONVERT(_ucs2 0xD800 USING gb18030)); SELECT HEX(CONVERT(_ucs2 0xDFFF USING gb18030)); SELECT HEX(CONVERT(_ucs2 0xE000 USING gb18030)); SELECT HEX(CONVERT(_ucs2 0xF8FF USING gb18030)); --ERROR ER_INVALID_CHARACTER_STRING SELECT HEX(CONVERT(_gb18030 0xA13941 USING ucs2)); --ERROR ER_INVALID_CHARACTER_STRING SELECT HEX(CONVERT(_gb18030 0xFFFE USING ucs2)); --ERROR ER_INVALID_CHARACTER_STRING SELECT HEX(CONVERT(_gb18030 0x81308140 USING ucs2)); # # Test some string funcs SELECT LOCATE(_gb18030 0x8140, _gb18030 0x814181408142); SELECT HEX(REVERSE(_gb18030 0x8140814181428130813081308131FE39FE39)); SELECT HEX(SUBSTRING(_gb18030 0x81308131813081328130813381308134, 1, 2)); SELECT HEX(SUBSTRING(_gb18030 0x81308131813081328130813381308134, -3, 2)); SELECT HEX(TRIM(_gb18030 0x20202081408141208144202020)); # # From gbk test, ALTER TABLE affects other columns CREATE TABLE t1 (c1 TEXT not null, c2 TEXT not null) CHARACTER SET gb18030; ALTER TABLE t1 CHANGE c1 c1 MEDIUMTEXT CHARACTER SET gb18030 NOT NULL; --disable_query_log let $default_engine = `select @@SESSION.default_storage_engine`; --enable_query_log --replace_result $default_engine default_engine SHOW CREATE TABLE t1; DROP TABLE t1; # # Servere memory corruption and crash with multibyte conversion CREATE TABLE t1(a MEDIUMTEXT CHARACTER SET gb18030, b MEDIUMTEXT CHARACTER SET big5); INSERT INTO t1 VALUES (REPEAT(0x1125,200000), REPEAT(0x1125,200000)), ('', ''), ('', ''); SELECT a FROM t1 GROUP BY 1 LIMIT 1 INTO @nullll; SELECT b FROM t1 GROUP BY 1 LIMIT 1 INTO @nullll; DROP TABLES t1; # # WL#3664 WEIGHT_STRING SET NAMES utf8mb4; SET collation_connection=gb18030_chinese_ci; --source include/weight_string.inc --source include/weight_string_l1.inc --source include/weight_string_A1A1.inc --source include/weight_string_A2A9.inc --source include/weight_string_81309D30.inc SET collation_connection=gb18030_bin; --source include/weight_string.inc --source include/weight_string_l1.inc --source include/weight_string_A1A1.inc --source include/weight_string_A2A9.inc --source include/weight_string_81309D30.inc --echo # --echo # Bugs#12635232: VALGRIND WARNINGS: IS_IPV6, IS_IPV4, INET6_ATON, --echo # INETTO_NTOA + MULTIBYTE CHARSET. --echo # SET sql_mode = 'NO_ENGINE_SUBSTITUTION'; --source include/ctype_inet.inc --echo # --echo # Test for gb18030_unicode_520_ci collation. --echo # SET NAMES utf8mb4; SET collation_connection=gb18030_unicode_520_ci; --source include/ctype_unicode520.inc SET NAMES gb18030 COLLATE gb18030_unicode_520_ci; SELECT 1 gb18030_unicode_520_ci; # # CJK chars test CREATE DATABASE gb18030 CHARSET=GB18030; SET NAMES utf8mb4; SET collation_connection='gb18030_chinese_ci'; --disable_warnings CREATE TABLE t1(C VARCHAR(100) CHARACTER SET gb18030, KEY(c(20))); --enable_warnings INSERT INTO t1 VALUES(0xC4EEC5ABBDBFA1A4B3E0B1DABBB3B9C520A1A4CBD5B6ABC6C2); INSERT INTO t1 VALUES(0xB4F3BDADB6ABC8A5A3ACC0CBCCD4BEA1A1A2C7A7B9C5B7E7C1F7C8CBCEEFA1A3); INSERT INTO t1 VALUES(0xB9CAC0DDCEF7B1DFA3ACC8CBB5C0CAC7A1A2C8FDB9FAD6DCC0C9B3E0B1DAA1A3); INSERT INTO t1 VALUES(0xC2D2CAAFB1C0D4C6A3ACBEAACCCEC1D1B0B6A3ACBEEDC6F0C7A7B6D1D1A9A1A3); INSERT INTO t1 VALUES(0xBDADC9BDC8E7BBADA3ACD2BBCAB1B6E0C9D9BAC0BDDCA3A1); INSERT INTO t1 VALUES(0xD2A3CFEBB9ABE8AAB5B1C4EAA3ACD0A1C7C7B3F5BCDEC1CBA3ACD0DBD7CBD3A2B7A2A1A3); INSERT INTO t1 VALUES(0xD3F0C9C8C2DABDEDA3ACCCB8D0A6BCE4A1A2E9C9E9D6BBD2B7C9D1CCC3F0A1A3); INSERT INTO t1 VALUES(0xB9CAB9FAC9F1D3CEA3ACB6E0C7E9D3A6D0A6CED2A1A2D4E7C9FABBAAB7A2A1A3); INSERT INTO t1 VALUES(0xC8CBBCE4C8E7C3CEA3ACD2BBE9D7BBB9F5AABDADD4C2A1A3); SELECT c, HEX(c), CONVERT(c USING utf8mb4) FROM t1; SELECT HEX(c), CONVERT(c USING utf8mb4) FROM t1 ORDER BY c; SELECT HEX(c), CONVERT(c USING utf8mb4) FROM t1 WHERE c LIKE CONCAT('%', _gb18030 0xD2BB, '%'); SELECT HEX(c), CONVERT(c USING utf8mb4) FROM t1 WHERE c LIKE CONCAT('%', _gb18030 0xC8CB, '%'); SELECT HEX(c), CONVERT(c USING utf8mb4) FROM t1 WHERE c > 0xD2A3; TRUNCATE TABLE t1; INSERT INTO t1 VALUES(0x5373547483329330); INSERT INTO t1 VALUES(0x8239AB318239AB358239AF3583308132833087348335EB39); INSERT INTO t1 VALUES(0x97339631973396339733A6359831C0359831C536); INSERT INTO t1 VALUES(0x9835CF329835CE359835F336); INSERT INTO t1 VALUES(0x833988318339883283398539); INSERT INTO t1 VALUES(0x823398318233973582339A3882348A32); INSERT INTO t1 VALUES(0x8134D5318134D6328134D832); INSERT INTO t1 VALUES(0x4A7320204B82339A35646566); INSERT INTO t1 VALUES(0x8130883281308833); INSERT INTO t1 VALUES(0xE05FE06A777682339230); INSERT INTO t1 VALUES(0x814081418139FE30); INSERT INTO t1 VALUES(0x81308130FEFE); INSERT INTO t1 VALUES(0xE3329A35E3329A34); INSERT INTO t1 VALUES(0xFE39FE39FE38FE38); INSERT INTO t1 VALUES(0xFE39FE38A976); SELECT c, HEX(c), CONVERT(c USING utf8mb4) FROM t1; SELECT c, HEX(c), CONVERT(c USING utf8mb4) FROM t1 WHERE c LIKE CONCAT('%', _gb18030 0x9835CE35, '%'); SELECT c, HEX(c), CONVERT(c USING utf8mb4) FROM t1 WHERE c = 0x8130883281308833; SELECT c, HEX(c), CONVERT(c USING utf8mb4) FROM t1 WHERE c > 0xE040 AND c < 0x8239AB31; SELECT c, HEX(c), CONVERT(c USING utf8mb4) FROM t1 ORDER BY c; TRUNCATE TABLE t1; INSERT INTO t1 VALUES(0x8139818F); INSERT INTO t1 VALUES(0x8431A530); INSERT INTO t1 VALUES(0x9030813089398130); INSERT INTO t1 VALUES(0xE3329A36); INSERT INTO t1 VALUES(0xA6A78586E3329A38); INSERT INTO t1 VALUES(0xA69C8041); INSERT INTO t1 VALUES(0xA9C6FEFF); INSERT INTO t1 VALUES(0xFFFF); INSERT INTO t1 VALUES(0x81408139); INSERT INTO t1 VALUES(0x962B); INSERT INTO t1 VALUES(0x9F37823881308156); INSERT INTO t1 VALUES(0xFE35FF30); INSERT INTO t1 VALUES(0x814281309CA4); INSERT INTO t1 VALUES(0xE3329A36); INSERT INTO t1 VALUES(0xFE39FE39FE39FE38); SELECT * FROM t1; UPDATE t1 SET c=0x81308130; SELECT COUNT(*) FROM t1 WHERE c <> 0x81308130; TRUNCATE TABLE t1; # Test for PINYIN collation # 𠬣𠨵㭋玤䂜蚌𢜗𢮏䖫傍棒棓谤塝 # 拨波癷𩧯玻剝剥哱盋砵袚𧙄钵饽紴缽菠袰 INSERT INTO t1 VALUES(_gb18030 0x9534A337), (_gb18030 0x8959), (_gb18030 0xB0F9), (_gb18030 0xB0F4), (_gb18030 0x95348B39), (_gb18030 0x9794), (_gb18030 0x8231AC35); INSERT INTO t1 VALUES(_gb18030 0xB0F8), (_gb18030 0xAB67), (_gb18030 0x8232B632), (_gb18030 0x9630ED37), (_gb18030 0x9539F933), (_gb18030 0xB0F6), (_gb18030 0x8233B931); INSERT INTO t1 VALUES(_gb18030 0xD143), (_gb18030 0xB2A4), (_gb18030 0xC08F), (_gb18030 0xBC9E), (_gb18030 0xB2A6), (_gb18030 0xB2A8), (_gb18030 0xB069); INSERT INTO t1 VALUES(_gb18030 0x9833A533), (_gb18030 0xE2C4), (_gb18030 0xB2A7), (_gb18030 0x97368632), (_gb18030 0xB2A3), (_gb18030 0x8483), (_gb18030 0xB0FE); INSERT INTO t1 VALUES(_gb18030 0x865C), (_gb18030 0xD093), (_gb18030 0xB36A), (_gb18030 0xB143); SELECT c, HEX(c) FROM t1 ORDER BY c; SELECT c, HEX(c) FROM t1 WHERE c >= 0x8483 and c < 0xE2C4 ORDER BY c; SELECT c, HEX(c) FROM t1 WHERE c LIKE 0xB0FE; TRUNCATE TABLE t1; INSERT INTO t1 VALUES(_gb18030 0x81308130), (_gb18030 0x81308132); INSERT INTO t1 VALUES('A'), ('a'), ('1'), ('2'); INSERT INTO t1 VALUES(_gb18030 0xCDF5), (_gb18030 0xC0EE), (_gb18030 0xD5C5), (_gb18030 0xC1F5), (_gb18030 0xB3C2), (_gb18030 0xD1EE), (_gb18030 0xBBC6); INSERT INTO t1 VALUES(_gb18030 0xCEE2), (_gb18030 0xD5D4), (_gb18030 0xD6DC), (_gb18030 0xD0EC), (_gb18030 0xCBEF), (_gb18030 0xC2ED), (_gb18030 0xD6EC); INSERT INTO t1 VALUES(_gb18030 0xBAFA), (_gb18030 0xC1D6), (_gb18030 0xB9F9), (_gb18030 0xBACE), (_gb18030 0xB8DF), (_gb18030 0xC2DE), (_gb18030 0xD6A3); INSERT INTO t1 VALUES(_gb18030 0xE3329A35), (_gb18030 0xE3329A34); SELECT c, HEX(c) FROM t1 ORDER BY c; DROP TABLE t1; # Test for alter table, data type etc. CREATE TABLE t1 (c CHAR(1) CHARACTER SET gb18030, v VARCHAR(100) CHARACTER SET gb18030); INSERT INTO t1 VALUES(0x8140, 0x81308132A6C9A6A985328338); SELECT HEX(c), c, HEX(v), v FROM t1; ALTER TABLE t1 ADD COLUMN t TEXT CHARACTER SET gb18030; INSERT INTO t1 VALUES(0xBC81, 0x82358132FE39FE3940414281308135, 0x84678578); SELECT HEX(c), c, HEX(v), v, HEX(t), t FROM t1; DROP TABLE t1; # Test for LIKE for 2/4-byte gb18030 CREATE TABLE t1 (c VARCHAR(10) CHARACTER SET gb18030); INSERT INTO t1 VALUES(0x81308A3181308A3181308A3181308A3181308732); INSERT INTO t1 VALUES(0x81308A3181308A318130873281308A31); INSERT INTO t1 VALUES(0x81308A318130873281309636); INSERT INTO t1 VALUES(0x81308A318130873281309637); INSERT INTO t1 VALUES(0x81308A31813087328130963781309636); INSERT INTO t1 VALUES(0x8130963681308A31); INSERT INTO t1 VALUES(0xA8A581308D35); INSERT INTO t1 VALUES(0x81308D35A8A5); INSERT INTO t1 VALUES(0x81308D35A8A5A8A5); SELECT HEX(c) FROM t1; SELECT HEX(c) FROM t1 WHERE c LIKE CONCAT('%', _gb18030 0x81308A31); SELECT HEX(c) FROM t1 WHERE c LIKE CONCAT('%', _gb18030 0x8130873281308A31, '%'); SELECT HEX(c) FROM t1 WHERE c LIKE CONCAT('%', _gb18030 0x8130873281309636); SELECT HEX(c) FROM t1 WHERE c LIKE CONCAT('%', _gb18030 0x8130963781309636); SELECT HEX(c) FROM t1 WHERE c LIKE CONCAT(_gb18030 0x81309636, '%'); SELECT HEX(c) FROM t1 WHERE c LIKE CONCAT('%', _gb18030 0x8130963781309636); SELECT HEX(c) FROM t1 WHERE c LIKE CONCAT('%', _gb18030 0x8130963781309636) ESCAPE _gb18030 0x81309637; SELECT HEX(c) FROM t1 WHERE c LIKE CONCAT(_gb18030 0xA8A5, '%'); SELECT HEX(c) FROM t1 WHERE c LIKE CONCAT(_gb18030 0xA8A5, '_'); SELECT HEX(c) FROM t1 WHERE c LIKE CONCAT(_gb18030 0xA8A5, '_', _gb18030 0x81308D35); SELECT HEX(c) FROM t1 WHERE c LIKE CONCAT('%_', _gb18030 0xA8A5); DROP TABLE t1; # Test for group by SET NAMES utf8mb4; CREATE TABLE t1 (c VARCHAR(10) CHARACTER SET gb18030); INSERT INTO t1 VALUES (_gb18030 0x8BF5819AEDC3), (_gb18030 0x99CC), (_gb18030 0x90459958), (_gb18030 0xAA95C0E59E509AED), (_gb18030 0xCCE7), (_gb18030 0x9068), (_gb18030 0x90459958); # Because of the COLLATE, the uniqueness of HEX(c) per group is not # guaranteed, hence ANY_VALUE is used. SELECT ANY_VALUE(HEX(c)), COUNT(c) FROM t1 GROUP BY c COLLATE gb18030_chinese_ci; DROP TABLE t1; # Test if LOAD DATA with gb18030 chars can handle invalid chars CREATE TABLE t1 (a int) ENGINE=InnoDB; --error ER_INVALID_CHARACTER_STRING LOAD DATA INFILE '../../std_data/bug21542698.dat' INTO TABLE t1 CHARACTER SET gb18030; DROP TABLE t1; DROP DATABASE gb18030; SET sql_mode = default; --echo # --echo # End of 5.7 tests --echo #