diff options
Diffstat (limited to 'mysql-test/suite/funcs_2/charset/charset_master.test')
-rw-r--r-- | mysql-test/suite/funcs_2/charset/charset_master.test | 705 |
1 files changed, 705 insertions, 0 deletions
diff --git a/mysql-test/suite/funcs_2/charset/charset_master.test b/mysql-test/suite/funcs_2/charset/charset_master.test new file mode 100644 index 00000000..099f44c9 --- /dev/null +++ b/mysql-test/suite/funcs_2/charset/charset_master.test @@ -0,0 +1,705 @@ +################################################################################# +# Author: Serge Kozlov # +# Date: 2005-09-21 # +# Purpose: used by ../t/*_charset.test # +# Require: set $engine_type= [MyISAM,InnoDB,etc] before calling # +# # +# Last modification: Matthias Leich # +# Date: 2008-07-02 # +# Purpose: Fix Bug#37160 funcs_2: The tests do not check if optional character # +# sets exist. # +# Add checking of prerequisites + minor cleanup # +################################################################################# + +set @save_character_set_database= @@character_set_database; + +# +# +# + +# Check that all character sets needed are available +# Note(mleich): +# It is intentional that the common solution with +# "--source include/have_<character set>.inc" +# is not applied. +# - We currently do not have such a prerequisite test for every character set +# /collation needed. +# - There is also no real value in mentioning the first missing character set +# /collation within the "skip message" because it is most probably only +# one of many. +# +# Hint: 5 character_set_names per source line if possible +if (`SELECT COUNT(*) <> 36 FROM information_schema.character_sets + WHERE CHARACTER_SET_NAME IN ( + 'armscii8', 'ascii' , 'big5' , 'binary' , 'cp1250', + 'cp1251' , 'cp1256' , 'cp1257' , 'cp850' , 'cp852' , + 'cp866' , 'cp932' , 'dec8' , 'eucjpms', 'euckr' , + 'gb2312' , 'gbk' , 'geostd8', 'greek' , 'hebrew', + 'hp8' , 'keybcs2', 'koi8r' , 'koi8u' , 'latin1', + 'latin2' , 'latin5' , 'latin7' , 'macce' , 'macroman', + 'sjis' , 'swe7' , 'tis620' , 'ucs2' , 'ujis', + 'utf8mb3' + )`) +{ + --skip Not all character sets required for this test are present +} +# Check that all collations needed are available +# Hint: 4 collation_names per source line if possible +if (`SELECT COUNT(*) <> 123 FROM information_schema.collations +WHERE collation_name IN ( +'armscii8_bin', 'armscii8_general_ci', 'ascii_bin', 'ascii_general_ci', +'big5_bin', 'big5_chinese_ci', 'cp1250_bin', 'cp1250_croatian_ci', +'cp1250_czech_cs', 'cp1250_general_ci', 'cp1251_bin', 'cp1251_bulgarian_ci', +'cp1251_general_ci', 'cp1251_general_cs', 'cp1251_ukrainian_ci', 'cp1256_bin', +'cp1256_general_ci', 'cp1257_bin', 'cp1257_general_ci', 'cp1257_lithuanian_ci', +'cp850_bin', 'cp850_general_ci', 'cp852_bin', 'cp852_general_ci', +'cp866_bin', 'cp866_general_ci', 'cp932_bin', 'cp932_japanese_ci', +'dec8_bin', 'dec8_swedish_ci', 'eucjpms_bin', 'eucjpms_japanese_ci', +'euckr_bin', 'euckr_korean_ci', 'gb2312_bin', 'gb2312_chinese_ci', +'gbk_bin', 'gbk_chinese_ci', 'geostd8_bin', 'geostd8_general_ci', +'greek_bin', 'greek_general_ci', 'hebrew_bin', 'hebrew_general_ci', +'hp8_bin', 'hp8_english_ci', 'keybcs2_bin', 'keybcs2_general_ci', +'koi8r_bin', 'koi8r_general_ci', 'koi8u_bin', 'koi8u_general_ci', +'latin1_bin', 'latin1_danish_ci', 'latin1_general_ci', 'latin1_general_cs', +'latin1_german1_ci', 'latin1_german2_ci', 'latin1_spanish_ci', 'latin1_swedish_ci', +'latin2_bin', 'latin2_croatian_ci', 'latin2_czech_cs', 'latin2_general_ci', +'latin2_hungarian_ci', 'latin5_bin', 'latin5_turkish_ci', 'latin7_bin', +'latin7_estonian_cs', 'latin7_general_ci', 'latin7_general_cs', 'macce_bin', +'macce_general_ci', 'macroman_bin', 'macroman_general_ci', 'sjis_bin', +'sjis_japanese_ci', 'swe7_bin', 'swe7_swedish_ci', 'tis620_bin', +'tis620_thai_ci', 'ucs2_bin', 'ucs2_czech_ci', 'ucs2_danish_ci', +'ucs2_estonian_ci', 'ucs2_general_ci', 'ucs2_hungarian_ci', 'ucs2_icelandic_ci', +'ucs2_latvian_ci', 'ucs2_lithuanian_ci', 'ucs2_persian_ci', 'ucs2_polish_ci', +'ucs2_roman_ci', 'ucs2_romanian_ci', 'ucs2_slovak_ci', 'ucs2_slovenian_ci', +'ucs2_spanish2_ci', 'ucs2_spanish_ci', 'ucs2_swedish_ci', 'ucs2_turkish_ci', +'ucs2_unicode_ci', 'ujis_bin', 'ujis_japanese_ci', 'utf8mb3_bin', +'utf8mb3_czech_ci', 'utf8mb3_danish_ci', 'utf8mb3_estonian_ci', 'utf8mb3_general_ci', +'utf8mb3_hungarian_ci', 'utf8mb3_icelandic_ci', 'utf8mb3_latvian_ci', 'utf8mb3_lithuanian_ci', +'utf8mb3_persian_ci', 'utf8mb3_polish_ci', 'utf8mb3_roman_ci', 'utf8mb3_romanian_ci', +'utf8mb3_slovak_ci', 'utf8mb3_slovenian_ci', 'utf8mb3_spanish2_ci', 'utf8mb3_spanish_ci', +'utf8mb3_swedish_ci', 'utf8mb3_turkish_ci', 'utf8mb3_unicode_ci' +)`) +{ + --skip Not all collations required for this test are present +} + +################################ +let $check_std_csets= 1; +let $check_ucs2_csets= 1; +let $check_utf8mb3_csets= 1; + +# Bug#32784: Timeout in test "innodb_charset": InnoDB much slower +# than other handlers +# NOTE: We turn autocommit off to improve the performance of the innodb variant +# of this test. Per Innobase's recommendation. + +--disable_query_log +SET autocommit=0; +--enable_query_log + +# +# Check all charsets/collation combinations +# + +################################ +let $check_std_csets= 1; +let $check_ucs2_csets= 1; +let $check_utf8mb3_csets= 1; + +# +# Check all charsets/collation combinations +# + +if ($check_std_csets) +{ + +# armscii8 + +let $cset= armscii8; +let $coll= armscii8_bin; +--source suite/funcs_2/include/check_charset.inc + +let $cset= armscii8; +let $coll= armscii8_general_ci; +--source suite/funcs_2/include/check_charset.inc + +# ascii + +let $cset= ascii; +let $coll= ascii_bin; +--source suite/funcs_2/include/check_charset.inc + +let $cset= ascii; +let $coll= ascii_general_ci; +--source suite/funcs_2/include/check_charset.inc + +# big5 + +let $cset= big5; +let $coll= big5_bin; +--source suite/funcs_2/include/check_charset.inc + +let $cset= big5; +let $coll= big5_chinese_ci; +--source suite/funcs_2/include/check_charset.inc + +# binary + +let $cset= binary; +let $coll= ; +let $bin_cset= 1; +--source suite/funcs_2/include/check_charset.inc + +# cp1250 + +let $cset= cp1250; +let $coll= cp1250_bin; +--source suite/funcs_2/include/check_charset.inc + +let $cset= cp1250; +let $coll= cp1250_croatian_ci; +--source suite/funcs_2/include/check_charset.inc + + +let $cset= cp1250; +let $coll= cp1250_czech_cs; +--source suite/funcs_2/include/check_charset.inc + + +let $cset= cp1250; +let $coll= cp1250_general_ci; +--source suite/funcs_2/include/check_charset.inc + +# cp1251 + +let $cset= cp1251; +let $coll= cp1251_bin; +--source suite/funcs_2/include/check_charset.inc + +let $cset= cp1251; +let $coll= cp1251_bulgarian_ci; +--source suite/funcs_2/include/check_charset.inc + +let $cset= cp1251; +let $coll= cp1251_general_ci; +--source suite/funcs_2/include/check_charset.inc + +let $cset= cp1251; +let $coll= cp1251_general_cs; +--source suite/funcs_2/include/check_charset.inc + +let $cset= cp1251; +let $coll= cp1251_ukrainian_ci; +--source suite/funcs_2/include/check_charset.inc + +# cp1256 + +let $cset= cp1256; +let $coll= cp1256_bin; +--source suite/funcs_2/include/check_charset.inc + +let $cset= cp1256; +let $coll= cp1256_general_ci; +--source suite/funcs_2/include/check_charset.inc + +# cp1257 + +let $cset= cp1257; +let $coll= cp1257_bin; +--source suite/funcs_2/include/check_charset.inc + +let $cset= cp1257; +let $coll= cp1257_general_ci; +--source suite/funcs_2/include/check_charset.inc + +let $cset= cp1257; +let $coll= cp1257_lithuanian_ci; +--source suite/funcs_2/include/check_charset.inc + +# cp850 + +let $cset= cp850; +let $coll= cp850_bin; +--source suite/funcs_2/include/check_charset.inc + +let $cset= cp850; +let $coll= cp850_general_ci; +--source suite/funcs_2/include/check_charset.inc + +# cp852 + +let $cset= cp852; +let $coll= cp852_bin; +--source suite/funcs_2/include/check_charset.inc + +let $cset= cp852; +let $coll= cp852_general_ci; +--source suite/funcs_2/include/check_charset.inc + +# cp866 + +let $cset= cp866; +let $coll= cp866_bin; +--source suite/funcs_2/include/check_charset.inc + +let $cset= cp866; +let $coll= cp866_general_ci; +--source suite/funcs_2/include/check_charset.inc + +# cp932 + +let $cset= cp932; +let $coll= cp932_bin; +--source suite/funcs_2/include/check_charset.inc + +let $cset= cp932; +let $coll= cp932_japanese_ci; +--source suite/funcs_2/include/check_charset.inc + +# dec8 + +let $cset= dec8; +let $coll= dec8_bin; +--source suite/funcs_2/include/check_charset.inc + +let $cset= dec8; +let $coll= dec8_swedish_ci; +--source suite/funcs_2/include/check_charset.inc + +# eucjpms + +let $cset= eucjpms; +let $coll= eucjpms_bin; +--source suite/funcs_2/include/check_charset.inc + +let $cset= eucjpms; +let $coll= eucjpms_japanese_ci; +--source suite/funcs_2/include/check_charset.inc + +# euckr + +let $cset= euckr; +let $coll= euckr_bin; +--source suite/funcs_2/include/check_charset.inc + +let $cset= euckr; +let $coll= euckr_korean_ci; +--source suite/funcs_2/include/check_charset.inc + +# gb2312 + +let $cset= gb2312; +let $coll= gb2312_bin; +--source suite/funcs_2/include/check_charset.inc + +let $cset= gb2312; +let $coll= gb2312_chinese_ci; +--source suite/funcs_2/include/check_charset.inc + +# gbk + +let $cset= gbk; +let $coll= gbk_bin; +--source suite/funcs_2/include/check_charset.inc + +let $cset= gbk; +let $coll= gbk_chinese_ci; +--source suite/funcs_2/include/check_charset.inc + +# geostd8 + +let $cset= geostd8; +let $coll= geostd8_bin; +--source suite/funcs_2/include/check_charset.inc + +let $cset= geostd8; +let $coll= geostd8_general_ci; +--source suite/funcs_2/include/check_charset.inc + +# greek + +let $cset= greek; +let $coll= greek_bin; +--source suite/funcs_2/include/check_charset.inc + +let $cset= greek; +let $coll= greek_general_ci; +--source suite/funcs_2/include/check_charset.inc + +# hebrew + +let $cset= hebrew; +let $coll= hebrew_bin; +--source suite/funcs_2/include/check_charset.inc + +let $cset= hebrew; +let $coll= hebrew_general_ci; +--source suite/funcs_2/include/check_charset.inc + +# hp8 + +let $cset= hp8; +let $coll= hp8_bin; +--source suite/funcs_2/include/check_charset.inc + +let $cset= hp8; +let $coll= hp8_english_ci; +--source suite/funcs_2/include/check_charset.inc + +# keybcs2 + +let $cset= keybcs2; +let $coll= keybcs2_bin; +--source suite/funcs_2/include/check_charset.inc + +let $cset= keybcs2; +let $coll= keybcs2_general_ci; +--source suite/funcs_2/include/check_charset.inc + +# koi8r + +let $cset= koi8r; +let $coll= koi8r_bin; +--source suite/funcs_2/include/check_charset.inc + +let $cset= koi8r; +let $coll= koi8r_general_ci; +--source suite/funcs_2/include/check_charset.inc + +# koi8u + +let $cset= koi8u; +let $coll= koi8u_bin; +--source suite/funcs_2/include/check_charset.inc + +let $cset= koi8u; +let $coll= koi8u_general_ci; +--source suite/funcs_2/include/check_charset.inc + +# latin1 + +let $cset= latin1; +let $coll= latin1_bin; +--source suite/funcs_2/include/check_charset.inc + +let $cset= latin1; +let $coll= latin1_danish_ci; +--source suite/funcs_2/include/check_charset.inc + +let $cset= latin1; +let $coll= latin1_general_ci; +--source suite/funcs_2/include/check_charset.inc + +let $cset= latin1; +let $coll= latin1_general_cs; +--source suite/funcs_2/include/check_charset.inc + + +let $cset= latin1; +let $coll= latin1_german1_ci; +--source suite/funcs_2/include/check_charset.inc + +let $cset= latin1; +let $coll= latin1_german2_ci; +--source suite/funcs_2/include/check_charset.inc + +let $cset= latin1; +let $coll= latin1_spanish_ci; +--source suite/funcs_2/include/check_charset.inc + +let $cset= latin1; +let $coll= latin1_swedish_ci; +--source suite/funcs_2/include/check_charset.inc + +# latin2 + +let $cset= latin2; +let $coll= latin2_bin; +--source suite/funcs_2/include/check_charset.inc + +let $cset= latin2; +let $coll= latin2_croatian_ci; +--source suite/funcs_2/include/check_charset.inc + +let $cset= latin2; +let $coll= latin2_czech_cs; +--source suite/funcs_2/include/check_charset.inc + +let $cset= latin2; +let $coll= latin2_general_ci; +--source suite/funcs_2/include/check_charset.inc + +let $cset= latin2; +let $coll= latin2_hungarian_ci; +--source suite/funcs_2/include/check_charset.inc + +# latin5 + +let $cset= latin5; +let $coll= latin5_bin; +--source suite/funcs_2/include/check_charset.inc + +let $cset= latin5; +let $coll= latin5_turkish_ci; +--source suite/funcs_2/include/check_charset.inc + +# latin7 + +let $cset= latin7; +let $coll= latin7_bin; +--source suite/funcs_2/include/check_charset.inc + +let $cset= latin7; +let $coll= latin7_estonian_cs; +--source suite/funcs_2/include/check_charset.inc + +let $cset= latin7; +let $coll= latin7_general_ci; +--source suite/funcs_2/include/check_charset.inc + +let $cset= latin7; +let $coll= latin7_general_cs; +--source suite/funcs_2/include/check_charset.inc + +# macce + +let $cset= macce; +let $coll= macce_bin; +--source suite/funcs_2/include/check_charset.inc + +let $cset= macce; +let $coll= macce_general_ci; +--source suite/funcs_2/include/check_charset.inc + +# macroman + +let $cset= macroman; +let $coll= macroman_bin; +--source suite/funcs_2/include/check_charset.inc + +let $cset= macroman; +let $coll= macroman_general_ci; +--source suite/funcs_2/include/check_charset.inc + +# sjis + +let $cset= sjis; +let $coll= sjis_bin; +--source suite/funcs_2/include/check_charset.inc + +let $cset= sjis; +let $coll= sjis_japanese_ci; +--source suite/funcs_2/include/check_charset.inc + +# swe7 + +let $cset= swe7; +let $coll= swe7_bin; +--source suite/funcs_2/include/check_charset.inc + +let $cset= swe7; +let $coll= swe7_swedish_ci; +--source suite/funcs_2/include/check_charset.inc + +# tis620 + +let $cset= tis620; +let $coll= tis620_bin; +--source suite/funcs_2/include/check_charset.inc + +let $cset= tis620; +let $coll= tis620_thai_ci; +--source suite/funcs_2/include/check_charset.inc + +# ujis + +let $cset= ujis; +let $coll= ujis_bin; +--source suite/funcs_2/include/check_charset.inc + +let $cset= ujis; +let $coll= ujis_japanese_ci; +--source suite/funcs_2/include/check_charset.inc + +} + +if ($check_ucs2_csets) +{ + +# ucs2 + +let $cset= ucs2; +let $coll= ucs2_bin; +--source suite/funcs_2/include/check_charset_ucs2.inc + +let $cset= ucs2; +let $coll= ucs2_czech_ci; +--source suite/funcs_2/include/check_charset_ucs2.inc + +let $cset= ucs2; +let $coll= ucs2_danish_ci; +--source suite/funcs_2/include/check_charset_ucs2.inc + +let $cset= ucs2; +let $coll= ucs2_estonian_ci; +--source suite/funcs_2/include/check_charset_ucs2.inc + +let $cset= ucs2; +let $coll= ucs2_general_ci; +--source suite/funcs_2/include/check_charset_ucs2.inc + +let $cset= ucs2; +let $coll= ucs2_hungarian_ci; +--source suite/funcs_2/include/check_charset_ucs2.inc + +let $cset= ucs2; +let $coll= ucs2_icelandic_ci; +--source suite/funcs_2/include/check_charset_ucs2.inc + +let $cset= ucs2; +let $coll= ucs2_latvian_ci; +--source suite/funcs_2/include/check_charset_ucs2.inc + +let $cset= ucs2; +let $coll= ucs2_lithuanian_ci; +--source suite/funcs_2/include/check_charset_ucs2.inc + +let $cset= ucs2; +let $coll= ucs2_persian_ci; +--source suite/funcs_2/include/check_charset_ucs2.inc + +let $cset= ucs2; +let $coll= ucs2_polish_ci; +--source suite/funcs_2/include/check_charset_ucs2.inc + +let $cset= ucs2; +let $coll= ucs2_roman_ci; +--source suite/funcs_2/include/check_charset_ucs2.inc + +let $cset= ucs2; +let $coll= ucs2_romanian_ci; +--source suite/funcs_2/include/check_charset_ucs2.inc + +let $cset= ucs2; +let $coll= ucs2_slovak_ci; +--source suite/funcs_2/include/check_charset_ucs2.inc + +let $cset= ucs2; +let $coll= ucs2_slovenian_ci; +--source suite/funcs_2/include/check_charset_ucs2.inc + +let $cset= ucs2; +let $coll= ucs2_spanish2_ci; +--source suite/funcs_2/include/check_charset_ucs2.inc + +let $cset= ucs2; +let $coll= ucs2_spanish_ci; +--source suite/funcs_2/include/check_charset_ucs2.inc + +let $cset= ucs2; +let $coll= ucs2_swedish_ci; +--source suite/funcs_2/include/check_charset_ucs2.inc + +let $cset= ucs2; +let $coll= ucs2_turkish_ci; +--source suite/funcs_2/include/check_charset_ucs2.inc + +let $cset= ucs2; +let $coll= ucs2_unicode_ci; +--source suite/funcs_2/include/check_charset_ucs2.inc + +} + +if ($check_utf8mb3_csets) +{ + +# utf8 + +let $cset= utf8; +let $coll= utf8_bin; +--source suite/funcs_2/include/check_charset_utf8.inc + +let $cset= utf8; +let $coll= utf8_czech_ci; +--source suite/funcs_2/include/check_charset_utf8.inc + +let $cset= utf8; +let $coll= utf8_danish_ci; +--source suite/funcs_2/include/check_charset_utf8.inc + +let $cset= utf8; +let $coll= utf8_estonian_ci; +--source suite/funcs_2/include/check_charset_utf8.inc + +let $cset= utf8; +let $coll= utf8_general_ci; +--source suite/funcs_2/include/check_charset_utf8.inc + +let $cset= utf8; +let $coll= utf8_hungarian_ci; +--source suite/funcs_2/include/check_charset_utf8.inc + +let $cset= utf8; +let $coll= utf8_icelandic_ci; +--source suite/funcs_2/include/check_charset_utf8.inc + +let $cset= utf8; +let $coll= utf8_latvian_ci; +--source suite/funcs_2/include/check_charset_utf8.inc + +let $cset= utf8; +let $coll= utf8_lithuanian_ci; +--source suite/funcs_2/include/check_charset_utf8.inc + +let $cset= utf8; +let $coll= utf8_persian_ci; +--source suite/funcs_2/include/check_charset_utf8.inc + +let $cset= utf8; +let $coll= utf8_polish_ci; +--source suite/funcs_2/include/check_charset_utf8.inc + +let $cset= utf8; +let $coll= utf8_roman_ci; +--source suite/funcs_2/include/check_charset_utf8.inc + +let $cset= utf8; +let $coll= utf8_romanian_ci; +--source suite/funcs_2/include/check_charset_utf8.inc + +let $cset= utf8; +let $coll= utf8_slovak_ci; +--source suite/funcs_2/include/check_charset_utf8.inc + +let $cset= utf8; +let $coll= utf8_slovenian_ci; +--source suite/funcs_2/include/check_charset_utf8.inc + +let $cset= utf8; +let $coll= utf8_spanish2_ci; +--source suite/funcs_2/include/check_charset_utf8.inc + +let $cset= utf8; +let $coll= utf8_spanish_ci; +--source suite/funcs_2/include/check_charset_utf8.inc + +let $cset= utf8; +let $coll= utf8_swedish_ci; +--source suite/funcs_2/include/check_charset_utf8.inc + +let $cset= utf8; +let $coll= utf8_turkish_ci; +--source suite/funcs_2/include/check_charset_utf8.inc + +let $cset= utf8; +let $coll= utf8_unicode_ci; +--source suite/funcs_2/include/check_charset_utf8.inc + +} + +--echo # Cleanup +--disable_query_log +DROP database test; +let $tmp=`select @save_character_set_database`; +eval CREATE database test character set $tmp; +--enable_query_log |