2794 Alexander Nozdrin 2009-06-05 [merge]
Merge from azalea
removed:
mysql-test/suite/backup/r/backup_vp_nontx.result
mysql-test/suite/backup/t/backup_vp_nontx.test
added:
mysql-test/collections/backup.rqg-daily
mysql-test/collections/mysql-6.0-backup.push
mysql-test/r/backup_disabled.result
mysql-test/suite/backup/include/backup_image_path.inc
mysql-test/suite/backup/include/backup_vp_nontx.inc
mysql-test/suite/backup/my.cnf
mysql-test/suite/backup/r/backup_backupdir_not_windows.result
mysql-test/suite/backup/r/backup_backupdir_sync.result
mysql-test/suite/backup/r/backup_check_i_s.result
mysql-test/suite/backup/r/backup_general_log.result
mysql-test/suite/backup/r/backup_image_path_nonwin.result
mysql-test/suite/backup/r/backup_image_path_win.result
mysql-test/suite/backup/r/backup_lock_conflict.result
mysql-test/suite/backup/r/backup_vp_nontx_memory.result
mysql-test/suite/backup/r/backup_vp_nontx_myisam.result
mysql-test/suite/backup/t/backup_backupdir_not_windows.test
mysql-test/suite/backup/t/backup_backupdir_sync.test
mysql-test/suite/backup/t/backup_check_i_s.test
mysql-test/suite/backup/t/backup_general_log.test
mysql-test/suite/backup/t/backup_image_path_nonwin.test
mysql-test/suite/backup/t/backup_image_path_win.test
mysql-test/suite/backup/t/backup_lock_conflict.test
mysql-test/suite/backup/t/backup_vp_nontx_memory.test
mysql-test/suite/backup/t/backup_vp_nontx_myisam.test
mysql-test/suite/backup_engines/my.cnf
mysql-test/suite/backup_extra/README
mysql-test/suite/backup_extra/include/check-objects.sql
mysql-test/suite/backup_extra/include/objects.grammar
mysql-test/suite/backup_extra/my.cnf
mysql-test/suite/backup_extra/t/backup_object_coverage.test
mysql-test/suite/backup_ptr/my.cnf
mysql-test/suite/rpl/include/rpl_backup_basic.inc
mysql-test/suite/rpl/include/rpl_backup_multi.inc
mysql-test/suite/rpl/include/rpl_backup_multi_sync.inc
mysql-test/suite/rpl/r/rpl_backup_block.result
mysql-test/suite/rpl/r/rpl_backup_extra.result
mysql-test/suite/rpl/r/rpl_backup_multi.result
mysql-test/suite/rpl/r/rpl_backup_ptr.result
mysql-test/suite/rpl/r/rpl_backup_shutdown.result
mysql-test/suite/rpl/t/rpl_backup.cnf
mysql-test/suite/rpl/t/rpl_backup_block.cnf
mysql-test/suite/rpl/t/rpl_backup_block.test
mysql-test/suite/rpl/t/rpl_backup_extra.cnf
mysql-test/suite/rpl/t/rpl_backup_extra.test
mysql-test/suite/rpl/t/rpl_backup_multi.cnf
mysql-test/suite/rpl/t/rpl_backup_multi.test
mysql-test/suite/rpl/t/rpl_backup_ptr.cnf
mysql-test/suite/rpl/t/rpl_backup_ptr.test
mysql-test/suite/rpl/t/rpl_backup_shutdown-slave.opt
mysql-test/suite/rpl/t/rpl_backup_shutdown.cnf
mysql-test/suite/rpl/t/rpl_backup_shutdown.test
mysql-test/t/backup_disabled.test
mysql-test/t/implicit_commit.cnf
unittest/mysys/safe_cleanup_cat_path-t.c
modified:
.bzr-mysql/default.conf
CMakeLists.txt
Makefile.am
client/backup_stream.c
client/mysqlbackup.cc
include/config-win.h
include/my_dir.h
include/my_sys.h
mysql-test/collections/default.experimental
mysql-test/include/have_rqg.inc
mysql-test/suite/backup/r/backup.result
mysql-test/suite/backup/r/backup_backupdir.result
mysql-test/suite/backup/r/backup_charsets.result
mysql-test/suite/backup/r/backup_dbname_lctn1.result
mysql-test/suite/backup/r/backup_dbname_lctn2.result
mysql-test/suite/backup/r/backup_default_debug.result
mysql-test/suite/backup/r/backup_external.result
mysql-test/suite/backup/r/backup_image_name_notwin.result
mysql-test/suite/backup/r/backup_intr_errors.result
mysql-test/suite/backup/r/backup_logs.result
mysql-test/suite/backup/r/backup_logs_purge.result
mysql-test/suite/backup/r/backup_securebackup.result
mysql-test/suite/backup/r/backup_triggers_and_events.result
mysql-test/suite/backup/t/backup.test
mysql-test/suite/backup/t/backup_backupdir.test
mysql-test/suite/backup/t/backup_charsets.test
mysql-test/suite/backup/t/backup_dbname_lctn1.test
mysql-test/suite/backup/t/backup_default_debug.test
mysql-test/suite/backup/t/backup_external.test
mysql-test/suite/backup/t/backup_image_name_notwin.test
mysql-test/suite/backup/t/backup_logs.test
mysql-test/suite/backup/t/backup_securebackup-master.opt
mysql-test/suite/backup/t/backup_securebackup.test
mysql-test/suite/backup/t/backup_triggers_and_events.test
mysql-test/suite/backup_engines/combinations
mysql-test/suite/backup_engines/include/backup_restore_interrupt.inc
mysql-test/suite/backup_engines/r/backup_interruption.result
mysql-test/suite/backup_engines/t/backup_interruption.test
mysql-test/suite/backup_ptr/r/backup_ptr_commits.result
mysql-test/suite/backup_ptr/t/backup_ptr.test
mysql-test/suite/backup_ptr/t/backup_ptr_commits.test
mysql-test/suite/backup_ptr/t/backup_ptr_objects.test
mysql-test/suite/funcs_1/r/is_columns_mysql.result
mysys/mf_format.c
mysys/mf_pack.c
mysys/my_init.c
mysys/my_lib.c
mysys/my_static.c
scripts/mysql_system_tables.sql
scripts/mysql_system_tables_fix.sql
sql/CMakeLists.txt
sql/backup/backup_aux.h
sql/backup/be_default.cc
sql/backup/data_backup.cc
sql/backup/image_info.cc
sql/backup/image_info.h
sql/backup/kernel.cc
sql/backup/logger.h
sql/backup/stream.cc
sql/backup/stream_v1.c
sql/backup/stream_v1.h
sql/backup/stream_v1_transport.c
sql/lock.cc
sql/log.cc
sql/log.h
sql/mysql_priv.h
sql/mysqld.cc
sql/set_var.cc
sql/set_var.h
sql/share/errmsg.txt
sql/si_logs.cc
sql/si_logs.h
sql/si_objects.cc
sql/si_objects.h
sql/sql_parse.cc
sql/sql_plugin.cc
support-files/compiler_warnings.supp
unittest/mysys/CMakeLists.txt
unittest/mysys/Makefile.am
=== modified file 'config/ac-macros/character_sets.m4'
--- a/config/ac-macros/character_sets.m4 2009-01-26 16:03:39 +0000
+++ b/config/ac-macros/character_sets.m4 2009-06-02 18:04:09 +0000
@@ -13,11 +13,11 @@ define(CHARSETS_AVAILABLE1,armscii8 asci
define(CHARSETS_AVAILABLE2,cp850 cp852 cp866 cp932 dec8 eucjpms euckr gb2312 gbk geostd8)
define(CHARSETS_AVAILABLE3,greek hebrew hp8 keybcs2 koi8r koi8u)
define(CHARSETS_AVAILABLE4,latin1 latin2 latin5 latin7 macce macroman)
-define(CHARSETS_AVAILABLE5,sjis swe7 tis620 ucs2 ujis utf8 utf8mb3 utf16 utf32)
+define(CHARSETS_AVAILABLE5,sjis swe7 tis620 ucs2 ujis utf8)
DEFAULT_CHARSET=latin1
CHARSETS_AVAILABLE="CHARSETS_AVAILABLE0 CHARSETS_AVAILABLE1 CHARSETS_AVAILABLE2 CHARSETS_AVAILABLE3 CHARSETS_AVAILABLE4 CHARSETS_AVAILABLE5"
-CHARSETS_COMPLEX="big5 cp1250 cp932 eucjpms euckr gb2312 gbk latin1 latin2 sjis tis620 ucs2 ujis utf8 utf8mb3 utf16 utf32"
+CHARSETS_COMPLEX="big5 cp1250 cp932 eucjpms euckr gb2312 gbk latin1 latin2 sjis tis620 ucs2 ujis utf8"
AC_DIVERT_POP
@@ -50,7 +50,7 @@ AC_ARG_WITH(extra-charsets,
AC_MSG_CHECKING("character sets")
-CHARSETS="$default_charset latin1 utf8 utf8mb3"
+CHARSETS="$default_charset latin1 utf8"
if test "$extra_charsets" = no; then
CHARSETS="$CHARSETS"
@@ -196,25 +196,10 @@ do
AC_DEFINE(USE_MB_IDENT, 1)
;;
utf8)
- AC_DEFINE(HAVE_CHARSET_utf8mb4, 1, [Define to enable ut8])
- AC_DEFINE([USE_MB], 1, [Use multi-byte character routines])
- AC_DEFINE(USE_MB_IDENT, 1)
- ;;
- utf8mb3)
AC_DEFINE(HAVE_CHARSET_utf8mb3, 1, [Define to enable ut8])
AC_DEFINE([USE_MB], 1, [Use multi-byte character routines])
AC_DEFINE(USE_MB_IDENT, 1)
;;
- utf16)
- AC_DEFINE(HAVE_CHARSET_utf16, 1, [Define to enable utf16])
- AC_DEFINE([USE_MB], 1, [Use multi-byte character routines])
- AC_DEFINE(USE_MB_IDENT, 1)
- ;;
- utf32)
- AC_DEFINE(HAVE_CHARSET_utf32, 1, [Define to enable utf32])
- AC_DEFINE([USE_MB], 1, [Use multi-byte character routines])
- AC_DEFINE(USE_MB_IDENT, 1)
- ;;
*)
AC_MSG_ERROR([Charset '$cs' not available. (Available are: $CHARSETS_AVAILABLE).
See the Installation chapter in the Reference Manual.])
@@ -376,20 +361,6 @@ case $default_charset in
default_charset_collations="ujis_japanese_ci ujis_bin"
;;
utf8)
- default_charset_default_collation="utf8_general_ci"
- define(UTFC1, utf8_general_ci utf8_bin)
- define(UTFC2, utf8_czech_ci utf8_danish_ci)
- define(UTFC3, utf8_esperanto_ci utf8_estonian_ci utf8_hungarian_ci)
- define(UTFC4, utf8_icelandic_ci utf8_latvian_ci utf8_lithuanian_ci)
- define(UTFC5, utf8_persian_ci utf8_polish_ci utf8_romanian_ci)
- define(UTFC6, utf8_sinhala_ci utf8_slovak_ci utf8_slovenian_ci)
- define(UTFC7, utf8_spanish2_ci utf8_spanish_ci)
- define(UTFC8, utf8_swedish_ci utf8_turkish_ci)
- define(UTFC9, utf8_unicode_ci)
- UTFC="UTFC1 UTFC2 UTFC3 UTFC4 UTFC5 UTFC6 UTFC7 UTFC8 UTFC9"
- default_charset_collations="$UTFC"
- ;;
- utf8mb3)
default_charset_default_collation="utf8mb3_general_ci"
if test "$default_collation" = "utf8mb3_general_cs"; then
# For those who explicitly desire "utf8mb3_general_cs", support it,
@@ -410,34 +381,6 @@ case $default_charset in
fi
default_charset_collations="$UTFC"
;;
- utf16)
- default_charset_default_collation="utf16_general_ci"
- define(UTFC1, utf16_general_ci utf16_bin)
- define(UTFC2, utf16_czech_ci utf16_danish_ci)
- define(UTFC3, utf16_esperanto_ci utf16_estonian_ci utf16_hungarian_ci)
- define(UTFC4, utf16_icelandic_ci utf16_latvian_ci utf16_lithuanian_ci)
- define(UTFC5, utf16_persian_ci utf16_polish_ci utf16_romanian_ci)
- define(UTFC6, utf16_sinhala_ci utf16_slovak_ci utf16_slovenian_ci)
- define(UTFC7, utf16_spanish2_ci utf16_spanish_ci)
- define(UTFC8, utf16_swedish_ci utf16_turkish_ci)
- define(UTFC9, utf16_unicode_ci)
- UTFC="UTFC1 UTFC2 UTFC3 UTFC4 UTFC5 UTFC6 UTFC7 UTFC8 UTFC9"
- default_charset_collations="$UTFC"
- ;;
- utf32)
- default_charset_default_collation="utf32_general_ci"
- define(UTFC1, utf32_general_ci utf32_bin)
- define(UTFC2, utf32_czech_ci utf32_danish_ci)
- define(UTFC3, utf32_esperanto_ci utf32_estonian_ci utf32_hungarian_ci)
- define(UTFC4, utf32_icelandic_ci utf32_latvian_ci utf32_lithuanian_ci)
- define(UTFC5, utf32_persian_ci utf32_polish_ci utf32_romanian_ci)
- define(UTFC6, utf32_sinhala_ci utf32_slovak_ci utf32_slovenian_ci)
- define(UTFC7, utf32_spanish2_ci utf32_spanish_ci)
- define(UTFC8, utf32_swedish_ci utf32_turkish_ci)
- define(UTFC9, utf32_unicode_ci)
- UTFC="UTFC1 UTFC2 UTFC3 UTFC4 UTFC5 UTFC6 UTFC7 UTFC8 UTFC9"
- default_charset_collations="$UTFC"
- ;;
*)
AC_MSG_ERROR([Charset $cs not available. (Available are: $CHARSETS_AVAILABLE).
See the Installation chapter in the Reference Manual.])
=== modified file 'include/config-win.h'
--- a/include/config-win.h 2009-06-02 08:33:12 +0000
+++ b/include/config-win.h 2009-06-05 08:42:24 +0000
@@ -436,9 +436,6 @@ inline ulonglong double2ulonglong(double
#define HAVE_CHARSET_tis620 1
#define HAVE_CHARSET_ucs2 1
#define HAVE_CHARSET_ujis 1
-#define HAVE_CHARSET_utf8mb4 1
#define HAVE_CHARSET_utf8mb3 1
-#define HAVE_CHARSET_utf16 1
-#define HAVE_CHARSET_utf32 1
#define HAVE_UCA_COLLATIONS 1
#define HAVE_BOOL 1
=== modified file 'include/m_ctype.h'
--- a/include/m_ctype.h 2009-03-28 00:27:25 +0000
+++ b/include/m_ctype.h 2009-06-02 18:04:09 +0000
@@ -349,23 +349,13 @@ extern CHARSET_INFO my_charset_ucs2_bin;
extern CHARSET_INFO my_charset_ucs2_unicode_ci;
extern CHARSET_INFO my_charset_ujis_japanese_ci;
extern CHARSET_INFO my_charset_ujis_bin;
-extern CHARSET_INFO my_charset_utf16_bin;
-extern CHARSET_INFO my_charset_utf16_general_ci;
-extern CHARSET_INFO my_charset_utf16_unicode_ci;
-extern CHARSET_INFO my_charset_utf32_bin;
-extern CHARSET_INFO my_charset_utf32_general_ci;
-extern CHARSET_INFO my_charset_utf32_unicode_ci;
extern CHARSET_INFO my_charset_utf8mb3_bin;
extern CHARSET_INFO my_charset_utf8mb3_general_ci;
extern CHARSET_INFO my_charset_utf8mb3_unicode_ci;
-extern CHARSET_INFO my_charset_utf8mb4_bin;
-extern MYSQL_PLUGIN_IMPORT CHARSET_INFO my_charset_utf8mb4_general_ci;
-extern CHARSET_INFO my_charset_utf8mb4_unicode_ci;
-
-#define MY_UTF8MB3 "utf8mb3"
-#define MY_UTF8MB4 "utf8"
-#define my_charset_utf8_general_ci my_charset_utf8mb4_general_ci
-#define my_charset_utf8_bin my_charset_utf8mb4_bin
+
+#define MY_UTF8MB3 "utf8"
+#define my_charset_utf8_general_ci my_charset_utf8mb3_general_ci
+#define my_charset_utf8_bin my_charset_utf8mb3_bin
/* declarations for simple charsets */
@@ -464,20 +454,6 @@ my_bool my_like_range_ucs2(CHARSET_INFO
char *min_str, char *max_str,
size_t *min_length, size_t *max_length);
-my_bool my_like_range_utf16(CHARSET_INFO *cs,
- const char *ptr, size_t ptr_length,
- pbool escape, pbool w_one, pbool w_many,
- size_t res_length,
- char *min_str, char *max_str,
- size_t *min_length, size_t *max_length);
-
-my_bool my_like_range_utf32(CHARSET_INFO *cs,
- const char *ptr, size_t ptr_length,
- pbool escape, pbool w_one, pbool w_many,
- size_t res_length,
- char *min_str, char *max_str,
- size_t *min_length, size_t *max_length);
-
int my_wildcmp_8bit(CHARSET_INFO *,
const char *str,const char *str_end,
=== removed file 'mysql-test/include/have_utf16.inc'
--- a/mysql-test/include/have_utf16.inc 2008-07-04 18:51:48 +0000
+++ b/mysql-test/include/have_utf16.inc 1970-01-01 00:00:00 +0000
@@ -1,4 +0,0 @@
--- require r/have_utf16.require
-disable_query_log;
-show collation like 'utf16_general_ci';
-enable_query_log;
=== removed file 'mysql-test/include/have_utf32.inc'
--- a/mysql-test/include/have_utf32.inc 2008-07-04 18:51:48 +0000
+++ b/mysql-test/include/have_utf32.inc 1970-01-01 00:00:00 +0000
@@ -1,4 +0,0 @@
--- require r/have_utf32.require
-disable_query_log;
-show collation like 'utf32_general_ci';
-enable_query_log;
=== modified file 'mysql-test/r/ctype_ldml.result'
--- a/mysql-test/r/ctype_ldml.result 2009-02-02 20:50:45 +0000
+++ b/mysql-test/r/ctype_ldml.result 2009-06-02 18:04:09 +0000
@@ -53,24 +53,6 @@ select * from t1 where c1='b';
c1
a
drop table t1;
-show collation like 'utf16_test_ci';
-Collation Charset Id Default Compiled Sortlen
-utf16_test_ci utf16 327 8
-create table t1 (c1 char(1) character set utf16 collate utf16_test_ci);
-insert into t1 values ('a');
-select * from t1 where c1='b';
-c1
-a
-drop table t1;
-show collation like 'utf32_test_ci';
-Collation Charset Id Default Compiled Sortlen
-utf32_test_ci utf32 391 8
-create table t1 (c1 char(1) character set utf32 collate utf32_test_ci);
-insert into t1 values ('a');
-select * from t1 where c1='b';
-c1
-a
-drop table t1;
CREATE TABLE t1 (
col1 varchar(100) character set utf8 collate utf8_test_ci
);
@@ -367,19 +349,15 @@ drop table t1;
The following tests check that two-byte collation IDs work
select * from information_schema.collations where id>256 order by id;
COLLATION_NAME CHARACTER_SET_NAME ID IS_DEFAULT IS_COMPILED SORTLEN
-utf16_test_ci utf16 327 8
utf8_phone_ci utf8 352 8
utf8_test_ci utf8 353 8
ucs2_test_ci ucs2 358 8
ucs2_vn_ci ucs2 359 8
-utf32_test_ci utf32 391 8
utf8_maxuserid_ci utf8 2047 8
show collation like '%test%';
Collation Charset Id Default Compiled Sortlen
-ucs2_test_ci ucs2 358 8
utf8_test_ci utf8 353 8
-utf16_test_ci utf16 327 8
-utf32_test_ci utf32 391 8
+ucs2_test_ci ucs2 358 8
show collation like 'ucs2_vn_ci';
Collation Charset Id Default Compiled Sortlen
ucs2_vn_ci ucs2 359 8
=== modified file 'mysql-test/r/ctype_uca.result'
--- a/mysql-test/r/ctype_uca.result 2008-08-18 05:43:50 +0000
+++ b/mysql-test/r/ctype_uca.result 2009-06-02 13:04:43 +0000
@@ -3541,6 +3541,3 @@ hex(weight_string(cast(_latin1 0xDF6368
select hex(weight_string(cast(_latin1 0xDF6368 as char),25, 4,0xC0));
hex(weight_string(cast(_latin1 0xDF6368 as char),25, 4,0xC0))
0FEA0FEA0EE202090209020902090209020902090209020902
-select hex(weight_string(_utf8 0xF0908080 /* U+10000 */ collate utf8_unicode_ci));
-hex(weight_string(_utf8 0xF0908080 /* U+10000 */ collate utf8_unicode_ci))
-FFFD
=== removed file 'mysql-test/r/ctype_utf16.result'
--- a/mysql-test/r/ctype_utf16.result 2008-07-24 12:15:24 +0000
+++ b/mysql-test/r/ctype_utf16.result 1970-01-01 00:00:00 +0000
@@ -1,1401 +0,0 @@
-DROP TABLE IF EXISTS t1;
-SET NAMES latin1;
-SET character_set_connection=utf16;
-select hex('a'), hex('a ');
-hex('a') hex('a ')
-0061 00610020
-select 'a' = 'a', 'a' = 'a ', 'a ' = 'a';
-'a' = 'a' 'a' = 'a ' 'a ' = 'a'
-1 1 1
-select 'a\0' = 'a', 'a\0' < 'a', 'a\0' > 'a';
-'a\0' = 'a' 'a\0' < 'a' 'a\0' > 'a'
-0 1 0
-select 'a' = 'a\0', 'a' < 'a\0', 'a' > 'a\0';
-'a' = 'a\0' 'a' < 'a\0' 'a' > 'a\0'
-0 0 1
-select 'a\0' = 'a ', 'a\0' < 'a ', 'a\0' > 'a ';
-'a\0' = 'a ' 'a\0' < 'a ' 'a\0' > 'a '
-0 1 0
-select 'a ' = 'a\0', 'a ' < 'a\0', 'a ' > 'a\0';
-'a ' = 'a\0' 'a ' < 'a\0' 'a ' > 'a\0'
-0 0 1
-select 'a a' > 'a', 'a \0' < 'a';
-'a a' > 'a' 'a \0' < 'a'
-1 1
-select binary 'a a' > 'a', binary 'a \0' > 'a', binary 'a\0' > 'a';
-binary 'a a' > 'a' binary 'a \0' > 'a' binary 'a\0' > 'a'
-1 1 1
-select hex(_utf16 0x44);
-hex(_utf16 0x44)
-00000044
-select hex(_utf16 0x3344);
-hex(_utf16 0x3344)
-3344
-select hex(_utf16 0x113344);
-hex(_utf16 0x113344)
-000000113344
-CREATE TABLE t1 (word VARCHAR(64), word2 CHAR(64)) CHARACTER SET utf16;
-INSERT INTO t1 VALUES (_koi8r 0xF2, _koi8r 0xF2), (X'2004',X'2004');
-SELECT hex(word) FROM t1 ORDER BY word;
-hex(word)
-0420
-2004
-SELECT hex(word2) FROM t1 ORDER BY word2;
-hex(word2)
-0420
-2004
-DELETE FROM t1;
-INSERT INTO t1 VALUES (X'042000200020',X'042000200020'), (X'200400200020', X'200400200020');
-SELECT hex(word) FROM t1 ORDER BY word;
-hex(word)
-042000200020
-200400200020
-SELECT hex(word2) FROM t1 ORDER BY word2;
-hex(word2)
-0420
-2004
-DROP TABLE t1;
-SELECT hex(LPAD(_utf16 X'0420',10,_utf16 X'0421'));
-hex(LPAD(_utf16 X'0420',10,_utf16 X'0421'))
-0421042104210421042104210421042104210420
-SELECT hex(LPAD(_utf16 X'0420',10,_utf16 X'04210422'));
-hex(LPAD(_utf16 X'0420',10,_utf16 X'04210422'))
-0421042204210422042104220421042204210420
-SELECT hex(LPAD(_utf16 X'0420',10,_utf16 X'042104220423'));
-hex(LPAD(_utf16 X'0420',10,_utf16 X'042104220423'))
-0421042204230421042204230421042204230420
-SELECT hex(LPAD(_utf16 X'0420042104220423042404250426042704280429042A042B',10,_utf16 X'042104220423'));
-hex(LPAD(_utf16 X'0420042104220423042404250426042704280429042A042B',10,_utf16 X'042104220423'))
-0420042104220423042404250426042704280429
-SELECT hex(LPAD(_utf16 X'D800DC00', 10, _utf16 X'0421'));
-hex(LPAD(_utf16 X'D800DC00', 10, _utf16 X'0421'))
-042104210421042104210421042104210421D800DC00
-SELECT hex(LPAD(_utf16 X'0421', 10, _utf16 X'D800DC00'));
-hex(LPAD(_utf16 X'0421', 10, _utf16 X'D800DC00'))
-D800DC00D800DC00D800DC00D800DC00D800DC00D800DC00D800DC00D800DC00D800DC000421
-SELECT hex(RPAD(_utf16 X'0420',10,_utf16 X'0421'));
-hex(RPAD(_utf16 X'0420',10,_utf16 X'0421'))
-0420042104210421042104210421042104210421
-SELECT hex(RPAD(_utf16 X'0420',10,_utf16 X'04210422'));
-hex(RPAD(_utf16 X'0420',10,_utf16 X'04210422'))
-0420042104220421042204210422042104220421
-SELECT hex(RPAD(_utf16 X'0420',10,_utf16 X'042104220423'));
-hex(RPAD(_utf16 X'0420',10,_utf16 X'042104220423'))
-0420042104220423042104220423042104220423
-SELECT hex(RPAD(_utf16 X'0420042104220423042404250426042704280429042A042B',10,_utf16 X'042104220423'));
-hex(RPAD(_utf16 X'0420042104220423042404250426042704280429042A042B',10,_utf16 X'042104220423'))
-0420042104220423042404250426042704280429
-SELECT hex(RPAD(_utf16 X'D800DC00', 10, _utf16 X'0421'));
-hex(RPAD(_utf16 X'D800DC00', 10, _utf16 X'0421'))
-D800DC00042104210421042104210421042104210421
-SELECT hex(RPAD(_utf16 X'0421', 10, _utf16 X'D800DC00'));
-hex(RPAD(_utf16 X'0421', 10, _utf16 X'D800DC00'))
-0421D800DC00D800DC00D800DC00D800DC00D800DC00D800DC00D800DC00D800DC00D800DC00
-CREATE TABLE t1 SELECT
-LPAD(_utf16 X'0420',10,_utf16 X'0421') l,
-RPAD(_utf16 X'0420',10,_utf16 X'0421') r;
-SHOW CREATE TABLE t1;
-Table Create Table
-t1 CREATE TABLE `t1` (
- `l` varchar(10) CHARACTER SET utf16 NOT NULL DEFAULT '',
- `r` varchar(10) CHARACTER SET utf16 NOT NULL DEFAULT ''
-) ENGINE=MyISAM DEFAULT CHARSET=latin1
-select hex(l), hex(r) from t1;
-hex(l) hex(r)
-0421042104210421042104210421042104210420 0420042104210421042104210421042104210421
-DROP TABLE t1;
-create table t1 (f1 char(30));
-insert into t1 values ("103000"), ("22720000"), ("3401200"), ("78000");
-select lpad(f1, 12, "-o-/") from t1;
-lpad(f1, 12, "-o-/")
--o-/-o103000
--o-/22720000
--o-/-3401200
--o-/-o-78000
-drop table t1;
-SET NAMES latin1;
-SET character_set_connection=utf16;
-select @@collation_connection;
-@@collation_connection
-utf16_general_ci
-create table t1 as select repeat(' ',10) as a union select null;
-alter table t1 add key(a);
-show create table t1;
-Table Create Table
-t1 CREATE TABLE `t1` (
- `a` varchar(10) CHARACTER SET utf16 DEFAULT NULL,
- KEY `a` (`a`)
-) ENGINE=MyISAM DEFAULT CHARSET=latin1
-insert into t1 values ("a"),("abc"),("abcd"),("hello"),("test");
-explain select * from t1 where a like 'abc%';
-id select_type table type possible_keys key key_len ref rows Extra
-1 SIMPLE t1 range a a 43 NULL 1 Using where; Using index
-explain select * from t1 where a like concat('abc','%');
-id select_type table type possible_keys key key_len ref rows Extra
-1 SIMPLE t1 range a a 43 NULL 1 Using where; Using index
-select * from t1 where a like "abc%";
-a
-abc
-abcd
-select * from t1 where a like concat("abc","%");
-a
-abc
-abcd
-select * from t1 where a like "ABC%";
-a
-abc
-abcd
-select * from t1 where a like "test%";
-a
-test
-select * from t1 where a like "te_t";
-a
-test
-select * from t1 where a like "%a%";
-a
-a
-abc
-abcd
-select * from t1 where a like "%abcd%";
-a
-abcd
-select * from t1 where a like "%abc\d%";
-a
-abcd
-drop table t1;
-select 'AA' like 'AA';
-'AA' like 'AA'
-1
-select 'AA' like 'A%A';
-'AA' like 'A%A'
-1
-select 'AA' like 'A%%A';
-'AA' like 'A%%A'
-1
-select 'AA' like 'AA%';
-'AA' like 'AA%'
-1
-select 'AA' like '%AA%';
-'AA' like '%AA%'
-1
-select 'AA' like '%A';
-'AA' like '%A'
-1
-select 'AA' like '%AA';
-'AA' like '%AA'
-1
-select 'AA' like 'A%A%';
-'AA' like 'A%A%'
-1
-select 'AA' like '_%_%';
-'AA' like '_%_%'
-1
-select 'AA' like '%A%A';
-'AA' like '%A%A'
-1
-select 'AAA'like 'A%A%A';
-'AAA'like 'A%A%A'
-1
-select 'AZ' like 'AZ';
-'AZ' like 'AZ'
-1
-select 'AZ' like 'A%Z';
-'AZ' like 'A%Z'
-1
-select 'AZ' like 'A%%Z';
-'AZ' like 'A%%Z'
-1
-select 'AZ' like 'AZ%';
-'AZ' like 'AZ%'
-1
-select 'AZ' like '%AZ%';
-'AZ' like '%AZ%'
-1
-select 'AZ' like '%Z';
-'AZ' like '%Z'
-1
-select 'AZ' like '%AZ';
-'AZ' like '%AZ'
-1
-select 'AZ' like 'A%Z%';
-'AZ' like 'A%Z%'
-1
-select 'AZ' like '_%_%';
-'AZ' like '_%_%'
-1
-select 'AZ' like '%A%Z';
-'AZ' like '%A%Z'
-1
-select 'AZ' like 'A_';
-'AZ' like 'A_'
-1
-select 'AZ' like '_Z';
-'AZ' like '_Z'
-1
-select 'AMZ'like 'A%M%Z';
-'AMZ'like 'A%M%Z'
-1
-SET NAMES utf8;
-SET character_set_connection=utf16;
-CREATE TABLE t1 (a VARCHAR(10) CHARACTER SET utf16);
-INSERT INTO t1 VALUES ('фыва'),('Фыва'),('фЫва'),('фыВа'),('фывА'),('ФЫВА');
-INSERT INTO t1 VALUES ('фывапролдж'),('ФывапSERT INTO t1 VALUES ('фывапроЛдж'),(''ФЫВАПРОЛДЖ');
-SELECT * FROM t1 WHERE a LIKE '%фЫва%' ORDER BY BINARY a;
-a
-вапролдж
-фЫва
-фЫвапролдж
-фыВа
-фыВапролдж
-фывА
-фывАпролдж
-фыва
-фываПролдж
-фывапролдЖ
-фывапролДж
-фывапроЛдж
-фывапрОлдж
-фывапРолдж
-фывапролдж
-SELECT * FROM t1 WHERE a LIKE '%фЫв%' ORDER BY BINARY a;
-a
-ФЫВА
-ФЫВАПРОЛДЖ
-Фыва
-Фывапролдж
-фЫпролдж
-фывА
-фывАпролдж
-фыва
-фываПролдж
-фывапрERE a LIKE 'фЫва%' ORDER BY BINARY a;
-a
-ФЫВА
-ФЫВАПРОЛДЖ
-Фыва
-Ф
-фывАпролдж
-фыва
-фываПCOLLATE utf16_bin ORDER BY BINARY a;
-a
-фЫEATE TABLE t1 (word varchar(64) NOT NULL, PRIMARY KEY (word))
-ENGINE=MyISAM CHARACTER SET utf16;
-INSERT INTO t1 (word) VALUES ("cat");
-SELECT * FROM t1 WHERE word LIKE "c%";
-word
-cat
-SELECT * FROM t1 WHERE word LIKE "ca_";
-word
-cat
-SELECT * FROM t1 WHERE word LIKE "cat";
-word
-cat
-SELECT * FROM t1 WHERE word LIKE _utf16 x'00630025';
-word
-cat
-SELECT * FROM t1 WHERE word LIKE _utf16 x'00630061005F';
-word
-cat
-DROP TABLE t1;
-select insert(_utf16 0x006100620063,10,2,_utf16 0x006400650066);
-insert(_utf16 0x006100620063,10,2,_utf16 0x006400650066)
-abc
-select insert(_utf16 0x006100620063,1,2,_utf16 0x006400650066);
-insert(_utf16 0x006100620063,1,2,_utf16 0x006400650066)
-defc
-SET NAMES latin1;
-CREATE TABLE t1 (
-word VARCHAR(64),
-bar INT(11) default 0,
-PRIMARY KEY (word))
-ENGINE=MyISAM
-CHARSET utf16
-COLLATE utf16_general_ci ;
-INSERT INTO t1 (word) VALUES ("aar");
-INSERT INTO t1 (word) VALUES ("a");
-INSERT INTO t1 (word) VALUES ("aardvar");
-INSERT INTO t1 (word) VALUES ("aardvark");
-INSERT INTO t1 (word) VALUES ("aardvara");
-INSERT INTO t1 (word) VALUES ("aardvarz");
-EXPLAIN SELECT * FROM t1 ORDER BY word;
-id select_type table type possible_keys key key_len ref rows Extra
-1 SIMPLE t1 ALL NULL NULL NULL NULL 6 Using filesort
-SELECT * FROM t1 ORDER BY word;
-word bar
-a 0
-aar 0
-aardvar 0
-aardvara 0
-aardvark 0
-aardvarz 0
-EXPLAIN SELECT word FROM t1 ORDER BY word;
-id select_type table type possible_keys key key_len ref rows Extra
-1 SIMPLE t1 index NULL PRIMARY 258 NULL 6 Using index
-SELECT word FROM t1 ORDER by word;
-word
-a
-aar
-aardvar
-aardvara
-aardvark
-aardvarz
-DROP TABLE t1;
-CREATE TABLE t1 (
-word VARCHAR(64) ,
-PRIMARY KEY (word))
-ENGINE=MyISAM
-CHARSET utf16
-COLLATE utf16_general_ci;
-INSERT INTO t1 (word) VALUES ("aar");
-INSERT INTO t1 (word) VALUES ("a");
-INSERT INTO t1 (word) VALUES ("aardvar");
-INSERT INTO t1 (word) VALUES ("aardvark");
-INSERT INTO t1 (word) VALUES ("aardvara");
-INSERT INTO t1 (word) VALUES ("aardvarz");
-EXPLAIN SELECT * FROM t1 ORDER BY WORD;
-id select_type table type possible_keys key key_len ref rows Extra
-1 SIMPLE t1 index NULL PRIMARY 258 NULL 6 Using index
-SELECT * FROM t1 ORDER BY word;
-word
-a
-aar
-aardvar
-aardvara
-aardvark
-aardvarz
-DROP TABLE t1;
-CREATE TABLE t1 (
-word TEXT,
-bar INT(11) AUTO_INCREMENT,
-PRIMARY KEY (bar))
-ENGINE=MyISAM
-CHARSET utf16
-COLLATE utf16_general_ci ;
-INSERT INTO t1 (word) VALUES ("aar");
-INSERT INTO t1 (word) VALUES ("a" );
-INSERT INTO t1 (word) VALUES ("aardvar");
-INSERT INTO t1 (word) VALUES ("aardvark");
-INSERT INTO t1 (word) VALUES ("aardvara");
-INSERT INTO t1 (word) VALUES ("aardvarz");
-EXPLAIN SELECT * FROM t1 ORDER BY word;
-id select_type table type possible_keys key key_len ref rows Extra
-1 SIMPLE t1 ALL NULL NULL NULL NULL 6 Using filesort
-SELECT * FROM t1 ORDER BY word;
-word bar
-a 2
-aar 1
-aardvar 3
-aardvara 5
-aardvark 4
-aardvarz 6
-EXPLAIN SELECT word FROM t1 ORDER BY word;
-id select_type table type possible_keys key key_len ref rows Extra
-1 SIMPLE t1 ALL NULL NULL NULL NULL 6 Using filesort
-SELECT word FROM t1 ORDER BY word;
-word
-a
-aar
-aardvar
-aardvara
-aardvark
-aardvarz
-DROP TABLE t1;
-SELECT hex(cast(0xAA as char character set utf16));
-hex(cast(0xAA as char character set utf16))
-000000AA
-SELECT hex(convert(0xAA using utf16));
-hex(convert(0xAA using utf16))
-000000AA
-CREATE TABLE t1 (a char(10) character set utf16);
-INSERT INTO t1 VALUES (0x1),(0x11),(0x111),(0x1111),(0x11111);
-SELECT HEX(a) FROM t1;
-HEX(a)
-0001
-0011
-0111
-1111
-00011111
-DROP TABLE t1;
-CREATE TABLE t1 (a varchar(10) character set utf16);
-INSERT INTO t1 VALUES (0x1),(0x11),(0x111),(0x1111),(0x11111);
-SELECT HEX(a) FROM t1;
-HEX(a)
-0001
-0011
-0111
-1111
-00011111
-DROP TABLE t1;
-CREATE TABLE t1 (a text character set utf16);
-INSERT INTO t1 VALUES (0x1),(0x11),(0x111),(0x1111),(0x11111);
-SELECT HEX(a) FROM t1;
-HEX(a)
-0001
-0011
-0111
-1111
-00011111
-DROP TABLE t1;
-CREATE TABLE t1 (a mediumtext character set utf16);
-INSERT INTO t1 VALUES (0x1),(0x11),(0x111),(0x1111),(0x11111);
-SELECT HEX(a) FROM t1;
-HEX(a)
-0001
-0011
-0111
-1111
-00011111
-DROP TABLE t1;
-CREATE TABLE t1 (a longtext character set utf16);
-INSERT INTO t1 VALUES (0x1),(0x11),(0x111),(0x1111),(0x11111);
-SELECT HEX(a) FROM t1;
-HEX(a)
-0001
-0011
-0111
-1111
-00011111
-DROP TABLE t1;
-create table t1(a char(1)) default charset utf16;
-insert into t1 values ('a'),('b'),('c');
-alter table t1 modify a char(5);
-select a, hex(a) from t1;
-a hex(a)
-a 0061
-b 0062
-c 0063
-drop table t1;
-set @ivar= 1234;
-set @str1 = 'select ?';
-set @str2 = convert(@str1 using utf16);
-prepare stmt1 from @str2;
-execute stmt1 using @ivar;
-?
-1234
-set names utf8;
-create table t1 (a enum('x','y','z') character set utf16);
-show create table t1;
-Table Create Table
-t1 CREATE TABLE `t1` (
- `a` enum('x','y','z') CHARACTER SET utf16 DEFAULT NULL
-) ENGINE=MyISAM DEFAULT CHARSET=latin1
-insert into t1 values ('x');
-insert into t1 values ('y');
-insert into t1 values ('z');
-select a, hex(a) from t1 order by a;
-a hex(a)
-x 0078
-y 0079
-z 007A
-alter table t1 change a a enum('x','y','z','d','e','ä','ö','ü') character set utf16;
-show create table t1;
-Table Create Table
-t1 CREATE TABLE `t1` (
- `a` enum('x','y','z','d','e','ä','ö','ü') CHARACTER SET utf16 DEFAULT NULL
-) ENGINE=MyISAM DEFAULT CHARSET=latin1
-insert into t1 values ('D');
-insert into t1 values ('E ');
-insert into t1 values ('ä');
-insert into t1 values ('ö');
-insert into t1 values ('ü');
-select a, hex(a) from t1 order by a;
-a hex(a)
-x 0078
-y 0079
-z 007A
-d 0064
-e 0065
-ä 00E4
-ö 00F6
-ü 00FC
-drop table t1;
-create table t1 (a set ('x','y','z','ä','ö','ü') character set utf16);
-show create table t1;
-Table Create Table
-t1 CREATE TABLE `t1` (
- `a` set('x','y','z','ä','ö','ü') CHARACTER SET utf16 DEFAULT NULL
-) ENGINE=MyISAM DEFAULT CHARSET=latin1
-insert into t1 values ('x');
-insert into t1 values ('y');
-insert into t1 values ('z');
-insert into t1 values ('x,y');
-insert into t1 values ('x,y,z,ä,ö,ü');
-select a, hex(a) from t1 order by a;
-a hex(a)
-x 0078
-y 0079
-x,y 0078002C0079
-z 007A
-x,y,z,ä,ö,ü 0078002C0079002C007A002C00E4002C00F6002C00FC
-drop table t1;
-create table t1(a enum('a','b','c')) default character set utf16;
-insert into t1 values('a'),('b'),('c');
-alter table t1 add b char(1);
-show warnings;
-Level Code Message
-select * from t1 order by a;
-a b
-a NULL
-b NULL
-c NULL
-drop table t1;
-SET NAMES latin1;
-SET collation_connection='utf16_general_ci';
-create table t1 select repeat('a',4000) a;
-delete from t1;
-insert into t1 values ('a'), ('a '), ('a\t');
-select collation(a),hex(a) from t1 order by a;
-collation(a) hex(a)
-utf16_general_ci 00610009
-utf16_general_ci 0061
-utf16_general_ci 00610020
-drop table t1;
-select @@collation_connection;
-@@collation_connection
-utf16_general_ci
-create table t1 ROW_FORMAT=DYNAMIC select repeat('a',50) as c1 ;
-insert into t1 values('abcdef');
-insert into t1 values('_bcdef');
-insert into t1 values('a_cdef');
-insert into t1 values('ab_def');
-insert into t1 values('abc_ef');
-insert into t1 values('abcd_f');
-insert into t1 values('abcde_');
-select c1 as c1u from t1 where c1 like 'ab\_def';
-c1u
-ab_def
-select c1 as c2h from t1 where c1 like 'ab#_def' escape '#';
-c2h
-ab_def
-drop table t1;
-SET NAMES latin1;
-SET collation_connection='utf16_bin';
-create table t1 select repeat('a',4000) a;
-delete from t1;
-insert into t1 values ('a'), ('a '), ('a\t');
-select collation(a),hex(a) from t1 order by a;
-collation(a) hex(a)
-utf16_bin 00610009
-utf16_bin 0061
-utf16_bin 00610020
-drop table t1;
-select @@collation_connection;
-@@collation_connection
-utf16_bin
-create table t1 ROW_FORMAT=DYNAMIC select repeat('a',50) as c1 ;
-insert into t1 values('abcdef');
-insert into t1 values('_bcdef');
-insert into t1 values('a_cdef');
-insert into t1 values('ab_def');
-insert into t1 values('abc_ef');
-insert into t1 values('abcd_f');
-insert into t1 values('abcde_');
-select c1 as c1u from t1 where c1 like 'ab\_def';
-c1u
-ab_def
-select c1 as c2h from t1 where c1 like 'ab#_def' escape '#';
-c2h
-ab_def
-drop table t1;
-select hex(substr(_utf16 0x00e400e50068,1));
-hex(substr(_utf16 0x00e400e50068,1))
-00E400E50068
-select hex(substr(_utf16 0x00e400e50068,2));
-hex(substr(_utf16 0x00e400e50068,2))
-00E50068
-select hex(substr(_utf16 0x00e400e50068,3));
-hex(substr(_utf16 0x00e400e50068,3))
-0068
-select hex(substr(_utf16 0x00e400e50068,-1));
-hex(substr(_utf16 0x00e400e50068,-1))
-0068
-select hex(substr(_utf16 0x00e400e50068,-2));
-hex(substr(_utf16 0x00e400e50068,-2))
-00E50068
-select hex(substr(_utf16 0x00e400e50068,-3));
-hex(substr(_utf16 0x00e400e50068,-3))
-00E400E50068
-select hex(substr(_utf16 0x00e400e5D800DC00,1));
-hex(substr(_utf16 0x00e400e5D800DC00,1))
-00E400E5D800DC00
-select hex(substr(_utf16 0x00e400e5D800DC00,2));
-hex(substr(_utf16 0x00e400e5D800DC00,2))
-00E5D800DC00
-select hex(substr(_utf16 0x00e400e5D800DC00,3));
-hex(substr(_utf16 0x00e400e5D800DC00,3))
-D800DC00
-select hex(substr(_utf16 0x00e400e5D800DC00,-1));
-hex(substr(_utf16 0x00e400e5D800DC00,-1))
-D800DC00
-select hex(substr(_utf16 0x00e400e5D800DC00,-2));
-hex(substr(_utf16 0x00e400e5D800DC00,-2))
-00E5D800DC00
-select hex(substr(_utf16 0x00e400e5D800DC00,-3));
-hex(substr(_utf16 0x00e400e5D800DC00,-3))
-00E400E5D800DC00
-SET NAMES latin1;
-create table t1 (utext varchar(20) character set utf16);
-insert into t1 values ("lily");
-insert into t1 values ("river");
-prepare stmt from 'select utext from t1 where utext like ?';
-set @param1='%%';
-execute stmt using @param1;
-utext
-lily
-river
-execute stmt using @param1;
-utext
-lily
-river
-select utext from t1 where utext like '%%';
-utext
-lily
-river
-drop table t1;
-deallocate prepare stmt;
-create table t1 (
-a char(10) character set utf16 not null,
-index a (a)
-) engine=myisam;
-insert into t1 values (repeat(0x201f, 10));
-insert into t1 values (repeat(0x2020, 10));
-insert into t1 values (repeat(0x2021, 10));
-explain select hex(a) from t1 order by a;
-id select_type table type possible_keys key key_len ref rows Extra
-1 SIMPLE t1 index NULL a 40 NULL 3 Using index
-select hex(a) from t1 order by a;
-hex(a)
-201F201F201F201F201F201F201F201F201F201F
-2020202020202020202020202020202020202020
-2021202120212021202120212021202120212021
-alter table t1 drop index a;
-select hex(a) from t1 order by a;
-hex(a)
-201F201F201F201F201F201F201F201F201F201F
-2020202020202020202020202020202020202020
-2021202120212021202120212021202120212021
-drop table t1;
-CREATE TABLE t1 (
-status enum('active','passive') character set utf16 collate utf16_general_ci
-NOT NULL default 'passive'
-);
-SHOW CREATE TABLE t1;
-Table Create Table
-t1 CREATE TABLE `t1` (
- `status` enum('active','passive') CHARACTER SET utf16 NOT NULL DEFAULT 'passive'
-) ENGINE=MyISAM DEFAULT CHARSET=latin1
-ALTER TABLE t1 ADD a int NOT NULL AFTER status;
-SHOW CREATE TABLE t1;
-Table Create Table
-t1 CREATE TABLE `t1` (
- `status` enum('active','passive') CHARACTER SET utf16 NOT NULL DEFAULT 'passive',
- `a` int(11) NOT NULL
-) ENGINE=MyISAM DEFAULT CHARSET=latin1
-DROP TABLE t1;
-End of 4.1 tests
-CREATE TABLE t1 (a varchar(64) character set utf16, b decimal(10,3));
-INSERT INTO t1 VALUES ("1.1", 0), ("2.1", 0);
-update t1 set b=a;
-SELECT *, hex(a) FROM t1;
-a b hex(a)
-1.1 1.100 0031002E0031
-2.1 2.100 0032002E0031
-DROP TABLE t1;
-create table t1 (utext varchar(20) character set utf16);
-insert into t1 values ("lily");
-insert into t1 values ("river");
-prepare stmt from 'select utext from t1 where utext like ?';
-set @param1='%%';
-execute stmt using @param1;
-utext
-lily
-river
-execute stmt using @param1;
-utext
-lily
-river
-select utext from t1 where utext like '%%';
-utext
-lily
-river
-drop table t1;
-deallocate prepare stmt;
-set names latin1;
-set character_set_connection=utf16;
-select soundex(''),soundex('he'),soundex('hello all folks'),soundex('#3556 in bugdb');
-soundex('') soundex('he') soundex('hello all folks') soundex('#3556 in bugdb')
- H000 H4142 I51231
-select hex(soundex('')),hex(soundex('he')),hex(soundex('hello all folks')),hex(soundex('#3556 in bugdb'));
-hex(soundex('')) hex(soundex('he')) hex(soundex('hello all folks')) hex(soundex('#3556 in bugdb'))
- 0048003000300030 00480034003100340032 004900350031003200330031
-select 'mood' sounds like 'mud';
-'mood' sounds like 'mud'
-1
-select hex(soundex(_utf16 0x041004110412));
-hex(soundex(_utf16 0x041004110412))
-0410003000300030
-select hex(soundex(_utf16 0x00BF00C0));
-hex(soundex(_utf16 0x00BF00C0))
-00C0003000300030
-set names latin1;
-create table t1(a blob, b text charset utf16);
-select data_type, character_octet_length, character_maximum_length
-from information_schema.columns where table_name='t1';
-data_type character_octet_length character_maximum_length
-blob 65535 65535
-text 65535 32767
-drop table t1;
-End of 5.0 tests
-set collation_connection=utf16_general_ci;
-select @@collation_connection;
-@@collation_connection
-utf16_general_ci
-select hex(weight_string('a'));
-hex(weight_string('a'))
-0041
-select hex(weight_string('A'));
-hex(weight_string('A'))
-0041
-select hex(weight_string('abc'));
-hex(weight_string('abc'))
-004100420043
-select hex(weight_string('abc' as char(2)));
-hex(weight_string('abc' as char(2)))
-00410042
-select hex(weight_string('abc' as char(3)));
-hex(weight_string('abc' as char(3)))
-004100420043
-select hex(weight_string('abc' as char(5)));
-hex(weight_string('abc' as char(5)))
-00410042004300200020
-select hex(weight_string('abc', 1, 2, 0xC0));
-hex(weight_string('abc', 1, 2, 0xC0))
-00
-select hex(weight_string('abc', 2, 2, 0xC0));
-hex(weight_string('abc', 2, 2, 0xC0))
-0041
-select hex(weight_string('abc', 3, 2, 0xC0));
-hex(weight_string('abc', 3, 2, 0xC0))
-004100
-select hex(weight_string('abc', 4, 2, 0xC0));
-hex(weight_string('abc', 4, 2, 0xC0))
-00410042
-select hex(weight_string('abc', 5, 2, 0xC0));
-hex(weight_string('abc', 5, 2, 0xC0))
-0041004200
-select hex(weight_string('abc',25, 2, 0xC0));
-hex(weight_string('abc',25, 2, 0xC0))
-00410042002000200020002000200020002000200020002000
-select hex(weight_string('abc', 1, 3, 0xC0));
-hex(weight_string('abc', 1, 3, 0xC0))
-00
-select hex(weight_string('abc', 2, 3, 0xC0));
-hex(weight_string('abc', 2, 3, 0xC0))
-0041
-select hex(weight_string('abc', 3, 3, 0xC0));
-hex(weight_string('abc', 3, 3, 0xC0))
-004100
-select hex(weight_string('abc', 4, 3, 0xC0));
-hex(weight_string('abc', 4, 3, 0xC0))
-00410042
-select hex(weight_string('abc', 5, 3, 0xC0));
-hex(weight_string('abc', 5, 3, 0xC0))
-0041004200
-select hex(weight_string('abc',25, 3, 0xC0));
-hex(weight_string('abc',25, 3, 0xC0))
-00410042004300200020002000200020002000200020002000
-select hex(weight_string('abc', 1, 4, 0xC0));
-hex(weight_string('abc', 1, 4, 0xC0))
-00
-select hex(weight_string('abc', 2, 4, 0xC0));
-hex(weight_string('abc', 2, 4, 0xC0))
-0041
-select hex(weight_string('abc', 3, 4, 0xC0));
-hex(weight_string('abc', 3, 4, 0xC0))
-004100
-select hex(weight_string('abc', 4, 4, 0xC0));
-hex(weight_string('abc', 4, 4, 0xC0))
-00410042
-select hex(weight_string('abc', 5, 4, 0xC0));
-hex(weight_string('abc', 5, 4, 0xC0))
-0041004200
-select hex(weight_string('abc',25, 4, 0xC0));
-hex(weight_string('abc',25, 4, 0xC0))
-00410042004300200020002000200020002000200020002000
-select @@collation_connection;
-@@collation_connection
-utf16_general_ci
-select hex(weight_string(cast(_latin1 0x80 as char)));
-hex(weight_string(cast(_latin1 0x80 as char)))
-20AC
-select hex(weight_string(cast(_latin1 0x808080 as char)));
-hex(weight_string(cast(_latin1 0x808080 as char)))
-20AC20AC20AC
-select hex(weight_string(cast(_latin1 0x808080 as char) as char(2)));
-hex(weight_string(cast(_latin1 0x808080 as char) as char(2)))
-20AC20AC
-select hex(weight_string(cast(_latin1 0x808080 as char) as char(3)));
-hex(weight_string(cast(_latin1 0x808080 as char) as char(3)))
-20AC20AC20AC
-select hex(weight_string(cast(_latin1 0x808080 as char) as char(5)));
-hex(weight_string(cast(_latin1 0x808080 as char) as char(5)))
-20AC20AC20AC00200020
-select hex(weight_string(cast(_latin1 0x808080 as char), 1, 2, 0xC0));
-hex(weight_string(cast(_latin1 0x808080 as char), 1, 2, 0xC0))
-20
-select hex(weight_string(cast(_latin1 0x808080 as char), 2, 2, 0xC0));
-hex(weight_string(cast(_latin1 0x808080 as char), 2, 2, 0xC0))
-20AC
-select hex(weight_string(cast(_latin1 0x808080 as char), 3, 2, 0xC0));
-hex(weight_string(cast(_latin1 0x808080 as char), 3, 2, 0xC0))
-20AC20
-select hex(weight_string(cast(_latin1 0x808080 as char), 4, 2, 0xC0));
-hex(weight_string(cast(_latin1 0x808080 as char), 4, 2, 0xC0))
-20AC20AC
-select hex(weight_string(cast(_latin1 0x808080 as char), 5, 2, 0xC0));
-hex(weight_string(cast(_latin1 0x808080 as char), 5, 2, 0xC0))
-20AC20AC00
-select hex(weight_string(cast(_latin1 0x808080 as char),25, 2, 0xC0));
-hex(weight_string(cast(_latin1 0x808080 as char),25, 2, 0xC0))
-20AC20AC002000200020002000200020002000200020002000
-select hex(weight_string(cast(_latin1 0x808080 as char), 1, 3, 0xC0));
-hex(weight_string(cast(_latin1 0x808080 as char), 1, 3, 0xC0))
-20
-select hex(weight_string(cast(_latin1 0x808080 as char), 2, 3, 0xC0));
-hex(weight_string(cast(_latin1 0x808080 as char), 2, 3, 0xC0))
-20AC
-select hex(weight_string(cast(_latin1 0x808080 as char), 3, 3, 0xC0));
-hex(weight_string(cast(_latin1 0x808080 as char), 3, 3, 0xC0))
-20AC20
-select hex(weight_string(cast(_latin1 0x808080 as char), 4, 3, 0xC0));
-hex(weight_string(cast(_latin1 0x808080 as char), 4, 3, 0xC0))
-20AC20AC
-select hex(weight_string(cast(_latin1 0x808080 as char), 5, 3, 0xC0));
-hex(weight_string(cast(_latin1 0x808080 as char), 5, 3, 0xC0))
-20AC20AC20
-select hex(weight_string(cast(_latin1 0x808080 as char),25, 3, 0xC0));
-hex(weight_string(cast(_latin1 0x808080 as char),25, 3, 0xC0))
-20AC20AC20AC00200020002000200020002000200020002000
-select hex(weight_string(cast(_latin1 0x808080 as char), 1, 4, 0xC0));
-hex(weight_string(cast(_latin1 0x808080 as char), 1, 4, 0xC0))
-20
-select hex(weight_string(cast(_latin1 0x808080 as char), 2, 4, 0xC0));
-hex(weight_string(cast(_latin1 0x808080 as char), 2, 4, 0xC0))
-20AC
-select hex(weight_string(cast(_latin1 0x808080 as char), 3, 4, 0xC0));
-hex(weight_string(cast(_latin1 0x808080 as char), 3, 4, 0xC0))
-20AC20
-select hex(weight_string(cast(_latin1 0x808080 as char), 4, 4, 0xC0));
-hex(weight_string(cast(_latin1 0x808080 as char), 4, 4, 0xC0))
-20AC20AC
-select hex(weight_string(cast(_latin1 0x808080 as char), 5, 4, 0xC0));
-hex(weight_string(cast(_latin1 0x808080 as char), 5, 4, 0xC0))
-20AC20AC20
-select hex(weight_string(cast(_latin1 0x808080 as char),25, 4, 0xC0));
-hex(weight_string(cast(_latin1 0x808080 as char),25, 4, 0xC0))
-20AC20AC20AC00200020002000200020002000200020002000
-select hex(weight_string(_utf16 0xD800DC00));
-hex(weight_string(_utf16 0xD800DC00))
-FFFD
-select hex(weight_string(_utf16 0xD800DC01));
-hex(weight_string(_utf16 0xD800DC01))
-FFFD
-select @@collation_connection;
-@@collation_connection
-utf16_general_ci
-select hex(weight_string('a' LEVEL 1));
-hex(weight_string('a' LEVEL 1))
-0041
-select hex(weight_string('A' LEVEL 1));
-hex(weight_string('A' LEVEL 1))
-0041
-select hex(weight_string('abc' LEVEL 1));
-hex(weight_string('abc' LEVEL 1))
-004100420043
-select hex(weight_string('abc' as char(2) LEVEL 1));
-hex(weight_string('abc' as char(2) LEVEL 1))
-00410042
-select hex(weight_string('abc' as char(3) LEVEL 1));
-hex(weight_string('abc' as char(3) LEVEL 1))
-004100420043
-select hex(weight_string('abc' as char(5) LEVEL 1));
-hex(weight_string('abc' as char(5) LEVEL 1))
-00410042004300200020
-select hex(weight_string('abc' as char(5) LEVEL 1 REVERSE));
-hex(weight_string('abc' as char(5) LEVEL 1 REVERSE))
-20002000430042004100
-select hex(weight_string('abc' as char(5) LEVEL 1 DESC));
-hex(weight_string('abc' as char(5) LEVEL 1 DESC))
-FFBEFFBDFFBCFFDFFFDF
-select hex(weight_string('abc' as char(5) LEVEL 1 DESC REVERSE));
-hex(weight_string('abc' as char(5) LEVEL 1 DESC REVERSE))
-DFFFDFFFBCFFBDFFBEFF
-set collation_connection=utf16_bin;
-select @@collation_connection;
-@@collation_connection
-utf16_bin
-select hex(weight_string('a'));
-hex(weight_string('a'))
-0061
-select hex(weight_string('A'));
-hex(weight_string('A'))
-0041
-select hex(weight_string('abc'));
-hex(weight_string('abc'))
-006100620063
-select hex(weight_string('abc' as char(2)));
-hex(weight_string('abc' as char(2)))
-00610062
-select hex(weight_string('abc' as char(3)));
-hex(weight_string('abc' as char(3)))
-006100620063
-select hex(weight_string('abc' as char(5)));
-hex(weight_string('abc' as char(5)))
-00610062006300200020
-select hex(weight_string('abc', 1, 2, 0xC0));
-hex(weight_string('abc', 1, 2, 0xC0))
-00
-select hex(weight_string('abc', 2, 2, 0xC0));
-hex(weight_string('abc', 2, 2, 0xC0))
-0061
-select hex(weight_string('abc', 3, 2, 0xC0));
-hex(weight_string('abc', 3, 2, 0xC0))
-006100
-select hex(weight_string('abc', 4, 2, 0xC0));
-hex(weight_string('abc', 4, 2, 0xC0))
-00610062
-select hex(weight_string('abc', 5, 2, 0xC0));
-hex(weight_string('abc', 5, 2, 0xC0))
-0061006200
-select hex(weight_string('abc',25, 2, 0xC0));
-hex(weight_string('abc',25, 2, 0xC0))
-00610062002000200020002000200020002000200020002000
-select hex(weight_string('abc', 1, 3, 0xC0));
-hex(weight_string('abc', 1, 3, 0xC0))
-00
-select hex(weight_string('abc', 2, 3, 0xC0));
-hex(weight_string('abc', 2, 3, 0xC0))
-0061
-select hex(weight_string('abc', 3, 3, 0xC0));
-hex(weight_string('abc', 3, 3, 0xC0))
-006100
-select hex(weight_string('abc', 4, 3, 0xC0));
-hex(weight_string('abc', 4, 3, 0xC0))
-00610062
-select hex(weight_string('abc', 5, 3, 0xC0));
-hex(weight_string('abc', 5, 3, 0xC0))
-0061006200
-select hex(weight_string('abc',25, 3, 0xC0));
-hex(weight_string('abc',25, 3, 0xC0))
-00610062006300200020002000200020002000200020002000
-select hex(weight_string('abc', 1, 4, 0xC0));
-hex(weight_string('abc', 1, 4, 0xC0))
-00
-select hex(weight_string('abc', 2, 4, 0xC0));
-hex(weight_string('abc', 2, 4, 0xC0))
-0061
-select hex(weight_string('abc', 3, 4, 0xC0));
-hex(weight_string('abc', 3, 4, 0xC0))
-006100
-select hex(weight_string('abc', 4, 4, 0xC0));
-hex(weight_string('abc', 4, 4, 0xC0))
-00610062
-select hex(weight_string('abc', 5, 4, 0xC0));
-hex(weight_string('abc', 5, 4, 0xC0))
-0061006200
-select hex(weight_string('abc',25, 4, 0xC0));
-hex(weight_string('abc',25, 4, 0xC0))
-00610062006300200020002000200020002000200020002000
-select @@collation_connection;
-@@collation_connection
-utf16_bin
-select hex(weight_string(cast(_latin1 0x80 as char)));
-hex(weight_string(cast(_latin1 0x80 as char)))
-20AC
-select hex(weight_string(cast(_latin1 0x808080 as char)));
-hex(weight_string(cast(_latin1 0x808080 as char)))
-20AC20AC20AC
-select hex(weight_string(cast(_latin1 0x808080 as char) as char(2)));
-hex(weight_string(cast(_latin1 0x808080 as char) as char(2)))
-20AC20AC
-select hex(weight_string(cast(_latin1 0x808080 as char) as char(3)));
-hex(weight_string(cast(_latin1 0x808080 as char) as char(3)))
-20AC20AC20AC
-select hex(weight_string(cast(_latin1 0x808080 as char) as char(5)));
-hex(weight_string(cast(_latin1 0x808080 as char) as char(5)))
-20AC20AC20AC00200020
-select hex(weight_string(cast(_latin1 0x808080 as char), 1, 2, 0xC0));
-hex(weight_string(cast(_latin1 0x808080 as char), 1, 2, 0xC0))
-20
-select hex(weight_string(cast(_latin1 0x808080 as char), 2, 2, 0xC0));
-hex(weight_string(cast(_latin1 0x808080 as char), 2, 2, 0xC0))
-20AC
-select hex(weight_string(cast(_latin1 0x808080 as char), 3, 2, 0xC0));
-hex(weight_string(cast(_latin1 0x808080 as char), 3, 2, 0xC0))
-20AC20
-select hex(weight_string(cast(_latin1 0x808080 as char), 4, 2, 0xC0));
-hex(weight_string(cast(_latin1 0x808080 as char), 4, 2, 0xC0))
-20AC20AC
-select hex(weight_string(cast(_latin1 0x808080 as char), 5, 2, 0xC0));
-hex(weight_string(cast(_latin1 0x808080 as char), 5, 2, 0xC0))
-20AC20AC00
-select hex(weight_string(cast(_latin1 0x808080 as char),25, 2, 0xC0));
-hex(weight_string(cast(_latin1 0x808080 as char),25, 2, 0xC0))
-20AC20AC002000200020002000200020002000200020002000
-select hex(weight_string(cast(_latin1 0x808080 as char), 1, 3, 0xC0));
-hex(weight_string(cast(_latin1 0x808080 as char), 1, 3, 0xC0))
-20
-select hex(weight_string(cast(_latin1 0x808080 as char), 2, 3, 0xC0));
-hex(weight_string(cast(_latin1 0x808080 as char), 2, 3, 0xC0))
-20AC
-select hex(weight_string(cast(_latin1 0x808080 as char), 3, 3, 0xC0));
-hex(weight_string(cast(_latin1 0x808080 as char), 3, 3, 0xC0))
-20AC20
-select hex(weight_string(cast(_latin1 0x808080 as char), 4, 3, 0xC0));
-hex(weight_string(cast(_latin1 0x808080 as char), 4, 3, 0xC0))
-20AC20AC
-select hex(weight_string(cast(_latin1 0x808080 as char), 5, 3, 0xC0));
-hex(weight_string(cast(_latin1 0x808080 as char), 5, 3, 0xC0))
-20AC20AC20
-select hex(weight_string(cast(_latin1 0x808080 as char),25, 3, 0xC0));
-hex(weight_string(cast(_latin1 0x808080 as char),25, 3, 0xC0))
-20AC20AC20AC00200020002000200020002000200020002000
-select hex(weight_string(cast(_latin1 0x808080 as char), 1, 4, 0xC0));
-hex(weight_string(cast(_latin1 0x808080 as char), 1, 4, 0xC0))
-20
-select hex(weight_string(cast(_latin1 0x808080 as char), 2, 4, 0xC0));
-hex(weight_string(cast(_latin1 0x808080 as char), 2, 4, 0xC0))
-20AC
-select hex(weight_string(cast(_latin1 0x808080 as char), 3, 4, 0xC0));
-hex(weight_string(cast(_latin1 0x808080 as char), 3, 4, 0xC0))
-20AC20
-select hex(weight_string(cast(_latin1 0x808080 as char), 4, 4, 0xC0));
-hex(weight_string(cast(_latin1 0x808080 as char), 4, 4, 0xC0))
-20AC20AC
-select hex(weight_string(cast(_latin1 0x808080 as char), 5, 4, 0xC0));
-hex(weight_string(cast(_latin1 0x808080 as char), 5, 4, 0xC0))
-20AC20AC20
-select hex(weight_string(cast(_latin1 0x808080 as char),25, 4, 0xC0));
-hex(weight_string(cast(_latin1 0x808080 as char),25, 4, 0xC0))
-20AC20AC20AC00200020002000200020002000200020002000
-select @@collation_connection;
-@@collation_connection
-utf16_bin
-select hex(weight_string('a' LEVEL 1));
-hex(weight_string('a' LEVEL 1))
-0061
-select hex(weight_string('A' LEVEL 1));
-hex(weight_string('A' LEVEL 1))
-0041
-select hex(weight_string('abc' LEVEL 1));
-hex(weight_string('abc' LEVEL 1))
-006100620063
-select hex(weight_string('abc' as char(2) LEVEL 1));
-hex(weight_string('abc' as char(2) LEVEL 1))
-00610062
-select hex(weight_string('abc' as char(3) LEVEL 1));
-hex(weight_string('abc' as char(3) LEVEL 1))
-006100620063
-select hex(weight_string('abc' as char(5) LEVEL 1));
-hex(weight_string('abc' as char(5) LEVEL 1))
-00610062006300200020
-select hex(weight_string('abc' as char(5) LEVEL 1 REVERSE));
-hex(weight_string('abc' as char(5) LEVEL 1 REVERSE))
-20002000630062006100
-select hex(weight_string('abc' as char(5) LEVEL 1 DESC));
-hex(weight_string('abc' as char(5) LEVEL 1 DESC))
-FF9EFF9DFF9CFFDFFFDF
-select hex(weight_string('abc' as char(5) LEVEL 1 DESC REVERSE));
-hex(weight_string('abc' as char(5) LEVEL 1 DESC REVERSE))
-DFFFDFFF9CFF9DFF9EFF
-set names latin1;
-set collation_connection=utf16_general_ci;
-select position('bb' in 'abba');
-position('bb' in 'abba')
-2
-create table t1 (a varchar(10) character set utf16) engine=heap;
-insert into t1 values ('a'),('A'),('b'),('B');
-select * from t1 where a='a' order by binary a;
-a
-A
-a
-select hex(min(binary a)),count(*) from t1 group by a;
-hex(min(binary a)) count(*)
-0041 2
-0042 2
-drop table t1;
-select char_length('abcd'), octet_length('abcd');
-char_length('abcd') octet_length('abcd')
-4 8
-select char_length(_utf16 0xD800DC00), octet_length(_utf16 0xD800DC00);
-char_length(_utf16 0xD800DC00) octet_length(_utf16 0xD800DC00)
-1 4
-select char_length(_utf16 0xD87FDFFF), octet_length(_utf16 0xD87FDFFF);
-char_length(_utf16 0xD87FDFFF) octet_length(_utf16 0xD87FDFFF)
-1 4
-select left('abcd',2);
-left('abcd',2)
-ab
-select hex(left(_utf16 0xD800DC00D87FDFFF, 1));
-hex(left(_utf16 0xD800DC00D87FDFFF, 1))
-D800DC00
-select hex(right(_utf16 0xD800DC00D87FDFFF, 1));
-hex(right(_utf16 0xD800DC00D87FDFFF, 1))
-D87FDFFF
-create table t1 (a varchar(10) character set utf16);
-insert into t1 values (_utf16 0xD800);
-ERROR HY000: Invalid utf16 character string: 'D800'
-insert into t1 values (_utf16 0xDC00);
-ERROR HY000: Invalid utf16 character string: 'DC00'
-insert into t1 values (_utf16 0xD800D800);
-ERROR HY000: Invalid utf16 character string: 'D800D8'
-insert into t1 values (_utf16 0xD800E800);
-ERROR HY000: Invalid utf16 character string: 'D800E8'
-insert into t1 values (_utf16 0xD8000800);
-ERROR HY000: Invalid utf16 character string: 'D80008'
-insert into t1 values (_utf16 0xD800DC00);
-insert into t1 values (_utf16 0xD800DCFF);
-insert into t1 values (_utf16 0xDBFFDC00);
-insert into t1 values (_utf16 0xDBFFDCFF);
-select hex(a) from t1;
-hex(a)
-D800DC00
-D800DCFF
-DBFFDC00
-DBFFDCFF
-drop table t1;
-create table t1 (s1 varchar(50) character set ucs2);
-insert into t1 values (0xdf84);
-alter table t1 modify column s1 varchar(50) character set utf16;
-Warnings:
-Warning 1366 Incorrect string value: '\xDF\x84' for column 's1' at row 1
-select hex(s1) from t1;
-hex(s1)
-003F
-drop table t1;
-create table t1 (s1 varchar(5) character set ucs2, s2 varchar(5) character set utf16);
-insert into t1 (s1) values (0xdf84);
-update t1 set s2 = s1;
-Warnings:
-Warning 1366 Incorrect string value: '\xDF\x84' for column 's2' at row 1
-select hex(s2) from t1;
-hex(s2)
-003F
-drop table t1;
-create table t1 (a char(10)) character set utf16;
-insert into t1 values ('a ');
-select hex(a) from t1;
-hex(a)
-0061
-drop table t1;
-select upper('abcd'), lower('ABCD');
-upper('abcd') lower('ABCD')
-ABCD abcd
-create table t1 (a varchar(10) character set utf16);
-insert into t1 values (123456);
-select a, hex(a) from t1;
-a hex(a)
-123456 003100320033003400350036
-drop table t1;
-select hex(soundex('a'));
-hex(soundex('a'))
-0041003000300030
-create table t1 (a enum ('a','b','c')) character set utf16;
-insert into t1 values ('1');
-select * from t1;
-a
-a
-drop table t1;
-set names latin1;
-select hex(conv(convert('123' using utf16), -10, 16));
-hex(conv(convert('123' using utf16), -10, 16))
-3742
-select hex(conv(convert('123' using utf16), 10, 16));
-hex(conv(convert('123' using utf16), 10, 16))
-3742
-set names latin1;
-set character_set_connection=utf16;
-select 1.1 + '1.2';
-1.1 + '1.2'
-2.3
-select 1.1 + '1.2xxx';
-1.1 + '1.2xxx'
-2.3
-Warnings:
-Warning 1292 Truncated incorrect DOUBLE value: ''
-select left('aaa','1');
-left('aaa','1')
-a
-create table t1 (a int);
-insert into t1 values ('-1234.1e2');
-insert into t1 values ('-1234.1e2xxxx');
-Warnings:
-Warning 1265 Data truncated for column 'a' at row 1
-insert into t1 values ('-1234.1e2 ');
-select * from t1;
-a
--123410
--123410
--123410
-drop table t1;
-create table t1 (a int);
-insert into t1 values ('1 ');
-insert into t1 values ('1 x');
-Warnings:
-Warning 1265 Data truncated for column 'a' at row 1
-select * from t1;
-a
-1
-1
-drop table t1;
-create table t1 (a varchar(17000) character set utf16);
-Warnings:
-Note 1246 Converting column 'a' from VARCHAR to TEXT
-show create table t1;
-Table Create Table
-t1 CREATE TABLE `t1` (
- `a` mediumtext CHARACTER SET utf16
-) ENGINE=MyISAM DEFAULT CHARSET=latin1
-drop table t1;
-create table t1 (a varchar(250) character set utf16 primary key);
-show create table t1;
-Table Create Table
-t1 CREATE TABLE `t1` (
- `a` varchar(250) CHARACTER SET utf16 NOT NULL,
- PRIMARY KEY (`a`)
-) ENGINE=MyISAM DEFAULT CHARSET=latin1
-drop table t1;
-create table t1 (a varchar(334) character set utf16 primary key);
-ERROR 42000: Specified key was too long; max key length is 1332 bytes
-create table t1 (a char(1) character set utf16);
-insert into t1 values (0xD800DC00),(0xD800DCFF),(0xDB7FDC00),(0xDB7FDCFF);
-insert into t1 values (0x00C0), (0x00FF),(0xE000), (0xFFFF);
-select hex(a), hex(@a:=convert(a using utf8)), hex(convert(@a using utf16)) from t1;
-hex(a) hex(@a:=convert(a using utf8)) hex(convert(@a using utf16))
-D800DC00 F0908080 D800DC00
-D800DCFF F09083BF D800DCFF
-DB7FDC00 F3AFB080 DB7FDC00
-DB7FDCFF F3AFB3BF DB7FDCFF
-00C0 C380 00C0
-00FF C3BF 00FF
-E000 EE8080 E000
-FFFF EFBFBF FFFF
-drop table t1;
-set collation_connection=utf16_general_ci;
-drop table if exists t1;
-create table t1 as
-select repeat(' ', 64) as s1, repeat(' ',64) as s2
-union
-select null, null;
-show create table t1;
-Table Create Table
-t1 CREATE TABLE `t1` (
- `s1` varchar(64) CHARACTER SET utf16 DEFAULT NULL,
- `s2` varchar(64) CHARACTER SET utf16 DEFAULT NULL
-) ENGINE=MyISAM DEFAULT CHARSET=latin1
-delete from t1;
-insert into t1 values('aaa','aaa');
-insert into t1 values('aaa|qqq','qqq');
-insert into t1 values('gheis','^[^a-dXYZ]+$');
-insert into t1 values('aab','^aa?b');
-insert into t1 values('Baaan','^Ba*n');
-insert into t1 values('aaa','qqq|aaa');
-insert into t1 values('qqq','qqq|aaa');
-insert into t1 values('bbb','qqq|aaa');
-insert into t1 values('bbb','qqq');
-insert into t1 values('aaa','aba');
-insert into t1 values(null,'abc');
-insert into t1 values('def',null);
-insert into t1 values(null,null);
-insert into t1 values('ghi','ghi[');
-select HIGH_PRIORITY s1 regexp s2 from t1;
-s1 regexp s2
-1
-1
-1
-1
-1
-1
-1
-0
-0
-0
-NULL
-NULL
-NULL
-NULL
-drop table t1;
-set names latin1;
-SET collation_connection=utf16_general_ci;
-CREATE TABLE t1 AS SELECT repeat('a',20) AS s1 LIMIT 0;
-SET timestamp=1216359724;
-INSERT INTO t1 VALUES (current_date);
-INSERT INTO t1 VALUES (current_time);
-INSERT INTO t1 VALUES (current_timestamp);
-SELECT s1, hex(s1) FROM t1;
-s1 hex(s1)
-2008-07-18 0032003000300038002D00300037002D00310038
-08:42:04 00300038003A00340032003A00300034
-2008-07-18 08:42:04 0032003000300038002D00300037002D00310038002000300038003A00340032003A00300034
-DROP TABLE t1;
-SET timestamp=0;
-SET NAMES latin1;
-SET collation_connection=utf16_general_ci;
-CREATE TABLE t1 AS SELECT repeat('a',2) as s1 LIMIT 0;
-SHOW CREATE TABLE t1;
-Table Create Table
-t1 CREATE TABLE `t1` (
- `s1` varchar(2) CHARACTER SET utf16 NOT NULL DEFAULT ''
-) ENGINE=MyISAM DEFAULT CHARSET=latin1
-INSERT INTO t1 VALUES ('ab'),('AE'),('ab'),('AE');
-SELECT * FROM t1 ORDER BY s1;
-s1
-ab
-ab
-AE
-AE
-SET max_sort_length=4;
-SELECT * FROM t1 ORDER BY s1;
-s1
-ab
-ab
-AE
-AE
-SELECT hex(weight_string(s1, 4, 2, 0)) FROM t1 ORDER BY s1;
-hex(weight_string(s1, 4, 2, 0))
-00410042
-00410042
-00410045
-00410045
-DROP TABLE t1;
-SET max_sort_length=DEFAULT;
-SET NAMES latin1;
=== removed file 'mysql-test/r/ctype_utf16_uca.result'
--- a/mysql-test/r/ctype_utf16_uca.result 2008-07-23 09:43:50 +0000
+++ b/mysql-test/r/ctype_utf16_uca.result 1970-01-01 00:00:00 +0000
@@ -1,2702 +0,0 @@
-DROP TABLE IF EXISTS t1;
-set names utf8;
-set collation_connection=utf16_unicode_ci;
-select hex('a'), hex('a ');
-hex('a') hex('a ')
-0061 00610020
-select 'a' = 'a', 'a' = 'a ', 'a ' = 'a';
-'a' = 'a' 'a' = 'a ' 'a ' = 'a'
-1 1 1
-select 'a\0' = 'a', 'a\0' < 'a', 'a\0' > 'a';
-'a\0' = 'a' 'a\0' < 'a' 'a\0' > 'a'
-1 0 0
-select 'a' = 'a\0', 'a' < 'a\0', 'a' > 'a\0';
-'a' = 'a\0' 'a' < 'a\0' 'a' > 'a\0'
-1 0 0
-select 'a\0' = 'a ', 'a\0' < 'a ', 'a\0' > 'a ';
-'a\0' = 'a ' 'a\0' < 'a ' 'a\0' > 'a '
-1 0 0
-select 'a ' = 'a\0', 'a ' < 'a\0', 'a ' > 'a\0';
-'a ' = 'a\0' 'a ' < 'a\0' 'a ' > 'a\0'
-1 0 0
-select 'a a' > 'a', 'a \0' < 'a';
-'a a' > 'a' 'a \0' < 'a'
-1 0
-select binary 'a a' > 'a', binary 'a \0' > 'a', binary 'a\0' > 'a';
-binary 'a a' > 'a' binary 'a \0' > 'a' binary 'a\0' > 'a'
-1 1 1
-select 'c' like '\_' as want0;
-want0
-0
-CREATE TABLE t (
-c char(20) NOT NULL
-) ENGINE=MyISAM DEFAULT CHARACTER SET utf16 COLLATE utf16_unicode_ci;
-INSERT INTO t VALUES ('a'),('ab'),('aba');
-ALTER TABLE t ADD INDEX (c);
-SELECT c FROM t WHERE c LIKE 'a%';
-c
-a
-ab
-aba
-DROP TABLE t;
-create table t1 (c1 char(10) character set utf16 collate utf16_bin);
-insert into t1 values ('A'),('a');
-insert into t1 values ('B'),('b');
-insert into t1 values ('C'),('c');
-insert into t1 values ('D'),('d');
-insert into t1 values ('E'),('e');
-insert into t1 values ('F'),('f');
-insert into t1 values ('G'),('g');
-insert into t1 values ('H'),('h');
-insert into t1 values ('I'),('i');
-insert into t1 values ('J'),('j');
-insert into t1 values ('K'),('k');
-insert into t1 values ('L'),('l');
-insert into t1 values ('M'),('m');
-insert into t1 values ('N'),('n');
-insert into t1 values ('O'),('o');
-insert into t1 values ('P'),('p');
-insert into t1 values ('Q'),('q');
-insert into t1 values ('R'),('r');
-insert into t1 values ('S'),('s');
-insert into t1 values ('T'),('t');
-insert into t1 values ('U'),('u');
-insert into t1 values ('V'),('v');
-insert into t1 values ('W'),('w');
-insert into t1 values ('X'),('x');
-insert into t1 values ('Y'),('y');
-insert into t1 values ('Z'),('z');
-insert into t1 values (0x00e0),(0x00c0);
-insert into t1 values (0x00e1),(0x00c1);
-insert into t1 values (0x00e2),(0x00c2);
-insert into t1 values (0x00e3),(0x00c3);
-insert into t1 values (0x00e4),(0x00c4);
-insert into t1 values (0x00e5),(0x00c5);
-insert into t1 values (0x00e6),(0x00c6);
-insert into t1 values (0x00e7),(0x00c7);
-insert into t1 values (0x00e8),(0x00c8);
-insert into t1 values (0x00e9),(0x00c9);
-insert into t1 values (0x00ea),(0x00ca);
-insert into t1 values (0x00eb),(0x00cb);
-insert into t1 values (0x00ec),(0x00cc);
-insert into t1 values (0x00ed),(0x00cd);
-insert into t1 values (0x00ee),(0x00ce);
-insert into t1 values (0x00ef),(0x00cf);
-insert into t1 values (0x00f0),(0x00d0);
-insert into t1 values (0x00f1),(0x00d1);
-insert into t1 values (0x00f2),(0x00d2);
-insert into t1 values (0x00f3),(0x00d3);
-insert into t1 values (0x00f4),(0x00d4);
-insert into t1 values (0x00f5),(0x00d5);
-insert into t1 values (0x00f6),(0x00d6);
-insert into t1 values (0x00f7),(0x00d7);
-insert into t1 values (0x00f8),(0x00d8);
-insert into t1 values (0x00f9),(0x00d9);
-insert into t1 values (0x00fa),(0x00da);
-insert into t1 values (0x00fb),(0x00db);
-insert into t1 values (0x00fc),(0x00dc);
-insert into t1 values (0x00fd),(0x00dd);
-insert into t1 values (0x00fe),(0x00de);
-insert into t1 values (0x00ff),(0x00df);
-insert into t1 values (0x0100),(0x0101),(0x0102),(0x0103);
-insert into t1 values (0x0104),(0x0105),(0x0106),(0x0107);
-insert into t1 values (0x0108),(0x0109),(0x010a),(0x010b);
-insert into t1 values (0x010c),(0x010d),(0x010e),(0x010f);
-insert into t1 values (0x0110),(0x0111),(0x0112),(0x0113);
-insert into t1 values (0x0114),(0x0115),(0x0116),(0x0117);
-insert into t1 values (0x0118),(0x0119),(0x011a),(0x011b);
-insert into t1 values (0x011c),(0x011d),(0x011e),(0x011f);
-insert into t1 values (0x0120),(0x0121),(0x0122),(0x0123);
-insert into t1 values (0x0124),(0x0125),(0x0126),(0x0127);
-insert into t1 values (0x0128),(0x0129),(0x012a),(0x012b);
-insert into t1 values (0x012c),(0x012d),(0x012e),(0x012f);
-insert into t1 values (0x0130),(0x0131),(0x0132),(0x0133);
-insert into t1 values (0x0134),(0x0135),(0x0136),(0x0137);
-insert into t1 values (0x0138),(0x0139),(0x013a),(0x013b);
-insert into t1 values (0x013c),(0x013d),(0x013e),(0x013f);
-insert into t1 values (0x0140),(0x0141),(0x0142),(0x0143);
-insert into t1 values (0x0144),(0x0145),(0x0146),(0x0147);
-insert into t1 values (0x0148),(0x0149),(0x014a),(0x014b);
-insert into t1 values (0x014c),(0x014d),(0x014e),(0x014f);
-insert into t1 values (0x0150),(0x0151),(0x0152),(0x0153);
-insert into t1 values (0x0154),(0x0155),(0x0156),(0x0157);
-insert into t1 values (0x0158),(0x0159),(0x015a),(0x015b);
-insert into t1 values (0x015c),(0x015d),(0x015e),(0x015f);
-insert into t1 values (0x0160),(0x0161),(0x0162),(0x0163);
-insert into t1 values (0x0164),(0x0165),(0x0166),(0x0167);
-insert into t1 values (0x0168),(0x0169),(0x016a),(0x016b);
-insert into t1 values (0x016c),(0x016d),(0x016e),(0x016f);
-insert into t1 values (0x0170),(0x0171),(0x0172),(0x0173);
-insert into t1 values (0x0174),(0x0175),(0x0176),(0x0177);
-insert into t1 values (0x0178),(0x0179),(0x017a),(0x017b);
-insert into t1 values (0x017c),(0x017d),(0x017e),(0x017f);
-insert into t1 values (0x0180),(0x0181),(0x0182),(0x0183);
-insert into t1 values (0x0184),(0x0185),(0x0186),(0x0187);
-insert into t1 values (0x0188),(0x0189),(0x018a),(0x018b);
-insert into t1 values (0x018c),(0x018d),(0x018e),(0x018f);
-insert into t1 values (0x0190),(0x0191),(0x0192),(0x0193);
-insert into t1 values (0x0194),(0x0195),(0x0196),(0x0197);
-insert into t1 values (0x0198),(0x0199),(0x019a),(0x019b);
-insert into t1 values (0x019c),(0x019d),(0x019e),(0x019f);
-insert into t1 values (0x01a0),(0x01a1),(0x01a2),(0x01a3);
-insert into t1 values (0x01a4),(0x01a5),(0x01a6),(0x01a7);
-insert into t1 values (0x01a8),(0x01a9),(0x01aa),(0x01ab);
-insert into t1 values (0x01ac),(0x01ad),(0x01ae),(0x01af);
-insert into t1 values (0x01b0),(0x01b1),(0x01b2),(0x01b3);
-insert into t1 values (0x01b4),(0x01b5),(0x01b6),(0x01b7);
-insert into t1 values (0x01b8),(0x01b9),(0x01ba),(0x01bb);
-insert into t1 values (0x01bc),(0x01bd),(0x01be),(0x01bf);
-insert into t1 values (0x01c0),(0x01c1),(0x01c2),(0x01c3);
-insert into t1 values (0x01c4),(0x01c5),(0x01c6),(0x01c7);
-insert into t1 values (0x01c8),(0x01c9),(0x01ca),(0x01cb);
-insert into t1 values (0x01cc),(0x01cd),(0x01ce),(0x01cf);
-insert into t1 values (0x01d0),(0x01d1),(0x01d2),(0x01d3);
-insert into t1 values (0x01d4),(0x01d5),(0x01d6),(0x01d7);
-insert into t1 values (0x01d8),(0x01d9),(0x01da),(0x01db);
-insert into t1 values (0x01dc),(0x01dd),(0x01de),(0x01df);
-insert into t1 values (0x01e0),(0x01e1),(0x01e2),(0x01e3);
-insert into t1 values (0x01e4),(0x01e5),(0x01e6),(0x01e7);
-insert into t1 values (0x01e8),(0x01e9),(0x01ea),(0x01eb);
-insert into t1 values (0x01ec),(0x01ed),(0x01ee),(0x01ef);
-insert into t1 values (0x01f0),(0x01f1),(0x01f2),(0x01f3);
-insert into t1 values (0x01f4),(0x01f5),(0x01f6),(0x01f7);
-insert into t1 values (0x01f8),(0x01f9),(0x01fa),(0x01fb);
-insert into t1 values (0x01fc),(0x01fd),(0x01fe),(0x01ff);
-insert into t1 values ('AA'),('Aa'),('aa'),('aA');
-insert into t1 values ('CH'),('Ch'),('ch'),('cH');
-insert into t1 values ('DZ'),('Dz'),('dz'),('dZ');
-insert into t1 values ('IJ'),('Ij'),('ij'),('iJ');
-insert into t1 values ('LJ'),('Lj'),('lj'),('lJ');
-insert into t1 values ('LL'),('Ll'),('ll'),('lL');
-insert into t1 values ('NJ'),('Nj'),('nj'),('nJ');
-insert into t1 values ('OE'),('Oe'),('oe'),('oE');
-insert into t1 values ('SS'),('Ss'),('ss'),('sS');
-insert into t1 values ('RR'),('Rr'),('rr'),('rR');
-select group_concat(c1 order by binary c1 separator '') from t1 group by c1 collate utf16_unicode_ci;
-group_concat(c1 order by binary c1 separator '')
-÷
-×
-AaÀÁÂÃÄÅàáâãäåĀāĂ㥹ǍǎǞǟǠǡǺǻ
-AAAaaAaa
-ÆæǢǣǼǽ
-Bb
-ƀ
-Ɓ
-Ƃƃ
-CcÇçĆćzDŽDždžDZDzdz
-Đđ
-Ɖ
-Ɗ
-Ƌƌ
-Ðð
-EeÈÉÊËèéêëĒēĔĕĖėĘęĚě
-Ǝǝ
-
-Ǥǥ
-Ɠ
-Ɣ
-Ƣƣ
-HhĤĥ
-ƕǶ
-Ħħ
-IiÌÍÎÏìíîïĨĩĪīĬĭĮįİǏǐ
-IJIjiJijIJij
-ı
-Ɨ
-Ɩ
-JjĴĵǰ
-KkĶķǨǩ
-Ƙƙ
-LlĹĺĻļĽľ
-Ŀŀ
-LJLjlJljLJLjlj
-LLLllLll
-Łł
-ƚ
-ƛ
-Mm
-NnÑñŃńŅÒÓÔÕÖòóôõöŌōŎŏŐőƠơǑǒǪǫǬǭ
-OEOeoEoeŒœ
-ØøǾǿ
-Ɔ
-Ɵ
-Pp
-Ƥƥ
-Qq
-ĸ
-RrŔŕŖŗŘř
-RRRrrRrr
-Ʀ
-SsŚśŜŝŞşŠšſ
-SSSssSssß
-Ʃ
-ƪ
-TtŢţŤť
-ƾ
-Ŧŧ
-ƫ
-Ƭƭ
-Ʈ
-UuÙÚÛÜùúûüŨũŪūŬŭŮůŰűŲųƯưǓǔǕǖǗǘǙǚǛǜ
-Ɯ
-Ʊ
-Vv
-Ʋ
-WwŴŵ
-Xx
-Yy
-ƷǮǯ
-Ƹƹ
-ƺ
-Þþ
-ƿǷ
-ƻ
-Ƨƨ
-Ƽƽ
-Ƅƅ
-ʼn
-ǀ
-ǁ
-ǂ
-ǃ
-select group_concat(c1 order by binary c1 separator '') from t1 group by c1 collate utf16_icelandic_ci;
-group_concat(c1 order by binary c1 separator '')
-÷
-×
-AaÀÂÃàâãĀāĂ㥹ǍǎǞ
-Ɓ
-Ƃƃ
-CcÇçĆćĈĉĊċČč
-CHChcHch
-Ƈƈ
-DdĎď
-DZDzdZdzDŽDždžDZDzdz
-Ðð
-Đđ
-Ɖ
-Ɗ
-Ƌƌ
-EeÈÊËèêëĒēĔĕ
-GgĜĝĞğĠġĢģǦǧǴǵ
-Ǥǥ
-Ɠ
-Ɣ
-Ƣƣ
-HhĤĥ
-ƕǶ
-Ħħ
-IiÌÎÏìîïĨĩĪīĬĭĮįİǏǐ
-IJIjiJijIJij
-Íí
-ı
-Ɨ
-Ɩ
-JjĴĵǰ
-KkĶķǨǩ
-Ƙƙ
-LlĹĺnJnjNJNjnj
-Ɲ
-ƞ
-Ŋŋ
-OoÒÔÕòôõŌōŎŏŐőƠơǑǒǪǫǬǭ
-OEOeoEoeŒœ
-Óó
-Ǿǿ
-Ɔ
-Ɵ
-Pp
-Ƥƥ
-Qq
-ĸ
-RrŔŕŖŗŘř
-RRRrrRrr
-Ʀ
-SsŚśŜŝŞşŠšſ
-SSSssSssß
-Ʃ
-ƪ
-TtŢţŤť
-ƾ
-Ŧŧ
-ƫ
-Ƭƭ
-Ʈ
-UuÙÛÜùûüŨũŪūŬŭŮů
-Vv
-Ʋ
-WwŴŵ
-Xx
-YyÿŶŷŸ
-Ýý
-Øöø
-Åå
-Ƶƶ
-ƷǮǯ
-Ƹƹ
-ƺ
-ƿǷ
-ƻ
-Ƨƨ
-Ƽƽ
-Ƅƅ
-ʼn
-ǀ
-ǁ
-ǂ
-ǃ
-select group_concat(c1 order by binary c1 separator '') from t1 group by c1 collate utf16_latvian_ci;
-group_concat(c1 order by binary c1 separator '')
-÷
-×
-AaÀÁÂÃÄÅàáâĉĊċ
-CHChcHch
-Čč
-Ƈƈ
-DdĎď
-DZDzdZdzDŽDždžDZDzdz
-Đđ
-Ɖ
-Ɗ
-Ƌƌ
-Ðð
-EeÈÉÊËèéêëĒēĔĕĖėĘęĚě
-Ǝǝ
-Ə
-Ɛ
-Ff
-Ƒƒ
-GgĜĝĞğĠġǦǧǴǵ
-Ģģ
-Ǥǥ
-Ɠ
-Ɣ
-Ƣƣ
-HhĤĥ
-ƕǶ
--IJIjiJijIJij
-Yy
-ı
-Ɨ
-Ɩ
-JjĴĵǰ
-KkǨǩ
-Ķķ
-Ƙƙ
-LlĹ弾
-Ŀŀ
-LJLjlJljLJLjlj
-LLLllLll
-Ļļ
-Łł
-ƚ
-ƛ
-Mm
-NnÑñŃńŇňǸǹ
-NJNjnJnjNJNjnj
-Ņņ
-Ɲ
-ƞ
-Ŋŋ
-OoÒÓÔÕÖòóôõöŌōŎŏƆ
-Ɵ
-Pp
-Ƥƥ
-Qq
-ĸ
-RrŔŕŘř
-RRRrrRrr
-Ŗŗ
-Ʀ
-SsŚśŜŝŞşſ
-SSSssSss
-Ƭƭ
-Ʈ
-UuÙÚÛÜùúûüŨũŪūŬŭŮ
-Ʋ
-WwŴŵ
-Xx
-ÝýÿŶŷŸ
-Ƴƴ
-ZzŹźŻż
-ƍ
-Žž
-Ƶƶ
-ƷǮǯ
-Ƹƹ
-ƺ
-Þþ
-ƿǷ
-ƻ
-Ƨƨ
-Ƽƽ
-Ƅƅ
-ʼn
-ǀ
-ǁ
-ǂ
-ǃ
-select group_concat(c1 order by binary c1 separator '') from t1 group by c1 collate utf16_romanian_ci;
-group_concat(c1 order by binary c1 separator '')
-÷
-×
-AaÀÁÃÄÅàáãäåĀāĄąǍǎǞǟǠǡǺǻ
-AAAaaAaa
-Ăă
-Ââ
-ÆæǢǣǼǽ
-Bb
-ƀ
-Ɓ
-Ƃƃ
-CcÇçĆćĈĉĊċČč
-CHChcHch
-Ƈƈ
-DdĎď
-DZDzdZdzDŽDždžDZDzdz
-Đđ
-Ɖ
-Ɗ
-Ƌƌ
-Ðð
-EeÈÉÊËèéêëĒēĔĕĖėĥ
-ƕǶ
-Ħħ
-IiÌÍÏìíïĨĩĪīĬĭĮjĴĵǰ
-KkĶķǨǩ
-Ƙƙ
-LlĹĺĻļĽľ
-
-Mm
-NnÑñŃńŅņŇňǸǹ
-NJNjnJnjNJNjnj
-Ɲ
-ƞ
-Ŋŋ
-OoÒÓÔÕÖòóôõöŌōŎ
-Ɔ
-Ɵ
-Pp
-Ƥƥ
-Qq
-ĸ
-RrŔŕŖŗŘř
-RRRrrRrr
-Ʀ
-SsŚśŜŝŠšſ
-SSSssSssß
-Şş
-Ʃ
-ƪ
-TtŤť
-ƾ
-Ţţ
-Ŧŧ
-ƫ
-Ƭƭ
-Ʈ
-UuÙÚÛÜùúûüŨũŪūŬŭVv
-Ʋ
-WwŴŵ
-Xx
-YyÝýÿŶŷŸ
-Ƴƴ
-ZzŹźŻżŽž
-ƍ
-Ƶƶ
-ƷǮǯ
-Ƹƹ
-ƺ
-Þþ
-ƿǷ
-ƻ
-Ƨƨ
-Ƽƽ
-Ƅƅ
-ʼn
-by binary c1 separator '') from t1 group by c1 collate utf16_slovenian_ci;
-group_concat(c1 order by binary c1 separator '')
-÷
-×
-AaÀÁÂÃÄÅàáâãäåĀāĂ㥹ǍǎǞǟǠǡǺǻ
-AAAaaAaa
-ÆæǢǣǼǽ
-Bb
-ƀ
-Ɓ
-Ƃƃ
-CcÇçĆćĈĉĊċ
-CHChcHch
-Čč
-Ƈƈ
-DdĎď
-DZDzdZdzDŽDždžDZDzdz
-Đđ
-Ɖ
-Ɗ
-Ƌƌ
-Ðð
-EeÈÉÊËèéêëĒēĔĕĖėĘęĚě
-Ǝǝ
-Ə
-Ɛ
-Ff
-Ƒƒ
-GgĜĝĞğĠġĢģǦǧǴǵ
-Ǥǥ
-Ɠ
-Ɣ
-Ƣƣ
-HhĤĮįİǏǐ
-IJIjiJijIJij
-ı
-Ɨ
-Ɩ
-JjĴ
-LJLjlJljLJLjlj
-LLLllLll
-Łł
-ƚ
-ƛ
-Mm
-NnÑñŃńŅņŇňǸǹ
-NJNjnJnjNJNjnj
-Ɲ
-ƞ
-Ŋŋ
-OoÒÓÔÕÖòóôõöŌōŎŏŐ
-Ɵ
-Pp
-Ƥƥ
-Qq
-ĸ
-RrŔŕŖŗŘř
-RRRrrRrr
-Ʀ
-SsŚśŜŝŞşſ
-SSSssSssß
-ƭ
-Ʈ
-UuÙÚÛÜùúûüŨũŪūŬŭŮůŰűŲųƯưǓǔǕǖǗǘǙǚǛǜ
-Ɯ
-Ʊ
-Vv
-Ʋ
-WwŴŵ
-Xx
-YyÝýÿŶŷŸ
-Ƴƴ
-ZzŹźþ
-ƿǷ
-ƻ
-Ƨƨ
-Ƽƽ
-Ƅƅ
-ʼn
-ǀ
-ǁ
-ǂ
-ǃ
-select group_concat(c1 order by binary c1 separator '') from t1 group by c1 collate utf16_polish_ci;
-group_concat(c1 order by binary c1 separator '')
-÷
-×
-AaÀÁÂÃÄ
-Ąą
-ÆæǢǣǼǽ
-Bb
-ƀ
-Ɓ
-Ƃƃ
-CcÇçĈĉĊċČč
-CHChcHch
-Ćć
-Ƈƈ
-Ddƌ
-Ðð
-EeÈÉÊËèéêëĒēĔĕĖėĚě
-Ęę
-Ǝǝ
-Ə
-Ɛ
-Ff
-Ƒƒ
-GgĜĝĞğ
-ƕǶ
-Ħħ
-IiÌÍÎÏìíîïĨĩĪīĬĭǰ
-KkĶķǨǩ
-Ƙƙ
-LlĹĺĻļĽľ
-Ŀŀ
-LJLjlJljLJLjlj
-LLLllLll
-Łł
-ƚ
-ƛ
-Mm
-NnÑñŅņŇňǸǹ
-NJNjnJnjNJNjnj
-Ńń
-Ɲ
-ƞ
-Ŋŋ
-OoÒÔÕÖòôõöŌōŎŏŐő
-Ɔ
-Ɵ
-Pp
-Ƥƥ
-Qq
-ĸ
-RrŔŕŖŗŘ
-Ƭƭ
-Ʈ
-UuÙÚÛÜùúûüŨũŪūŬŭŮ
-Ʋ
-WwŴŵ
-Xx
-YyÝýÿŶŷŸ
-Ƴƴ
-ZzŽž
-ƍ
-Źź
-Żż
-Ƶƶ
-ƷǮǯ
-Ƹƹ
-ƺ
-Þþ
-ƿǷ
-ƻ
-Ƨƨ
-Ƽƽ
-Ƅƅ
-ʼn
-ǀ
-ǁ
-ǂ
-ǃ
-select group_concat(c1 order by binary c1 separator '') from t1 group by c1 collate utf16_estonian_ci;
-group_concat(c1 order by binary c1 separator '')
-÷
-×
-Aa
-AAAaaAaa
-ÆæǢǣǼǽ
-Bb
-ƀ
-Ɓ
-Ƃƃ
-CcÇçĆćĈĉĊċČč
-CHChcHch
-Ƈƈ
-Dd-Ƌƌ
-Ðð
-EeÈÉÊËèéêëĒēĔĕĖėĘ
-ƕǶ
-Ħħ
-IiÌÍÎÏìíîïĨĩĪīĬĭǰ
-KkĶķǨǩ
-Ƙƙ
-LlĹĺĻļĽľ
-Ŀŀ
-LJLjlJljLJLjlj
-LLLllLll
-Łł
-ƚ
-ƛ
-Mm
-NnÑñŃńŅņŇňǸǹ
-NJNjnJnjNJNjnj
-Ɲ
-ƞ
-Ŋŋ
-OoÒÓÔòóôŌōŎŏŐőƠơǑǒǪǫǬǭ
-OEOeoEoeŒœ
-ØøǾǿ
-Ɔ
-Ɵ
-Pp
-Ƥƥ
-Qq
-ĸ
-RrŔŕŖŗŘř
-RRRrrRrr
-Ʀ
-SsŚśŜŝŞşſ
-SSSssSssß
-Šš
-Zz
-Žž
-Ʃ
-ƪ
-TtŢţŤť
-ƾ
-Ŧŧ
-ƫ
-Ƭƭ
-Ʈ
-UuÙÚÛùúûŨũŪūŬŭŮůŰű
-WwŴŵ
-Õõ
-Ää
-Öö
-Üü
-Xx
-YyÝýÿŶŷŸ
-Ƴƴ
-ŹźŻż
-ƍ
-Ƶƶ
-ƷǮ-Ƅƅ
-ʼn
-ǀ
-ǁ
-ǂ
-ǃ
-select group_concat(c1 order by binary c1 separator '') from t1 group by c1 collate utf16_spanish_ci;
-group_concat(c1 order by binary c1 separator '')
-÷
-×
-AaÀÁÂÃÄÅàáâãäåĀāĂ㥹ǍǎǞǟǠǡǺǻ
-AAAaaAaa
-ÆæǢǣǼǽ
-Bb
-ƀ
-Ɓ
-Ƃƃ
-CcÇçĆćĈĉĊċČč
-CHChcHch
-Ƈƈ
-DdĎď
-DZDzdZdzDŽDždžDZDzdz
-Đđ
-Ɖ
-Ɗ
-Ƌƌ
-Ðð
-EeÈÉÊËèéêëĒēgĜĝĞğĠġĢģǦǧǴǵ
-Ǥǥ
-Ɠ
-Ɣ
-Ƣ
-ƛ
-Mm
-NnŃńŅņŇňǸǹ
-NJNjnJnjNJNjnj
-Ññ
-Ɲ
-ƞ
-Ŋŋ
-OoÒÓÔÕÖòóôõŖŗŘř
-RRRrrRrr
-Ʀ
-SsŚśŜŝŞşŠšſ
-SSSssSssß
-Ʃ
-ƪ
-TtŢţŤť
-ƾ
-Ŧŧ
-ƫ
-Ƭƭ
-Ʈ
-UuÙÚÛÜùúûüŨũŪūŬ
-Vv
-Ʋ
-WwŴŵ
-Xx
-YyÝýÿŶŷŸ
-Ƴƴ
-ZzŹźŻżŽž
-ƍ
-Ƶƶ
-ƷǮǯ
-Ƹƹ
--ǀ
-ǁ
-ǂ
-ǃ
-select group_concat(c1 order by binary c1 separator '') from t1 group by c1 collate utf16_swedish_ci;
-group_concat(c1 order by binary c1 separator '')
-÷
-×
-AaÀÁÂÃàáâãĀāĂ㥹ǍǎǞǟǠǡǺǻ
-AAAaaAaa
-ǢǣǼǽ
-Bb
-ƀ
-Ɓ
-Ƃƃ
-CcÇçĆZdzDŽDždžDZDzdz
-Đđ
-Ɖ
-Ɗ
-Ƌƌ
-Ðð
-EeÈÉÊËèéêëĒēĔĕĖėĘęĚě
-Ǝǝ
-Ə
-Ɛ
-Ff
-Ƒƒ
-GgĜĝĞğĠġĢģǦǧǴ
-IiÌÍÎÏìíîïĨĩĪīĬĭĮįİǏǐ
-IJIjiJijIJij
-ı
-Ɨ
-Ɩ
-JjĴĵǰ
-KkĶķǨOoÒÓÔÕòóôõŌōŎŏŐőƠơǑǒǪǫǬǭ
-OEOeoEoeŒœ
-Ǿǿ
-Ɔ
-Ɵ
-Pp
-Ƥƥ
-Qq
-ĸ
-RrŔŕŖŗŘř
-RRRrrRrr
-Ʀ
-SsŚśŜŝŞşŠšſ
-SSSssSssß
-Ʃ
-ƪ
-TtŢţŤť
-ƾ
-Ŧŧ
-ƫ
-Ƭƭ
-Ʈ
-UuÙÚÛùúûŨũŪūŬŭŮůŰűŲųƯưǓǔǕǖǗǘǙǚǛǜ
-Ɯ
-Ʊ
-Vv
-Ʋ
-WwŴŵ
-Xx
-YyÜÝüýÿäæ
-ÖØöø
-Ƶƶ
-ƷǮǯ
-Ƹƹ
-ƺ
-Þþ
-ƿǷ
-ƻ
-Ƨƨ
-Ƽƽ
-Ƅƅ
-ʼn
-ǀ
-ǁ
-ǂ
-ǃ
-select group_concat(c1 order by binary c1 separator '') from t1 group by c1 collate utf16_turkish_ci;
-group_concat(c1 order by binary c1 separator '')
-÷
-×
-AaÀÁÂÃÄÅàáâãäåĀāĂ㥹ǍǎǞǟǠǡǺǻ
-AAAaaAaa
-ÆæǢǣǼǽ
-Bb
-ƀ
-Ɓ
-Ƃƃ
-Cc
-Ðð
-EeÈÉÊËèéêëĒēĔĕĖėĘęĚě
-Ǝǝ
-Ə
-Ɛ
-Ff
-Ƒƒ
-GgĜĝĠġĢģǦǧǴǵ
-Ğğ
-Ǥǥ
-Ɠ
-Ɣ
-Ƣƣ
-HhĤĥ
-Iı
-IJIj
-ƕǶ
-Ħħ
-iÌÍÎÏìíîïĨ
-LJLjlJljLJLjlj
-LLLllLll
-Łł
-ƚ
-ƛ
-Mm
-NnÑñŃńŅņŇňǸǹ
-NJNjnJnjNJNjnj
-Ɲ
-ƞ
-Ŋŋ
-OoÒÓÔÕòóôõŌōŎŏŐőƠ-Ɔ
-Ɵ
-Pp
-Ƥƥ
-Qq
-ĸ
-RrŔŕŖŗŘř
-RRRrrRrr
-Ʀ
-SsŚśŜŝŠšſ
-SSSssSssß
-Şş
-Ʃ
-ƪ
-TtŢţŤť
-ƾ
-Ŧŧ
-ƫ
-Ƭƭ
-Ʈ
-UuÙÚÛùúûŨũŪūŬŭŮůŰűv
-Ʋ
-WwŴŵ
-Xx
-YyÝýÿŶŷŸ
-Ƴƴ
-ZzŹźŻżŽž
-ƍ
-Ƶƶ
-ƷǮǯ
-Ƹƹ
-ƺ
-Þþ
-ƿǷ
-ƻ
-Ƨƨ
-Ƽƽ
-Ƅƅ
-ʼn
-ǀ
-ǁ
-ǂ
-ǃ
-select group_concat(c1 order by binary c1 separator '') from t1 group by c1 collate utf16_czech_ci;
-group_concat(c1 order by binary c1 separator '')
-÷
-×
-AaÀÁÂÃAaaAaa
-ÆæǢǣǼǽ
-Bb
-ƀ
-Ɓ
-Ƃƃ
-CcÇçĆćĈĉĊċ
-cH
-Čč
-Ƈƈ
-DdĎď
-DZDzdZdzDŽDždžDZDzdz
-Đđ
-Ɖ
-Ɗ
-Ƌƌ
-Ðð
-EeÈÉÊËèéêëĒēĔĕĖėĘęĚě
-Ǝǝ
-Ə
-Ɛ
-Ff
-Ƒƒ
-GgĜĝĞğĠġĢģǦ
-ƕǶ
-Ħħ
-IiÌÍÎÏìíîïĨĩĪīĬĭĮįİǏǐ
-IJIjiJijIJij
-ı
-Ɨ
-Ɩ
-JjĴĵLJLjlJljLJLjlj
-LLLllLll
-Łł
-ƚ
-ƛ
-Mm
-NnÑñŃńŅņŇňǸǹ
-NJNjnJnjNJNjnj
-Ɲ
-ƞ
-Ŋŋ
-OoÒÓÔÕÖòóôõöŌōŎŏŐő-Ɵ
-Pp
-Ƥƥ
-Qq
-ĸ
-RrŔŕŖŗ
-RRRrrRrr
-Řř
-Ʀ
-SsŚśŜŝŞşſ
-SSSssSssß
-Šš
-Ʃ
-ƪ
-TtŢţŤť
-ƾ
-Ŧŧ
-ƫ
-Żż
-ƍ
-Žž
-Ƶƶ
-ƷǮǯ
-Ƹƹ
-ƺ
--ǁ
-ǂ
-ǃ
-select group_concat(c1 order by binary c1 separator '') from t1 group by c1 collate utf16_danish_ci;
-group_concat(c1 order by binary c1 separator '')
-÷
-×
-AaÀÁÂÃàáâãĀāĂ㥹ǍǎǞǟǠǡǺǻ
-aA
-ǢǣǼǽ
-Bb
-ƀ
-Ɓ
-Ƃƃ
-CcÇçĆćĈĉĊċČf
-Ƒƒ
-GgĜĝĞğĠġĢģǦǧǴǵ
-Ǥǥ
--ı
-Ɨ
-Ɩ
-JjĴĵǰ
-KkĶķǨǩ
-Ƙƙ
-LlĹĺĻļĽľ
-Ŀŀ
-LJLjlJljLJLjlj
-LLLllLll
-Łł
-ƚ
-ƛ
-Mm
-NnÑñŃńŅņŇňǸǹ
-NJNjnJnjNJNjnj
-Ɲ
-ƞ
-Ŋŋ
-OoÒÓÔÕòóôõŌōŎŏƠơǑǒǪǫǬǭ
-OEOeoEoeŒœ
-Ǿǿ
-Ɔ
-Ɵ
-Pp
-Ƥƥ
-Qq
-ĸ
-RrŔŕŖSSssSssß
-Ʃ
-ƪ
-TtŢţŤť
-ƾ
-Ŧŧ
-ųƯưǓǔǕǖǗǘǙǚǛǜ
-Ɯ
-Ʊ
-Vv
-Ʋ
-WwŴŵ
-Xx
-YyÜÝüýÿŰűŶŷŸ
-Ƴƴ
-ZzŹźŻżŽž
-ƍ
-ÄÆäæ
-ÖØöøŐő
-AAAaaaÅå
-Ƶƶ
-ƷǮǯ
-Ƹƹ
-ƺ
-Þþ
-c1 separator '') from t1 group by c1 collate utf16_lithuanian_ci;
-group_concat(c1 order by binary c1 separator '')
-÷
-×
-AaÀÁÂÃÄÅaa
-ÆæǢǣǼǽ
-Bb
-ƀ
-Ɓ
-Ƃƃ
-CCHChcchÇçĆćĈĉĊċ
-cH
-Čč
-Ƈƈ
-DdĎď
-DZDzdZdzDŽDždžDZDzdz
-Đđ
-Ɖ
-Ɗ
-Ƌƌ
-Ðð
-EeÈÉÊËèéêëĒēĔĕĖėĘęĚě
-Ǝǝ
-Ə
-Ɛ
-Ff
-Ƒƒ
-GgĜĝĞğĠġĢģ
-Ħħ
-IYiyÌÍÎÏìíîïĨĩĪīĬĭĮįİkĶķǨǩ
-Ƙƙ
-LlĹĺĻļĽľ
-Ŀŀ
-LJLjlJljLJLjlj
-LLLllLll
-Łł
-ƚ
-ƛ
-Mm
-Nn-Ŋŋ
-OoÒÓÔÕÖòóôõöŌōŎŏŐőƠơǑǒǪǫǬǭ
-OEOeoEoeŒœ
-ØøǾǿ
-Ɔ
-Ɵ
-Pp
-Ƥƥ
-Qq
-ĸ
-RrŔŕŖŗŘř
-RRRrrRrr
-Ʀ
-SsŚśŜŝŞşſ
-SSSssSssß
-Šš
-
-UuÙÚÛÜùúûüŨũŪūŬŭŮůŰűŲųƯŵ
-Xx
-ÝýÿŶŷŸ
-Ƴƴ
-ZzŹźŻż
-ƍ
-Žž
-Ƶƶ
-ƷǮǯ
-Ƹƹ
-ƺ
-Þþ
-ƿǷ
-ƻ
-Ƨƨ
-Ƽƽ
-Ƅƅ
-ʼn
-ǀ
-ǁ
-ǂ
-ǃ
-select group_concat(c1 order by binary c1 separator '') from t1 group by c1 collate utf16_slovak_ci;
-group_concat(c1 order by binary c1 separator '')
-÷
-×
-AaÀÁÂÃÅàáâãåĀāĂ㥹ǍǎǞǟǠǡǺǻ
-AAAaaAaa
-Ää
-ÆæǢǣǼǽ
-Bb
-ƀ
-Ɓ
-Ƃƃ
-CcÇçĆćĈĉĊċ
-cH
-Čč
-Ƈƈ
-DdĎď
-DZDzdZdz
-Ɛ
-Ff
-Ƒƒ
-GgĜĝĞğĠġĢģǦǧǴǵ
-Ǥǥ
-Ɠ
-Ɣ
-Ƣƣ
-HhĤĥ
-CHChch
-ƕǶ
-Ħħ
-IiÌÍÎÏìíîïĨĩĪīĬĭĮįİǏǐ
-IJIjiJijIJij
-ı
-Ɨ
-Ɩ
-JjĴĵǰ
-KkĶķǨǩ
-Ƙƙ
-LlĹĺĻļĽľ
-Ŀŀ
-LJLjlJljLJLjlj
-LLLllLll
-Łł
-ƚ
-ƛ
-Mm
-NnÑñŃńŅņŇňǸǹ
-NJNjnJnjNJNjnj
-Ɲ
-ƞ
-Ŋŋ
-OoÒÓÕÖòóõöŌōŎŏŐőƠơǑǒǪǫ-Pp
-Ƥƥ
-Qq
-ĸ
-RrŔŕŖŗŘř
-RRRrrRrr
-Ʀ
-SsŚśŜŝŞşſ
-SSSssSssß
-Šš
-
-UuÙÚÛÜùúûüŨũŪūŬŭŮůŰűŲųƯŵ
-Xx
-YyÝýÿŶŷŸ
-Ƴƴ
-ZzŹźŻż
-Ƿ
-ƻ
-Ƨƨ
-Ƽƽ
-Ƅƅ
-ʼn
-ǀ
-ǁ
-ǂ
-ǃ
-select group_concat(c1 order by binary c1 separator '') from t1 group by c1 collate utf16_spanish2_ci;
-group_concat(c1 order by binary c1 separator '')
-÷
-×
-AaÀÁÂÃÄÅàáâãäåĀāĂ㥹ǍǎǞǟǠǡǺǻ
-AAAaaAaa
-ÆæǢǣǼǽ
-Bb
-ƀ
-Ɓ
-Ƃƃ
-CcÇçĆDzdZdzDŽDždžDZDzdz
-Đđ
-Ɖ
-Ɗ
-Ƌƌ
-ÐǴǵ
-Ǥǥ
-Ɠ
-Ɣ
-Ƣƣ
-HhĤĥ
-ƕǶ
--IJIjiJijIJij
-ı
-Ɨ
-Ɩ
-JjĴĵǰ
-KkĶķǨǩ
-Ƙƙ
-LlĹĺĻļĽľ
-Ŀŀ
-LJLjlJljLJLjlj
-lL
-LLLlll
-Łł
-ƚ
-ƛ
-Mm
-NnŃ
-Ŋŋ
-OoÒÓÔÕÖòóôõöŌōŎŏŐőƠơ
-Pp
-Ƥƥ
-Qq
-ĸ
-RrŔŕŖŗŘř
-RRRrrRrr
-Ʀ
-SsŚśŜŝŞşŠšſ
-SSSssSssß
-Ʃ
-ƪ
-TtŢţŤť
-ƾ
-Ŧŧ
-ƫ
-Ƭƭ
-Ʈ
-UuÙÚÛÜùúûüŨũŪūŬŭŮůŰűŲųƯư
-Xx
-YyÝýÿŶŷŸ
-Ƴƴ
-ZzŹźŻżŽž
-ƍ
-Ƶƶ
-ƷǮǯ
-Ƹƹ
-ƺ
-Þþ
-ƿǷ
-ƻ
-Ƨƨ
-Ƽƽ
-Ƅƅ
-ʼn
-ǀ
-ǁ
-ǂ
-ǃ
-select group_concat(c1 order by binary c1 separator '') from t1 group by c1 collate utf16_roman_ci;
-group_concat(c1 order by binary c1 separator '')
-÷
-×
-AaÀÁÂÃÄÅàáâãäåĀāĂ㥹ǍǎǞǟǠǡǺǻ
-AAAaaAaa
-ÆæǢǣǼǽ
-Bb
-ƀ
-Ɓ
-Ƃƃ
-CcÇçĆćĈĉĊ
-Ff
-Ƒƒ
-GgĜĝĞğĠġĢģǦǧǴǵ
-Ǥǥ
-Ɠ
-Ɣ
-Ƣƣ
-HhĤĥ
-ƕǶ
-Ħħ
-IJij
-IJij
-ı
-Ɨ
-Ɩ
-Ĵĵǰ
-KkĶķǨǩ
-
-LLLllLll
-Łł
-ƚ
-ƛ
-Mm
-NnÑñŃńŅ-OoÒÓÔÕÖòóôõöŌōŎŏŐőƠơǑǒǪǫ-SsŚśŜŝŞşŠšſ
-SSSssSssß
-Ʃ
-ƪ
-TtŢţŤť
-ƾ
-Ŧŧ
-ƫ
-Ƭƭ
-Ʈ
-ÙÚÛYyÝýÿŶŷŸ
-Ƴƴ
-ZzŹźŻżŽž
-ƍ
-Ƶƶ
-ƷǮǯ
-Ƹƹ
-ƺ
-Þþ
-ƿǷ
-ƻ
-Ƨt group_concat(c1 order by binary c1 separator '') from t1 group by c1 collate utf16_esperanto_ci;
-group_concat(c1 order by binary c1 separator '')
-÷
-×
-AaÀÁÂÃÄÅàáâãäåĀāĂ㥹ǍǎǞǟǠǡǺǻ
-AAAaaAaa
-ÆæǢǣǼǽ
-Bb
-ƀ
-Ɓ
-Ƃƃ
-CcÇçĆćĊċČč
-CHChcHch
-Ĉĉ
-Ƈƈ
-DdĎď
-DZDzdZdzDŽDždžDZDzdz
-Đđ
-Ɖ
-Ɗ
-Ƌƌ
-Ðð
-EeÈÉÊËèéêëĒēĔĕĖėĘęĚě
-Ǝǝ
-Ə
-Ɛ
-Ff
-Ƒƒ
-GgĞğĠġĢģǦǧǴǵ
-Ĝĝ
-Ǥǥ
-Ɠ
-Ɣ
-Ƣƣ
-Hh
-Ĥĥ
-ƕǶ
-Ħħ
-IiÌÍÎÏìíîïĨĩĪīĬĭĮįİǏǐ
-IJIjiJijIJij
-ı
-Ɨ
-Ɩ
-Jjǰ
-Ĵĵ
-KkĶķǨOoÒÓÔÕÖòóôõöŌōŎŏŐőƠơǑǒǪǫǬǭ
-OEOeoEoeŒœ
-ØøǾǿ
-Ɔ
-Ɵ
-Pp
-Ƥƥ
-Qq
-ĸ
-RrŔŕŖŗŘř
-RRRrrRrr
-Ʀ
-SsŚśŞşŠšſ
-SSSssSssß
-Ŝŝ
-Ʃ
-ƪ
-TtŢţŤť
-ƾ
-Ŧŧ
-ƫ
-Ƭƭ
-Ʈ
-UuÙXx
-YyÝýÿŶŷŸ
-Ƴƴ
-ZzŹźŻżŽž
-ƍ
-Ƶƶ
-ƷǮǯ
-Ƹƹ
-ƺ
-Þþ
-ƿǷ
-ƻ
-Ƨƨ
-Ƽƽ
-Ƅƅ
-ʼn
-ǀ
-ǁ
-ǂ
-ǃ
-select group_concat(c1 order by binary c1 separator '') from t1 group by c1 collate utf16_hungarian_ci;
-group_concat(c1 order by binary c1 separator '')
-÷
-×
-AaÀÁÂÃÄÅàáâãäċČč
-CHChcHch
-Ƈƈ
-DdĎď
-DZDzdZdzDŽDždžDZDzdz
-Đđ
-Ɖ
-Ɗ
-Ƌƌ
-Ðð
-EeÈÉÊËèéêëĒēĔĕĖėĘęĚě
-Ǝǝ
-Ə
-ÍÎÏìíîïĨĩĪīĬĭĮįİǏǐ
-IJIjiJijllLll
-Łł
-ƚ
-ƛ
-Mm
-NnÑñŃńŅņŇňǸǹ
-NJNjnJnjNJNjnj
-Ɲ
-ƞ
-Ŋŋ
-OoÒÓœ
-ÖöŐő
-ØøǾǿ
-Ɔ
-Ɵ
-Pp
-Ƥƥ
-Qq
-ĸ
-RrŔŕŖŗŘř
-RRRrrRrr
-Ʀ
-SsŚśŜŝŞşŠšſ
-SSSssSssß
-Ʃ
-ƪ
-TtŢţŤť
-ƾ
-Ŧŧ
-ƫ
-Ƭƭ
-Ʈ
-UuÙÚÛùúûŨũŪūŬŭŮůŲųƯưǓǔǕǖǗǘǙǚǛǜ
-ÜüŰű
-Ɯ
-Ʊ
-Vv
-Ʋ
-WwŴŵ
-Xx
-YyÝýÿŶŷŸ
-Ƴƴ
-ZzŹźŻżŽž
-ƍ
-Ƶƶ
-ƷǮǯ
-Ƹƹ
-ƺ
-Þþ
-ƿǷ
-ƻ
-Ƨƨ
-Ƽƽ
-Ƅƅ
-ʼn
-ǀ
-ǁ
-ǂ
-ǃ
-drop table t1;
-SET NAMES utf8;
-CREATE TABLE t1 (c varchar(200) CHARACTER SET utf16 COLLATE utf16_general_ci NOT NULL, INDEX (c));
-INSERT INTO t1 VALUES (0x039C03C903B403B11F770308);
-SELECT * FROM t1 WHERE c LIKE _utf16 0x039C0025 COLLATE utf16_general_ci;
-c
-Μωδαί̈
-INSERT INTO t1 VALUES (0x039C03C903B4);
-SELECT * FROM t1 WHERE c LIKE _utf16 0x039C0025
-COLLATE utf16_general_ci ORDER BY c;
-c
-Μωδ
-Μωδαar(200) CHARACTER SET utf16 COLLATE utf16_unicode_ci NOT NULL, INDEX (c));
-INSERT INTO t1 VALUES (0x039C03C903B403B11F770308);
-SELECT * FROM t1 WHERE c LIKE _utf16 0x039C0025 COLLATE utf16_unicode_ci;
-c
-Μωδαί̈
-INSERT INTO t1 VALUES (0x039C03C903B4);
-SELECT * FROM t1 WHERE c LIKE _utf16 0x039C0025
-COLLATE utf16_unicode_ci ORDER BY c;
-c
-Μωδ
-Μωδαί̈
-DROP TABLE t1;
-CREATE TABLE t1 (c varchar(200) CHARACTER SET utf16 COLLATE utf16_unicode_ci NOT NULL, INDEX (c));
-INSERT INTO t1 VALUES (0x039C03C903B403B11F770308);
-SELECT * FROM t1 WHERE c LIKE _utf16 0x039C0025 COLLATE utf16_unicode_ci;
-c
-Μωδαί̈
-INSERT INTO t1 VALUES (0x039C03C903B4);
-SELECT * FROM t1 WHERE c LIKE _utf16 0x039C0025
-COLLATE utf16_unicode_ci ORDER BY c;
-c
-Μωδ
-Μωδαί̈
-DROP TABLE t1;
-SET NAMES utf8;
-SET @test_character_set='utf16';
-SET @test_collation='utf16_swedish_ci';
-SET @safe_character_set_server= @@character_set_server;
-SET @safe_collation_server= @@collation_server;
-SET @safe_character_set_client= @@character_set_client;
-SET @safe_character_set_results= @@character_set_results;
-SET character_set_server= @test_character_set;
-SET collation_server= @test_collation;
-CREATE DATABASE d1;
-USE d1;
-CREATE TABLE t1 (c CHAR(10), KEY(c));
-SHOW FULL COLUMNS FROM t1;
-Field Type Collation Null Key Default Extra Privileges Comment
-c char(10) utf16_swedish_ci YES MUL NULL
-INSERT INTO t1 VALUES ('aaa'),('aaaa'),('aaaaa');
-SELECT c as want3results FROM t1 WHERE c LIKE 'aaa%';
-want3results
-aaa
-aaaa
-aaaaa
-DROP TABLE t1;
-CREATE TABLE t1 (c1 varchar(15), KEY c1 (c1(2)));
-SHOW FULL COLUMNS FROM t1;
-Field Type Collation Null Key Default Extra Privileges Comment
-c1 varchar(15) utf16_swedish_ci YES MUL NULL
-INSERT INTO t1 VALUES ('location'),('loberge'),('lotre'),('boabab');
-SELECT c1 as want3results from t1 where c1 like 'l%';
-want3results
-location
-loberge
-lotre
-SELECT c1 as want3results from t1 where c1 like 'lo%';
-want3results
-location
-loberge
-lotre
-SELECT c1 as want1result from t1 where c1 like 'loc%';
-want1result
-location
-SELECT c1 as want1result from t1 where c1 like 'loca%';
-want1result
-location
-SELECT c1 as want1result from t1 where c1 like 'locat%';
-want1result
-location
-SELECT c1 as want1result from t1 where c1 like 'locati%';
-want1result
-location
-SELECT c1 as want1result from t1 where c1 like 'locatio%';
-want1result
-location
-SELECT c1 as want1result from t1 where c1 like 'location%';
-want1result
-location
-DROP TABLE t1;
-create table t1 (a set('a') not null);
-insert into t1 values (),();
-Warnings:
-Warning 1364 Field 'a' doesn't have a default value
-select cast(a as char(1)) from t1;
-cast(a as char(1))
-
-
-select a sounds like a from t1;
-a sounds like a
-1
-1
-select 1 from t1 order by cast(a as char(1));
-1
-1
-1
-drop table t1;
-set names utf8;
-create table t1 (
-name varchar(10),
-level smallint unsigned);
-show create table t1;
-Table Create Table
-t1 CREATE TABLE `t1` (
- `name` varchar(10) COLLATE utf16_swedish_ci DEFAULT NULL,
- `level` smallint(5) unsigned DEFAULT NULL
-) ENGINE=MyISAM DEFAULT CHARSET=utf16 COLLATE=utf16_swedish_ci
-insert into t1 values ('string',1);
-select concat(name,space(level)), concat(name, repeat(' ',level)) from t1;
-concat(name,space(level)) concat(name, repeat(' ',level))
-string string
-drop table t1;
-DROP DATABASE d1;
-USE test;
-SET character_set_server= @safe_character_set_server;
-SET collation_server= @safe_collation_server;
-SET character_set_client= @safe_character_set_client;
-SET character_set_results= @safe_character_set_results;
-SET collation_connection='utf16_unicode_ci';
-create table t1 select repeat('a',4000) a;
-delete from t1;
-insert into t1 values ('a'), ('a '), ('a\t');
-select collation(a),hex(a) from t1 order by a;
-collation(a) hex(a)
-utf16_unicode_ci 00610009
-utf16_unicode_ci 0061
-utf16_unicode_ci 00610020
-drop table t1;
-select @@collation_connection;
-@@collation_connection
-utf16_unicode_ci
-create table t1 ROW_FORMAT=DYNAMIC select repeat('a',50) as c1 ;
-insert into t1 values('abcdef');
-insert into t1 values('_bcdef');
-insert into t1 values('a_cdef');
-insert into t1 values('ab_def');
-insert into t1 values('abc_ef');
-insert into t1 values('abcd_f');
-insert into t1 values('abcde_');
-select c1 as c1u from t1 where c1 like 'ab\_def';
-c1u
-ab_def
-select c1 as c2h from t1 where c1 like 'ab#_def' escape '#';
-c2h
-ab_def
-drop table t1;
-End of 4.1 tests
-CREATE TABLE t1 (id int, a varchar(30) character set utf16);
-INSERT INTO t1 VALUES (1, 0x01310069), (2, 0x01310131);
-INSERT INTO t1 VALUES (3, 0x00690069), (4, 0x01300049);
-INSERT INTO t1 VALUES (5, 0x01300130), (6, 0x00490049);
-SELECT a, length(a) la, @l:=lower(a) l, length(@l) ll, @u:=upper(a) u, length(@u) lu
-FROM t1 ORDER BY id;
-a la l ll u lu
-ıi 4 ıi 4 II 4
-ıı 4 ıı 4 II 4
-ii 4 ii 4 II 4
-İI 4 ii 4 İI 4
-İİ 4 ii 4 İİ 4
-II 4 ii 4 II 4
-ALTER TABLE t1 MODIFY a VARCHAR(30) character set utf16 collate utf16_turkish_ci;
-SELECT a, length(a) la, @l:=lower(a) l, length(@l) ll, @u:=upper(a) u, length(@u) lu
-FROM t1 ORDER BY id;
-a la l ll u lu
-4 İİ 4
-İI 4 iı 4 İI 4
-İİ 4 ii 4 İİ 4
-II 4 ıı 4 II 4
-DROP TABLE t1;
-CREATE TABLE t1 (
-c1 text character set utf16 collate utf16_polish_ci NOT NULL
-) ENGINE=MyISAM;
-insert into t1 values (''),('a');
-SELECT COUNT(*), c1 FROM t1 GROUP BY c1;
-COUNT(*) c1
-1
-1 a
-DROP TABLE IF EXISTS t1;
-End of 5.1 tests
-set collation_connection=utf16_unicode_ci;
-select @@collation_connection;
-@@collation_connection
-utf16_unicode_ci
-select hex(weight_string('a'));
-hex(weight_string('a'))
-0E33
-select hex(weight_string('A'));
-hex(weight_string('A'))
-0E33
-select hex(weight_string('abc'));
-hex(weight_string('abc'))
-0E330E4A0E60
-select hex(weight_string('abc' as char(2)));
-hex(weight_string('abc' as char(2)))
-0E330E4A
-select hex(weight_string('abc' as char(3)));
-hex(weight_string('abc' as char(3)))
-0E330E4A0E60
-select hex(weight_string('abc' as char(5)));
-hex(weight_string('abc' as char(5)))
-0E330E4A0E6002090209
-select hex(weight_string('abc', 1, 2, 0xC0));
-hex(weight_string('abc', 1, 2, 0xC0))
-0E
-select hex(weight_string('abc', 2, 2, 0xC0));
-hex(weight_string('abc', 2, 2, 0xC0))
-0E33
-select hex(weight_string('abc', 3, 2, 0xC0));
-hex(weight_string('abc', 3, 2, 0xC0))
-0E330E
-select hex(weight_string('abc', 4, 2, 0xC0));
-hex(weight_string('abc', 4, 2, 0xC0))
-0E330E4A
-select hex(weight_string('abc', 5, 2, 0xC0));
-hex(weight_string('abc', 5, 2, 0xC0))
-0E330E4A02
-select hex(weight_string('abc',25, 2, 0xC0));
-hex(weight_string('abc',25, 2, 0xC0))
-0E330E4A020902090209020902090209020902090209020902
-select hex(weight_string('abc', 1, 3, 0xC0));
-hex(weight_string('abc', 1, 3, 0xC0))
-0E
-select hex(weight_string('abc', 2, 3, 0xC0));
-hex(weight_string('abc', 2, 3, 0xC0))
-0E33
-select hex(weight_string('abc', 3, 3, 0xC0));
-hex(weight_string('abc', 3, 3, 0xC0))
-0E330E
-select hex(weight_string('abc', 4, 3, 0xC0));
-hex(weight_string('abc', 4, 3, 0xC0))
-0E330E4A
-select hex(weight_string('abc', 5, 3, 0xC0));
-hex(weight_string('abc', 5, 3, 0xC0))
-0E330E4A0E
-select hex(weight_string('abc',25, 3, 0xC0));
-hex(weight_string('abc',25, 3, 0xC0))
-0E330E4A0E6002090209020902090209020902090209020902
-select hex(weight_string('abc', 1, 4, 0xC0));
-hex(weight_string('abc', 1, 4, 0xC0))
-0E
-select hex(weight_string('abc', 2, 4, 0xC0));
-hex(weight_string('abc', 2, 4, 0xC0))
-0E33
-select hex(weight_string('abc', 3, 4, 0xC0));
-hex(weight_string('abc', 3, 4, 0xC0))
-0E330E
-select hex(weight_string('abc', 4, 4, 0xC0));
-hex(weight_string('abc', 4, 4, 0xC0))
-0E330E4A
-select hex(weight_string('abc', 5, 4, 0xC0));
-hex(weight_string('abc', 5, 4, 0xC0))
-0E330E4A0E
-select hex(weight_string('abc',25, 4, 0xC0));
-hex(weight_string('abc',25, 4, 0xC0))
-0E330E4A0E6002090209020902090209020902090209020902
-select @@collation_connection;
-@@collation_connection
-utf16_unicode_ci
-select hex(weight_string(cast(_latin1 0x80 as char)));
-hex(weight_string(cast(_latin1 0x80 as char)))
-0E23
-select hex(weight_string(cast(_latin1 0x808080 as char)));
-hex(weight_string(cast(_latin1 0x808080 as char)))
-0E230E230E23
-select hex(weight_string(cast(_latin1 0x808080 as char) as char(2)));
-hex(weight_string(cast(_latin1 0x808080 as char) as char(2)))
-0E230E23
-select hex(weight_string(cast(_latin1 0x808080 as char) as char(3)));
-hex(weight_string(cast(_latin1 0x808080 as char) as char(3)))
-0E230E230E23
-select hex(weight_string(cast(_latin1 0x808080 as char) as char(5)));
-hex(weight_string(cast(_latin1 0x808080 as char) as char(5)))
-0E230E230E2302090209
-select hex(weight_string(cast(_latin1 0x808080 as char), 1, 2, 0xC0));
-hex(weight_string(cast(_latin1 0x808080 as char), 1, 2, 0xC0))
-0E
-select hex(weight_string(cast(_latin1 0x808080 as char), 2, 2, 0xC0));
-hex(weight_string(cast(_latin1 0x808080 as char), 2, 2, 0xC0))
-0E23
-select hex(weight_string(cast(_latin1 0x808080 as char), 3, 2, 0xC0));
-hex(weight_string(cast(_latin1 0x808080 as char), 3, 2, 0xC0))
-0E230E
-select hex(weight_string(cast(_latin1 0x808080 as char), 4, 2, 0xC0));
-hex(weight_string(cast(_latin1 0x808080 as char), 4, 2, 0xC0))
-0E230E23
-select hex(weight_string(cast(_latin1 0x808080 as char), 5, 2, 0xC0));
-hex(weight_string(cast(_latin1 0x808080 as char), 5, 2, 0xC0))
-0E230E2302
-select hex(weight_string(cast(_latin1 0x808080 as char),25, 2, 0xC0));
-hex(weight_string(cast(_latin1 0x808080 as char),25, 2, 0xC0))
-0E230E23020902090209020902090209020902090209020902
-select hex(weight_string(cast(_latin1 0x808080 as char), 1, 3, 0xC0));
-hex(weight_string(cast(_latin1 0x808080 as char), 1, 3, 0xC0))
-0E
-select hex(weight_string(cast(_latin1 0x808080 as char), 2, 3, 0xC0));
-hex(weight_string(cast(_latin1 0x808080 as char), 2, 3, 0xC0))
-0E23
-select hex(weight_string(cast(_latin1 0x808080 as char), 3, 3, 0xC0));
-hex(weight_string(cast(_latin1 0x808080 as char), 3, 3, 0xC0))
-0E230E
-select hex(weight_string(cast(_latin1 0x808080 as char), 4, 3, 0xC0));
-hex(weight_string(cast(_latin1 0x808080 as char), 4, 3, 0xC0))
-0E230E23
-select hex(weight_string(cast(_latin1 0x808080 as char), 5, 3, 0xC0));
-hex(weight_string(cast(_latin1 0x808080 as char), 5, 3, 0xC0))
-0E230E230E
-select hex(weight_string(cast(_latin1 0x808080 as char),25, 3, 0xC0));
-hex(weight_string(cast(_latin1 0x808080 as char),25, 3, 0xC0))
-0E230E230E2302090209020902090209020902090209020902
-select hex(weight_string(cast(_latin1 0x808080 as char), 1, 4, 0xC0));
-hex(weight_string(cast(_latin1 0x808080 as char), 1, 4, 0xC0))
-0E
-select hex(weight_string(cast(_latin1 0x808080 as char), 2, 4, 0xC0));
-hex(weight_string(cast(_latin1 0x808080 as char), 2, 4, 0xC0))
-0E23
-select hex(weight_string(cast(_latin1 0x808080 as char), 3, 4, 0xC0));
-hex(weight_string(cast(_latin1 0x808080 as char), 3, 4, 0xC0))
-0E230E
-select hex(weight_string(cast(_latin1 0x808080 as char), 4, 4, 0xC0));
-hex(weight_string(cast(_latin1 0x808080 as char), 4, 4, 0xC0))
-0E230E23
-select hex(weight_string(cast(_latin1 0x808080 as char), 5, 4, 0xC0));
-hex(weight_string(cast(_latin1 0x808080 as char), 5, 4, 0xC0))
-0E230E230E
-select hex(weight_string(cast(_latin1 0x808080 as char),25, 4, 0xC0));
-hex(weight_string(cast(_latin1 0x808080 as char),25, 4, 0xC0))
-0E230E230E2302090209020902090209020902090209020902
-select hex(weight_string(_utf16 0xD800DC00 collate utf16_unicode_ci));
-hex(weight_string(_utf16 0xD800DC00 collate utf16_unicode_ci))
-FFFD
-select hex(weight_string(_utf16 0xD800DC01 collate utf16_unicode_ci));
-hex(weight_string(_utf16 0xD800DC01 collate utf16_unicode_ci))
-FFFD
-select @@collation_connection;
-@@collation_connection
-utf16_unicode_ci
-select hex(weight_string('a' LEVEL 1));
-hex(weight_string('a' LEVEL 1))
-0E33
-select hex(weight_string('A' LEVEL 1));
-hex(weight_string('A' LEVEL 1))
-0E33
-select hex(weight_string('abc' LEVEL 1));
-hex(weight_string('abc' LEVEL 1))
-0E330E4A0E60
-select hex(weight_string('abc' as char(2) LEVEL 1));
-hex(weight_string('abc' as char(2) LEVEL 1))
-0E330E4A
-select hex(weight_string('abc' as char(3) LEVEL 1));
-hex(weight_string('abc' as char(3) LEVEL 1))
-0E330E4A0E60
-select hex(weight_string('abc' as char(5) LEVEL 1));
-hex(weight_string('abc' as char(5) LEVEL 1))
-0E330E4A0E6002090209
-select hex(weight_string('abc' as char(5) LEVEL 1 REVERSE));
-hex(weight_string('abc' as char(5) LEVEL 1 REVERSE))
-09020902600E4A0E330E
-select hex(weight_string('abc' as char(5) LEVEL 1 DESC));
-hex(weight_string('abc' as char(5) LEVEL 1 DESC))
-F1CCF1B5F19FFDF6FDF6
-select hex(weight_string('abc' as char(5) LEVEL 1 DESC REVERSE));
-hex(weight_string('abc' as char(5) LEVEL 1 DESC REVERSE))
-F6FDF6FD9FF1B5F1CCF1
-set @@collation_connection=utf16_czech_ci;
-select @@collation_connection;
-@@collation_connection
-utf16_czech_ci
-select collation(cast(_latin1 0xDF as char));
-collation(cast(_latin1 0xDF as char))
-utf16_czech_ci
-select hex(weight_string('s'));
-hex(weight_string('s'))
-0FEA
-select hex(weight_string(cast(_latin1 0xDF as char)));
-hex(weight_string(cast(_latin1 0xDF as char)))
-0FEA0FEA
-select hex(weight_string(cast(_latin1 0xDF as char) as char(1)));
-hex(weight_string(cast(_latin1 0xDF as char) as char(1)))
-0FEA
-select hex(weight_string('c'));
-hex(weight_string('c'))
-0E60
-select hex(weight_string('h'));
-hex(weight_string('h'))
-0EE1
-select hex(weight_string('ch'));
-hex(weight_string('ch'))
-0EE2
-select hex(weight_string('i'));
-hex(weight_string('i'))
-0EFB
-select hex(weight_string(cast(_latin1 0x6368DF as char)));
-hex(weight_string(cast(_latin1 0x6368DF as char)))
-0EE20FEA0FEA
-select hex(weight_string(cast(_latin1 0x6368DF as char) as char(1)));
-hex(weight_string(cast(_latin1 0x6368DF as char) as char(1)))
-0EE2
-select hex(weight_string(cast(_latin1 0x6368DF as char) as char(2)));
-hex(weight_string(cast(_latin1 0x6368DF as char) as char(2)))
-0EE20FEA
-select hex(weight_string(cast(_latin1 0x6368DF as char) as char(3)));
-hex(weight_string(cast(_latin1 0x6368DF as char) as char(3)))
-0EE20FEA0FEA
-select hex(weight_string(cast(_latin1 0x6368DF as char) as char(4)));
-hex(weight_string(cast(_latin1 0x6368DF as char) as char(4)))
-0EE20FEA0FEA0209
-select hex(weight_string(cast(_latin1 0xDF6368 as char)));
-hex(weight_string(cast(_latin1 0xDF6368 as char)))
-0FEA0FEA0EE2
-select hex(weight_string(cast(_latin1 0xDF6368 as char) as char(1)));
-hex(weight_string(cast(_latin1 0xDF6368 as char) as char(1)))
-0FEA
-select hex(weight_string(cast(_latin1 0xDF6368 as char) as char(2)));
-hex(weight_string(cast(_latin1 0xDF6368 as char) as char(2)))
-0FEA0FEA
-select hex(weight_string(cast(_latin1 0xDF6368 as char) as char(3)));
-hex(weight_string(cast(_latin1 0xDF6368 as char) as char(3)))
-0FEA0FEA0EE2
-select hex(weight_string(cast(_latin1 0xDF6368 as char) as char(4)));
-hex(weight_string(cast(_latin1 0xDF6368 as char) as char(4)))
-0FEA0FEA0EE20209
-select hex(weight_string(cast(_latin1 0x6368DF as char), 1, 2, 0xC0));
-hex(weight_string(cast(_latin1 0x6368DF as char), 1, 2, 0xC0))
-0E
-select hex(weight_string(cast(_latin1 0x6368DF as char), 2, 2, 0xC0));
-hex(weight_string(cast(_latin1 0x6368DF as char), 2, 2, 0xC0))
-0EE2
-select hex(weight_string(cast(_latin1 0x6368DF as char), 3, 2, 0xC0));
-hex(weight_string(cast(_latin1 0x6368DF as char), 3, 2, 0xC0))
-0EE20F
-select hex(weight_string(cast(_latin1 0x6368DF as char), 4, 2, 0xC0));
-hex(weight_string(cast(_latin1 0x6368DF as char), 4, 2, 0xC0))
-0EE20FEA
-select hex(weight_string(cast(_latin1 0x6368DF as char),25, 2, 0xC0));
-hex(weight_string(cast(_latin1 0x6368DF as char),25, 2, 0xC0))
-0EE20FEA020902090209020902090209020902090209020902
-select hex(weight_string(cast(_latin1 0x6368DF as char), 1, 3, 0xC0));
-hex(weight_string(cast(_latin1 0x6368DF as char), 1, 3, 0xC0))
-0E
-select hex(weight_string(cast(_latin1 0x6368DF as char), 2, 3, 0xC0));
-hex(weight_string(cast(_latin1 0x6368DF as char), 2, 3, 0xC0))
-0EE2
-select hex(weight_string(cast(_latin1 0x6368DF as char), 3, 3, 0xC0));
-hex(weight_string(cast(_latin1 0x6368DF as char), 3, 3, 0xC0))
-0EE20F
-select hex(weight_string(cast(_latin1 0x6368DF as char), 4, 3, 0xC0));
-hex(weight_string(cast(_latin1 0x6368DF as char), 4, 3, 0xC0))
-0EE20FEA
-select hex(weight_string(cast(_latin1 0x6368DF as char),25, 3, 0xC0));
-hex(weight_string(cast(_latin1 0x6368DF as char),25, 3, 0xC0))
-0EE20FEA0FEA02090209020902090209020902090209020902
-select hex(weight_string(cast(_latin1 0x6368DF as char), 1, 4, 0xC0));
-hex(weight_string(cast(_latin1 0x6368DF as char), 1, 4, 0xC0))
-0E
-select hex(weight_string(cast(_latin1 0x6368DF as char), 2, 4, 0xC0));
-hex(weight_string(cast(_latin1 0x6368DF as char), 2, 4, 0xC0))
-0EE2
-select hex(weight_string(cast(_latin1 0x6368DF as char), 3, 4, 0xC0));
-hex(weight_string(cast(_latin1 0x6368DF as char), 3, 4, 0xC0))
-0EE20F
-select hex(weight_string(cast(_latin1 0x6368DF as char), 4, 4, 0xC0));
-hex(weight_string(cast(_latin1 0x6368DF as char), 4, 4, 0xC0))
-0EE20FEA
-select hex(weight_string(cast(_latin1 0x6368DF as char),25, 4, 0xC0));
-hex(weight_string(cast(_latin1 0x6368DF as char),25, 4, 0xC0))
-0EE20FEA0FEA02090209020902090209020902090209020902
-select hex(weight_string(cast(_latin1 0xDF6368 as char), 1, 2,0xC0));
-hex(weight_string(cast(_latin1 0xDF6368 as char), 1, 2,0xC0))
-0F
-select hex(weight_string(cast(_latin1 0xDF6368 as char), 2, 2,0xC0));
-hex(weight_string(cast(_latin1 0xDF6368 as char), 2, 2,0xC0))
-0FEA
-select hex(weight_string(cast(_latin1 0xDF6368 as char), 3, 2,0xC0));
-hex(weight_string(cast(_latin1 0xDF6368 as char), 3, 2,0xC0))
-0FEA0F
-select hex(weight_string(cast(_latin1 0xDF6368 as char), 4, 2,0xC0));
-hex(weight_string(cast(_latin1 0xDF6368 as char), 4, 2,0xC0))
-0FEA0FEA
-select hex(weight_string(cast(_latin1 0xDF6368 as char),25, 2,0xC0));
-hex(weight_string(cast(_latin1 0xDF6368 as char),25, 2,0xC0))
-0FEA0FEA020902090209020902090209020902090209020902
-select hex(weight_string(cast(_latin1 0xDF6368 as char), 1, 3,0xC0));
-hex(weight_string(cast(_latin1 0xDF6368 as char), 1, 3,0xC0))
-0F
-select hex(weight_string(cast(_latin1 0xDF6368 as char), 2, 3,0xC0));
-hex(weight_string(cast(_latin1 0xDF6368 as char), 2, 3,0xC0))
-0FEA
-select hex(weight_string(cast(_latin1 0xDF6368 as char), 3, 3,0xC0));
-hex(weight_string(cast(_latin1 0xDF6368 as char), 3, 3,0xC0))
-0FEA0F
-select hex(weight_string(cast(_latin1 0xDF6368 as char), 4, 3,0xC0));
-hex(weight_string(cast(_latin1 0xDF6368 as char), 4, 3,0xC0))
-0FEA0FEA
-select hex(weight_string(cast(_latin1 0xDF6368 as char),25, 3,0xC0));
-hex(weight_string(cast(_latin1 0xDF6368 as char),25, 3,0xC0))
-0FEA0FEA0EE202090209020902090209020902090209020902
-select hex(weight_string(cast(_latin1 0xDF6368 as char), 1, 4,0xC0));
-hex(weight_string(cast(_latin1 0xDF6368 as char), 1, 4,0xC0))
-0F
-select hex(weight_string(cast(_latin1 0xDF6368 as char), 2, 4,0xC0));
-hex(weight_string(cast(_latin1 0xDF6368 as char), 2, 4,0xC0))
-0FEA
-select hex(weight_string(cast(_latin1 0xDF6368 as char), 3, 4,0xC0));
-hex(weight_string(cast(_latin1 0xDF6368 as char), 3, 4,0xC0))
-0FEA0F
-select hex(weight_string(cast(_latin1 0xDF6368 as char), 4, 4,0xC0));
-hex(weight_string(cast(_latin1 0xDF6368 as char), 4, 4,0xC0))
-0FEA0FEA
-select hex(weight_string(cast(_latin1 0xDF6368 as char),25, 4,0xC0));
-hex(weight_string(cast(_latin1 0xDF6368 as char),25, 4,0xC0))
-0FEA0FEA0EE202090209020902090209020902090209020902
-set collation_connection=utf16_unicode_ci;
-drop table if exists t1;
-create table t1 as
-select repeat(' ', 64) as s1, repeat(' ',64) as s2
-union
-select null, null;
-show create table t1;
-Table Create Table
-t1 CREATE TABLE `t1` (
- `s1` varchar(64) CHARACTER SET utf16 COLLATE utf16_unicode_ci DEFAULT NULL,
- `s2` varchar(64) CHARACTER SET utf16 COLLATE utf16_unicode_ci DEFAULT NULL
-) ENGINE=MyISAM DEFAULT CHARSET=latin1
-delete from t1;
-insert into t1 values('aaa','aaa');
-insert into t1 values('aaa|qqq','qqq');
-insert into t1 values('gheis','^[^a-dXYZ]+$');
-insert into t1 values('aab','^aa?b');
-insert into t1 values('Baaan','^Ba*n');
-insert into t1 values('aaa','qqq|aaa');
-insert into t1 values('qqq','qqq|aaa');
-insert into t1 values('bbb','qqq|aaa');
-insert into t1 values('bbb','qqq');
-insert into t1 values('aaa','aba');
-insert into t1 values(null,'abc');
-insert into t1 values('def',null);
-insert into t1 values(null,null);
-insert into t1 values('ghi','ghi[');
-select HIGH_PRIORITY s1 regexp s2 from t1;
-s1 regexp s2
-1
-1
-1
-1
-1
-1
-1
-0
-0
-0
-NULL
-NULL
-NULL
-NULL
-drop table t1;
-set names latin1;
-End of 5.2 tests
=== removed file 'mysql-test/r/ctype_utf32.result'
--- a/mysql-test/r/ctype_utf32.result 2009-04-07 06:01:03 +0000
+++ b/mysql-test/r/ctype_utf32.result 1970-01-01 00:00:00 +0000
@@ -1,1450 +0,0 @@
-DROP TABLE IF EXISTS t1;
-SET NAMES latin1;
-SET character_set_connection=utf32;
-select hex('a'), hex('a ');
-hex('a') hex('a ')
-00000061 0000006100000020
-select 'a' = 'a', 'a' = 'a ', 'a ' = 'a';
-'a' = 'a' 'a' = 'a ' 'a ' = 'a'
-1 1 1
-select 'a\0' = 'a', 'a\0' < 'a', 'a\0' > 'a';
-'a\0' = 'a' 'a\0' < 'a' 'a\0' > 'a'
-0 1 0
-select 'a' = 'a\0', 'a' < 'a\0', 'a' > 'a\0';
-'a' = 'a\0' 'a' < 'a\0' 'a' > 'a\0'
-0 0 1
-select 'a\0' = 'a ', 'a\0' < 'a ', 'a\0' > 'a ';
-'a\0' = 'a ' 'a\0' < 'a ' 'a\0' > 'a '
-0 1 0
-select 'a ' = 'a\0', 'a ' < 'a\0', 'a ' > 'a\0';
-'a ' = 'a\0' 'a ' < 'a\0' 'a ' > 'a\0'
-0 0 1
-select 'a a' > 'a', 'a \0' < 'a';
-'a a' > 'a' 'a \0' < 'a'
-1 1
-select binary 'a a' > 'a', binary 'a \0' > 'a', binary 'a\0' > 'a';
-binary 'a a' > 'a' binary 'a \0' > 'a' binary 'a\0' > 'a'
-1 1 1
-select hex(_utf32 0x44);
-hex(_utf32 0x44)
-00000044
-select hex(_utf32 0x3344);
-hex(_utf32 0x3344)
-00003344
-select hex(_utf32 0x103344);
-hex(_utf32 0x103344)
-00103344
-select hex(_utf32 X'44');
-hex(_utf32 X'44')
-00000044
-select hex(_utf32 X'3344');
-hex(_utf32 X'3344')
-00003344
-select hex(_utf32 X'103344');
-hex(_utf32 X'103344')
-00103344
-CREATE TABLE t1 (word VARCHAR(64), word2 CHAR(64)) CHARACTER SET utf32;
-INSERT INTO t1 VALUES (_koi8r 0xF2, _koi8r 0xF2), (X'2004',X'2004');
-SELECT hex(word) FROM t1 ORDER BY word;
-hex(word)
-00000420
-00002004
-SELECT hex(word2) FROM t1 ORDER BY word2;
-hex(word2)
-00000420
-00002004
-DELETE FROM t1;
-INSERT INTO t1 VALUES
-(X'000004200000002000000020',X'000004200000002000000020'),
-(X'000020040000002000000020',X'000020040000002000000020');
-SELECT hex(word) FROM t1 ORDER BY word;
-hex(word)
-000004200000002000000020
-000020040000002000000020
-SELECT hex(word2) FROM t1 ORDER BY word2;
-hex(word2)
-00000420
-00002004
-DROP TABLE t1;
-SELECT hex(LPAD(_utf32 X'0420',10,_utf32 X'0421'));
-hex(LPAD(_utf32 X'0420',10,_utf32 X'0421'))
-00000421000004210000042100000421000004210000042100000421000004210000042100000420
-SELECT hex(LPAD(_utf32 X'0420',10,_utf32 X'0000042100000422'));
-hex(LPAD(_utf32 X'0420',10,_utf32 X'0000042100000422'))
-00000421000004220000042100000422000004210000042200000421000004220000042100000420
-SELECT hex(LPAD(_utf32 X'0420',10,_utf32 X'000004210000042200000423'));
-hex(LPAD(_utf32 X'0420',10,_utf32 X'000004210000042200000423'))
-00000421000004220000042300000421000004220000042300000421000004220000042300000420
-SELECT hex(LPAD(_utf32 X'000004200000042100000422000004230000042400000425000004260000042700000428000004290000042A0000042B',10,_utf32 X'000004210000042200000423'));
-hex(LPAD(_utf32 X'000004200000042100000422000004230000042400000425000004260000042700000428000004290000042A0000042B',10,_utf32 X'000004210000042200000423'))
-00000420000004210000042200000423000004240000042500000426000004270000042800000429
-SELECT hex(RPAD(_utf32 X'0420',10,_utf32 X'0421'));
-hex(RPAD(_utf32 X'0420',10,_utf32 X'0421'))
-00000420000004210000042100000421000004210000042100000421000004210000042100000421
-SELECT hex(RPAD(_utf32 X'0420',10,_utf32 X'0000042100000422'));
-hex(RPAD(_utf32 X'0420',10,_utf32 X'0000042100000422'))
-00000420000004210000042200000421000004220000042100000422000004210000042200000421
-SELECT hex(RPAD(_utf32 X'0420',10,_utf32 X'000004210000042200000423'));
-hex(RPAD(_utf32 X'0420',10,_utf32 X'000004210000042200000423'))
-00000420000004210000042200000423000004210000042200000423000004210000042200000423
-SELECT hex(RPAD(_utf32 X'000004200000042100000422000004230000042400000425000004260000042700000428000004290000042A0000042B',10,_utf32 X'000004210000042200000423'));
-hex(RPAD(_utf32 X'000004200000042100000422000004230000042400000425000004260000042700000428000004290000042A0000042B',10,_utf32 X'000004210000042200000423'))
-00000420000004210000042200000423000004240000042500000426000004270000042800000429
-CREATE TABLE t1 SELECT
-LPAD(_utf32 X'0420',10,_utf32 X'0421') l,
-RPAD(_utf32 X'0420',10,_utf32 X'0421') r;
-SHOW CREATE TABLE t1;
-Table Create Table
-t1 CREATE TABLE `t1` (
- `l` varchar(10) CHARACTER SET utf32 NOT NULL DEFAULT '',
- `r` varchar(10) CHARACTER SET utf32 NOT NULL DEFAULT ''
-) ENGINE=MyISAM DEFAULT CHARSET=latin1
-select hex(l), hex(r) from t1;
-hex(l) hex(r)
-00000421000004210000042100000421000004210000042100000421000004210000042100000420 00000420000004210000042100000421000004210000042100000421000004210000042100000421
-DROP TABLE t1;
-create table t1 (f1 char(30));
-insert into t1 values ("103000"), ("22720000"), ("3401200"), ("78000");
-select lpad(f1, 12, "-o-/") from t1;
-lpad(f1, 12, "-o-/")
--o-/-o103000
--o-/22720000
--o-/-3401200
--o-/-o-78000
-drop table t1;
-SET NAMES latin1;
-SET character_set_connection=utf32;
-select @@collation_connection;
-@@collation_connection
-utf32_general_ci
-create table t1 as select repeat(' ',10) as a union select null;
-alter table t1 add key(a);
-show create table t1;
-Table Create Table
-t1 CREATE TABLE `t1` (
- `a` varchar(10) CHARACTER SET utf32 DEFAULT NULL,
- KEY `a` (`a`)
-) ENGINE=MyISAM DEFAULT CHARSET=latin1
-insert into t1 values ("a"),("abc"),("abcd"),("hello"),("test");
-explain select * from t1 where a like 'abc%';
-id select_type table type possible_keys key key_len ref rows Extra
-1 SIMPLE t1 range a a 43 NULL 1 Using where; Using index
-explain select * from t1 where a like concat('abc','%');
-id select_type table type possible_keys key key_len ref rows Extra
-1 SIMPLE t1 range a a 43 NULL 1 Using where; Using index
-select * from t1 where a like "abc%";
-a
-abc
-abcd
-select * from t1 where a like concat("abc","%");
-a
-abc
-abcd
-select * from t1 where a like "ABC%";
-a
-abc
-abcd
-select * from t1 where a like "test%";
-a
-test
-select * from t1 where a like "te_t";
-a
-test
-select * from t1 where a like "%a%";
-a
-a
-abc
-abcd
-select * from t1 where a like "%abcd%";
-a
-abcd
-select * from t1 where a like "%abc\d%";
-a
-abcd
-drop table t1;
-select 'AA' like 'AA';
-'AA' like 'AA'
-1
-select 'AA' like 'A%A';
-'AA' like 'A%A'
-1
-select 'AA' like 'A%%A';
-'AA' like 'A%%A'
-1
-select 'AA' like 'AA%';
-'AA' like 'AA%'
-1
-select 'AA' like '%AA%';
-'AA' like '%AA%'
-1
-select 'AA' like '%A';
-'AA' like '%A'
-1
-select 'AA' like '%AA';
-'AA' like '%AA'
-1
-select 'AA' like 'A%A%';
-'AA' like 'A%A%'
-1
-select 'AA' like '_%_%';
-'AA' like '_%_%'
-1
-select 'AA' like '%A%A';
-'AA' like '%A%A'
-1
-select 'AAA'like 'A%A%A';
-'AAA'like 'A%A%A'
-1
-select 'AZ' like 'AZ';
-'AZ' like 'AZ'
-1
-select 'AZ' like 'A%Z';
-'AZ' like 'A%Z'
-1
-select 'AZ' like 'A%%Z';
-'AZ' like 'A%%Z'
-1
-select 'AZ' like 'AZ%';
-'AZ' like 'AZ%'
-1
-select 'AZ' like '%AZ%';
-'AZ' like '%AZ%'
-1
-select 'AZ' like '%Z';
-'AZ' like '%Z'
-1
-select 'AZ' like '%AZ';
-'AZ' like '%AZ'
-1
-select 'AZ' like 'A%Z%';
-'AZ' like 'A%Z%'
-1
-select 'AZ' like '_%_%';
-'AZ' like '_%_%'
-1
-select 'AZ' like '%A%Z';
-'AZ' like '%A%Z'
-1
-select 'AZ' like 'A_';
-'AZ' like 'A_'
-1
-select 'AZ' like '_Z';
-'AZ' like '_Z'
-1
-select 'AMZ'like 'A%M%Z';
-'AMZ'like 'A%M%Z'
-1
-SET NAMES utf8;
-SET character_set_connection=utf32;
-CREATE TABLE t1 (a VARCHAR(10) CHARACTER SET utf32);
-INSERT INTO t1 VALUES ('фыва'),('Фыва'),('фЫва'),('фыВа'),('фывА'),('ФЫВА');
-INSERT INTO t1 VALUES ('фывапролдж'),('Фывапролдж'),('фЫвапролдALUES ('фывАпролдж'),('фываПро * FROM t1 WHERE a LIKE '%фЫва%' ORDER BY BINARY a;
-a
-ФЫВАПРОЛДЖ
-ФЫВА
-Фыва
-Фывапролдж
-фЫва
-фыВа
-фыва
-SELECT * FROM t1 WHERE a LIKE '%фЫв%' ORDER BY BINARY a;
-a
-ФЫВАПРОЛДЖ
-ФЫВА
-Фыва
-ФывапрвапролдЖ
-фывапролДж
-фывапроЛдж
-фывапрОлдж
-фывапРолдж
-фываПролдж
-фывАпролдж
-фыВапролдж
-фывапролдж
-фывА
-фыВа
-фыва
-SELECT * FROM t1 WHERE a LIKE 'фЫва%' ORDER BY BINARY a;
-a
-ФЫВАПРОЛДЖ
-ФЫВА
-Фыва
-Фывапролдж
-фЫва
-фЫвапролдж
-фывапролдЖ
-фывапролДж
-фывапроЛдж
-фывапрОлдж
-фывапРолдж
-фываПролдж
-фывАпролдж
-фыВапролдж
-фывапролдж
-фывА
-KE 'фЫва%' COLLATE utf32_bin ORDER BY BINARY a;
-a
-фЫва
-фЫвапролдж
-DROP TABLE t1;
-CREATE TABLE t1 (word varchar(64) NOT NULL, PRIMARY KEY (word))
-ENGINE=MyISAM CHARACTER SET utf32;
-INSERT INTO t1 (word) VALUES ("cat");
-SELECT * FROM t1 WHERE word LIKE "c%";
-word
-cat
-SELECT * FROM t1 WHERE word LIKE "ca_";
-word
-cat
-SELECT * FROM t1 WHERE word LIKE "cat";
-word
-cat
-SELECT * FROM t1 WHERE word LIKE _utf32 x'0000006300000025';
-word
-cat
-SELECT * FROM t1 WHERE word LIKE _utf32 x'00000063000000610000005F';
-word
-cat
-DROP TABLE t1;
-select insert(_utf32 0x000000610000006200000063,10,2,_utf32 0x000000640000006500000066);
-insert(_utf32 0x000000610000006200000063,10,2,_utf32 0x000000640000006500000066)
-abc
-select insert(_utf32 0x000000610000006200000063,1,2,_utf32 0x000000640000006500000066);
-insert(_utf32 0x000000610000006200000063,1,2,_utf32 0x000000640000006500000066)
-defc
-SET NAMES latin1;
-CREATE TABLE t1 (
-word VARCHAR(64),
-bar INT(11) default 0,
-PRIMARY KEY (word))
-ENGINE=MyISAM
-CHARSET utf32
-COLLATE utf32_general_ci ;
-INSERT INTO t1 (word) VALUES ("aar");
-INSERT INTO t1 (word) VALUES ("a");
-INSERT INTO t1 (word) VALUES ("aardvar");
-INSERT INTO t1 (word) VALUES ("aardvark");
-INSERT INTO t1 (word) VALUES ("aardvara");
-INSERT INTO t1 (word) VALUES ("aardvarz");
-EXPLAIN SELECT * FROM t1 ORDER BY word;
-id select_type table type possible_keys key key_len ref rows Extra
-1 SIMPLE t1 ALL NULL NULL NULL NULL 6 Using filesort
-SELECT * FROM t1 ORDER BY word;
-word bar
-a 0
-aar 0
-aardvar 0
-aardvara 0
-aardvark 0
-aardvarz 0
-EXPLAIN SELECT word FROM t1 ORDER BY word;
-id select_type table type possible_keys key key_len ref rows Extra
-1 SIMPLE t1 index NULL PRIMARY 258 NULL 6 Using index
-SELECT word FROM t1 ORDER by word;
-word
-a
-aar
-aardvar
-aardvara
-aardvark
-aardvarz
-DROP TABLE t1;
-CREATE TABLE t1 (
-word VARCHAR(64) ,
-PRIMARY KEY (word))
-ENGINE=MyISAM
-CHARSET utf32
-COLLATE utf32_general_ci;
-INSERT INTO t1 (word) VALUES ("aar");
-INSERT INTO t1 (word) VALUES ("a");
-INSERT INTO t1 (word) VALUES ("aardvar");
-INSERT INTO t1 (word) VALUES ("aardvark");
-INSERT INTO t1 (word) VALUES ("aardvara");
-INSERT INTO t1 (word) VALUES ("aardvarz");
-EXPLAIN SELECT * FROM t1 ORDER BY WORD;
-id select_type table type possible_keys key key_len ref rows Extra
-1 SIMPLE t1 index NULL PRIMARY 258 NULL 6 Using index
-SELECT * FROM t1 ORDER BY word;
-word
-a
-aar
-aardvar
-aardvara
-aardvark
-aardvarz
-DROP TABLE t1;
-CREATE TABLE t1 (
-word TEXT,
-bar INT(11) AUTO_INCREMENT,
-PRIMARY KEY (bar))
-ENGINE=MyISAM
-CHARSET utf32
-COLLATE utf32_general_ci ;
-INSERT INTO t1 (word) VALUES ("aar");
-INSERT INTO t1 (word) VALUES ("a" );
-INSERT INTO t1 (word) VALUES ("aardvar");
-INSERT INTO t1 (word) VALUES ("aardvark");
-INSERT INTO t1 (word) VALUES ("aardvara");
-INSERT INTO t1 (word) VALUES ("aardvarz");
-EXPLAIN SELECT * FROM t1 ORDER BY word;
-id select_type table type possible_keys key key_len ref rows Extra
-1 SIMPLE t1 ALL NULL NULL NULL NULL 6 Using filesort
-SELECT * FROM t1 ORDER BY word;
-word bar
-a 2
-aar 1
-aardvar 3
-aardvara 5
-aardvark 4
-aardvarz 6
-EXPLAIN SELECT word FROM t1 ORDER BY word;
-id select_type table type possible_keys key key_len ref rows Extra
-1 SIMPLE t1 ALL NULL NULL NULL NULL 6 Using filesort
-SELECT word FROM t1 ORDER BY word;
-word
-a
-aar
-aardvar
-aardvara
-aardvark
-aardvarz
-DROP TABLE t1;
-SELECT hex(cast(0xAA as char character set utf32));
-hex(cast(0xAA as char character set utf32))
-000000AA
-SELECT hex(convert(0xAA using utf32));
-hex(convert(0xAA using utf32))
-000000AA
-CREATE TABLE t1 (a char(10) character set utf32);
-INSERT INTO t1 VALUES (0x1),(0x11),(0x111),(0x1111),(0x11111);
-SELECT HEX(a) FROM t1;
-HEX(a)
-00000001
-00000011
-00000111
-00001111
-00011111
-DROP TABLE t1;
-CREATE TABLE t1 (a varchar(10) character set utf32);
-INSERT INTO t1 VALUES (0x1),(0x11),(0x111),(0x1111),(0x11111);
-SELECT HEX(a) FROM t1;
-HEX(a)
-00000001
-00000011
-00000111
-00001111
-00011111
-DROP TABLE t1;
-CREATE TABLE t1 (a text character set utf32);
-INSERT INTO t1 VALUES (0x1),(0x11),(0x111),(0x1111),(0x11111);
-SELECT HEX(a) FROM t1;
-HEX(a)
-00000001
-00000011
-00000111
-00001111
-00011111
-DROP TABLE t1;
-CREATE TABLE t1 (a mediumtext character set utf32);
-INSERT INTO t1 VALUES (0x1),(0x11),(0x111),(0x1111),(0x11111);
-SELECT HEX(a) FROM t1;
-HEX(a)
-00000001
-00000011
-00000111
-00001111
-00011111
-DROP TABLE t1;
-CREATE TABLE t1 (a longtext character set utf32);
-INSERT INTO t1 VALUES (0x1),(0x11),(0x111),(0x1111),(0x11111);
-SELECT HEX(a) FROM t1;
-HEX(a)
-00000001
-00000011
-00000111
-00001111
-00011111
-DROP TABLE t1;
-create table t1(a char(1)) default charset utf32;
-insert into t1 values ('a'),('b'),('c');
-alter table t1 modify a char(5);
-select a, hex(a) from t1;
-a hex(a)
-a 00000061
-b 00000062
-c 00000063
-drop table t1;
-set @ivar= 1234;
-set @str1 = 'select ?';
-set @str2 = convert(@str1 using utf32);
-prepare stmt1 from @str2;
-execute stmt1 using @ivar;
-?
-1234
-set names utf8;
-create table t1 (a enum('x','y','z') character set utf32);
-show create table t1;
-Table Create Table
-t1 CREATE TABLE `t1` (
- `a` enum('x','y','z') CHARACTER SET utf32 DEFAULT NULL
-) ENGINE=MyISAM DEFAULT CHARSET=latin1
-insert into t1 values ('x');
-insert into t1 values ('y');
-insert into t1 values ('z');
-select a, hex(a) from t1 order by a;
-a hex(a)
-x 00000078
-y 00000079
-z 0000007A
-alter table t1 change a a enum('x','y','z','d','e','ä','ö','ü') character set utf32;
-show create table t1;
-Table Create Table
-t1 CREATE TABLE `t1` (
- `a` enum('x','y','z','d','e','ä','ö','ü') CHARACTER SET utf32 DEFAULT NULL
-) ENGINE=MyISAM DEFAULT CHARSET=latin1
-insert into t1 values ('D');
-insert into t1 values ('E ');
-insert into t1 values ('ä');
-insert into t1 values ('ö');
-insert into t1 values ('ü');
-select a, hex(a) from t1 order by a;
-a hex(a)
-x 00000078
-y 00000079
-z 0000007A
-d 00000064
-e 00000065
-ä 000000E4
-ö 000000F6
-ü 000000FC
-drop table t1;
-create table t1 (a set ('x','y','z','ä','ö','ü') character set utf32);
-show create table t1;
-Table Create Table
-t1 CREATE TABLE `t1` (
- `a` set('x','y','z','ä','ö','ü') CHARACTER SET utf32 DEFAULT NULL
-) ENGINE=MyISAM DEFAULT CHARSET=latin1
-insert into t1 values ('x');
-insert into t1 values ('y');
-insert into t1 values ('z');
-insert into t1 values ('x,y');
-insert into t1 values ('x,y,z,ä,ö,ü');
-select a, hex(a) from t1 order by a;
-a hex(a)
-x 00000078
-y 00000079
-x,y 000000780000002C00000079
-z 0000007A
-x,y,z,ä,ö,ü 000000780000002C000000790000002C0000007A0000002C000000E40000002C000000F60000002C000000FC
-drop table t1;
-create table t1(a enum('a','b','c')) default character set utf32;
-insert into t1 values('a'),('b'),('c');
-alter table t1 add b char(1);
-show warnings;
-Level Code Message
-select * from t1 order by a;
-a b
-a NULL
-b NULL
-c NULL
-drop table t1;
-SET NAMES latin1;
-SET collation_connection='utf32_general_ci';
-create table t1 select repeat('a',4000) a;
-delete from t1;
-insert into t1 values ('a'), ('a '), ('a\t');
-select collation(a),hex(a) from t1 order by a;
-collation(a) hex(a)
-utf32_general_ci 0000006100000009
-utf32_general_ci 00000061
-utf32_general_ci 0000006100000020
-drop table t1;
-select @@collation_connection;
-@@collation_connection
-utf32_general_ci
-create table t1 ROW_FORMAT=DYNAMIC select repeat('a',50) as c1 ;
-insert into t1 values('abcdef');
-insert into t1 values('_bcdef');
-insert into t1 values('a_cdef');
-insert into t1 values('ab_def');
-insert into t1 values('abc_ef');
-insert into t1 values('abcd_f');
-insert into t1 values('abcde_');
-select c1 as c1u from t1 where c1 like 'ab\_def';
-c1u
-ab_def
-select c1 as c2h from t1 where c1 like 'ab#_def' escape '#';
-c2h
-ab_def
-drop table t1;
-SET NAMES latin1;
-SET collation_connection='utf32_bin';
-create table t1 select repeat('a',4000) a;
-delete from t1;
-insert into t1 values ('a'), ('a '), ('a\t');
-select collation(a),hex(a) from t1 order by a;
-collation(a) hex(a)
-utf32_bin 0000006100000009
-utf32_bin 00000061
-utf32_bin 0000006100000020
-drop table t1;
-select @@collation_connection;
-@@collation_connection
-utf32_bin
-create table t1 ROW_FORMAT=DYNAMIC select repeat('a',50) as c1 ;
-insert into t1 values('abcdef');
-insert into t1 values('_bcdef');
-insert into t1 values('a_cdef');
-insert into t1 values('ab_def');
-insert into t1 values('abc_ef');
-insert into t1 values('abcd_f');
-insert into t1 values('abcde_');
-select c1 as c1u from t1 where c1 like 'ab\_def';
-c1u
-ab_def
-select c1 as c2h from t1 where c1 like 'ab#_def' escape '#';
-c2h
-ab_def
-drop table t1;
-select hex(substr(_utf32 0x000000e4000000e500000068,1));
-hex(substr(_utf32 0x000000e4000000e500000068,1))
-000000E4000000E500000068
-select hex(substr(_utf32 0x000000e4000000e500000068,2));
-hex(substr(_utf32 0x000000e4000000e500000068,2))
-000000E500000068
-select hex(substr(_utf32 0x000000e4000000e500000068,3));
-hex(substr(_utf32 0x000000e4000000e500000068,3))
-00000068
-select hex(substr(_utf32 0x000000e4000000e500000068,-1));
-hex(substr(_utf32 0x000000e4000000e500000068,-1))
-00000068
-select hex(substr(_utf32 0x000000e4000000e500000068,-2));
-hex(substr(_utf32 0x000000e4000000e500000068,-2))
-000000E500000068
-select hex(substr(_utf32 0x000000e4000000e500000068,-3));
-hex(substr(_utf32 0x000000e4000000e500000068,-3))
-000000E4000000E500000068
-CREATE TABLE t1 (
-a varchar(250) NOT NULL default '',
-KEY a (a)
-) ENGINE=MyISAM DEFAULT CHARSET=utf32 COLLATE utf32_general_ci;
-insert into t1 values (0x803d);
-insert into t1 values (0x005b);
-select hex(a) from t1;
-hex(a)
-0000005B
-0000803D
-drop table t1;
-create table t1 (utext varchar(20) character set utf32);
-insert into t1 values ("lily");
-insert into t1 values ("river");
-prepare stmt from 'select utext from t1 where utext like ?';
-set @param1='%%';
-execute stmt using @param1;
-utext
-lily
-river
-execute stmt using @param1;
-utext
-lily
-river
-select utext from t1 where utext like '%%';
-utext
-lily
-river
-drop table t1;
-deallocate prepare stmt;
-create table t1 (
-a char(10) character set utf32 not null,
-index a (a)
-) engine=myisam;
-insert into t1 values (repeat(0x0000201f, 10));
-insert into t1 values (repeat(0x00002020, 10));
-insert into t1 values (repeat(0x00002021, 10));
-explain select hex(a) from t1 order by a;
-id select_type table type possible_keys key key_len ref rows Extra
-1 SIMPLE t1 index NULL a 40 NULL 3 Using index
-select hex(a) from t1 order by a;
-hex(a)
-0000201F0000201F0000201F0000201F0000201F0000201F0000201F0000201F0000201F0000201F
-00002020000020200000202000002020000020200000202000002020000020200000202000002020
-00002021000020210000202100002021000020210000202100002021000020210000202100002021
-alter table t1 drop index a;
-select hex(a) from t1 order by a;
-hex(a)
-0000201F0000201F0000201F0000201F0000201F0000201F0000201F0000201F0000201F0000201F
-00002020000020200000202000002020000020200000202000002020000020200000202000002020
-00002021000020210000202100002021000020210000202100002021000020210000202100002021
-drop table t1;
-CREATE TABLE t1 (
-status enum('active','passive') character set utf32 collate utf32_general_ci
-NOT NULL default 'passive'
-);
-SHOW CREATE TABLE t1;
-Table Create Table
-t1 CREATE TABLE `t1` (
- `status` enum('active','passive') CHARACTER SET utf32 NOT NULL DEFAULT 'passive'
-) ENGINE=MyISAM DEFAULT CHARSET=latin1
-ALTER TABLE t1 ADD a int NOT NULL AFTER status;
-SHOW CREATE TABLE t1;
-Table Create Table
-t1 CREATE TABLE `t1` (
- `status` enum('active','passive') CHARACTER SET utf32 NOT NULL DEFAULT 'passive',
- `a` int(11) NOT NULL
-) ENGINE=MyISAM DEFAULT CHARSET=latin1
-DROP TABLE t1;
-End of 4.1 tests
-CREATE TABLE t1 (a varchar(64) character set utf32, b decimal(10,3));
-INSERT INTO t1 VALUES ("1.1", 0), ("2.1", 0);
-update t1 set b=a;
-SELECT *, hex(a) FROM t1;
-a b hex(a)
-1.1 1.100 000000310000002E00000031
-2.1 2.100 000000320000002E00000031
-DROP TABLE t1;
-create table t1 (utext varchar(20) character set utf32);
-insert into t1 values ("lily");
-insert into t1 values ("river");
-prepare stmt from 'select utext from t1 where utext like ?';
-set @param1='%%';
-execute stmt using @param1;
-utext
-lily
-river
-execute stmt using @param1;
-utext
-lily
-river
-select utext from t1 where utext like '%%';
-utext
-lily
-river
-drop table t1;
-deallocate prepare stmt;
-set names latin1;
-set character_set_connection=utf32;
-select soundex(''),soundex('he'),soundex('hello all folks'),soundex('#3556 in bugdb');
-soundex('') soundex('he') soundex('hello all folks') soundex('#3556 in bugdb')
- H000 H4142 I51231
-select hex(soundex('')),hex(soundex('he')),hex(soundex('hello all folks')),hex(soundex('#3556 in bugdb'));
-hex(soundex('')) hex(soundex('he')) hex(soundex('hello all folks')) hex(soundex('#3556 in bugdb'))
- 00000048000000300000003000000030 0000004800000034000000310000003400000032 000000490000003500000031000000320000003300000031
-select 'mood' sounds like 'mud';
-'mood' sounds like 'mud'
-1
-select hex(soundex(_utf32 0x000004100000041100000412));
-hex(soundex(_utf32 0x000004100000041100000412))
-00000410000000300000003000000030
-select hex(soundex(_utf32 0x000000BF000000C0));
-hex(soundex(_utf32 0x000000BF000000C0))
-000000C0000000300000003000000030
-set names latin1;
-create table t1(a blob, b text charset utf32);
-select data_type, character_octet_length, character_maximum_length
-from information_schema.columns where table_name='t1';
-data_type character_octet_length character_maximum_length
-blob 65535 65535
-text 65535 16383
-drop table t1;
-End of 5.0 tests
-set collation_connection=utf32_general_ci;
-select @@collation_connection;
-@@collation_connection
-utf32_general_ci
-select hex(weight_string('a'));
-hex(weight_string('a'))
-0041
-select hex(weight_string('A'));
-hex(weight_string('A'))
-0041
-select hex(weight_string('abc'));
-hex(weight_string('abc'))
-004100420043
-select hex(weight_string('abc' as char(2)));
-hex(weight_string('abc' as char(2)))
-00410042
-select hex(weight_string('abc' as char(3)));
-hex(weight_string('abc' as char(3)))
-004100420043
-select hex(weight_string('abc' as char(5)));
-hex(weight_string('abc' as char(5)))
-00410042004300200020
-select hex(weight_string('abc', 1, 2, 0xC0));
-hex(weight_string('abc', 1, 2, 0xC0))
-00
-select hex(weight_string('abc', 2, 2, 0xC0));
-hex(weight_string('abc', 2, 2, 0xC0))
-0041
-select hex(weight_string('abc', 3, 2, 0xC0));
-hex(weight_string('abc', 3, 2, 0xC0))
-004100
-select hex(weight_string('abc', 4, 2, 0xC0));
-hex(weight_string('abc', 4, 2, 0xC0))
-00410042
-select hex(weight_string('abc', 5, 2, 0xC0));
-hex(weight_string('abc', 5, 2, 0xC0))
-0041004200
-select hex(weight_string('abc',25, 2, 0xC0));
-hex(weight_string('abc',25, 2, 0xC0))
-00410042002000200020002000200020002000200020002000
-select hex(weight_string('abc', 1, 3, 0xC0));
-hex(weight_string('abc', 1, 3, 0xC0))
-00
-select hex(weight_string('abc', 2, 3, 0xC0));
-hex(weight_string('abc', 2, 3, 0xC0))
-0041
-select hex(weight_string('abc', 3, 3, 0xC0));
-hex(weight_string('abc', 3, 3, 0xC0))
-004100
-select hex(weight_string('abc', 4, 3, 0xC0));
-hex(weight_string('abc', 4, 3, 0xC0))
-00410042
-select hex(weight_string('abc', 5, 3, 0xC0));
-hex(weight_string('abc', 5, 3, 0xC0))
-0041004200
-select hex(weight_string('abc',25, 3, 0xC0));
-hex(weight_string('abc',25, 3, 0xC0))
-00410042004300200020002000200020002000200020002000
-select hex(weight_string('abc', 1, 4, 0xC0));
-hex(weight_string('abc', 1, 4, 0xC0))
-00
-select hex(weight_string('abc', 2, 4, 0xC0));
-hex(weight_string('abc', 2, 4, 0xC0))
-0041
-select hex(weight_string('abc', 3, 4, 0xC0));
-hex(weight_string('abc', 3, 4, 0xC0))
-004100
-select hex(weight_string('abc', 4, 4, 0xC0));
-hex(weight_string('abc', 4, 4, 0xC0))
-00410042
-select hex(weight_string('abc', 5, 4, 0xC0));
-hex(weight_string('abc', 5, 4, 0xC0))
-0041004200
-select hex(weight_string('abc',25, 4, 0xC0));
-hex(weight_string('abc',25, 4, 0xC0))
-00410042004300200020002000200020002000200020002000
-select @@collation_connection;
-@@collation_connection
-utf32_general_ci
-select hex(weight_string(cast(_latin1 0x80 as char)));
-hex(weight_string(cast(_latin1 0x80 as char)))
-20AC
-select hex(weight_string(cast(_latin1 0x808080 as char)));
-hex(weight_string(cast(_latin1 0x808080 as char)))
-20AC20AC20AC
-select hex(weight_string(cast(_latin1 0x808080 as char) as char(2)));
-hex(weight_string(cast(_latin1 0x808080 as char) as char(2)))
-20AC20AC
-select hex(weight_string(cast(_latin1 0x808080 as char) as char(3)));
-hex(weight_string(cast(_latin1 0x808080 as char) as char(3)))
-20AC20AC20AC
-select hex(weight_string(cast(_latin1 0x808080 as char) as char(5)));
-hex(weight_string(cast(_latin1 0x808080 as char) as char(5)))
-20AC20AC20AC00200020
-select hex(weight_string(cast(_latin1 0x808080 as char), 1, 2, 0xC0));
-hex(weight_string(cast(_latin1 0x808080 as char), 1, 2, 0xC0))
-20
-select hex(weight_string(cast(_latin1 0x808080 as char), 2, 2, 0xC0));
-hex(weight_string(cast(_latin1 0x808080 as char), 2, 2, 0xC0))
-20AC
-select hex(weight_string(cast(_latin1 0x808080 as char), 3, 2, 0xC0));
-hex(weight_string(cast(_latin1 0x808080 as char), 3, 2, 0xC0))
-20AC20
-select hex(weight_string(cast(_latin1 0x808080 as char), 4, 2, 0xC0));
-hex(weight_string(cast(_latin1 0x808080 as char), 4, 2, 0xC0))
-20AC20AC
-select hex(weight_string(cast(_latin1 0x808080 as char), 5, 2, 0xC0));
-hex(weight_string(cast(_latin1 0x808080 as char), 5, 2, 0xC0))
-20AC20AC00
-select hex(weight_string(cast(_latin1 0x808080 as char),25, 2, 0xC0));
-hex(weight_string(cast(_latin1 0x808080 as char),25, 2, 0xC0))
-20AC20AC002000200020002000200020002000200020002000
-select hex(weight_string(cast(_latin1 0x808080 as char), 1, 3, 0xC0));
-hex(weight_string(cast(_latin1 0x808080 as char), 1, 3, 0xC0))
-20
-select hex(weight_string(cast(_latin1 0x808080 as char), 2, 3, 0xC0));
-hex(weight_string(cast(_latin1 0x808080 as char), 2, 3, 0xC0))
-20AC
-select hex(weight_string(cast(_latin1 0x808080 as char), 3, 3, 0xC0));
-hex(weight_string(cast(_latin1 0x808080 as char), 3, 3, 0xC0))
-20AC20
-select hex(weight_string(cast(_latin1 0x808080 as char), 4, 3, 0xC0));
-hex(weight_string(cast(_latin1 0x808080 as char), 4, 3, 0xC0))
-20AC20AC
-select hex(weight_string(cast(_latin1 0x808080 as char), 5, 3, 0xC0));
-hex(weight_string(cast(_latin1 0x808080 as char), 5, 3, 0xC0))
-20AC20AC20
-select hex(weight_string(cast(_latin1 0x808080 as char),25, 3, 0xC0));
-hex(weight_string(cast(_latin1 0x808080 as char),25, 3, 0xC0))
-20AC20AC20AC00200020002000200020002000200020002000
-select hex(weight_string(cast(_latin1 0x808080 as char), 1, 4, 0xC0));
-hex(weight_string(cast(_latin1 0x808080 as char), 1, 4, 0xC0))
-20
-select hex(weight_string(cast(_latin1 0x808080 as char), 2, 4, 0xC0));
-hex(weight_string(cast(_latin1 0x808080 as char), 2, 4, 0xC0))
-20AC
-select hex(weight_string(cast(_latin1 0x808080 as char), 3, 4, 0xC0));
-hex(weight_string(cast(_latin1 0x808080 as char), 3, 4, 0xC0))
-20AC20
-select hex(weight_string(cast(_latin1 0x808080 as char), 4, 4, 0xC0));
-hex(weight_string(cast(_latin1 0x808080 as char), 4, 4, 0xC0))
-20AC20AC
-select hex(weight_string(cast(_latin1 0x808080 as char), 5, 4, 0xC0));
-hex(weight_string(cast(_latin1 0x808080 as char), 5, 4, 0xC0))
-20AC20AC20
-select hex(weight_string(cast(_latin1 0x808080 as char),25, 4, 0xC0));
-hex(weight_string(cast(_latin1 0x808080 as char),25, 4, 0xC0))
-20AC20AC20AC00200020002000200020002000200020002000
-select hex(weight_string(_utf32 0x10000));
-hex(weight_string(_utf32 0x10000))
-FFFD
-select hex(weight_string(_utf32 0x10001));
-hex(weight_string(_utf32 0x10001))
-FFFD
-select @@collation_connection;
-@@collation_connection
-utf32_general_ci
-select hex(weight_string('a' LEVEL 1));
-hex(weight_string('a' LEVEL 1))
-0041
-select hex(weight_string('A' LEVEL 1));
-hex(weight_string('A' LEVEL 1))
-0041
-select hex(weight_string('abc' LEVEL 1));
-hex(weight_string('abc' LEVEL 1))
-004100420043
-select hex(weight_string('abc' as char(2) LEVEL 1));
-hex(weight_string('abc' as char(2) LEVEL 1))
-00410042
-select hex(weight_string('abc' as char(3) LEVEL 1));
-hex(weight_string('abc' as char(3) LEVEL 1))
-004100420043
-select hex(weight_string('abc' as char(5) LEVEL 1));
-hex(weight_string('abc' as char(5) LEVEL 1))
-00410042004300200020
-select hex(weight_string('abc' as char(5) LEVEL 1 REVERSE));
-hex(weight_string('abc' as char(5) LEVEL 1 REVERSE))
-20002000430042004100
-select hex(weight_string('abc' as char(5) LEVEL 1 DESC));
-hex(weight_string('abc' as char(5) LEVEL 1 DESC))
-FFBEFFBDFFBCFFDFFFDF
-select hex(weight_string('abc' as char(5) LEVEL 1 DESC REVERSE));
-hex(weight_string('abc' as char(5) LEVEL 1 DESC REVERSE))
-DFFFDFFFBCFFBDFFBEFF
-set collation_connection=utf32_bin;
-select @@collation_connection;
-@@collation_connection
-utf32_bin
-select hex(weight_string('a'));
-hex(weight_string('a'))
-0061
-select hex(weight_string('A'));
-hex(weight_string('A'))
-0041
-select hex(weight_string('abc'));
-hex(weight_string('abc'))
-006100620063
-select hex(weight_string('abc' as char(2)));
-hex(weight_string('abc' as char(2)))
-00610062
-select hex(weight_string('abc' as char(3)));
-hex(weight_string('abc' as char(3)))
-006100620063
-select hex(weight_string('abc' as char(5)));
-hex(weight_string('abc' as char(5)))
-00610062006300200020
-select hex(weight_string('abc', 1, 2, 0xC0));
-hex(weight_string('abc', 1, 2, 0xC0))
-00
-select hex(weight_string('abc', 2, 2, 0xC0));
-hex(weight_string('abc', 2, 2, 0xC0))
-0061
-select hex(weight_string('abc', 3, 2, 0xC0));
-hex(weight_string('abc', 3, 2, 0xC0))
-006100
-select hex(weight_string('abc', 4, 2, 0xC0));
-hex(weight_string('abc', 4, 2, 0xC0))
-00610062
-select hex(weight_string('abc', 5, 2, 0xC0));
-hex(weight_string('abc', 5, 2, 0xC0))
-0061006200
-select hex(weight_string('abc',25, 2, 0xC0));
-hex(weight_string('abc',25, 2, 0xC0))
-00610062002000200020002000200020002000200020002000
-select hex(weight_string('abc', 1, 3, 0xC0));
-hex(weight_string('abc', 1, 3, 0xC0))
-00
-select hex(weight_string('abc', 2, 3, 0xC0));
-hex(weight_string('abc', 2, 3, 0xC0))
-0061
-select hex(weight_string('abc', 3, 3, 0xC0));
-hex(weight_string('abc', 3, 3, 0xC0))
-006100
-select hex(weight_string('abc', 4, 3, 0xC0));
-hex(weight_string('abc', 4, 3, 0xC0))
-00610062
-select hex(weight_string('abc', 5, 3, 0xC0));
-hex(weight_string('abc', 5, 3, 0xC0))
-0061006200
-select hex(weight_string('abc',25, 3, 0xC0));
-hex(weight_string('abc',25, 3, 0xC0))
-00610062006300200020002000200020002000200020002000
-select hex(weight_string('abc', 1, 4, 0xC0));
-hex(weight_string('abc', 1, 4, 0xC0))
-00
-select hex(weight_string('abc', 2, 4, 0xC0));
-hex(weight_string('abc', 2, 4, 0xC0))
-0061
-select hex(weight_string('abc', 3, 4, 0xC0));
-hex(weight_string('abc', 3, 4, 0xC0))
-006100
-select hex(weight_string('abc', 4, 4, 0xC0));
-hex(weight_string('abc', 4, 4, 0xC0))
-00610062
-select hex(weight_string('abc', 5, 4, 0xC0));
-hex(weight_string('abc', 5, 4, 0xC0))
-0061006200
-select hex(weight_string('abc',25, 4, 0xC0));
-hex(weight_string('abc',25, 4, 0xC0))
-00610062006300200020002000200020002000200020002000
-select @@collation_connection;
-@@collation_connection
-utf32_bin
-select hex(weight_string(cast(_latin1 0x80 as char)));
-hex(weight_string(cast(_latin1 0x80 as char)))
-20AC
-select hex(weight_string(cast(_latin1 0x808080 as char)));
-hex(weight_string(cast(_latin1 0x808080 as char)))
-20AC20AC20AC
-select hex(weight_string(cast(_latin1 0x808080 as char) as char(2)));
-hex(weight_string(cast(_latin1 0x808080 as char) as char(2)))
-20AC20AC
-select hex(weight_string(cast(_latin1 0x808080 as char) as char(3)));
-hex(weight_string(cast(_latin1 0x808080 as char) as char(3)))
-20AC20AC20AC
-select hex(weight_string(cast(_latin1 0x808080 as char) as char(5)));
-hex(weight_string(cast(_latin1 0x808080 as char) as char(5)))
-20AC20AC20AC00200020
-select hex(weight_string(cast(_latin1 0x808080 as char), 1, 2, 0xC0));
-hex(weight_string(cast(_latin1 0x808080 as char), 1, 2, 0xC0))
-20
-select hex(weight_string(cast(_latin1 0x808080 as char), 2, 2, 0xC0));
-hex(weight_string(cast(_latin1 0x808080 as char), 2, 2, 0xC0))
-20AC
-select hex(weight_string(cast(_latin1 0x808080 as char), 3, 2, 0xC0));
-hex(weight_string(cast(_latin1 0x808080 as char), 3, 2, 0xC0))
-20AC20
-select hex(weight_string(cast(_latin1 0x808080 as char), 4, 2, 0xC0));
-hex(weight_string(cast(_latin1 0x808080 as char), 4, 2, 0xC0))
-20AC20AC
-select hex(weight_string(cast(_latin1 0x808080 as char), 5, 2, 0xC0));
-hex(weight_string(cast(_latin1 0x808080 as char), 5, 2, 0xC0))
-20AC20AC00
-select hex(weight_string(cast(_latin1 0x808080 as char),25, 2, 0xC0));
-hex(weight_string(cast(_latin1 0x808080 as char),25, 2, 0xC0))
-20AC20AC002000200020002000200020002000200020002000
-select hex(weight_string(cast(_latin1 0x808080 as char), 1, 3, 0xC0));
-hex(weight_string(cast(_latin1 0x808080 as char), 1, 3, 0xC0))
-20
-select hex(weight_string(cast(_latin1 0x808080 as char), 2, 3, 0xC0));
-hex(weight_string(cast(_latin1 0x808080 as char), 2, 3, 0xC0))
-20AC
-select hex(weight_string(cast(_latin1 0x808080 as char), 3, 3, 0xC0));
-hex(weight_string(cast(_latin1 0x808080 as char), 3, 3, 0xC0))
-20AC20
-select hex(weight_string(cast(_latin1 0x808080 as char), 4, 3, 0xC0));
-hex(weight_string(cast(_latin1 0x808080 as char), 4, 3, 0xC0))
-20AC20AC
-select hex(weight_string(cast(_latin1 0x808080 as char), 5, 3, 0xC0));
-hex(weight_string(cast(_latin1 0x808080 as char), 5, 3, 0xC0))
-20AC20AC20
-select hex(weight_string(cast(_latin1 0x808080 as char),25, 3, 0xC0));
-hex(weight_string(cast(_latin1 0x808080 as char),25, 3, 0xC0))
-20AC20AC20AC00200020002000200020002000200020002000
-select hex(weight_string(cast(_latin1 0x808080 as char), 1, 4, 0xC0));
-hex(weight_string(cast(_latin1 0x808080 as char), 1, 4, 0xC0))
-20
-select hex(weight_string(cast(_latin1 0x808080 as char), 2, 4, 0xC0));
-hex(weight_string(cast(_latin1 0x808080 as char), 2, 4, 0xC0))
-20AC
-select hex(weight_string(cast(_latin1 0x808080 as char), 3, 4, 0xC0));
-hex(weight_string(cast(_latin1 0x808080 as char), 3, 4, 0xC0))
-20AC20
-select hex(weight_string(cast(_latin1 0x808080 as char), 4, 4, 0xC0));
-hex(weight_string(cast(_latin1 0x808080 as char), 4, 4, 0xC0))
-20AC20AC
-select hex(weight_string(cast(_latin1 0x808080 as char), 5, 4, 0xC0));
-hex(weight_string(cast(_latin1 0x808080 as char), 5, 4, 0xC0))
-20AC20AC20
-select hex(weight_string(cast(_latin1 0x808080 as char),25, 4, 0xC0));
-hex(weight_string(cast(_latin1 0x808080 as char),25, 4, 0xC0))
-20AC20AC20AC00200020002000200020002000200020002000
-select @@collation_connection;
-@@collation_connection
-utf32_bin
-select hex(weight_string('a' LEVEL 1));
-hex(weight_string('a' LEVEL 1))
-0061
-select hex(weight_string('A' LEVEL 1));
-hex(weight_string('A' LEVEL 1))
-0041
-select hex(weight_string('abc' LEVEL 1));
-hex(weight_string('abc' LEVEL 1))
-006100620063
-select hex(weight_string('abc' as char(2) LEVEL 1));
-hex(weight_string('abc' as char(2) LEVEL 1))
-00610062
-select hex(weight_string('abc' as char(3) LEVEL 1));
-hex(weight_string('abc' as char(3) LEVEL 1))
-006100620063
-select hex(weight_string('abc' as char(5) LEVEL 1));
-hex(weight_string('abc' as char(5) LEVEL 1))
-00610062006300200020
-select hex(weight_string('abc' as char(5) LEVEL 1 REVERSE));
-hex(weight_string('abc' as char(5) LEVEL 1 REVERSE))
-20002000630062006100
-select hex(weight_string('abc' as char(5) LEVEL 1 DESC));
-hex(weight_string('abc' as char(5) LEVEL 1 DESC))
-FF9EFF9DFF9CFFDFFFDF
-select hex(weight_string('abc' as char(5) LEVEL 1 DESC REVERSE));
-hex(weight_string('abc' as char(5) LEVEL 1 DESC REVERSE))
-DFFFDFFF9CFF9DFF9EFF
-set names latin1;
-set collation_connection=utf32_general_ci;
-select position('bb' in 'abba');
-position('bb' in 'abba')
-2
-create table t1 (a varchar(10) character set utf32) engine=heap;
-insert into t1 values ('a'),('A'),('b'),('B');
-select * from t1 where a='a' order by binary a;
-a
-A
-a
-select hex(min(binary a)),count(*) from t1 group by a;
-hex(min(binary a)) count(*)
-00000041 2
-00000042 2
-drop table t1;
-select char_length('abcd'), octet_length('abcd');
-char_length('abcd') octet_length('abcd')
-4 16
-select left('abcd',2);
-left('abcd',2)
-ab
-create table t1 (a varchar(10) character set utf32);
-insert into t1 values (_utf32 0x0010FFFF);
-insert into t1 values (_utf32 0x00110000);
-ERROR HY000: Invalid utf32 character string: '001100'
-insert into t1 values (_utf32 0x00110101);
-ERROR HY000: Invalid utf32 character string: '001101'
-insert into t1 values (_utf32 0x01000101);
-ERROR HY000: Invalid utf32 character string: '010001'
-insert into t1 values (_utf32 0x11000101);
-ERROR HY000: Invalid utf32 character string: '110001'
-select hex(a) from t1;
-hex(a)
-0010FFFF
-drop table t1;
-create table t1 (utf32 varchar(2) character set utf32);
-Wrong character with pad
-insert into t1 values (0x110000);
-Warnings:
-Warning 1366 Incorrect string value: '\x11\x00\x00' for column 'utf32' at row 1
-Wrong chsaracter without pad
-insert into t1 values (0x00110000);
-Warnings:
-Warning 1366 Incorrect string value: '\x00\x11\x00\x00' for column 'utf32' at row 1
-Wrong character with pad followed by another wrong character
-insert into t1 values (0x11000000110000);
-Warnings:
-Warning 1366 Incorrect string value: '\x11\x00\x00\x00\x11\x00...' for column 'utf32' at row 1
-Good character with pad followed by bad character
-insert into t1 values (0x10000000110000);
-Warnings:
-Warning 1366 Incorrect string value: '\x00\x11\x00\x00' for column 'utf32' at row 1
-Good character without pad followed by bad character
-insert into t1 values (0x0010000000110000);
-Warnings:
-Warning 1366 Incorrect string value: '\x00\x11\x00\x00' for column 'utf32' at row 1
-Wrong character with the second byte higher than 0x10
-insert into t1 values (0x00800037);
-Warnings:
-Warning 1366 Incorrect string value: '\x00\x80\x007' for column 'utf32' at row 1
-Wrong character with pad with the second byte higher than 0x10
-insert into t1 values (0x00800037);
-Warnings:
-Warning 1366 Incorrect string value: '\x00\x80\x007' for column 'utf32' at row 1
-drop table t1;
-select _utf32'a' collate utf32_general_ci = 0xfffd;
-_utf32'a' collate utf32_general_ci = 0xfffd
-0
-select hex(concat(_utf32 0x0410 collate utf32_general_ci, 0x61));
-hex(concat(_utf32 0x0410 collate utf32_general_ci, 0x61))
-0000041000000061
-create table t1 (s1 varchar(5) character set utf32);
-insert into t1 values (0xfffd);
-select case when s1 = 0xfffd then 1 else 0 end from t1;
-case when s1 = 0xfffd then 1 else 0 end
-1
-select hex(s1) from t1 where s1 = 0xfffd;
-hex(s1)
-0000FFFD
-drop table t1;
-create table t1 (a char(10)) character set utf32;
-insert into t1 values ('a ');
-select hex(a) from t1;
-hex(a)
-00000061
-drop table t1;
-select upper('abcd'), lower('ABCD');
-upper('abcd') lower('ABCD')
-ABCD abcd
-create table t1 (a varchar(10) character set utf32);
-insert into t1 values (123456);
-select a, hex(a) from t1;
-a hex(a)
-123456 000000310000003200000033000000340000003500000036
-drop table t1;
-select hex(soundex('a'));
-hex(soundex('a'))
-00000041000000300000003000000030
-create table t1 (a enum ('a','b','c')) character set utf32;
-insert into t1 values ('1');
-select * from t1;
-a
-a
-drop table t1;
-set names latin1;
-select hex(conv(convert('123' using utf32), -10, 16));
-hex(conv(convert('123' using utf32), -10, 16))
-3742
-select hex(conv(convert('123' using utf32), 10, 16));
-hex(conv(convert('123' using utf32), 10, 16))
-3742
-set names latin1;
-set character_set_connection=utf32;
-select 1.1 + '1.2';
-1.1 + '1.2'
-2.3
-select 1.1 + '1.2xxx';
-1.1 + '1.2xxx'
-2.3
-Warnings:
-Warning 1292 Truncated incorrect DOUBLE value: ''
-select left('aaa','1');
-left('aaa','1')
-a
-create table t1 (a int);
-insert into t1 values ('-1234.1e2');
-insert into t1 values ('-1234.1e2xxxx');
-Warnings:
-Warning 1265 Data truncated for column 'a' at row 1
-insert into t1 values ('-1234.1e2 ');
-select * from t1;
-a
--123410
--123410
--123410
-drop table t1;
-create table t1 (a int);
-insert into t1 values ('1 ');
-insert into t1 values ('1 x');
-Warnings:
-Warning 1265 Data truncated for column 'a' at row 1
-select * from t1;
-a
-1
-1
-drop table t1;
-create table t1 (a varchar(17000) character set utf32);
-Warnings:
-Note 1246 Converting column 'a' from VARCHAR to TEXT
-show create table t1;
-Table Create Table
-t1 CREATE TABLE `t1` (
- `a` mediumtext CHARACTER SET utf32
-) ENGINE=MyISAM DEFAULT CHARSET=latin1
-drop table t1;
-create table t1 (a varchar(250) character set utf32 primary key);
-show create table t1;
-Table Create Table
-t1 CREATE TABLE `t1` (
- `a` varchar(250) CHARACTER SET utf32 NOT NULL,
- PRIMARY KEY (`a`)
-) ENGINE=MyISAM DEFAULT CHARSET=latin1
-drop table t1;
-create table t1 (a varchar(334) character set utf32 primary key);
-ERROR 42000: Specified key was too long; max key length is 1332 bytes
-create table t1 (a varchar(333) character set utf32, key(a));
-insert into t1 values (repeat('a',333)), (repeat('b',333));
-flush tables;
-check table t1;
-Table Op Msg_type Msg_text
-test.t1 check status OK
-drop table t1;
-SET collation_connection=utf32_general_ci;
-CREATE TABLE t1 AS SELECT repeat('a',20) AS s1 LIMIT 0;
-SET timestamp=1216359724;
-INSERT INTO t1 VALUES (current_date);
-INSERT INTO t1 VALUES (current_time);
-INSERT INTO t1 VALUES (current_timestamp);
-SELECT s1, hex(s1) FROM t1;
-s1 hex(s1)
-2008-07-18 000000320000003000000030000000380000002D00000030000000370000002D0000003100000038
-08:42:04 00000030000000380000003A00000034000000320000003A0000003000000034
-2008-07-18 08:42:04 000000320000003000000030000000380000002D00000030000000370000002D00000031000000380000002000000030000000380000003A00000034000000320000003A0000003000000034
-DROP TABLE t1;
-SET timestamp=0;
-SET NAMES latin1;
-set collation_connection=utf32_general_ci;
-drop table if exists t1;
-create table t1 as
-select repeat(' ', 64) as s1, repeat(' ',64) as s2
-union
-select null, null;
-show create table t1;
-Table Create Table
-t1 CREATE TABLE `t1` (
- `s1` varchar(64) CHARACTER SET utf32 DEFAULT NULL,
- `s2` varchar(64) CHARACTER SET utf32 DEFAULT NULL
-) ENGINE=MyISAM DEFAULT CHARSET=latin1
-delete from t1;
-insert into t1 values('aaa','aaa');
-insert into t1 values('aaa|qqq','qqq');
-insert into t1 values('gheis','^[^a-dXYZ]+$');
-insert into t1 values('aab','^aa?b');
-insert into t1 values('Baaan','^Ba*n');
-insert into t1 values('aaa','qqq|aaa');
-insert into t1 values('qqq','qqq|aaa');
-insert into t1 values('bbb','qqq|aaa');
-insert into t1 values('bbb','qqq');
-insert into t1 values('aaa','aba');
-insert into t1 values(null,'abc');
-insert into t1 values('def',null);
-insert into t1 values(null,null);
-insert into t1 values('ghi','ghi[');
-select HIGH_PRIORITY s1 regexp s2 from t1;
-s1 regexp s2
-1
-1
-1
-1
-1
-1
-1
-0
-0
-0
-NULL
-NULL
-NULL
-NULL
-drop table t1;
-set names latin1;
-select hex(char(0x01 using utf32));
-hex(char(0x01 using utf32))
-00000001
-select hex(char(0x0102 using utf32));
-hex(char(0x0102 using utf32))
-00000102
-select hex(char(0x010203 using utf32));
-hex(char(0x010203 using utf32))
-00010203
-select hex(char(0x01020304 using utf32));
-hex(char(0x01020304 using utf32))
-
-Warnings:
-Warning 1300 Invalid utf32 character string: '010203'
-create table t1 (s1 varchar(1) character set utf32, s2 text character set utf32);
-create index i on t1 (s1);
-insert into t1 values (char(256 using utf32), char(256 using utf32));
-select hex(s1), hex(s2) from t1;
-hex(s1) hex(s2)
-00000100 00000100
-drop table t1;
-SET collation_connection=utf32_general_ci;
-CREATE TABLE t1 AS SELECT repeat('a',2) as s1 LIMIT 0;
-SHOW CREATE TABLE t1;
-Table Create Table
-t1 CREATE TABLE `t1` (
- `s1` varchar(2) CHARACTER SET utf32 NOT NULL DEFAULT ''
-) ENGINE=MyISAM DEFAULT CHARSET=latin1
-INSERT INTO t1 VALUES ('ab'),('AE'),('ab'),('AE');
-SELECT * FROM t1 ORDER BY s1;
-s1
-ab
-ab
-AE
-AE
-SET max_sort_length=4;
-SELECT * FROM t1 ORDER BY s1;
-s1
-ab
-ab
-AE
-AE
-SELECT hex(weight_string(s1, 4, 2, 0)) FROM t1 ORDER BY s1;
-hex(weight_string(s1, 4, 2, 0))
-00410042
-00410042
-00410045
-00410045
-DROP TABLE t1;
-SET max_sort_length=DEFAULT;
-SET NAMES latin1;
-drop table if exists t1;
-Warnings:
-Note 1051 Unknown table 't1'
-create table t1 (s1 char(5) character set utf32);
-insert into t1 values ('a');
-insert into t1 select concat(s1, 1) from t1;
-select hex(s1) from t1;
-hex(s1)
-00000061
-0000006100000031
-drop table t1;
-drop table if exists t1;
-Warnings:
-Note 1051 Unknown table 't1'
-create table t1 (s1 char(5) character set utf32);
-insert into t1 values ('a');
-insert into t1 select concat(s1, 0.1) from t1;
-Warnings:
-Warning 1366 Incorrect string value: '\x00\x30\x2E\x31' for column 's1' at row 1
-select hex(s1) from t1;
-hex(s1)
-00000061
-00000061
-drop table t1;
-drop table if exists t1;
-Warnings:
-Note 1051 Unknown table 't1'
-create table t1 (s1 char(5) character set utf32);
-insert into t1 values ('a');
-insert into t1 select concat(s1, 1e-1) from t1;
-Warnings:
-Warning 1366 Incorrect string value: '\x00\x30\x2E\x31' for column 's1' at row 1
-select hex(s1) from t1;
-hex(s1)
-00000061
-00000061
-drop table t1;
=== removed file 'mysql-test/r/ctype_utf32_uca.result'
--- a/mysql-test/r/ctype_utf32_uca.result 2008-07-23 09:43:50 +0000
+++ b/mysql-test/r/ctype_utf32_uca.result 1970-01-01 00:00:00 +0000
@@ -1,2702 +0,0 @@
-DROP TABLE IF EXISTS t1;
-set names utf8;
-set collation_connection=utf32_unicode_ci;
-select hex('a'), hex('a ');
-hex('a') hex('a ')
-00000061 0000006100000020
-select 'a' = 'a', 'a' = 'a ', 'a ' = 'a';
-'a' = 'a' 'a' = 'a ' 'a ' = 'a'
-1 1 1
-select 'a\0' = 'a', 'a\0' < 'a', 'a\0' > 'a';
-'a\0' = 'a' 'a\0' < 'a' 'a\0' > 'a'
-1 0 0
-select 'a' = 'a\0', 'a' < 'a\0', 'a' > 'a\0';
-'a' = 'a\0' 'a' < 'a\0' 'a' > 'a\0'
-1 0 0
-select 'a\0' = 'a ', 'a\0' < 'a ', 'a\0' > 'a ';
-'a\0' = 'a ' 'a\0' < 'a ' 'a\0' > 'a '
-1 0 0
-select 'a ' = 'a\0', 'a ' < 'a\0', 'a ' > 'a\0';
-'a ' = 'a\0' 'a ' < 'a\0' 'a ' > 'a\0'
-1 0 0
-select 'a a' > 'a', 'a \0' < 'a';
-'a a' > 'a' 'a \0' < 'a'
-1 0
-select binary 'a a' > 'a', binary 'a \0' > 'a', binary 'a\0' > 'a';
-binary 'a a' > 'a' binary 'a \0' > 'a' binary 'a\0' > 'a'
-1 1 1
-select 'c' like '\_' as want0;
-want0
-0
-CREATE TABLE t (
-c char(20) NOT NULL
-) ENGINE=MyISAM DEFAULT CHARACTER SET utf32 COLLATE=utf32_unicode_ci;
-INSERT INTO t VALUES ('a'),('ab'),('aba');
-ALTER TABLE t ADD INDEX (c);
-SELECT c FROM t WHERE c LIKE 'a%';
-c
-a
-ab
-aba
-DROP TABLE t;
-create table t1 (c1 char(10) character set utf32 collate utf32_bin);
-insert into t1 values ('A'),('a');
-insert into t1 values ('B'),('b');
-insert into t1 values ('C'),('c');
-insert into t1 values ('D'),('d');
-insert into t1 values ('E'),('e');
-insert into t1 values ('F'),('f');
-insert into t1 values ('G'),('g');
-insert into t1 values ('H'),('h');
-insert into t1 values ('I'),('i');
-insert into t1 values ('J'),('j');
-insert into t1 values ('K'),('k');
-insert into t1 values ('L'),('l');
-insert into t1 values ('M'),('m');
-insert into t1 values ('N'),('n');
-insert into t1 values ('O'),('o');
-insert into t1 values ('P'),('p');
-insert into t1 values ('Q'),('q');
-insert into t1 values ('R'),('r');
-insert into t1 values ('S'),('s');
-insert into t1 values ('T'),('t');
-insert into t1 values ('U'),('u');
-insert into t1 values ('V'),('v');
-insert into t1 values ('W'),('w');
-insert into t1 values ('X'),('x');
-insert into t1 values ('Y'),('y');
-insert into t1 values ('Z'),('z');
-insert into t1 values (_ucs2 0x00e0),(_ucs2 0x00c0);
-insert into t1 values (_ucs2 0x00e1),(_ucs2 0x00c1);
-insert into t1 values (_ucs2 0x00e2),(_ucs2 0x00c2);
-insert into t1 values (_ucs2 0x00e3),(_ucs2 0x00c3);
-insert into t1 values (_ucs2 0x00e4),(_ucs2 0x00c4);
-insert into t1 values (_ucs2 0x00e5),(_ucs2 0x00c5);
-insert into t1 values (_ucs2 0x00e6),(_ucs2 0x00c6);
-insert into t1 values (_ucs2 0x00e7),(_ucs2 0x00c7);
-insert into t1 values (_ucs2 0x00e8),(_ucs2 0x00c8);
-insert into t1 values (_ucs2 0x00e9),(_ucs2 0x00c9);
-insert into t1 values (_ucs2 0x00ea),(_ucs2 0x00ca);
-insert into t1 values (_ucs2 0x00eb),(_ucs2 0x00cb);
-insert into t1 values (_ucs2 0x00ec),(_ucs2 0x00cc);
-insert into t1 values (_ucs2 0x00ed),(_ucs2 0x00cd);
-insert into t1 values (_ucs2 0x00ee),(_ucs2 0x00ce);
-insert into t1 values (_ucs2 0x00ef),(_ucs2 0x00cf);
-insert into t1 values (_ucs2 0x00f0),(_ucs2 0x00d0);
-insert into t1 values (_ucs2 0x00f1),(_ucs2 0x00d1);
-insert into t1 values (_ucs2 0x00f2),(_ucs2 0x00d2);
-insert into t1 values (_ucs2 0x00f3),(_ucs2 0x00d3);
-insert into t1 values (_ucs2 0x00f4),(_ucs2 0x00d4);
-insert into t1 values (_ucs2 0x00f5),(_ucs2 0x00d5);
-insert into t1 values (_ucs2 0x00f6),(_ucs2 0x00d6);
-insert into t1 values (_ucs2 0x00f7),(_ucs2 0x00d7);
-insert into t1 values (_ucs2 0x00f8),(_ucs2 0x00d8);
-insert into t1 values (_ucs2 0x00f9),(_ucs2 0x00d9);
-insert into t1 values (_ucs2 0x00fa),(_ucs2 0x00da);
-insert into t1 values (_ucs2 0x00fb),(_ucs2 0x00db);
-insert into t1 values (_ucs2 0x00fc),(_ucs2 0x00dc);
-insert into t1 values (_ucs2 0x00fd),(_ucs2 0x00dd);
-insert into t1 values (_ucs2 0x00fe),(_ucs2 0x00de);
-insert into t1 values (_ucs2 0x00ff),(_ucs2 0x00df);
-insert into t1 values (_ucs2 0x0100),(_ucs2 0x0101),(_ucs2 0x0102),(_ucs2 0x0103);
-insert into t1 values (_ucs2 0x0104),(_ucs2 0x0105),(_ucs2 0x0106),(_ucs2 0x0107);
-insert into t1 values (_ucs2 0x0108),(_ucs2 0x0109),(_ucs2 0x010a),(_ucs2 0x010b);
-insert into t1 values (_ucs2 0x010c),(_ucs2 0x010d),(_ucs2 0x010e),(_ucs2 0x010f);
-insert into t1 values (_ucs2 0x0110),(_ucs2 0x0111),(_ucs2 0x0112),(_ucs2 0x0113);
-insert into t1 values (_ucs2 0x0114),(_ucs2 0x0115),(_ucs2 0x0116),(_ucs2 0x0117);
-insert into t1 values (_ucs2 0x0118),(_ucs2 0x0119),(_ucs2 0x011a),(_ucs2 0x011b);
-insert into t1 values (_ucs2 0x011c),(_ucs2 0x011d),(_ucs2 0x011e),(_ucs2 0x011f);
-insert into t1 values (_ucs2 0x0120),(_ucs2 0x0121),(_ucs2 0x0122),(_ucs2 0x0123);
-insert into t1 values (_ucs2 0x0124),(_ucs2 0x0125),(_ucs2 0x0126),(_ucs2 0x0127);
-insert into t1 values (_ucs2 0x0128),(_ucs2 0x0129),(_ucs2 0x012a),(_ucs2 0x012b);
-insert into t1 values (_ucs2 0x012c),(_ucs2 0x012d),(_ucs2 0x012e),(_ucs2 0x012f);
-insert into t1 values (_ucs2 0x0130),(_ucs2 0x0131),(_ucs2 0x0132),(_ucs2 0x0133);
-insert into t1 values (_ucs2 0x0134),(_ucs2 0x0135),(_ucs2 0x0136),(_ucs2 0x0137);
-insert into t1 values (_ucs2 0x0138),(_ucs2 0x0139),(_ucs2 0x013a),(_ucs2 0x013b);
-insert into t1 values (_ucs2 0x013c),(_ucs2 0x013d),(_ucs2 0x013e),(_ucs2 0x013f);
-insert into t1 values (_ucs2 0x0140),(_ucs2 0x0141),(_ucs2 0x0142),(_ucs2 0x0143);
-insert into t1 values (_ucs2 0x0144),(_ucs2 0x0145),(_ucs2 0x0146),(_ucs2 0x0147);
-insert into t1 values (_ucs2 0x0148),(_ucs2 0x0149),(_ucs2 0x014a),(_ucs2 0x014b);
-insert into t1 values (_ucs2 0x014c),(_ucs2 0x014d),(_ucs2 0x014e),(_ucs2 0x014f);
-insert into t1 values (_ucs2 0x0150),(_ucs2 0x0151),(_ucs2 0x0152),(_ucs2 0x0153);
-insert into t1 values (_ucs2 0x0154),(_ucs2 0x0155),(_ucs2 0x0156),(_ucs2 0x0157);
-insert into t1 values (_ucs2 0x0158),(_ucs2 0x0159),(_ucs2 0x015a),(_ucs2 0x015b);
-insert into t1 values (_ucs2 0x015c),(_ucs2 0x015d),(_ucs2 0x015e),(_ucs2 0x015f);
-insert into t1 values (_ucs2 0x0160),(_ucs2 0x0161),(_ucs2 0x0162),(_ucs2 0x0163);
-insert into t1 values (_ucs2 0x0164),(_ucs2 0x0165),(_ucs2 0x0166),(_ucs2 0x0167);
-insert into t1 values (_ucs2 0x0168),(_ucs2 0x0169),(_ucs2 0x016a),(_ucs2 0x016b);
-insert into t1 values (_ucs2 0x016c),(_ucs2 0x016d),(_ucs2 0x016e),(_ucs2 0x016f);
-insert into t1 values (_ucs2 0x0170),(_ucs2 0x0171),(_ucs2 0x0172),(_ucs2 0x0173);
-insert into t1 values (_ucs2 0x0174),(_ucs2 0x0175),(_ucs2 0x0176),(_ucs2 0x0177);
-insert into t1 values (_ucs2 0x0178),(_ucs2 0x0179),(_ucs2 0x017a),(_ucs2 0x017b);
-insert into t1 values (_ucs2 0x017c),(_ucs2 0x017d),(_ucs2 0x017e),(_ucs2 0x017f);
-insert into t1 values (_ucs2 0x0180),(_ucs2 0x0181),(_ucs2 0x0182),(_ucs2 0x0183);
-insert into t1 values (_ucs2 0x0184),(_ucs2 0x0185),(_ucs2 0x0186),(_ucs2 0x0187);
-insert into t1 values (_ucs2 0x0188),(_ucs2 0x0189),(_ucs2 0x018a),(_ucs2 0x018b);
-insert into t1 values (_ucs2 0x018c),(_ucs2 0x018d),(_ucs2 0x018e),(_ucs2 0x018f);
-insert into t1 values (_ucs2 0x0190),(_ucs2 0x0191),(_ucs2 0x0192),(_ucs2 0x0193);
-insert into t1 values (_ucs2 0x0194),(_ucs2 0x0195),(_ucs2 0x0196),(_ucs2 0x0197);
-insert into t1 values (_ucs2 0x0198),(_ucs2 0x0199),(_ucs2 0x019a),(_ucs2 0x019b);
-insert into t1 values (_ucs2 0x019c),(_ucs2 0x019d),(_ucs2 0x019e),(_ucs2 0x019f);
-insert into t1 values (_ucs2 0x01a0),(_ucs2 0x01a1),(_ucs2 0x01a2),(_ucs2 0x01a3);
-insert into t1 values (_ucs2 0x01a4),(_ucs2 0x01a5),(_ucs2 0x01a6),(_ucs2 0x01a7);
-insert into t1 values (_ucs2 0x01a8),(_ucs2 0x01a9),(_ucs2 0x01aa),(_ucs2 0x01ab);
-insert into t1 values (_ucs2 0x01ac),(_ucs2 0x01ad),(_ucs2 0x01ae),(_ucs2 0x01af);
-insert into t1 values (_ucs2 0x01b0),(_ucs2 0x01b1),(_ucs2 0x01b2),(_ucs2 0x01b3);
-insert into t1 values (_ucs2 0x01b4),(_ucs2 0x01b5),(_ucs2 0x01b6),(_ucs2 0x01b7);
-insert into t1 values (_ucs2 0x01b8),(_ucs2 0x01b9),(_ucs2 0x01ba),(_ucs2 0x01bb);
-insert into t1 values (_ucs2 0x01bc),(_ucs2 0x01bd),(_ucs2 0x01be),(_ucs2 0x01bf);
-insert into t1 values (_ucs2 0x01c0),(_ucs2 0x01c1),(_ucs2 0x01c2),(_ucs2 0x01c3);
-insert into t1 values (_ucs2 0x01c4),(_ucs2 0x01c5),(_ucs2 0x01c6),(_ucs2 0x01c7);
-insert into t1 values (_ucs2 0x01c8),(_ucs2 0x01c9),(_ucs2 0x01ca),(_ucs2 0x01cb);
-insert into t1 values (_ucs2 0x01cc),(_ucs2 0x01cd),(_ucs2 0x01ce),(_ucs2 0x01cf);
-insert into t1 values (_ucs2 0x01d0),(_ucs2 0x01d1),(_ucs2 0x01d2),(_ucs2 0x01d3);
-insert into t1 values (_ucs2 0x01d4),(_ucs2 0x01d5),(_ucs2 0x01d6),(_ucs2 0x01d7);
-insert into t1 values (_ucs2 0x01d8),(_ucs2 0x01d9),(_ucs2 0x01da),(_ucs2 0x01db);
-insert into t1 values (_ucs2 0x01dc),(_ucs2 0x01dd),(_ucs2 0x01de),(_ucs2 0x01df);
-insert into t1 values (_ucs2 0x01e0),(_ucs2 0x01e1),(_ucs2 0x01e2),(_ucs2 0x01e3);
-insert into t1 values (_ucs2 0x01e4),(_ucs2 0x01e5),(_ucs2 0x01e6),(_ucs2 0x01e7);
-insert into t1 values (_ucs2 0x01e8),(_ucs2 0x01e9),(_ucs2 0x01ea),(_ucs2 0x01eb);
-insert into t1 values (_ucs2 0x01ec),(_ucs2 0x01ed),(_ucs2 0x01ee),(_ucs2 0x01ef);
-insert into t1 values (_ucs2 0x01f0),(_ucs2 0x01f1),(_ucs2 0x01f2),(_ucs2 0x01f3);
-insert into t1 values (_ucs2 0x01f4),(_ucs2 0x01f5),(_ucs2 0x01f6),(_ucs2 0x01f7);
-insert into t1 values (_ucs2 0x01f8),(_ucs2 0x01f9),(_ucs2 0x01fa),(_ucs2 0x01fb);
-insert into t1 values (_ucs2 0x01fc),(_ucs2 0x01fd),(_ucs2 0x01fe),(_ucs2 0x01ff);
-insert into t1 values ('AA'),('Aa'),('aa'),('aA');
-insert into t1 values ('CH'),('Ch'),('ch'),('cH');
-insert into t1 values ('DZ'),('Dz'),('dz'),('dZ');
-insert into t1 values ('IJ'),('Ij'),('ij'),('iJ');
-insert into t1 values ('LJ'),('Lj'),('lj'),('lJ');
-insert into t1 values ('LL'),('Ll'),('ll'),('lL');
-insert into t1 values ('NJ'),('Nj'),('nj'),('nJ');
-insert into t1 values ('OE'),('Oe'),('oe'),('oE');
-insert into t1 values ('SS'),('Ss'),('ss'),('sS');
-insert into t1 values ('RR'),('Rr'),('rr'),('rR');
-select group_concat(c1 order by binary c1 separator '') from t1 group by c1 collate utf32_unicode_ci;
-group_concat(c1 order by binary c1 separator '')
-÷
-×
-AaÀÁÂÃÄÅàáâãäåĀāĂăĄ
-ƀ
-Ɓ
-Ƃƃ
-CcÇçĆćĈĉĊċČč
-CHChcHch
-Ƈƈ
-DdĎď
-DZDzdZdzDŽDždžDZDzdz
-ĒēĔĕĖėĘęĚě
-Ǝǝ
-Ə
-Ɛ
-Ff
-Ƒ
-Ƣƣ
-HhĤĥ
-ƕǶ
-Ħħ
-IiÌÍÎÏìíîïĨĩĪīĬĭĮįİǏǐ
-IJIjiJijIJij
-ı
-ļĽľ
-Ŀŀ
-LJLjlJljLJLjlj
-LLLllLll
-Łł
-ƚ
-ƛ
-Mm
-NnÑñŃńŅņŇňǸǹ
-NJNjnJnjNJNjnj
-Ɲ
-ƞ
-Ŋŋ
-OoÒÓÔÕÖòóô-ØøǾǿ
-Ɔ
-Ɵ
-Pp
-Ƥƥ
-Qq
-ĸ
-RrŔŕŖŗŘř
-RRRrrRrr
-Ʀ
-SsŚśŜŝŞşŠš-ƺ
-Þþ
-ƿǷ
-ƻ
-Ƨƨ
-Ƽƽ
-Ƅƅ
-ʼn
-ǀ
-ǁ
-ǂ
-ǃ
-select group_concat(c1 order by binary c1 separator '') from t1 group by c1 collate utf32_icelandic_ci;
-group_concat(c1 order by binary c1 separator '')
-÷
-×
-AaÀÂÃàâãĀāĂ㥹ǍǎǞǟǠǡǺǻ
-AAAaaAaa
-Áá
-ǢǣǼǽ
-Bb
-ƀ
-Ɓ
-Ƃƃ
-CcÇçĆćĈĉĊċČč
-CHChcHch
-Ƈƈ
-DdĎď
-DZDzdZdzDŽDždžDZDzdz
-Ðð
-Đđ
-Ɖ
-Ɗ
-Ƌƌ
-EeÈÊËèêëĒēĔĕĖėĘęĚě
-ÉLJLjlJljLJLjlj
-LLLllLll
-Łł
-ƚ
-ƛ
-Mm
-NnÑñŃńŅņŇňǸǹ
-NJNjnJnjNJNjnj
-Ɲ
-ƞ
-Ŋŋ
-OoÒÔÕòôõŌōŎŏŐőƠơǑǒ-Pp
-Ƥƥ
-Qq
-ĸ
-RrŔŕŖŗŘř
-RRRrrRrr
-Ʀ
-SsŚśŜŝŞşŠšſ
-SSSssSssß
-Ʃ
-ƪ
-TtŢţŤť
-ƾ
-Ŧŧ
-ƫ
-Ƭƭ
-Ʈ
-UuÙÛÜùûüŨũŪūŬŭŮůŰűŲųƯưǓǔǕǖǗǘǙǚǛǜ
-Úú
-Ɯ
-Ʊ
-Vv
-Ʋ
-WwŴŵ
-Xx
-YyÿŶŷŸ
-Ýý
-Ƴƴ
-ZzŹźŻżƽ
-Ƅƅ
-ʼn
-ǀ
-ǁ
-ǂ
-ǃ
-select group_concat(c1 order by binary c1 separator '') from t1 group by c1 collate utf32_latvian_ci;
-group_concat(c1 order by binary c1 separator '')
-÷
-×
-AaÀÁÂÃÄÅàáâãäåĀāĂ㥹ǍǎǞǟǠǡǺǻ
-AAAaaAaa
-ÆæǢǣǼǽ
-Bb
-ƀ
-Ɓ
-Ƃƃ
-CcÇçĆćĈĉĊċ
-CHChcHch
-Čč
-Ƈƈ
-DdĎď
-DZDzdZdzDŽDždžDZDzdz
-Đđ
-Ɖ
-Ɗ
-Ƌƌ
-Ðð
-EeÈÉÊËèéêëĒēĔĕĖėĘęĚě
-Ǝǝ
-Ə
-Ɛ
-Ff
-
-Ɣ
-Ƣƣ
-HhĤĥ
-ƕǶ
-Ħħ
-IiÌÍÎÏy
-ı
-Ɨ
-Ɩ
-JjĴĵǰ
-KkǨǩ
-Ķķ
-Ƙƙ
-LlĹ弾
-Ŀŀ
-LJLjlJljLJLjlj
-LLLllLll
-Ļļ
-Łł
-ƚ
-ƛ
-Mm
-NnÑñŃńŇňǸǹ
-NJNjnJnjNJNjnj
-Ņņ
-Ɲ
-ƞ
-Ŋŋ
-OoÒÓÔÕÖòóôõöŌōŎŏŐőƠơǑǒǪǫǬǭ
-OEOeoEoeŒœ
-ØøǾǿ
-Ɔ
-Ɵ
-Pp
-Ƥƥ
-Qq
-ĸ
-RrŔŕŘř
-RRRrrRrr
-Ŗŗ
-Ʀ
-SsŚśŜŝŞşſ
-SSSssSssß
-Šš
-Ʃ
-ÙÚÛÜùúûüŨũŪūŬŭŮůŰűŲųƯưǓǔǕǖǗǘǙǚǛǜ
-Ɯ
-Ʊ
-Vv
-Ʋ
-WwŴŵ
-Xx
-ÝýÿŶŷŸ
-Ƴƴ
-ZzŹźŻż
-ƍ
-Ž
-Ƨƨ
-Ƽƽ
-Ƅƅ
-ʼn
-ǀ
-ǁ
-ǂ
-ǃ
-select group_concat(c1 order by binary c1 separator '') from t1 group by c1 collate utf32_romanian_ci;
-group_concat(c1 order by binary c1 separator '')
-÷
-×
-AaÀÁÃÄÅàáãäåĀ-ÆæǢǣǼǽ
-Bb
-ƀ
-Ɓ
-Ƃƃ
-CcÇçĆćĈĉĊċČč
-CHChcHch
-Ƈƈ
-DdĎď
-DZDzdZdzDŽDždžDZDzdz
-Đđ
-Ɖ
-Ɗ
-Ƌƌ
-Ðð
-EeÈÉÊËèéêëĒēĔĕĖėĘęĚě
-Ǝǝ
-Ə
-Ɛ
-Ff
-Ƒƒ
-GgĜĝĞğĠġĢģǦǧǴǵ
-Ǥǥ
-Ɠ
-Ɣ
-Ƣƣ
-HhĤĥ
-ƕǶ
-Ħħ
-IiÌÍÏìíïĨĩĪīĬĭĮįİǏǐ
-IJIjiJijIJij
-Îî
-ı
-Ɨ
-Ɩ
-JjĴĵǰ
-KkĶķ
-OoÒÓÔÕÖòóôõöŌōŎŏŐőƠơǑǒǪǫǬǭ
-OEOeoEoeŒœ
-ØøǾǿ
-Ɔ
-Ɵ
-Pp
-Ƥƥ
-Qq
-ĸ
-RrŔŕŖŗŘř
-RRRrrRrr
-Ʀ
-SsŚśŜŝŠšſ
-SSSssSssß
-Şş
-Ʃ
-ƪ
-TtŤť
-ƾ
-Ţţ
-Ŧŧ
-ƫ
-Ƭƭ
-Ʈ
-UuÙÚÛÜùúûüŨũŪūŬŭŮůŰűŲųƯưǓǔǕǖǗǘǙǚǛǜ
-Ɯ
-Ʊ
-Vv
-Ʋ
-WwŴŵ
-Xx
-YyÝýÿŶŷŸ
-Ƴƴ
-ZzŹźŻżŽž
-ƍ
-Ƶƶ
-ƷǮǯ
-Ƹƹ
-ƺ
-Þþ
-ƿǷ
-
-select group_concat(c1 order by binary c1 separator '') from t1 group by c1 collate utf32_slovenian_ci;
-group_concat(c1 order by binary c1 separator '')
-÷
-×
-AaÀÁÂÃÄÅàáâãĊċ
-CHChcHch
-Čč
-Ƈƈ
-DdĎď
-DZDzdZdzDŽDždžDZDzdz
-Đđ
-Ɖ
-Ɗ
-Ƌƌ
-Ðð
-EeÈÉÊËèéêëĒēĔĕĖėĘęĚě
-Ǝǝ
-
-Ǥǥ
-Ɠ
-Ɣ
-Ƣƣ
-HhĤĥ
-ƕǶ
-Ħħ
-IiÌÍÎÏìíîïĨĩĪīĬĭĮįİǏǐ
-IJIjiJijIJij
-ı
-Ɨ
-Ɩ
-JjĴĵǰ
-KkĶķǨǩ
-Ƙƙ
-LlĹĺĻļĽľ
-Ŀŀ
-LJLjlJljLJLjlj
-LLLllLll
-Łł
-ƚ
-ƛ
-Mm
-NnÑñŃńŅÒÓÔÕÖòóôõöŌōŎŏŐőƠơǑǒǪǫǬǭ
-OEOeoEoeŒœ
-ØøǾǿ
-Ɔ
-Ɵ
-Pp
-Ƥƥ
-Qq
-ĸ
-RrŔŕŖŗŘř
-RRRrrRrr
-Ʀ
-SsŚśŜŝŞşſ
-SSSssSssß
-Šš
-Ʃ
-ƪ
-TtŢţŤť
-ƾ
-Ŧŧ
-ƫ
-Ƭƭ
-Ʈ
-UuÙÚYyÝýÿŶŷŸ
-Ƴƴ
-ZzŹźŻż
-ƍ
-Žž
-Ƶƶ
-ƷǮǯ
-Ƹƹ
-ƺ
-Þþ
-ƿǷ
-ƻ
-Ƨƨ
-Ƽƽ
-Ƅƅ
-ʼn
-ǀ
-ǁ
-ǂ
-ǃ
-select group_concat(c1 order by binary c1 separator '') from t1 group by c1 collate utf32_polish_ci;
-group_concat(c1 order by binary c1 separator '')
-÷
-×
-AaÀÁÂÃÄÅàáâãäåĀāĂăǍǎǞǟǠǡǺǻ
-AAAaaAaa
-Ąą
-ÆæǢ
-CHChcHch
-Ćć
-Ƈƈ
-DdĎď
-DZDzdZdzDŽ
-Ɛ
-Ff
-Ƒƒ
-GgĜĝĞğĠġĢģǦǧǴǵ
-Ǥǥ
-Ɠ
-Ɣ
-Ƣƣ
-HhĤĥ
-ƕǶ
-Ħħ
-IiÌÍÎÏìíîïĨĩĪīĬĭĮįİǏǐ
-IJIjiJijIJij
-ı
-Ɨ
-Ɩ
-JjĴĵǰ
-KkĶķǨǩ
-Ƙƙ
-LlĹĺĻļĽľ
-Ŀŀ
-LJLjlJljLJLjlj
-LLLllLll
-Łł
-ƚ
-ƛ
-Mm
-NnÑñŅņŇňǸǹ
-NJNjnJnjNJNjnj
-Ńń
-Ɲ
-ƞ
-Ŋŋ
-OoÒÔÕÖòôõöŌōŎŏŐőƠơǑǒǪǫǬǭ
-OEOeoEoeŒœ
-Óó
-ØøǾǿ
-Ɔ
-Ɵ
-Pp
-Ƥƥ
-Qq
-ĸ
-RrŔŕŖŗŘř
-RRRrrRrr
-Ʀ
-SsŜŝŞşŠšſ
-SSSssSssß
-Śś
-Ʃ
-ÙÚÛÜùúûüŨũŪūŬŭŮůŰűŲųƯưǓǔǕǖǗǘǙǚǛǜ
-Ɯ
-Ʊ
-Vv
-Ʋ
-WwŴŵ
-Xx
-YyÝýÿŶŷŸ
-Ƴƴ
-ZzŽž
-ƍ
-Źź
-Żż
-Ƶƶ
-ƷǮǯ
-Ƹƹ
-ƺ
-Þþ
-ƿǷ
-ƻ
-Ƨƨ
-Ƽƽ
-Ƅƅ
-ʼn
-ǀ
-ǁ
-ǂ
-ǃ
-select group_concat(c1 order by binary c1 separator '') from t1 group by c1 collate utf32_estonian_ci;
-group_concat(c1 order by binary c1 separator '')
-÷
-×
-AaÀÁÂÃÅàáâãåĀāĂ㥹ǍǎǞǟǠǡǺǻ
-AAAaaAaa
-ÆæǢǣǼǽ
-Bb
-ƀ
-Ɓ
-Ƃƃ
-CcÇçĆćĈĉDŽDždžDZDzdz
-Đđ
-Ɖ
-Ɗ
-Ƌƌ
-Ðð
-EeÈÉÊËèéêëĒēĔĕĖėĘęĚě
-Ǝǝ
-Ə
-Ɛ
-Ff
-Ƒƒ
-GgĜĝĞğĠġĢģǦǧǴǵ
-Ǥǥ
-Ɠ
-Ɣ
-Ƣƣ
-HhĤĥ
-ƕǶ
-Ħħ
-IiÌÍÎÏìíîïĨĩĪīĬĭĮįİǏǐ
-IJIjiJijIJij
-ı
-Ɨ
-Ɩ
-JjĴĵǰ
-KkĶķǨǩ
-Ƙƙ
-LlĹĺĻļĽľ
-Ŀŀ
-LJLjlJljLJLjlj
-LLLllLll
-Łł
-ƚ
-ƛ
-Mm
-NnÑñŃńŅņŇňǸǹ
-NJNjnJnjNJNjnj
-Ɲ
-ƞ
-Ŋŋ
-OooeŒœ
-ØøǾǿ
-Ɔ
-Ɵ
-Pp
-Ƥƥ
-Qq
-
-TtŢţŤť
-ƾ
-Ŧŧ
-ƫ
-Ƭƭ
-Ʈ
-UuÙÚÛùúûŨũŪūŬŭŮůŰűŲųƯưǓǔǕǖǗǘǙǚǛǜ
-Ɯ
-Ʊ
-Vv
-Ʋ
-WwŴŵ
-Õõ
-Ää
-Öö
-Üü
-Xx
-YyÝýÿŶŷŸ
-Ƴƴ
-ŹźŻż
-ƍ
-Ƶƶ
-ƷǮǯ
-Ƹƹ
-ƺ
--ǁ
-ǂ
-ǃ
-select group_concat(c1 order by binary c1 separator '') from t1 group by c1 collate utf32_spanish_ci;
-group_concat(c1 order by binary c1 separator '')
-÷
-×
-AaÀÁÂÃAaaAaa
-ÆæǢǣǼǽ
-Bb
-ƀ
-Ɓ
-Ƃƃ
-CcÇçĆćĈĉĊċČč
-CHChcHch
-Ƈƈ
-DdĎď
-DZDzdZdzDŽDždžDZDzdz
-Đđ
-Ɖ
-Ɗ
-Ƌƌ
-Ðð
-EeÈÉÊËèéêëĒēĔĕĖėĘęĚě
-Ǝǝ
-Ə
-Ɛ
-Ff
-Ƒƒ
-GgĜĝĞğĠġĢģǦǧǴǵ
-Ǥǥ
-Ɠ
-Ɣ
-Ƣƣ
-HhĤĥ
-ƕǶ
-Ħħ
-IiÌÍÎÏìíîïĨĩĪīĬĭĮįİǏǐ
-IJIjiJijIJij
-ı
-Ɨ
-Ɩ
-JjĴĵǰ
-KkĶķǨǩ
-Ƙƙ
-LlĹĺĻļĽľ
-Ŀŀ
-LJLjlJljLJLjlj
-LLLllLll
-Łł
-ƚ
-ƛ
-Mm
-NnŃńŅņŇňǸǹ
-NJNjnJnjNJNjnj
-Ññ
-Ɲ
-ƞ
-Ŋŋ
-OoÒÓÔÕÖòóôõöŌōŎŏŐőƠơǑǒǪǫǬǭ
-OEOeoEoeŒœ
-ØøǾǿ
-Ɔ
-Ɵ
-Pp
-Ƥƥ
-Qq
-ĸ
-RrŔŕŖŗŘř
-RRRrrRrr
-Ʀ
-SsŚśŜŝŞşŠšſ
-SSSssSssß
-Ʃ
-ƪ
-TtŢţŤť
-ƾ
-Ŧŧ
-ƫ
-Ƭƭ
-Ʈ
-UuÙÚÛÜùúûüŨũŪūŬŭŮůŰűŲųƯưǓǔǕǖǗǘǙǚǛǜ
-Ɯ
-Ʊ
-Vv
-Ʋ
-WwŴ
-ƍ
-Ƶƶ
-ƷǮǯ
-Ƹƹ
-ƺ
-Þþ
-ƿǷ
-ƻ
-Ƨƨ
-Ƽƽ
-Ƅƅ
-ʼn
-ǀ
-ǁ
-ǂ
-parator '') from t1 group by c1 collate utf32_swedish_ci;
-group_concat(c1 order by binary c1 separator '')
-÷
-×
-AaÀÁÂÃàáâãĀāBb
-ƀ
-Ɓ
-Ƃƃ
-CcÇçĆćĈĉĊċČč
-CHChcHch
-Ƈƈ
-DdĎď
-DZDzdZdzDŽDždžDZDzdz
-Đđ
-Ɖ
-Ɗ
-Ƌƌ
-Ðð
-EeÈÉÊËèéêëĒēĔĕĖėĘęĚě
-Ǝǝ
-Ə
-Ɛ
-Ff
-îïĨĩĪīĬĭĮįİǏǐ
-IJIjiJijIJij
-ı
-Ɨ
-Ɩ
-JjĴĵǰ
-KkĶķǨǩ
-Ƙƙ
-LlĹĺĻļĽľ
-Ŀŀ
-LJLjlJljLJLjlj
-LLLllLll
-Łł
-ƚ
-ƛ
-Mm
-NnÑñŃńŅņŇňǸǹ
-NJNjnJnjNJNjnj
-Ɲ
-ƞ
-Ŋŋ
-OoÒÓÔÕòóôŘř
-RRRrrRrr
-Ʀ
-SsŚśŜŝŞşŠšſ
-SSSssSssß
-Ʃ
-ƪ
-TtŢţŤť
-ƾ
-Ŧŧ
-ƫ
-Ƭƭ
-Ʈ
-UuÙÚÛùúûŨũŪūŬŭŮůŰŹźŻżŽž
-ƍ
-Åå
-ÄÆäæ
-ÖØöø
-Ƶƶ
-ƷǮǯ
-Ƹƹ
-ƺ
-Þþ
-ƿǷ
-ƻ
-Ƨƨ
-Ƽƽ
-Ƅƅ
-ʼn
-ǀ
-ǁ
-ǂ
-ǃ
-select group_concat(c1 order by binary c1 separator '') from t1 group by c1 collate utf32_turkish_ci;
-group_concat(c1 order by binary c1 separator '')
-÷
-×
-AaÀÁÂÃÄÅàáâãäåĀ-CHChcHch
-Çç
-Ƈƈ
-DdĎď
-DZDzdZdzDŽDž
-Ff
-Ƒƒ
-GgĜĝĠġĢģǦǧǴǵ
-Ğğ
-ǐ
-iJijIJij
-Ɨ
-Ɩ
-JjĴĵǰ
-KkĶķǨǩ
-Ƙƙ
-LlĹĺĻļĽľ
-Ŀŀ
-LJLjlJljLJLjlj
-LLLllLll
-Łł
-ƚ
-ƛ
-Mm
-NnÑñŃńŅÒÓÔÕòóôõŌōŎŏŐőƠơǑǒǪǫǬǭ
-OEOeoEoeŒœ
-Öö
-ØøǾǿ
-Ɔ
-Ɵ
-Pp
--SsŚśŜŝŠšſ
-SSSssSssß
-Şş
-Ʃ
-ƪ
-TtŢţŤť
-ƾ
-Ŧŧ
-ƫ
-Ƭƭ
-Ʈ
-UuÙÚÛùúûŨũŪūŬŭŮůŰűŲųƯưǓǔǕǖǗǘǙǚǛǜ
-Üü
-Ɯ
-Ʊ
-Vv
-Ʋ
-WwŴŵ
-Xx
-YyÝýÿŶŷŸ
-Ƴƴ
-ZzŹźŻżŽž
-
-Ƨƨ
-Ƽƽ
-Ƅƅ
-ʼn
-ǀ
-ǁ
-ǂ
-ǃ
-select group_concat(c1 order by binary c1 separator '') from t1 group by c1 collate utf32_czech_ci;
-group_concat(c1 order by binary c1 separator '')
-÷
-×
-AaÀÁÂÃÄÅàáâãäåĀāĂ㥹ǍǎǞǟǠǡǺǻ
-AAAaaAaa
-ÆæǢǣǼǽ
-Bb
-ƀ
-Ɓ
-Ƃƃ
-CcÇçĆćĈĉĊċ
-cH
-Čč
-Ƈƈ
-DdĎď
-DZDzdZdzDŽDždžDZDzdz
-Đđ
-Ɖ
-Ɗ
-Ƌƌ
-Ðð
-EeÈÉÊËèéêëĒēĔĕĖėĘęĚě
-Ǝǝ
-Ə
-Ɛ
-Ff
-Ƒƒ
-GgĜĝĞğĠġĢģǦǧǴǵ
-Ǥǥ
-Ɠ
-Ɣ
-Ƣƣ
-HhĤĥ
-CHChch
-ƕǶ
-Ħħ
-IiÌÍÎÏìíîïĨĩĪīĬĭĮįİǏǐ
-IJIjiJijIJij
-ı
-Ɨ
-Ɩ
-JjĴĵǰ
-KkĶķǨǩ
-Ƙƙ
-LlĹĺĻļĽľ
-Ŀŀ
-LJLjlJljLJLjlj
-LLLllLll
-Łł
-ƚ
-ƛ
-Mm
-NnÑñŃńŅņÓÔÕÖòóôõöŌōŎŏŐőƠơǑǒǪǫǬǭ
-OEOeoEoeŒœ
-ØøǾǿ
-Ɔ
-Ɵ
-Pp
-Ƥƥ
-Qq
-ĸ
-RrŔŕŖŗ
-RRRrrRrr
-Řř
-Ʀ
-SsŚśŜŝŞşſ
-SSSssSssß
-Šš
-Ʃ
-ƪ
-TtŢţŤť
-ƾ
-Ŧŧ
-ƫ
-Ƭƭ
-Ʈ
-UuÙÚÛÜùúûüŨũŪūŬŭŮůŰűŲųƯưǓǔǕǖǗǘǙǚǛǜ
-Ɯ
-Ʊ
-Vv
-Ʋ
-WwŴŵ
-Xx
-YyÝýÿŶŷŸ
-Ƴƴ
-ZzŹźŻż
-ƍ
-Žž
-Ƶƶ
-ƷǮǯ
-Ƹƹ
-ƺ
-Þþ
-ƿǷ
-ƻ
-Ƨƨ
-Ƽƽ
-Ƅƅ
-ʼn
-ǀ
-ǁ
-ǂ
-ǃ
-select group_concat(c1 order by binary c1 separator '') from t1 group by c1 collate utf32_danish_ci;
-group_concat(c1 order by binary c1 separator '')
-÷
-×
-AaÀÁÂÃàáâãĀāĂăĄ
-Ƃƃ
-CcÇçĆćĈĉĊċČč
-CHChcHch
-Ƈƈ
-DdĎď
-DZDzdZdzDŽDždžDZDzdz
-Đđ
-Ɖ
-Ɗ
-Ƌƌ
-Ðð
-EeÈÉÊËèéêëĒēĔĕĖėĘęĚě
-Ǝǝ
-Ə
-Ɛ
-Ff
-Ƒƒ
-GgĜĝĞğĠġĢģǦǧǴǵ
-Ǥǥ
-Ɠ
-Ɣ
-Ƣƣ
-HhĤĥ
-ƕǶ
-Ħħ
-IiÌÍÎÏìíîïĨĩĪīĬĭĮįİǏǐ
-IJIjiJijIJij
-ı
-Ɨ
-Ɩ
-JjĴĵǰ
-KkĶķǨǩ
-Ƙƙ
-LlĹĺĻļĽľ
-
-Mm
-NnÑñŃńŅņŇňǸǹ
-NJNjnJnjNJNjnj
-Ɲ
-ƞ
-Ŋŋ
-OoÒÓÔÕòóôõŌōŎŏƠPp
-Ƥƥ
-Qq
-ĸ
-RrŔŕŖŗŘř
-RRRrrRrr
-Ʀ
-SsŚśŜŝŞşŠšſ
-SSSssSssß
-Ʃ
-ƪ
-TtŢţŤť
-ƾ
-Ŧŧ
-ƫ
-Ƭƭ
-Ʈ
-UuÙÚÛùúûŨũŪūŬŭŮůŲųƯưǓǔǕǖǗÜÝüýÿŰűŶŷŸ
-Ƴƴ
-ZzŹźŻżŽž
-
-ƷǮǯ
-Ƹƹ
-ƺ
-Þþ
-ƿǷ
-ƻ
-Ƨƨ
-Ƽƽ
-Ƅƅ
-ʼn
-ǀ
-ǁ
-ǂ
-ǃ
-select group_concat(c1 order by binary c1 separator '') from t1 group by c1 collate utf32_lithuanian_ci;
-group_concat(c1 order by binary c1 separator '')
-÷
-×
-AaÀÁÂÃÄÅàáâãäåĀāĂ㥹ǍǎǞǟǠǡǺǻ
-AAAaaAaa
-ÆæǢǣǼǽ
-Bb
-ƀ
-Ɓ
-Ƃƃ
-CCHChcchÇçĆćĈĉĊDzdz
-Đđ
-Ɖ
-Ɗ
-Ƌƌ
-Ðð
-EeÈÉÊËèéêëĒēĔĕĖėĘęĚě
-Ǝǝ
-Ə
-Ɛ
-Ff
-Ƒƒ
-GgĜĝĞğĠġĢģǦǧǴǵ
-Ǥǥ
-Ɠ
-Ɣ
-Ƣƣ
-HhĤĥ
-ƕǶ
-Ħħ
-IYiyÌÍÎÏìíîïĨĩĪīĬĭĮįİǏǐ
-IJIjiJijIJ
-LlĹĺĻļĽľ
-Ŀŀ
-LJLjlJljLJLjlj
-LLLllLll
-Łł
-ƚ
-ƛ
-Mm
-NnÑñŃńŅņŇňǸǹ
-NJNjnJnjNJNjnj
-Ɲ
-ƞ
-Ŋŋ
-OoÒÓÔoEoeŒœ
-ØøǾǿ
-Ɔ
-Ɵ
-Pp
-Ƥƥ
-Qq
-ĸ
-RrŔŕŖŗŘř
-RRRrrRrr
-Ʀ
-SsŚśŜť
-ƾ
-Ŧŧ
-ƫ
-Ƭƭ
-Ʈ
-UuÙÚÛÜùúûüŨũŪūŬŭŮůŰűŲųƯưǓǔǕǖǗǘǙǚǛǜ
-Ɯ
-Ʊ
-Vv
-Ʋ
-WwŴŵ
-Xx
-Ýýÿƽ
-Ƅƅ
-ʼn
-ǀ
-ǁ
-ǂ
-ǃ
-select group_concat(c1 order by binary c1 separator '') from t1 group by c1 collate utf32_slovak_ci;
-group_concat(c1 order by binary c1 separator '')
-b
-ƀ
-Ɓ
-Ƃƃ
-CcÇçĆćĈĉĊċ
-cH
-ēĔĕĖėĘęĚě
-Ǝǝ
-Ə
-Ɛ
-Ff
-Ƒƒ
-GgĜĝĞğĠġĢģǦǧǴǵ
-Ǥǥ
-Ɠ
-Ɣ
-Ƣƣ
-HhĤĥ
-CHChch
-ƕǶ
-Ħħ
-IiÌÍÎ-ı
-Ɨ
-Ɩ
-JjĴĵǰ
-KkĶķǨǩ
-Ƙƙ
-LlĹĺĻļĽľ
-Ŀŀ
-LJLjlJljLJLjlj
-LLLllLll
-Łł
-ƚ
-ƛ
-Mm
-NnÑñŃńŅņŇňǸǹ
-NJNjnJnjNJNjnj
-Ɲ
-ƞ
-Ŋŋ
-OoÒÓÕÖòóõöŌōŎŏŐőƠơǑǒǪǫǬǭ
-OEOeoEoeŒ-ĸ
-RrŔŕŖŗŘř
-RRRrrRrr
-Ʀ
-SsŚśŜť
-ƾ
-Ŧŧ
-ƫ
-Ƭƭ
-Ʈ
-UuÙÚÛÜùúûüŨũŪūŬŭŮůŰűŲųƯưǓǔǕǖǗǘǙǚǛǜ
-Ɯ
-Ʊ
-Vv
-Ʋ
-WwŴŵ
-Xx
-YyÝý-ƷǮǯ
-Ƹƹ
-ƺ
-Þþ
-ƿǷ
-ƻ
-Ƨƨ
-Ƽƽ
-Ƅƅ
-ʼn
-ǀ
-ǁ
-ǂ
-ǃ
-select group_concat(c1 order by binary c1 separator '') from t1 group by c1 collate utf32_spanish2_ci;
-group_concat(c1 order by binary c1 separator '')
-÷
-×
-AaÀÁÂÃÄÅàáâãäåĀāĂăBb
-ƀ
-Ɓ
-Ƃƃ
-CcÇçĆćĈĉĊċČč
-cH
-CHChch
-Ƈƈ
-DdĎď
-DZDzdZdzDŽDždžDZDz
-Ƒƒ
-GgĜĝĞğĠġĢģǦǧǴǵ
-Ǥǥ
-Ɠ
-Ɣ
-Ƣƣ
-HhĤĥ
-ƕǶ
-Ħħ
-IiÌÍÎÏl
-Łł
-ƚ
-ƛ
-Mm
-NnŃńŅņŇňǸǹ
-NJNjnJnjNJNjnj
-Ññ
-Ɲ
-ƞ
-Ŋŋ
-OoÒÓÔÕÖòóôõöŌōŎŏŐőƠơǑǒǪǫǬǭ
-OEOeoEoeŒœ
-ØøǾǿ
-Ɔ
-Ɵ
-Pp
-Ƥƥ
-Qq
-ĸ
-RrŔŕŖŗŘř
-RRRrrRrr
-Ʀ
-SsŚśŜŝŞşŠšſ
-SSSssSssß
-Ʃ
-ƪ
-TtŢţŤť
-ƾ
-Ŧŧ
-ƫ
-Ƭƭ
-Ʈ
-UuÙÚÛÜùúûüŨũŪūŬŭŮůŰűŲųƯưǓǔǕǖǗǘǙǚǛǜ
-Ɯ
-Ʊ
-Vv
-Ʋ
-WwŴŵ
-Xx
-YyÝýÿǯ
-Ƹƹ
-ƺ
-Þþ
-ƿǷ
-ƻ
-Ƨƨ
-Ƽƽ
-Ƅƅ
-ʼn
-ǀ
-ǁ
-ǂ
-ǃ
-select group_concat(c1 order by binary c1 separator '') from t1 group by c1 collate utf32_roman_ci;
-group_concat(c1 order by binary c1 separator '')
-÷
-×
-AaÀÁÂÃÄÅàáâãäåĀāĂ㥹Ǎǎ
-Ɓ
-Ƃƃ
-CcÇçĆćĈĉĊċČč
-CHChcHch
-Ƈƈ
-DdĎď
-DZDzdZdzDŽDždžDZDzdz
-Đđ
-Ɖ
-Ɗ
-Ƌƌ
-Ðð
-EeÈÉÊËèéêëĒēĔĕĖėĘęĚě
-Ǝǝ
-Ə
-Ɛ
-Ff
-Ƒƒ
-GgĜĝĞğĠġĢģǦǧǴǵ
-Ǥǥ
-Ɠ
-Ɣ
-Ƣƣ
-HhĤĥ
-ƕǶ
-Ħħ
-IJijÌÍÎÏìíîïĨĩĪīĬĭĮįİǏǐ
-IJIjiJij
-IJij
-ı
-Ɨ
-Ɩ
-Ĵĵǰ
-KkĶķǨǩ
-Ƙƙ
-LlĹĺĻļ
-ƚ
-ƛ
-Mm
-NnÑñŃńŅņŇňǸǹ
-NJNjnJnj
-NJNjnj
-Ɲ
-ƞ
-Ŋŋ
-OoÒÓÔÕÖòóôõöŌōŎŏŐőƠơǑǒǪǫǬǭ
-OEOeoEoeŒrŔŕŖŗŘř
-RRRrrRrr
-Ʀ
-SsŚśŜŝŞşŠšſ
-SSSssSssß
-Ʃ
-ƪ
-TtŢţŤť
-ƾ
-Ŧŧ
-ƫ
-Ƭƭ
-Ʈ
-ÙÚÛÜùúûüŨũŪūŬŭŮůŰűŲųƯưǓǔǕǖǗǘǙǚǛǜ
-Ɯ
-Ʊ
-UVuv
-Ʋ
-WwŴŵ
-Xx
-YyÝýÿŶŷŸ
-Ƴƴ
-ZzŹźŻżŽž
-ƍ
-Ƶƶ
-ƷǮǯ
-Ƹ-ʼn
-ǀ
-ǁ
-ǂ
-ǃ
-select group_concat(c1 order by binary c1 separator '') from t1 group by c1 collate utf32_esperanto_ci;
-group_concat(c1 order by binary c1 separator '')
-÷
-×
-AaÀÁÂÃÄÅàáâãäåĀāĂ㥹ǍǎǞǟ
-Ƃƃ
-CcÇçĆćĊċČč
-CHChcHch
-Ĉĉ
-Ƈƈ
-DdĎď
-DZDzdZdzDŽDždžDZDzdz
-Đđ
-ƣ
-Hh
-Ĥĥ
-ƕǶ
-Ħħ
-IiÌÍÎÏìíî
-Ɩ
-Jjǰ
-Ĵĵ
-KkĶķǨǩ
-Ƙƙ
-LlĹĺĻļĽľ
-Ŀŀ
-LJLjlJljLJLjlj
-LLLllLll
-Łł
-ƚ
-ƛ
-Mm
-NnÑñŃńŅņŇňǸǹ
-NJNjnJnjNJNjnj
-Ɲ
-ƞ
-Ŋŋ
-OoÒÓÔÕÖòó
-ØøǾǿ
-Ɔ
-Ɵ
-Pp
-Ƥƥ
-Qq
-ĸ
-RrŔŕŖŗŘř
-RRRrrRrr
-Ʀ
-SsŚśŞşŠšſ
-SSSssSssß
-Ŝŝ
-Ʃ
-ƪ
-TtŢţŤť
-ƾ
-Ŧŧ
-ƫ
-Ƭƭ
-Ʈ
-UuÙÚÛÜùúûüŨũŪūŮůŰűŲųƯưǓǔǕǖǗǘǙǚǛǜ
-Ŭŭ
-Ɯ
-Ʊ
-Vv
-Ʋ
-WwŴŵ
-Xx
-YyÝýÿŶŷŸ
-Ƴƴ
-ZzŹźŻżŽž
-ƍ
-Ƶƶ
-ƷǮǯ
-Ƹƹ
-ƺ
-Þþ
-ƿǷ
-ƻ
-Ƨƨ
-Ƽƽ
-at(c1 order by binary c1 separator '') from t1 group by c1 collate utf32_hungarian_ci;
-group_concat(c1 order by binary c1 separator '')
-÷
-×
-AaÀÁÂÃÄÅàáâãäåĀāĂ㥹ǍǎǞǟǠǡǺǻ
-AAAaaAaa
-ÆæǢǣǼǽ
-Bb
-ƀ
-Ɓ
-Ƃƃ
-CcÇçĆćĈĉĊċČč
-CHChcHch
-Ƈƈ
-DdĎď
-DZDzdZdzDŽDždžDZDzdz
-Đđ
-Ɖ
-Ɗ
-Ƌƌ
-Ðð
-EeÈÉÊËèéêëĒēgĜĝĞğĠġĢģǦǧǴǵ
-Ǥǥ
-Ɠ
-Ɣ
-Ƣ
-ƛ
-Mm
-NnÑñŃńŅņŇňǸǹ
-NJNjnJnjNJNjnj
-Ɲ
-ƞ
-Ŋŋ
-OoÒÓÔÕòóôõŌōŎŏƠơǑǒǪǫǬǭ
-OEOeoEoeŒœ
-ÖöŐő
-ŖŗŘř
-RRRrrRrr
-Ʀ
-SsŚśŜŝŞşŠšſ
-SSSssSssß
-Ʃ
-ƪ
-TtŢţŤť
-ƾ
-Ŧŧ
-ƫ
-Ƭƭ
-Ʈ
-UuÙÚÛùúûŨũŪūŬŭŮƱ
-Vv
-Ʋ
-WwŴŵ
-Xx
-YyÝýÿŶŷŸ
-Ƴƴ
-ZzŹźŻżŽž
-ƍ
-Ƶƶ
-ƷǮǯ
-Ƹƹ
-ƺ
-Þþ
-ƿǷ
-ƻ
-Ƨƨ
-Ƽƽ
-Ƅƅ
-ES utf8;
-CREATE TABLE t1 (c varchar(200) CHARACTER SET utf32 COLLATE utf32_general_ci NOT NULL, INDEX (c));
-INSERT INTO t1 VALUES (_ucs2 0x039C03C903B403B11F770308);
-SELECT * FROM t1 WHERE c LIKE _utf32 0x0000039C00000025 COLLATE utf32_general_ci;
-c
-Μωδαί̈
-INSERT INTO t1 VALUES (CONVERT(_ucs2 0x039C03C903B4 USING utf8));
-SELECT * FROM t1 WHERE c LIKE _utf32 0x0000039C00000025
-COLLATE utf32_general_ci ORDER BY c;
-c
-Μωδ
-Μωδαί̈
-DROP TABLE t1;
-CREATE TABLE t1 (c varchar(200) CHARACTER SET utf32 COLLATE utf32_unicode_ci NOT NULL, INDEX (c));
-INSERT INTO t1 VALUES (_ucs2 0x039C03C903B403B11F770308);
-SELECT * FROM t1 WHERE c LIKE _utf32 0x0000039C00000025 COLLATE utf32_unicode_ci;
-c
-Μωδαί̈
-INSERT INTO t1 VALUES (_ucs2 0x039C03C903B4);
-SELECT * FROM t1 WHERE c LIKE _utf32 0x0000039C00000025
-COLLATE utf32_unicode_ci ORDER BY c;
-c
-Μωδ
-Μωδαί̈
-DROP TABLE t1;
-CREATE TABLE t1 (c varchar(200) CHARACTER SET utf32 COLLATE utf32_unicode_ci NOT NULL, INDEX (c));
-INSERT INTO t1 VALUES (_ucs2 0x039C03C903B403B11F770308);
-SELECT * FROM t1 WHERE c LIKE CONVERT(_ucs2 0x039C0025 USING utf32) COLLATE utf32_unicode_ci;
-c
-Μωδαί̈
-INSERT INTO t1 VALUES (CONVERT(_ucs2 0x039C03C903B4 USING utf8));
-SELECT * FROM t1 WHERE c LIKE CONVERT(_ucs2 0x039C0025 USING utf32)
-COLLATE utf32_unicode_ci ORDER BY c;
-c
-Μωδ
-Μωδαί̈
-DROP TABLE t1;
-SET NAMES utf8;
-SET @test_character_set='utf32';
-SET @test_collation='utf32_swedish_ci';
-SET @safe_character_set_server= @@character_set_server;
-SET @safe_collation_server= @@collation_server;
-SET @safe_character_set_client= @@character_set_client;
-SET @safe_character_set_results= @@character_set_results;
-SET character_set_server= @test_character_set;
-SET collation_server= @test_collation;
-CREATE DATABASE d1;
-USE d1;
-CREATE TABLE t1 (c CHAR(10), KEY(c));
-SHOW FULL COLUMNS FROM t1;
-Field Type Collation Null Key Default Extra Privileges Comment
-c char(10) utf32_swedish_ci YES MUL NULL
-INSERT INTO t1 VALUES ('aaa'),('aaaa'),('aaaaa');
-SELECT c as want3results FROM t1 WHERE c LIKE 'aaa%';
-want3results
-aaa
-aaaa
-aaaaa
-DROP TABLE t1;
-CREATE TABLE t1 (c1 varchar(15), KEY c1 (c1(2)));
-SHOW FULL COLUMNS FROM t1;
-Field Type Collation Null Key Default Extra Privileges Comment
-c1 varchar(15) utf32_swedish_ci YES MUL NULL
-INSERT INTO t1 VALUES ('location'),('loberge'),('lotre'),('boabab');
-SELECT c1 as want3results from t1 where c1 like 'l%';
-want3results
-location
-loberge
-lotre
-SELECT c1 as want3results from t1 where c1 like 'lo%';
-want3results
-location
-loberge
-lotre
-SELECT c1 as want1result from t1 where c1 like 'loc%';
-want1result
-location
-SELECT c1 as want1result from t1 where c1 like 'loca%';
-want1result
-location
-SELECT c1 as want1result from t1 where c1 like 'locat%';
-want1result
-location
-SELECT c1 as want1result from t1 where c1 like 'locati%';
-want1result
-location
-SELECT c1 as want1result from t1 where c1 like 'locatio%';
-want1result
-location
-SELECT c1 as want1result from t1 where c1 like 'location%';
-want1result
-location
-DROP TABLE t1;
-create table t1 (a set('a') not null);
-insert into t1 values (),();
-Warnings:
-Warning 1364 Field 'a' doesn't have a default value
-select cast(a as char(1)) from t1;
-cast(a as char(1))
-
-
-select a sounds like a from t1;
-a sounds like a
-1
-1
-select 1 from t1 order by cast(a as char(1));
-1
-1
-1
-drop table t1;
-set names utf8;
-create table t1 (
-name varchar(10),
-level smallint unsigned);
-show create table t1;
-Table Create Table
-t1 CREATE TABLE `t1` (
- `name` varchar(10) COLLATE utf32_swedish_ci DEFAULT NULL,
- `level` smallint(5) unsigned DEFAULT NULL
-) ENGINE=MyISAM DEFAULT CHARSET=utf32 COLLATE=utf32_swedish_ci
-insert into t1 values ('string',1);
-select concat(name,space(level)), concat(name, repeat(' ',level)) from t1;
-concat(name,space(level)) concat(name, repeat(' ',level))
-string string
-drop table t1;
-DROP DATABASE d1;
-USE test;
-SET character_set_server= @safe_character_set_server;
-SET collation_server= @safe_collation_server;
-SET character_set_client= @safe_character_set_client;
-SET character_set_results= @safe_character_set_results;
-SET collation_connection='utf32_unicode_ci';
-create table t1 select repeat('a',4000) a;
-delete from t1;
-insert into t1 values ('a'), ('a '), ('a\t');
-select collation(a),hex(a) from t1 order by a;
-collation(a) hex(a)
-utf32_unicode_ci 0000006100000009
-utf32_unicode_ci 00000061
-utf32_unicode_ci 0000006100000020
-drop table t1;
-select @@collation_connection;
-@@collation_connection
-utf32_unicode_ci
-create table t1 ROW_FORMAT=DYNAMIC select repeat('a',50) as c1 ;
-insert into t1 values('abcdef');
-insert into t1 values('_bcdef');
-insert into t1 values('a_cdef');
-insert into t1 values('ab_def');
-insert into t1 values('abc_ef');
-insert into t1 values('abcd_f');
-insert into t1 values('abcde_');
-select c1 as c1u from t1 where c1 like 'ab\_def';
-c1u
-ab_def
-select c1 as c2h from t1 where c1 like 'ab#_def' escape '#';
-c2h
-ab_def
-drop table t1;
-End of 4.1 tests
-CREATE TABLE t1 (id int, a varchar(30) character set utf32);
-INSERT INTO t1 VALUES (1, _ucs2 0x01310069), (2, _ucs2 0x01310131);
-INSERT INTO t1 VALUES (3, _ucs2 0x00690069), (4, _ucs2 0x01300049);
-INSERT INTO t1 VALUES (5, _ucs2 0x01300130), (6, _ucs2 0x00490049);
-SELECT a, length(a) la, @l:=lower(a) l, length(@l) ll, @u:=upper(a) u, length(@u) lu
-FROM t1 ORDER BY id;
-a la l ll u lu
-ıi 8 ıi 8 II 8
-ıı 8 ıı 8 II 8
-ii 8 ii 8 II 8
-İI 8 ii 8 İI 8
-İİ 8 ii 8 İARCHAR(30) character set utf32 collate utf32_turkish_ci;
-SELECT a, length(a) la, @l:=lower(a) l, length(@l) ll, @u:=upper(a) u, length(@u) lu
-FROM t1 ORDER BY id;
-a la l ll u lu
-ıi 8 ıi 8 Iİ 8
-ıı 8 ıı 8 II 8
-ii 8 ii 8 İI 8 ıı 8 II 8
-DROP TABLE t1;
-CREATE TABLE t1 (
-c1 text character set utf32 collate utf32_polish_ci NOT NULL
-) ENGINE=MyISAM;
-insert into t1 values (''),('a');
-SELECT COUNT(*), c1 FROM t1 GROUP BY c1;
-COUNT(*) c1
-1
-1 a
-DROP TABLE IF EXISTS t1;
-End of 5.1 tests
-set collation_connection=utf32_unicode_ci;
-select @@collation_connection;
-@@collation_connection
-utf32_unicode_ci
-select hex(weight_string('a'));
-hex(weight_string('a'))
-0E33
-select hex(weight_string('A'));
-hex(weight_string('A'))
-0E33
-select hex(weight_string('abc'));
-hex(weight_string('abc'))
-0E330E4A0E60
-select hex(weight_string('abc' as char(2)));
-hex(weight_string('abc' as char(2)))
-0E330E4A
-select hex(weight_string('abc' as char(3)));
-hex(weight_string('abc' as char(3)))
-0E330E4A0E60
-select hex(weight_string('abc' as char(5)));
-hex(weight_string('abc' as char(5)))
-0E330E4A0E6002090209
-select hex(weight_string('abc', 1, 2, 0xC0));
-hex(weight_string('abc', 1, 2, 0xC0))
-0E
-select hex(weight_string('abc', 2, 2, 0xC0));
-hex(weight_string('abc', 2, 2, 0xC0))
-0E33
-select hex(weight_string('abc', 3, 2, 0xC0));
-hex(weight_string('abc', 3, 2, 0xC0))
-0E330E
-select hex(weight_string('abc', 4, 2, 0xC0));
-hex(weight_string('abc', 4, 2, 0xC0))
-0E330E4A
-select hex(weight_string('abc', 5, 2, 0xC0));
-hex(weight_string('abc', 5, 2, 0xC0))
-0E330E4A02
-select hex(weight_string('abc',25, 2, 0xC0));
-hex(weight_string('abc',25, 2, 0xC0))
-0E330E4A020902090209020902090209020902090209020902
-select hex(weight_string('abc', 1, 3, 0xC0));
-hex(weight_string('abc', 1, 3, 0xC0))
-0E
-select hex(weight_string('abc', 2, 3, 0xC0));
-hex(weight_string('abc', 2, 3, 0xC0))
-0E33
-select hex(weight_string('abc', 3, 3, 0xC0));
-hex(weight_string('abc', 3, 3, 0xC0))
-0E330E
-select hex(weight_string('abc', 4, 3, 0xC0));
-hex(weight_string('abc', 4, 3, 0xC0))
-0E330E4A
-select hex(weight_string('abc', 5, 3, 0xC0));
-hex(weight_string('abc', 5, 3, 0xC0))
-0E330E4A0E
-select hex(weight_string('abc',25, 3, 0xC0));
-hex(weight_string('abc',25, 3, 0xC0))
-0E330E4A0E6002090209020902090209020902090209020902
-select hex(weight_string('abc', 1, 4, 0xC0));
-hex(weight_string('abc', 1, 4, 0xC0))
-0E
-select hex(weight_string('abc', 2, 4, 0xC0));
-hex(weight_string('abc', 2, 4, 0xC0))
-0E33
-select hex(weight_string('abc', 3, 4, 0xC0));
-hex(weight_string('abc', 3, 4, 0xC0))
-0E330E
-select hex(weight_string('abc', 4, 4, 0xC0));
-hex(weight_string('abc', 4, 4, 0xC0))
-0E330E4A
-select hex(weight_string('abc', 5, 4, 0xC0));
-hex(weight_string('abc', 5, 4, 0xC0))
-0E330E4A0E
-select hex(weight_string('abc',25, 4, 0xC0));
-hex(weight_string('abc',25, 4, 0xC0))
-0E330E4A0E6002090209020902090209020902090209020902
-select @@collation_connection;
-@@collation_connection
-utf32_unicode_ci
-select hex(weight_string(cast(_latin1 0x80 as char)));
-hex(weight_string(cast(_latin1 0x80 as char)))
-0E23
-select hex(weight_string(cast(_latin1 0x808080 as char)));
-hex(weight_string(cast(_latin1 0x808080 as char)))
-0E230E230E23
-select hex(weight_string(cast(_latin1 0x808080 as char) as char(2)));
-hex(weight_string(cast(_latin1 0x808080 as char) as char(2)))
-0E230E23
-select hex(weight_string(cast(_latin1 0x808080 as char) as char(3)));
-hex(weight_string(cast(_latin1 0x808080 as char) as char(3)))
-0E230E230E23
-select hex(weight_string(cast(_latin1 0x808080 as char) as char(5)));
-hex(weight_string(cast(_latin1 0x808080 as char) as char(5)))
-0E230E230E2302090209
-select hex(weight_string(cast(_latin1 0x808080 as char), 1, 2, 0xC0));
-hex(weight_string(cast(_latin1 0x808080 as char), 1, 2, 0xC0))
-0E
-select hex(weight_string(cast(_latin1 0x808080 as char), 2, 2, 0xC0));
-hex(weight_string(cast(_latin1 0x808080 as char), 2, 2, 0xC0))
-0E23
-select hex(weight_string(cast(_latin1 0x808080 as char), 3, 2, 0xC0));
-hex(weight_string(cast(_latin1 0x808080 as char), 3, 2, 0xC0))
-0E230E
-select hex(weight_string(cast(_latin1 0x808080 as char), 4, 2, 0xC0));
-hex(weight_string(cast(_latin1 0x808080 as char), 4, 2, 0xC0))
-0E230E23
-select hex(weight_string(cast(_latin1 0x808080 as char), 5, 2, 0xC0));
-hex(weight_string(cast(_latin1 0x808080 as char), 5, 2, 0xC0))
-0E230E2302
-select hex(weight_string(cast(_latin1 0x808080 as char),25, 2, 0xC0));
-hex(weight_string(cast(_latin1 0x808080 as char),25, 2, 0xC0))
-0E230E23020902090209020902090209020902090209020902
-select hex(weight_string(cast(_latin1 0x808080 as char), 1, 3, 0xC0));
-hex(weight_string(cast(_latin1 0x808080 as char), 1, 3, 0xC0))
-0E
-select hex(weight_string(cast(_latin1 0x808080 as char), 2, 3, 0xC0));
-hex(weight_string(cast(_latin1 0x808080 as char), 2, 3, 0xC0))
-0E23
-select hex(weight_string(cast(_latin1 0x808080 as char), 3, 3, 0xC0));
-hex(weight_string(cast(_latin1 0x808080 as char), 3, 3, 0xC0))
-0E230E
-select hex(weight_string(cast(_latin1 0x808080 as char), 4, 3, 0xC0));
-hex(weight_string(cast(_latin1 0x808080 as char), 4, 3, 0xC0))
-0E230E23
-select hex(weight_string(cast(_latin1 0x808080 as char), 5, 3, 0xC0));
-hex(weight_string(cast(_latin1 0x808080 as char), 5, 3, 0xC0))
-0E230E230E
-select hex(weight_string(cast(_latin1 0x808080 as char),25, 3, 0xC0));
-hex(weight_string(cast(_latin1 0x808080 as char),25, 3, 0xC0))
-0E230E230E2302090209020902090209020902090209020902
-select hex(weight_string(cast(_latin1 0x808080 as char), 1, 4, 0xC0));
-hex(weight_string(cast(_latin1 0x808080 as char), 1, 4, 0xC0))
-0E
-select hex(weight_string(cast(_latin1 0x808080 as char), 2, 4, 0xC0));
-hex(weight_string(cast(_latin1 0x808080 as char), 2, 4, 0xC0))
-0E23
-select hex(weight_string(cast(_latin1 0x808080 as char), 3, 4, 0xC0));
-hex(weight_string(cast(_latin1 0x808080 as char), 3, 4, 0xC0))
-0E230E
-select hex(weight_string(cast(_latin1 0x808080 as char), 4, 4, 0xC0));
-hex(weight_string(cast(_latin1 0x808080 as char), 4, 4, 0xC0))
-0E230E23
-select hex(weight_string(cast(_latin1 0x808080 as char), 5, 4, 0xC0));
-hex(weight_string(cast(_latin1 0x808080 as char), 5, 4, 0xC0))
-0E230E230E
-select hex(weight_string(cast(_latin1 0x808080 as char),25, 4, 0xC0));
-hex(weight_string(cast(_latin1 0x808080 as char),25, 4, 0xC0))
-0E230E230E2302090209020902090209020902090209020902
-select hex(weight_string(_utf32 0x10000 collate utf32_unicode_ci));
-hex(weight_string(_utf32 0x10000 collate utf32_unicode_ci))
-FFFD
-select hex(weight_string(_utf32 0x10001 collate utf32_unicode_ci));
-hex(weight_string(_utf32 0x10001 collate utf32_unicode_ci))
-FFFD
-select @@collation_connection;
-@@collation_connection
-utf32_unicode_ci
-select hex(weight_string('a' LEVEL 1));
-hex(weight_string('a' LEVEL 1))
-0E33
-select hex(weight_string('A' LEVEL 1));
-hex(weight_string('A' LEVEL 1))
-0E33
-select hex(weight_string('abc' LEVEL 1));
-hex(weight_string('abc' LEVEL 1))
-0E330E4A0E60
-select hex(weight_string('abc' as char(2) LEVEL 1));
-hex(weight_string('abc' as char(2) LEVEL 1))
-0E330E4A
-select hex(weight_string('abc' as char(3) LEVEL 1));
-hex(weight_string('abc' as char(3) LEVEL 1))
-0E330E4A0E60
-select hex(weight_string('abc' as char(5) LEVEL 1));
-hex(weight_string('abc' as char(5) LEVEL 1))
-0E330E4A0E6002090209
-select hex(weight_string('abc' as char(5) LEVEL 1 REVERSE));
-hex(weight_string('abc' as char(5) LEVEL 1 REVERSE))
-09020902600E4A0E330E
-select hex(weight_string('abc' as char(5) LEVEL 1 DESC));
-hex(weight_string('abc' as char(5) LEVEL 1 DESC))
-F1CCF1B5F19FFDF6FDF6
-select hex(weight_string('abc' as char(5) LEVEL 1 DESC REVERSE));
-hex(weight_string('abc' as char(5) LEVEL 1 DESC REVERSE))
-F6FDF6FD9FF1B5F1CCF1
-set @@collation_connection=utf32_czech_ci;
-select @@collation_connection;
-@@collation_connection
-utf32_czech_ci
-select collation(cast(_latin1 0xDF as char));
-collation(cast(_latin1 0xDF as char))
-utf32_czech_ci
-select hex(weight_string('s'));
-hex(weight_string('s'))
-0FEA
-select hex(weight_string(cast(_latin1 0xDF as char)));
-hex(weight_string(cast(_latin1 0xDF as char)))
-0FEA0FEA
-select hex(weight_string(cast(_latin1 0xDF as char) as char(1)));
-hex(weight_string(cast(_latin1 0xDF as char) as char(1)))
-0FEA
-select hex(weight_string('c'));
-hex(weight_string('c'))
-0E60
-select hex(weight_string('h'));
-hex(weight_string('h'))
-0EE1
-select hex(weight_string('ch'));
-hex(weight_string('ch'))
-0EE2
-select hex(weight_string('i'));
-hex(weight_string('i'))
-0EFB
-select hex(weight_string(cast(_latin1 0x6368DF as char)));
-hex(weight_string(cast(_latin1 0x6368DF as char)))
-0EE20FEA0FEA
-select hex(weight_string(cast(_latin1 0x6368DF as char) as char(1)));
-hex(weight_string(cast(_latin1 0x6368DF as char) as char(1)))
-0EE2
-select hex(weight_string(cast(_latin1 0x6368DF as char) as char(2)));
-hex(weight_string(cast(_latin1 0x6368DF as char) as char(2)))
-0EE20FEA
-select hex(weight_string(cast(_latin1 0x6368DF as char) as char(3)));
-hex(weight_string(cast(_latin1 0x6368DF as char) as char(3)))
-0EE20FEA0FEA
-select hex(weight_string(cast(_latin1 0x6368DF as char) as char(4)));
-hex(weight_string(cast(_latin1 0x6368DF as char) as char(4)))
-0EE20FEA0FEA0209
-select hex(weight_string(cast(_latin1 0xDF6368 as char)));
-hex(weight_string(cast(_latin1 0xDF6368 as char)))
-0FEA0FEA0EE2
-select hex(weight_string(cast(_latin1 0xDF6368 as char) as char(1)));
-hex(weight_string(cast(_latin1 0xDF6368 as char) as char(1)))
-0FEA
-select hex(weight_string(cast(_latin1 0xDF6368 as char) as char(2)));
-hex(weight_string(cast(_latin1 0xDF6368 as char) as char(2)))
-0FEA0FEA
-select hex(weight_string(cast(_latin1 0xDF6368 as char) as char(3)));
-hex(weight_string(cast(_latin1 0xDF6368 as char) as char(3)))
-0FEA0FEA0EE2
-select hex(weight_string(cast(_latin1 0xDF6368 as char) as char(4)));
-hex(weight_string(cast(_latin1 0xDF6368 as char) as char(4)))
-0FEA0FEA0EE20209
-select hex(weight_string(cast(_latin1 0x6368DF as char), 1, 2, 0xC0));
-hex(weight_string(cast(_latin1 0x6368DF as char), 1, 2, 0xC0))
-0E
-select hex(weight_string(cast(_latin1 0x6368DF as char), 2, 2, 0xC0));
-hex(weight_string(cast(_latin1 0x6368DF as char), 2, 2, 0xC0))
-0EE2
-select hex(weight_string(cast(_latin1 0x6368DF as char), 3, 2, 0xC0));
-hex(weight_string(cast(_latin1 0x6368DF as char), 3, 2, 0xC0))
-0EE20F
-select hex(weight_string(cast(_latin1 0x6368DF as char), 4, 2, 0xC0));
-hex(weight_string(cast(_latin1 0x6368DF as char), 4, 2, 0xC0))
-0EE20FEA
-select hex(weight_string(cast(_latin1 0x6368DF as char),25, 2, 0xC0));
-hex(weight_string(cast(_latin1 0x6368DF as char),25, 2, 0xC0))
-0EE20FEA020902090209020902090209020902090209020902
-select hex(weight_string(cast(_latin1 0x6368DF as char), 1, 3, 0xC0));
-hex(weight_string(cast(_latin1 0x6368DF as char), 1, 3, 0xC0))
-0E
-select hex(weight_string(cast(_latin1 0x6368DF as char), 2, 3, 0xC0));
-hex(weight_string(cast(_latin1 0x6368DF as char), 2, 3, 0xC0))
-0EE2
-select hex(weight_string(cast(_latin1 0x6368DF as char), 3, 3, 0xC0));
-hex(weight_string(cast(_latin1 0x6368DF as char), 3, 3, 0xC0))
-0EE20F
-select hex(weight_string(cast(_latin1 0x6368DF as char), 4, 3, 0xC0));
-hex(weight_string(cast(_latin1 0x6368DF as char), 4, 3, 0xC0))
-0EE20FEA
-select hex(weight_string(cast(_latin1 0x6368DF as char),25, 3, 0xC0));
-hex(weight_string(cast(_latin1 0x6368DF as char),25, 3, 0xC0))
-0EE20FEA0FEA02090209020902090209020902090209020902
-select hex(weight_string(cast(_latin1 0x6368DF as char), 1, 4, 0xC0));
-hex(weight_string(cast(_latin1 0x6368DF as char), 1, 4, 0xC0))
-0E
-select hex(weight_string(cast(_latin1 0x6368DF as char), 2, 4, 0xC0));
-hex(weight_string(cast(_latin1 0x6368DF as char), 2, 4, 0xC0))
-0EE2
-select hex(weight_string(cast(_latin1 0x6368DF as char), 3, 4, 0xC0));
-hex(weight_string(cast(_latin1 0x6368DF as char), 3, 4, 0xC0))
-0EE20F
-select hex(weight_string(cast(_latin1 0x6368DF as char), 4, 4, 0xC0));
-hex(weight_string(cast(_latin1 0x6368DF as char), 4, 4, 0xC0))
-0EE20FEA
-select hex(weight_string(cast(_latin1 0x6368DF as char),25, 4, 0xC0));
-hex(weight_string(cast(_latin1 0x6368DF as char),25, 4, 0xC0))
-0EE20FEA0FEA02090209020902090209020902090209020902
-select hex(weight_string(cast(_latin1 0xDF6368 as char), 1, 2,0xC0));
-hex(weight_string(cast(_latin1 0xDF6368 as char), 1, 2,0xC0))
-0F
-select hex(weight_string(cast(_latin1 0xDF6368 as char), 2, 2,0xC0));
-hex(weight_string(cast(_latin1 0xDF6368 as char), 2, 2,0xC0))
-0FEA
-select hex(weight_string(cast(_latin1 0xDF6368 as char), 3, 2,0xC0));
-hex(weight_string(cast(_latin1 0xDF6368 as char), 3, 2,0xC0))
-0FEA0F
-select hex(weight_string(cast(_latin1 0xDF6368 as char), 4, 2,0xC0));
-hex(weight_string(cast(_latin1 0xDF6368 as char), 4, 2,0xC0))
-0FEA0FEA
-select hex(weight_string(cast(_latin1 0xDF6368 as char),25, 2,0xC0));
-hex(weight_string(cast(_latin1 0xDF6368 as char),25, 2,0xC0))
-0FEA0FEA020902090209020902090209020902090209020902
-select hex(weight_string(cast(_latin1 0xDF6368 as char), 1, 3,0xC0));
-hex(weight_string(cast(_latin1 0xDF6368 as char), 1, 3,0xC0))
-0F
-select hex(weight_string(cast(_latin1 0xDF6368 as char), 2, 3,0xC0));
-hex(weight_string(cast(_latin1 0xDF6368 as char), 2, 3,0xC0))
-0FEA
-select hex(weight_string(cast(_latin1 0xDF6368 as char), 3, 3,0xC0));
-hex(weight_string(cast(_latin1 0xDF6368 as char), 3, 3,0xC0))
-0FEA0F
-select hex(weight_string(cast(_latin1 0xDF6368 as char), 4, 3,0xC0));
-hex(weight_string(cast(_latin1 0xDF6368 as char), 4, 3,0xC0))
-0FEA0FEA
-select hex(weight_string(cast(_latin1 0xDF6368 as char),25, 3,0xC0));
-hex(weight_string(cast(_latin1 0xDF6368 as char),25, 3,0xC0))
-0FEA0FEA0EE202090209020902090209020902090209020902
-select hex(weight_string(cast(_latin1 0xDF6368 as char), 1, 4,0xC0));
-hex(weight_string(cast(_latin1 0xDF6368 as char), 1, 4,0xC0))
-0F
-select hex(weight_string(cast(_latin1 0xDF6368 as char), 2, 4,0xC0));
-hex(weight_string(cast(_latin1 0xDF6368 as char), 2, 4,0xC0))
-0FEA
-select hex(weight_string(cast(_latin1 0xDF6368 as char), 3, 4,0xC0));
-hex(weight_string(cast(_latin1 0xDF6368 as char), 3, 4,0xC0))
-0FEA0F
-select hex(weight_string(cast(_latin1 0xDF6368 as char), 4, 4,0xC0));
-hex(weight_string(cast(_latin1 0xDF6368 as char), 4, 4,0xC0))
-0FEA0FEA
-select hex(weight_string(cast(_latin1 0xDF6368 as char),25, 4,0xC0));
-hex(weight_string(cast(_latin1 0xDF6368 as char),25, 4,0xC0))
-0FEA0FEA0EE202090209020902090209020902090209020902
-set collation_connection=utf32_unicode_ci;
-drop table if exists t1;
-create table t1 as
-select repeat(' ', 64) as s1, repeat(' ',64) as s2
-union
-select null, null;
-show create table t1;
-Table Create Table
-t1 CREATE TABLE `t1` (
- `s1` varchar(64) CHARACTER SET utf32 COLLATE utf32_unicode_ci DEFAULT NULL,
- `s2` varchar(64) CHARACTER SET utf32 COLLATE utf32_unicode_ci DEFAULT NULL
-) ENGINE=MyISAM DEFAULT CHARSET=latin1
-delete from t1;
-insert into t1 values('aaa','aaa');
-insert into t1 values('aaa|qqq','qqq');
-insert into t1 values('gheis','^[^a-dXYZ]+$');
-insert into t1 values('aab','^aa?b');
-insert into t1 values('Baaan','^Ba*n');
-insert into t1 values('aaa','qqq|aaa');
-insert into t1 values('qqq','qqq|aaa');
-insert into t1 values('bbb','qqq|aaa');
-insert into t1 values('bbb','qqq');
-insert into t1 values('aaa','aba');
-insert into t1 values(null,'abc');
-insert into t1 values('def',null);
-insert into t1 values(null,null);
-insert into t1 values('ghi','ghi[');
-select HIGH_PRIORITY s1 regexp s2 from t1;
-s1 regexp s2
-1
-1
-1
-1
-1
-1
-1
-0
-0
-0
-NULL
-NULL
-NULL
-NULL
-drop table t1;
-set names latin1;
-End of 5.2 tests
=== modified file 'mysql-test/r/ctype_utf8.result'
--- a/mysql-test/r/ctype_utf8.result 2009-02-13 16:30:54 +0000
+++ b/mysql-test/r/ctype_utf8.result 2009-06-02 13:04:43 +0000
@@ -240,7 +240,7 @@ select hex(s1) from t1;
hex(s1)
41
drop table t1;
-create table t1 (a text character set utf8, primary key(a(371)));
+create table t1 (a text character set utf8, primary key(a(495)));
ERROR 42000: Specified key was too long; max key length is 1332 bytes
CREATE TABLE t1 ( a varchar(10) ) CHARACTER SET utf8;
INSERT INTO t1 VALUES ( 'test' );
@@ -1417,10 +1417,10 @@ Kali Kali 2+4
Kali Kali 2+4
EXPLAIN SELECT a FROM t1 WHERE a LIKE 'Käli Käli 2+4';
id select_type table type possible_keys key key_len ref rows Extra
-1 SIMPLE t1 range a a 53 NULL 4 Using where; Using index
+1 SIMPLE t1 range a a 40 NULL 4 Using where; Using index
EXPLAIN SELECT a FROM t1 WHERE a = 'Käli Käli 2+4';
id select_type table type possible_keys key key_len ref rows Extra
-1 SIMPLE t1 ref a a 53 const 4 Using where; Using index
+1 SIMPLE t1 ref a a 40 const 4 Using where; Using index
EXPLAIN SELECT a FROM t2 WHERE a LIKE 'Kali Kali 2+4';
id select_type table type possible_keys key key_len ref rows Extra
1 SIMPLE t2 range a a 14 NULL 4 Using where; Using index
@@ -1915,39 +1915,6 @@ CONVERT(a, CHAR) CONVERT(b, CHAR)
70000 1092
DROP TABLE t1;
End of 5.0 tests
-create table t1 (utf8 char(1) character set utf8);
-Testing [F0][90..BF][80..BF][80..BF]
-insert into t1 values (0xF0908080);
-insert into t1 values (0xF0BFBFBF);
-insert into t1 values (0xF08F8080);
-Warnings:
-Warning 1366 Incorrect string value: '\xF0\x8F\x80\x80' for column 'utf8' at row 1
-select hex(utf8) from t1;
-hex(utf8)
-F0908080
-F0BFBFBF
-
-delete from t1;
-Testing [F2..F3][80..BF][80..BF][80..BF]
-insert into t1 values (0xF2808080);
-insert into t1 values (0xF2BFBFBF);
-select hex(utf8) from t1;
-hex(utf8)
-F2808080
-F2BFBFBF
-delete from t1;
-Testing [F4][80..8F][80..BF][80..BF]
-insert into t1 values (0xF4808080);
-insert into t1 values (0xF48F8080);
-insert into t1 values (0xF4908080);
-Warnings:
-Warning 1366 Incorrect string value: '\xF4\x90\x80\x80' for column 'utf8' at row 1
-select hex(utf8) from t1;
-hex(utf8)
-F4808080
-F48F8080
-
-drop table t1;
DROP TABLE IF EXISTS t1;
CREATE TABLE t1 (
predicted_order int NOT NULL,
@@ -2561,12 +2528,4 @@ predicted_order hex(utf8_encoding)
100 E0B78AE2808DE0B6BA
101 E0B78AE2808DE0B6BB
DROP TABLE t1;
-CREATE DATABASE `𐀀`;
-ERROR HY000: Invalid identifier character string: '𐀀'
-CREATE TABLE `𐀀` (a int);
-ERROR HY000: Invalid identifier character string: '𐀀'
-CREATE TABLE test.t1 SELECT '𐀀';
-ERROR 42000: Incorrect column name '𐀀'
-CREATE USER `𐀀`;
-ERROR HY000: Invalid identifier character string: '𐀀'
End of tests
=== modified file 'mysql-test/r/group_by.result'
--- a/mysql-test/r/group_by.result 2009-02-26 17:31:59 +0000
+++ b/mysql-test/r/group_by.result 2009-06-02 13:04:43 +0000
@@ -697,7 +697,7 @@ from t1 x3, t1 x4, t1 C, t1 D where x3.a
delete from t2 where a = 2 and b = 'val-2' order by a,b,c,d limit 30;
explain select c from t2 where a = 2 and b = 'val-2' group by c;
id select_type table type possible_keys key key_len ref rows Extra
-1 SIMPLE t2 ref PRIMARY,a PRIMARY 534 const,const 6 Using where
+1 SIMPLE t2 ref PRIMARY,a PRIMARY 402 const,const 6 Using where
select c from t2 where a = 2 and b = 'val-2' group by c;
c
val-74
=== removed file 'mysql-test/r/have_utf16.require'
--- a/mysql-test/r/have_utf16.require 2007-10-22 11:43:32 +0000
+++ b/mysql-test/r/have_utf16.require 1970-01-01 00:00:00 +0000
@@ -1,2 +0,0 @@
-Collation Charset Id Default Compiled Sortlen
-utf16_general_ci utf16 54 Yes Yes 1
=== removed file 'mysql-test/r/have_utf32.require'
--- a/mysql-test/r/have_utf32.require 2007-10-22 11:43:32 +0000
+++ b/mysql-test/r/have_utf32.require 1970-01-01 00:00:00 +0000
@@ -1,2 +0,0 @@
-Collation Charset Id Default Compiled Sortlen
-utf32_general_ci utf32 60 Yes Yes 1
=== modified file 'mysql-test/r/information_schema_parameters.result'
--- a/mysql-test/r/information_schema_parameters.result 2009-02-16 14:47:53 +0000
+++ b/mysql-test/r/information_schema_parameters.result 2009-06-02 13:04:43 +0000
@@ -32,7 +32,7 @@ COLUMN_DEFAULT
IS_NULLABLE NO
DATA_TYPE varchar
CHARACTER_MAXIMUM_LENGTH 512
-CHARACTER_OCTET_LENGTH 2048
+CHARACTER_OCTET_LENGTH 1536
NUMERIC_PRECISION NULL
NUMERIC_SCALE NULL
CHARACTER_SET_NAME utf8
@@ -53,7 +53,7 @@ COLUMN_DEFAULT
IS_NULLABLE NO
DATA_TYPE varchar
CHARACTER_MAXIMUM_LENGTH 64
-CHARACTER_OCTET_LENGTH 256
+CHARACTER_OCTET_LENGTH 192
NUMERIC_PRECISION NULL
NUMERIC_SCALE NULL
CHARACTER_SET_NAME utf8
@@ -74,7 +74,7 @@ COLUMN_DEFAULT
IS_NULLABLE NO
DATA_TYPE varchar
CHARACTER_MAXIMUM_LENGTH 64
-CHARACTER_OCTET_LENGTH 256
+CHARACTER_OCTET_LENGTH 192
NUMERIC_PRECISION NULL
NUMERIC_SCALE NULL
CHARACTER_SET_NAME utf8
@@ -116,7 +116,7 @@ COLUMN_DEFAULT NULL
IS_NULLABLE YES
DATA_TYPE varchar
CHARACTER_MAXIMUM_LENGTH 5
-CHARACTER_OCTET_LENGTH 20
+CHARACTER_OCTET_LENGTH 15
NUMERIC_PRECISION NULL
NUMERIC_SCALE NULL
CHARACTER_SET_NAME utf8
@@ -137,7 +137,7 @@ COLUMN_DEFAULT NULL
IS_NULLABLE YES
DATA_TYPE varchar
CHARACTER_MAXIMUM_LENGTH 64
-CHARACTER_OCTET_LENGTH 256
+CHARACTER_OCTET_LENGTH 192
NUMERIC_PRECISION NULL
NUMERIC_SCALE NULL
CHARACTER_SET_NAME utf8
@@ -158,7 +158,7 @@ COLUMN_DEFAULT
IS_NULLABLE NO
DATA_TYPE varchar
CHARACTER_MAXIMUM_LENGTH 64
-CHARACTER_OCTET_LENGTH 256
+CHARACTER_OCTET_LENGTH 192
NUMERIC_PRECISION NULL
NUMERIC_SCALE NULL
CHARACTER_SET_NAME utf8
@@ -263,7 +263,7 @@ COLUMN_DEFAULT NULL
IS_NULLABLE YES
DATA_TYPE varchar
CHARACTER_MAXIMUM_LENGTH 64
-CHARACTER_OCTET_LENGTH 256
+CHARACTER_OCTET_LENGTH 192
NUMERIC_PRECISION NULL
NUMERIC_SCALE NULL
CHARACTER_SET_NAME utf8
@@ -284,7 +284,7 @@ COLUMN_DEFAULT NULL
IS_NULLABLE YES
DATA_TYPE varchar
CHARACTER_MAXIMUM_LENGTH 64
-CHARACTER_OCTET_LENGTH 256
+CHARACTER_OCTET_LENGTH 192
NUMERIC_PRECISION NULL
NUMERIC_SCALE NULL
CHARACTER_SET_NAME utf8
@@ -326,7 +326,7 @@ COLUMN_DEFAULT
IS_NULLABLE NO
DATA_TYPE varchar
CHARACTER_MAXIMUM_LENGTH 9
-CHARACTER_OCTET_LENGTH 36
+CHARACTER_OCTET_LENGTH 27
NUMERIC_PRECISION NULL
NUMERIC_SCALE NULL
CHARACTER_SET_NAME utf8
@@ -482,6 +482,6 @@ RETURN CONCAT('XYZ, ' ,s);
SELECT * FROM INFORMATION_SCHEMA.PARAMETERS
WHERE SPECIFIC_SCHEMA = 'i_s_parameters_test' AND SPECIFIC_NAME = 'test_func5';
SPECIFIC_CATALOG SPECIFIC_SCHEMA SPECIFIC_NAME ORDINAL_POSITION PARAMETER_MODE PARAMETER_NAME DATA_TYPE CHARACTER_MAXIMUM_LENGTH CHARACTER_OCTET_LENGTH NUMERIC_PRECISION NUMERIC_SCALE CHARACTER_SET_NAME COLLATION_NAME DTD_IDENTIFIER ROUTINE_TYPE
-def i_s_parameters_test test_func5 0 NULL NULL varchar 30 120 NULL NULL utf8 utf8_general_ci varchar(30) FUNCTION
-def i_s_parameters_test test_func5 1 IN s char 20 80 NULL NULL utf8 utf8_general_ci char(20) FUNCTION
+def i_s_parameters_test test_func5 0 NULL NULL varchar 30 90 NULL NULL utf8 utf8_general_ci varchar(30) FUNCTION
+def i_s_parameters_test test_func5 1 IN s char 20 60 NULL NULL utf8 utf8_general_ci char(20) FUNCTION
DROP DATABASE i_s_parameters_test;
=== modified file 'mysql-test/r/information_schema_routines.result'
--- a/mysql-test/r/information_schema_routines.result 2009-02-16 14:47:53 +0000
+++ b/mysql-test/r/information_schema_routines.result 2009-06-02 13:04:43 +0000
@@ -47,7 +47,7 @@ COLUMN_DEFAULT
IS_NULLABLE NO
DATA_TYPE varchar
CHARACTER_MAXIMUM_LENGTH 64
-CHARACTER_OCTET_LENGTH 256
+CHARACTER_OCTET_LENGTH 192
NUMERIC_PRECISION NULL
NUMERIC_SCALE NULL
CHARACTER_SET_NAME utf8
@@ -68,7 +68,7 @@ COLUMN_DEFAULT
IS_NULLABLE NO
DATA_TYPE varchar
CHARACTER_MAXIMUM_LENGTH 512
-CHARACTER_OCTET_LENGTH 2048
+CHARACTER_OCTET_LENGTH 1536
NUMERIC_PRECISION NULL
NUMERIC_SCALE NULL
CHARACTER_SET_NAME utf8
@@ -89,7 +89,7 @@ COLUMN_DEFAULT
IS_NULLABLE NO
DATA_TYPE varchar
CHARACTER_MAXIMUM_LENGTH 64
-CHARACTER_OCTET_LENGTH 256
+CHARACTER_OCTET_LENGTH 192
NUMERIC_PRECISION NULL
NUMERIC_SCALE NULL
CHARACTER_SET_NAME utf8
@@ -110,7 +110,7 @@ COLUMN_DEFAULT
IS_NULLABLE NO
DATA_TYPE varchar
CHARACTER_MAXIMUM_LENGTH 64
-CHARACTER_OCTET_LENGTH 256
+CHARACTER_OCTET_LENGTH 192
NUMERIC_PRECISION NULL
NUMERIC_SCALE NULL
CHARACTER_SET_NAME utf8
@@ -131,7 +131,7 @@ COLUMN_DEFAULT
IS_NULLABLE NO
DATA_TYPE varchar
CHARACTER_MAXIMUM_LENGTH 9
-CHARACTER_OCTET_LENGTH 36
+CHARACTER_OCTET_LENGTH 27
NUMERIC_PRECISION NULL
NUMERIC_SCALE NULL
CHARACTER_SET_NAME utf8
@@ -152,7 +152,7 @@ COLUMN_DEFAULT
IS_NULLABLE NO
DATA_TYPE varchar
CHARACTER_MAXIMUM_LENGTH 64
-CHARACTER_OCTET_LENGTH 256
+CHARACTER_OCTET_LENGTH 192
NUMERIC_PRECISION NULL
NUMERIC_SCALE NULL
CHARACTER_SET_NAME utf8
@@ -257,7 +257,7 @@ COLUMN_DEFAULT NULL
IS_NULLABLE YES
DATA_TYPE varchar
CHARACTER_MAXIMUM_LENGTH 64
-CHARACTER_OCTET_LENGTH 256
+CHARACTER_OCTET_LENGTH 192
NUMERIC_PRECISION NULL
NUMERIC_SCALE NULL
CHARACTER_SET_NAME utf8
@@ -278,7 +278,7 @@ COLUMN_DEFAULT NULL
IS_NULLABLE YES
DATA_TYPE varchar
CHARACTER_MAXIMUM_LENGTH 64
-CHARACTER_OCTET_LENGTH 256
+CHARACTER_OCTET_LENGTH 192
NUMERIC_PRECISION NULL
NUMERIC_SCALE NULL
CHARACTER_SET_NAME utf8
@@ -320,7 +320,7 @@ COLUMN_DEFAULT
IS_NULLABLE NO
DATA_TYPE varchar
CHARACTER_MAXIMUM_LENGTH 8
-CHARACTER_OCTET_LENGTH 32
+CHARACTER_OCTET_LENGTH 24
NUMERIC_PRECISION NULL
NUMERIC_SCALE NULL
CHARACTER_SET_NAME utf8
@@ -362,7 +362,7 @@ COLUMN_DEFAULT NULL
IS_NULLABLE YES
DATA_TYPE varchar
CHARACTER_MAXIMUM_LENGTH 64
-CHARACTER_OCTET_LENGTH 256
+CHARACTER_OCTET_LENGTH 192
NUMERIC_PRECISION NULL
NUMERIC_SCALE NULL
CHARACTER_SET_NAME utf8
@@ -383,7 +383,7 @@ COLUMN_DEFAULT NULL
IS_NULLABLE YES
DATA_TYPE varchar
CHARACTER_MAXIMUM_LENGTH 64
-CHARACTER_OCTET_LENGTH 256
+CHARACTER_OCTET_LENGTH 192
NUMERIC_PRECISION NULL
NUMERIC_SCALE NULL
CHARACTER_SET_NAME utf8
@@ -404,7 +404,7 @@ COLUMN_DEFAULT
IS_NULLABLE NO
DATA_TYPE varchar
CHARACTER_MAXIMUM_LENGTH 8
-CHARACTER_OCTET_LENGTH 32
+CHARACTER_OCTET_LENGTH 24
NUMERIC_PRECISION NULL
NUMERIC_SCALE NULL
CHARACTER_SET_NAME utf8
@@ -425,7 +425,7 @@ COLUMN_DEFAULT
IS_NULLABLE NO
DATA_TYPE varchar
CHARACTER_MAXIMUM_LENGTH 3
-CHARACTER_OCTET_LENGTH 12
+CHARACTER_OCTET_LENGTH 9
NUMERIC_PRECISION NULL
NUMERIC_SCALE NULL
CHARACTER_SET_NAME utf8
@@ -446,7 +446,7 @@ COLUMN_DEFAULT
IS_NULLABLE NO
DATA_TYPE varchar
CHARACTER_MAXIMUM_LENGTH 64
-CHARACTER_OCTET_LENGTH 256
+CHARACTER_OCTET_LENGTH 192
NUMERIC_PRECISION NULL
NUMERIC_SCALE NULL
CHARACTER_SET_NAME utf8
@@ -467,7 +467,7 @@ COLUMN_DEFAULT NULL
IS_NULLABLE YES
DATA_TYPE varchar
CHARACTER_MAXIMUM_LENGTH 64
-CHARACTER_OCTET_LENGTH 256
+CHARACTER_OCTET_LENGTH 192
NUMERIC_PRECISION NULL
NUMERIC_SCALE NULL
CHARACTER_SET_NAME utf8
@@ -488,7 +488,7 @@ COLUMN_DEFAULT
IS_NULLABLE NO
DATA_TYPE varchar
CHARACTER_MAXIMUM_LENGTH 7
-CHARACTER_OCTET_LENGTH 28
+CHARACTER_OCTET_LENGTH 21
NUMERIC_PRECISION NULL
NUMERIC_SCALE NULL
CHARACTER_SET_NAME utf8
@@ -551,7 +551,7 @@ COLUMN_DEFAULT
IS_NULLABLE NO
DATA_TYPE varchar
CHARACTER_MAXIMUM_LENGTH 8192
-CHARACTER_OCTET_LENGTH 32768
+CHARACTER_OCTET_LENGTH 24576
NUMERIC_PRECISION NULL
NUMERIC_SCALE NULL
CHARACTER_SET_NAME utf8
@@ -572,7 +572,7 @@ COLUMN_DEFAULT
IS_NULLABLE NO
DATA_TYPE varchar
CHARACTER_MAXIMUM_LENGTH 64
-CHARACTER_OCTET_LENGTH 256
+CHARACTER_OCTET_LENGTH 192
NUMERIC_PRECISION NULL
NUMERIC_SCALE NULL
CHARACTER_SET_NAME utf8
@@ -593,7 +593,7 @@ COLUMN_DEFAULT
IS_NULLABLE NO
DATA_TYPE varchar
CHARACTER_MAXIMUM_LENGTH 77
-CHARACTER_OCTET_LENGTH 308
+CHARACTER_OCTET_LENGTH 231
NUMERIC_PRECISION NULL
NUMERIC_SCALE NULL
CHARACTER_SET_NAME utf8
@@ -614,7 +614,7 @@ COLUMN_DEFAULT
IS_NULLABLE NO
DATA_TYPE varchar
CHARACTER_MAXIMUM_LENGTH 32
-CHARACTER_OCTET_LENGTH 128
+CHARACTER_OCTET_LENGTH 96
NUMERIC_PRECISION NULL
NUMERIC_SCALE NULL
CHARACTER_SET_NAME utf8
@@ -635,7 +635,7 @@ COLUMN_DEFAULT
IS_NULLABLE NO
DATA_TYPE varchar
CHARACTER_MAXIMUM_LENGTH 32
-CHARACTER_OCTET_LENGTH 128
+CHARACTER_OCTET_LENGTH 96
NUMERIC_PRECISION NULL
NUMERIC_SCALE NULL
CHARACTER_SET_NAME utf8
@@ -656,7 +656,7 @@ COLUMN_DEFAULT
IS_NULLABLE NO
DATA_TYPE varchar
CHARACTER_MAXIMUM_LENGTH 32
-CHARACTER_OCTET_LENGTH 128
+CHARACTER_OCTET_LENGTH 96
NUMERIC_PRECISION NULL
NUMERIC_SCALE NULL
CHARACTER_SET_NAME utf8
@@ -793,5 +793,5 @@ RETURN CONCAT('XYZ, ' ,s);
SELECT * FROM INFORMATION_SCHEMA.ROUTINES
WHERE ROUTINE_SCHEMA = 'i_s_routines_test' AND ROUTINE_NAME = 'test_func5';
SPECIFIC_NAME ROUTINE_CATALOG ROUTINE_SCHEMA ROUTINE_NAME ROUTINE_TYPE DATA_TYPE CHARACTER_MAXIMUM_LENGTH CHARACTER_OCTET_LENGTH NUMERIC_PRECISION NUMERIC_SCALE CHARACTER_SET_NAME COLLATION_NAME DTD_IDENTIFIER ROUTINE_BODY ROUTINE_DEFINITION EXTERNAL_NAME EXTERNAL_LANGUAGE PARAMETER_STYLE IS_DETERMINISTIC SQL_DATA_ACCESS SQL_PATH SECURITY_TYPE CREATED LAST_ALTERED SQL_MODE ROUTINE_COMMENT DEFINER CHARACTER_SET_CLIENT COLLATION_CONNECTION DATABASE_COLLATION
-test_func5 def i_s_routines_test test_func5 FUNCTION varchar 30 120 NULL NULL utf8 utf8_general_ci varchar(30) SQL RETURN CONCAT('XYZ, ' ,s) NULL NULL SQL NO CONTAINS SQL NULL DEFINER <created> <modified> root@localhost latin1 latin1_swedish_ci utf8_general_ci
+test_func5 def i_s_routines_test test_func5 FUNCTION varchar 30 90 NULL NULL utf8 utf8_general_ci varchar(30) SQL RETURN CONCAT('XYZ, ' ,s) NULL NULL SQL NO CONTAINS SQL NULL DEFINER <created> <modified> root@localhost latin1 latin1_swedish_ci utf8_general_ci
DROP DATABASE i_s_routines_test;
=== modified file 'mysql-test/r/innodb.result'
--- a/mysql-test/r/innodb.result 2009-04-24 12:16:40 +0000
+++ b/mysql-test/r/innodb.result 2009-06-02 13:04:43 +0000
@@ -2689,17 +2689,17 @@ truncate t4;
truncate t1;
truncate t3;
drop table t4,t3,t2,t1;
-create table t1 (a varchar(255) character set utf8mb3,
-b varchar(255) character set utf8mb3,
-c varchar(255) character set utf8mb3,
-d varchar(255) character set utf8mb3,
+create table t1 (a varchar(255) character set utf8,
+b varchar(255) character set utf8,
+c varchar(255) character set utf8,
+d varchar(255) character set utf8,
key (a,b,c,d)) engine=innodb;
drop table t1;
-create table t1 (a varchar(255) character set utf8mb3,
-b varchar(255) character set utf8mb3,
-c varchar(255) character set utf8mb3,
-d varchar(255) character set utf8mb3,
-e varchar(255) character set utf8mb3,
+create table t1 (a varchar(255) character set utf8,
+b varchar(255) character set utf8,
+c varchar(255) character set utf8,
+d varchar(255) character set utf8,
+e varchar(255) character set utf8,
key (a,b,c,d,e)) engine=innodb;
ERROR 42000: Specified key was too long; max key length is 3500 bytes
create table t1 (s1 varbinary(2),primary key (s1)) engine=innodb;
@@ -3087,7 +3087,7 @@ PRIMARY KEY (a,b),
KEY idx_t2_b_c (b,c(200)),
CONSTRAINT t_fk FOREIGN KEY (a) REFERENCES t1 (a)
ON DELETE CASCADE
-) ENGINE=INNODB DEFAULT CHARSET=UTF8MB3;
+) ENGINE=INNODB DEFAULT CHARSET=UTF8;
INSERT INTO t1 VALUES (1);
INSERT INTO t2 VALUES (1, 'bar', 'vbar');
INSERT INTO t2 VALUES (1, 'BAR2', 'VBAR');
=== modified file 'mysql-test/r/innodb_ctype_ldml.result'
--- a/mysql-test/r/innodb_ctype_ldml.result 2009-03-16 15:19:05 +0000
+++ b/mysql-test/r/innodb_ctype_ldml.result 2009-06-02 18:04:09 +0000
@@ -26,26 +26,6 @@ show warnings;
Level Code Message
Error 1005 In InnoDB, charset-collation codes must be below 256. Unsupported code 358.
Error 1005 Can't create table 'test.t1' (errno: 1005)
-show collation like 'utf16_test_ci';
-Collation Charset Id Default Compiled Sortlen
-utf16_test_ci utf16 327 8
-create table t1 (c1 char(1) character set utf16 collate utf16_test_ci)
-engine=innodb;
-ERROR HY000: In InnoDB, charset-collation codes must be below 256. Unsupported code 327.
-show warnings;
-Level Code Message
-Error 1005 In InnoDB, charset-collation codes must be below 256. Unsupported code 327.
-Error 1005 Can't create table 'test.t1' (errno: 1005)
-show collation like 'utf32_test_ci';
-Collation Charset Id Default Compiled Sortlen
-utf32_test_ci utf32 391 8
-create table t1 (c1 char(1) character set utf32 collate utf32_test_ci)
-engine=innodb;
-ERROR HY000: In InnoDB, charset-collation codes must be below 256. Unsupported code 391.
-show warnings;
-Level Code Message
-Error 1005 In InnoDB, charset-collation codes must be below 256. Unsupported code 391.
-Error 1005 Can't create table 'test.t1' (errno: 1005)
Vietnamese experimental collation
show collation like 'ucs2_vn_ci';
Collation Charset Id Default Compiled Sortlen
@@ -60,19 +40,15 @@ Error 1005 Can't create table 'test.t1'
The following tests check that two-byte collation IDs work
select * from information_schema.collations where id>256 order by id;
COLLATION_NAME CHARACTER_SET_NAME ID IS_DEFAULT IS_COMPILED SORTLEN
-utf16_test_ci utf16 327 8
utf8_phone_ci utf8 352 8
utf8_test_ci utf8 353 8
ucs2_test_ci ucs2 358 8
ucs2_vn_ci ucs2 359 8
-utf32_test_ci utf32 391 8
utf8_maxuserid_ci utf8 2047 8
show collation like '%test%';
Collation Charset Id Default Compiled Sortlen
-ucs2_test_ci ucs2 358 8
utf8_test_ci utf8 353 8
-utf16_test_ci utf16 327 8
-utf32_test_ci utf32 391 8
+ucs2_test_ci ucs2 358 8
show collation like 'ucs2_vn_ci';
Collation Charset Id Default Compiled Sortlen
ucs2_vn_ci ucs2 359 8
=== modified file 'mysql-test/r/innodb_mysql.result'
--- a/mysql-test/r/innodb_mysql.result 2009-04-01 10:27:17 +0000
+++ b/mysql-test/r/innodb_mysql.result 2009-06-02 13:04:43 +0000
@@ -1132,7 +1132,7 @@ show create table t1;
Table Create Table
t1 CREATE TABLE `t1` (
`a` text,
- KEY `a` (`a`(191))
+ KEY `a` (`a`(255))
) ENGINE=InnoDB DEFAULT CHARSET=utf8
drop table t1;
CREATE TABLE t1 (
=== modified file 'mysql-test/r/join.result'
--- a/mysql-test/r/join.result 2009-02-16 14:47:53 +0000
+++ b/mysql-test/r/join.result 2009-06-02 13:04:43 +0000
@@ -752,8 +752,8 @@ statistics.TABLE_NAME, statistics.COLUMN
columns.TABLE_CATALOG, columns.TABLE_SCHEMA, columns.COLUMN_DEFAULT, columns.IS_NULLABLE, columns.DATA_TYPE, columns.CHARACTER_MAXIMUM_LENGTH, columns.CHARACTER_OCTET_LENGTH, columns.NUMERIC_PRECISION, columns.NUMERIC_SCALE, columns.CHARACTER_SET_NAME, columns.COLLATION_NAME, columns.COLUMN_TYPE, columns.COLUMN_KEY, columns.EXTRA, columns.COLUMN_COMMENT
from information_schema.statistics join information_schema.columns using(table_name,column_name) where table_name='user';
TABLE_NAME COLUMN_NAME TABLE_CATALOG TABLE_SCHEMA NON_UNIQUE INDEX_SCHEMA INDEX_NAME SEQ_IN_INDEX COLLATION SUB_PART PACKED NULLABLE INDEX_TYPE COMMENT TABLE_CATALOG TABLE_SCHEMA COLUMN_DEFAULT IS_NULLABLE DATA_TYPE CHARACTER_MAXIMUM_LENGTH CHARACTER_OCTET_LENGTH NUMERIC_PRECISION NUMERIC_SCALE CHARACTER_SET_NAME COLLATION_NAME COLUMN_TYPE COLUMN_KEY EXTRA COLUMN_COMMENT
-user Host def mysql 0 mysql PRIMARY 1 A NULL NULL BTREE def mysql NO char 60 240 NULL NULL utf8 utf8_bin char(60) PRI
-user User def mysql 0 mysql PRIMARY 2 A NULL NULL BTREE def mysql NO char 16 64 NULL NULL utf8 utf8_bin char(16) PRI
+user Host def mysql 0 mysql PRIMARY 1 A NULL NULL BTREE def mysql NO char 60 180 NULL NULL utf8 utf8_bin char(60) PRI
+user User def mysql 0 mysql PRIMARY 2 A NULL NULL BTREE def mysql NO char 16 48 NULL NULL utf8 utf8_bin char(16) PRI
drop table t1;
drop table t2;
drop table t3;
=== modified file 'mysql-test/r/myisam.result'
--- a/mysql-test/r/myisam.result 2009-04-30 10:27:29 +0000
+++ b/mysql-test/r/myisam.result 2009-06-02 13:04:43 +0000
@@ -2234,14 +2234,14 @@ KEY (c2)
MyISAM file: MYSQLD_DATADIR/test/t1
Record format: Packed
-Character set: utf8_general_ci (45)
+Character set: utf8_general_ci (33)
Data records: 0 Deleted blocks: 0
-Recordlength: 124
+Recordlength: 94
table description:
Key Start Len Index Type
-1 2 40 multip. varchar
-2 43 40 multip. char NULL
+1 2 30 multip. varchar
+2 33 30 multip. char NULL
DROP TABLE t1;
create table t1 (n int not null, c char(1)) transactional=1;
Warnings:
=== modified file 'mysql-test/r/show_check.result'
--- a/mysql-test/r/show_check.result 2009-03-27 22:06:26 +0000
+++ b/mysql-test/r/show_check.result 2009-06-02 13:04:43 +0000
@@ -850,41 +850,41 @@ set names utf8;
----------------------------------------------------------------
SHOW CHARACTER SET LIKE 'utf8';
Catalog Database Table Table_alias Column Column_alias Type Length Max length Is_null Flags Decimals Charsetnr
-def information_schema CHARACTER_SETS CHARACTER_SETS CHARACTER_SET_NAME Charset 253 128 4 N 1 0 45
-def information_schema CHARACTER_SETS CHARACTER_SETS DESCRIPTION Description 253 240 13 N 1 0 45
-def information_schema CHARACTER_SETS CHARACTER_SETS DEFAULT_COLLATE_NAME Default collation 253 128 15 N 1 0 45
+def information_schema CHARACTER_SETS CHARACTER_SETS CHARACTER_SET_NAME Charset 253 96 4 N 1 0 33
+def information_schema CHARACTER_SETS CHARACTER_SETS DESCRIPTION Description 253 180 13 N 1 0 33
+def information_schema CHARACTER_SETS CHARACTER_SETS DEFAULT_COLLATE_NAME Default collation 253 96 15 N 1 0 33
def information_schema CHARACTER_SETS CHARACTER_SETS MAXLEN Maxlen 8 3 1 N 32769 0 63
Charset Description Default collation Maxlen
-utf8 UTF-8 Unicode utf8_general_ci 4
+utf8 UTF-8 Unicode utf8_general_ci 3
----------------------------------------------------------------
SHOW COLLATION LIKE 'latin1_bin';
Catalog Database Table Table_alias Column Column_alias Type Length Max length Is_null Flags Decimals Charsetnr
-def information_schema COLLATIONS COLLATIONS COLLATION_NAME Collation 253 128 10 N 1 0 45
-def information_schema COLLATIONS COLLATIONS CHARACTER_SET_NAME Charset 253 128 6 N 1 0 45
+def information_schema COLLATIONS COLLATIONS COLLATION_NAME Collation 253 96 10 N 1 0 33
+def information_schema COLLATIONS COLLATIONS CHARACTER_SET_NAME Charset 253 96 6 N 1 0 33
def information_schema COLLATIONS COLLATIONS ID Id 8 11 2 N 32769 0 63
-def information_schema COLLATIONS COLLATIONS IS_DEFAULT Default 253 12 0 N 1 0 45
-def information_schema COLLATIONS COLLATIONS IS_COMPILED Compiled 253 12 3 N 1 0 45
+def information_schema COLLATIONS COLLATIONS IS_DEFAULT Default 253 9 0 N 1 0 33
+def information_schema COLLATIONS COLLATIONS IS_COMPILED Compiled 253 9 3 N 1 0 33
def information_schema COLLATIONS COLLATIONS SORTLEN Sortlen 8 3 1 N 32769 0 63
Collation Charset Id Default Compiled Sortlen
latin1_bin latin1 47 Yes 1
----------------------------------------------------------------
SHOW CREATE DATABASE mysqltest1;
Catalog Database Table Table_alias Column Column_alias Type Length Max length Is_null Flags Decimals Charsetnr
-def Database 253 256 10 N 1 31 45
-def Create Database 253 4096 69 N 1 31 45
+def Database 253 192 10 N 1 31 33
+def Create Database 253 3072 69 N 1 31 33
Database Create Database
mysqltest1 CREATE DATABASE `mysqltest1` /*!40100 DEFAULT CHARACTER SET latin1 */
----------------------------------------------------------------
SHOW DATABASES LIKE 'mysqltest1';
Catalog Database Table Table_alias Column Column_alias Type Length Max length Is_null Flags Decimals Charsetnr
-def information_schema SCHEMATA SCHEMATA SCHEMA_NAME Database (mysqltest1) 253 256 10 N 1 0 45
+def information_schema SCHEMATA SCHEMATA SCHEMA_NAME Database (mysqltest1) 253 192 10 N 1 0 33
Database (mysqltest1)
mysqltest1
----------------------------------------------------------------
SHOW CREATE TABLE t1;
Catalog Database Table Table_alias Column Column_alias Type Length Max length Is_null Flags Decimals Charsetnr
-def Table 253 256 2 N 1 31 45
-def Create Table 253 4096 102 N 1 31 45
+def Table 253 192 2 N 1 31 33
+def Create Table 253 3072 102 N 1 31 33
Table Create Table
t1 CREATE TABLE `t1` (
`c` int(11) NOT NULL,
@@ -893,19 +893,19 @@ t1 CREATE TABLE `t1` (
----------------------------------------------------------------
SHOW INDEX FROM t1;
Catalog Database Table Table_alias Column Column_alias Type Length Max length Is_null Flags Decimals Charsetnr
-def information_schema STATISTICS STATISTICS TABLE_NAME Table 253 256 2 N 1 0 45
+def information_schema STATISTICS STATISTICS TABLE_NAME Table 253 192 2 N 1 0 33
def information_schema STATISTICS STATISTICS NON_UNIQUE Non_unique 8 1 1 N 32769 0 63
-def information_schema STATISTICS STATISTICS INDEX_NAME Key_name 253 256 7 N 1 0 45
+def information_schema STATISTICS STATISTICS INDEX_NAME Key_name 253 192 7 N 1 0 33
def information_schema STATISTICS STATISTICS SEQ_IN_INDEX Seq_in_index 8 2 1 N 32769 0 63
-def information_schema STATISTICS STATISTICS COLUMN_NAME Column_name 253 256 1 N 1 0 45
-def information_schema STATISTICS STATISTICS COLLATION Collation 253 4 1 Y 0 0 45
+def information_schema STATISTICS STATISTICS COLUMN_NAME Column_name 253 192 1 N 1 0 33
+def information_schema STATISTICS STATISTICS COLLATION Collation 253 3 1 Y 0 0 33
def information_schema STATISTICS STATISTICS CARDINALITY Cardinality 8 21 1 Y 32768 0 63
def information_schema STATISTICS STATISTICS SUB_PART Sub_part 8 3 0 Y 32768 0 63
-def information_schema STATISTICS STATISTICS PACKED Packed 253 40 0 Y 0 0 45
-def information_schema STATISTICS STATISTICS NULLABLE Null 253 12 0 N 1 0 45
-def information_schema STATISTICS STATISTICS INDEX_TYPE Index_type 253 64 5 N 1 0 45
-def information_schema STATISTICS STATISTICS COMMENT Comment 253 64 0 Y 0 0 45
-def information_schema STATISTICS STATISTICS INDEX_COMMENT Index_Comment 253 4096 0 N 1 0 45
+def information_schema STATISTICS STATISTICS PACKED Packed 253 30 0 Y 0 0 33
+def information_schema STATISTICS STATISTICS NULLABLE Null 253 9 0 N 1 0 33
+def information_schema STATISTICS STATISTICS INDEX_TYPE Index_type 253 48 5 N 1 0 33
+def information_schema STATISTICS STATISTICS COMMENT Comment 253 48 0 Y 0 0 33
+def information_schema STATISTICS STATISTICS INDEX_COMMENT Index_Comment 253 3072 0 N 1 0 33
Table Non_unique Key_name Seq_in_index Column_name Collation Cardinality Sub_part Packed Null Index_type Comment Index_Comment
t1 0 PRIMARY 1 c A 0 NULL NULL BTREE
----------------------------------------------------------------
@@ -922,15 +922,15 @@ TABLE_COMMENT
FROM INFORMATION_SCHEMA.TABLES
WHERE table_name = 't1';
Catalog Database Table Table_alias Column Column_alias Type Length Max length Is_null Flags Decimals Charsetnr
-def information_schema TABLES TABLES TABLE_CATALOG TABLE_CATALOG 253 2048 3 N 1 0 45
-def information_schema TABLES TABLES TABLE_SCHEMA TABLE_SCHEMA 253 256 4 N 1 0 45
-def information_schema TABLES TABLES TABLE_NAME TABLE_NAME 253 256 2 N 1 0 45
-def information_schema TABLES TABLES TABLE_TYPE TABLE_TYPE 253 256 10 N 1 0 45
-def information_schema TABLES TABLES ENGINE ENGINE 253 256 6 Y 0 0 45
-def information_schema TABLES TABLES ROW_FORMAT ROW_FORMAT 253 40 5 Y 0 0 45
-def information_schema TABLES TABLES TABLE_COLLATION TABLE_COLLATION 253 128 17 Y 0 0 45
-def information_schema TABLES TABLES CREATE_OPTIONS CREATE_OPTIONS 253 1020 0 Y 0 0 45
-def information_schema TABLES TABLES TABLE_COMMENT TABLE_COMMENT 253 8192 0 N 1 0 45
+def information_schema TABLES TABLES TABLE_CATALOG TABLE_CATALOG 253 1536 3 N 1 0 33
+def information_schema TABLES TABLES TABLE_SCHEMA TABLE_SCHEMA 253 192 4 N 1 0 33
+def information_schema TABLES TABLES TABLE_NAME TABLE_NAME 253 192 2 N 1 0 33
+def information_schema TABLES TABLES TABLE_TYPE TABLE_TYPE 253 192 10 N 1 0 33
+def information_schema TABLES TABLES ENGINE ENGINE 253 192 6 Y 0 0 33
+def information_schema TABLES TABLES ROW_FORMAT ROW_FORMAT 253 30 5 Y 0 0 33
+def information_schema TABLES TABLES TABLE_COLLATION TABLE_COLLATION 253 96 17 Y 0 0 33
+def information_schema TABLES TABLES CREATE_OPTIONS CREATE_OPTIONS 253 765 0 Y 0 0 33
+def information_schema TABLES TABLES TABLE_COMMENT TABLE_COMMENT 253 6144 0 N 1 0 33
TABLE_CATALOG TABLE_SCHEMA TABLE_NAME TABLE_TYPE ENGINE ROW_FORMAT TABLE_COLLATION CREATE_OPTIONS TABLE_COMMENT
def test t1 BASE TABLE MyISAM Fixed latin1_swedish_ci
----------------------------------------------------------------
@@ -952,53 +952,53 @@ COLUMN_COMMENT
FROM INFORMATION_SCHEMA.COLUMNS
WHERE table_name = 't1';
Catalog Database Table Table_alias Column Column_alias Type Length Max length Is_null Flags Decimals Charsetnr
-def information_schema COLUMNS COLUMNS TABLE_CATALOG TABLE_CATALOG 253 2048 3 N 1 0 45
-def information_schema COLUMNS COLUMNS TABLE_SCHEMA TABLE_SCHEMA 253 256 4 N 1 0 45
-def information_schema COLUMNS COLUMNS TABLE_NAME TABLE_NAME 253 256 2 N 1 0 45
-def information_schema COLUMNS COLUMNS COLUMN_NAME COLUMN_NAME 253 256 1 N 1 0 45
-def information_schema COLUMNS COLUMNS COLUMN_DEFAULT COLUMN_DEFAULT 252 1048560 0 Y 16 0 45
-def information_schema COLUMNS COLUMNS IS_NULLABLE IS_NULLABLE 253 12 2 N 1 0 45
-def information_schema COLUMNS COLUMNS DATA_TYPE DATA_TYPE 253 256 3 N 1 0 45
-def information_schema COLUMNS COLUMNS CHARACTER_SET_NAME CHARACTER_SET_NAME 253 128 0 Y 0 0 45
-def information_schema COLUMNS COLUMNS COLLATION_NAME COLLATION_NAME 253 128 0 Y 0 0 45
-def information_schema COLUMNS COLUMNS COLUMN_TYPE COLUMN_TYPE 252 1048560 7 N 17 0 45
-def information_schema COLUMNS COLUMNS COLUMN_KEY COLUMN_KEY 253 12 3 N 1 0 45
-def information_schema COLUMNS COLUMNS EXTRA EXTRA 253 108 0 N 1 0 45
-def information_schema COLUMNS COLUMNS PRIVILEGES PRIVILEGES 253 320 31 N 1 0 45
-def information_schema COLUMNS COLUMNS COLUMN_COMMENT COLUMN_COMMENT 253 4096 0 N 1 0 45
+def information_schema COLUMNS COLUMNS TABLE_CATALOG TABLE_CATALOG 253 1536 3 N 1 0 33
+def information_schema COLUMNS COLUMNS TABLE_SCHEMA TABLE_SCHEMA 253 192 4 N 1 0 33
+def information_schema COLUMNS COLUMNS TABLE_NAME TABLE_NAME 253 192 2 N 1 0 33
+def information_schema COLUMNS COLUMNS COLUMN_NAME COLUMN_NAME 253 192 1 N 1 0 33
+def information_schema COLUMNS COLUMNS COLUMN_DEFAULT COLUMN_DEFAULT 252 589815 0 Y 16 0 33
+def information_schema COLUMNS COLUMNS IS_NULLABLE IS_NULLABLE 253 9 2 N 1 0 33
+def information_schema COLUMNS COLUMNS DATA_TYPE DATA_TYPE 253 192 3 N 1 0 33
+def information_schema COLUMNS COLUMNS CHARACTER_SET_NAME CHARACTER_SET_NAME 253 96 0 Y 0 0 33
+def information_schema COLUMNS COLUMNS COLLATION_NAME COLLATION_NAME 253 96 0 Y 0 0 33
+def information_schema COLUMNS COLUMNS COLUMN_TYPE COLUMN_TYPE 252 589815 7 N 17 0 33
+def information_schema COLUMNS COLUMNS COLUMN_KEY COLUMN_KEY 253 9 3 N 1 0 33
+def information_schema COLUMNS COLUMNS EXTRA EXTRA 253 81 0 N 1 0 33
+def information_schema COLUMNS COLUMNS PRIVILEGES PRIVILEGES 253 240 31 N 1 0 33
+def information_schema COLUMNS COLUMNS COLUMN_COMMENT COLUMN_COMMENT 253 3072 0 N 1 0 33
TABLE_CATALOG TABLE_SCHEMA TABLE_NAME COLUMN_NAME COLUMN_DEFAULT IS_NULLABLE DATA_TYPE CHARACTER_SET_NAME COLLATION_NAME COLUMN_TYPE COLUMN_KEY EXTRA PRIVILEGES COLUMN_COMMENT
def test t1 c NULL NO int NULL NULL int(11) PRI select,insert,update,references
----------------------------------------------------------------
SHOW TABLES LIKE 't1';
Catalog Database Table Table_alias Column Column_alias Type Length Max length Is_null Flags Decimals Charsetnr
-def information_schema TABLE_NAMES TABLE_NAMES TABLE_NAME Tables_in_test (t1) 253 256 2 N 1 0 45
+def information_schema TABLE_NAMES TABLE_NAMES TABLE_NAME Tables_in_test (t1) 253 192 2 N 1 0 33
Tables_in_test (t1)
t1
----------------------------------------------------------------
SHOW COLUMNS FROM t1;
Catalog Database Table Table_alias Column Column_alias Type Length Max length Is_null Flags Decimals Charsetnr
-def information_schema COLUMNS COLUMNS COLUMN_NAME Field 253 256 1 N 1 0 45
-def information_schema COLUMNS COLUMNS COLUMN_TYPE Type 252 1048560 7 N 17 0 45
-def information_schema COLUMNS COLUMNS IS_NULLABLE Null 253 12 2 N 1 0 45
-def information_schema COLUMNS COLUMNS COLUMN_KEY Key 253 12 3 N 1 0 45
-def information_schema COLUMNS COLUMNS COLUMN_DEFAULT Default 252 1048560 0 Y 16 0 45
-def information_schema COLUMNS COLUMNS EXTRA Extra 253 108 0 N 1 0 45
+def information_schema COLUMNS COLUMNS COLUMN_NAME Field 253 192 1 N 1 0 33
+def information_schema COLUMNS COLUMNS COLUMN_TYPE Type 252 589815 7 N 17 0 33
+def information_schema COLUMNS COLUMNS IS_NULLABLE Null 253 9 2 N 1 0 33
+def information_schema COLUMNS COLUMNS COLUMN_KEY Key 253 9 3 N 1 0 33
+def information_schema COLUMNS COLUMNS COLUMN_DEFAULT Default 252 589815 0 Y 16 0 33
+def information_schema COLUMNS COLUMNS EXTRA Extra 253 81 0 N 1 0 33
Field Type Null Key Default Extra
c int(11) NO PRI NULL
----------------------------------------------------------------
SHOW TRIGGERS LIKE 't1';
Catalog Database Table Table_alias Column Column_alias Type Length Max length Is_null Flags Decimals Charsetnr
-def information_schema TRIGGERS TRIGGERS TRIGGER_NAME Trigger 253 256 5 N 1 0 45
-def information_schema TRIGGERS TRIGGERS EVENT_MANIPULATION Event 253 24 6 N 1 0 45
-def information_schema TRIGGERS TRIGGERS EVENT_OBJECT_TABLE Table 253 256 2 N 1 0 45
-def information_schema TRIGGERS TRIGGERS ACTION_STATEMENT Statement 252 1048560 10 N 17 0 45
-def information_schema TRIGGERS TRIGGERS ACTION_TIMING Timing 253 24 6 N 1 0 45
+def information_schema TRIGGERS TRIGGERS TRIGGER_NAME Trigger 253 192 5 N 1 0 33
+def information_schema TRIGGERS TRIGGERS EVENT_MANIPULATION Event 253 18 6 N 1 0 33
+def information_schema TRIGGERS TRIGGERS EVENT_OBJECT_TABLE Table 253 192 2 N 1 0 33
+def information_schema TRIGGERS TRIGGERS ACTION_STATEMENT Statement 252 589815 10 N 17 0 33
+def information_schema TRIGGERS TRIGGERS ACTION_TIMING Timing 253 18 6 N 1 0 33
def information_schema TRIGGERS TRIGGERS CREATED Created 12 19 0 Y 128 0 63
-def information_schema TRIGGERS TRIGGERS SQL_MODE sql_mode 253 32768 0 N 1 0 45
-def information_schema TRIGGERS TRIGGERS DEFINER Definer 253 308 14 N 1 0 45
-def information_schema TRIGGERS TRIGGERS CHARACTER_SET_CLIENT character_set_client 253 128 6 N 1 0 45
-def information_schema TRIGGERS TRIGGERS COLLATION_CONNECTION collation_connection 253 128 6 N 1 0 45
-def information_schema TRIGGERS TRIGGERS DATABASE_COLLATION Database Collation 253 128 17 N 1 0 45
+def information_schema TRIGGERS TRIGGERS SQL_MODE sql_mode 253 24576 0 N 1 0 33
+def information_schema TRIGGERS TRIGGERS DEFINER Definer 253 231 14 N 1 0 33
+def information_schema TRIGGERS TRIGGERS CHARACTER_SET_CLIENT character_set_client 253 96 6 N 1 0 33
+def information_schema TRIGGERS TRIGGERS COLLATION_CONNECTION collation_connection 253 96 6 N 1 0 33
+def information_schema TRIGGERS TRIGGERS DATABASE_COLLATION Database Collation 253 96 17 N 1 0 33
Trigger Event Table Statement Timing Created sql_mode Definer character_set_client collation_connection Database Collation
t1_bi INSERT t1 SET @a = 1 BEFORE NULL root@localhost binary binary latin1_swedish_ci
----------------------------------------------------------------
@@ -1023,32 +1023,32 @@ DEFINER
FROM INFORMATION_SCHEMA.TRIGGERS
WHERE trigger_name = 't1_bi';
Catalog Database Table Table_alias Column Column_alias Type Length Max length Is_null Flags Decimals Charsetnr
-def information_schema TRIGGERS TRIGGERS TRIGGER_CATALOG TRIGGER_CATALOG 253 2048 3 N 1 0 45
-def information_schema TRIGGERS TRIGGERS TRIGGER_SCHEMA TRIGGER_SCHEMA 253 256 4 N 1 0 45
-def information_schema TRIGGERS TRIGGERS TRIGGER_NAME TRIGGER_NAME 253 256 5 N 1 0 45
-def information_schema TRIGGERS TRIGGERS EVENT_MANIPULATION EVENT_MANIPULATION 253 24 6 N 1 0 45
-def information_schema TRIGGERS TRIGGERS EVENT_OBJECT_CATALOG EVENT_OBJECT_CATALOG 253 2048 3 N 1 0 45
-def information_schema TRIGGERS TRIGGERS EVENT_OBJECT_SCHEMA EVENT_OBJECT_SCHEMA 253 256 4 N 1 0 45
-def information_schema TRIGGERS TRIGGERS EVENT_OBJECT_TABLE EVENT_OBJECT_TABLE 253 256 2 N 1 0 45
-def information_schema TRIGGERS TRIGGERS ACTION_CONDITION ACTION_CONDITION 252 1048560 0 Y 16 0 45
-def information_schema TRIGGERS TRIGGERS ACTION_STATEMENT ACTION_STATEMENT 252 1048560 10 N 17 0 45
-def information_schema TRIGGERS TRIGGERS ACTION_ORIENTATION ACTION_ORIENTATION 253 36 3 N 1 0 45
-def information_schema TRIGGERS TRIGGERS ACTION_TIMING ACTION_TIMING 253 24 6 N 1 0 45
-def information_schema TRIGGERS TRIGGERS ACTION_REFERENCE_OLD_TABLE ACTION_REFERENCE_OLD_TABLE 253 256 0 Y 0 0 45
-def information_schema TRIGGERS TRIGGERS ACTION_REFERENCE_NEW_TABLE ACTION_REFERENCE_NEW_TABLE 253 256 0 Y 0 0 45
-def information_schema TRIGGERS TRIGGERS ACTION_REFERENCE_OLD_ROW ACTION_REFERENCE_OLD_ROW 253 12 3 N 1 0 45
-def information_schema TRIGGERS TRIGGERS ACTION_REFERENCE_NEW_ROW ACTION_REFERENCE_NEW_ROW 253 12 3 N 1 0 45
-def information_schema TRIGGERS TRIGGERS SQL_MODE SQL_MODE 253 32768 0 N 1 0 45
-def information_schema TRIGGERS TRIGGERS DEFINER DEFINER 253 308 14 N 1 0 45
+def information_schema TRIGGERS TRIGGERS TRIGGER_CATALOG TRIGGER_CATALOG 253 1536 3 N 1 0 33
+def information_schema TRIGGERS TRIGGERS TRIGGER_SCHEMA TRIGGER_SCHEMA 253 192 4 N 1 0 33
+def information_schema TRIGGERS TRIGGERS TRIGGER_NAME TRIGGER_NAME 253 192 5 N 1 0 33
+def information_schema TRIGGERS TRIGGERS EVENT_MANIPULATION EVENT_MANIPULATION 253 18 6 N 1 0 33
+def information_schema TRIGGERS TRIGGERS EVENT_OBJECT_CATALOG EVENT_OBJECT_CATALOG 253 1536 3 N 1 0 33
+def information_schema TRIGGERS TRIGGERS EVENT_OBJECT_SCHEMA EVENT_OBJECT_SCHEMA 253 192 4 N 1 0 33
+def information_schema TRIGGERS TRIGGERS EVENT_OBJECT_TABLE EVENT_OBJECT_TABLE 253 192 2 N 1 0 33
+def information_schema TRIGGERS TRIGGERS ACTION_CONDITION ACTION_CONDITION 252 589815 0 Y 16 0 33
+def information_schema TRIGGERS TRIGGERS ACTION_STATEMENT ACTION_STATEMENT 252 589815 10 N 17 0 33
+def information_schema TRIGGERS TRIGGERS ACTION_ORIENTATION ACTION_ORIENTATION 253 27 3 N 1 0 33
+def information_schema TRIGGERS TRIGGERS ACTION_TIMING ACTION_TIMING 253 18 6 N 1 0 33
+def information_schema TRIGGERS TRIGGERS ACTION_REFERENCE_OLD_TABLE ACTION_REFERENCE_OLD_TABLE 253 192 0 Y 0 0 33
+def information_schema TRIGGERS TRIGGERS ACTION_REFERENCE_NEW_TABLE ACTION_REFERENCE_NEW_TABLE 253 192 0 Y 0 0 33
+def information_schema TRIGGERS TRIGGERS ACTION_REFERENCE_OLD_ROW ACTION_REFERENCE_OLD_ROW 253 9 3 N 1 0 33
+def information_schema TRIGGERS TRIGGERS ACTION_REFERENCE_NEW_ROW ACTION_REFERENCE_NEW_ROW 253 9 3 N 1 0 33
+def information_schema TRIGGERS TRIGGERS SQL_MODE SQL_MODE 253 24576 0 N 1 0 33
+def information_schema TRIGGERS TRIGGERS DEFINER DEFINER 253 231 14 N 1 0 33
TRIGGER_CATALOG TRIGGER_SCHEMA TRIGGER_NAME EVENT_MANIPULATION EVENT_OBJECT_CATALOG EVENT_OBJECT_SCHEMA EVENT_OBJECT_TABLE ACTION_CONDITION ACTION_STATEMENT ACTION_ORIENTATION ACTION_TIMING ACTION_REFERENCE_OLD_TABLE ACTION_REFERENCE_NEW_TABLE ACTION_REFERENCE_OLD_ROW ACTION_REFERENCE_NEW_ROW SQL_MODE DEFINER
def test t1_bi INSERT def test t1 NULL SET @a = 1 ROW BEFORE NULL NULL OLD NEW root@localhost
----------------------------------------------------------------
SHOW CREATE VIEW v1;
Catalog Database Table Table_alias Column Column_alias Type Length Max length Is_null Flags Decimals Charsetnr
-def View 253 256 2 N 1 31 45
-def Create View 253 4096 103 N 1 31 45
-def character_set_client 253 128 6 N 1 31 45
-def collation_connection 253 128 6 N 1 31 45
+def View 253 192 2 N 1 31 33
+def Create View 253 3072 103 N 1 31 33
+def character_set_client 253 96 6 N 1 31 33
+def collation_connection 253 96 6 N 1 31 33
View Create View character_set_client collation_connection
v1 CREATE ALGORITHM=UNDEFINED DEFINER=`root`@`localhost` SQL SECURITY DEFINER VIEW `v1` AS select 1 AS `1` binary binary
----------------------------------------------------------------
@@ -1056,27 +1056,27 @@ SELECT *
FROM INFORMATION_SCHEMA.VIEWS
WHERE table_name = 'v1';
Catalog Database Table Table_alias Column Column_alias Type Length Max length Is_null Flags Decimals Charsetnr
-def information_schema VIEWS VIEWS TABLE_CATALOG TABLE_CATALOG 253 2048 3 N 1 0 45
-def information_schema VIEWS VIEWS TABLE_SCHEMA TABLE_SCHEMA 253 256 4 N 1 0 45
-def information_schema VIEWS VIEWS TABLE_NAME TABLE_NAME 253 256 2 N 1 0 45
-def information_schema VIEWS VIEWS VIEW_DEFINITION VIEW_DEFINITION 252 1048560 15 N 17 0 45
-def information_schema VIEWS VIEWS CHECK_OPTION CHECK_OPTION 253 32 4 N 1 0 45
-def information_schema VIEWS VIEWS IS_UPDATABLE IS_UPDATABLE 253 12 2 N 1 0 45
-def information_schema VIEWS VIEWS DEFINER DEFINER 253 308 14 N 1 0 45
-def information_schema VIEWS VIEWS SECURITY_TYPE SECURITY_TYPE 253 28 7 N 1 0 45
-def information_schema VIEWS VIEWS CHARACTER_SET_CLIENT CHARACTER_SET_CLIENT 253 128 6 N 1 0 45
-def information_schema VIEWS VIEWS COLLATION_CONNECTION COLLATION_CONNECTION 253 128 6 N 1 0 45
+def information_schema VIEWS VIEWS TABLE_CATALOG TABLE_CATALOG 253 1536 3 N 1 0 33
+def information_schema VIEWS VIEWS TABLE_SCHEMA TABLE_SCHEMA 253 192 4 N 1 0 33
+def information_schema VIEWS VIEWS TABLE_NAME TABLE_NAME 253 192 2 N 1 0 33
+def information_schema VIEWS VIEWS VIEW_DEFINITION VIEW_DEFINITION 252 589815 15 N 17 0 33
+def information_schema VIEWS VIEWS CHECK_OPTION CHECK_OPTION 253 24 4 N 1 0 33
+def information_schema VIEWS VIEWS IS_UPDATABLE IS_UPDATABLE 253 9 2 N 1 0 33
+def information_schema VIEWS VIEWS DEFINER DEFINER 253 231 14 N 1 0 33
+def information_schema VIEWS VIEWS SECURITY_TYPE SECURITY_TYPE 253 21 7 N 1 0 33
+def information_schema VIEWS VIEWS CHARACTER_SET_CLIENT CHARACTER_SET_CLIENT 253 96 6 N 1 0 33
+def information_schema VIEWS VIEWS COLLATION_CONNECTION COLLATION_CONNECTION 253 96 6 N 1 0 33
TABLE_CATALOG TABLE_SCHEMA TABLE_NAME VIEW_DEFINITION CHECK_OPTION IS_UPDATABLE DEFINER SECURITY_TYPE CHARACTER_SET_CLIENT COLLATION_CONNECTION
def test v1 select 1 AS `1` NONE NO root@localhost DEFINER binary binary
----------------------------------------------------------------
SHOW CREATE PROCEDURE p1;
Catalog Database Table Table_alias Column Column_alias Type Length Max length Is_null Flags Decimals Charsetnr
-def Procedure 253 256 2 N 1 31 45
-def sql_mode 253 0 0 N 1 31 45
-def Create Procedure 253 4096 59 Y 0 31 45
-def character_set_client 253 128 6 N 1 31 45
-def collation_connection 253 128 6 N 1 31 45
-def Database Collation 253 128 17 N 1 31 45
+def Procedure 253 192 2 N 1 31 33
+def sql_mode 253 0 0 N 1 31 33
+def Create Procedure 253 3072 59 Y 0 31 33
+def character_set_client 253 96 6 N 1 31 33
+def collation_connection 253 96 6 N 1 31 33
+def Database Collation 253 96 17 N 1 31 33
Procedure sql_mode Create Procedure character_set_client collation_connection Database Collation
p1 CREATE DEFINER=`root`@`localhost` PROCEDURE `p1`()
SELECT 1 binary binary latin1_swedish_ci
@@ -1103,35 +1103,35 @@ DEFINER
FROM INFORMATION_SCHEMA.ROUTINES
WHERE routine_name = 'p1';
Catalog Database Table Table_alias Column Column_alias Type Length Max length Is_null Flags Decimals Charsetnr
-def information_schema ROUTINES ROUTINES SPECIFIC_NAME SPECIFIC_NAME 253 256 2 N 1 0 45
-def information_schema ROUTINES ROUTINES ROUTINE_CATALOG ROUTINE_CATALOG 253 2048 3 N 1 0 45
-def information_schema ROUTINES ROUTINES ROUTINE_SCHEMA ROUTINE_SCHEMA 253 256 4 N 1 0 45
-def information_schema ROUTINES ROUTINES ROUTINE_NAME ROUTINE_NAME 253 256 2 N 1 0 45
-def information_schema ROUTINES ROUTINES ROUTINE_TYPE ROUTINE_TYPE 253 36 9 N 1 0 45
-def information_schema ROUTINES ROUTINES DTD_IDENTIFIER DTD_IDENTIFIER 252 1048560 0 Y 16 0 45
-def information_schema ROUTINES ROUTINES ROUTINE_BODY ROUTINE_BODY 253 32 3 N 1 0 45
-def information_schema ROUTINES ROUTINES ROUTINE_DEFINITION ROUTINE_DEFINITION 252 1048560 8 Y 16 0 45
-def information_schema ROUTINES ROUTINES EXTERNAL_NAME EXTERNAL_NAME 253 256 0 Y 0 0 45
-def information_schema ROUTINES ROUTINES EXTERNAL_LANGUAGE EXTERNAL_LANGUAGE 253 256 0 Y 0 0 45
-def information_schema ROUTINES ROUTINES PARAMETER_STYLE PARAMETER_STYLE 253 32 3 N 1 0 45
-def information_schema ROUTINES ROUTINES IS_DETERMINISTIC IS_DETERMINISTIC 253 12 2 N 1 0 45
-def information_schema ROUTINES ROUTINES SQL_DATA_ACCESS SQL_DATA_ACCESS 253 256 12 N 1 0 45
-def information_schema ROUTINES ROUTINES SQL_PATH SQL_PATH 253 256 0 Y 0 0 45
-def information_schema ROUTINES ROUTINES SECURITY_TYPE SECURITY_TYPE 253 28 7 N 1 0 45
-def information_schema ROUTINES ROUTINES SQL_MODE SQL_MODE 253 32768 0 N 1 0 45
-def information_schema ROUTINES ROUTINES ROUTINE_COMMENT ROUTINE_COMMENT 253 256 0 N 1 0 45
-def information_schema ROUTINES ROUTINES DEFINER DEFINER 253 308 14 N 1 0 45
+def information_schema ROUTINES ROUTINES SPECIFIC_NAME SPECIFIC_NAME 253 192 2 N 1 0 33
+def information_schema ROUTINES ROUTINES ROUTINE_CATALOG ROUTINE_CATALOG 253 1536 3 N 1 0 33
+def information_schema ROUTINES ROUTINES ROUTINE_SCHEMA ROUTINE_SCHEMA 253 192 4 N 1 0 33
+def information_schema ROUTINES ROUTINES ROUTINE_NAME ROUTINE_NAME 253 192 2 N 1 0 33
+def information_schema ROUTINES ROUTINES ROUTINE_TYPE ROUTINE_TYPE 253 27 9 N 1 0 33
+def information_schema ROUTINES ROUTINES DTD_IDENTIFIER DTD_IDENTIFIER 252 589815 0 Y 16 0 33
+def information_schema ROUTINES ROUTINES ROUTINE_BODY ROUTINE_BODY 253 24 3 N 1 0 33
+def information_schema ROUTINES ROUTINES ROUTINE_DEFINITION ROUTINE_DEFINITION 252 589815 8 Y 16 0 33
+def information_schema ROUTINES ROUTINES EXTERNAL_NAME EXTERNAL_NAME 253 192 0 Y 0 0 33
+def information_schema ROUTINES ROUTINES EXTERNAL_LANGUAGE EXTERNAL_LANGUAGE 253 192 0 Y 0 0 33
+def information_schema ROUTINES ROUTINES PARAMETER_STYLE PARAMETER_STYLE 253 24 3 N 1 0 33
+def information_schema ROUTINES ROUTINES IS_DETERMINISTIC IS_DETERMINISTIC 253 9 2 N 1 0 33
+def information_schema ROUTINES ROUTINES SQL_DATA_ACCESS SQL_DATA_ACCESS 253 192 12 N 1 0 33
+def information_schema ROUTINES ROUTINES SQL_PATH SQL_PATH 253 192 0 Y 0 0 33
+def information_schema ROUTINES ROUTINES SECURITY_TYPE SECURITY_TYPE 253 21 7 N 1 0 33
+def information_schema ROUTINES ROUTINES SQL_MODE SQL_MODE 253 24576 0 N 1 0 33
+def information_schema ROUTINES ROUTINES ROUTINE_COMMENT ROUTINE_COMMENT 253 192 0 N 1 0 33
+def information_schema ROUTINES ROUTINES DEFINER DEFINER 253 231 14 N 1 0 33
SPECIFIC_NAME ROUTINE_CATALOG ROUTINE_SCHEMA ROUTINE_NAME ROUTINE_TYPE DTD_IDENTIFIER ROUTINE_BODY ROUTINE_DEFINITION EXTERNAL_NAME EXTERNAL_LANGUAGE PARAMETER_STYLE IS_DETERMINISTIC SQL_DATA_ACCESS SQL_PATH SECURITY_TYPE SQL_MODE ROUTINE_COMMENT DEFINER
p1 def test p1 PROCEDURE NULL SQL SELECT 1 NULL NULL SQL NO CONTAINS SQL NULL DEFINER root@localhost
----------------------------------------------------------------
SHOW CREATE FUNCTION f1;
Catalog Database Table Table_alias Column Column_alias Type Length Max length Is_null Flags Decimals Charsetnr
-def Function 253 256 2 N 1 31 45
-def sql_mode 253 0 0 N 1 31 45
-def Create Function 253 4096 74 Y 0 31 45
-def character_set_client 253 128 6 N 1 31 45
-def collation_connection 253 128 6 N 1 31 45
-def Database Collation 253 128 17 N 1 31 45
+def Function 253 192 2 N 1 31 33
+def sql_mode 253 0 0 N 1 31 33
+def Create Function 253 3072 74 Y 0 31 33
+def character_set_client 253 96 6 N 1 31 33
+def collation_connection 253 96 6 N 1 31 33
+def Database Collation 253 96 17 N 1 31 33
Function sql_mode Create Function character_set_client collation_connection Database Collation
f1 CREATE DEFINER=`root`@`localhost` FUNCTION `f1`() RETURNS int(11)
RETURN 1 binary binary latin1_swedish_ci
@@ -1158,24 +1158,24 @@ DEFINER
FROM INFORMATION_SCHEMA.ROUTINES
WHERE routine_name = 'f1';
Catalog Database Table Table_alias Column Column_alias Type Length Max length Is_null Flags Decimals Charsetnr
-def information_schema ROUTINES ROUTINES SPECIFIC_NAME SPECIFIC_NAME 253 256 2 N 1 0 45
-def information_schema ROUTINES ROUTINES ROUTINE_CATALOG ROUTINE_CATALOG 253 2048 3 N 1 0 45
-def information_schema ROUTINES ROUTINES ROUTINE_SCHEMA ROUTINE_SCHEMA 253 256 4 N 1 0 45
-def information_schema ROUTINES ROUTINES ROUTINE_NAME ROUTINE_NAME 253 256 2 N 1 0 45
-def information_schema ROUTINES ROUTINES ROUTINE_TYPE ROUTINE_TYPE 253 36 8 N 1 0 45
-def information_schema ROUTINES ROUTINES DTD_IDENTIFIER DTD_IDENTIFIER 252 1048560 7 Y 16 0 45
-def information_schema ROUTINES ROUTINES ROUTINE_BODY ROUTINE_BODY 253 32 3 N 1 0 45
-def information_schema ROUTINES ROUTINES ROUTINE_DEFINITION ROUTINE_DEFINITION 252 1048560 8 Y 16 0 45
-def information_schema ROUTINES ROUTINES EXTERNAL_NAME EXTERNAL_NAME 253 256 0 Y 0 0 45
-def information_schema ROUTINES ROUTINES EXTERNAL_LANGUAGE EXTERNAL_LANGUAGE 253 256 0 Y 0 0 45
-def information_schema ROUTINES ROUTINES PARAMETER_STYLE PARAMETER_STYLE 253 32 3 N 1 0 45
-def information_schema ROUTINES ROUTINES IS_DETERMINISTIC IS_DETERMINISTIC 253 12 2 N 1 0 45
-def information_schema ROUTINES ROUTINES SQL_DATA_ACCESS SQL_DATA_ACCESS 253 256 12 N 1 0 45
-def information_schema ROUTINES ROUTINES SQL_PATH SQL_PATH 253 256 0 Y 0 0 45
-def information_schema ROUTINES ROUTINES SECURITY_TYPE SECURITY_TYPE 253 28 7 N 1 0 45
-def information_schema ROUTINES ROUTINES SQL_MODE SQL_MODE 253 32768 0 N 1 0 45
-def information_schema ROUTINES ROUTINES ROUTINE_COMMENT ROUTINE_COMMENT 253 256 0 N 1 0 45
-def information_schema ROUTINES ROUTINES DEFINER DEFINER 253 308 14 N 1 0 45
+def information_schema ROUTINES ROUTINES SPECIFIC_NAME SPECIFIC_NAME 253 192 2 N 1 0 33
+def information_schema ROUTINES ROUTINES ROUTINE_CATALOG ROUTINE_CATALOG 253 1536 3 N 1 0 33
+def information_schema ROUTINES ROUTINES ROUTINE_SCHEMA ROUTINE_SCHEMA 253 192 4 N 1 0 33
+def information_schema ROUTINES ROUTINES ROUTINE_NAME ROUTINE_NAME 253 192 2 N 1 0 33
+def information_schema ROUTINES ROUTINES ROUTINE_TYPE ROUTINE_TYPE 253 27 8 N 1 0 33
+def information_schema ROUTINES ROUTINES DTD_IDENTIFIER DTD_IDENTIFIER 252 589815 7 Y 16 0 33
+def information_schema ROUTINES ROUTINES ROUTINE_BODY ROUTINE_BODY 253 24 3 N 1 0 33
+def information_schema ROUTINES ROUTINES ROUTINE_DEFINITION ROUTINE_DEFINITION 252 589815 8 Y 16 0 33
+def information_schema ROUTINES ROUTINES EXTERNAL_NAME EXTERNAL_NAME 253 192 0 Y 0 0 33
+def information_schema ROUTINES ROUTINES EXTERNAL_LANGUAGE EXTERNAL_LANGUAGE 253 192 0 Y 0 0 33
+def information_schema ROUTINES ROUTINES PARAMETER_STYLE PARAMETER_STYLE 253 24 3 N 1 0 33
+def information_schema ROUTINES ROUTINES IS_DETERMINISTIC IS_DETERMINISTIC 253 9 2 N 1 0 33
+def information_schema ROUTINES ROUTINES SQL_DATA_ACCESS SQL_DATA_ACCESS 253 192 12 N 1 0 33
+def information_schema ROUTINES ROUTINES SQL_PATH SQL_PATH 253 192 0 Y 0 0 33
+def information_schema ROUTINES ROUTINES SECURITY_TYPE SECURITY_TYPE 253 21 7 N 1 0 33
+def information_schema ROUTINES ROUTINES SQL_MODE SQL_MODE 253 24576 0 N 1 0 33
+def information_schema ROUTINES ROUTINES ROUTINE_COMMENT ROUTINE_COMMENT 253 192 0 N 1 0 33
+def information_schema ROUTINES ROUTINES DEFINER DEFINER 253 231 14 N 1 0 33
SPECIFIC_NAME ROUTINE_CATALOG ROUTINE_SCHEMA ROUTINE_NAME ROUTINE_TYPE DTD_IDENTIFIER ROUTINE_BODY ROUTINE_DEFINITION EXTERNAL_NAME EXTERNAL_LANGUAGE PARAMETER_STYLE IS_DETERMINISTIC SQL_DATA_ACCESS SQL_PATH SECURITY_TYPE SQL_MODE ROUTINE_COMMENT DEFINER
f1 def test f1 FUNCTION int(11) SQL RETURN 1 NULL NULL SQL NO CONTAINS SQL NULL DEFINER root@localhost
----------------------------------------------------------------
=== removed file 'mysql-test/r/signal_utf32.result'
--- a/mysql-test/r/signal_utf32.result 2009-03-13 09:43:12 +0000
+++ b/mysql-test/r/signal_utf32.result 1970-01-01 00:00:00 +0000
@@ -1,34 +0,0 @@
-drop procedure if exists test_signal;
-create procedure test_signal()
-begin
-DECLARE something CONDITION FOR SQLSTATE "01000";
-SIGNAL something SET MESSAGE_TEXT =
-_utf32 'a';
-end $$
-call test_signal() $$
-Warnings:
-Warning 1771 a
-drop procedure test_signal $$
-create procedure test_signal()
-begin
-DECLARE something CONDITION FOR SQLSTATE "01000";
-SIGNAL something SET MESSAGE_TEXT =
-_utf32 X'00000048000000450000004C0000004C0000004F';
-end $$
-call test_signal() $$
-Warnings:
-Warning 1771 HELLO
-drop procedure test_signal $$
-create procedure test_signal()
-begin
-declare continue handler for sqlexception
-begin
-declare msg varchar(128);
-set msg= repeat(_utf32 0x000100cc, 128);
-resignal set message_text = msg;
-end;
-signal sqlstate '77777';
-end $$
-call test_signal() $$
-ERROR 77777: ����������
=== modified file 'mysql-test/suite/rpl/r/rpl_row_basic_2myisam.result'
--- a/mysql-test/suite/rpl/r/rpl_row_basic_2myisam.result 2009-02-02 15:58:48 +0000
+++ b/mysql-test/suite/rpl/r/rpl_row_basic_2myisam.result 2009-06-02 13:04:43 +0000
@@ -488,7 +488,7 @@ Comparing tables master:test.t2 and slav
INSERT INTO t3 VALUES (1, "", 1);
INSERT INTO t3 VALUES (2, repeat(_utf8'a', 128), 2);
Last_SQL_Error
-Table definition on master and slave does not match: Column 1 size mismatch - master has size 512, test.t3 on slave has size 65. Master's column size should be <= the slave's column size.
+Table definition on master and slave does not match: Column 1 size mismatch - master has size 384, test.t3 on slave has size 49. Master's column size should be <= the slave's column size.
RESET MASTER;
STOP SLAVE;
RESET SLAVE;
@@ -501,7 +501,7 @@ Comparing tables master:test.t4 and slav
INSERT INTO t5 VALUES (1, "", 1);
INSERT INTO t5 VALUES (2, repeat(_utf8'a', 255), 2);
Last_SQL_Error
-Table definition on master and slave does not match: Column 1 size mismatch - master has size 1020, test.t5 on slave has size 65. Master's column size should be <= the slave's column size.
+Table definition on master and slave does not match: Column 1 size mismatch - master has size 765, test.t5 on slave has size 49. Master's column size should be <= the slave's column size.
RESET MASTER;
STOP SLAVE;
RESET SLAVE;
@@ -510,7 +510,7 @@ START SLAVE;
INSERT INTO t6 VALUES (1, "", 1);
INSERT INTO t6 VALUES (2, repeat(_utf8'a', 255), 2);
Last_SQL_Error
-Table definition on master and slave does not match: Column 1 size mismatch - master has size 1020, test.t6 on slave has size 513. Master's column size should be <= the slave's column size.
+Table definition on master and slave does not match: Column 1 size mismatch - master has size 765, test.t6 on slave has size 385. Master's column size should be <= the slave's column size.
RESET MASTER;
STOP SLAVE;
RESET SLAVE;
=== modified file 'mysql-test/suite/rpl/r/rpl_row_basic_3innodb.result'
--- a/mysql-test/suite/rpl/r/rpl_row_basic_3innodb.result 2009-02-02 15:58:48 +0000
+++ b/mysql-test/suite/rpl/r/rpl_row_basic_3innodb.result 2009-06-02 13:04:43 +0000
@@ -488,7 +488,7 @@ Comparing tables master:test.t2 and slav
INSERT INTO t3 VALUES (1, "", 1);
INSERT INTO t3 VALUES (2, repeat(_utf8'a', 128), 2);
Last_SQL_Error
-Table definition on master and slave does not match: Column 1 size mismatch - master has size 512, test.t3 on slave has size 65. Master's column size should be <= the slave's column size.
+Table definition on master and slave does not match: Column 1 size mismatch - master has size 384, test.t3 on slave has size 49. Master's column size should be <= the slave's column size.
RESET MASTER;
STOP SLAVE;
RESET SLAVE;
@@ -501,7 +501,7 @@ Comparing tables master:test.t4 and slav
INSERT INTO t5 VALUES (1, "", 1);
INSERT INTO t5 VALUES (2, repeat(_utf8'a', 255), 2);
Last_SQL_Error
-Table definition on master and slave does not match: Column 1 size mismatch - master has size 1020, test.t5 on slave has size 65. Master's column size should be <= the slave's column size.
+Table definition on master and slave does not match: Column 1 size mismatch - master has size 765, test.t5 on slave has size 49. Master's column size should be <= the slave's column size.
RESET MASTER;
STOP SLAVE;
RESET SLAVE;
@@ -510,7 +510,7 @@ START SLAVE;
INSERT INTO t6 VALUES (1, "", 1);
INSERT INTO t6 VALUES (2, repeat(_utf8'a', 255), 2);
Last_SQL_Error
-Table definition on master and slave does not match: Column 1 size mismatch - master has size 1020, test.t6 on slave has size 513. Master's column size should be <= the slave's column size.
+Table definition on master and slave does not match: Column 1 size mismatch - master has size 765, test.t6 on slave has size 385. Master's column size should be <= the slave's column size.
RESET MASTER;
STOP SLAVE;
RESET SLAVE;
=== modified file 'mysql-test/t/ctype_ldml.test'
--- a/mysql-test/t/ctype_ldml.test 2009-02-02 20:50:45 +0000
+++ b/mysql-test/t/ctype_ldml.test 2009-06-02 18:04:09 +0000
@@ -1,6 +1,10 @@
--source include/have_ucs2.inc
---source include/have_utf16.inc
---source include/have_utf32.inc
+
+#
+# Disabled due to WL#1213 removal
+#
+# --source include/have_utf16.inc
+# --source include/have_utf32.inc
--disable_warnings
@@ -43,17 +47,20 @@ insert into t1 values ('a');
select * from t1 where c1='b';
drop table t1;
-show collation like 'utf16_test_ci';
-create table t1 (c1 char(1) character set utf16 collate utf16_test_ci);
-insert into t1 values ('a');
-select * from t1 where c1='b';
-drop table t1;
-
-show collation like 'utf32_test_ci';
-create table t1 (c1 char(1) character set utf32 collate utf32_test_ci);
-insert into t1 values ('a');
-select * from t1 where c1='b';
-drop table t1;
+#
+# Disabled due to WL#1213 removal
+#
+# show collation like 'utf16_test_ci';
+# create table t1 (c1 char(1) character set utf16 collate utf16_test_ci);
+# insert into t1 values ('a');
+# select * from t1 where c1='b';
+# drop table t1;
+#
+# show collation like 'utf32_test_ci';
+# create table t1 (c1 char(1) character set utf32 collate utf32_test_ci);
+# insert into t1 values ('a');
+# select * from t1 where c1='b';
+# drop table t1;
#
=== modified file 'mysql-test/t/ctype_uca.test'
--- a/mysql-test/t/ctype_uca.test 2008-07-23 09:43:50 +0000
+++ b/mysql-test/t/ctype_uca.test 2009-06-02 13:04:43 +0000
@@ -564,6 +564,9 @@ set @@collation_connection=ucs2_czech_ci
--source include/weight_string_chde.inc
#
-# Bug#33077 weight of supplementary characters is not 0xfffd
+# Commented out due to removal of WL#1213.
#
-select hex(weight_string(_utf8 0xF0908080 /* U+10000 */ collate utf8_unicode_ci));
+# #
+# # Bug#33077 weight of supplementary characters is not 0xfffd
+# #
+# select hex(weight_string(_utf8 0xF0908080 /* U+10000 */ collate utf8_unicode_ci));
=== removed file 'mysql-test/t/ctype_utf16.test'
--- a/mysql-test/t/ctype_utf16.test 2008-07-24 12:15:24 +0000
+++ b/mysql-test/t/ctype_utf16.test 1970-01-01 00:00:00 +0000
@@ -1,737 +0,0 @@
--- source include/have_utf16.inc
-
---disable_warnings
-DROP TABLE IF EXISTS t1;
---enable_warnings
-
-SET NAMES latin1;
-SET character_set_connection=utf16;
-select hex('a'), hex('a ');
--- source include/endspace.inc
-
-
-# Check that incomplete utf16 characters in HEX notation
-# are left-padded with zeros
-#
-select hex(_utf16 0x44);
-select hex(_utf16 0x3344);
-select hex(_utf16 0x113344);
-
-
-# Check that 0x20 is only trimmed when it is
-# a part of real SPACE character, not just a part
-# of a multibyte sequence.
-# Note, CYRILLIC LETTER ER is used as an example, which
-# is stored as 0x0420 in utf16, thus contains 0x20 in the
-# low byte. The second character is THREE-PER-M, U+2004,
-# which contains 0x20 in the high byte.
-
-CREATE TABLE t1 (word VARCHAR(64), word2 CHAR(64)) CHARACTER SET utf16;
-INSERT INTO t1 VALUES (_koi8r 0xF2, _koi8r 0xF2), (X'2004',X'2004');
-SELECT hex(word) FROM t1 ORDER BY word;
-SELECT hex(word2) FROM t1 ORDER BY word2;
-DELETE FROM t1;
-
-#
-# Check that real spaces are correctly trimmed.
-#
-INSERT INTO t1 VALUES (X'042000200020',X'042000200020'), (X'200400200020', X'200400200020');
-SELECT hex(word) FROM t1 ORDER BY word;
-SELECT hex(word2) FROM t1 ORDER BY word2;
-DROP TABLE t1;
-
-
-#
-# Check LPAD/RPAD
-#
-SELECT hex(LPAD(_utf16 X'0420',10,_utf16 X'0421'));
-SELECT hex(LPAD(_utf16 X'0420',10,_utf16 X'04210422'));
-SELECT hex(LPAD(_utf16 X'0420',10,_utf16 X'042104220423'));
-SELECT hex(LPAD(_utf16 X'0420042104220423042404250426042704280429042A042B',10,_utf16 X'042104220423'));
-SELECT hex(LPAD(_utf16 X'D800DC00', 10, _utf16 X'0421'));
-SELECT hex(LPAD(_utf16 X'0421', 10, _utf16 X'D800DC00'));
-
-SELECT hex(RPAD(_utf16 X'0420',10,_utf16 X'0421'));
-SELECT hex(RPAD(_utf16 X'0420',10,_utf16 X'04210422'));
-SELECT hex(RPAD(_utf16 X'0420',10,_utf16 X'042104220423'));
-SELECT hex(RPAD(_utf16 X'0420042104220423042404250426042704280429042A042B',10,_utf16 X'042104220423'));
-SELECT hex(RPAD(_utf16 X'D800DC00', 10, _utf16 X'0421'));
-SELECT hex(RPAD(_utf16 X'0421', 10, _utf16 X'D800DC00'));
-
-CREATE TABLE t1 SELECT
-LPAD(_utf16 X'0420',10,_utf16 X'0421') l,
-RPAD(_utf16 X'0420',10,_utf16 X'0421') r;
-SHOW CREATE TABLE t1;
-select hex(l), hex(r) from t1;
-DROP TABLE t1;
-
-create table t1 (f1 char(30));
-insert into t1 values ("103000"), ("22720000"), ("3401200"), ("78000");
-select lpad(f1, 12, "-o-/") from t1;
-drop table t1;
-
-######################################################
-#
-# Test of like
-#
-
-SET NAMES latin1;
-SET character_set_connection=utf16;
---source include/ctype_like.inc
-
-SET NAMES utf8;
-SET character_set_connection=utf16;
-CREATE TABLE t1 (a VARCHAR(10) CHARACTER SET utf16);
-INSERT INTO t1 VALUES ('фыва'),('ФывNTO t1 VALUES ('фывАпролдж'),('фыв
-SELECT * FROM t1 WHERE a LIKE '%фЫва%' ORDER BY BINARY a;
-SELECT * FROM t1 WHERE a LIKE '%фЫв%' ORDER BY BINARY a;
-SELECT * FROM t1 WHERE a LIKE 'фЫва%' ORDER BY BINARY a;
-SELECT * FROM t1 WHERE a LIKE 'фЫва%' COLLATE utf16_bin ORDER BY BINARY a;
-DROP TABLE t1;
-
-CREATE TABLE t1 (word varchar(64) NOT NULL, PRIMARY KEY (word))
-ENGINE=MyISAM CHARACTER SET utf16;
-INSERT INTO t1 (word) VALUES ("cat");
-SELECT * FROM t1 WHERE word LIKE "c%";
-SELECT * FROM t1 WHERE word LIKE "ca_";
-SELECT * FROM t1 WHERE word LIKE "cat";
-SELECT * FROM t1 WHERE word LIKE _utf16 x'00630025'; # "c%"
-SELECT * FROM t1 WHERE word LIKE _utf16 x'00630061005F'; # "ca_"
-DROP TABLE t1;
-
-
-#
-# Check that INSERT() works fine.
-# This invokes charpos() function.
-select insert(_utf16 0x006100620063,10,2,_utf16 0x006400650066);
-select insert(_utf16 0x006100620063,1,2,_utf16 0x006400650066);
-
-########################################################
-#
-# Bug 1264
-#
-# Description:
-#
-# When using a ucs2 table in MySQL,
-# either with ucs2_general_ci or ucs2_bin collation,
-# words are returned in an incorrect order when using ORDER BY
-# on an _indexed_ CHAR or VARCHAR column. They are sorted with
-# the longest word *first* instead of last. I.E. The word "aardvark"
-# is in the results before the word "a".
-#
-# If there is no index for the column, the problem does not occur.
-#
-# Interestingly, if there is no second column, the words are returned
-# in the correct order.
-#
-# According to EXPLAIN, it looks like when the output includes columns that
-# are not part of the index sorted on, it does a filesort, which fails.
-# Using a straight index yields correct results.
-
-SET NAMES latin1;
-
-#
-# Two fields, index
-#
-
-CREATE TABLE t1 (
- word VARCHAR(64),
- bar INT(11) default 0,
- PRIMARY KEY (word))
- ENGINE=MyISAM
- CHARSET utf16
- COLLATE utf16_general_ci ;
-
-INSERT INTO t1 (word) VALUES ("aar");
-INSERT INTO t1 (word) VALUES ("a");
-INSERT INTO t1 (word) VALUES ("aardvar");
-INSERT INTO t1 (word) VALUES ("aardvark");
-INSERT INTO t1 (word) VALUES ("aardvara");
-INSERT INTO t1 (word) VALUES ("aardvarz");
-EXPLAIN SELECT * FROM t1 ORDER BY word;
-SELECT * FROM t1 ORDER BY word;
-EXPLAIN SELECT word FROM t1 ORDER BY word;
-SELECT word FROM t1 ORDER by word;
-DROP TABLE t1;
-
-
-#
-# One field, index
-#
-
-CREATE TABLE t1 (
- word VARCHAR(64) ,
- PRIMARY KEY (word))
- ENGINE=MyISAM
- CHARSET utf16
- COLLATE utf16_general_ci;
-
-INSERT INTO t1 (word) VALUES ("aar");
-INSERT INTO t1 (word) VALUES ("a");
-INSERT INTO t1 (word) VALUES ("aardvar");
-INSERT INTO t1 (word) VALUES ("aardvark");
-INSERT INTO t1 (word) VALUES ("aardvara");
-INSERT INTO t1 (word) VALUES ("aardvarz");
-EXPLAIN SELECT * FROM t1 ORDER BY WORD;
-SELECT * FROM t1 ORDER BY word;
-DROP TABLE t1;
-
-
-#
-# Two fields, no index
-#
-
-CREATE TABLE t1 (
- word TEXT,
- bar INT(11) AUTO_INCREMENT,
- PRIMARY KEY (bar))
- ENGINE=MyISAM
- CHARSET utf16
- COLLATE utf16_general_ci ;
-INSERT INTO t1 (word) VALUES ("aar");
-INSERT INTO t1 (word) VALUES ("a" );
-INSERT INTO t1 (word) VALUES ("aardvar");
-INSERT INTO t1 (word) VALUES ("aardvark");
-INSERT INTO t1 (word) VALUES ("aardvara");
-INSERT INTO t1 (word) VALUES ("aardvarz");
-EXPLAIN SELECT * FROM t1 ORDER BY word;
-SELECT * FROM t1 ORDER BY word;
-EXPLAIN SELECT word FROM t1 ORDER BY word;
-SELECT word FROM t1 ORDER BY word;
-DROP TABLE t1;
-
-#
-# END OF Bug 1264 test
-#
-########################################################
-
-
-#
-# Check alignment for from-binary-conversion with CAST and CONVERT
-#
-SELECT hex(cast(0xAA as char character set utf16));
-SELECT hex(convert(0xAA using utf16));
-
-#
-# Check alignment for string types
-#
-CREATE TABLE t1 (a char(10) character set utf16);
-INSERT INTO t1 VALUES (0x1),(0x11),(0x111),(0x1111),(0x11111);
-SELECT HEX(a) FROM t1;
-DROP TABLE t1;
-
-CREATE TABLE t1 (a varchar(10) character set utf16);
-INSERT INTO t1 VALUES (0x1),(0x11),(0x111),(0x1111),(0x11111);
-SELECT HEX(a) FROM t1;
-DROP TABLE t1;
-
-CREATE TABLE t1 (a text character set utf16);
-INSERT INTO t1 VALUES (0x1),(0x11),(0x111),(0x1111),(0x11111);
-SELECT HEX(a) FROM t1;
-DROP TABLE t1;
-
-CREATE TABLE t1 (a mediumtext character set utf16);
-INSERT INTO t1 VALUES (0x1),(0x11),(0x111),(0x1111),(0x11111);
-SELECT HEX(a) FROM t1;
-DROP TABLE t1;
-
-CREATE TABLE t1 (a longtext character set utf16);
-INSERT INTO t1 VALUES (0x1),(0x11),(0x111),(0x1111),(0x11111);
-SELECT HEX(a) FROM t1;
-DROP TABLE t1;
-
-##
-## Bug #5024 Server crashes with queries on fields
-## with certain charset/collation settings
-##
-##
-#create table t1 (s1 char character set utf16 collate utf16_czech_ci);
-#insert into t1 values ('0'),('1'),('2'),('a'),('b'),('c');
-#select s1 from t1 where s1 > 'a' order by s1;
-#drop table t1;
-#
-
-#
-# Bug #5081 : UCS2 fields are filled with '0x2020'
-# after extending field length
-#
-create table t1(a char(1)) default charset utf16;
-insert into t1 values ('a'),('b'),('c');
-alter table t1 modify a char(5);
-select a, hex(a) from t1;
-drop table t1;
-
-#
-# Check prepare statement from an UTF16 string
-#
-set @ivar= 1234;
-set @str1 = 'select ?';
-set @str2 = convert(@str1 using utf16);
-prepare stmt1 from @str2;
-execute stmt1 using @ivar;
-
-#
-# Check that utf16 works with ENUM and SET type
-#
-set names utf8;
-create table t1 (a enum('x','y','z') character set utf16);
-show create table t1;
-insert into t1 values ('x');
-insert into t1 values ('y');
-insert into t1 values ('z');
-select a, hex(a) from t1 order by a;
-alter table t1 change a a enum('x','y','z','d','e','ä','ö','ü') character set utf16;
-show create table t1;
-insert into t1 values ('D');
-insert into t1 values ('E ');
-insert into t1 values ('ä');
-insert into t1 values ('ö');
-insert into t1 values ('ü');
-select a, hex(a) from t1 order by a;
-drop table t1;
-
-create table t1 (a set ('x','y','z','ä','ö','ü') character set utf16);
-show create table t1;
-insert into t1 values ('x');
-insert into t1 values ('y');
-insert into t1 values ('z');
-insert into t1 values ('x,y');
-insert into t1 values ('x,y,z,ä,ö,ü');
-select a, hex(a) from t1 order by a;
-drop table t1;
-
-#
-# Bug#7302 UCS2 data in ENUM fields get truncated when new column is added
-#
-create table t1(a enum('a','b','c')) default character set utf16;
-insert into t1 values('a'),('b'),('c');
-alter table t1 add b char(1);
-show warnings;
-select * from t1 order by a;
-drop table t1;
-
-SET NAMES latin1;
-SET collation_connection='utf16_general_ci';
--- source include/ctype_filesort.inc
--- source include/ctype_like_escape.inc
-SET NAMES latin1;
-SET collation_connection='utf16_bin';
--- source include/ctype_filesort.inc
--- source include/ctype_like_escape.inc
-
-#
-# Bug#10344 Some string functions fail for UCS2
-#
-select hex(substr(_utf16 0x00e400e50068,1));
-select hex(substr(_utf16 0x00e400e50068,2));
-select hex(substr(_utf16 0x00e400e50068,3));
-select hex(substr(_utf16 0x00e400e50068,-1));
-select hex(substr(_utf16 0x00e400e50068,-2));
-select hex(substr(_utf16 0x00e400e50068,-3));
-select hex(substr(_utf16 0x00e400e5D800DC00,1));
-select hex(substr(_utf16 0x00e400e5D800DC00,2));
-select hex(substr(_utf16 0x00e400e5D800DC00,3));
-select hex(substr(_utf16 0x00e400e5D800DC00,-1));
-select hex(substr(_utf16 0x00e400e5D800DC00,-2));
-select hex(substr(_utf16 0x00e400e5D800DC00,-3));
-
-SET NAMES latin1;
-
-##
-## Bug#8235
-##
-## This bug also helped to find another problem that
-## INSERT of a UCS2 string containing a negative number
-## into a unsigned int column didn't produce warnings.
-## This test covers both problems.
-##
-##SET collation_connection='ucs2_swedish_ci';
-##CREATE TABLE t1 (Field1 int(10) default '0');
-### no warnings, negative numbers are allowed
-##INSERT INTO t1 VALUES ('-1');
-##SELECT * FROM t1;
-##DROP TABLE t1;
-##CREATE TABLE t1 (Field1 int(10) unsigned default '0');
-### this should generate a "Data truncated" warning
-##INSERT INTO t1 VALUES ('-1');
-##DROP TABLE t1;
-##SET NAMES latin1;
-
-###
-### Bug #14583 Bug on query using a LIKE on indexed field with ucs2_bin collation
-###
-##--disable_warnings
-##create table t1(f1 varchar(5) CHARACTER SET utf16 COLLATE utf16_bin NOT NULL) engine=InnoDB;
-##--enable_warnings
-##insert into t1 values('a');
-##create index t1f1 on t1(f1);
-##select f1 from t1 where f1 like 'a%';
-##drop table t1;
-
-#
-# Bug#9442 Set parameter make query fail if column character set is UCS2
-#
-create table t1 (utext varchar(20) character set utf16);
-insert into t1 values ("lily");
-insert into t1 values ("river");
-prepare stmt from 'select utext from t1 where utext like ?';
-set @param1='%%';
-execute stmt using @param1;
-execute stmt using @param1;
-select utext from t1 where utext like '%%';
-drop table t1;
-deallocate prepare stmt;
-
-#
-# Bug#22052 Trailing spaces are not removed from UNICODE fields in an index
-#
-create table t1 (
- a char(10) character set utf16 not null,
- index a (a)
-) engine=myisam;
-insert into t1 values (repeat(0x201f, 10));
-insert into t1 values (repeat(0x2020, 10));
-insert into t1 values (repeat(0x2021, 10));
-# make sure "index read" is used
-explain select hex(a) from t1 order by a;
-select hex(a) from t1 order by a;
-alter table t1 drop index a;
-select hex(a) from t1 order by a;
-drop table t1;
-
-##
-## Bug #20076: server crashes for a query with GROUP BY if MIN/MAX aggregation
-## over a 'ucs2' field uses a temporary table
-##
-##CREATE TABLE t1 (id int, s char(5) CHARACTER SET ucs2 COLLATE ucs2_unicode_ci);
-##INSERT INTO t1 VALUES (1, 'ZZZZZ'), (1, 'ZZZ'), (2, 'ZZZ'), (2, 'ZZZZZ');
-##SELECT id, MIN(s) FROM t1 GROUP BY id;
-##DROP TABLE t1;
-
-###
-### Bug #20536: md5() with GROUP BY and UCS2 return different results on myisam/innodb
-###
-##
-##--disable_warnings
-##drop table if exists bug20536;
-##--enable_warnings
-##
-##set names latin1;
-##create table bug20536 (id bigint not null auto_increment primary key, name
-##varchar(255) character set ucs2 not null);
-##insert into `bug20536` (`id`,`name`) values (1, _latin1 x'7465737431'), (2, "'test\\_2'");
-##select md5(name) from bug20536;
-##select sha1(name) from bug20536;
-##select make_set(3, name, upper(name)) from bug20536;
-##select export_set(5, name, upper(name)) from bug20536;
-##select export_set(5, name, upper(name), ",", 5) from bug20536;
-
-#
-# Bug #20108: corrupted default enum value for a ucs2 field
-#
-
-CREATE TABLE t1 (
- status enum('active','passive') character set utf16 collate utf16_general_ci
- NOT NULL default 'passive'
-);
-SHOW CREATE TABLE t1;
-ALTER TABLE t1 ADD a int NOT NULL AFTER status;
-SHOW CREATE TABLE t1;
-DROP TABLE t1;
-
-##CREATE TABLE t2 (
-## status enum('active','passive') collate ucs2_turkish_ci
-## NOT NULL default 'passive'
-##);
-##SHOW CREATE TABLE t2;
-##ALTER TABLE t2 ADD a int NOT NULL AFTER status;
-##DROP TABLE t2;
-
-
---echo End of 4.1 tests
-
-#
-# Conversion from an UTF16 string to a decimal column
-#
-CREATE TABLE t1 (a varchar(64) character set utf16, b decimal(10,3));
-INSERT INTO t1 VALUES ("1.1", 0), ("2.1", 0);
-update t1 set b=a;
-SELECT *, hex(a) FROM t1;
-DROP TABLE t1;
-
-#
-# Bug#9442 Set parameter make query fail if column character set is UCS2
-#
-create table t1 (utext varchar(20) character set utf16);
-insert into t1 values ("lily");
-insert into t1 values ("river");
-prepare stmt from 'select utext from t1 where utext like ?';
-set @param1='%%';
-execute stmt using @param1;
-execute stmt using @param1;
-select utext from t1 where utext like '%%';
-drop table t1;
-deallocate prepare stmt;
-
-#
-# Bug#22638 SOUNDEX broken for international characters
-#
-set names latin1;
-set character_set_connection=utf16;
-select soundex(''),soundex('he'),soundex('hello all folks'),soundex('#3556 in bugdb');
-select hex(soundex('')),hex(soundex('he')),hex(soundex('hello all folks')),hex(soundex('#3556 in bugdb'));
-select 'mood' sounds like 'mud';
-# Cyrillic A, BE, VE
-select hex(soundex(_utf16 0x041004110412));
-# Make sure that "U+00BF INVERTED QUESTION MARK" is not considered as letter
-select hex(soundex(_utf16 0x00BF00C0));
-set names latin1;
-
-#
-# Bug #14290: character_maximum_length for text fields
-#
-create table t1(a blob, b text charset utf16);
-select data_type, character_octet_length, character_maximum_length
- from information_schema.columns where table_name='t1';
-drop table t1;
-
---echo End of 5.0 tests
-
-set collation_connection=utf16_general_ci;
---source include/weight_string.inc
---source include/weight_string_euro.inc
-select hex(weight_string(_utf16 0xD800DC00));
-select hex(weight_string(_utf16 0xD800DC01));
---source include/weight_string_l1.inc
-
-set collation_connection=utf16_bin;
---source include/weight_string.inc
---source include/weight_string_euro.inc
---source include/weight_string_l1.inc
-
-set names latin1;
-set collation_connection=utf16_general_ci;
-#
-# Testing cs->coll->instr()
-#
-select position('bb' in 'abba');
-
-#
-# Testing cs->coll->hash_sort()
-#
-create table t1 (a varchar(10) character set utf16) engine=heap;
-insert into t1 values ('a'),('A'),('b'),('B');
-select * from t1 where a='a' order by binary a;
-select hex(min(binary a)),count(*) from t1 group by a;
-drop table t1;
-
-#
-# Testing cs->cset->numchars()
-#
-select char_length('abcd'), octet_length('abcd');
-select char_length(_utf16 0xD800DC00), octet_length(_utf16 0xD800DC00);
-select char_length(_utf16 0xD87FDFFF), octet_length(_utf16 0xD87FDFFF);
-
-#
-# Testing cs->cset->charpos()
-#
-select left('abcd',2);
-select hex(left(_utf16 0xD800DC00D87FDFFF, 1));
-select hex(right(_utf16 0xD800DC00D87FDFFF, 1));
-
-#
-# Testing cs->cset->well_formed_length()
-#
-create table t1 (a varchar(10) character set utf16);
-# Bad sequences
---error ER_INVALID_CHARACTER_STRING
-insert into t1 values (_utf16 0xD800);
---error ER_INVALID_CHARACTER_STRING
-insert into t1 values (_utf16 0xDC00);
---error ER_INVALID_CHARACTER_STRING
-insert into t1 values (_utf16 0xD800D800);
---error ER_INVALID_CHARACTER_STRING
-insert into t1 values (_utf16 0xD800E800);
---error ER_INVALID_CHARACTER_STRING
-insert into t1 values (_utf16 0xD8000800);
-# Good sequences
-insert into t1 values (_utf16 0xD800DC00);
-insert into t1 values (_utf16 0xD800DCFF);
-insert into t1 values (_utf16 0xDBFFDC00);
-insert into t1 values (_utf16 0xDBFFDCFF);
-select hex(a) from t1;
-drop table t1;
-
-#
-# Bug#32393 Character sets: illegal characters in utf16 columns
-#
-# Tests that cs->cset->wc_mb() doesn't accept surrogate parts
-#
-# via alter
-#
-create table t1 (s1 varchar(50) character set ucs2);
-insert into t1 values (0xdf84);
-alter table t1 modify column s1 varchar(50) character set utf16;
-select hex(s1) from t1;
-drop table t1;
-#
-# via update
-#
-create table t1 (s1 varchar(5) character set ucs2, s2 varchar(5) character set utf16);
-insert into t1 (s1) values (0xdf84);
-update t1 set s2 = s1;
-select hex(s2) from t1;
-drop table t1;
-
-
-
-#
-# Testing cs->cset->lengthsp()
-#
-create table t1 (a char(10)) character set utf16;
-insert into t1 values ('a ');
-select hex(a) from t1;
-drop table t1;
-
-#
-# Testing cs->cset->caseup() and cs->cset->casedn()
-#
-select upper('abcd'), lower('ABCD');
-
-#
-# TODO: str_to_datetime() is broken and doesn't work with ucs2 and utf16
-# Testing cs->cset->snprintf()
-#
-#create table t1 (a date);
-#insert into t1 values ('2007-09-16');
-#select * from t1;
-#drop table t1;
-
-#
-# Testing cs->cset->l10tostr
-# !!! Not used in the code
-
-#
-# Testing cs->cset->ll10tostr
-#
-create table t1 (a varchar(10) character set utf16);
-insert into t1 values (123456);
-select a, hex(a) from t1;
-drop table t1;
-
-
-# Testing cs->cset->fill
-# SOUNDEX fills strings with DIGIT ZERO up to four characters
-select hex(soundex('a'));
-
-#
-# Testing cs->cset->strntol
-# !!! Not used in the code
-
-#
-# Testing cs->cset->strntoul
-#
-create table t1 (a enum ('a','b','c')) character set utf16;
-insert into t1 values ('1');
-select * from t1;
-drop table t1;
-
-#
-# Testing cs->cset->strntoll and cs->cset->strntoull
-#
-set names latin1;
-select hex(conv(convert('123' using utf16), -10, 16));
-select hex(conv(convert('123' using utf16), 10, 16));
-
-#
-# Testing cs->cset->strntod
-#
-set names latin1;
-set character_set_connection=utf16;
-select 1.1 + '1.2';
-select 1.1 + '1.2xxx';
-
-# Testing strntoll10_utf16
-# Testing cs->cset->strtoll10
-select left('aaa','1');
-
-#
-# Testing cs->cset->strntoull10rnd
-#
-create table t1 (a int);
-insert into t1 values ('-1234.1e2');
-insert into t1 values ('-1234.1e2xxxx');
-insert into t1 values ('-1234.1e2 ');
-select * from t1;
-drop table t1;
-
-#
-# Testing cs->cset->scan
-#
-create table t1 (a int);
-insert into t1 values ('1 ');
-insert into t1 values ('1 x');
-select * from t1;
-drop table t1;
-
-#
-# Testing auto-conversion to TEXT
-#
-create table t1 (a varchar(17000) character set utf16);
-show create table t1;
-drop table t1;
-
-#
-# Testing that maximim possible key length is 1000 bytes
-#
-create table t1 (a varchar(250) character set utf16 primary key);
-show create table t1;
-drop table t1;
---error ER_TOO_LONG_KEY
-create table t1 (a varchar(334) character set utf16 primary key);
-
-#
-# Conversion to utf8
-#
-create table t1 (a char(1) character set utf16);
-insert into t1 values (0xD800DC00),(0xD800DCFF),(0xDB7FDC00),(0xDB7FDCFF);
-insert into t1 values (0x00C0), (0x00FF),(0xE000), (0xFFFF);
-select hex(a), hex(@a:=convert(a using utf8)), hex(convert(@a using utf16)) from t1;
-drop table t1;
-
-#
-# Test basic regex functionality
-#
-set collation_connection=utf16_general_ci;
---source include/ctype_regex.inc
-set names latin1;
-
-#
-# Test how character set works with date/time
-#
-SET collation_connection=utf16_general_ci;
---source include/ctype_datetime.inc
-SET NAMES latin1;
-
-#
-# Bug#33073 Character sets: ordering fails with utf32
-#
-SET collation_connection=utf16_general_ci;
-CREATE TABLE t1 AS SELECT repeat('a',2) as s1 LIMIT 0;
-SHOW CREATE TABLE t1;
-INSERT INTO t1 VALUES ('ab'),('AE'),('ab'),('AE');
-SELECT * FROM t1 ORDER BY s1;
-SET max_sort_length=4;
-SELECT * FROM t1 ORDER BY s1;
-SELECT hex(weight_string(s1, 4, 2, 0)) FROM t1 ORDER BY s1;
-DROP TABLE t1;
-SET max_sort_length=DEFAULT;
-SET NAMES latin1;
-
-
-#
-## TODO: add tests for all engines
-#
=== removed file 'mysql-test/t/ctype_utf16_uca.test'
--- a/mysql-test/t/ctype_utf16_uca.test 2008-07-23 09:43:50 +0000
+++ b/mysql-test/t/ctype_utf16_uca.test 1970-01-01 00:00:00 +0000
@@ -1,295 +0,0 @@
--- source include/have_utf16.inc
-
---disable_warnings
-DROP TABLE IF EXISTS t1;
---enable_warnings
-
-set names utf8;
-set collation_connection=utf16_unicode_ci;
-select hex('a'), hex('a ');
--- source include/endspace.inc
-
-#
-# Bug #6787 LIKE not working properly with _ and utf8 data
-#
-select 'c' like '\_' as want0;
-
-#
-# Bug #5679 utf8_unicode_ci LIKE--trailing % doesn't equal zero characters
-#
-CREATE TABLE t (
- c char(20) NOT NULL
-) ENGINE=MyISAM DEFAULT CHARACTER SET utf16 COLLATE utf16_unicode_ci;
-INSERT INTO t VALUES ('a'),('ab'),('aba');
-ALTER TABLE t ADD INDEX (c);
-SELECT c FROM t WHERE c LIKE 'a%';
-DROP TABLE t;
-
-
-create table t1 (c1 char(10) character set utf16 collate utf16_bin);
-
-#
-# Basic Latin
-#
-insert into t1 values ('A'),('a');
-insert into t1 values ('B'),('b');
-insert into t1 values ('C'),('c');
-insert into t1 values ('D'),('d');
-insert into t1 values ('E'),('e');
-insert into t1 values ('F'),('f');
-insert into t1 values ('G'),('g');
-insert into t1 values ('H'),('h');
-insert into t1 values ('I'),('i');
-insert into t1 values ('J'),('j');
-insert into t1 values ('K'),('k');
-insert into t1 values ('L'),('l');
-insert into t1 values ('M'),('m');
-insert into t1 values ('N'),('n');
-insert into t1 values ('O'),('o');
-insert into t1 values ('P'),('p');
-insert into t1 values ('Q'),('q');
-insert into t1 values ('R'),('r');
-insert into t1 values ('S'),('s');
-insert into t1 values ('T'),('t');
-insert into t1 values ('U'),('u');
-insert into t1 values ('V'),('v');
-insert into t1 values ('W'),('w');
-insert into t1 values ('X'),('x');
-insert into t1 values ('Y'),('y');
-insert into t1 values ('Z'),('z');
-
-#
-# Latin1 suppliment
-#
-insert into t1 values (0x00e0),(0x00c0);
-insert into t1 values (0x00e1),(0x00c1);
-insert into t1 values (0x00e2),(0x00c2);
-insert into t1 values (0x00e3),(0x00c3);
-insert into t1 values (0x00e4),(0x00c4);
-insert into t1 values (0x00e5),(0x00c5);
-insert into t1 values (0x00e6),(0x00c6);
-insert into t1 values (0x00e7),(0x00c7);
-insert into t1 values (0x00e8),(0x00c8);
-insert into t1 values (0x00e9),(0x00c9);
-insert into t1 values (0x00ea),(0x00ca);
-insert into t1 values (0x00eb),(0x00cb);
-insert into t1 values (0x00ec),(0x00cc);
-insert into t1 values (0x00ed),(0x00cd);
-insert into t1 values (0x00ee),(0x00ce);
-insert into t1 values (0x00ef),(0x00cf);
-
-insert into t1 values (0x00f0),(0x00d0);
-insert into t1 values (0x00f1),(0x00d1);
-insert into t1 values (0x00f2),(0x00d2);
-insert into t1 values (0x00f3),(0x00d3);
-insert into t1 values (0x00f4),(0x00d4);
-insert into t1 values (0x00f5),(0x00d5);
-insert into t1 values (0x00f6),(0x00d6);
-insert into t1 values (0x00f7),(0x00d7);
-insert into t1 values (0x00f8),(0x00d8);
-insert into t1 values (0x00f9),(0x00d9);
-insert into t1 values (0x00fa),(0x00da);
-insert into t1 values (0x00fb),(0x00db);
-insert into t1 values (0x00fc),(0x00dc);
-insert into t1 values (0x00fd),(0x00dd);
-insert into t1 values (0x00fe),(0x00de);
-insert into t1 values (0x00ff),(0x00df);
-
-#
-# Latin extended-A, 0100-017F
-#
-insert into t1 values (0x0100),(0x0101),(0x0102),(0x0103);
-insert into t1 values (0x0104),(0x0105),(0x0106),(0x0107);
-insert into t1 values (0x0108),(0x0109),(0x010a),(0x010b);
-insert into t1 values (0x010c),(0x010d),(0x010e),(0x010f);
-insert into t1 values (0x0110),(0x0111),(0x0112),(0x0113);
-insert into t1 values (0x0114),(0x0115),(0x0116),(0x0117);
-insert into t1 values (0x0118),(0x0119),(0x011a),(0x011b);
-insert into t1 values (0x011c),(0x011d),(0x011e),(0x011f);
-insert into t1 values (0x0120),(0x0121),(0x0122),(0x0123);
-insert into t1 values (0x0124),(0x0125),(0x0126),(0x0127);
-insert into t1 values (0x0128),(0x0129),(0x012a),(0x012b);
-insert into t1 values (0x012c),(0x012d),(0x012e),(0x012f);
-insert into t1 values (0x0130),(0x0131),(0x0132),(0x0133);
-insert into t1 values (0x0134),(0x0135),(0x0136),(0x0137);
-insert into t1 values (0x0138),(0x0139),(0x013a),(0x013b);
-insert into t1 values (0x013c),(0x013d),(0x013e),(0x013f);
-insert into t1 values (0x0140),(0x0141),(0x0142),(0x0143);
-insert into t1 values (0x0144),(0x0145),(0x0146),(0x0147);
-insert into t1 values (0x0148),(0x0149),(0x014a),(0x014b);
-insert into t1 values (0x014c),(0x014d),(0x014e),(0x014f);
-insert into t1 values (0x0150),(0x0151),(0x0152),(0x0153);
-insert into t1 values (0x0154),(0x0155),(0x0156),(0x0157);
-insert into t1 values (0x0158),(0x0159),(0x015a),(0x015b);
-insert into t1 values (0x015c),(0x015d),(0x015e),(0x015f);
-insert into t1 values (0x0160),(0x0161),(0x0162),(0x0163);
-insert into t1 values (0x0164),(0x0165),(0x0166),(0x0167);
-insert into t1 values (0x0168),(0x0169),(0x016a),(0x016b);
-insert into t1 values (0x016c),(0x016d),(0x016e),(0x016f);
-insert into t1 values (0x0170),(0x0171),(0x0172),(0x0173);
-insert into t1 values (0x0174),(0x0175),(0x0176),(0x0177);
-insert into t1 values (0x0178),(0x0179),(0x017a),(0x017b);
-insert into t1 values (0x017c),(0x017d),(0x017e),(0x017f);
-
-#
-# Latin extended-B, 0180-024F
-#
-insert into t1 values (0x0180),(0x0181),(0x0182),(0x0183);
-insert into t1 values (0x0184),(0x0185),(0x0186),(0x0187);
-insert into t1 values (0x0188),(0x0189),(0x018a),(0x018b);
-insert into t1 values (0x018c),(0x018d),(0x018e),(0x018f);
-insert into t1 values (0x0190),(0x0191),(0x0192),(0x0193);
-insert into t1 values (0x0194),(0x0195),(0x0196),(0x0197);
-insert into t1 values (0x0198),(0x0199),(0x019a),(0x019b);
-insert into t1 values (0x019c),(0x019d),(0x019e),(0x019f);
-insert into t1 values (0x01a0),(0x01a1),(0x01a2),(0x01a3);
-insert into t1 values (0x01a4),(0x01a5),(0x01a6),(0x01a7);
-insert into t1 values (0x01a8),(0x01a9),(0x01aa),(0x01ab);
-insert into t1 values (0x01ac),(0x01ad),(0x01ae),(0x01af);
-insert into t1 values (0x01b0),(0x01b1),(0x01b2),(0x01b3);
-insert into t1 values (0x01b4),(0x01b5),(0x01b6),(0x01b7);
-insert into t1 values (0x01b8),(0x01b9),(0x01ba),(0x01bb);
-insert into t1 values (0x01bc),(0x01bd),(0x01be),(0x01bf);
-insert into t1 values (0x01c0),(0x01c1),(0x01c2),(0x01c3);
-insert into t1 values (0x01c4),(0x01c5),(0x01c6),(0x01c7);
-insert into t1 values (0x01c8),(0x01c9),(0x01ca),(0x01cb);
-insert into t1 values (0x01cc),(0x01cd),(0x01ce),(0x01cf);
-insert into t1 values (0x01d0),(0x01d1),(0x01d2),(0x01d3);
-insert into t1 values (0x01d4),(0x01d5),(0x01d6),(0x01d7);
-insert into t1 values (0x01d8),(0x01d9),(0x01da),(0x01db);
-insert into t1 values (0x01dc),(0x01dd),(0x01de),(0x01df);
-insert into t1 values (0x01e0),(0x01e1),(0x01e2),(0x01e3);
-insert into t1 values (0x01e4),(0x01e5),(0x01e6),(0x01e7);
-insert into t1 values (0x01e8),(0x01e9),(0x01ea),(0x01eb);
-insert into t1 values (0x01ec),(0x01ed),(0x01ee),(0x01ef);
-insert into t1 values (0x01f0),(0x01f1),(0x01f2),(0x01f3);
-insert into t1 values (0x01f4),(0x01f5),(0x01f6),(0x01f7);
-insert into t1 values (0x01f8),(0x01f9),(0x01fa),(0x01fb);
-insert into t1 values (0x01fc),(0x01fd),(0x01fe),(0x01ff);
-
-
-insert into t1 values ('AA'),('Aa'),('aa'),('aA');
-insert into t1 values ('CH'),('Ch'),('ch'),('cH');
-insert into t1 values ('DZ'),('Dz'),('dz'),('dZ');
-insert into t1 values ('IJ'),('Ij'),('ij'),('iJ');
-insert into t1 values ('LJ'),('Lj'),('lj'),('lJ');
-insert into t1 values ('LL'),('Ll'),('ll'),('lL');
-insert into t1 values ('NJ'),('Nj'),('nj'),('nJ');
-insert into t1 values ('OE'),('Oe'),('oe'),('oE');
-insert into t1 values ('SS'),('Ss'),('ss'),('sS');
-insert into t1 values ('RR'),('Rr'),('rr'),('rR');
-
-select group_concat(c1 order by binary c1 separator '') from t1 group by c1 collate utf16_unicode_ci;
-select group_concat(c1 order by binary c1 separator '') from t1 group by c1 collate utf16_icelandic_ci;
-select group_concat(c1 order by binary c1 separator '') from t1 group by c1 collate utf16_latvian_ci;
-select group_concat(c1 order by binary c1 separator '') from t1 group by c1 collate utf16_romanian_ci;
-select group_concat(c1 order by binary c1 separator '') from t1 group by c1 collate utf16_slovenian_ci;
-select group_concat(c1 order by binary c1 separator '') from t1 group by c1 collate utf16_polish_ci;
-select group_concat(c1 order by binary c1 separator '') from t1 group by c1 collate utf16_estonian_ci;
-select group_concat(c1 order by binary c1 separator '') from t1 group by c1 collate utf16_spanish_ci;
-select group_concat(c1 order by binary c1 separator '') from t1 group by c1 collate utf16_swedish_ci;
-select group_concat(c1 order by binary c1 separator '') from t1 group by c1 collate utf16_turkish_ci;
-select group_concat(c1 order by binary c1 separator '') from t1 group by c1 collate utf16_czech_ci;
-select group_concat(c1 order by binary c1 separator '') from t1 group by c1 collate utf16_danish_ci;
-select group_concat(c1 order by binary c1 separator '') from t1 group by c1 collate utf16_lithuanian_ci;
-select group_concat(c1 order by binary c1 separator '') from t1 group by c1 collate utf16_slovak_ci;
-select group_concat(c1 order by binary c1 separator '') from t1 group by c1 collate utf16_spanish2_ci;
-select group_concat(c1 order by binary c1 separator '') from t1 group by c1 collate utf16_roman_ci;
-select group_concat(c1 order by binary c1 separator '') from t1 group by c1 collate utf16_esperanto_ci;
-select group_concat(c1 order by binary c1 separator '') from t1 group by c1 collate utf16_hungarian_ci;
-
-drop table t1;
-
-#
-# Bug#5324
-#
-SET NAMES utf8;
-
-CREATE TABLE t1 (c varchar(200) CHARACTER SET utf16 COLLATE utf16_general_ci NOT NULL, INDEX (c));
-INSERT INTO t1 VALUES (0x039C03C903B403B11F770308);
-#Check one row
-SELECT * FROM t1 WHERE c LIKE _utf16 0x039C0025 COLLATE utf16_general_ci;
-INSERT INTO t1 VALUES (0x039C03C903B4);
-#Check two rows
-SELECT * FROM t1 WHERE c LIKE _utf16 0x039C0025
-COLLATE utf16_general_ci ORDER BY c;
-DROP TABLE t1;
-
-CREATE TABLE t1 (c varchar(200) CHARACTER SET utf16 COLLATE utf16_unicode_ci NOT NULL, INDEX (c));
-INSERT INTO t1 VALUES (0x039C03C903B403B11F770308);
-#Check one row
-SELECT * FROM t1 WHERE c LIKE _utf16 0x039C0025 COLLATE utf16_unicode_ci;
-INSERT INTO t1 VALUES (0x039C03C903B4);
-#Check two rows
-SELECT * FROM t1 WHERE c LIKE _utf16 0x039C0025
-COLLATE utf16_unicode_ci ORDER BY c;
-DROP TABLE t1;
-
-CREATE TABLE t1 (c varchar(200) CHARACTER SET utf16 COLLATE utf16_unicode_ci NOT NULL, INDEX (c));
-INSERT INTO t1 VALUES (0x039C03C903B403B11F770308);
-#Check one row row
-SELECT * FROM t1 WHERE c LIKE _utf16 0x039C0025 COLLATE utf16_unicode_ci;
-INSERT INTO t1 VALUES (0x039C03C903B4);
-#Check two rows
-SELECT * FROM t1 WHERE c LIKE _utf16 0x039C0025
-COLLATE utf16_unicode_ci ORDER BY c;
-DROP TABLE t1;
-
-
-SET NAMES utf8;
-SET @test_character_set='utf16';
-SET @test_collation='utf16_swedish_ci';
--- source include/ctype_common.inc
-
-
-SET collation_connection='utf16_unicode_ci';
--- source include/ctype_filesort.inc
--- source include/ctype_like_escape.inc
-
---echo End of 4.1 tests
-
-#
-# Check UPPER/LOWER changing length
-#
-# Result shorter than argument
-CREATE TABLE t1 (id int, a varchar(30) character set utf16);
-INSERT INTO t1 VALUES (1, 0x01310069), (2, 0x01310131);
-INSERT INTO t1 VALUES (3, 0x00690069), (4, 0x01300049);
-INSERT INTO t1 VALUES (5, 0x01300130), (6, 0x00490049);
-SELECT a, length(a) la, @l:=lower(a) l, length(@l) ll, @u:=upper(a) u, length(@u) lu
-FROM t1 ORDER BY id;
-ALTER TABLE t1 MODIFY a VARCHAR(30) character set utf16 collate utf16_turkish_ci;
-SELECT a, length(a) la, @l:=lower(a) l, length(@l) ll, @u:=upper(a) u, length(@u) lu
-FROM t1 ORDER BY id;
-DROP TABLE t1;
-
-#
-# Bug #27079 Crash while grouping empty ucs2 strings
-#
-CREATE TABLE t1 (
- c1 text character set utf16 collate utf16_polish_ci NOT NULL
-) ENGINE=MyISAM;
-insert into t1 values (''),('a');
-SELECT COUNT(*), c1 FROM t1 GROUP BY c1;
-DROP TABLE IF EXISTS t1;
-
---echo End of 5.1 tests
-
-set collation_connection=utf16_unicode_ci;
---source include/weight_string.inc
---source include/weight_string_euro.inc
-select hex(weight_string(_utf16 0xD800DC00 collate utf16_unicode_ci));
-select hex(weight_string(_utf16 0xD800DC01 collate utf16_unicode_ci));
---source include/weight_string_l1.inc
-
-set @@collation_connection=utf16_czech_ci;
---source include/weight_string_chde.inc
-
-#
-# Test basic regex functionality
-#
-set collation_connection=utf16_unicode_ci;
---source include/ctype_regex.inc
-set names latin1;
-
---echo End of 5.2 tests
=== removed file 'mysql-test/t/ctype_utf32.test'
--- a/mysql-test/t/ctype_utf32.test 2009-04-07 06:01:03 +0000
+++ b/mysql-test/t/ctype_utf32.test 1970-01-01 00:00:00 +0000
@@ -1,819 +0,0 @@
--- source include/have_utf32.inc
-
---disable_warnings
-DROP TABLE IF EXISTS t1;
---enable_warnings
-
-SET NAMES latin1;
-SET character_set_connection=utf32;
-select hex('a'), hex('a ');
--- source include/endspace.inc
-
-#
-# Check that incomplete utf32 characters in HEX notation
-# are left-padded with zeros
-#
-select hex(_utf32 0x44);
-select hex(_utf32 0x3344);
-select hex(_utf32 0x103344);
-
-select hex(_utf32 X'44');
-select hex(_utf32 X'3344');
-select hex(_utf32 X'103344');
-
-
-#
-# Check that 0x20 is only trimmed when it is
-# a part of real SPACE character, not just a part
-# of a multibyte sequence.
-# Note, CYRILLIC LETTER ER is used as an example, which
-# is stored as 0x0420 in UCS2, thus contains 0x20 in the
-# low byte. The second character is THREE-PER-M, U+2004,
-# which contains 0x20 in the high byte.
-#
-
-CREATE TABLE t1 (word VARCHAR(64), word2 CHAR(64)) CHARACTER SET utf32;
-INSERT INTO t1 VALUES (_koi8r 0xF2, _koi8r 0xF2), (X'2004',X'2004');
-SELECT hex(word) FROM t1 ORDER BY word;
-SELECT hex(word2) FROM t1 ORDER BY word2;
-DELETE FROM t1;
-
-#
-# Check that real spaces are correctly trimmed.
-#
-
-INSERT INTO t1 VALUES
- (X'000004200000002000000020',X'000004200000002000000020'),
- (X'000020040000002000000020',X'000020040000002000000020');
-SELECT hex(word) FROM t1 ORDER BY word;
-SELECT hex(word2) FROM t1 ORDER BY word2;
-DROP TABLE t1;
-
-#
-# Check LPAD/RPAD
-#
-SELECT hex(LPAD(_utf32 X'0420',10,_utf32 X'0421'));
-SELECT hex(LPAD(_utf32 X'0420',10,_utf32 X'0000042100000422'));
-SELECT hex(LPAD(_utf32 X'0420',10,_utf32 X'000004210000042200000423'));
-SELECT hex(LPAD(_utf32 X'000004200000042100000422000004230000042400000425000004260000042700000428000004290000042A0000042B',10,_utf32 X'000004210000042200000423'));
-
-SELECT hex(RPAD(_utf32 X'0420',10,_utf32 X'0421'));
-SELECT hex(RPAD(_utf32 X'0420',10,_utf32 X'0000042100000422'));
-SELECT hex(RPAD(_utf32 X'0420',10,_utf32 X'000004210000042200000423'));
-SELECT hex(RPAD(_utf32 X'000004200000042100000422000004230000042400000425000004260000042700000428000004290000042A0000042B',10,_utf32 X'000004210000042200000423'));
-
-CREATE TABLE t1 SELECT
-LPAD(_utf32 X'0420',10,_utf32 X'0421') l,
-RPAD(_utf32 X'0420',10,_utf32 X'0421') r;
-SHOW CREATE TABLE t1;
-select hex(l), hex(r) from t1;
-DROP TABLE t1;
-
-create table t1 (f1 char(30));
-insert into t1 values ("103000"), ("22720000"), ("3401200"), ("78000");
-select lpad(f1, 12, "-o-/") from t1;
-drop table t1;
-
-######################################################
-#
-# Test of like
-#
-
-SET NAMES latin1;
-SET character_set_connection=utf32;
---source include/ctype_like.inc
-
-SET NAMES utf8;
-SET character_set_connection=utf32;
-CREATE TABLE t1 (a VARCHAR(10) CHARACTER SET utf32);
-INSERT INTO t1 VALUES ('фыва'),('Фыва'),('фЫва'),('фыВа'),('фывА'),('ФЫВА');
-INSERT INTO t1 VALUES ('ф
-INSERT INTO t1 VALUES ('фывАпролдж'),('фываПролдж'),('фывапРолдж'),('фывапрОлдж');
-INSERT INTO t1 VALUES ('фывапроЛдж'),('фывапролДж'),('фывапролдЖ'),('ФЫВАПРОЛДЖ');
-SELECT * FROM t1 WHERE a LIKE '%фЫва%' ORDER BY BINARY a;
-SELECT * FROM t1 WHERE a LIKE '%фЫв%' ORDER BY BINARY a;
-SELECT * FROM t1 WHERE a LIKE 'фЫва%' ORDER BY BINARY a;
-SELECT * FROM t1 WHERE a LIKE 'фЫва%' COLLATE utf32_bin ORDER BY BINARY a;
-DROP TABLE t1;
-
-CREATE TABLE t1 (word varchar(64) NOT NULL, PRIMARY KEY (word))
-ENGINE=MyISAM CHARACTER SET utf32;
-INSERT INTO t1 (word) VALUES ("cat");
-SELECT * FROM t1 WHERE word LIKE "c%";
-SELECT * FROM t1 WHERE word LIKE "ca_";
-SELECT * FROM t1 WHERE word LIKE "cat";
-SELECT * FROM t1 WHERE word LIKE _utf32 x'0000006300000025'; # "c%"
-SELECT * FROM t1 WHERE word LIKE _utf32 x'00000063000000610000005F'; # "ca_"
-DROP TABLE t1;
-
-
-#
-# Check that INSERT() works fine.
-# This invokes charpos() function.
-select insert(_utf32 0x000000610000006200000063,10,2,_utf32 0x000000640000006500000066);
-select insert(_utf32 0x000000610000006200000063,1,2,_utf32 0x000000640000006500000066);
-
-#######################################################
-
-#
-# Bug 1264
-#
-# Description:
-#
-# When using a ucs2 table in MySQL,
-# either with ucs2_general_ci or ucs2_bin collation,
-# words are returned in an incorrect order when using ORDER BY
-# on an _indexed_ CHAR or VARCHAR column. They are sorted with
-# the longest word *first* instead of last. I.E. The word "aardvark"
-# is in the results before the word "a".
-#
-# If there is no index for the column, the problem does not occur.
-#
-# Interestingly, if there is no second column, the words are returned
-# in the correct order.
-#
-# According to EXPLAIN, it looks like when the output includes columns that
-# are not part of the index sorted on, it does a filesort, which fails.
-# Using a straight index yields correct results.
-
-SET NAMES latin1;
-
-#
-# Two fields, index
-#
-
-CREATE TABLE t1 (
- word VARCHAR(64),
- bar INT(11) default 0,
- PRIMARY KEY (word))
- ENGINE=MyISAM
- CHARSET utf32
- COLLATE utf32_general_ci ;
-
-INSERT INTO t1 (word) VALUES ("aar");
-INSERT INTO t1 (word) VALUES ("a");
-INSERT INTO t1 (word) VALUES ("aardvar");
-INSERT INTO t1 (word) VALUES ("aardvark");
-INSERT INTO t1 (word) VALUES ("aardvara");
-INSERT INTO t1 (word) VALUES ("aardvarz");
-EXPLAIN SELECT * FROM t1 ORDER BY word;
-SELECT * FROM t1 ORDER BY word;
-EXPLAIN SELECT word FROM t1 ORDER BY word;
-SELECT word FROM t1 ORDER by word;
-DROP TABLE t1;
-
-
-#
-# One field, index
-#
-
-CREATE TABLE t1 (
- word VARCHAR(64) ,
- PRIMARY KEY (word))
- ENGINE=MyISAM
- CHARSET utf32
- COLLATE utf32_general_ci;
-
-INSERT INTO t1 (word) VALUES ("aar");
-INSERT INTO t1 (word) VALUES ("a");
-INSERT INTO t1 (word) VALUES ("aardvar");
-INSERT INTO t1 (word) VALUES ("aardvark");
-INSERT INTO t1 (word) VALUES ("aardvara");
-INSERT INTO t1 (word) VALUES ("aardvarz");
-EXPLAIN SELECT * FROM t1 ORDER BY WORD;
-SELECT * FROM t1 ORDER BY word;
-DROP TABLE t1;
-
-
-#
-# Two fields, no index
-#
-
-CREATE TABLE t1 (
- word TEXT,
- bar INT(11) AUTO_INCREMENT,
- PRIMARY KEY (bar))
- ENGINE=MyISAM
- CHARSET utf32
- COLLATE utf32_general_ci ;
-INSERT INTO t1 (word) VALUES ("aar");
-INSERT INTO t1 (word) VALUES ("a" );
-INSERT INTO t1 (word) VALUES ("aardvar");
-INSERT INTO t1 (word) VALUES ("aardvark");
-INSERT INTO t1 (word) VALUES ("aardvara");
-INSERT INTO t1 (word) VALUES ("aardvarz");
-EXPLAIN SELECT * FROM t1 ORDER BY word;
-SELECT * FROM t1 ORDER BY word;
-EXPLAIN SELECT word FROM t1 ORDER BY word;
-SELECT word FROM t1 ORDER BY word;
-DROP TABLE t1;
-
-#
-# END OF Bug 1264 test
-#
-########################################################
-
-
-#
-# Check alignment for from-binary-conversion with CAST and CONVERT
-#
-SELECT hex(cast(0xAA as char character set utf32));
-SELECT hex(convert(0xAA using utf32));
-
-#
-# Check alignment for string types
-#
-CREATE TABLE t1 (a char(10) character set utf32);
-INSERT INTO t1 VALUES (0x1),(0x11),(0x111),(0x1111),(0x11111);
-SELECT HEX(a) FROM t1;
-DROP TABLE t1;
-
-CREATE TABLE t1 (a varchar(10) character set utf32);
-INSERT INTO t1 VALUES (0x1),(0x11),(0x111),(0x1111),(0x11111);
-SELECT HEX(a) FROM t1;
-DROP TABLE t1;
-
-CREATE TABLE t1 (a text character set utf32);
-INSERT INTO t1 VALUES (0x1),(0x11),(0x111),(0x1111),(0x11111);
-SELECT HEX(a) FROM t1;
-DROP TABLE t1;
-
-CREATE TABLE t1 (a mediumtext character set utf32);
-INSERT INTO t1 VALUES (0x1),(0x11),(0x111),(0x1111),(0x11111);
-SELECT HEX(a) FROM t1;
-DROP TABLE t1;
-
-CREATE TABLE t1 (a longtext character set utf32);
-INSERT INTO t1 VALUES (0x1),(0x11),(0x111),(0x1111),(0x11111);
-SELECT HEX(a) FROM t1;
-DROP TABLE t1;
-
-##
-## Bug #5024 Server crashes with queries on fields
-## with certain charset/collation settings
-##
-#
-#create table t1 (s1 char character set `ucs2` collate `ucs2_czech_ci`);
-#insert into t1 values ('0'),('1'),('2'),('a'),('b'),('c');
-#select s1 from t1 where s1 > 'a' order by s1;
-#drop table t1;
-
-#
-# Bug #5081 : UCS2 fields are filled with '0x2020'
-# after extending field length
-#
-create table t1(a char(1)) default charset utf32;
-insert into t1 values ('a'),('b'),('c');
-alter table t1 modify a char(5);
-select a, hex(a) from t1;
-drop table t1;
-
-#
-# Check prepare statement from an UTF32 string
-#
-set @ivar= 1234;
-set @str1 = 'select ?';
-set @str2 = convert(@str1 using utf32);
-prepare stmt1 from @str2;
-execute stmt1 using @ivar;
-
-#
-# Check that utf32 works with ENUM and SET type
-#
-set names utf8;
-create table t1 (a enum('x','y','z') character set utf32);
-show create table t1;
-insert into t1 values ('x');
-insert into t1 values ('y');
-insert into t1 values ('z');
-select a, hex(a) from t1 order by a;
-alter table t1 change a a enum('x','y','z','d','e','ä','ö','ü') character set utf32;
-show create table t1;
-insert into t1 values ('D');
-insert into t1 values ('E ');
-insert into t1 values ('ä');
-insert into t1 values ('ö');
-insert into t1 values ('ü');
-select a, hex(a) from t1 order by a;
-drop table t1;
-
-create table t1 (a set ('x','y','z','ä','ö','ü') character set utf32);
-show create table t1;
-insert into t1 values ('x');
-insert into t1 values ('y');
-insert into t1 values ('z');
-insert into t1 values ('x,y');
-insert into t1 values ('x,y,z,ä,ö,ü');
-select a, hex(a) from t1 order by a;
-drop table t1;
-
-#
-# Bug#7302 UCS2 data in ENUM fields get truncated when new column is added
-#
-create table t1(a enum('a','b','c')) default character set utf32;
-insert into t1 values('a'),('b'),('c');
-alter table t1 add b char(1);
-show warnings;
-select * from t1 order by a;
-drop table t1;
-
-SET NAMES latin1;
-SET collation_connection='utf32_general_ci';
--- source include/ctype_filesort.inc
--- source include/ctype_like_escape.inc
-SET NAMES latin1;
-SET collation_connection='utf32_bin';
--- source include/ctype_filesort.inc
--- source include/ctype_like_escape.inc
-
-#
-# Bug#10344 Some string functions fail for UCS2
-#
-select hex(substr(_utf32 0x000000e4000000e500000068,1));
-select hex(substr(_utf32 0x000000e4000000e500000068,2));
-select hex(substr(_utf32 0x000000e4000000e500000068,3));
-select hex(substr(_utf32 0x000000e4000000e500000068,-1));
-select hex(substr(_utf32 0x000000e4000000e500000068,-2));
-select hex(substr(_utf32 0x000000e4000000e500000068,-3));
-
-#SET NAMES latin1;
-#
-# Bug#8235
-#
-# This bug also helped to find another problem that
-# INSERT of a UCS2 string containing a negative number
-# into a unsigned int column didn't produce warnings.
-# This test covers both problems.
-#
-#SET collation_connection='ucs2_swedish_ci';
-#CREATE TABLE t1 (Field1 int(10) default '0');
-## no warnings, negative numbers are allowed
-#INSERT INTO t1 VALUES ('-1');
-#SELECT * FROM t1;
-#DROP TABLE t1;
-#CREATE TABLE t1 (Field1 int(10) unsigned default '0');
-## this should generate a "Data truncated" warning
-#INSERT INTO t1 VALUES ('-1');
-#DROP TABLE t1;
-#SET NAMES latin1;
-
-#
-##
-## Bug#18691 Converting number to UNICODE string returns invalid result
-##
-#SELECT CONVERT(103, CHAR(50) UNICODE);
-#SELECT CONVERT(103.0, CHAR(50) UNICODE);
-#SELECT CONVERT(-103, CHAR(50) UNICODE);
-#SELECT CONVERT(-103.0, CHAR(50) UNICODE);
-
-#
-# Bug#9557 MyISAM utf8 table crash
-#
-CREATE TABLE t1 (
- a varchar(250) NOT NULL default '',
- KEY a (a)
-) ENGINE=MyISAM DEFAULT CHARSET=utf32 COLLATE utf32_general_ci;
-insert into t1 values (0x803d);
-insert into t1 values (0x005b);
-select hex(a) from t1;
-drop table t1;
-
-##
-## Bug #14583 Bug on query using a LIKE on indexed field with ucs2_bin collation
-##
-#--disable_warnings
-#create table t1(f1 varchar(5) CHARACTER SET utf32 COLLATE utf32_bin NOT NULL) engine=InnoDB;
-#--enable_warnings
-#insert into t1 values('a');
-#create index t1f1 on t1(f1);
-#select f1 from t1 where f1 like 'a%';
-#drop table t1;
-
-#
-# Bug#9442 Set parameter make query fail if column character set is UCS2
-#
-create table t1 (utext varchar(20) character set utf32);
-insert into t1 values ("lily");
-insert into t1 values ("river");
-prepare stmt from 'select utext from t1 where utext like ?';
-set @param1='%%';
-execute stmt using @param1;
-execute stmt using @param1;
-select utext from t1 where utext like '%%';
-drop table t1;
-deallocate prepare stmt;
-
-#
-# Bug#22052 Trailing spaces are not removed from UNICODE fields in an index
-#
-create table t1 (
- a char(10) character set utf32 not null,
- index a (a)
-) engine=myisam;
-insert into t1 values (repeat(0x0000201f, 10));
-insert into t1 values (repeat(0x00002020, 10));
-insert into t1 values (repeat(0x00002021, 10));
-# make sure "index read" is used
-explain select hex(a) from t1 order by a;
-select hex(a) from t1 order by a;
-alter table t1 drop index a;
-select hex(a) from t1 order by a;
-drop table t1;
-
-#
-# Bug #20076: server crashes for a query with GROUP BY if MIN/MAX aggregation
-# over a 'ucs2' field uses a temporary table
-#
-#CREATE TABLE t1 (id int, s char(5) CHARACTER SET ucs2 COLLATE ucs2_unicode_ci);
-#INSERT INTO t1 VALUES (1, 'ZZZZZ'), (1, 'ZZZ'), (2, 'ZZZ'), (2, 'ZZZZZ');
-#SELECT id, MIN(s) FROM t1 GROUP BY id;
-#DROP TABLE t1;
-
-##
-## Bug #20536: md5() with GROUP BY and UCS2 return different results on myisam/innodb
-##
-#
-#--disable_warnings
-#drop table if exists bug20536;
-#--enable_warnings
-#
-#set names latin1;
-#create table bug20536 (id bigint not null auto_increment primary key, name
-#varchar(255) character set ucs2 not null);
-#insert into `bug20536` (`id`,`name`) values (1, _latin1 x'7465737431'), (2, "'test\\_2'");
-#select md5(name) from bug20536;
-#select sha1(name) from bug20536;
-#select make_set(3, name, upper(name)) from bug20536;
-#select export_set(5, name, upper(name)) from bug20536;
-#select export_set(5, name, upper(name), ",", 5) from bug20536;
-
-#
-# Bug #20108: corrupted default enum value for a ucs2 field
-#
-
-CREATE TABLE t1 (
- status enum('active','passive') character set utf32 collate utf32_general_ci
- NOT NULL default 'passive'
-);
-SHOW CREATE TABLE t1;
-ALTER TABLE t1 ADD a int NOT NULL AFTER status;
-SHOW CREATE TABLE t1;
-DROP TABLE t1;
-
-#CREATE TABLE t2 (
-# status enum('active','passive') collate ucs2_turkish_ci
-# NOT NULL default 'passive'
-#);
-#SHOW CREATE TABLE t2;
-#ALTER TABLE t2 ADD a int NOT NULL AFTER status;
-#DROP TABLE t2;
-
-
-## Some broken functions: add these tests just to document current behavior.
-#
-## PASSWORD and OLD_PASSWORD don't work with UCS2 strings, but to fix it would
-## not be backwards compatible in all cases, so it's best to leave it alone
-#select password(name) from bug20536;
-#select old_password(name) from bug20536;
-#
-## Disable test case as encrypt relies on 'crypt' function.
-## "decrypt" is noramlly tested in func_crypt.test which have a
-## "have_crypt.inc" test
-#--disable_parsing
-## ENCRYPT relies on OS function crypt() which takes a NUL-terminated string; it
-## doesn't return good results for strings with embedded 0 bytes. It won't be
-## fixed unless we choose to re-implement the crypt() function ourselves to take
-## an extra size_t string_length argument.
-#select encrypt(name, 'SALT') from bug20536;
-#--enable_parsing
-#
-## QUOTE doesn't work with UCS2 data. It would require a total rewrite
-## of Item_func_quote::val_str(), which isn't worthwhile until UCS2 is
-## supported fully as a client character set.
-#select quote(name) from bug20536;
-#
-#drop table bug20536;
-#
---echo End of 4.1 tests
-
-
-#
-# Conversion from an UTF32 string to a decimal column
-#
-CREATE TABLE t1 (a varchar(64) character set utf32, b decimal(10,3));
-INSERT INTO t1 VALUES ("1.1", 0), ("2.1", 0);
-update t1 set b=a;
-SELECT *, hex(a) FROM t1;
-DROP TABLE t1;
-
-#
-# Bug#9442 Set parameter make query fail if column character set is UCS2
-#
-create table t1 (utext varchar(20) character set utf32);
-insert into t1 values ("lily");
-insert into t1 values ("river");
-prepare stmt from 'select utext from t1 where utext like ?';
-set @param1='%%';
-execute stmt using @param1;
-execute stmt using @param1;
-select utext from t1 where utext like '%%';
-drop table t1;
-deallocate prepare stmt;
-
-#
-# Bug#22638 SOUNDEX broken for international characters
-#
-set names latin1;
-set character_set_connection=utf32;
-select soundex(''),soundex('he'),soundex('hello all folks'),soundex('#3556 in bugdb');
-select hex(soundex('')),hex(soundex('he')),hex(soundex('hello all folks')),hex(soundex('#3556 in bugdb'));
-select 'mood' sounds like 'mud';
-# Cyrillic A, BE, VE
-select hex(soundex(_utf32 0x000004100000041100000412));
-# Make sure that "U+00BF INVERTED QUESTION MARK" is not considered as letter
-select hex(soundex(_utf32 0x000000BF000000C0));
-set names latin1;
-
-#
-# Bug #14290: character_maximum_length for text fields
-#
-create table t1(a blob, b text charset utf32);
-select data_type, character_octet_length, character_maximum_length
- from information_schema.columns where table_name='t1';
-drop table t1;
-
---echo End of 5.0 tests
-
-set collation_connection=utf32_general_ci;
---source include/weight_string.inc
---source include/weight_string_euro.inc
-select hex(weight_string(_utf32 0x10000));
-select hex(weight_string(_utf32 0x10001));
---source include/weight_string_l1.inc
-
-set collation_connection=utf32_bin;
---source include/weight_string.inc
---source include/weight_string_euro.inc
---source include/weight_string_l1.inc
-
-set names latin1;
-set collation_connection=utf32_general_ci;
-#
-# Testing cs->coll->instr()
-#
-select position('bb' in 'abba');
-
-#
-# Testing cs->coll->hash_sort()
-#
-create table t1 (a varchar(10) character set utf32) engine=heap;
-insert into t1 values ('a'),('A'),('b'),('B');
-select * from t1 where a='a' order by binary a;
-select hex(min(binary a)),count(*) from t1 group by a;
-drop table t1;
-
-#
-# Testing cs->cset->numchars()
-#
-select char_length('abcd'), octet_length('abcd');
-
-#
-# Testing cs->cset->charpos()
-#
-select left('abcd',2);
-
-#
-# Testing cs->cset->well_formed_length()
-#
-create table t1 (a varchar(10) character set utf32);
-insert into t1 values (_utf32 0x0010FFFF);
---error ER_INVALID_CHARACTER_STRING
-insert into t1 values (_utf32 0x00110000);
---error ER_INVALID_CHARACTER_STRING
-insert into t1 values (_utf32 0x00110101);
---error ER_INVALID_CHARACTER_STRING
-insert into t1 values (_utf32 0x01000101);
---error ER_INVALID_CHARACTER_STRING
-insert into t1 values (_utf32 0x11000101);
-select hex(a) from t1;
-drop table t1;
-
-#
-# Bug#32914 Character sets: illegal characters in utf8 and utf32 columns
-#
-create table t1 (utf32 varchar(2) character set utf32);
---echo Wrong character with pad
-insert into t1 values (0x110000);
---echo Wrong chsaracter without pad
-insert into t1 values (0x00110000);
---echo Wrong character with pad followed by another wrong character
-insert into t1 values (0x11000000110000);
---echo Good character with pad followed by bad character
-insert into t1 values (0x10000000110000);
---echo Good character without pad followed by bad character
-insert into t1 values (0x0010000000110000);
---echo Wrong character with the second byte higher than 0x10
-insert into t1 values (0x00800037);
---echo Wrong character with pad with the second byte higher than 0x10
-insert into t1 values (0x00800037);
-drop table t1;
-
-#
-# Bug#32394 Character sets: crash if comparison with 0xfffd
-#
-select _utf32'a' collate utf32_general_ci = 0xfffd;
-select hex(concat(_utf32 0x0410 collate utf32_general_ci, 0x61));
-create table t1 (s1 varchar(5) character set utf32);
-insert into t1 values (0xfffd);
-select case when s1 = 0xfffd then 1 else 0 end from t1;
-select hex(s1) from t1 where s1 = 0xfffd;
-drop table t1;
-
-#
-# Testing cs->cset->lengthsp()
-#
-create table t1 (a char(10)) character set utf32;
-insert into t1 values ('a ');
-select hex(a) from t1;
-drop table t1;
-
-#
-# Testing cs->cset->caseup() and cs->cset->casedn()
-#
-select upper('abcd'), lower('ABCD');
-
-#
-# TODO: str_to_datetime() is broken and doesn't work with ucs2 and utf32
-# Testing cs->cset->snprintf()
-#
-#create table t1 (a date);
-#insert into t1 values ('2007-09-16');
-#select * from t1;
-#drop table t1;
-
-#
-# Testing cs->cset->l10tostr
-# !!! Not used in the code
-
-#
-# Testing cs->cset->ll10tostr
-#
-create table t1 (a varchar(10) character set utf32);
-insert into t1 values (123456);
-select a, hex(a) from t1;
-drop table t1;
-
-#
-# Testing cs->cset->fill
-# SOUNDEX fills strings with DIGIT ZERO up to four characters
-select hex(soundex('a'));
-
-#
-# Testing cs->cset->strntol
-# !!! Not used in the code
-
-#
-# Testing cs->cset->strntoul
-#
-create table t1 (a enum ('a','b','c')) character set utf32;
-insert into t1 values ('1');
-select * from t1;
-drop table t1;
-
-#
-# Testing cs->cset->strntoll and cs->cset->strntoull
-#
-set names latin1;
-select hex(conv(convert('123' using utf32), -10, 16));
-select hex(conv(convert('123' using utf32), 10, 16));
-
-#
-# Testing cs->cset->strntod
-#
-set names latin1;
-set character_set_connection=utf32;
-select 1.1 + '1.2';
-select 1.1 + '1.2xxx';
-
-# Testing strntoll10_utf32
-# Testing cs->cset->strtoll10
-select left('aaa','1');
-
-#
-# Testing cs->cset->strntoull10rnd
-#
-create table t1 (a int);
-insert into t1 values ('-1234.1e2');
-insert into t1 values ('-1234.1e2xxxx');
-insert into t1 values ('-1234.1e2 ');
-select * from t1;
-drop table t1;
-
-#
-# Testing cs->cset->scan
-#
-create table t1 (a int);
-insert into t1 values ('1 ');
-insert into t1 values ('1 x');
-select * from t1;
-drop table t1;
-
-#
-# Testing auto-conversion to TEXT
-#
-create table t1 (a varchar(17000) character set utf32);
-show create table t1;
-drop table t1;
-
-#
-# Testing that maximim possible key length is 1332 bytes
-#
-create table t1 (a varchar(250) character set utf32 primary key);
-show create table t1;
-drop table t1;
---error ER_TOO_LONG_KEY
-create table t1 (a varchar(334) character set utf32 primary key);
-
-#
-# Testing mi_check with long key values
-#
-create table t1 (a varchar(333) character set utf32, key(a));
-insert into t1 values (repeat('a',333)), (repeat('b',333));
-flush tables;
-check table t1;
-drop table t1;
-
-#
-# Test how character set works with date/time
-#
-SET collation_connection=utf32_general_ci;
---source include/ctype_datetime.inc
-SET NAMES latin1;
-
-#
-# Test basic regex functionality
-#
-set collation_connection=utf32_general_ci;
---source include/ctype_regex.inc
-set names latin1;
-
-
-# TODO: add tests for all engines
-
-#
-# Bug #36418 Character sets: crash if char(256 using utf32)
-#
-select hex(char(0x01 using utf32));
-select hex(char(0x0102 using utf32));
-select hex(char(0x010203 using utf32));
-select hex(char(0x01020304 using utf32));
-create table t1 (s1 varchar(1) character set utf32, s2 text character set utf32);
-create index i on t1 (s1);
-insert into t1 values (char(256 using utf32), char(256 using utf32));
-select hex(s1), hex(s2) from t1;
-drop table t1;
-
-
-#
-# Bug#33073 Character sets: ordering fails with utf32
-#
-SET collation_connection=utf32_general_ci;
-CREATE TABLE t1 AS SELECT repeat('a',2) as s1 LIMIT 0;
-SHOW CREATE TABLE t1;
-INSERT INTO t1 VALUES ('ab'),('AE'),('ab'),('AE');
-SELECT * FROM t1 ORDER BY s1;
-SET max_sort_length=4;
-SELECT * FROM t1 ORDER BY s1;
-SELECT hex(weight_string(s1, 4, 2, 0)) FROM t1 ORDER BY s1;
-DROP TABLE t1;
-SET max_sort_length=DEFAULT;
-SET NAMES latin1;
-
-#
-# Bug#34021 Character sets: crash if concatenate utf32 and number
-#
-
-# Test concat with INT
-drop table if exists t1;
-create table t1 (s1 char(5) character set utf32);
-insert into t1 values ('a');
-insert into t1 select concat(s1, 1) from t1;
-select hex(s1) from t1;
-drop table t1;
-
-# Test concat with DECIMAL (warning is expected)
-drop table if exists t1;
-create table t1 (s1 char(5) character set utf32);
-insert into t1 values ('a');
-insert into t1 select concat(s1, 0.1) from t1;
-select hex(s1) from t1;
-drop table t1;
-
-# Test concat with FLOAT (warning is expected)
-drop table if exists t1;
-create table t1 (s1 char(5) character set utf32);
-insert into t1 values ('a');
-insert into t1 select concat(s1, 1e-1) from t1;
-select hex(s1) from t1;
-drop table t1;
-
=== removed file 'mysql-test/t/ctype_utf32_uca.test'
--- a/mysql-test/t/ctype_utf32_uca.test 2008-07-23 09:43:50 +0000
+++ b/mysql-test/t/ctype_utf32_uca.test 1970-01-01 00:00:00 +0000
@@ -1,296 +0,0 @@
--- source include/have_ucs2.inc
--- source include/have_utf32.inc
-
---disable_warnings
-DROP TABLE IF EXISTS t1;
---enable_warnings
-
-set names utf8;
-set collation_connection=utf32_unicode_ci;
-select hex('a'), hex('a ');
--- source include/endspace.inc
-
-#
-# Bug #6787 LIKE not working properly with _ and utf8 data
-#
-select 'c' like '\_' as want0;
-
-#
-# Bug #5679 utf8_unicode_ci LIKE--trailing % doesn't equal zero characters
-#
-CREATE TABLE t (
- c char(20) NOT NULL
-) ENGINE=MyISAM DEFAULT CHARACTER SET utf32 COLLATE=utf32_unicode_ci;
-INSERT INTO t VALUES ('a'),('ab'),('aba');
-ALTER TABLE t ADD INDEX (c);
-SELECT c FROM t WHERE c LIKE 'a%';
-DROP TABLE t;
-
-
-create table t1 (c1 char(10) character set utf32 collate utf32_bin);
-
-#
-# Basic Latin
-#
-insert into t1 values ('A'),('a');
-insert into t1 values ('B'),('b');
-insert into t1 values ('C'),('c');
-insert into t1 values ('D'),('d');
-insert into t1 values ('E'),('e');
-insert into t1 values ('F'),('f');
-insert into t1 values ('G'),('g');
-insert into t1 values ('H'),('h');
-insert into t1 values ('I'),('i');
-insert into t1 values ('J'),('j');
-insert into t1 values ('K'),('k');
-insert into t1 values ('L'),('l');
-insert into t1 values ('M'),('m');
-insert into t1 values ('N'),('n');
-insert into t1 values ('O'),('o');
-insert into t1 values ('P'),('p');
-insert into t1 values ('Q'),('q');
-insert into t1 values ('R'),('r');
-insert into t1 values ('S'),('s');
-insert into t1 values ('T'),('t');
-insert into t1 values ('U'),('u');
-insert into t1 values ('V'),('v');
-insert into t1 values ('W'),('w');
-insert into t1 values ('X'),('x');
-insert into t1 values ('Y'),('y');
-insert into t1 values ('Z'),('z');
-
-#
-# Latin1 suppliment
-#
-insert into t1 values (_ucs2 0x00e0),(_ucs2 0x00c0);
-insert into t1 values (_ucs2 0x00e1),(_ucs2 0x00c1);
-insert into t1 values (_ucs2 0x00e2),(_ucs2 0x00c2);
-insert into t1 values (_ucs2 0x00e3),(_ucs2 0x00c3);
-insert into t1 values (_ucs2 0x00e4),(_ucs2 0x00c4);
-insert into t1 values (_ucs2 0x00e5),(_ucs2 0x00c5);
-insert into t1 values (_ucs2 0x00e6),(_ucs2 0x00c6);
-insert into t1 values (_ucs2 0x00e7),(_ucs2 0x00c7);
-insert into t1 values (_ucs2 0x00e8),(_ucs2 0x00c8);
-insert into t1 values (_ucs2 0x00e9),(_ucs2 0x00c9);
-insert into t1 values (_ucs2 0x00ea),(_ucs2 0x00ca);
-insert into t1 values (_ucs2 0x00eb),(_ucs2 0x00cb);
-insert into t1 values (_ucs2 0x00ec),(_ucs2 0x00cc);
-insert into t1 values (_ucs2 0x00ed),(_ucs2 0x00cd);
-insert into t1 values (_ucs2 0x00ee),(_ucs2 0x00ce);
-insert into t1 values (_ucs2 0x00ef),(_ucs2 0x00cf);
-
-insert into t1 values (_ucs2 0x00f0),(_ucs2 0x00d0);
-insert into t1 values (_ucs2 0x00f1),(_ucs2 0x00d1);
-insert into t1 values (_ucs2 0x00f2),(_ucs2 0x00d2);
-insert into t1 values (_ucs2 0x00f3),(_ucs2 0x00d3);
-insert into t1 values (_ucs2 0x00f4),(_ucs2 0x00d4);
-insert into t1 values (_ucs2 0x00f5),(_ucs2 0x00d5);
-insert into t1 values (_ucs2 0x00f6),(_ucs2 0x00d6);
-insert into t1 values (_ucs2 0x00f7),(_ucs2 0x00d7);
-insert into t1 values (_ucs2 0x00f8),(_ucs2 0x00d8);
-insert into t1 values (_ucs2 0x00f9),(_ucs2 0x00d9);
-insert into t1 values (_ucs2 0x00fa),(_ucs2 0x00da);
-insert into t1 values (_ucs2 0x00fb),(_ucs2 0x00db);
-insert into t1 values (_ucs2 0x00fc),(_ucs2 0x00dc);
-insert into t1 values (_ucs2 0x00fd),(_ucs2 0x00dd);
-insert into t1 values (_ucs2 0x00fe),(_ucs2 0x00de);
-insert into t1 values (_ucs2 0x00ff),(_ucs2 0x00df);
-
-#
-# Latin extended-A, 0100-017F
-#
-insert into t1 values (_ucs2 0x0100),(_ucs2 0x0101),(_ucs2 0x0102),(_ucs2 0x0103);
-insert into t1 values (_ucs2 0x0104),(_ucs2 0x0105),(_ucs2 0x0106),(_ucs2 0x0107);
-insert into t1 values (_ucs2 0x0108),(_ucs2 0x0109),(_ucs2 0x010a),(_ucs2 0x010b);
-insert into t1 values (_ucs2 0x010c),(_ucs2 0x010d),(_ucs2 0x010e),(_ucs2 0x010f);
-insert into t1 values (_ucs2 0x0110),(_ucs2 0x0111),(_ucs2 0x0112),(_ucs2 0x0113);
-insert into t1 values (_ucs2 0x0114),(_ucs2 0x0115),(_ucs2 0x0116),(_ucs2 0x0117);
-insert into t1 values (_ucs2 0x0118),(_ucs2 0x0119),(_ucs2 0x011a),(_ucs2 0x011b);
-insert into t1 values (_ucs2 0x011c),(_ucs2 0x011d),(_ucs2 0x011e),(_ucs2 0x011f);
-insert into t1 values (_ucs2 0x0120),(_ucs2 0x0121),(_ucs2 0x0122),(_ucs2 0x0123);
-insert into t1 values (_ucs2 0x0124),(_ucs2 0x0125),(_ucs2 0x0126),(_ucs2 0x0127);
-insert into t1 values (_ucs2 0x0128),(_ucs2 0x0129),(_ucs2 0x012a),(_ucs2 0x012b);
-insert into t1 values (_ucs2 0x012c),(_ucs2 0x012d),(_ucs2 0x012e),(_ucs2 0x012f);
-insert into t1 values (_ucs2 0x0130),(_ucs2 0x0131),(_ucs2 0x0132),(_ucs2 0x0133);
-insert into t1 values (_ucs2 0x0134),(_ucs2 0x0135),(_ucs2 0x0136),(_ucs2 0x0137);
-insert into t1 values (_ucs2 0x0138),(_ucs2 0x0139),(_ucs2 0x013a),(_ucs2 0x013b);
-insert into t1 values (_ucs2 0x013c),(_ucs2 0x013d),(_ucs2 0x013e),(_ucs2 0x013f);
-insert into t1 values (_ucs2 0x0140),(_ucs2 0x0141),(_ucs2 0x0142),(_ucs2 0x0143);
-insert into t1 values (_ucs2 0x0144),(_ucs2 0x0145),(_ucs2 0x0146),(_ucs2 0x0147);
-insert into t1 values (_ucs2 0x0148),(_ucs2 0x0149),(_ucs2 0x014a),(_ucs2 0x014b);
-insert into t1 values (_ucs2 0x014c),(_ucs2 0x014d),(_ucs2 0x014e),(_ucs2 0x014f);
-insert into t1 values (_ucs2 0x0150),(_ucs2 0x0151),(_ucs2 0x0152),(_ucs2 0x0153);
-insert into t1 values (_ucs2 0x0154),(_ucs2 0x0155),(_ucs2 0x0156),(_ucs2 0x0157);
-insert into t1 values (_ucs2 0x0158),(_ucs2 0x0159),(_ucs2 0x015a),(_ucs2 0x015b);
-insert into t1 values (_ucs2 0x015c),(_ucs2 0x015d),(_ucs2 0x015e),(_ucs2 0x015f);
-insert into t1 values (_ucs2 0x0160),(_ucs2 0x0161),(_ucs2 0x0162),(_ucs2 0x0163);
-insert into t1 values (_ucs2 0x0164),(_ucs2 0x0165),(_ucs2 0x0166),(_ucs2 0x0167);
-insert into t1 values (_ucs2 0x0168),(_ucs2 0x0169),(_ucs2 0x016a),(_ucs2 0x016b);
-insert into t1 values (_ucs2 0x016c),(_ucs2 0x016d),(_ucs2 0x016e),(_ucs2 0x016f);
-insert into t1 values (_ucs2 0x0170),(_ucs2 0x0171),(_ucs2 0x0172),(_ucs2 0x0173);
-insert into t1 values (_ucs2 0x0174),(_ucs2 0x0175),(_ucs2 0x0176),(_ucs2 0x0177);
-insert into t1 values (_ucs2 0x0178),(_ucs2 0x0179),(_ucs2 0x017a),(_ucs2 0x017b);
-insert into t1 values (_ucs2 0x017c),(_ucs2 0x017d),(_ucs2 0x017e),(_ucs2 0x017f);
-
-#
-# Latin extended-B, 0180-024F
-#
-insert into t1 values (_ucs2 0x0180),(_ucs2 0x0181),(_ucs2 0x0182),(_ucs2 0x0183);
-insert into t1 values (_ucs2 0x0184),(_ucs2 0x0185),(_ucs2 0x0186),(_ucs2 0x0187);
-insert into t1 values (_ucs2 0x0188),(_ucs2 0x0189),(_ucs2 0x018a),(_ucs2 0x018b);
-insert into t1 values (_ucs2 0x018c),(_ucs2 0x018d),(_ucs2 0x018e),(_ucs2 0x018f);
-insert into t1 values (_ucs2 0x0190),(_ucs2 0x0191),(_ucs2 0x0192),(_ucs2 0x0193);
-insert into t1 values (_ucs2 0x0194),(_ucs2 0x0195),(_ucs2 0x0196),(_ucs2 0x0197);
-insert into t1 values (_ucs2 0x0198),(_ucs2 0x0199),(_ucs2 0x019a),(_ucs2 0x019b);
-insert into t1 values (_ucs2 0x019c),(_ucs2 0x019d),(_ucs2 0x019e),(_ucs2 0x019f);
-insert into t1 values (_ucs2 0x01a0),(_ucs2 0x01a1),(_ucs2 0x01a2),(_ucs2 0x01a3);
-insert into t1 values (_ucs2 0x01a4),(_ucs2 0x01a5),(_ucs2 0x01a6),(_ucs2 0x01a7);
-insert into t1 values (_ucs2 0x01a8),(_ucs2 0x01a9),(_ucs2 0x01aa),(_ucs2 0x01ab);
-insert into t1 values (_ucs2 0x01ac),(_ucs2 0x01ad),(_ucs2 0x01ae),(_ucs2 0x01af);
-insert into t1 values (_ucs2 0x01b0),(_ucs2 0x01b1),(_ucs2 0x01b2),(_ucs2 0x01b3);
-insert into t1 values (_ucs2 0x01b4),(_ucs2 0x01b5),(_ucs2 0x01b6),(_ucs2 0x01b7);
-insert into t1 values (_ucs2 0x01b8),(_ucs2 0x01b9),(_ucs2 0x01ba),(_ucs2 0x01bb);
-insert into t1 values (_ucs2 0x01bc),(_ucs2 0x01bd),(_ucs2 0x01be),(_ucs2 0x01bf);
-insert into t1 values (_ucs2 0x01c0),(_ucs2 0x01c1),(_ucs2 0x01c2),(_ucs2 0x01c3);
-insert into t1 values (_ucs2 0x01c4),(_ucs2 0x01c5),(_ucs2 0x01c6),(_ucs2 0x01c7);
-insert into t1 values (_ucs2 0x01c8),(_ucs2 0x01c9),(_ucs2 0x01ca),(_ucs2 0x01cb);
-insert into t1 values (_ucs2 0x01cc),(_ucs2 0x01cd),(_ucs2 0x01ce),(_ucs2 0x01cf);
-insert into t1 values (_ucs2 0x01d0),(_ucs2 0x01d1),(_ucs2 0x01d2),(_ucs2 0x01d3);
-insert into t1 values (_ucs2 0x01d4),(_ucs2 0x01d5),(_ucs2 0x01d6),(_ucs2 0x01d7);
-insert into t1 values (_ucs2 0x01d8),(_ucs2 0x01d9),(_ucs2 0x01da),(_ucs2 0x01db);
-insert into t1 values (_ucs2 0x01dc),(_ucs2 0x01dd),(_ucs2 0x01de),(_ucs2 0x01df);
-insert into t1 values (_ucs2 0x01e0),(_ucs2 0x01e1),(_ucs2 0x01e2),(_ucs2 0x01e3);
-insert into t1 values (_ucs2 0x01e4),(_ucs2 0x01e5),(_ucs2 0x01e6),(_ucs2 0x01e7);
-insert into t1 values (_ucs2 0x01e8),(_ucs2 0x01e9),(_ucs2 0x01ea),(_ucs2 0x01eb);
-insert into t1 values (_ucs2 0x01ec),(_ucs2 0x01ed),(_ucs2 0x01ee),(_ucs2 0x01ef);
-insert into t1 values (_ucs2 0x01f0),(_ucs2 0x01f1),(_ucs2 0x01f2),(_ucs2 0x01f3);
-insert into t1 values (_ucs2 0x01f4),(_ucs2 0x01f5),(_ucs2 0x01f6),(_ucs2 0x01f7);
-insert into t1 values (_ucs2 0x01f8),(_ucs2 0x01f9),(_ucs2 0x01fa),(_ucs2 0x01fb);
-insert into t1 values (_ucs2 0x01fc),(_ucs2 0x01fd),(_ucs2 0x01fe),(_ucs2 0x01ff);
-
-
-insert into t1 values ('AA'),('Aa'),('aa'),('aA');
-insert into t1 values ('CH'),('Ch'),('ch'),('cH');
-insert into t1 values ('DZ'),('Dz'),('dz'),('dZ');
-insert into t1 values ('IJ'),('Ij'),('ij'),('iJ');
-insert into t1 values ('LJ'),('Lj'),('lj'),('lJ');
-insert into t1 values ('LL'),('Ll'),('ll'),('lL');
-insert into t1 values ('NJ'),('Nj'),('nj'),('nJ');
-insert into t1 values ('OE'),('Oe'),('oe'),('oE');
-insert into t1 values ('SS'),('Ss'),('ss'),('sS');
-insert into t1 values ('RR'),('Rr'),('rr'),('rR');
-
-select group_concat(c1 order by binary c1 separator '') from t1 group by c1 collate utf32_unicode_ci;
-select group_concat(c1 order by binary c1 separator '') from t1 group by c1 collate utf32_icelandic_ci;
-select group_concat(c1 order by binary c1 separator '') from t1 group by c1 collate utf32_latvian_ci;
-select group_concat(c1 order by binary c1 separator '') from t1 group by c1 collate utf32_romanian_ci;
-select group_concat(c1 order by binary c1 separator '') from t1 group by c1 collate utf32_slovenian_ci;
-select group_concat(c1 order by binary c1 separator '') from t1 group by c1 collate utf32_polish_ci;
-select group_concat(c1 order by binary c1 separator '') from t1 group by c1 collate utf32_estonian_ci;
-select group_concat(c1 order by binary c1 separator '') from t1 group by c1 collate utf32_spanish_ci;
-select group_concat(c1 order by binary c1 separator '') from t1 group by c1 collate utf32_swedish_ci;
-select group_concat(c1 order by binary c1 separator '') from t1 group by c1 collate utf32_turkish_ci;
-select group_concat(c1 order by binary c1 separator '') from t1 group by c1 collate utf32_czech_ci;
-select group_concat(c1 order by binary c1 separator '') from t1 group by c1 collate utf32_danish_ci;
-select group_concat(c1 order by binary c1 separator '') from t1 group by c1 collate utf32_lithuanian_ci;
-select group_concat(c1 order by binary c1 separator '') from t1 group by c1 collate utf32_slovak_ci;
-select group_concat(c1 order by binary c1 separator '') from t1 group by c1 collate utf32_spanish2_ci;
-select group_concat(c1 order by binary c1 separator '') from t1 group by c1 collate utf32_roman_ci;
-select group_concat(c1 order by binary c1 separator '') from t1 group by c1 collate utf32_esperanto_ci;
-select group_concat(c1 order by binary c1 separator '') from t1 group by c1 collate utf32_hungarian_ci;
-
-drop table t1;
-
-#
-# Bug#5324
-#
-SET NAMES utf8;
-#test1
-CREATE TABLE t1 (c varchar(200) CHARACTER SET utf32 COLLATE utf32_general_ci NOT NULL, INDEX (c));
-INSERT INTO t1 VALUES (_ucs2 0x039C03C903B403B11F770308);
-#Check one row
-SELECT * FROM t1 WHERE c LIKE _utf32 0x0000039C00000025 COLLATE utf32_general_ci;
-INSERT INTO t1 VALUES (CONVERT(_ucs2 0x039C03C903B4 USING utf8));
-#Check two rows
-SELECT * FROM t1 WHERE c LIKE _utf32 0x0000039C00000025
-COLLATE utf32_general_ci ORDER BY c;
-DROP TABLE t1;
-#test2
-CREATE TABLE t1 (c varchar(200) CHARACTER SET utf32 COLLATE utf32_unicode_ci NOT NULL, INDEX (c));
-INSERT INTO t1 VALUES (_ucs2 0x039C03C903B403B11F770308);
-#Check one row
-SELECT * FROM t1 WHERE c LIKE _utf32 0x0000039C00000025 COLLATE utf32_unicode_ci;
-INSERT INTO t1 VALUES (_ucs2 0x039C03C903B4);
-#Check two rows
-SELECT * FROM t1 WHERE c LIKE _utf32 0x0000039C00000025
-COLLATE utf32_unicode_ci ORDER BY c;
-DROP TABLE t1;
-#test 3
-CREATE TABLE t1 (c varchar(200) CHARACTER SET utf32 COLLATE utf32_unicode_ci NOT NULL, INDEX (c));
-INSERT INTO t1 VALUES (_ucs2 0x039C03C903B403B11F770308);
-#Check one row row
-SELECT * FROM t1 WHERE c LIKE CONVERT(_ucs2 0x039C0025 USING utf32) COLLATE utf32_unicode_ci;
-INSERT INTO t1 VALUES (CONVERT(_ucs2 0x039C03C903B4 USING utf8));
-#Check two rows
-SELECT * FROM t1 WHERE c LIKE CONVERT(_ucs2 0x039C0025 USING utf32)
-COLLATE utf32_unicode_ci ORDER BY c;
-DROP TABLE t1;
-
-
-SET NAMES utf8;
-SET @test_character_set='utf32';
-SET @test_collation='utf32_swedish_ci';
--- source include/ctype_common.inc
-
-
-SET collation_connection='utf32_unicode_ci';
--- source include/ctype_filesort.inc
--- source include/ctype_like_escape.inc
-
---echo End of 4.1 tests
-
-#
-# Check UPPER/LOWER changing length
-#
-# Result shorter than argument
-CREATE TABLE t1 (id int, a varchar(30) character set utf32);
-INSERT INTO t1 VALUES (1, _ucs2 0x01310069), (2, _ucs2 0x01310131);
-INSERT INTO t1 VALUES (3, _ucs2 0x00690069), (4, _ucs2 0x01300049);
-INSERT INTO t1 VALUES (5, _ucs2 0x01300130), (6, _ucs2 0x00490049);
-SELECT a, length(a) la, @l:=lower(a) l, length(@l) ll, @u:=upper(a) u, length(@u) lu
-FROM t1 ORDER BY id;
-ALTER TABLE t1 MODIFY a VARCHAR(30) character set utf32 collate utf32_turkish_ci;
-SELECT a, length(a) la, @l:=lower(a) l, length(@l) ll, @u:=upper(a) u, length(@u) lu
-FROM t1 ORDER BY id;
-DROP TABLE t1;
-
-#
-# Bug #27079 Crash while grouping empty ucs2 strings
-#
-CREATE TABLE t1 (
- c1 text character set utf32 collate utf32_polish_ci NOT NULL
-) ENGINE=MyISAM;
-insert into t1 values (''),('a');
-SELECT COUNT(*), c1 FROM t1 GROUP BY c1;
-DROP TABLE IF EXISTS t1;
-
---echo End of 5.1 tests
-
-set collation_connection=utf32_unicode_ci;
---source include/weight_string.inc
---source include/weight_string_euro.inc
-select hex(weight_string(_utf32 0x10000 collate utf32_unicode_ci));
-select hex(weight_string(_utf32 0x10001 collate utf32_unicode_ci));
---source include/weight_string_l1.inc
-
-set @@collation_connection=utf32_czech_ci;
---source include/weight_string_chde.inc
-
-#
-# Test basic regex functionality
-#
-set collation_connection=utf32_unicode_ci;
---source include/ctype_regex.inc
-set names latin1;
-
---echo End of 5.2 tests
=== modified file 'mysql-test/t/ctype_utf8.test'
--- a/mysql-test/t/ctype_utf8.test 2009-02-13 16:30:54 +0000
+++ b/mysql-test/t/ctype_utf8.test 2009-06-02 13:04:43 +0000
@@ -164,7 +164,7 @@ drop table t1;
# UTF8 breaks primary keys for cols > 333 characters
#
--error 1071
-create table t1 (a text character set utf8, primary key(a(371)));
+create table t1 (a text character set utf8, primary key(a(495)));
#
@@ -1478,28 +1478,31 @@ DROP TABLE t1;
--echo End of 5.0 tests
#
-# Bug#32914 Character sets: illegal characters in utf8 and utf32 columns
+# Disabled due to removal of WL#1213.
#
-create table t1 (utf8 char(1) character set utf8);
---echo Testing [F0][90..BF][80..BF][80..BF]
-insert into t1 values (0xF0908080);
-insert into t1 values (0xF0BFBFBF);
-insert into t1 values (0xF08F8080);
-select hex(utf8) from t1;
-delete from t1;
-
---echo Testing [F2..F3][80..BF][80..BF][80..BF]
-insert into t1 values (0xF2808080);
-insert into t1 values (0xF2BFBFBF);
-select hex(utf8) from t1;
-delete from t1;
-
---echo Testing [F4][80..8F][80..BF][80..BF]
-insert into t1 values (0xF4808080);
-insert into t1 values (0xF48F8080);
-insert into t1 values (0xF4908080);
-select hex(utf8) from t1;
-drop table t1;
+# #
+# # Bug#32914 Character sets: illegal characters in utf8 and utf32 columns
+# #
+# create table t1 (utf8 char(1) character set utf8);
+# --echo Testing [F0][90..BF][80..BF][80..BF]
+# insert into t1 values (0xF0908080);
+# insert into t1 values (0xF0BFBFBF);
+# insert into t1 values (0xF08F8080);
+# select hex(utf8) from t1;
+# delete from t1;
+
+# --echo Testing [F2..F3][80..BF][80..BF][80..BF]
+# insert into t1 values (0xF2808080);
+# insert into t1 values (0xF2BFBFBF);
+# select hex(utf8) from t1;
+# delete from t1;
+
+# --echo Testing [F4][80..8F][80..BF][80..BF]
+# insert into t1 values (0xF4808080);
+# insert into t1 values (0xF48F8080);
+# insert into t1 values (0xF4908080);
+# select hex(utf8) from t1;
+# drop table t1;
#
# Bug#26474: Add Sinhala script (Sri Lanka) collation to MySQL
@@ -1568,15 +1571,18 @@ SELECT predicted_order, hex(utf8_encodin
DROP TABLE t1;
#
-# Check that supplementary characters are not allowed in identifiers
+# Disabled due to removal of WL#1213.
#
---error 1300
-CREATE DATABASE `;
---error 1166
-CREATE TABLE test.t1 SELECT '𐀀';
---error 1300
-CREATE USER `𐀀`;
+# #
+# # Check that supplementary characters are not allowed in identifiers
+# #
+# --error 1300
+# CREATE DATABASE `𐀀`;
+# --error 1300
+# CREATE TABLE `𐀀` (a int);
+# --error 1166
+# CREATE TABLE test.t1 SELECT '𐀀';
+# --error 1300
+# CREATE USER `𐀀`;
--echo End of tests
=== modified file 'mysql-test/t/innodb.test'
--- a/mysql-test/t/innodb.test 2009-04-24 12:16:40 +0000
+++ b/mysql-test/t/innodb.test 2009-06-02 13:04:43 +0000
@@ -1687,18 +1687,18 @@ drop table t4,t3,t2,t1;
#
# Test that we can create a large (>1K) key
#
-create table t1 (a varchar(255) character set utf8mb3,
- b varchar(255) character set utf8mb3,
- c varchar(255) character set utf8mb3,
- d varchar(255) character set utf8mb3,
+create table t1 (a varchar(255) character set utf8,
+ b varchar(255) character set utf8,
+ c varchar(255) character set utf8,
+ d varchar(255) character set utf8,
key (a,b,c,d)) engine=innodb;
drop table t1;
--error ER_TOO_LONG_KEY
-create table t1 (a varchar(255) character set utf8mb3,
- b varchar(255) character set utf8mb3,
- c varchar(255) character set utf8mb3,
- d varchar(255) character set utf8mb3,
- e varchar(255) character set utf8mb3,
+create table t1 (a varchar(255) character set utf8,
+ b varchar(255) character set utf8,
+ c varchar(255) character set utf8,
+ d varchar(255) character set utf8,
+ e varchar(255) character set utf8,
key (a,b,c,d,e)) engine=innodb;
@@ -2229,7 +2229,7 @@ CREATE TABLE t2 (
KEY idx_t2_b_c (b,c(200)),
CONSTRAINT t_fk FOREIGN KEY (a) REFERENCES t1 (a)
ON DELETE CASCADE
- ) ENGINE=INNODB DEFAULT CHARSET=UTF8MB3;
+ ) ENGINE=INNODB DEFAULT CHARSET=UTF8;
INSERT INTO t1 VALUES (1);
INSERT INTO t2 VALUES (1, 'bar', 'vbar');
=== modified file 'mysql-test/t/innodb_ctype_ldml.test'
--- a/mysql-test/t/innodb_ctype_ldml.test 2009-03-02 23:16:57 +0000
+++ b/mysql-test/t/innodb_ctype_ldml.test 2009-06-02 18:04:09 +0000
@@ -1,7 +1,11 @@
--source include/have_innodb.inc
--source include/have_ucs2.inc
---source include/have_utf16.inc
---source include/have_utf32.inc
+
+#
+# Disabled due to WL#1213 removal.
+#
+# --source include/have_utf16.inc
+# --source include/have_utf32.inc
--disable_warnings
@@ -28,17 +32,20 @@ create table t1 (c1 char(1) character se
engine=innodb;
show warnings;
-show collation like 'utf16_test_ci';
---error ER_CANT_CREATE_TABLE
-create table t1 (c1 char(1) character set utf16 collate utf16_test_ci)
-engine=innodb;
-show warnings;
-
-show collation like 'utf32_test_ci';
---error ER_CANT_CREATE_TABLE
-create table t1 (c1 char(1) character set utf32 collate utf32_test_ci)
-engine=innodb;
-show warnings;
+#
+# Disabled due to WL#1213 removal.
+#
+# show collation like 'utf16_test_ci';
+# --error ER_CANT_CREATE_TABLE
+# create table t1 (c1 char(1) character set utf16 collate utf16_test_ci)
+# engine=innodb;
+# show warnings;
+#
+# show collation like 'utf32_test_ci';
+# --error ER_CANT_CREATE_TABLE
+# create table t1 (c1 char(1) character set utf32 collate utf32_test_ci)
+# engine=innodb;
+# show warnings;
--echo Vietnamese experimental collation
=== removed file 'mysql-test/t/signal_utf32.test'
--- a/mysql-test/t/signal_utf32.test 2008-08-27 22:14:03 +0000
+++ b/mysql-test/t/signal_utf32.test 1970-01-01 00:00:00 +0000
@@ -1,63 +0,0 @@
-# Copyright (C) 2008 Sun Microsystems, Inc
-#
-# This program is free software; you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation; version 2 of the License.
-#
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-# GNU General Public License for more details.
-#
-# You should have received a copy of the GNU General Public License
-# along with this program; if not, write to the Free Software
-# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
-
-# Tests for SIGNAL, RESIGNAL and GET DIAGNOSTICS
-
---source include/have_utf32.inc
-
---disable_warnings
-drop procedure if exists test_signal;
---enable_warnings
-
-delimiter $$;
-
-create procedure test_signal()
-begin
- DECLARE something CONDITION FOR SQLSTATE "01000";
- SIGNAL something SET MESSAGE_TEXT =
- _utf32 'a';
-end $$
-
-call test_signal() $$
-drop procedure test_signal $$
-
-create procedure test_signal()
-begin
- DECLARE something CONDITION FOR SQLSTATE "01000";
- SIGNAL something SET MESSAGE_TEXT =
- _utf32 X'00000048000000450000004C0000004C0000004F';
-end $$
-
-call test_signal() $$
-drop procedure test_signal $$
-
-create procedure test_signal()
-begin
- declare continue handler for sqlexception
- begin
- declare msg varchar(128);
- set msg= repeat(_utf32 0x000100cc, 128);
- resignal set message_text = msg;
- end;
-
- signal sqlstate '77777';
-end $$
-
---error ER_SIGNAL_EXCEPTION
-call test_signal() $$
-drop procedure test_signal $$
-
-delimiter ;$$
-
=== modified file 'mysys/charset-def.c'
--- a/mysys/charset-def.c 2007-10-22 12:02:48 +0000
+++ b/mysys/charset-def.c 2009-06-02 18:04:09 +0000
@@ -46,52 +46,6 @@ extern CHARSET_INFO my_charset_ucs2_sinh
#endif /* HAVE_CHARSET_ucs2 */
-#ifdef HAVE_CHARSET_utf32
-extern CHARSET_INFO my_charset_utf32_icelandic_uca_ci;
-extern CHARSET_INFO my_charset_utf32_latvian_uca_ci;
-extern CHARSET_INFO my_charset_utf32_romanian_uca_ci;
-extern CHARSET_INFO my_charset_utf32_slovenian_uca_ci;
-extern CHARSET_INFO my_charset_utf32_polish_uca_ci;
-extern CHARSET_INFO my_charset_utf32_estonian_uca_ci;
-extern CHARSET_INFO my_charset_utf32_spanish_uca_ci;
-extern CHARSET_INFO my_charset_utf32_swedish_uca_ci;
-extern CHARSET_INFO my_charset_utf32_turkish_uca_ci;
-extern CHARSET_INFO my_charset_utf32_czech_uca_ci;
-extern CHARSET_INFO my_charset_utf32_danish_uca_ci;
-extern CHARSET_INFO my_charset_utf32_lithuanian_uca_ci;
-extern CHARSET_INFO my_charset_utf32_slovak_uca_ci;
-extern CHARSET_INFO my_charset_utf32_spanish2_uca_ci;
-extern CHARSET_INFO my_charset_utf32_roman_uca_ci;
-extern CHARSET_INFO my_charset_utf32_persian_uca_ci;
-extern CHARSET_INFO my_charset_utf32_esperanto_uca_ci;
-extern CHARSET_INFO my_charset_utf32_hungarian_uca_ci;
-extern CHARSET_INFO my_charset_utf32_sinhala_uca_ci;
-#endif /* HAVE_CHARSET_utf32 */
-
-
-#ifdef HAVE_CHARSET_utf16
-extern CHARSET_INFO my_charset_utf16_icelandic_uca_ci;
-extern CHARSET_INFO my_charset_utf16_latvian_uca_ci;
-extern CHARSET_INFO my_charset_utf16_romanian_uca_ci;
-extern CHARSET_INFO my_charset_utf16_slovenian_uca_ci;
-extern CHARSET_INFO my_charset_utf16_polish_uca_ci;
-extern CHARSET_INFO my_charset_utf16_estonian_uca_ci;
-extern CHARSET_INFO my_charset_utf16_spanish_uca_ci;
-extern CHARSET_INFO my_charset_utf16_swedish_uca_ci;
-extern CHARSET_INFO my_charset_utf16_turkish_uca_ci;
-extern CHARSET_INFO my_charset_utf16_czech_uca_ci;
-extern CHARSET_INFO my_charset_utf16_danish_uca_ci;
-extern CHARSET_INFO my_charset_utf16_lithuanian_uca_ci;
-extern CHARSET_INFO my_charset_utf16_slovak_uca_ci;
-extern CHARSET_INFO my_charset_utf16_spanish2_uca_ci;
-extern CHARSET_INFO my_charset_utf16_roman_uca_ci;
-extern CHARSET_INFO my_charset_utf16_persian_uca_ci;
-extern CHARSET_INFO my_charset_utf16_esperanto_uca_ci;
-extern CHARSET_INFO my_charset_utf16_hungarian_uca_ci;
-extern CHARSET_INFO my_charset_utf16_sinhala_uca_ci;
-#endif /* HAVE_CHARSET_utf16 */
-
-
#ifdef HAVE_CHARSET_utf8mb3
extern CHARSET_INFO my_charset_utf8mb3_icelandic_uca_ci;
extern CHARSET_INFO my_charset_utf8mb3_latvian_uca_ci;
@@ -117,28 +71,6 @@ extern CHARSET_INFO my_charset_utf8mb3_g
#endif
#endif /* HAVE_CHARSET_utf8mb3 */
-#ifdef HAVE_CHARSET_utf8mb4
-extern CHARSET_INFO my_charset_utf8mb4_icelandic_uca_ci;
-extern CHARSET_INFO my_charset_utf8mb4_latvian_uca_ci;
-extern CHARSET_INFO my_charset_utf8mb4_romanian_uca_ci;
-extern CHARSET_INFO my_charset_utf8mb4_slovenian_uca_ci;
-extern CHARSET_INFO my_charset_utf8mb4_polish_uca_ci;
-extern CHARSET_INFO my_charset_utf8mb4_estonian_uca_ci;
-extern CHARSET_INFO my_charset_utf8mb4_spanish_uca_ci;
-extern CHARSET_INFO my_charset_utf8mb4_swedish_uca_ci;
-extern CHARSET_INFO my_charset_utf8mb4_turkish_uca_ci;
-extern CHARSET_INFO my_charset_utf8mb4_czech_uca_ci;
-extern CHARSET_INFO my_charset_utf8mb4_danish_uca_ci;
-extern CHARSET_INFO my_charset_utf8mb4_lithuanian_uca_ci;
-extern CHARSET_INFO my_charset_utf8mb4_slovak_uca_ci;
-extern CHARSET_INFO my_charset_utf8mb4_spanish2_uca_ci;
-extern CHARSET_INFO my_charset_utf8mb4_roman_uca_ci;
-extern CHARSET_INFO my_charset_utf8mb4_persian_uca_ci;
-extern CHARSET_INFO my_charset_utf8mb4_esperanto_uca_ci;
-extern CHARSET_INFO my_charset_utf8mb4_hungarian_uca_ci;
-extern CHARSET_INFO my_charset_utf8mb4_sinhala_uca_ci;
-#endif /* HAVE_CHARSET_utf8mb4 */
-
#endif /* HAVE_UCA_COLLATIONS */
@@ -264,90 +196,6 @@ my_bool init_compiled_charsets(myf flags
#endif /* HAVE_CHARSET_utf8mb3 */
-#ifdef HAVE_CHARSET_utf8mb4
- add_compiled_collation(&my_charset_utf8mb4_general_ci);
- add_compiled_collation(&my_charset_utf8mb4_bin);
-#ifdef HAVE_UCA_COLLATIONS
- add_compiled_collation(&my_charset_utf8mb4_unicode_ci);
- add_compiled_collation(&my_charset_utf8mb4_icelandic_uca_ci);
- add_compiled_collation(&my_charset_utf8mb4_latvian_uca_ci);
- add_compiled_collation(&my_charset_utf8mb4_romanian_uca_ci);
- add_compiled_collation(&my_charset_utf8mb4_slovenian_uca_ci);
- add_compiled_collation(&my_charset_utf8mb4_polish_uca_ci);
- add_compiled_collation(&my_charset_utf8mb4_estonian_uca_ci);
- add_compiled_collation(&my_charset_utf8mb4_spanish_uca_ci);
- add_compiled_collation(&my_charset_utf8mb4_swedish_uca_ci);
- add_compiled_collation(&my_charset_utf8mb4_turkish_uca_ci);
- add_compiled_collation(&my_charset_utf8mb4_czech_uca_ci);
- add_compiled_collation(&my_charset_utf8mb4_danish_uca_ci);
- add_compiled_collation(&my_charset_utf8mb4_lithuanian_uca_ci);
- add_compiled_collation(&my_charset_utf8mb4_slovak_uca_ci);
- add_compiled_collation(&my_charset_utf8mb4_spanish2_uca_ci);
- add_compiled_collation(&my_charset_utf8mb4_roman_uca_ci);
- add_compiled_collation(&my_charset_utf8mb4_persian_uca_ci);
- add_compiled_collation(&my_charset_utf8mb4_esperanto_uca_ci);
- add_compiled_collation(&my_charset_utf8mb4_hungarian_uca_ci);
- add_compiled_collation(&my_charset_utf8mb4_sinhala_uca_ci);
-#endif /* HAVE_UCA_COLLATIONS */
-#endif /* HAVE_CHARSET_utf8mb4 */
-
-
-#ifdef HAVE_CHARSET_utf16
- add_compiled_collation(&my_charset_utf16_general_ci);
- add_compiled_collation(&my_charset_utf16_bin);
-#ifdef HAVE_UCA_COLLATIONS
- add_compiled_collation(&my_charset_utf16_unicode_ci);
- add_compiled_collation(&my_charset_utf16_icelandic_uca_ci);
- add_compiled_collation(&my_charset_utf16_latvian_uca_ci);
- add_compiled_collation(&my_charset_utf16_romanian_uca_ci);
- add_compiled_collation(&my_charset_utf16_slovenian_uca_ci);
- add_compiled_collation(&my_charset_utf16_polish_uca_ci);
- add_compiled_collation(&my_charset_utf16_estonian_uca_ci);
- add_compiled_collation(&my_charset_utf16_spanish_uca_ci);
- add_compiled_collation(&my_charset_utf16_swedish_uca_ci);
- add_compiled_collation(&my_charset_utf16_turkish_uca_ci);
- add_compiled_collation(&my_charset_utf16_czech_uca_ci);
- add_compiled_collation(&my_charset_utf16_danish_uca_ci);
- add_compiled_collation(&my_charset_utf16_lithuanian_uca_ci);
- add_compiled_collation(&my_charset_utf16_slovak_uca_ci);
- add_compiled_collation(&my_charset_utf16_spanish2_uca_ci);
- add_compiled_collation(&my_charset_utf16_roman_uca_ci);
- add_compiled_collation(&my_charset_utf16_persian_uca_ci);
- add_compiled_collation(&my_charset_utf16_esperanto_uca_ci);
- add_compiled_collation(&my_charset_utf16_hungarian_uca_ci);
- add_compiled_collation(&my_charset_utf16_sinhala_uca_ci);
-#endif /* HAVE_UCA_COLLATIOINS */
-#endif /* HAVE_CHARSET_utf16 */
-
-
-#ifdef HAVE_CHARSET_utf32
- add_compiled_collation(&my_charset_utf32_general_ci);
- add_compiled_collation(&my_charset_utf32_bin);
-#ifdef HAVE_UCA_COLLATIONS
- add_compiled_collation(&my_charset_utf32_unicode_ci);
- add_compiled_collation(&my_charset_utf32_icelandic_uca_ci);
- add_compiled_collation(&my_charset_utf32_latvian_uca_ci);
- add_compiled_collation(&my_charset_utf32_romanian_uca_ci);
- add_compiled_collation(&my_charset_utf32_slovenian_uca_ci);
- add_compiled_collation(&my_charset_utf32_polish_uca_ci);
- add_compiled_collation(&my_charset_utf32_estonian_uca_ci);
- add_compiled_collation(&my_charset_utf32_spanish_uca_ci);
- add_compiled_collation(&my_charset_utf32_swedish_uca_ci);
- add_compiled_collation(&my_charset_utf32_turkish_uca_ci);
- add_compiled_collation(&my_charset_utf32_czech_uca_ci);
- add_compiled_collation(&my_charset_utf32_danish_uca_ci);
- add_compiled_collation(&my_charset_utf32_lithuanian_uca_ci);
- add_compiled_collation(&my_charset_utf32_slovak_uca_ci);
- add_compiled_collation(&my_charset_utf32_spanish2_uca_ci);
- add_compiled_collation(&my_charset_utf32_roman_uca_ci);
- add_compiled_collation(&my_charset_utf32_persian_uca_ci);
- add_compiled_collation(&my_charset_utf32_esperanto_uca_ci);
- add_compiled_collation(&my_charset_utf32_hungarian_uca_ci);
- add_compiled_collation(&my_charset_utf32_sinhala_uca_ci);
-#endif /* HAVE_UCA_COLLATIONS */
-#endif /* HAVE_CHARSET_utf32 */
-
-
/* Copy compiled charsets */
for (cs=compiled_charsets; cs->name; cs++)
add_compiled_collation(cs);
=== modified file 'mysys/charset.c'
--- a/mysys/charset.c 2009-04-07 07:03:53 +0000
+++ b/mysys/charset.c 2009-06-02 18:04:09 +0000
@@ -257,31 +257,10 @@ static int add_collation(CHARSET_INFO *c
else if (!strcmp(cs->csname, "utf8"))
{
#if defined (HAVE_CHARSET_utf8mb3) && defined(HAVE_UCA_COLLATIONS)
- copy_uca_collation(newcs, &my_charset_utf8mb4_unicode_ci);
- newcs->state|= MY_CS_AVAILABLE | MY_CS_LOADED;
-#endif
- }
- else if (!strcmp(cs->csname, "utf8mb3"))
- {
-#if defined (HAVE_CHARSET_utf8mb3) && defined(HAVE_UCA_COLLATIONS)
copy_uca_collation(newcs, &my_charset_utf8mb3_unicode_ci);
newcs->state|= MY_CS_AVAILABLE | MY_CS_LOADED;
#endif
}
- else if (!strcmp(cs->csname, "utf16"))
- {
-#if defined (HAVE_CHARSET_utf16) && defined(HAVE_UCA_COLLATIONS)
- copy_uca_collation(newcs, &my_charset_utf16_unicode_ci);
- newcs->state|= MY_CS_AVAILABLE | MY_CS_LOADED | MY_CS_NONASCII;
-#endif
- }
- else if (!strcmp(cs->csname, "utf32"))
- {
-#if defined (HAVE_CHARSET_utf32) && defined(HAVE_UCA_COLLATIONS)
- copy_uca_collation(newcs, &my_charset_utf32_unicode_ci);
- newcs->state|= MY_CS_AVAILABLE | MY_CS_LOADED | MY_CS_NONASCII;
-#endif
- }
else
{
uchar *sort_order= all_charsets[cs->number]->sort_order;
=== modified file 'strings/ctype-uca.c'
--- a/strings/ctype-uca.c 2008-10-31 12:25:42 +0000
+++ b/strings/ctype-uca.c 2009-06-02 18:04:09 +0000
@@ -9571,2102 +9571,4 @@ CHARSET_INFO my_charset_utf8mb3_sinhala_
#endif /* HAVE_CHARSET_utf8mb3 */
-#ifdef HAVE_CHARSET_utf8mb4
-
-extern MY_CHARSET_HANDLER my_charset_utf8mb4_handler;
-
-CHARSET_INFO my_charset_utf8mb4_unicode_ci=
-{
- 224,0,0, /* number */
- MY_CS_COMPILED|MY_CS_STRNXFRM|MY_CS_UNICODE,
- MY_UTF8MB4, /* csname */
- MY_UTF8MB4 "_unicode_ci",/* name */
- "", /* comment */
- "", /* tailoring */
- ctype_utf8, /* ctype */
- NULL, /* to_lower */
- NULL, /* to_upper */
- uca_length, /* sort_order */
- NULL, /* contractions */
- uca_weight, /* sort_order_big*/
- NULL, /* tab_to_uni */
- NULL, /* tab_from_uni */
- my_unicase_default, /* caseinfo */
- NULL, /* state_map */
- NULL, /* ident_map */
- 8, /* strxfrm_multiply */
- 1, /* caseup_multiply */
- 1, /* casedn_multiply */
- 1, /* mbminlen */
- 4, /* mbmaxlen */
- 9, /* min_sort_char */
- 0xFFFF, /* max_sort_char */
- ' ', /* pad char */
- 0, /* escape_with_backslash_is_dangerous */
- 1, /* levels_for_compare */
- 1, /* levels_for_order */
- &my_charset_utf8mb4_handler,
- &my_collation_any_uca_handler
-};
-
-
-CHARSET_INFO my_charset_utf8mb4_icelandic_uca_ci=
-{
- 225,0,0, /* number */
- MY_CS_COMPILED|MY_CS_STRNXFRM|MY_CS_UNICODE,
- MY_UTF8MB4, /* csname */
- MY_UTF8MB4 "_icelandic_ci",/* name */
- "", /* comment */
- icelandic, /* tailoring */
- ctype_utf8, /* ctype */
- NULL, /* to_lower */
- NULL, /* to_upper */
- NULL, /* sort_order */
- NULL, /* contractions */
- NULL, /* sort_order_big*/
- NULL, /* tab_to_uni */
- NULL, /* tab_from_uni */
- my_unicase_default, /* caseinfo */
- NULL, /* state_map */
- NULL, /* ident_map */
- 8, /* strxfrm_multiply */
- 1, /* caseup_multiply */
- 1, /* casedn_multiply */
- 1, /* mbminlen */
- 4, /* mbmaxlen */
- 9, /* min_sort_char */
- 0xFFFF, /* max_sort_char */
- ' ', /* pad char */
- 0, /* escape_with_backslash_is_dangerous */
- 1, /* levels_for_compare */
- 1, /* levels_for_order */
- &my_charset_utf8mb4_handler,
- &my_collation_any_uca_handler
-};
-
-CHARSET_INFO my_charset_utf8mb4_latvian_uca_ci=
-{
- 226,0,0, /* number */
- MY_CS_COMPILED|MY_CS_STRNXFRM|MY_CS_UNICODE,
- MY_UTF8MB4, /* csname */
- MY_UTF8MB4 "_latvian_ci", /* name */
- "", /* comment */
- latvian, /* tailoring */
- ctype_utf8, /* ctype */
- NULL, /* to_lower */
- NULL, /* to_upper */
- NULL, /* sort_order */
- NULL, /* contractions */
- NULL, /* sort_order_big*/
- NULL, /* tab_to_uni */
- NULL, /* tab_from_uni */
- my_unicase_default, /* caseinfo */
- NULL, /* state_map */
- NULL, /* ident_map */
- 8, /* strxfrm_multiply */
- 1, /* caseup_multiply */
- 1, /* casedn_multiply */
- 1, /* mbminlen */
- 4, /* mbmaxlen */
- 9, /* min_sort_char */
- 0xFFFF, /* max_sort_char */
- ' ', /* pad char */
- 0, /* escape_with_backslash_is_dangerous */
- 1, /* levels_for_compare */
- 1, /* levels_for_order */
- &my_charset_utf8mb4_handler,
- &my_collation_any_uca_handler
-};
-
-CHARSET_INFO my_charset_utf8mb4_romanian_uca_ci=
-{
- 227,0,0, /* number */
- MY_CS_COMPILED|MY_CS_STRNXFRM|MY_CS_UNICODE,
- MY_UTF8MB4, /* csname */
- MY_UTF8MB4 "_romanian_ci", /* name */
- "", /* comment */
- romanian, /* tailoring */
- ctype_utf8, /* ctype */
- NULL, /* to_lower */
- NULL, /* to_upper */
- NULL, /* sort_order */
- NULL, /* contractions */
- NULL, /* sort_order_big*/
- NULL, /* tab_to_uni */
- NULL, /* tab_from_uni */
- my_unicase_default, /* caseinfo */
- NULL, /* state_map */
- NULL, /* ident_map */
- 8, /* strxfrm_multiply */
- 1, /* caseup_multiply */
- 1, /* casedn_multiply */
- 1, /* mbminlen */
- 4, /* mbmaxlen */
- 9, /* min_sort_char */
- 0xFFFF, /* max_sort_char */
- ' ', /* pad char */
- 0, /* escape_with_backslash_is_dangerous */
- 1, /* levels_for_compare */
- 1, /* levels_for_order */
- &my_charset_utf8mb4_handler,
- &my_collation_any_uca_handler
-};
-
-CHARSET_INFO my_charset_utf8mb4_slovenian_uca_ci=
-{
- 228,0,0, /* number */
- MY_CS_COMPILED|MY_CS_STRNXFRM|MY_CS_UNICODE,
- MY_UTF8MB4, /* csname */
- MY_UTF8MB4 "_slovenian_ci",/* name */
- "", /* comment */
- slovenian, /* tailoring */
- ctype_utf8, /* ctype */
- NULL, /* to_lower */
- NULL, /* to_upper */
- NULL, /* sort_order */
- NULL, /* contractions */
- NULL, /* sort_order_big*/
- NULL, /* tab_to_uni */
- NULL, /* tab_from_uni */
- my_unicase_default, /* caseinfo */
- NULL, /* state_map */
- NULL, /* ident_map */
- 8, /* strxfrm_multiply */
- 1, /* caseup_multiply */
- 1, /* casedn_multiply */
- 1, /* mbminlen */
- 4, /* mbmaxlen */
- 9, /* min_sort_char */
- 0xFFFF, /* max_sort_char */
- ' ', /* pad char */
- 0, /* escape_with_backslash_is_dangerous */
- 1, /* levels_for_compare */
- 1, /* levels_for_order */
- &my_charset_utf8mb4_handler,
- &my_collation_any_uca_handler
-};
-
-CHARSET_INFO my_charset_utf8mb4_polish_uca_ci=
-{
- 229,0,0, /* number */
- MY_CS_COMPILED|MY_CS_STRNXFRM|MY_CS_UNICODE,
- MY_UTF8MB4, /* csname */
- MY_UTF8MB4 "_polish_ci", /* name */
- "", /* comment */
- polish, /* tailoring */
- ctype_utf8, /* ctype */
- NULL, /* to_lower */
- NULL, /* to_upper */
- NULL, /* sort_order */
- NULL, /* contractions */
- NULL, /* sort_order_big*/
- NULL, /* tab_to_uni */
- NULL, /* tab_from_uni */
- my_unicase_default, /* caseinfo */
- NULL, /* state_map */
- NULL, /* ident_map */
- 8, /* strxfrm_multiply */
- 1, /* caseup_multiply */
- 1, /* casedn_multiply */
- 1, /* mbminlen */
- 4, /* mbmaxlen */
- 9, /* min_sort_char */
- 0xFFFF, /* max_sort_char */
- ' ', /* pad char */
- 0, /* escape_with_backslash_is_dangerous */
- 1, /* levels_for_compare */
- 1, /* levels_for_order */
- &my_charset_utf8mb4_handler,
- &my_collation_any_uca_handler
-};
-
-CHARSET_INFO my_charset_utf8mb4_estonian_uca_ci=
-{
- 230,0,0, /* number */
- MY_CS_COMPILED|MY_CS_STRNXFRM|MY_CS_UNICODE,
- MY_UTF8MB4, /* csname */
- MY_UTF8MB4 "_estonian_ci", /* name */
- "", /* comment */
- estonian, /* tailoring */
- ctype_utf8, /* ctype */
- NULL, /* to_lower */
- NULL, /* to_upper */
- NULL, /* sort_order */
- NULL, /* contractions */
- NULL, /* sort_order_big*/
- NULL, /* tab_to_uni */
- NULL, /* tab_from_uni */
- my_unicase_default, /* caseinfo */
- NULL, /* state_map */
- NULL, /* ident_map */
- 8, /* strxfrm_multiply */
- 1, /* caseup_multiply */
- 1, /* casedn_multiply */
- 1, /* mbminlen */
- 4, /* mbmaxlen */
- 9, /* min_sort_char */
- 0xFFFF, /* max_sort_char */
- ' ', /* pad char */
- 0, /* escape_with_backslash_is_dangerous */
- 1, /* levels_for_compare */
- 1, /* levels_for_order */
- &my_charset_utf8mb4_handler,
- &my_collation_any_uca_handler
-};
-
-CHARSET_INFO my_charset_utf8mb4_spanish_uca_ci=
-{
- 231,0,0, /* number */
- MY_CS_COMPILED|MY_CS_STRNXFRM|MY_CS_UNICODE,
- MY_UTF8MB4, /* csname */
- MY_UTF8MB4 "_spanish_ci", /* name */
- "", /* comment */
- spanish, /* tailoring */
- ctype_utf8, /* ctype */
- NULL, /* to_lower */
- NULL, /* to_upper */
- NULL, /* sort_order */
- NULL, /* contractions */
- NULL, /* sort_order_big*/
- NULL, /* tab_to_uni */
- NULL, /* tab_from_uni */
- my_unicase_default, /* caseinfo */
- NULL, /* state_map */
- NULL, /* ident_map */
- 8, /* strxfrm_multiply */
- 1, /* caseup_multiply */
- 1, /* casedn_multiply */
- 1, /* mbminlen */
- 4, /* mbmaxlen */
- 9, /* min_sort_char */
- 0xFFFF, /* max_sort_char */
- ' ', /* pad char */
- 0, /* escape_with_backslash_is_dangerous */
- 1, /* levels_for_compare */
- 1, /* levels_for_order */
- &my_charset_utf8mb4_handler,
- &my_collation_any_uca_handler
-};
-
-CHARSET_INFO my_charset_utf8mb4_swedish_uca_ci=
-{
- 232,0,0, /* number */
- MY_CS_COMPILED|MY_CS_STRNXFRM|MY_CS_UNICODE,
- MY_UTF8MB4, /* csname */
- MY_UTF8MB4 "_swedish_ci", /* name */
- "", /* comment */
- swedish, /* tailoring */
- ctype_utf8, /* ctype */
- NULL, /* to_lower */
- NULL, /* to_upper */
- NULL, /* sort_order */
- NULL, /* contractions */
- NULL, /* sort_order_big*/
- NULL, /* tab_to_uni */
- NULL, /* tab_from_uni */
- my_unicase_default, /* caseinfo */
- NULL, /* state_map */
- NULL, /* ident_map */
- 8, /* strxfrm_multiply */
- 1, /* caseup_multiply */
- 1, /* casedn_multiply */
- 1, /* mbminlen */
- 4, /* mbmaxlen */
- 9, /* min_sort_char */
- 0xFFFF, /* max_sort_char */
- ' ', /* pad char */
- 0, /* escape_with_backslash_is_dangerous */
- 1, /* levels_for_compare */
- 1, /* levels_for_order */
- &my_charset_utf8mb4_handler,
- &my_collation_any_uca_handler
-};
-
-CHARSET_INFO my_charset_utf8mb4_turkish_uca_ci=
-{
- 233,0,0, /* number */
- MY_CS_COMPILED|MY_CS_STRNXFRM|MY_CS_UNICODE,
- MY_UTF8MB4, /* csname */
- MY_UTF8MB4 "_turkish_ci", /* name */
- "", /* comment */
- turkish, /* tailoring */
- ctype_utf8, /* ctype */
- NULL, /* to_lower */
- NULL, /* to_upper */
- NULL, /* sort_order */
- NULL, /* contractions */
- NULL, /* sort_order_big*/
- NULL, /* tab_to_uni */
- NULL, /* tab_from_uni */
- my_unicase_turkish, /* caseinfo */
- NULL, /* state_map */
- NULL, /* ident_map */
- 8, /* strxfrm_multiply */
- 2, /* caseup_multiply */
- 2, /* casedn_multiply */
- 1, /* mbminlen */
- 4, /* mbmaxlen */
- 9, /* min_sort_char */
- 0xFFFF, /* max_sort_char */
- ' ', /* pad char */
- 0, /* escape_with_backslash_is_dangerous */
- 1, /* levels_for_compare */
- 1, /* levels_for_order */
- &my_charset_utf8mb4_handler,
- &my_collation_any_uca_handler
-};
-
-CHARSET_INFO my_charset_utf8mb4_czech_uca_ci=
-{
- 234,0,0, /* number */
- MY_CS_COMPILED|MY_CS_STRNXFRM|MY_CS_UNICODE,
- MY_UTF8MB4, /* csname */
- MY_UTF8MB4 "_czech_ci", /* name */
- "", /* comment */
- czech, /* tailoring */
- ctype_utf8, /* ctype */
- NULL, /* to_lower */
- NULL, /* to_upper */
- NULL, /* sort_order */
- NULL, /* contractions */
- NULL, /* sort_order_big*/
- NULL, /* tab_to_uni */
- NULL, /* tab_from_uni */
- my_unicase_default, /* caseinfo */
- NULL, /* state_map */
- NULL, /* ident_map */
- 8, /* strxfrm_multiply */
- 1, /* caseup_multiply */
- 1, /* casedn_multiply */
- 1, /* mbminlen */
- 4, /* mbmaxlen */
- 9, /* min_sort_char */
- 0xFFFF, /* max_sort_char */
- ' ', /* pad char */
- 0, /* escape_with_backslash_is_dangerous */
- 1, /* levels_for_compare */
- 1, /* levels_for_order */
- &my_charset_utf8mb4_handler,
- &my_collation_any_uca_handler
-};
-
-
-CHARSET_INFO my_charset_utf8mb4_danish_uca_ci=
-{
- 235,0,0, /* number */
- MY_CS_COMPILED|MY_CS_STRNXFRM|MY_CS_UNICODE,
- MY_UTF8MB4, /* csname */
- MY_UTF8MB4 "_danish_ci", /* name */
- "", /* comment */
- danish, /* tailoring */
- ctype_utf8, /* ctype */
- NULL, /* to_lower */
- NULL, /* to_upper */
- NULL, /* sort_order */
- NULL, /* contractions */
- NULL, /* sort_order_big*/
- NULL, /* tab_to_uni */
- NULL, /* tab_from_uni */
- my_unicase_default, /* caseinfo */
- NULL, /* state_map */
- NULL, /* ident_map */
- 8, /* strxfrm_multiply */
- 1, /* caseup_multiply */
- 1, /* casedn_multiply */
- 1, /* mbminlen */
- 4, /* mbmaxlen */
- 9, /* min_sort_char */
- 0xFFFF, /* max_sort_char */
- ' ', /* pad char */
- 0, /* escape_with_backslash_is_dangerous */
- 1, /* levels_for_compare */
- 1, /* levels_for_order */
- &my_charset_utf8mb4_handler,
- &my_collation_any_uca_handler
-};
-
-CHARSET_INFO my_charset_utf8mb4_lithuanian_uca_ci=
-{
- 236,0,0, /* number */
- MY_CS_COMPILED|MY_CS_STRNXFRM|MY_CS_UNICODE,
- MY_UTF8MB4, /* csname */
- MY_UTF8MB4 "_lithuanian_ci",/* name */
- "", /* comment */
- lithuanian, /* tailoring */
- ctype_utf8, /* ctype */
- NULL, /* to_lower */
- NULL, /* to_upper */
- NULL, /* sort_order */
- NULL, /* contractions */
- NULL, /* sort_order_big*/
- NULL, /* tab_to_uni */
- NULL, /* tab_from_uni */
- my_unicase_default, /* caseinfo */
- NULL, /* state_map */
- NULL, /* ident_map */
- 8, /* strxfrm_multiply */
- 1, /* caseup_multiply */
- 1, /* casedn_multiply */
- 1, /* mbminlen */
- 4, /* mbmaxlen */
- 9, /* min_sort_char */
- 0xFFFF, /* max_sort_char */
- ' ', /* pad char */
- 0, /* escape_with_backslash_is_dangerous */
- 1, /* levels_for_compare */
- 1, /* levels_for_order */
- &my_charset_utf8mb4_handler,
- &my_collation_any_uca_handler
-};
-
-CHARSET_INFO my_charset_utf8mb4_slovak_uca_ci=
-{
- 237,0,0, /* number */
- MY_CS_COMPILED|MY_CS_STRNXFRM|MY_CS_UNICODE,
- MY_UTF8MB4, /* csname */
- MY_UTF8MB4 "_slovak_ci", /* name */
- "", /* comment */
- slovak, /* tailoring */
- ctype_utf8, /* ctype */
- NULL, /* to_lower */
- NULL, /* to_upper */
- NULL, /* sort_order */
- NULL, /* contractions */
- NULL, /* sort_order_big*/
- NULL, /* tab_to_uni */
- NULL, /* tab_from_uni */
- my_unicase_default, /* caseinfo */
- NULL, /* state_map */
- NULL, /* ident_map */
- 8, /* strxfrm_multiply */
- 1, /* caseup_multiply */
- 1, /* casedn_multiply */
- 1, /* mbminlen */
- 4, /* mbmaxlen */
- 9, /* min_sort_char */
- 0xFFFF, /* max_sort_char */
- ' ', /* pad char */
- 0, /* escape_with_backslash_is_dangerous */
- 1, /* levels_for_compare */
- 1, /* levels_for_order */
- &my_charset_utf8mb4_handler,
- &my_collation_any_uca_handler
-};
-
-CHARSET_INFO my_charset_utf8mb4_spanish2_uca_ci=
-{
- 238,0,0, /* number */
- MY_CS_COMPILED|MY_CS_STRNXFRM|MY_CS_UNICODE,
- MY_UTF8MB4, /* csname */
- MY_UTF8MB4 "_spanish2_ci", /* name */
- "", /* comment */
- spanish2, /* tailoring */
- ctype_utf8, /* ctype */
- NULL, /* to_lower */
- NULL, /* to_upper */
- NULL, /* sort_order */
- NULL, /* contractions */
- NULL, /* sort_order_big*/
- NULL, /* tab_to_uni */
- NULL, /* tab_from_uni */
- my_unicase_default, /* caseinfo */
- NULL, /* state_map */
- NULL, /* ident_map */
- 8, /* strxfrm_multiply */
- 1, /* caseup_multiply */
- 1, /* casedn_multiply */
- 1, /* mbminlen */
- 4, /* mbmaxlen */
- 9, /* min_sort_char */
- 0xFFFF, /* max_sort_char */
- ' ', /* pad char */
- 0, /* escape_with_backslash_is_dangerous */
- 1, /* levels_for_compare */
- 1, /* levels_for_order */
- &my_charset_utf8mb4_handler,
- &my_collation_any_uca_handler
-};
-
-CHARSET_INFO my_charset_utf8mb4_roman_uca_ci=
-{
- 239,0,0, /* number */
- MY_CS_COMPILED|MY_CS_STRNXFRM|MY_CS_UNICODE,
- MY_UTF8MB4, /* csname */
- MY_UTF8MB4 "_roman_ci", /* name */
- "", /* comment */
- roman, /* tailoring */
- ctype_utf8, /* ctype */
- NULL, /* to_lower */
- NULL, /* to_upper */
- NULL, /* sort_order */
- NULL, /* contractions */
- NULL, /* sort_order_big*/
- NULL, /* tab_to_uni */
- NULL, /* tab_from_uni */
- my_unicase_default, /* caseinfo */
- NULL, /* state_map */
- NULL, /* ident_map */
- 8, /* strxfrm_multiply */
- 1, /* caseup_multiply */
- 1, /* casedn_multiply */
- 1, /* mbminlen */
- 4, /* mbmaxlen */
- 9, /* min_sort_char */
- 0xFFFF, /* max_sort_char */
- ' ', /* pad char */
- 0, /* escape_with_backslash_is_dangerous */
- 1, /* levels_for_compare */
- 1, /* levels_for_order */
- &my_charset_utf8mb4_handler,
- &my_collation_any_uca_handler
-};
-
-CHARSET_INFO my_charset_utf8mb4_persian_uca_ci=
-{
- 240,0,0, /* number */
- MY_CS_COMPILED|MY_CS_STRNXFRM|MY_CS_UNICODE,
- MY_UTF8MB4, /* csname */
- MY_UTF8MB4 "_persian_ci", /* name */
- "", /* comment */
- persian, /* tailoring */
- ctype_utf8, /* ctype */
- NULL, /* to_lower */
- NULL, /* to_upper */
- NULL, /* sort_order */
- NULL, /* contractions */
- NULL, /* sort_order_big*/
- NULL, /* tab_to_uni */
- NULL, /* tab_from_uni */
- my_unicase_default, /* caseinfo */
- NULL, /* state_map */
- NULL, /* ident_map */
- 8, /* strxfrm_multiply */
- 1, /* caseup_multiply */
- 1, /* casedn_multiply */
- 1, /* mbminlen */
- 4, /* mbmaxlen */
- 9, /* min_sort_char */
- 0xFFFF, /* max_sort_char */
- ' ', /* pad char */
- 0, /* escape_with_backslash_is_dangerous */
- 1, /* levels_for_compare */
- 1, /* levels_for_order */
- &my_charset_utf8mb4_handler,
- &my_collation_any_uca_handler
-};
-
-CHARSET_INFO my_charset_utf8mb4_esperanto_uca_ci=
-{
- 241,0,0, /* number */
- MY_CS_COMPILED|MY_CS_STRNXFRM|MY_CS_UNICODE,
- MY_UTF8MB4, /* csname */
- MY_UTF8MB4 "_esperanto_ci",/* name */
- "", /* comment */
- esperanto, /* tailoring */
- ctype_utf8, /* ctype */
- NULL, /* to_lower */
- NULL, /* to_upper */
- NULL, /* sort_order */
- NULL, /* contractions */
- NULL, /* sort_order_big*/
- NULL, /* tab_to_uni */
- NULL, /* tab_from_uni */
- my_unicase_default, /* caseinfo */
- NULL, /* state_map */
- NULL, /* ident_map */
- 8, /* strxfrm_multiply */
- 1, /* caseup_multiply */
- 1, /* casedn_multiply */
- 1, /* mbminlen */
- 4, /* mbmaxlen */
- 9, /* min_sort_char */
- 0xFFFF, /* max_sort_char */
- ' ', /* pad char */
- 0, /* escape_with_backslash_is_dangerous */
- 1, /* levels_for_compare */
- 1, /* levels_for_order */
- &my_charset_utf8mb4_handler,
- &my_collation_any_uca_handler
-};
-
-CHARSET_INFO my_charset_utf8mb4_hungarian_uca_ci=
-{
- 242,0,0, /* number */
- MY_CS_COMPILED|MY_CS_STRNXFRM|MY_CS_UNICODE,
- MY_UTF8MB4, /* csname */
- MY_UTF8MB4 "_hungarian_ci",/* name */
- "", /* comment */
- hungarian, /* tailoring */
- ctype_utf8, /* ctype */
- NULL, /* to_lower */
- NULL, /* to_upper */
- NULL, /* sort_order */
- NULL, /* contractions */
- NULL, /* sort_order_big*/
- NULL, /* tab_to_uni */
- NULL, /* tab_from_uni */
- my_unicase_default, /* caseinfo */
- NULL, /* state_map */
- NULL, /* ident_map */
- 8, /* strxfrm_multiply */
- 1, /* caseup_multiply */
- 1, /* casedn_multiply */
- 1, /* mbminlen */
- 4, /* mbmaxlen */
- 9, /* min_sort_char */
- 0xFFFF, /* max_sort_char */
- ' ', /* pad char */
- 0, /* escape_with_backslash_is_dangerous */
- 1, /* levels_for_compare */
- 1, /* levels_for_order */
- &my_charset_utf8mb4_handler,
- &my_collation_any_uca_handler
-};
-
-CHARSET_INFO my_charset_utf8mb4_sinhala_uca_ci=
-{
- 243,0,0, /* number */
- MY_CS_COMPILED|MY_CS_STRNXFRM|MY_CS_UNICODE,
- MY_UTF8MB4, /* csname */
- MY_UTF8MB4 "_sinhala_ci",/* name */
- "", /* comment */
- sinhala, /* tailoring */
- ctype_utf8, /* ctype */
- NULL, /* to_lower */
- NULL, /* to_upper */
- NULL, /* sort_order */
- NULL, /* contractions */
- NULL, /* sort_order_big*/
- NULL, /* tab_to_uni */
- NULL, /* tab_from_uni */
- my_unicase_default, /* caseinfo */
- NULL, /* state_map */
- NULL, /* ident_map */
- 8, /* strxfrm_multiply */
- 1, /* caseup_multiply */
- 1, /* casedn_multiply */
- 1, /* mbminlen */
- 4, /* mbmaxlen */
- 9, /* min_sort_char */
- 0xFFFF, /* max_sort_char */
- ' ', /* pad char */
- 0, /* escape_with_backslash_is_dangerous */
- 1, /* levels_for_compare */
- 1, /* levels_for_order */
- &my_charset_utf8mb4_handler,
- &my_collation_any_uca_handler
-};
-
-#endif /* HAVE_CHARSET_utf8mb4 */
-
-
-#ifdef HAVE_CHARSET_utf32
-
-MY_COLLATION_HANDLER my_collation_utf32_uca_handler =
-{
- my_coll_init_uca, /* init */
- my_strnncoll_any_uca,
- my_strnncollsp_any_uca,
- my_strnxfrm_any_uca,
- my_strnxfrmlen_simple,
- my_like_range_utf32,
- my_wildcmp_uca,
- NULL,
- my_instr_mb,
- my_hash_sort_any_uca,
- my_propagate_complex
-};
-
-extern MY_CHARSET_HANDLER my_charset_utf32_handler;
-
-CHARSET_INFO my_charset_utf32_unicode_ci=
-{
- 160,0,0, /* number */
- MY_CS_COMPILED|MY_CS_STRNXFRM|MY_CS_UNICODE|MY_CS_NONASCII,
- "utf32", /* csname */
- "utf32_unicode_ci", /* name */
- "", /* comment */
- "", /* tailoring */
- NULL, /* ctype */
- NULL, /* to_lower */
- NULL, /* to_upper */
- uca_length, /* sort_order */
- NULL, /* contractions */
- uca_weight, /* sort_order_big*/
- NULL, /* tab_to_uni */
- NULL, /* tab_from_uni */
- my_unicase_default, /* caseinfo */
- NULL, /* state_map */
- NULL, /* ident_map */
- 8, /* strxfrm_multiply */
- 1, /* caseup_multiply */
- 1, /* casedn_multiply */
- 4, /* mbminlen */
- 4, /* mbmaxlen */
- 9, /* min_sort_char */
- 0xFFFF, /* max_sort_char */
- ' ', /* pad char */
- 0, /* escape_with_backslash_is_dangerous */
- 1, /* levels_for_compare */
- 1, /* levels_for_order */
- &my_charset_utf32_handler,
- &my_collation_utf32_uca_handler
-};
-
-
-CHARSET_INFO my_charset_utf32_icelandic_uca_ci=
-{
- 161,0,0, /* number */
- MY_CS_COMPILED|MY_CS_STRNXFRM|MY_CS_UNICODE|MY_CS_NONASCII,
- "utf32", /* csname */
- "utf32_icelandic_ci",/* name */
- "", /* comment */
- icelandic, /* tailoring */
- NULL, /* ctype */
- NULL, /* to_lower */
- NULL, /* to_upper */
- NULL, /* sort_order */
- NULL, /* contractions */
- NULL, /* sort_order_big*/
- NULL, /* tab_to_uni */
- NULL, /* tab_from_uni */
- my_unicase_default, /* caseinfo */
- NULL, /* state_map */
- NULL, /* ident_map */
- 8, /* strxfrm_multiply */
- 1, /* caseup_multiply */
- 1, /* casedn_multiply */
- 4, /* mbminlen */
- 4, /* mbmaxlen */
- 9, /* min_sort_char */
- 0xFFFF, /* max_sort_char */
- ' ', /* pad char */
- 0, /* escape_with_backslash_is_dangerous */
- 1, /* levels_for_compare */
- 1, /* levels_for_order */
- &my_charset_utf32_handler,
- &my_collation_utf32_uca_handler
-};
-
-CHARSET_INFO my_charset_utf32_latvian_uca_ci=
-{
- 162,0,0, /* number */
- MY_CS_COMPILED|MY_CS_STRNXFRM|MY_CS_UNICODE|MY_CS_NONASCII,
- "utf32", /* csname */
- "utf32_latvian_ci", /* name */
- "", /* comment */
- latvian, /* tailoring */
- NULL, /* ctype */
- NULL, /* to_lower */
- NULL, /* to_upper */
- NULL, /* sort_order */
- NULL, /* contractions */
- NULL, /* sort_order_big*/
- NULL, /* tab_to_uni */
- NULL, /* tab_from_uni */
- my_unicase_default, /* caseinfo */
- NULL, /* state_map */
- NULL, /* ident_map */
- 8, /* strxfrm_multiply */
- 1, /* caseup_multiply */
- 1, /* casedn_multiply */
- 4, /* mbminlen */
- 4, /* mbmaxlen */
- 9, /* min_sort_char */
- 0xFFFF, /* max_sort_char */
- ' ', /* pad char */
- 0, /* escape_with_backslash_is_dangerous */
- 1, /* levels_for_compare */
- 1, /* levels_for_order */
- &my_charset_utf32_handler,
- &my_collation_utf32_uca_handler
-};
-
-CHARSET_INFO my_charset_utf32_romanian_uca_ci=
-{
- 163,0,0, /* number */
- MY_CS_COMPILED|MY_CS_STRNXFRM|MY_CS_UNICODE|MY_CS_NONASCII,
- "utf32", /* csname */
- "utf32_romanian_ci", /* name */
- "", /* comment */
- romanian, /* tailoring */
- NULL, /* ctype */
- NULL, /* to_lower */
- NULL, /* to_upper */
- NULL, /* sort_order */
- NULL, /* contractions */
- NULL, /* sort_order_big*/
- NULL, /* tab_to_uni */
- NULL, /* tab_from_uni */
- my_unicase_default, /* caseinfo */
- NULL, /* state_map */
- NULL, /* ident_map */
- 8, /* strxfrm_multiply */
- 1, /* caseup_multiply */
- 1, /* casedn_multiply */
- 4, /* mbminlen */
- 4, /* mbmaxlen */
- 9, /* min_sort_char */
- 0xFFFF, /* max_sort_char */
- ' ', /* pad char */
- 0, /* escape_with_backslash_is_dangerous */
- 1, /* levels_for_compare */
- 1, /* levels_for_order */
- &my_charset_utf32_handler,
- &my_collation_utf32_uca_handler
-};
-
-CHARSET_INFO my_charset_utf32_slovenian_uca_ci=
-{
- 164,0,0, /* number */
- MY_CS_COMPILED|MY_CS_STRNXFRM|MY_CS_UNICODE|MY_CS_NONASCII,
- "utf32", /* csname */
- "utf32_slovenian_ci",/* name */
- "", /* comment */
- slovenian, /* tailoring */
- NULL, /* ctype */
- NULL, /* to_lower */
- NULL, /* to_upper */
- NULL, /* sort_order */
- NULL, /* contractions */
- NULL, /* sort_order_big*/
- NULL, /* tab_to_uni */
- NULL, /* tab_from_uni */
- my_unicase_default, /* caseinfo */
- NULL, /* state_map */
- NULL, /* ident_map */
- 8, /* strxfrm_multiply */
- 1, /* caseup_multiply */
- 1, /* casedn_multiply */
- 4, /* mbminlen */
- 4, /* mbmaxlen */
- 9, /* min_sort_char */
- 0xFFFF, /* max_sort_char */
- ' ', /* pad char */
- 0, /* escape_with_backslash_is_dangerous */
- 1, /* levels_for_compare */
- 1, /* levels_for_order */
- &my_charset_utf32_handler,
- &my_collation_utf32_uca_handler
-};
-
-CHARSET_INFO my_charset_utf32_polish_uca_ci=
-{
- 165,0,0, /* number */
- MY_CS_COMPILED|MY_CS_STRNXFRM|MY_CS_UNICODE|MY_CS_NONASCII,
- "utf32", /* csname */
- "utf32_polish_ci", /* name */
- "", /* comment */
- polish, /* tailoring */
- NULL, /* ctype */
- NULL, /* to_lower */
- NULL, /* to_upper */
- NULL, /* sort_order */
- NULL, /* contractions */
- NULL, /* sort_order_big*/
- NULL, /* tab_to_uni */
- NULL, /* tab_from_uni */
- my_unicase_default, /* caseinfo */
- NULL, /* state_map */
- NULL, /* ident_map */
- 8, /* strxfrm_multiply */
- 1, /* caseup_multiply */
- 1, /* casedn_multiply */
- 4, /* mbminlen */
- 4, /* mbmaxlen */
- 9, /* min_sort_char */
- 0xFFFF, /* max_sort_char */
- ' ', /* pad char */
- 0, /* escape_with_backslash_is_dangerous */
- 1, /* levels_for_compare */
- 1, /* levels_for_order */
- &my_charset_utf32_handler,
- &my_collation_utf32_uca_handler
-};
-
-CHARSET_INFO my_charset_utf32_estonian_uca_ci=
-{
- 166,0,0, /* number */
- MY_CS_COMPILED|MY_CS_STRNXFRM|MY_CS_UNICODE|MY_CS_NONASCII,
- "utf32", /* csname */
- "utf32_estonian_ci", /* name */
- "", /* comment */
- estonian, /* tailoring */
- NULL, /* ctype */
- NULL, /* to_lower */
- NULL, /* to_upper */
- NULL, /* sort_order */
- NULL, /* contractions */
- NULL, /* sort_order_big*/
- NULL, /* tab_to_uni */
- NULL, /* tab_from_uni */
- my_unicase_default, /* caseinfo */
- NULL, /* state_map */
- NULL, /* ident_map */
- 8, /* strxfrm_multiply */
- 1, /* caseup_multiply */
- 1, /* casedn_multiply */
- 4, /* mbminlen */
- 4, /* mbmaxlen */
- 9, /* min_sort_char */
- 0xFFFF, /* max_sort_char */
- ' ', /* pad char */
- 0, /* escape_with_backslash_is_dangerous */
- 1, /* levels_for_compare */
- 1, /* levels_for_order */
- &my_charset_utf32_handler,
- &my_collation_utf32_uca_handler
-};
-
-CHARSET_INFO my_charset_utf32_spanish_uca_ci=
-{
- 167,0,0, /* number */
- MY_CS_COMPILED|MY_CS_STRNXFRM|MY_CS_UNICODE|MY_CS_NONASCII,
- "utf32", /* csname */
- "utf32_spanish_ci", /* name */
- "", /* comment */
- spanish, /* tailoring */
- NULL, /* ctype */
- NULL, /* to_lower */
- NULL, /* to_upper */
- NULL, /* sort_order */
- NULL, /* contractions */
- NULL, /* sort_order_big*/
- NULL, /* tab_to_uni */
- NULL, /* tab_from_uni */
- my_unicase_default, /* caseinfo */
- NULL, /* state_map */
- NULL, /* ident_map */
- 8, /* strxfrm_multiply */
- 1, /* caseup_multiply */
- 1, /* casedn_multiply */
- 4, /* mbminlen */
- 4, /* mbmaxlen */
- 9, /* min_sort_char */
- 0xFFFF, /* max_sort_char */
- ' ', /* pad char */
- 0, /* escape_with_backslash_is_dangerous */
- 1, /* levels_for_compare */
- 1, /* levels_for_order */
- &my_charset_utf32_handler,
- &my_collation_utf32_uca_handler
-};
-
-CHARSET_INFO my_charset_utf32_swedish_uca_ci=
-{
- 168,0,0, /* number */
- MY_CS_COMPILED|MY_CS_STRNXFRM|MY_CS_UNICODE|MY_CS_NONASCII,
- "utf32", /* csname */
- "utf32_swedish_ci", /* name */
- "", /* comment */
- swedish, /* tailoring */
- NULL, /* ctype */
- NULL, /* to_lower */
- NULL, /* to_upper */
- NULL, /* sort_order */
- NULL, /* contractions */
- NULL, /* sort_order_big*/
- NULL, /* tab_to_uni */
- NULL, /* tab_from_uni */
- my_unicase_default, /* caseinfo */
- NULL, /* state_map */
- NULL, /* ident_map */
- 8, /* strxfrm_multiply */
- 1, /* caseup_multiply */
- 1, /* casedn_multiply */
- 4, /* mbminlen */
- 4, /* mbmaxlen */
- 9, /* min_sort_char */
- 0xFFFF, /* max_sort_char */
- ' ', /* pad char */
- 0, /* escape_with_backslash_is_dangerous */
- 1, /* levels_for_compare */
- 1, /* levels_for_order */
- &my_charset_utf32_handler,
- &my_collation_utf32_uca_handler
-};
-
-CHARSET_INFO my_charset_utf32_turkish_uca_ci=
-{
- 169,0,0, /* number */
- MY_CS_COMPILED|MY_CS_STRNXFRM|MY_CS_UNICODE|MY_CS_NONASCII,
- "utf32", /* csname */
- "utf32_turkish_ci", /* name */
- "", /* comment */
- turkish, /* tailoring */
- NULL, /* ctype */
- NULL, /* to_lower */
- NULL, /* to_upper */
- NULL, /* sort_order */
- NULL, /* contractions */
- NULL, /* sort_order_big*/
- NULL, /* tab_to_uni */
- NULL, /* tab_from_uni */
- my_unicase_turkish, /* caseinfo */
- NULL, /* state_map */
- NULL, /* ident_map */
- 8, /* strxfrm_multiply */
- 1, /* caseup_multiply */
- 1, /* casedn_multiply */
- 4, /* mbminlen */
- 4, /* mbmaxlen */
- 9, /* min_sort_char */
- 0xFFFF, /* max_sort_char */
- ' ', /* pad char */
- 0, /* escape_with_backslash_is_dangerous */
- 1, /* levels_for_compare */
- 1, /* levels_for_order */
- &my_charset_utf32_handler,
- &my_collation_utf32_uca_handler
-};
-
-CHARSET_INFO my_charset_utf32_czech_uca_ci=
-{
- 170,0,0, /* number */
- MY_CS_COMPILED|MY_CS_STRNXFRM|MY_CS_UNICODE|MY_CS_NONASCII,
- "utf32", /* csname */
- "utf32_czech_ci", /* name */
- "", /* comment */
- czech, /* tailoring */
- NULL, /* ctype */
- NULL, /* to_lower */
- NULL, /* to_upper */
- NULL, /* sort_order */
- NULL, /* contractions */
- NULL, /* sort_order_big*/
- NULL, /* tab_to_uni */
- NULL, /* tab_from_uni */
- my_unicase_default, /* caseinfo */
- NULL, /* state_map */
- NULL, /* ident_map */
- 8, /* strxfrm_multiply */
- 1, /* caseup_multiply */
- 1, /* casedn_multiply */
- 4, /* mbminlen */
- 4, /* mbmaxlen */
- 9, /* min_sort_char */
- 0xFFFF, /* max_sort_char */
- ' ', /* pad char */
- 0, /* escape_with_backslash_is_dangerous */
- 1, /* levels_for_compare */
- 1, /* levels_for_order */
- &my_charset_utf32_handler,
- &my_collation_utf32_uca_handler
-};
-
-
-CHARSET_INFO my_charset_utf32_danish_uca_ci=
-{
- 171,0,0, /* number */
- MY_CS_COMPILED|MY_CS_STRNXFRM|MY_CS_UNICODE|MY_CS_NONASCII,
- "utf32", /* csname */
- "utf32_danish_ci", /* name */
- "", /* comment */
- danish, /* tailoring */
- NULL, /* ctype */
- NULL, /* to_lower */
- NULL, /* to_upper */
- NULL, /* sort_order */
- NULL, /* contractions */
- NULL, /* sort_order_big*/
- NULL, /* tab_to_uni */
- NULL, /* tab_from_uni */
- my_unicase_default, /* caseinfo */
- NULL, /* state_map */
- NULL, /* ident_map */
- 8, /* strxfrm_multiply */
- 1, /* caseup_multiply */
- 1, /* casedn_multiply */
- 4, /* mbminlen */
- 4, /* mbmaxlen */
- 9, /* min_sort_char */
- 0xFFFF, /* max_sort_char */
- ' ', /* pad char */
- 0, /* escape_with_backslash_is_dangerous */
- 1, /* levels_for_compare */
- 1, /* levels_for_order */
- &my_charset_utf32_handler,
- &my_collation_utf32_uca_handler
-};
-
-CHARSET_INFO my_charset_utf32_lithuanian_uca_ci=
-{
- 172,0,0, /* number */
- MY_CS_COMPILED|MY_CS_STRNXFRM|MY_CS_UNICODE|MY_CS_NONASCII,
- "utf32", /* csname */
- "utf32_lithuanian_ci",/* name */
- "", /* comment */
- lithuanian, /* tailoring */
- NULL, /* ctype */
- NULL, /* to_lower */
- NULL, /* to_upper */
- NULL, /* sort_order */
- NULL, /* contractions */
- NULL, /* sort_order_big*/
- NULL, /* tab_to_uni */
- NULL, /* tab_from_uni */
- my_unicase_default, /* caseinfo */
- NULL, /* state_map */
- NULL, /* ident_map */
- 8, /* strxfrm_multiply */
- 1, /* caseup_multiply */
- 1, /* casedn_multiply */
- 4, /* mbminlen */
- 4, /* mbmaxlen */
- 9, /* min_sort_char */
- 0xFFFF, /* max_sort_char */
- ' ', /* pad char */
- 0, /* escape_with_backslash_is_dangerous */
- 1, /* levels_for_compare */
- 1, /* levels_for_order */
- &my_charset_utf32_handler,
- &my_collation_utf32_uca_handler
-};
-
-CHARSET_INFO my_charset_utf32_slovak_uca_ci=
-{
- 173,0,0, /* number */
- MY_CS_COMPILED|MY_CS_STRNXFRM|MY_CS_UNICODE|MY_CS_NONASCII,
- "utf32", /* csname */
- "utf32_slovak_ci", /* name */
- "", /* comment */
- slovak, /* tailoring */
- NULL, /* ctype */
- NULL, /* to_lower */
- NULL, /* to_upper */
- NULL, /* sort_order */
- NULL, /* contractions */
- NULL, /* sort_order_big*/
- NULL, /* tab_to_uni */
- NULL, /* tab_from_uni */
- my_unicase_default, /* caseinfo */
- NULL, /* state_map */
- NULL, /* ident_map */
- 8, /* strxfrm_multiply */
- 1, /* caseup_multiply */
- 1, /* casedn_multiply */
- 4, /* mbminlen */
- 4, /* mbmaxlen */
- 9, /* min_sort_char */
- 0xFFFF, /* max_sort_char */
- ' ', /* pad char */
- 0, /* escape_with_backslash_is_dangerous */
- 1, /* levels_for_compare */
- 1, /* levels_for_order */
- &my_charset_utf32_handler,
- &my_collation_utf32_uca_handler
-};
-
-CHARSET_INFO my_charset_utf32_spanish2_uca_ci=
-{
- 174,0,0, /* number */
- MY_CS_COMPILED|MY_CS_STRNXFRM|MY_CS_UNICODE|MY_CS_NONASCII,
- "utf32", /* csname */
- "utf32_spanish2_ci", /* name */
- "", /* comment */
- spanish2, /* tailoring */
- NULL, /* ctype */
- NULL, /* to_lower */
- NULL, /* to_upper */
- NULL, /* sort_order */
- NULL, /* contractions */
- NULL, /* sort_order_big*/
- NULL, /* tab_to_uni */
- NULL, /* tab_from_uni */
- my_unicase_default, /* caseinfo */
- NULL, /* state_map */
- NULL, /* ident_map */
- 8, /* strxfrm_multiply */
- 1, /* caseup_multiply */
- 1, /* casedn_multiply */
- 4, /* mbminlen */
- 4, /* mbmaxlen */
- 9, /* min_sort_char */
- 0xFFFF, /* max_sort_char */
- ' ', /* pad char */
- 0, /* escape_with_backslash_is_dangerous */
- 1, /* levels_for_compare */
- 1, /* levels_for_order */
- &my_charset_utf32_handler,
- &my_collation_utf32_uca_handler
-};
-
-CHARSET_INFO my_charset_utf32_roman_uca_ci=
-{
- 175,0,0, /* number */
- MY_CS_COMPILED|MY_CS_STRNXFRM|MY_CS_UNICODE|MY_CS_NONASCII,
- "utf32", /* csname */
- "utf32_roman_ci", /* name */
- "", /* comment */
- roman, /* tailoring */
- NULL, /* ctype */
- NULL, /* to_lower */
- NULL, /* to_upper */
- NULL, /* sort_order */
- NULL, /* contractions */
- NULL, /* sort_order_big*/
- NULL, /* tab_to_uni */
- NULL, /* tab_from_uni */
- my_unicase_default, /* caseinfo */
- NULL, /* state_map */
- NULL, /* ident_map */
- 8, /* strxfrm_multiply */
- 1, /* caseup_multiply */
- 1, /* casedn_multiply */
- 4, /* mbminlen */
- 4, /* mbmaxlen */
- 9, /* min_sort_char */
- 0xFFFF, /* max_sort_char */
- ' ', /* pad char */
- 0, /* escape_with_backslash_is_dangerous */
- 1, /* levels_for_compare */
- 1, /* levels_for_order */
- &my_charset_utf32_handler,
- &my_collation_utf32_uca_handler
-};
-
-CHARSET_INFO my_charset_utf32_persian_uca_ci=
-{
- 176,0,0, /* number */
- MY_CS_COMPILED|MY_CS_STRNXFRM|MY_CS_UNICODE|MY_CS_NONASCII,
- "utf32", /* csname */
- "utf32_persian_ci", /* name */
- "", /* comment */
- persian, /* tailoring */
- NULL, /* ctype */
- NULL, /* to_lower */
- NULL, /* to_upper */
- NULL, /* sort_order */
- NULL, /* contractions */
- NULL, /* sort_order_big*/
- NULL, /* tab_to_uni */
- NULL, /* tab_from_uni */
- my_unicase_default, /* caseinfo */
- NULL, /* state_map */
- NULL, /* ident_map */
- 8, /* strxfrm_multiply */
- 1, /* caseup_multiply */
- 1, /* casedn_multiply */
- 4, /* mbminlen */
- 4, /* mbmaxlen */
- 9, /* min_sort_char */
- 0xFFFF, /* max_sort_char */
- ' ', /* pad char */
- 0, /* escape_with_backslash_is_dangerous */
- 1, /* levels_for_compare */
- 1, /* levels_for_order */
- &my_charset_utf32_handler,
- &my_collation_utf32_uca_handler
-};
-
-CHARSET_INFO my_charset_utf32_esperanto_uca_ci=
-{
- 177,0,0, /* number */
- MY_CS_COMPILED|MY_CS_STRNXFRM|MY_CS_UNICODE|MY_CS_NONASCII,
- "utf32", /* csname */
- "utf32_esperanto_ci",/* name */
- "", /* comment */
- esperanto, /* tailoring */
- NULL, /* ctype */
- NULL, /* to_lower */
- NULL, /* to_upper */
- NULL, /* sort_order */
- NULL, /* contractions */
- NULL, /* sort_order_big*/
- NULL, /* tab_to_uni */
- NULL, /* tab_from_uni */
- my_unicase_default, /* caseinfo */
- NULL, /* state_map */
- NULL, /* ident_map */
- 8, /* strxfrm_multiply */
- 1, /* caseup_multiply */
- 1, /* casedn_multiply */
- 4, /* mbminlen */
- 4, /* mbmaxlen */
- 9, /* min_sort_char */
- 0xFFFF, /* max_sort_char */
- ' ', /* pad char */
- 0, /* escape_with_backslash_is_dangerous */
- 1, /* levels_for_compare */
- 1, /* levels_for_order */
- &my_charset_utf32_handler,
- &my_collation_utf32_uca_handler
-};
-
-CHARSET_INFO my_charset_utf32_hungarian_uca_ci=
-{
- 178,0,0, /* number */
- MY_CS_COMPILED|MY_CS_STRNXFRM|MY_CS_UNICODE|MY_CS_NONASCII,
- "utf32", /* csname */
- "utf32_hungarian_ci",/* name */
- "", /* comment */
- hungarian, /* tailoring */
- NULL, /* ctype */
- NULL, /* to_lower */
- NULL, /* to_upper */
- NULL, /* sort_order */
- NULL, /* contractions */
- NULL, /* sort_order_big*/
- NULL, /* tab_to_uni */
- NULL, /* tab_from_uni */
- my_unicase_default, /* caseinfo */
- NULL, /* state_map */
- NULL, /* ident_map */
- 8, /* strxfrm_multiply */
- 1, /* caseup_multiply */
- 1, /* casedn_multiply */
- 4, /* mbminlen */
- 4, /* mbmaxlen */
- 9, /* min_sort_char */
- 0xFFFF, /* max_sort_char */
- ' ', /* pad char */
- 0, /* escape_with_backslash_is_dangerous */
- 1, /* levels_for_compare */
- 1, /* levels_for_order */
- &my_charset_utf32_handler,
- &my_collation_utf32_uca_handler
-};
-
-CHARSET_INFO my_charset_utf32_sinhala_uca_ci=
-{
- 179,0,0, /* number */
- MY_CS_COMPILED|MY_CS_STRNXFRM|MY_CS_UNICODE|MY_CS_NONASCII,
- "utf32", /* csname */
- "utf32_sinhala_ci", /* name */
- "", /* comment */
- sinhala, /* tailoring */
- NULL, /* ctype */
- NULL, /* to_lower */
- NULL, /* to_upper */
- NULL, /* sort_order */
- NULL, /* contractions */
- NULL, /* sort_order_big*/
- NULL, /* tab_to_uni */
- NULL, /* tab_from_uni */
- my_unicase_default, /* caseinfo */
- NULL, /* state_map */
- NULL, /* ident_map */
- 8, /* strxfrm_multiply */
- 1, /* caseup_multiply */
- 1, /* casedn_multiply */
- 4, /* mbminlen */
- 4, /* mbmaxlen */
- 9, /* min_sort_char */
- 0xFFFF, /* max_sort_char */
- ' ', /* pad char */
- 0, /* escape_with_backslash_is_dangerous */
- 1, /* levels_for_compare */
- 1, /* levels_for_order */
- &my_charset_utf32_handler,
- &my_collation_utf32_uca_handler
-};
-
-#endif /* HAVE_CHARSET_utf32 */
-
-
-#ifdef HAVE_CHARSET_utf16
-
-
-MY_COLLATION_HANDLER my_collation_utf16_uca_handler =
-{
- my_coll_init_uca, /* init */
- my_strnncoll_any_uca,
- my_strnncollsp_any_uca,
- my_strnxfrm_any_uca,
- my_strnxfrmlen_simple,
- my_like_range_utf16,
- my_wildcmp_uca,
- NULL,
- my_instr_mb,
- my_hash_sort_any_uca,
- my_propagate_complex
-};
-
-extern MY_CHARSET_HANDLER my_charset_utf16_handler;
-
-CHARSET_INFO my_charset_utf16_unicode_ci=
-{
- 101,0,0, /* number */
- MY_CS_COMPILED|MY_CS_STRNXFRM|MY_CS_UNICODE|MY_CS_NONASCII,
- "utf16", /* csname */
- "utf16_unicode_ci", /* name */
- "", /* comment */
- "", /* tailoring */
- NULL, /* ctype */
- NULL, /* to_lower */
- NULL, /* to_upper */
- uca_length, /* sort_order */
- NULL, /* contractions */
- uca_weight, /* sort_order_big*/
- NULL, /* tab_to_uni */
- NULL, /* tab_from_uni */
- my_unicase_default, /* caseinfo */
- NULL, /* state_map */
- NULL, /* ident_map */
- 8, /* strxfrm_multiply */
- 1, /* caseup_multiply */
- 1, /* casedn_multiply */
- 2, /* mbminlen */
- 4, /* mbmaxlen */
- 9, /* min_sort_char */
- 0xFFFF, /* max_sort_char */
- ' ', /* pad char */
- 0, /* escape_with_backslash_is_dangerous */
- 1, /* levels_for_compare */
- 1, /* levels_for_order */
- &my_charset_utf16_handler,
- &my_collation_utf16_uca_handler
-};
-
-
-CHARSET_INFO my_charset_utf16_icelandic_uca_ci=
-{
- 102,0,0, /* number */
- MY_CS_COMPILED|MY_CS_STRNXFRM|MY_CS_UNICODE|MY_CS_NONASCII,
- "utf16", /* csname */
- "utf16_icelandic_ci",/* name */
- "", /* comment */
- icelandic, /* tailoring */
- NULL, /* ctype */
- NULL, /* to_lower */
- NULL, /* to_upper */
- NULL, /* sort_order */
- NULL, /* contractions */
- NULL, /* sort_order_big*/
- NULL, /* tab_to_uni */
- NULL, /* tab_from_uni */
- my_unicase_default, /* caseinfo */
- NULL, /* state_map */
- NULL, /* ident_map */
- 8, /* strxfrm_multiply */
- 1, /* caseup_multiply */
- 1, /* casedn_multiply */
- 2, /* mbminlen */
- 4, /* mbmaxlen */
- 9, /* min_sort_char */
- 0xFFFF, /* max_sort_char */
- ' ', /* pad char */
- 0, /* escape_with_backslash_is_dangerous */
- 1, /* levels_for_compare */
- 1, /* levels_for_order */
- &my_charset_utf16_handler,
- &my_collation_utf16_uca_handler
-};
-
-CHARSET_INFO my_charset_utf16_latvian_uca_ci=
-{
- 103,0,0, /* number */
- MY_CS_COMPILED|MY_CS_STRNXFRM|MY_CS_UNICODE|MY_CS_NONASCII,
- "utf16", /* cs name */
- "utf16_latvian_ci", /* name */
- "", /* comment */
- latvian, /* tailoring */
- NULL, /* ctype */
- NULL, /* to_lower */
- NULL, /* to_upper */
- NULL, /* sort_order */
- NULL, /* contractions */
- NULL, /* sort_order_big*/
- NULL, /* tab_to_uni */
- NULL, /* tab_from_uni */
- my_unicase_default, /* caseinfo */
- NULL, /* state_map */
- NULL, /* ident_map */
- 8, /* strxfrm_multiply */
- 1, /* caseup_multiply */
- 1, /* casedn_multiply */
- 2, /* mbminlen */
- 4, /* mbmaxlen */
- 9, /* min_sort_char */
- 0xFFFF, /* max_sort_char */
- ' ', /* pad char */
- 0, /* escape_with_backslash_is_dangerous */
- 1, /* levels_for_compare */
- 1, /* levels_for_order */
- &my_charset_utf16_handler,
- &my_collation_utf16_uca_handler
-};
-
-CHARSET_INFO my_charset_utf16_romanian_uca_ci=
-{
- 104,0,0, /* number */
- MY_CS_COMPILED|MY_CS_STRNXFRM|MY_CS_UNICODE|MY_CS_NONASCII,
- "utf16", /* cs name */
- "utf16_romanian_ci", /* name */
- "", /* comment */
- romanian, /* tailoring */
- NULL, /* ctype */
- NULL, /* to_lower */
- NULL, /* to_upper */
- NULL, /* sort_order */
- NULL, /* contractions */
- NULL, /* sort_order_big*/
- NULL, /* tab_to_uni */
- NULL, /* tab_from_uni */
- my_unicase_default, /* caseinfo */
- NULL, /* state_map */
- NULL, /* ident_map */
- 8, /* strxfrm_multiply */
- 1, /* caseup_multiply */
- 1, /* casedn_multiply */
- 2, /* mbminlen */
- 4, /* mbmaxlen */
- 9, /* min_sort_char */
- 0xFFFF, /* max_sort_char */
- ' ', /* pad char */
- 0, /* escape_with_backslash_is_dangerous */
- 1, /* levels_for_compare */
- 1, /* levels_for_order */
- &my_charset_utf16_handler,
- &my_collation_utf16_uca_handler
-};
-
-CHARSET_INFO my_charset_utf16_slovenian_uca_ci=
-{
- 105,0,0, /* number */
- MY_CS_COMPILED|MY_CS_STRNXFRM|MY_CS_UNICODE|MY_CS_NONASCII,
- "utf16", /* cs name */
- "utf16_slovenian_ci",/* name */
- "", /* comment */
- slovenian, /* tailoring */
- NULL, /* ctype */
- NULL, /* to_lower */
- NULL, /* to_upper */
- NULL, /* sort_order */
- NULL, /* contractions */
- NULL, /* sort_order_big*/
- NULL, /* tab_to_uni */
- NULL, /* tab_from_uni */
- my_unicase_default, /* caseinfo */
- NULL, /* state_map */
- NULL, /* ident_map */
- 8, /* strxfrm_multiply */
- 1, /* caseup_multiply */
- 1, /* casedn_multiply */
- 2, /* mbminlen */
- 4, /* mbmaxlen */
- 9, /* min_sort_char */
- 0xFFFF, /* max_sort_char */
- ' ', /* pad char */
- 0, /* escape_with_backslash_is_dangerous */
- 1, /* levels_for_compare */
- 1, /* levels_for_order */
- &my_charset_utf16_handler,
- &my_collation_utf16_uca_handler
-};
-
-CHARSET_INFO my_charset_utf16_polish_uca_ci=
-{
- 106,0,0, /* number */
- MY_CS_COMPILED|MY_CS_STRNXFRM|MY_CS_UNICODE|MY_CS_NONASCII,
- "utf16", /* cs name */
- "utf16_polish_ci", /* name */
- "", /* comment */
- polish, /* tailoring */
- NULL, /* ctype */
- NULL, /* to_lower */
- NULL, /* to_upper */
- NULL, /* sort_order */
- NULL, /* contractions */
- NULL, /* sort_order_big*/
- NULL, /* tab_to_uni */
- NULL, /* tab_from_uni */
- my_unicase_default, /* caseinfo */
- NULL, /* state_map */
- NULL, /* ident_map */
- 8, /* strxfrm_multiply */
- 1, /* caseup_multiply */
- 1, /* casedn_multiply */
- 2, /* mbminlen */
- 4, /* mbmaxlen */
- 9, /* min_sort_char */
- 0xFFFF, /* max_sort_char */
- ' ', /* pad char */
- 0, /* escape_with_backslash_is_dangerous */
- 1, /* levels_for_compare */
- 1, /* levels_for_order */
- &my_charset_utf16_handler,
- &my_collation_utf16_uca_handler
-};
-
-CHARSET_INFO my_charset_utf16_estonian_uca_ci=
-{
- 107,0,0, /* number */
- MY_CS_COMPILED|MY_CS_STRNXFRM|MY_CS_UNICODE|MY_CS_NONASCII,
- "utf16", /* cs name */
- "utf16_estonian_ci", /* name */
- "", /* comment */
- estonian, /* tailoring */
- NULL, /* ctype */
- NULL, /* to_lower */
- NULL, /* to_upper */
- NULL, /* sort_order */
- NULL, /* contractions */
- NULL, /* sort_order_big*/
- NULL, /* tab_to_uni */
- NULL, /* tab_from_uni */
- my_unicase_default, /* caseinfo */
- NULL, /* state_map */
- NULL, /* ident_map */
- 8, /* strxfrm_multiply */
- 1, /* caseup_multiply */
- 1, /* casedn_multiply */
- 2, /* mbminlen */
- 4, /* mbmaxlen */
- 9, /* min_sort_char */
- 0xFFFF, /* max_sort_char */
- ' ', /* pad char */
- 0, /* escape_with_backslash_is_dangerous */
- 1, /* levels_for_compare */
- 1, /* levels_for_order */
- &my_charset_utf16_handler,
- &my_collation_utf16_uca_handler
-};
-
-CHARSET_INFO my_charset_utf16_spanish_uca_ci=
-{
- 108,0,0, /* number */
- MY_CS_COMPILED|MY_CS_STRNXFRM|MY_CS_UNICODE|MY_CS_NONASCII,
- "utf16", /* cs name */
- "utf16_spanish_ci", /* name */
- "", /* comment */
- spanish, /* tailoring */
- NULL, /* ctype */
- NULL, /* to_lower */
- NULL, /* to_upper */
- NULL, /* sort_order */
- NULL, /* contractions */
- NULL, /* sort_order_big*/
- NULL, /* tab_to_uni */
- NULL, /* tab_from_uni */
- my_unicase_default, /* caseinfo */
- NULL, /* state_map */
- NULL, /* ident_map */
- 8, /* strxfrm_multiply */
- 1, /* caseup_multiply */
- 1, /* casedn_multiply */
- 2, /* mbminlen */
- 4, /* mbmaxlen */
- 9, /* min_sort_char */
- 0xFFFF, /* max_sort_char */
- ' ', /* pad char */
- 0, /* escape_with_backslash_is_dangerous */
- 1, /* levels_for_compare */
- 1, /* levels_for_order */
- &my_charset_utf16_handler,
- &my_collation_utf16_uca_handler
-};
-
-CHARSET_INFO my_charset_utf16_swedish_uca_ci=
-{
- 109,0,0, /* number */
- MY_CS_COMPILED|MY_CS_STRNXFRM|MY_CS_UNICODE|MY_CS_NONASCII,
- "utf16", /* cs name */
- "utf16_swedish_ci", /* name */
- "", /* comment */
- swedish, /* tailoring */
- NULL, /* ctype */
- NULL, /* to_lower */
- NULL, /* to_upper */
- NULL, /* sort_order */
- NULL, /* contractions */
- NULL, /* sort_order_big*/
- NULL, /* tab_to_uni */
- NULL, /* tab_from_uni */
- my_unicase_default, /* caseinfo */
- NULL, /* state_map */
- NULL, /* ident_map */
- 8, /* strxfrm_multiply */
- 1, /* caseup_multiply */
- 1, /* casedn_multiply */
- 2, /* mbminlen */
- 4, /* mbmaxlen */
- 9, /* min_sort_char */
- 0xFFFF, /* max_sort_char */
- ' ', /* pad char */
- 0, /* escape_with_backslash_is_dangerous */
- 1, /* levels_for_compare */
- 1, /* levels_for_order */
- &my_charset_utf16_handler,
- &my_collation_utf16_uca_handler
-};
-
-CHARSET_INFO my_charset_utf16_turkish_uca_ci=
-{
- 110,0,0, /* number */
- MY_CS_COMPILED|MY_CS_STRNXFRM|MY_CS_UNICODE|MY_CS_NONASCII,
- "utf16", /* cs name */
- "utf16_turkish_ci", /* name */
- "", /* comment */
- turkish, /* tailoring */
- NULL, /* ctype */
- NULL, /* to_lower */
- NULL, /* to_upper */
- NULL, /* sort_order */
- NULL, /* contractions */
- NULL, /* sort_order_big*/
- NULL, /* tab_to_uni */
- NULL, /* tab_from_uni */
- my_unicase_turkish, /* caseinfo */
- NULL, /* state_map */
- NULL, /* ident_map */
- 8, /* strxfrm_multiply */
- 1, /* caseup_multiply */
- 1, /* casedn_multiply */
- 2, /* mbminlen */
- 4, /* mbmaxlen */
- 9, /* min_sort_char */
- 0xFFFF, /* max_sort_char */
- ' ', /* pad char */
- 0, /* escape_with_backslash_is_dangerous */
- 1, /* levels_for_compare */
- 1, /* levels_for_order */
- &my_charset_utf16_handler,
- &my_collation_utf16_uca_handler
-};
-
-CHARSET_INFO my_charset_utf16_czech_uca_ci=
-{
- 111,0,0, /* number */
- MY_CS_COMPILED|MY_CS_STRNXFRM|MY_CS_UNICODE|MY_CS_NONASCII,
- "utf16", /* cs name */
- "utf16_czech_ci", /* name */
- "", /* comment */
- czech, /* tailoring */
- NULL, /* ctype */
- NULL, /* to_lower */
- NULL, /* to_upper */
- NULL, /* sort_order */
- NULL, /* contractions */
- NULL, /* sort_order_big*/
- NULL, /* tab_to_uni */
- NULL, /* tab_from_uni */
- my_unicase_default, /* caseinfo */
- NULL, /* state_map */
- NULL, /* ident_map */
- 8, /* strxfrm_multiply */
- 1, /* caseup_multiply */
- 1, /* casedn_multiply */
- 2, /* mbminlen */
- 4, /* mbmaxlen */
- 9, /* min_sort_char */
- 0xFFFF, /* max_sort_char */
- ' ', /* pad char */
- 0, /* escape_with_backslash_is_dangerous */
- 1, /* levels_for_compare */
- 1, /* levels_for_order */
- &my_charset_utf16_handler,
- &my_collation_utf16_uca_handler
-};
-
-
-CHARSET_INFO my_charset_utf16_danish_uca_ci=
-{
- 112,0,0, /* number */
- MY_CS_COMPILED|MY_CS_STRNXFRM|MY_CS_UNICODE|MY_CS_NONASCII,
- "utf16", /* cs name */
- "utf16_danish_ci", /* name */
- "", /* comment */
- danish, /* tailoring */
- NULL, /* ctype */
- NULL, /* to_lower */
- NULL, /* to_upper */
- NULL, /* sort_order */
- NULL, /* contractions */
- NULL, /* sort_order_big*/
- NULL, /* tab_to_uni */
- NULL, /* tab_from_uni */
- my_unicase_default, /* caseinfo */
- NULL, /* state_map */
- NULL, /* ident_map */
- 8, /* strxfrm_multiply */
- 1, /* caseup_multiply */
- 1, /* casedn_multiply */
- 2, /* mbminlen */
- 4, /* mbmaxlen */
- 9, /* min_sort_char */
- 0xFFFF, /* max_sort_char */
- ' ', /* pad char */
- 0, /* escape_with_backslash_is_dangerous */
- 1, /* levels_for_compare */
- 1, /* levels_for_order */
- &my_charset_utf16_handler,
- &my_collation_utf16_uca_handler
-};
-
-CHARSET_INFO my_charset_utf16_lithuanian_uca_ci=
-{
- 113,0,0, /* number */
- MY_CS_COMPILED|MY_CS_STRNXFRM|MY_CS_UNICODE|MY_CS_NONASCII,
- "utf16", /* cs name */
- "utf16_lithuanian_ci",/* name */
- "", /* comment */
- lithuanian, /* tailoring */
- NULL, /* ctype */
- NULL, /* to_lower */
- NULL, /* to_upper */
- NULL, /* sort_order */
- NULL, /* contractions */
- NULL, /* sort_order_big*/
- NULL, /* tab_to_uni */
- NULL, /* tab_from_uni */
- my_unicase_default, /* caseinfo */
- NULL, /* state_map */
- NULL, /* ident_map */
- 8, /* strxfrm_multiply */
- 1, /* caseup_multiply */
- 1, /* casedn_multiply */
- 2, /* mbminlen */
- 4, /* mbmaxlen */
- 9, /* min_sort_char */
- 0xFFFF, /* max_sort_char */
- ' ', /* pad char */
- 0, /* escape_with_backslash_is_dangerous */
- 1, /* levels_for_compare */
- 1, /* levels_for_order */
- &my_charset_utf16_handler,
- &my_collation_utf16_uca_handler
-};
-
-CHARSET_INFO my_charset_utf16_slovak_uca_ci=
-{
- 114,0,0, /* number */
- MY_CS_COMPILED|MY_CS_STRNXFRM|MY_CS_UNICODE|MY_CS_NONASCII,
- "utf16", /* cs name */
- "utf16_slovak_ci", /* name */
- "", /* comment */
- slovak, /* tailoring */
- NULL, /* ctype */
- NULL, /* to_lower */
- NULL, /* to_upper */
- NULL, /* sort_order */
- NULL, /* contractions */
- NULL, /* sort_order_big*/
- NULL, /* tab_to_uni */
- NULL, /* tab_from_uni */
- my_unicase_default, /* caseinfo */
- NULL, /* state_map */
- NULL, /* ident_map */
- 8, /* strxfrm_multiply */
- 1, /* caseup_multiply */
- 1, /* casedn_multiply */
- 2, /* mbminlen */
- 4, /* mbmaxlen */
- 9, /* min_sort_char */
- 0xFFFF, /* max_sort_char */
- ' ', /* pad char */
- 0, /* escape_with_backslash_is_dangerous */
- 1, /* levels_for_compare */
- 1, /* levels_for_order */
- &my_charset_utf16_handler,
- &my_collation_utf16_uca_handler
-};
-
-CHARSET_INFO my_charset_utf16_spanish2_uca_ci=
-{
- 115,0,0, /* number */
- MY_CS_COMPILED|MY_CS_STRNXFRM|MY_CS_UNICODE|MY_CS_NONASCII,
- "utf16", /* cs name */
- "utf16_spanish2_ci",/* name */
- "", /* comment */
- spanish2, /* tailoring */
- NULL, /* ctype */
- NULL, /* to_lower */
- NULL, /* to_upper */
- NULL, /* sort_order */
- NULL, /* contractions */
- NULL, /* sort_order_big*/
- NULL, /* tab_to_uni */
- NULL, /* tab_from_uni */
- my_unicase_default, /* caseinfo */
- NULL, /* state_map */
- NULL, /* ident_map */
- 8, /* strxfrm_multiply */
- 1, /* caseup_multiply */
- 1, /* casedn_multiply */
- 2, /* mbminlen */
- 4, /* mbmaxlen */
- 9, /* min_sort_char */
- 0xFFFF, /* max_sort_char */
- ' ', /* pad char */
- 0, /* escape_with_backslash_is_dangerous */
- 1, /* levels_for_compare */
- 1, /* levels_for_order */
- &my_charset_utf16_handler,
- &my_collation_utf16_uca_handler
-};
-
-CHARSET_INFO my_charset_utf16_roman_uca_ci=
-{
- 116,0,0, /* number */
- MY_CS_COMPILED|MY_CS_STRNXFRM|MY_CS_UNICODE|MY_CS_NONASCII,
- "utf16", /* cs name */
- "utf16_roman_ci", /* name */
- "", /* comment */
- roman, /* tailoring */
- NULL, /* ctype */
- NULL, /* to_lower */
- NULL, /* to_upper */
- NULL, /* sort_order */
- NULL, /* contractions */
- NULL, /* sort_order_big*/
- NULL, /* tab_to_uni */
- NULL, /* tab_from_uni */
- my_unicase_default, /* caseinfo */
- NULL, /* state_map */
- NULL, /* ident_map */
- 8, /* strxfrm_multiply */
- 1, /* caseup_multiply */
- 1, /* casedn_multiply */
- 2, /* mbminlen */
- 4, /* mbmaxlen */
- 9, /* min_sort_char */
- 0xFFFF, /* max_sort_char */
- ' ', /* pad char */
- 0, /* escape_with_backslash_is_dangerous */
- 1, /* levels_for_compare */
- 1, /* levels_for_order */
- &my_charset_utf16_handler,
- &my_collation_utf16_uca_handler
-};
-
-CHARSET_INFO my_charset_utf16_persian_uca_ci=
-{
- 117,0,0, /* number */
- MY_CS_COMPILED|MY_CS_STRNXFRM|MY_CS_UNICODE|MY_CS_NONASCII,
- "utf16", /* cs name */
- "utf16_persian_ci", /* name */
- "", /* comment */
- persian, /* tailoring */
- NULL, /* ctype */
- NULL, /* to_lower */
- NULL, /* to_upper */
- NULL, /* sort_order */
- NULL, /* contractions */
- NULL, /* sort_order_big*/
- NULL, /* tab_to_uni */
- NULL, /* tab_from_uni */
- my_unicase_default, /* caseinfo */
- NULL, /* state_map */
- NULL, /* ident_map */
- 8, /* strxfrm_multiply */
- 1, /* caseup_multiply */
- 1, /* casedn_multiply */
- 2, /* mbminlen */
- 4, /* mbmaxlen */
- 9, /* min_sort_char */
- 0xFFFF, /* max_sort_char */
- ' ', /* pad char */
- 0, /* escape_with_backslash_is_dangerous */
- 1, /* levels_for_compare */
- 1, /* levels_for_order */
- &my_charset_utf16_handler,
- &my_collation_utf16_uca_handler
-};
-
-CHARSET_INFO my_charset_utf16_esperanto_uca_ci=
-{
- 118,0,0, /* number */
- MY_CS_COMPILED|MY_CS_STRNXFRM|MY_CS_UNICODE|MY_CS_NONASCII,
- "utf16", /* cs name */
- "utf16_esperanto_ci",/* name */
- "", /* comment */
- esperanto, /* tailoring */
- NULL, /* ctype */
- NULL, /* to_lower */
- NULL, /* to_upper */
- NULL, /* sort_order */
- NULL, /* contractions */
- NULL, /* sort_order_big*/
- NULL, /* tab_to_uni */
- NULL, /* tab_from_uni */
- my_unicase_default, /* caseinfo */
- NULL, /* state_map */
- NULL, /* ident_map */
- 8, /* strxfrm_multiply */
- 1, /* caseup_multiply */
- 1, /* casedn_multiply */
- 2, /* mbminlen */
- 4, /* mbmaxlen */
- 9, /* min_sort_char */
- 0xFFFF, /* max_sort_char */
- ' ', /* pad char */
- 0, /* escape_with_backslash_is_dangerous */
- 1, /* levels_for_compare */
- 1, /* levels_for_order */
- &my_charset_utf16_handler,
- &my_collation_utf16_uca_handler
-};
-
-CHARSET_INFO my_charset_utf16_hungarian_uca_ci=
-{
- 119,0,0, /* number */
- MY_CS_COMPILED|MY_CS_STRNXFRM|MY_CS_UNICODE|MY_CS_NONASCII,
- "utf16", /* cs name */
- "utf16_hungarian_ci",/* name */
- "", /* comment */
- hungarian, /* tailoring */
- NULL, /* ctype */
- NULL, /* to_lower */
- NULL, /* to_upper */
- NULL, /* sort_order */
- NULL, /* contractions */
- NULL, /* sort_order_big*/
- NULL, /* tab_to_uni */
- NULL, /* tab_from_uni */
- my_unicase_default,/* caseinfo */
- NULL, /* state_map */
- NULL, /* ident_map */
- 8, /* strxfrm_multiply */
- 1, /* caseup_multiply */
- 1, /* casedn_multiply */
- 2, /* mbminlen */
- 4, /* mbmaxlen */
- 9, /* min_sort_char */
- 0xFFFF, /* max_sort_char */
- ' ', /* pad char */
- 0, /* escape_with_backslash_is_dangerous */
- 1, /* levels_for_compare */
- 1, /* levels_for_order */
- &my_charset_utf16_handler,
- &my_collation_utf16_uca_handler
-};
-
-CHARSET_INFO my_charset_utf16_sinhala_uca_ci=
-{
- 120,0,0, /* number */
- MY_CS_COMPILED|MY_CS_STRNXFRM|MY_CS_UNICODE|MY_CS_NONASCII,
- "utf16", /* cs name */
- "utf16_sinhala_ci",/* name */
- "", /* comment */
- sinhala, /* tailoring */
- NULL, /* ctype */
- NULL, /* to_lower */
- NULL, /* to_upper */
- NULL, /* sort_order */
- NULL, /* contractions */
- NULL, /* sort_order_big*/
- NULL, /* tab_to_uni */
- NULL, /* tab_from_uni */
- my_unicase_default,/* caseinfo */
- NULL, /* state_map */
- NULL, /* ident_map */
- 8, /* strxfrm_multiply */
- 1, /* caseup_multiply */
- 1, /* casedn_multiply */
- 2, /* mbminlen */
- 4, /* mbmaxlen */
- 9, /* min_sort_char */
- 0xFFFF, /* max_sort_char */
- ' ', /* pad char */
- 0, /* escape_with_backslash_is_dangerous */
- 1, /* levels_for_compare */
- 1, /* levels_for_order */
- &my_charset_utf16_handler,
- &my_collation_utf16_uca_handler
-};
-
-#endif /* HAVE_CHARSET_utf16 */
-
-
#endif /* HAVE_UCA_COLLATIONS */
=== modified file 'strings/ctype-ucs2.c'
--- a/strings/ctype-ucs2.c 2009-05-14 21:49:53 +0000
+++ b/strings/ctype-ucs2.c 2009-06-02 18:04:09 +0000
@@ -1032,1865 +1032,6 @@ my_lengthsp_mb2(CHARSET_INFO *cs __attri
#endif
-#ifdef HAVE_CHARSET_utf16
-
-/*
- D800..DB7F - Non-provate surrogate high (896 pages)
- DB80..DBFF - Private surrogate high (128 pages)
- DC00..DFFF - Surrogate low (1024 codes in a page)
-*/
-
-#define MY_UTF16_HIGH_HEAD(x) ((((uchar) (x)) & 0xFC) == 0xD8)
-#define MY_UTF16_LOW_HEAD(x) ((((uchar) (x)) & 0xFC) == 0xDC)
-#define MY_UTF16_SURROGATE(x) (((x) & 0xF800) == 0xD800)
-
-static int
-my_utf16_uni(CHARSET_INFO *cs __attribute__((unused)),
- my_wc_t *pwc, const uchar *s, const uchar *e)
-{
- if (s + 2 > e)
- return MY_CS_TOOSMALL2;
-
- /*
- High bytes: 0xD[89AB] = B'110110??'
- Low bytes: 0xD[CDEF] = B'110111??'
- Surrogate mask: 0xFC = B'11111100'
- */
-
- if (MY_UTF16_HIGH_HEAD(*s)) /* Surrogate head */
- {
- if (s + 4 > e)
- return MY_CS_TOOSMALL4;
-
- if (!MY_UTF16_LOW_HEAD(s[2])) /* Broken surrigate pair */
- return MY_CS_ILSEQ;
-
- /*
- s[0]= 110110?? (<< 18)
- s[1]= ???????? (<< 10)
- s[2]= 110111?? (<< 8)
- s[3]= ???????? (<< 0)
- */
-
- *pwc= ((s[0] & 3) << 18) + (s[1] << 10) +
- ((s[2] & 3) << 8) + s[3] + 0x10000;
-
- return 4;
- }
-
- if (MY_UTF16_LOW_HEAD(*s)) /* Low surrogate part without high part */
- return MY_CS_ILSEQ;
-
- *pwc= (s[0] << 8) + s[1];
- return 2;
-}
-
-
-static int
-my_uni_utf16(CHARSET_INFO *cs __attribute__((unused)),
- my_wc_t wc, uchar *s, uchar *e)
-{
- if (wc <= 0xFFFF)
- {
- if (s + 2 > e)
- return MY_CS_TOOSMALL2;
- if (MY_UTF16_SURROGATE(wc))
- return MY_CS_ILUNI;
- *s++= (uchar) (wc >> 8);
- *s= (uchar) (wc & 0xFF);
- return 2;
- }
-
- if (wc <= 0x10FFFF)
- {
- if (s + 4 > e)
- return MY_CS_TOOSMALL4;
- *s++= (uchar) ((wc-= 0x10000) >> 18) | 0xD8;
- *s++= (uchar) (wc >> 10) & 0xFF;
- *s++= (uchar) ((wc >> 8) & 3) | 0xDC;
- *s= (uchar) wc & 0xFF;
- return 4;
- }
-
- return MY_CS_ILUNI;
-}
-
-
-static inline void
-my_tolower_utf16(MY_UNICASE_INFO **uni_plane, my_wc_t *wc)
-{
- int page= *wc >> 8;
- if (page < 256 && uni_plane[page])
- *wc= uni_plane[page][*wc & 0xFF].tolower;
-}
-
-
-static inline void
-my_toupper_utf16(MY_UNICASE_INFO **uni_plane, my_wc_t *wc)
-{
- int page= *wc >> 8;
- if (page < 256 && uni_plane[page])
- *wc= uni_plane[page][*wc & 0xFF].toupper;
-}
-
-
-static inline void
-my_tosort_utf16(MY_UNICASE_INFO **uni_plane, my_wc_t *wc)
-{
- int page= *wc >> 8;
- if (page < 256)
- {
- if (uni_plane[page])
- *wc= uni_plane[page][*wc & 0xFF].sort;
- }
- else
- {
- *wc= REPLACEMENT_CHAR;
- }
-}
-
-
-static size_t
-my_caseup_utf16(CHARSET_INFO *cs, char *src, size_t srclen,
- char *dst __attribute__((unused)),
- size_t dstlen __attribute__((unused)))
-{
- my_wc_t wc;
- int res;
- char *srcend= src + srclen;
- MY_UNICASE_INFO **uni_plane= cs->caseinfo;
- DBUG_ASSERT(src == dst && srclen == dstlen);
-
- while ((src < srcend) &&
- (res= my_utf16_uni(cs, &wc, (uchar *)src, (uchar*) srcend)) > 0)
- {
- my_toupper_utf16(uni_plane, &wc);
- if (res != my_uni_utf16(cs, wc, (uchar*) src, (uchar*) srcend))
- break;
- src+= res;
- }
- return srclen;
-}
-
-
-static void
-my_hash_sort_utf16(CHARSET_INFO *cs, const uchar *s, size_t slen,
- ulong *n1, ulong *n2)
-{
- my_wc_t wc;
- int res;
- const uchar *e= s+slen;
- MY_UNICASE_INFO **uni_plane= cs->caseinfo;
-
- while (e > s + 1 && e[-1] == ' ' && e[-2] == '\0')
- e-= 2;
-
- while ((s < e) && (res= my_utf16_uni(cs, &wc, (uchar *)s, (uchar*)e)) > 0)
- {
- my_tosort_utf16(uni_plane, &wc);
- n1[0]^= (((n1[0] & 63) + n2[0]) * (wc & 0xFF)) + (n1[0] << 8);
- n2[0]+= 3;
- n1[0]^= (((n1[0] & 63) + n2[0]) * (wc >> 8)) + (n1[0] << 8);
- n2[0]+= 3;
- s+= res;
- }
-}
-
-
-static size_t
-my_casedn_utf16(CHARSET_INFO *cs, char *src, size_t srclen,
- char *dst __attribute__((unused)),
- size_t dstlen __attribute__((unused)))
-{
- my_wc_t wc;
- int res;
- char *srcend= src + srclen;
- MY_UNICASE_INFO **uni_plane= cs->caseinfo;
- DBUG_ASSERT(src == dst && srclen == dstlen);
-
- while ((src < srcend) &&
- (res= my_utf16_uni(cs, &wc, (uchar*) src, (uchar*) srcend)) > 0)
- {
- my_tolower_utf16(uni_plane, &wc);
- if (res != my_uni_utf16(cs, wc, (uchar*) src, (uchar*) srcend))
- break;
- src+= res;
- }
- return srclen;
-}
-
-
-static int
-my_strnncoll_utf16(CHARSET_INFO *cs,
- const uchar *s, size_t slen,
- const uchar *t, size_t tlen,
- my_bool t_is_prefix)
-{
- int s_res, t_res;
- my_wc_t s_wc,t_wc;
- const uchar *se= s + slen;
- const uchar *te= t + tlen;
- MY_UNICASE_INFO **uni_plane= cs->caseinfo;
- LINT_INIT(s_wc);
- LINT_INIT(t_wc);
-
- while (s < se && t < te)
- {
- s_res= my_utf16_uni(cs, &s_wc, s, se);
- t_res= my_utf16_uni(cs, &t_wc, t, te);
-
- if (s_res <= 0 || t_res <= 0)
- {
- /* Incorrect string, compare by char value */
- return my_bincmp(s, se, t, te);
- }
-
- my_tosort_utf16(uni_plane, &s_wc);
- my_tosort_utf16(uni_plane, &t_wc);
-
- if (s_wc != t_wc)
- {
- return s_wc > t_wc ? 1 : -1;
- }
-
- s+= s_res;
- t+= t_res;
- }
- return (int) (t_is_prefix ? (t - te) : ((se - s) - (te - t)));
-}
-
-
-/**
- Compare strings, discarding end space
-
- If one string is shorter as the other, then we space extend the other
- so that the strings have equal length.
-
- This will ensure that the following things hold:
-
- "a" == "a "
- "a\0" < "a"
- "a\0" < "a "
-
- @param cs Character set pinter.
- @param a First string to compare.
- @param a_length Length of 'a'.
- @param b Second string to compare.
- @param b_length Length of 'b'.
-
- IMPLEMENTATION
-
- @return Comparison result.
- @retval Negative number, if a less than b.
- @retval 0, if a is equal to b
- @retval Positive number, if a > b
-*/
-
-static int
-my_strnncollsp_utf16(CHARSET_INFO *cs,
- const uchar *s, size_t slen,
- const uchar *t, size_t tlen,
- my_bool diff_if_only_endspace_difference)
-{
- int res;
- my_wc_t s_wc, t_wc;
- const uchar *se= s + slen, *te= t + tlen;
- MY_UNICASE_INFO **uni_plane= cs->caseinfo;
- LINT_INIT(s_wc);
- LINT_INIT(t_wc);
-
- DBUG_ASSERT((slen % 2) == 0);
- DBUG_ASSERT((tlen % 2) == 0);
-
-#ifndef VARCHAR_WITH_DIFF_ENDSPACE_ARE_DIFFERENT_FOR_UNIQUE
- diff_if_only_endspace_difference= FALSE;
-#endif
-
- while (s < se && t < te)
- {
- int s_res= my_utf16_uni(cs, &s_wc, s, se);
- int t_res= my_utf16_uni(cs, &t_wc, t, te);
-
- if (s_res <= 0 || t_res <= 0)
- {
- /* Incorrect string, compare bytewise */
- return my_bincmp(s, se, t, te);
- }
-
- my_tosort_utf16(uni_plane, &s_wc);
- my_tosort_utf16(uni_plane, &t_wc);
-
- if (s_wc != t_wc)
- {
- return s_wc > t_wc ? 1 : -1;
- }
-
- s+= s_res;
- t+= t_res;
- }
-
- slen= (size_t) (se - s);
- tlen= (size_t) (te - t);
- res= 0;
-
- if (slen != tlen)
- {
- int s_res, swap= 1;
- if (diff_if_only_endspace_difference)
- res= 1; /* Assume 's' is bigger */
- if (slen < tlen)
- {
- slen= tlen;
- s= t;
- se= te;
- swap= -1;
- res= -res;
- }
-
- for ( ; s < se; s+= s_res)
- {
- if ((s_res= my_utf16_uni(cs, &s_wc, s, se)) < 0)
- {
- DBUG_ASSERT(0);
- return 0;
- }
- if (s_wc != ' ')
- return (s_wc < ' ') ? -swap : swap;
- }
- }
- return res;
-}
-
-
-static uint
-my_ismbchar_utf16(CHARSET_INFO *cs __attribute__((unused)),
- const char *b __attribute__((unused)),
- const char *e __attribute__((unused)))
-{
- if (b + 2 > e)
- return 0;
-
- if (MY_UTF16_HIGH_HEAD(*b))
- {
- return (b + 4 <= e) && MY_UTF16_LOW_HEAD(b[2]) ? 4 : 0;
- }
-
- if (MY_UTF16_LOW_HEAD(*b))
- return 0;
-
- return 2;
-}
-
-
-static uint
-my_mbcharlen_utf16(CHARSET_INFO *cs __attribute__((unused)),
- uint c __attribute__((unused)))
-{
- return MY_UTF16_HIGH_HEAD(c) ? 4 : 2;
-}
-
-
-static size_t
-my_numchars_utf16(CHARSET_INFO *cs,
- const char *b, const char *e)
-{
- size_t nchars= 0;
- for ( ; ; nchars++)
- {
- size_t charlen= my_ismbchar_utf16(cs, b, e);
- if (!charlen)
- break;
- b+= charlen;
- }
- return nchars;
-}
-
-
-static size_t
-my_charpos_utf16(CHARSET_INFO *cs,
- const char *b, const char *e, size_t pos)
-{
- const char *b0= b;
- uint charlen;
-
- for ( ; pos; b+= charlen, pos--)
- {
- if (!(charlen= my_ismbchar(cs, b, e)))
- return (e + 2 - b0); /* Error, return pos outside the string */
- }
- return (size_t) (pos ? (e + 2 - b0) : (b - b0));
-}
-
-
-static size_t
-my_well_formed_len_utf16(CHARSET_INFO *cs,
- const char *b, const char *e,
- size_t nchars, int *error)
-{
- const char *b0= b;
- uint charlen;
- *error= 0;
-
- for ( ; nchars; b+= charlen, nchars--)
- {
- if (!(charlen= my_ismbchar(cs, b, e)))
- {
- *error= b < e ? 1 : 0;
- break;
- }
- }
- return (size_t) (b - b0);
-}
-
-
-static int
-my_wildcmp_utf16_ci(CHARSET_INFO *cs,
- const char *str,const char *str_end,
- const char *wildstr,const char *wildend,
- int escape, int w_one, int w_many)
-{
- MY_UNICASE_INFO **uni_plane= cs->caseinfo;
- return my_wildcmp_unicode(cs, str, str_end, wildstr, wildend,
- escape, w_one, w_many, uni_plane);
-}
-
-
-static int
-my_wildcmp_utf16_bin(CHARSET_INFO *cs,
- const char *str,const char *str_end,
- const char *wildstr,const char *wildend,
- int escape, int w_one, int w_many)
-{
- return my_wildcmp_unicode(cs, str, str_end, wildstr, wildend,
- escape, w_one, w_many, NULL);
-}
-
-
-static int
-my_strnncoll_utf16_bin(CHARSET_INFO *cs,
- const uchar *s, size_t slen,
- const uchar *t, size_t tlen,
- my_bool t_is_prefix)
-{
- int s_res,t_res;
- my_wc_t s_wc,t_wc;
- const uchar *se=s+slen;
- const uchar *te=t+tlen;
- LINT_INIT(s_wc);
- LINT_INIT(t_wc);
-
- while ( s < se && t < te )
- {
- s_res= my_utf16_uni(cs,&s_wc, s, se);
- t_res= my_utf16_uni(cs,&t_wc, t, te);
-
- if (s_res <= 0 || t_res <= 0)
- {
- /* Incorrect string, compare by char value */
- return my_bincmp(s, se, t, te);
- }
- if (s_wc != t_wc)
- {
- return s_wc > t_wc ? 1 : -1;
- }
-
- s+= s_res;
- t+= t_res;
- }
- return (int) (t_is_prefix ? (t - te) : ((se - s) - (te - t)));
-}
-
-
-static int
-my_strnncollsp_utf16_bin(CHARSET_INFO *cs,
- const uchar *s, size_t slen,
- const uchar *t, size_t tlen,
- my_bool diff_if_only_endspace_difference)
-{
- int res;
- my_wc_t s_wc, t_wc;
- const uchar *se= s + slen, *te= t + tlen;
- LINT_INIT(s_wc);
- LINT_INIT(t_wc);
-
- DBUG_ASSERT((slen % 2) == 0);
- DBUG_ASSERT((tlen % 2) == 0);
-
-#ifndef VARCHAR_WITH_DIFF_ENDSPACE_ARE_DIFFERENT_FOR_UNIQUE
- diff_if_only_endspace_difference= FALSE;
-#endif
-
- while (s < se && t < te)
- {
- int s_res= my_utf16_uni(cs, &s_wc, s, se);
- int t_res= my_utf16_uni(cs, &t_wc, t, te);
-
- if (s_res <= 0 || t_res <= 0)
- {
- /* Incorrect string, compare bytewise */
- return my_bincmp(s, se, t, te);
- }
-
- if (s_wc != t_wc)
- {
- return s_wc > t_wc ? 1 : -1;
- }
-
- s+= s_res;
- t+= t_res;
- }
-
- slen= (size_t) (se - s);
- tlen= (size_t) (te - t);
- res= 0;
-
- if (slen != tlen)
- {
- int s_res, swap= 1;
- if (diff_if_only_endspace_difference)
- res= 1; /* Assume 's' is bigger */
- if (slen < tlen)
- {
- slen= tlen;
- s= t;
- se= te;
- swap= -1;
- res= -res;
- }
-
- for ( ; s < se; s+= s_res)
- {
- if ((s_res= my_utf16_uni(cs, &s_wc, s, se)) < 0)
- {
- DBUG_ASSERT(0);
- return 0;
- }
- if (s_wc != ' ')
- return (s_wc < ' ') ? -swap : swap;
- }
- }
- return res;
-}
-
-
-static void
-my_hash_sort_utf16_bin(CHARSET_INFO *cs __attribute__((unused)),
- const uchar *key, size_t len,ulong *nr1, ulong *nr2)
-{
- const uchar *pos = key;
-
- key+= len;
-
- while (key > pos + 1 && key[-1] == ' ' && key[-2] == '\0')
- key-= 2;
-
- for (; pos < (uchar*) key ; pos++)
- {
- nr1[0]^= (ulong) ((((uint) nr1[0] & 63) + nr2[0]) *
- ((uint)*pos)) + (nr1[0] << 8);
- nr2[0]+= 3;
- }
-}
-
-
-/**
- Calculate min_str and max_str that ranges a LIKE string.
-
- @param ptr Pointer to LIKE pattern.
- @param ptr_length Length of LIKE pattern.
- @param escape Escape character in LIKE. (Normally '\').
- All escape characters should be removed
- from min_str and max_str.
- @param res_length Length of min_str and max_str.
- @param min_str Smallest case sensitive string that ranges LIKE.
- Should be space padded to res_length.
- @param max_str Largest case sensitive string that ranges LIKE.
- Normally padded with the biggest character sort value.
-
- @return Optimization status.
- @retval FALSE if LIKE pattern can be optimized
- @rerval TRUE if LIKE can't be optimized.
-*/
-
-my_bool
-my_like_range_utf16(CHARSET_INFO *cs,
- const char *ptr, size_t ptr_length,
- pbool escape, pbool w_one, pbool w_many,
- size_t res_length,
- char *min_str,char *max_str,
- size_t *min_length,size_t *max_length)
-{
- const char *end=ptr+ptr_length;
- char *min_org=min_str;
- char *min_end=min_str+res_length;
- size_t charlen= res_length / cs->mbmaxlen;
-
- for ( ; ptr + 1 < end && min_str + 1 < min_end && charlen > 0
- ; ptr+=2, charlen--)
- {
- if (ptr[0] == '\0' && ptr[1] == escape && ptr + 1 < end)
- {
- ptr+=2; /* Skip escape */
- *min_str++= *max_str++ = ptr[0];
- *min_str++= *max_str++ = ptr[1];
- continue;
- }
- if (ptr[0] == '\0' && ptr[1] == w_one) /* '_' in SQL */
- {
- *min_str++= (char) (cs->min_sort_char >> 8);
- *min_str++= (char) (cs->min_sort_char & 255);
- *max_str++= (char) (cs->max_sort_char >> 8);
- *max_str++= (char) (cs->max_sort_char & 255);
- continue;
- }
- if (ptr[0] == '\0' && ptr[1] == w_many) /* '%' in SQL */
- {
- /*
- Calculate length of keys:
- 'a\0\0... is the smallest possible string when we have space expand
- a\ff\ff... is the biggest possible string
- */
- *min_length= ((cs->state & MY_CS_BINSORT) ? (size_t) (min_str - min_org) :
- res_length);
- *max_length= res_length;
- do {
- *min_str++ = 0;
- *min_str++ = 0;
- *max_str++ = (char) (cs->max_sort_char >> 8);
- *max_str++ = (char) (cs->max_sort_char & 255);
- } while (min_str + 1 < min_end);
- return FALSE;
- }
- *min_str++= *max_str++ = ptr[0];
- *min_str++= *max_str++ = ptr[1];
- }
-
- /* Temporary fix for handling w_one at end of string (key compression) */
- {
- char *tmp;
- for (tmp= min_str ; tmp-1 > min_org && tmp[-1] == '\0' && tmp[-2]=='\0';)
- {
- *--tmp=' ';
- *--tmp='\0';
- }
- }
-
- *min_length= *max_length = (size_t) (min_str - min_org);
- while (min_str + 1 < min_end)
- {
- *min_str++ = *max_str++ = '\0';
- *min_str++ = *max_str++ = ' '; /* Because if key compression */
- }
- return FALSE;
-}
-
-
-static MY_COLLATION_HANDLER my_collation_utf16_general_ci_handler =
-{
- NULL, /* init */
- my_strnncoll_utf16,
- my_strnncollsp_utf16,
- my_strnxfrm_unicode,
- my_strnxfrmlen_simple,
- my_like_range_utf16,
- my_wildcmp_utf16_ci,
- my_strcasecmp_mb2_or_mb4,
- my_instr_mb,
- my_hash_sort_utf16,
- my_propagate_simple
-};
-
-
-static MY_COLLATION_HANDLER my_collation_utf16_bin_handler =
-{
- NULL, /* init */
- my_strnncoll_utf16_bin,
- my_strnncollsp_utf16_bin,
- my_strnxfrm_unicode,
- my_strnxfrmlen_simple,
- my_like_range_utf16,
- my_wildcmp_utf16_bin,
- my_strcasecmp_mb2_or_mb4,
- my_instr_mb,
- my_hash_sort_utf16_bin,
- my_propagate_simple
-};
-
-
-MY_CHARSET_HANDLER my_charset_utf16_handler=
-{
- NULL, /* init */
- my_ismbchar_utf16, /* ismbchar */
- my_mbcharlen_utf16, /* mbcharlen */
- my_numchars_utf16,
- my_charpos_utf16,
- my_well_formed_len_utf16,
- my_lengthsp_mb2,
- my_numcells_mb,
- my_utf16_uni, /* mb_wc */
- my_uni_utf16, /* wc_mb */
- my_mb_ctype_mb,
- my_caseup_str_mb2_or_mb4,
- my_casedn_str_mb2_or_mb4,
- my_caseup_utf16,
- my_casedn_utf16,
- my_snprintf_mb2,
- my_l10tostr_mb2_or_mb4,
- my_ll10tostr_mb2_or_mb4,
- my_fill_mb2,
- my_strntol_mb2_or_mb4,
- my_strntoul_mb2_or_mb4,
- my_strntoll_mb2_or_mb4,
- my_strntoull_mb2_or_mb4,
- my_strntod_mb2_or_mb4,
- my_strtoll10_mb2,
- my_strntoull10rnd_mb2_or_mb4,
- my_scan_mb2
-};
-
-
-CHARSET_INFO my_charset_utf16_general_ci=
-{
- 54,0,0, /* number */
- MY_CS_COMPILED|MY_CS_PRIMARY|MY_CS_STRNXFRM|MY_CS_UNICODE|MY_CS_NONASCII,
- "utf16", /* cs name */
- "utf16_general_ci", /* name */
- "UTF-16 Unicode", /* comment */
- NULL, /* tailoring */
- NULL, /* ctype */
- NULL, /* to_lower */
- NULL, /* to_upper */
- NULL, /* sort_order */
- NULL, /* contractions */
- NULL, /* sort_order_big*/
- NULL, /* tab_to_uni */
- NULL, /* tab_from_uni */
- my_unicase_default, /* caseinfo */
- NULL, /* state_map */
- NULL, /* ident_map */
- 1, /* strxfrm_multiply */
- 1, /* caseup_multiply */
- 1, /* casedn_multiply */
- 2, /* mbminlen */
- 4, /* mbmaxlen */
- 0, /* min_sort_char */
- 0xFFFF, /* max_sort_char */
- ' ', /* pad char */
- 0, /* escape_with_backslash_is_dangerous */
- 1, /* levels_for_compare */
- 1, /* levels_for_order */
- &my_charset_utf16_handler,
- &my_collation_utf16_general_ci_handler
-};
-
-
-CHARSET_INFO my_charset_utf16_bin=
-{
- 55,0,0, /* number */
- MY_CS_COMPILED|MY_CS_BINSORT|MY_CS_UNICODE|MY_CS_NONASCII,
- "utf16", /* cs name */
- "utf16_bin", /* name */
- "UTF-16 Unicode", /* comment */
- NULL, /* tailoring */
- NULL, /* ctype */
- NULL, /* to_lower */
- NULL, /* to_upper */
- NULL, /* sort_order */
- NULL, /* contractions */
- NULL, /* sort_order_big*/
- NULL, /* tab_to_uni */
- NULL, /* tab_from_uni */
- my_unicase_default, /* caseinfo */
- NULL, /* state_map */
- NULL, /* ident_map */
- 1, /* strxfrm_multiply */
- 1, /* caseup_multiply */
- 1, /* casedn_multiply */
- 2, /* mbminlen */
- 4, /* mbmaxlen */
- 0, /* min_sort_char */
- 0xFFFF, /* max_sort_char */
- ' ', /* pad char */
- 0, /* escape_with_backslash_is_dangerous */
- 1, /* levels_for_compare */
- 1, /* levels_for_order */
- &my_charset_utf16_handler,
- &my_collation_utf16_bin_handler
-};
-
-#endif /* HAVE_CHARSET_utf16 */
-
-
-#ifdef HAVE_CHARSET_utf32
-
-static int
-my_utf32_uni(CHARSET_INFO *cs __attribute__((unused)),
- my_wc_t *pwc, const uchar *s, const uchar *e)
-{
- if (s + 4 > e)
- return MY_CS_TOOSMALL4;
- *pwc= (s[0] << 24) + (s[1] << 16) + (s[2] << 8) + (s[3]);
- return 4;
-}
-
-
-static int
-my_uni_utf32(CHARSET_INFO *cs __attribute__((unused)),
- my_wc_t wc, uchar *s, uchar *e)
-{
- if (s + 4 > e)
- return MY_CS_TOOSMALL4;
-
- s[0]= (uchar) (wc >> 24);
- s[1]= (uchar) (wc >> 16) & 0xFF;
- s[2]= (uchar) (wc >> 8) & 0xFF;
- s[3]= (uchar) wc & 0xFF;
- return 4;
-}
-
-
-static inline void
-my_tolower_utf32(MY_UNICASE_INFO **uni_plane, my_wc_t *wc)
-{
- int page= *wc >> 8;
- if (page < 256 && uni_plane[page])
- *wc= uni_plane[page][*wc & 0xFF].tolower;
-}
-
-
-static inline void
-my_toupper_utf32(MY_UNICASE_INFO **uni_plane, my_wc_t *wc)
-{
- int page= *wc >> 8;
- if (page < 256 && uni_plane[page])
- *wc= uni_plane[page][*wc & 0xFF].toupper;
-}
-
-
-static inline void
-my_tosort_utf32(MY_UNICASE_INFO **uni_plane, my_wc_t *wc)
-{
- int page= *wc >> 8;
- if (page < 256)
- {
- if (uni_plane[page])
- *wc= uni_plane[page][*wc & 0xFF].sort;
- }
- else
- {
- *wc= REPLACEMENT_CHAR;
- }
-}
-
-
-static size_t
-my_caseup_utf32(CHARSET_INFO *cs, char *src, size_t srclen,
- char *dst __attribute__((unused)),
- size_t dstlen __attribute__((unused)))
-{
- my_wc_t wc;
- int res;
- char *srcend= src + srclen;
- MY_UNICASE_INFO **uni_plane= cs->caseinfo;
- DBUG_ASSERT(src == dst && srclen == dstlen);
-
- while ((src < srcend) &&
- (res= my_utf32_uni(cs, &wc, (uchar *)src, (uchar*) srcend)) > 0)
- {
- my_toupper_utf32(uni_plane, &wc);
- if (res != my_uni_utf32(cs, wc, (uchar*) src, (uchar*) srcend))
- break;
- src+= res;
- }
- return srclen;
-}
-
-
-static inline void
-my_hash_add(ulong *n1, ulong *n2, uint ch)
-{
- n1[0]^= (((n1[0] & 63) + n2[0]) * (ch)) + (n1[0] << 8);
- n2[0]+= 3;
-}
-
-
-static void
-my_hash_sort_utf32(CHARSET_INFO *cs, const uchar *s, size_t slen,
- ulong *n1, ulong *n2)
-{
- my_wc_t wc;
- int res;
- const uchar *e= s + slen;
- MY_UNICASE_INFO **uni_plane= cs->caseinfo;
-
- /* Skip trailing spaces */
- while (e > s + 3 && e[-1] == ' ' && !e[-2] && !e[-3] && !e[-4])
- e-= 4;
-
- while ((res= my_utf32_uni(cs, &wc, (uchar*) s, (uchar*) e)) > 0)
- {
- my_tosort_utf32(uni_plane, &wc);
- my_hash_add(n1, n2, (uint) (wc >> 24));
- my_hash_add(n1, n2, (uint) (wc >> 16) & 0xFF);
- my_hash_add(n1, n2, (uint) (wc >> 8) & 0xFF);
- my_hash_add(n1, n2, (uint) (wc & 0xFF));
- s+= res;
- }
-}
-
-
-static size_t
-my_casedn_utf32(CHARSET_INFO *cs, char *src, size_t srclen,
- char *dst __attribute__((unused)),
- size_t dstlen __attribute__((unused)))
-{
- my_wc_t wc;
- int res;
- char *srcend= src + srclen;
- MY_UNICASE_INFO **uni_plane= cs->caseinfo;
- DBUG_ASSERT(src == dst && srclen == dstlen);
-
- while ((res= my_utf32_uni(cs, &wc, (uchar*) src, (uchar*) srcend)) > 0)
- {
- my_tolower_utf32(uni_plane,&wc);
- if (res != my_uni_utf32(cs, wc, (uchar*) src, (uchar*) srcend))
- break;
- src+= res;
- }
- return srclen;
-}
-
-
-static int
-my_strnncoll_utf32(CHARSET_INFO *cs,
- const uchar *s, size_t slen,
- const uchar *t, size_t tlen,
- my_bool t_is_prefix)
-{
- my_wc_t s_wc,t_wc;
- const uchar *se= s + slen;
- const uchar *te= t + tlen;
- MY_UNICASE_INFO **uni_plane= cs->caseinfo;
- LINT_INIT(s_wc);
- LINT_INIT(t_wc);
-
- while (s < se && t < te)
- {
- int s_res= my_utf32_uni(cs, &s_wc, s, se);
- int t_res= my_utf32_uni(cs, &t_wc, t, te);
-
- if ( s_res <= 0 || t_res <= 0)
- {
- /* Incorrect string, compare by char value */
- return my_bincmp(s, se, t, te);
- }
-
- my_tosort_utf32(uni_plane, &s_wc);
- my_tosort_utf32(uni_plane, &t_wc);
-
- if (s_wc != t_wc)
- {
- return s_wc > t_wc ? 1 : -1;
- }
-
- s+= s_res;
- t+= t_res;
- }
- return (int) (t_is_prefix ? (t - te) : ((se - s) - (te - t)));
-}
-
-
-/**
- Compare strings, discarding end space
-
- If one string is shorter as the other, then we space extend the other
- so that the strings have equal length.
-
- This will ensure that the following things hold:
-
- "a" == "a "
- "a\0" < "a"
- "a\0" < "a "
-
- @param cs Character set pinter.
- @param a First string to compare.
- @param a_length Length of 'a'.
- @param b Second string to compare.
- @param b_length Length of 'b'.
-
- IMPLEMENTATION
-
- @return Comparison result.
- @retval Negative number, if a less than b.
- @retval 0, if a is equal to b
- @retval Positive number, if a > b
-*/
-
-
-static int
-my_strnncollsp_utf32(CHARSET_INFO *cs,
- const uchar *s, size_t slen,
- const uchar *t, size_t tlen,
- my_bool diff_if_only_endspace_difference)
-{
- int res;
- my_wc_t s_wc, t_wc;
- const uchar *se= s + slen, *te= t + tlen;
- MY_UNICASE_INFO **uni_plane= cs->caseinfo;
- LINT_INIT(s_wc);
- LINT_INIT(t_wc);
-
- DBUG_ASSERT((slen % 4) == 0);
- DBUG_ASSERT((tlen % 4) == 0);
-
-#ifndef VARCHAR_WITH_DIFF_ENDSPACE_ARE_DIFFERENT_FOR_UNIQUE
- diff_if_only_endspace_difference= FALSE;
-#endif
-
- while ( s < se && t < te )
- {
- int s_res= my_utf32_uni(cs, &s_wc, s, se);
- int t_res= my_utf32_uni(cs, &t_wc, t, te);
-
- if ( s_res <= 0 || t_res <= 0 )
- {
- /* Incorrect string, compare bytewise */
- return my_bincmp(s, se, t, te);
- }
-
- my_tosort_utf32(uni_plane, &s_wc);
- my_tosort_utf32(uni_plane, &t_wc);
-
- if ( s_wc != t_wc )
- {
- return s_wc > t_wc ? 1 : -1;
- }
-
- s+= s_res;
- t+= t_res;
- }
-
- slen= (size_t) (se - s);
- tlen= (size_t) (te - t);
- res= 0;
-
- if (slen != tlen)
- {
- int s_res, swap= 1;
- if (diff_if_only_endspace_difference)
- res= 1; /* Assume 's' is bigger */
- if (slen < tlen)
- {
- slen= tlen;
- s= t;
- se= te;
- swap= -1;
- res= -res;
- }
-
- for ( ; s < se; s+= s_res)
- {
- if ((s_res= my_utf32_uni(cs, &s_wc, s, se)) < 0)
- {
- DBUG_ASSERT(0);
- return 0;
- }
- if (s_wc != ' ')
- return (s_wc < ' ') ? -swap : swap;
- }
- }
- return res;
-}
-
-
-static size_t
-my_strnxfrmlen_utf32(CHARSET_INFO *cs __attribute__((unused)), size_t len)
-{
- return len / 2;
-}
-
-
-static void
-my_fill_utf32_for_strxfrm(CHARSET_INFO *cs __attribute__((unused)),
- char *s, size_t slen, int fill)
-{
- DBUG_ASSERT(fill <= 0xFFFF);
-
- for ( ; slen > 1; slen-= 2)
- {
- *s++= fill >> 8;
- *s++= fill & 0xFF;
- }
- if (slen)
- *s= 0x00;
-}
-
-
-size_t
-my_strxfrm_pad_desc_and_reverse_utf32(CHARSET_INFO *cs,
- uchar *str, uchar *frmend, uchar *strend,
- uint nweights, uint flags, uint level)
-{
- if (nweights && frmend < strend && (flags & MY_STRXFRM_PAD_WITH_SPACE))
- {
- uint fill_length= min((uint) (strend - frmend), nweights * 2);
- my_fill_utf32_for_strxfrm(cs, (char*) frmend, fill_length, cs->pad_char);
- frmend+= fill_length;
- }
- my_strxfrm_desc_and_reverse(str, frmend, flags, level);
- return frmend - str;
-}
-
-
-static uint
-my_ismbchar_utf32(CHARSET_INFO *cs __attribute__((unused)),
- const char *b __attribute__((unused)),
- const char *e __attribute__((unused)))
-{
- return 4;
-}
-
-
-static uint
-my_mbcharlen_utf32(CHARSET_INFO *cs __attribute__((unused)) ,
- uint c __attribute__((unused)))
-{
- return 4;
-}
-
-
-static int
-my_vsnprintf_utf32(char *dst, size_t n, const char* fmt, va_list ap)
-{
- char *start= dst, *end= dst + n;
- DBUG_ASSERT((n % 4) == 0);
- for (; *fmt ; fmt++)
- {
- if (fmt[0] != '%')
- {
- if (dst >= end) /* End of buffer */
- break;
-
- *dst++= '\0';
- *dst++= '\0';
- *dst++= '\0';
- *dst++= *fmt; /* Copy ordinary char */
- continue;
- }
-
- fmt++;
-
- /* Skip if max size is used (to be compatible with printf) */
- while ( (*fmt>='0' && *fmt<='9') || *fmt == '.' || *fmt == '-')
- fmt++;
-
- if (*fmt == 'l')
- fmt++;
-
- if (*fmt == 's') /* String parameter */
- {
- reg2 char *par= va_arg(ap, char *);
- size_t plen;
- size_t left_len= (size_t)(end - dst);
- if (!par) par= (char*)"(null)";
- plen= strlen(par);
- if (left_len <= plen*4)
- plen= left_len / 4 - 1;
-
- for ( ; plen ; plen--, dst+= 4, par++)
- {
- dst[0]= '\0';
- dst[1]= '\0';
- dst[2]= '\0';
- dst[3]= par[0];
- }
- continue;
- }
- else if (*fmt == 'd' || *fmt == 'u') /* Integer parameter */
- {
- register int iarg;
- char nbuf[16];
- char *pbuf= nbuf;
-
- if ((size_t) (end - dst) < 64)
- break;
- iarg= va_arg(ap, int);
- if (*fmt == 'd')
- int10_to_str((long) iarg, nbuf, -10);
- else
- int10_to_str((long) (uint) iarg,nbuf,10);
-
- for (; pbuf[0]; pbuf++)
- {
- *dst++= '\0';
- *dst++= '\0';
- *dst++= '\0';
- *dst++= *pbuf;
- }
- continue;
- }
-
- /* We come here on '%%', unknown code or too long parameter */
- if (dst == end)
- break;
- *dst++= '\0';
- *dst++= '\0';
- *dst++= '\0';
- *dst++= '%'; /* % used as % or unknown code */
- }
-
- DBUG_ASSERT(dst < end);
- *dst++= '\0';
- *dst++= '\0';
- *dst++= '\0';
- *dst++= '\0'; /* End of errmessage */
- return (size_t) (dst - start - 4);
-}
-
-
-static size_t
-my_snprintf_utf32(CHARSET_INFO *cs __attribute__((unused)),
- char* to, size_t n, const char* fmt, ...)
-{
- va_list args;
- va_start(args,fmt);
- return my_vsnprintf_utf32(to, n, fmt, args);
-}
-
-
-static longlong
-my_strtoll10_utf32(CHARSET_INFO *cs __attribute__((unused)),
- const char *nptr, char **endptr, int *error)
-{
- const char *s, *end, *start, *n_end, *true_end;
- uchar c;
- unsigned long i, j, k;
- ulonglong li;
- int negative;
- ulong cutoff, cutoff2, cutoff3;
-
- s= nptr;
- /* If fixed length string */
- if (endptr)
- {
- /* Make sure string length is even */
- end= s + ((*endptr - s) / 4) * 4;
- while (s < end && !s[0] && !s[1] && !s[2] &&
- (s[3] == ' ' || s[3] == '\t'))
- s+= 4;
- if (s == end)
- goto no_conv;
- }
- else
- {
- /* We don't support null terminated strings in UCS2 */
- goto no_conv;
- }
-
- /* Check for a sign. */
- negative= 0;
- if (!s[0] && !s[1] && !s[2] && s[3] == '-')
- {
- *error= -1; /* Mark as negative number */
- negative= 1;
- s+= 4;
- if (s == end)
- goto no_conv;
- cutoff= MAX_NEGATIVE_NUMBER / LFACTOR2;
- cutoff2= (MAX_NEGATIVE_NUMBER % LFACTOR2) / 100;
- cutoff3= MAX_NEGATIVE_NUMBER % 100;
- }
- else
- {
- *error= 0;
- if (!s[0] && !s[1] && !s[2] && s[3] == '+')
- {
- s+= 4;
- if (s == end)
- goto no_conv;
- }
- cutoff= ULONGLONG_MAX / LFACTOR2;
- cutoff2= ULONGLONG_MAX % LFACTOR2 / 100;
- cutoff3= ULONGLONG_MAX % 100;
- }
-
- /* Handle case where we have a lot of pre-zero */
- if (!s[0] && !s[1] && !s[2] && s[3] == '0')
- {
- i= 0;
- do
- {
- s+= 4;
- if (s == end)
- goto end_i; /* Return 0 */
- }
- while (!s[0] && !s[1] && !s[2] && s[3] == '0');
- n_end= s + 4 * INIT_CNT;
- }
- else
- {
- /* Read first digit to check that it's a valid number */
- if (s[0] || s[1] || s[2] || (c= (s[3]-'0')) > 9)
- goto no_conv;
- i= c;
- s+= 4;
- n_end= s + 4 * (INIT_CNT-1);
- }
-
- /* Handle first 9 digits and store them in i */
- if (n_end > end)
- n_end= end;
- for (; s != n_end ; s+= 4)
- {
- if (s[0] || s[1] || s[2] || (c= (s[3] - '0')) > 9)
- goto end_i;
- i= i * 10 + c;
- }
- if (s == end)
- goto end_i;
-
- /* Handle next 9 digits and store them in j */
- j= 0;
- start= s; /* Used to know how much to shift i */
- n_end= true_end= s + 4 * INIT_CNT;
- if (n_end > end)
- n_end= end;
- do
- {
- if (s[0] || s[1] || s[2] || (c= (s[3] - '0')) > 9)
- goto end_i_and_j;
- j= j * 10 + c;
- s+= 4;
- } while (s != n_end);
- if (s == end)
- {
- if (s != true_end)
- goto end_i_and_j;
- goto end3;
- }
- if (s[0] || s[1] || s[2] || (c= (s[3] - '0')) > 9)
- goto end3;
-
- /* Handle the next 1 or 2 digits and store them in k */
- k=c;
- s+= 4;
- if (s == end || s[0] || s[1] || s[2] || (c= (s[3]-'0')) > 9)
- goto end4;
- k= k * 10 + c;
- s+= 2;
- *endptr= (char*) s;
-
- /* number string should have ended here */
- if (s != end && !s[0] && !s[1] && !s[2] && (c= (s[3] - '0')) <= 9)
- goto overflow;
-
- /* Check that we didn't get an overflow with the last digit */
- if (i > cutoff || (i == cutoff && ((j > cutoff2 || j == cutoff2) &&
- k > cutoff3)))
- goto overflow;
- li= i * LFACTOR2+ (ulonglong) j * 100 + k;
- return (longlong) li;
-
-overflow: /* *endptr is set here */
- *error= MY_ERRNO_ERANGE;
- return negative ? LONGLONG_MIN : (longlong) ULONGLONG_MAX;
-
-end_i:
- *endptr= (char*) s;
- return (negative ? ((longlong) -(long) i) : (longlong) i);
-
-end_i_and_j:
- li= (ulonglong) i * lfactor[(size_t) (s-start) / 4] + j;
- *endptr= (char*) s;
- return (negative ? -((longlong) li) : (longlong) li);
-
-end3:
- li= (ulonglong) i*LFACTOR+ (ulonglong) j;
- *endptr= (char*) s;
- return (negative ? -((longlong) li) : (longlong) li);
-
-end4:
- li= (ulonglong) i*LFACTOR1+ (ulonglong) j * 10 + k;
- *endptr= (char*) s;
- if (negative)
- {
- if (li > MAX_NEGATIVE_NUMBER)
- goto overflow;
- return -((longlong) li);
- }
- return (longlong) li;
-
-no_conv:
- /* There was no number to convert. */
- *error= MY_ERRNO_EDOM;
- *endptr= (char *) nptr;
- return 0;
-}
-
-
-static size_t
-my_numchars_utf32(CHARSET_INFO *cs __attribute__((unused)),
- const char *b, const char *e)
-{
- return (size_t) (e - b) / 4;
-}
-
-
-static size_t
-my_charpos_utf32(CHARSET_INFO *cs __attribute__((unused)),
- const char *b, const char *e, size_t pos)
-{
- size_t string_length= (size_t) (e - b);
- return pos * 4 > string_length ? string_length + 4 : pos * 4;
-}
-
-
-static size_t
-my_well_formed_len_utf32(CHARSET_INFO *cs __attribute__((unused)),
- const char *b, const char *e,
- size_t nchars, int *error)
-{
- /* Ensure string length is divisible by 4 */
- const char *b0= b;
- size_t length= e - b;
- DBUG_ASSERT((length % 4) == 0);
- *error= 0;
- nchars*= 4;
- if (length > nchars)
- {
- length= nchars;
- e= b + nchars;
- }
- for (; b < e; b+= 4)
- {
- /* Don't accept characters greater than U+10FFFF */
- if (b[0] || (uchar) b[1] > 0x10)
- {
- *error= 1;
- return b - b0;
- }
- }
- return length;
-}
-
-
-static
-void my_fill_utf32(CHARSET_INFO *cs,
- char *s, size_t slen, int fill)
-{
- char buf[10];
- uint buflen;
- char *e= s + slen;
-
- DBUG_ASSERT((slen % 4) == 0);
-
- buflen= cs->cset->wc_mb(cs, (my_wc_t) fill, (uchar*) buf,
- (uchar*) buf + sizeof(buf));
- DBUG_ASSERT(buflen == 4);
- while (s < e)
- {
- memcpy(s, buf, 4);
- s+= 4;
- }
-}
-
-
-static size_t
-my_lengthsp_utf32(CHARSET_INFO *cs __attribute__((unused)),
- const char *ptr, size_t length)
-{
- const char *end= ptr + length;
- DBUG_ASSERT((length % 4) == 0);
- while (end > ptr + 3 && end[-1] == ' ' && !end[-2] && !end[-3] && !end[-4])
- end-= 4;
- return (size_t) (end - ptr);
-}
-
-
-static int
-my_wildcmp_utf32_ci(CHARSET_INFO *cs,
- const char *str, const char *str_end,
- const char *wildstr, const char *wildend,
- int escape, int w_one, int w_many)
-{
- MY_UNICASE_INFO **uni_plane= cs->caseinfo;
- return my_wildcmp_unicode(cs, str, str_end, wildstr, wildend,
- escape, w_one, w_many, uni_plane);
-}
-
-
-static int
-my_wildcmp_utf32_bin(CHARSET_INFO *cs,
- const char *str,const char *str_end,
- const char *wildstr,const char *wildend,
- int escape, int w_one, int w_many)
-{
- return my_wildcmp_unicode(cs, str, str_end, wildstr, wildend,
- escape, w_one, w_many, NULL);
-}
-
-
-static int
-my_strnncoll_utf32_bin(CHARSET_INFO *cs,
- const uchar *s, size_t slen,
- const uchar *t, size_t tlen,
- my_bool t_is_prefix)
-{
- my_wc_t s_wc, t_wc;
- const uchar *se= s + slen;
- const uchar *te= t + tlen;
- LINT_INIT(s_wc);
- LINT_INIT(t_wc);
-
- while (s < se && t < te)
- {
- int s_res= my_utf32_uni(cs, &s_wc, s, se);
- int t_res= my_utf32_uni(cs, &t_wc, t, te);
-
- if (s_res <= 0 || t_res <= 0)
- {
- /* Incorrect string, compare by char value */
- return my_bincmp(s, se, t, te);
- }
- if (s_wc != t_wc)
- {
- return s_wc > t_wc ? 1 : -1;
- }
-
- s+= s_res;
- t+= t_res;
- }
- return (int) (t_is_prefix ? (t-te) : ((se - s) - (te - t)));
-}
-
-
-static inline my_wc_t
-my_utf32_get(const uchar *s)
-{
- return
- ((my_wc_t) s[0] << 24) +
- ((my_wc_t) s[1] << 16) +
- ((my_wc_t) s[2] << 8) +
- s[3];
-}
-
-
-static int
-my_strnncollsp_utf32_bin(CHARSET_INFO *cs __attribute__((unused)),
- const uchar *s, size_t slen,
- const uchar *t, size_t tlen,
- my_bool diff_if_only_endspace_difference
- __attribute__((unused)))
-{
- const uchar *se, *te;
- size_t minlen;
-
- DBUG_ASSERT((slen % 4) == 0);
- DBUG_ASSERT((tlen % 4) == 0);
-
- se= s + slen;
- te= t + tlen;
-
- for (minlen= min(slen, tlen); minlen; minlen-= 4)
- {
- my_wc_t s_wc= my_utf32_get(s);
- my_wc_t t_wc= my_utf32_get(t);
- if (s_wc != t_wc)
- return s_wc > t_wc ? 1 : -1;
-
- s+= 4;
- t+= 4;
- }
-
- if (slen != tlen)
- {
- int swap= 1;
- if (slen < tlen)
- {
- s= t;
- se= te;
- swap= -1;
- }
-
- for ( ; s < se ; s+= 4)
- {
- my_wc_t s_wc= my_utf32_get(s);
- if (s_wc != ' ')
- return (s_wc < ' ') ? -swap : swap;
- }
- }
- return 0;
-}
-
-
-/**
- Calculate min_str and max_str that ranges a LIKE string.
-
- @param ptr Pointer to LIKE pattern.
- @param ptr_length Length of LIKE pattern.
- @param escape Escape character in LIKE. (Normally '\').
- All escape characters should be removed
- from min_str and max_str.
- @param res_length Length of min_str and max_str.
- @param min_str Smallest case sensitive string that ranges LIKE.
- Should be space padded to res_length.
- @param max_str Largest case sensitive string that ranges LIKE.
- Normally padded with the biggest character sort value.
-
- @return Optimization status.
- @retval FALSE if LIKE pattern can be optimized
- @rerval TRUE if LIKE can't be optimized.
-*/
-
-my_bool
-my_like_range_utf32(CHARSET_INFO *cs,
- const char *ptr, size_t ptr_length,
- pbool escape, pbool w_one, pbool w_many,
- size_t res_length,
- char *min_str,char *max_str,
- size_t *min_length,size_t *max_length)
-{
- const char *end= ptr + ptr_length;
- char *min_org= min_str;
- char *min_end= min_str + res_length;
- char *max_end= max_str + res_length;
- size_t charlen= res_length / cs->mbmaxlen;
-
- DBUG_ASSERT((res_length % 4) == 0);
-
- for ( ; charlen > 0; ptr+= 4, charlen--)
- {
- my_wc_t wc;
- int res;
- if ((res= my_utf32_uni(cs, &wc, ptr, end)) < 0)
- {
- my_fill_utf32(cs, min_str, min_end - min_str, cs->min_sort_char);
- my_fill_utf32(cs, max_str, min_end - min_str, cs->max_sort_char);
- /* min_length and max_legnth are not important */
- return TRUE;
- }
-
- if (wc == (my_wc_t) escape)
- {
- ptr+= 4; /* Skip escape */
- if ((res= my_utf32_uni(cs, &wc, ptr, end)) < 0)
- {
- my_fill_utf32(cs, min_str, min_end - min_str, cs->min_sort_char);
- my_fill_utf32(cs, max_str, max_end - min_str, cs->max_sort_char);
- /* min_length and max_length are not important */
- return TRUE;
- }
- if (my_uni_utf32(cs, wc, min_str, min_end) != 4 ||
- my_uni_utf32(cs, wc, max_str, max_end) != 4)
- goto pad_set_lengths;
- *min_str++= 4;
- *max_str++= 4;
- continue;
- }
-
- if (wc == (my_wc_t) w_one)
- {
- if (my_uni_utf32(cs, cs->min_sort_char, min_str, min_end) != 4 ||
- my_uni_utf32(cs, cs->max_sort_char, max_str, max_end) != 4)
- goto pad_set_lengths;
- min_str+= 4;
- max_str+= 4;
- continue;
- }
-
- if (wc == (my_wc_t) w_many)
- {
- /*
- Calculate length of keys:
- 'a\0\0... is the smallest possible string when we have space expand
- a\ff\ff... is the biggest possible string
- */
- *min_length= ((cs->state & MY_CS_BINSORT) ?
- (size_t) (min_str - min_org) :
- res_length);
- *max_length= res_length;
- goto pad_min_max;
- }
-
- /* Normal character */
- if (my_uni_utf32(cs, wc, min_str, min_end) != 4 ||
- my_uni_utf32(cs, wc, max_str, max_end) != 4)
- goto pad_set_lengths;
- min_str+= 4;
- max_str+= 4;
- }
-
-pad_set_lengths:
- *min_length= *max_length= (size_t) (min_str - min_org);
-
-pad_min_max:
- my_fill_utf32(cs, min_str, min_end - min_str, cs->min_sort_char);
- my_fill_utf32(cs, max_str, max_end - max_str, cs->max_sort_char);
- return FALSE;
-}
-
-
-static size_t
-my_scan_utf32(CHARSET_INFO *cs,
- const char *str, const char *end, int sequence_type)
-{
- const char *str0= str;
-
- switch (sequence_type)
- {
- case MY_SEQ_SPACES:
- for ( ; str < end; )
- {
- my_wc_t wc;
- int res= my_utf32_uni(cs, &wc, str, end);
- if (res < 0 || wc != ' ')
- break;
- str+= res;
- }
- return (size_t) (str - str0);
- default:
- return 0;
- }
-}
-
-
-static MY_COLLATION_HANDLER my_collation_utf32_general_ci_handler =
-{
- NULL, /* init */
- my_strnncoll_utf32,
- my_strnncollsp_utf32,
- my_strnxfrm_unicode,
- my_strnxfrmlen_utf32,
- my_like_range_utf32,
- my_wildcmp_utf32_ci,
- my_strcasecmp_mb2_or_mb4,
- my_instr_mb,
- my_hash_sort_utf32,
- my_propagate_simple
-};
-
-
-static MY_COLLATION_HANDLER my_collation_utf32_bin_handler =
-{
- NULL, /* init */
- my_strnncoll_utf32_bin,
- my_strnncollsp_utf32_bin,
- my_strnxfrm_unicode,
- my_strnxfrmlen_utf32,
- my_like_range_utf32,
- my_wildcmp_utf32_bin,
- my_strcasecmp_mb2_or_mb4,
- my_instr_mb,
- my_hash_sort_utf32,
- my_propagate_simple
-};
-
-
-MY_CHARSET_HANDLER my_charset_utf32_handler=
-{
- NULL, /* init */
- my_ismbchar_utf32,
- my_mbcharlen_utf32,
- my_numchars_utf32,
- my_charpos_utf32,
- my_well_formed_len_utf32,
- my_lengthsp_utf32,
- my_numcells_mb,
- my_utf32_uni,
- my_uni_utf32,
- my_mb_ctype_mb,
- my_caseup_str_mb2_or_mb4,
- my_casedn_str_mb2_or_mb4,
- my_caseup_utf32,
- my_casedn_utf32,
- my_snprintf_utf32,
- my_l10tostr_mb2_or_mb4,
- my_ll10tostr_mb2_or_mb4,
- my_fill_utf32,
- my_strntol_mb2_or_mb4,
- my_strntoul_mb2_or_mb4,
- my_strntoll_mb2_or_mb4,
- my_strntoull_mb2_or_mb4,
- my_strntod_mb2_or_mb4,
- my_strtoll10_utf32,
- my_strntoull10rnd_mb2_or_mb4,
- my_scan_utf32
-};
-
-
-CHARSET_INFO my_charset_utf32_general_ci=
-{
- 60,0,0, /* number */
- MY_CS_COMPILED|MY_CS_PRIMARY|MY_CS_STRNXFRM|MY_CS_UNICODE|MY_CS_NONASCII,
- "utf32", /* cs name */
- "utf32_general_ci", /* name */
- "UTF-32 Unicode", /* comment */
- NULL, /* tailoring */
- NULL, /* ctype */
- NULL, /* to_lower */
- NULL, /* to_upper */
- NULL, /* sort_order */
- NULL, /* contractions */
- NULL, /* sort_order_big*/
- NULL, /* tab_to_uni */
- NULL, /* tab_from_uni */
- my_unicase_default, /* caseinfo */
- NULL, /* state_map */
- NULL, /* ident_map */
- 1, /* strxfrm_multiply */
- 1, /* caseup_multiply */
- 1, /* casedn_multiply */
- 4, /* mbminlen */
- 4, /* mbmaxlen */
- 0, /* min_sort_char */
- 0xFFFF, /* max_sort_char */
- ' ', /* pad char */
- 0, /* escape_with_backslash_is_dangerous */
- 1, /* levels_for_compare */
- 1, /* levels_for_order */
- &my_charset_utf32_handler,
- &my_collation_utf32_general_ci_handler
-};
-
-
-CHARSET_INFO my_charset_utf32_bin=
-{
- 61,0,0, /* number */
- MY_CS_COMPILED|MY_CS_BINSORT|MY_CS_UNICODE|MY_CS_NONASCII,
- "utf32", /* cs name */
- "utf32_bin", /* name */
- "UTF-32 Unicode", /* comment */
- NULL, /* tailoring */
- NULL, /* ctype */
- NULL, /* to_lower */
- NULL, /* to_upper */
- NULL, /* sort_order */
- NULL, /* contractions */
- NULL, /* sort_order_big*/
- NULL, /* tab_to_uni */
- NULL, /* tab_from_uni */
- my_unicase_default, /* caseinfo */
- NULL, /* state_map */
- NULL, /* ident_map */
- 1, /* strxfrm_multiply */
- 1, /* caseup_multiply */
- 1, /* casedn_multiply */
- 4, /* mbminlen */
- 4, /* mbmaxlen */
- 0, /* min_sort_char */
- 0xFFFF, /* max_sort_char */
- ' ', /* pad char */
- 0, /* escape_with_backslash_is_dangerous */
- 1, /* levels_for_compare */
- 1, /* levels_for_order */
- &my_charset_utf32_handler,
- &my_collation_utf32_bin_handler
-};
-
-
-#endif /* HAVE_CHARSET_utf32 */
-
-
#ifdef HAVE_CHARSET_ucs2
static uchar ctype_ucs2[] = {
=== modified file 'strings/ctype-utf8.c'
--- a/strings/ctype-utf8.c 2008-07-23 09:43:50 +0000
+++ b/strings/ctype-utf8.c 2009-06-02 18:04:09 +0000
@@ -48,14 +48,6 @@
#define HAVE_UNIDATA
#endif
-#ifdef HAVE_CHARSET_utf16
-#define HAVE_UNIDATA
-#endif
-
-#ifdef HAVE_CHARSET_utf32
-#define HAVE_UNIDATA
-#endif
-
#ifdef HAVE_UNIDATA
#include "my_uctype.h"
@@ -2021,867 +2013,6 @@ my_strnxfrm_unicode(CHARSET_INFO *cs,
#endif
-#ifdef HAVE_CHARSET_utf8mb4
-
-/*
- We consider bytes with code more than 127 as a letter.
- This garantees that word boundaries work fine with regular
- expressions. Note, there is no need to mark byte 255 as a
- letter, it is illegal byte in UTF8.
-*/
-static uchar ctype_utf8mb4[]=
-{
- 0,
- 32, 32, 32, 32, 32, 32, 32, 32, 32, 40, 40, 40, 40, 40, 32, 32,
- 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32,
- 72, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16,
- 132,132,132,132,132,132,132,132,132,132, 16, 16, 16, 16, 16, 16,
- 16,129,129,129,129,129,129, 1, 1, 1, 1, 1, 1, 1, 1, 1,
- 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 16, 16, 16, 16, 16,
- 16,130,130,130,130,130,130, 2, 2, 2, 2, 2, 2, 2, 2, 2,
- 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 16, 16, 16, 16, 32,
- 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
- 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
- 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
- 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
- 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
- 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
- 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
- 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 0
-};
-
-
-static uchar to_lower_utf8mb4[]=
-{
- 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
- 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31,
- 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47,
- 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63,
- 64, 97, 98, 99,100,101,102,103,104,105,106,107,108,109,110,111,
- 112,113,114,115,116,117,118,119,120,121,122, 91, 92, 93, 94, 95,
- 96, 97, 98, 99,100,101,102,103,104,105,106,107,108,109,110,111,
- 112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,
- 128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,
- 144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,
- 160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,
- 176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,
- 192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,
- 208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,
- 224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,
- 240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255
-};
-
-
-static uchar to_upper_utf8mb4[]=
-{
- 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
- 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31,
- 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47,
- 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63,
- 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79,
- 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95,
- 96, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79,
- 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90,123,124,125,126,127,
- 128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,
- 144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,
- 160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,
- 176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,
- 192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,
- 208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,
- 224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,
- 240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255
-};
-
-
-static inline int
-bincmp_utf8mb4(const uchar *s, const uchar *se,
- const uchar *t, const uchar *te)
-{
- int slen= (int) (se - s), tlen= (int) (te - t);
- int len= min(slen, tlen);
- int cmp= memcmp(s, t, len);
- return cmp ? cmp : slen - tlen;
-}
-
-
-static int
-my_mb_wc_utf8mb4(CHARSET_INFO *cs __attribute__((unused)),
- my_wc_t * pwc, const uchar *s, const uchar *e)
-{
- uchar c;
-
- if (s >= e)
- return MY_CS_TOOSMALL;
-
- c= s[0];
- if (c < 0x80)
- {
- *pwc= c;
- return 1;
- }
- else if (c < 0xc2)
- return MY_CS_ILSEQ;
- else if (c < 0xe0)
- {
- if (s + 2 > e) /* We need 2 characters */
- return MY_CS_TOOSMALL2;
-
- if (!((s[1] ^ 0x80) < 0x40))
- return MY_CS_ILSEQ;
-
- *pwc= ((my_wc_t) (c & 0x1f) << 6) | (my_wc_t) (s[1] ^ 0x80);
- return 2;
- }
- else if (c < 0xf0)
- {
- if (s + 3 > e) /* We need 3 characters */
- return MY_CS_TOOSMALL3;
-
- if (!((s[1] ^ 0x80) < 0x40 && (s[2] ^ 0x80) < 0x40 &&
- (c >= 0xe1 || s[1] >= 0xa0)))
- return MY_CS_ILSEQ;
-
- *pwc= ((my_wc_t) (c & 0x0f) << 12) |
- ((my_wc_t) (s[1] ^ 0x80) << 6) |
- (my_wc_t) (s[2] ^ 0x80);
- return 3;
- }
- else if (c < 0xf5)
- {
- if (s + 4 > e) /* We need 4 characters */
- return MY_CS_TOOSMALL4;
-
- /*
- UTF-8 quick four-byte mask:
- 11110xxx 10xxxxxx 10xxxxxx 10xxxxxx
- Encoding allows to encode U+00010000..U+001FFFFF
-
- The maximum character defined in the Unicode standard is U+0010FFFF.
- Higher characters U+00110000..U+001FFFFF are not used.
-
- 11110000.10010000.10xxxxxx.10xxxxxx == F0.90.80.80 == U+00010000 (min)
- 11110100.10001111.10111111.10111111 == F4.8F.BF.BF == U+0010FFFF (max)
-
- Valid codes:
- [F0][90..BF][80..BF][80..BF]
- [F1][80..BF][80..BF][80..BF]
- [F2][80..BF][80..BF][80..BF]
- [F3][80..BF][80..BF][80..BF]
- [F4][80..8F][80..BF][80..BF]
- */
-
- if (!((s[1] ^ 0x80) < 0x40 &&
- (s[2] ^ 0x80) < 0x40 &&
- (s[3] ^ 0x80) < 0x40 &&
- (c >= 0xf1 || s[1] >= 0x90) &&
- (c <= 0xf3 || s[1] <= 0x8F)))
- return MY_CS_ILSEQ;
- *pwc = ((my_wc_t) (c & 0x07) << 18) |
- ((my_wc_t) (s[1] ^ 0x80) << 12) |
- ((my_wc_t) (s[2] ^ 0x80) << 6) |
- (my_wc_t) (s[3] ^ 0x80);
- return 4;
- }
- return MY_CS_ILSEQ;
-}
-
-
-/*
- The same as above, but without range check
- for example, for a null-terminated string
-*/
-static int
-my_mb_wc_utf8mb4_no_range(CHARSET_INFO *cs __attribute__((unused)),
- my_wc_t *pwc, const uchar *s)
-{
- uchar c;
-
- c= s[0];
- if (c < 0x80)
- {
- *pwc = c;
- return 1;
- }
-
- if (c < 0xc2)
- return MY_CS_ILSEQ;
-
- if (c < 0xe0)
- {
- if (!((s[1] ^ 0x80) < 0x40))
- return MY_CS_ILSEQ;
-
- *pwc = ((my_wc_t) (c & 0x1f) << 6) | (my_wc_t) (s[1] ^ 0x80);
- return 2;
- }
-
- if (c < 0xf0)
- {
- if (!((s[1] ^ 0x80) < 0x40 &&
- (s[2] ^ 0x80) < 0x40 &&
- (c >= 0xe1 || s[1] >= 0xa0)))
- return MY_CS_ILSEQ;
- *pwc= ((my_wc_t) (c & 0x0f) << 12) |
- ((my_wc_t) (s[1] ^ 0x80) << 6) |
- (my_wc_t) (s[2] ^ 0x80);
-
- return 3;
- }
- else if (c < 0xf5)
- {
- if (!((s[1] ^ 0x80) < 0x40 &&
- (s[2] ^ 0x80) < 0x40 &&
- (s[3] ^ 0x80) < 0x40 &&
- (c >= 0xf1 || s[1] >= 0x90) &&
- (c <= 0xf3 || s[1] <= 0x8F)))
- return MY_CS_ILSEQ;
- *pwc = ((my_wc_t) (c & 0x07) << 18) |
- ((my_wc_t) (s[1] ^ 0x80) << 12) |
- ((my_wc_t) (s[2] ^ 0x80) << 6) |
- (my_wc_t) (s[3] ^ 0x80);
- return 4;
- }
- return MY_CS_ILSEQ;
-}
-
-
-static int
-my_wc_mb_utf8mb4(CHARSET_INFO *cs __attribute__((unused)),
- my_wc_t wc, uchar *r, uchar *e)
-{
- int count;
-
- if (r >= e)
- return MY_CS_TOOSMALL;
-
- if (wc < 0x80)
- count= 1;
- else if (wc < 0x800)
- count= 2;
- else if (wc < 0x10000)
- count= 3;
- else if (wc < 0x200000)
- count= 4;
- else return MY_CS_ILUNI;
-
- if (r + count > e)
- return MY_CS_TOOSMALLN(count);
-
- switch (count) {
- /* Fall through all cases!!! */
- case 4: r[3] = (uchar) (0x80 | (wc & 0x3f)); wc = wc >> 6; wc |= 0x10000;
- case 3: r[2] = (uchar) (0x80 | (wc & 0x3f)); wc = wc >> 6; wc |= 0x800;
- case 2: r[1] = (uchar) (0x80 | (wc & 0x3f)); wc = wc >> 6; wc |= 0xc0;
- case 1: r[0] = (uchar) wc;
- }
- return count;
-}
-
-
-/*
- The same as above, but without range check.
-*/
-static int
-my_wc_mb_utf8mb4_no_range(CHARSET_INFO *cs __attribute__((unused)),
- my_wc_t wc, uchar *r)
-{
- int count;
-
- if (wc < 0x80)
- count= 1;
- else if (wc < 0x800)
- count= 2;
- else if (wc < 0x10000)
- count= 3;
- else if (wc < 0x200000)
- count= 4;
- else
- return MY_CS_ILUNI;
-
- switch (count)
- {
- /* Fall through all cases!!! */
- case 4: r[3]= (uchar) (0x80 | (wc & 0x3f)); wc= wc >> 6; wc |= 0x10000;
- case 3: r[2]= (uchar) (0x80 | (wc & 0x3f)); wc= wc >> 6; wc |= 0x800;
- case 2: r[1]= (uchar) (0x80 | (wc & 0x3f)); wc= wc >> 6; wc |= 0xc0;
- case 1: r[0]= (uchar) wc;
- }
- return count;
-}
-
-
-static inline void
-my_tolower_utf8mb4(MY_UNICASE_INFO **uni_plane, my_wc_t *wc)
-{
- int page= *wc >> 8;
- if (page < 256 && uni_plane[page])
- *wc= uni_plane[page][*wc & 0xFF].tolower;
-}
-
-
-static inline void
-my_toupper_utf8mb4(MY_UNICASE_INFO **uni_plane, my_wc_t *wc)
-{
- int page= *wc >> 8;
- if (page < 256 && uni_plane[page])
- *wc= uni_plane[page][*wc & 0xFF].toupper;
-}
-
-
-static size_t
-my_caseup_utf8mb4(CHARSET_INFO *cs, char *src, size_t srclen,
- char *dst, size_t dstlen)
-{
- my_wc_t wc;
- int srcres, dstres;
- char *srcend= src + srclen, *dstend= dst + dstlen, *dst0= dst;
- MY_UNICASE_INFO **uni_plane= cs->caseinfo;
- DBUG_ASSERT(src != dst || cs->caseup_multiply == 1);
-
- while ((src < srcend) &&
- (srcres= my_mb_wc_utf8mb4(cs, &wc,
- (uchar *) src, (uchar*) srcend)) > 0)
- {
- my_toupper_utf8mb4(uni_plane, &wc);
- if ((dstres= my_wc_mb_utf8mb4(cs, wc, (uchar*) dst, (uchar*) dstend)) <= 0)
- break;
- src+= srcres;
- dst+= dstres;
- }
- return (size_t) (dst - dst0);
-}
-
-
-static inline void
-my_hash_add(ulong *n1, ulong *n2, uint ch)
-{
- n1[0]^= (((n1[0] & 63) + n2[0]) * (ch)) + (n1[0] << 8);
- n2[0]+= 3;
-}
-
-
-static void
-my_hash_sort_utf8mb4(CHARSET_INFO *cs, const uchar *s, size_t slen,
- ulong *n1, ulong *n2)
-{
- my_wc_t wc;
- int res;
- const uchar *e= s + slen;
- MY_UNICASE_INFO **uni_plane= cs->caseinfo;
-
- /*
- Remove end space. We do this to be able to compare
- 'A ' and 'A' as identical
- */
- while (e > s && e[-1] == ' ')
- e--;
-
- while ((res= my_mb_wc_utf8mb4(cs, &wc, (uchar*) s, (uchar*) e)) > 0)
- {
- my_tosort_unicode(uni_plane, &wc);
- my_hash_add(n1, n2, (uint) (wc & 0xFF));
- my_hash_add(n1, n2, (uint) (wc >> 8) & 0xFF);
- if (wc > 0xFFFF)
- {
- /*
- Put the highest byte only if it is non-zero,
- to make hash functions for utf8mb3 and utf8mb4
- compatible for BMP characters.
- This is useful to keep order of records in
- test results, e.g. for "SHOW GRANTS".
- */
- my_hash_add(n1, n2, (uint) (wc >> 16) & 0xFF);
- }
- s+= res;
- }
-}
-
-
-static size_t
-my_caseup_str_utf8mb4(CHARSET_INFO *cs, char *src)
-{
- my_wc_t wc;
- int srcres, dstres;
- char *dst= src, *dst0= src;
- MY_UNICASE_INFO **uni_plane= cs->caseinfo;
- DBUG_ASSERT(cs->caseup_multiply == 1);
-
- while (*src &&
- (srcres= my_mb_wc_utf8mb4_no_range(cs, &wc, (uchar *) src)) > 0)
- {
- my_toupper_utf8mb4(uni_plane, &wc);
- if ((dstres= my_wc_mb_utf8mb4_no_range(cs, wc, (uchar*) dst)) <= 0)
- break;
- src+= srcres;
- dst+= dstres;
- }
- *dst= '\0';
- return (size_t) (dst - dst0);
-}
-
-
-static size_t
-my_casedn_utf8mb4(CHARSET_INFO *cs,
- char *src, size_t srclen,
- char *dst, size_t dstlen)
-{
- my_wc_t wc;
- int srcres, dstres;
- char *srcend= src + srclen, *dstend= dst + dstlen, *dst0= dst;
- MY_UNICASE_INFO **uni_plane= cs->caseinfo;
- DBUG_ASSERT(src != dst || cs->casedn_multiply == 1);
-
- while ((src < srcend) &&
- (srcres= my_mb_wc_utf8mb4(cs, &wc,
- (uchar*) src, (uchar*) srcend)) > 0)
- {
- my_tolower_utf8mb4(uni_plane, &wc);
- if ((dstres= my_wc_mb_utf8mb4(cs, wc, (uchar*) dst, (uchar*) dstend)) <= 0)
- break;
- src+= srcres;
- dst+= dstres;
- }
- return (size_t) (dst - dst0);
-}
-
-
-static size_t
-my_casedn_str_utf8mb4(CHARSET_INFO *cs, char *src)
-{
- my_wc_t wc;
- int srcres, dstres;
- char *dst= src, *dst0= src;
- MY_UNICASE_INFO **uni_plane= cs->caseinfo;
- DBUG_ASSERT(cs->casedn_multiply == 1);
-
- while (*src &&
- (srcres= my_mb_wc_utf8mb4_no_range(cs, &wc, (uchar *) src)) > 0)
- {
- my_tolower_utf8mb4(uni_plane, &wc);
- if ((dstres= my_wc_mb_utf8mb4_no_range(cs, wc, (uchar*) dst)) <= 0)
- break;
- src+= srcres;
- dst+= dstres;
- }
-
- /*
- In rare cases lower string can be shorter than
- the original string, for example:
-
- "U+0130 LATIN CAPITAL LETTER I WITH DOT ABOVE"
- (which is 0xC4B0 in utf8, i.e. two bytes)
-
- is converted into
-
- "U+0069 LATIN SMALL LETTER I"
- (which is 0x69 in utf8, i.e. one byte)
-
- So, we need to put '\0' terminator after converting.
- */
-
- *dst= '\0';
- return (size_t) (dst - dst0);
-}
-
-
-static int
-my_strnncoll_utf8mb4(CHARSET_INFO *cs,
- const uchar *s, size_t slen,
- const uchar *t, size_t tlen,
- my_bool t_is_prefix)
-{
- my_wc_t s_wc,t_wc;
- const uchar *se= s + slen;
- const uchar *te= t + tlen;
- MY_UNICASE_INFO **uni_plane= cs->caseinfo;
- LINT_INIT(s_wc);
- LINT_INIT(t_wc);
-
- while ( s < se && t < te )
- {
- int s_res= my_mb_wc_utf8mb4(cs, &s_wc, s, se);
- int t_res= my_mb_wc_utf8mb4(cs, &t_wc, t, te);
-
- if ( s_res <= 0 || t_res <= 0 )
- {
- /* Incorrect string, compare bytewise */
- return bincmp_utf8mb4(s, se, t, te);
- }
-
- my_tosort_unicode(uni_plane, &s_wc);
- my_tosort_unicode(uni_plane, &t_wc);
-
- if ( s_wc != t_wc )
- {
- return s_wc > t_wc ? 1 : -1;
- }
-
- s+= s_res;
- t+= t_res;
- }
- return (int) (t_is_prefix ? (t - te) : ((se - s) - (te - t)));
-}
-
-
-/**
- Compare strings, discarding end space
-
- If one string is shorter as the other, then we space extend the other
- so that the strings have equal length.
-
- This will ensure that the following things hold:
-
- "a" == "a "
- "a\0" < "a"
- "a\0" < "a "
-
- @param cs Character set pinter.
- @param a First string to compare.
- @param a_length Length of 'a'.
- @param b Second string to compare.
- @param b_length Length of 'b'.
- @param diff_if_only_endspace_difference
- Set to 1 if the strings should be regarded as different
- if they only difference in end space
-
- @return Comparison result.
- @retval Negative number, if a less than b.
- @retval 0, if a is equal to b
- @retval Positive number, if a > b
-*/
-
-static int
-my_strnncollsp_utf8mb4(CHARSET_INFO *cs,
- const uchar *s, size_t slen,
- const uchar *t, size_t tlen,
- my_bool diff_if_only_endspace_difference)
-{
- int res;
- my_wc_t s_wc, t_wc;
- const uchar *se= s + slen, *te= t + tlen;
- MY_UNICASE_INFO **uni_plane= cs->caseinfo;
- LINT_INIT(s_wc);
- LINT_INIT(t_wc);
-
-#ifndef VARCHAR_WITH_DIFF_ENDSPACE_ARE_DIFFERENT_FOR_UNIQUE
- diff_if_only_endspace_difference= FALSE;
-#endif
-
- while ( s < se && t < te )
- {
- int s_res= my_mb_wc_utf8mb4(cs, &s_wc, s, se);
- int t_res= my_mb_wc_utf8mb4(cs, &t_wc, t, te);
-
- if ( s_res <= 0 || t_res <= 0 )
- {
- /* Incorrect string, compare bytewise */
- return bincmp_utf8mb4(s, se, t, te);
- }
-
- my_tosort_unicode(uni_plane, &s_wc);
- my_tosort_unicode(uni_plane, &t_wc);
-
- if ( s_wc != t_wc )
- {
- return s_wc > t_wc ? 1 : -1;
- }
-
- s+=s_res;
- t+=t_res;
- }
-
- slen= (size_t) (se-s);
- tlen= (size_t) (te-t);
- res= 0;
-
- if (slen != tlen)
- {
- int swap= 1;
- if (diff_if_only_endspace_difference)
- res= 1; /* Assume 'a' is bigger */
- if (slen < tlen)
- {
- slen= tlen;
- s= t;
- se= te;
- swap= -1;
- res= -res;
- }
- /*
- This following loop uses the fact that in UTF-8
- all multibyte characters are greater than space,
- and all multibyte head characters are greater than
- space. It means if we meet a character greater
- than space, it always means that the longer string
- is greater. So we can reuse the same loop from the
- 8bit version, without having to process full multibute
- sequences.
- */
- for ( ; s < se; s++)
- {
- if (*s != ' ')
- return (*s < ' ') ? -swap : swap;
- }
- }
- return res;
-}
-
-
-/**
- Compare 0-terminated UTF8 strings.
-
- @param cs character set handler
- @param s First 0-terminated string to compare
- @param t Second 0-terminated string to compare
-
- @return Comparison result.
- @retval negative number if s < t
- @retval positive number if s > t
- @retval 0 is the strings are equal
-*/
-
-static int
-my_strcasecmp_utf8mb4(CHARSET_INFO *cs, const char *s, const char *t)
-{
- MY_UNICASE_INFO **uni_plane= cs->caseinfo;
- while (s[0] && t[0])
- {
- my_wc_t s_wc,t_wc;
-
- if ((uchar) s[0] < 128)
- {
- /*
- s[0] is between 0 and 127.
- It represents a single byte character.
- Convert it into weight according to collation.
- */
- s_wc= plane00[(uchar) s[0]].tolower;
- s++;
- }
- else
- {
- int res= my_mb_wc_utf8mb4_no_range(cs, &s_wc, (const uchar*) s);
-
- /*
- In the case of wrong multibyte sequence we will
- call strcmp() for byte-to-byte comparison.
- */
- if (res <= 0)
- return strcmp(s, t);
- s+= res;
-
- my_tolower_utf8mb4(uni_plane, &s_wc);
- }
-
-
- /* Do the same for the second string */
-
- if ((uchar) t[0] < 128)
- {
- /* Convert single byte character into weight */
- t_wc= plane00[(uchar) t[0]].tolower;
- t++;
- }
- else
- {
- int res= my_mb_wc_utf8mb4_no_range(cs, &t_wc, (const uchar*) t);
- if (res <= 0)
- return strcmp(s, t);
- t+= res;
-
- my_tolower_utf8mb4(uni_plane, &t_wc);
- }
-
- /* Now we have two weights, let's compare them */
- if ( s_wc != t_wc )
- return ((int) s_wc) - ((int) t_wc);
- }
- return ((int) (uchar) s[0]) - ((int) (uchar) t[0]);
-}
-
-
-static int
-my_wildcmp_utf8mb4(CHARSET_INFO *cs,
- const char *str, const char *strend,
- const char *wildstr, const char *wildend,
- int escape, int w_one, int w_many)
-{
- return my_wildcmp_unicode(cs, str, strend, wildstr, wildend,
- escape, w_one, w_many, cs->caseinfo);
-}
-
-
-static size_t
-my_strnxfrmlen_utf8mb4(CHARSET_INFO *cs __attribute__((unused)), size_t len)
-{
- /* TODO: fix when working on WL "Unicode new version" */
- return (len * 2 + 2) / 4;
-}
-
-
-static uint
-my_ismbchar_utf8mb4(CHARSET_INFO *cs, const char *b, const char *e)
-{
- my_wc_t wc;
- int res= my_mb_wc_utf8mb4(cs,&wc, (const uchar*)b, (const uchar*)e);
- return (res > 1) ? res : 0;
-}
-
-
-static uint
-my_mbcharlen_utf8mb4(CHARSET_INFO *cs __attribute__((unused)), uint c)
-{
- if (c < 0x80)
- return 1;
- if (c < 0xc2)
- return 0; /* Illegal mb head */
- if (c < 0xe0)
- return 2;
- if (c < 0xf0)
- return 3;
- if (c < 0xf8)
- return 4;
- return 0; /* Illegal mb head */;
-}
-
-
-static MY_COLLATION_HANDLER my_collation_utf8mb4_general_ci_handler=
-{
- NULL, /* init */
- my_strnncoll_utf8mb4,
- my_strnncollsp_utf8mb4,
- my_strnxfrm_unicode,
- my_strnxfrmlen_utf8mb4,
- my_like_range_mb,
- my_wildcmp_utf8mb4,
- my_strcasecmp_utf8mb4,
- my_instr_mb,
- my_hash_sort_utf8mb4,
- my_propagate_complex
-};
-
-
-static MY_COLLATION_HANDLER my_collation_utf8mb4_bin_handler =
-{
- NULL, /* init */
- my_strnncoll_mb_bin,
- my_strnncollsp_mb_bin,
- my_strnxfrm_unicode,
- my_strnxfrmlen_utf8mb4,
- my_like_range_mb,
- my_wildcmp_mb_bin,
- my_strcasecmp_mb_bin,
- my_instr_mb,
- my_hash_sort_mb_bin,
- my_propagate_simple
-};
-
-
-MY_CHARSET_HANDLER my_charset_utf8mb4_handler=
-{
- NULL, /* init */
- my_ismbchar_utf8mb4,
- my_mbcharlen_utf8mb4,
- my_numchars_mb,
- my_charpos_mb,
- my_well_formed_len_mb,
- my_lengthsp_8bit,
- my_numcells_mb,
- my_mb_wc_utf8mb4,
- my_wc_mb_utf8mb4,
- my_mb_ctype_mb,
- my_caseup_str_utf8mb4,
- my_casedn_str_utf8mb4,
- my_caseup_utf8mb4,
- my_casedn_utf8mb4,
- my_snprintf_8bit,
- my_long10_to_str_8bit,
- my_longlong10_to_str_8bit,
- my_fill_8bit,
- my_strntol_8bit,
- my_strntoul_8bit,
- my_strntoll_8bit,
- my_strntoull_8bit,
- my_strntod_8bit,
- my_strtoll10_8bit,
- my_strntoull10rnd_8bit,
- my_scan_8bit
-};
-
-
-
-CHARSET_INFO my_charset_utf8mb4_general_ci=
-{
- 45,0,0, /* number */
- MY_CS_COMPILED|MY_CS_PRIMARY|MY_CS_STRNXFRM|MY_CS_UNICODE, /* state */
- MY_UTF8MB4, /* cs name */
- MY_UTF8MB4_GENERAL_CI,/* name */
- "UTF-8 Unicode", /* comment */
- NULL, /* tailoring */
- ctype_utf8mb4, /* ctype */
- to_lower_utf8mb4, /* to_lower */
- to_upper_utf8mb4, /* to_upper */
- to_upper_utf8mb4, /* sort_order */
- NULL, /* contractions */
- NULL, /* sort_order_big*/
- NULL, /* tab_to_uni */
- NULL, /* tab_from_uni */
- my_unicase_default, /* caseinfo */
- NULL, /* state_map */
- NULL, /* ident_map */
- 1, /* strxfrm_multiply */
- 1, /* caseup_multiply */
- 1, /* casedn_multiply */
- 1, /* mbminlen */
- 4, /* mbmaxlen */
- 0, /* min_sort_char */
- 0xFFFF, /* max_sort_char */
- ' ', /* pad char */
- 0, /* escape_with_backslash_is_dangerous */
- 1, /* levels_for_compare */
- 1, /* levels_for_order */
- &my_charset_utf8mb4_handler,
- &my_collation_utf8mb4_general_ci_handler
-};
-
-
-CHARSET_INFO my_charset_utf8mb4_bin=
-{
- 46,0,0, /* number */
- MY_CS_COMPILED|MY_CS_BINSORT|MY_CS_UNICODE, /* state */
- MY_UTF8MB4, /* cs name */
- MY_UTF8MB4_BIN, /* name */
- "UTF-8 Unicode", /* comment */
- NULL, /* tailoring */
- ctype_utf8mb4, /* ctype */
- to_lower_utf8mb4, /* to_lower */
- to_upper_utf8mb4, /* to_upper */
- NULL, /* sort_order */
- NULL, /* contractions */
- NULL, /* sort_order_big*/
- NULL, /* tab_to_uni */
- NULL, /* tab_from_uni */
- my_unicase_default, /* caseinfo */
- NULL, /* state_map */
- NULL, /* ident_map */
- 1, /* strxfrm_multiply */
- 1, /* caseup_multiply */
- 1, /* casedn_multiply */
- 1, /* mbminlen */
- 4, /* mbmaxlen */
- 0, /* min_sort_char */
- 0xFFFF, /* max_sort_char */
- ' ', /* pad char */
- 0, /* escape_with_backslash_is_dangerous */
- 1, /* levels_for_compare */
- 1, /* levels_for_order */
- &my_charset_utf8mb4_handler,
- &my_collation_utf8mb4_bin_handler
-};
-
-#endif /* HAVE_CHARSET_utf8mb4 */
-
-
#ifdef HAVE_CHARSET_utf8mb3
/*
Attachment: [text/bzr-bundle] bzr/alik@sun.com-20090605084224-ac60bya48p96l949.bundle
| Thread |
|---|
| • bzr push into mysql-5.4 branch (alik:2794) | Alexander Nozdrin | 5 Jun |