List:Commits« Previous MessageNext Message »
From:Alexander Nozdrin Date:June 5 2009 8:43am
Subject:bzr push into mysql-5.4 branch (alik:2794)
View as plain text  
 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 Nozdrin5 Jun