| 1 | /* Copyright (c) 2000, 2012, Oracle and/or its affiliates. All rights reserved. |
| 2 | |
| 3 | This program is free software; you can redistribute it and/or modify |
| 4 | it under the terms of the GNU General Public License as published by |
| 5 | the Free Software Foundation; version 2 of the License. |
| 6 | |
| 7 | This program is distributed in the hope that it will be useful, |
| 8 | but WITHOUT ANY WARRANTY; without even the implied warranty of |
| 9 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
| 10 | GNU General Public License for more details. |
| 11 | |
| 12 | You should have received a copy of the GNU General Public License |
| 13 | along with this program; if not, write to the Free Software |
| 14 | Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA */ |
| 15 | |
| 16 | #include "mysys_priv.h" |
| 17 | |
| 18 | /* |
| 19 | Include all compiled character sets into the client |
| 20 | If a client don't want to use all of them, he can define his own |
| 21 | init_compiled_charsets() that only adds those that he wants |
| 22 | */ |
| 23 | |
| 24 | #ifdef HAVE_UCA_COLLATIONS |
| 25 | |
| 26 | #ifdef HAVE_CHARSET_ucs2 |
| 27 | extern struct charset_info_st my_charset_ucs2_german2_uca_ci; |
| 28 | extern struct charset_info_st my_charset_ucs2_icelandic_uca_ci; |
| 29 | extern struct charset_info_st my_charset_ucs2_latvian_uca_ci; |
| 30 | extern struct charset_info_st my_charset_ucs2_romanian_uca_ci; |
| 31 | extern struct charset_info_st my_charset_ucs2_slovenian_uca_ci; |
| 32 | extern struct charset_info_st my_charset_ucs2_polish_uca_ci; |
| 33 | extern struct charset_info_st my_charset_ucs2_estonian_uca_ci; |
| 34 | extern struct charset_info_st my_charset_ucs2_spanish_uca_ci; |
| 35 | extern struct charset_info_st my_charset_ucs2_swedish_uca_ci; |
| 36 | extern struct charset_info_st my_charset_ucs2_turkish_uca_ci; |
| 37 | extern struct charset_info_st my_charset_ucs2_czech_uca_ci; |
| 38 | extern struct charset_info_st my_charset_ucs2_danish_uca_ci; |
| 39 | extern struct charset_info_st my_charset_ucs2_lithuanian_uca_ci; |
| 40 | extern struct charset_info_st my_charset_ucs2_slovak_uca_ci; |
| 41 | extern struct charset_info_st my_charset_ucs2_spanish2_uca_ci; |
| 42 | extern struct charset_info_st my_charset_ucs2_roman_uca_ci; |
| 43 | extern struct charset_info_st my_charset_ucs2_persian_uca_ci; |
| 44 | extern struct charset_info_st my_charset_ucs2_esperanto_uca_ci; |
| 45 | extern struct charset_info_st my_charset_ucs2_hungarian_uca_ci; |
| 46 | extern struct charset_info_st my_charset_ucs2_croatian_mysql561_uca_ci; |
| 47 | extern struct charset_info_st my_charset_ucs2_sinhala_uca_ci; |
| 48 | extern struct charset_info_st my_charset_ucs2_unicode_520_ci; |
| 49 | extern struct charset_info_st my_charset_ucs2_vietnamese_ci; |
| 50 | extern struct charset_info_st my_charset_ucs2_croatian_uca_ci; |
| 51 | extern struct charset_info_st my_charset_ucs2_myanmar_uca_ci; |
| 52 | extern struct charset_info_st my_charset_ucs2_thai_520_w2; |
| 53 | extern struct charset_info_st my_charset_ucs2_unicode_520_nopad_ci; |
| 54 | #endif |
| 55 | |
| 56 | |
| 57 | #ifdef HAVE_CHARSET_utf32 |
| 58 | extern struct charset_info_st my_charset_utf32_german2_uca_ci; |
| 59 | extern struct charset_info_st my_charset_utf32_icelandic_uca_ci; |
| 60 | extern struct charset_info_st my_charset_utf32_latvian_uca_ci; |
| 61 | extern struct charset_info_st my_charset_utf32_romanian_uca_ci; |
| 62 | extern struct charset_info_st my_charset_utf32_slovenian_uca_ci; |
| 63 | extern struct charset_info_st my_charset_utf32_polish_uca_ci; |
| 64 | extern struct charset_info_st my_charset_utf32_estonian_uca_ci; |
| 65 | extern struct charset_info_st my_charset_utf32_spanish_uca_ci; |
| 66 | extern struct charset_info_st my_charset_utf32_swedish_uca_ci; |
| 67 | extern struct charset_info_st my_charset_utf32_turkish_uca_ci; |
| 68 | extern struct charset_info_st my_charset_utf32_czech_uca_ci; |
| 69 | extern struct charset_info_st my_charset_utf32_danish_uca_ci; |
| 70 | extern struct charset_info_st my_charset_utf32_lithuanian_uca_ci; |
| 71 | extern struct charset_info_st my_charset_utf32_slovak_uca_ci; |
| 72 | extern struct charset_info_st my_charset_utf32_spanish2_uca_ci; |
| 73 | extern struct charset_info_st my_charset_utf32_roman_uca_ci; |
| 74 | extern struct charset_info_st my_charset_utf32_persian_uca_ci; |
| 75 | extern struct charset_info_st my_charset_utf32_esperanto_uca_ci; |
| 76 | extern struct charset_info_st my_charset_utf32_hungarian_uca_ci; |
| 77 | extern struct charset_info_st my_charset_utf32_croatian_mysql561_uca_ci; |
| 78 | extern struct charset_info_st my_charset_utf32_sinhala_uca_ci; |
| 79 | extern struct charset_info_st my_charset_utf32_unicode_520_ci; |
| 80 | extern struct charset_info_st my_charset_utf32_vietnamese_ci; |
| 81 | extern struct charset_info_st my_charset_utf32_croatian_uca_ci; |
| 82 | extern struct charset_info_st my_charset_utf32_myanmar_uca_ci; |
| 83 | extern struct charset_info_st my_charset_utf32_thai_520_w2; |
| 84 | extern struct charset_info_st my_charset_utf32_unicode_520_nopad_ci; |
| 85 | #endif /* HAVE_CHARSET_utf32 */ |
| 86 | |
| 87 | |
| 88 | #ifdef HAVE_CHARSET_utf16 |
| 89 | extern struct charset_info_st my_charset_utf16_german2_uca_ci; |
| 90 | extern struct charset_info_st my_charset_utf16_icelandic_uca_ci; |
| 91 | extern struct charset_info_st my_charset_utf16_latvian_uca_ci; |
| 92 | extern struct charset_info_st my_charset_utf16_romanian_uca_ci; |
| 93 | extern struct charset_info_st my_charset_utf16_slovenian_uca_ci; |
| 94 | extern struct charset_info_st my_charset_utf16_polish_uca_ci; |
| 95 | extern struct charset_info_st my_charset_utf16_estonian_uca_ci; |
| 96 | extern struct charset_info_st my_charset_utf16_spanish_uca_ci; |
| 97 | extern struct charset_info_st my_charset_utf16_swedish_uca_ci; |
| 98 | extern struct charset_info_st my_charset_utf16_turkish_uca_ci; |
| 99 | extern struct charset_info_st my_charset_utf16_czech_uca_ci; |
| 100 | extern struct charset_info_st my_charset_utf16_danish_uca_ci; |
| 101 | extern struct charset_info_st my_charset_utf16_lithuanian_uca_ci; |
| 102 | extern struct charset_info_st my_charset_utf16_slovak_uca_ci; |
| 103 | extern struct charset_info_st my_charset_utf16_spanish2_uca_ci; |
| 104 | extern struct charset_info_st my_charset_utf16_roman_uca_ci; |
| 105 | extern struct charset_info_st my_charset_utf16_persian_uca_ci; |
| 106 | extern struct charset_info_st my_charset_utf16_esperanto_uca_ci; |
| 107 | extern struct charset_info_st my_charset_utf16_hungarian_uca_ci; |
| 108 | extern struct charset_info_st my_charset_utf16_croatian_mysql561_uca_ci; |
| 109 | extern struct charset_info_st my_charset_utf16_sinhala_uca_ci; |
| 110 | extern struct charset_info_st my_charset_utf16_unicode_520_ci; |
| 111 | extern struct charset_info_st my_charset_utf16_vietnamese_ci; |
| 112 | extern struct charset_info_st my_charset_utf16_croatian_uca_ci; |
| 113 | extern struct charset_info_st my_charset_utf16_myanmar_uca_ci; |
| 114 | extern struct charset_info_st my_charset_utf16_thai_520_w2; |
| 115 | extern struct charset_info_st my_charset_utf16_unicode_520_nopad_ci; |
| 116 | #endif /* HAVE_CHARSET_utf16 */ |
| 117 | |
| 118 | |
| 119 | #ifdef HAVE_CHARSET_utf8 |
| 120 | extern struct charset_info_st my_charset_utf8_german2_uca_ci; |
| 121 | extern struct charset_info_st my_charset_utf8_icelandic_uca_ci; |
| 122 | extern struct charset_info_st my_charset_utf8_latvian_uca_ci; |
| 123 | extern struct charset_info_st my_charset_utf8_romanian_uca_ci; |
| 124 | extern struct charset_info_st my_charset_utf8_slovenian_uca_ci; |
| 125 | extern struct charset_info_st my_charset_utf8_polish_uca_ci; |
| 126 | extern struct charset_info_st my_charset_utf8_estonian_uca_ci; |
| 127 | extern struct charset_info_st my_charset_utf8_spanish_uca_ci; |
| 128 | extern struct charset_info_st my_charset_utf8_swedish_uca_ci; |
| 129 | extern struct charset_info_st my_charset_utf8_turkish_uca_ci; |
| 130 | extern struct charset_info_st my_charset_utf8_czech_uca_ci; |
| 131 | extern struct charset_info_st my_charset_utf8_danish_uca_ci; |
| 132 | extern struct charset_info_st my_charset_utf8_lithuanian_uca_ci; |
| 133 | extern struct charset_info_st my_charset_utf8_slovak_uca_ci; |
| 134 | extern struct charset_info_st my_charset_utf8_spanish2_uca_ci; |
| 135 | extern struct charset_info_st my_charset_utf8_roman_uca_ci; |
| 136 | extern struct charset_info_st my_charset_utf8_persian_uca_ci; |
| 137 | extern struct charset_info_st my_charset_utf8_esperanto_uca_ci; |
| 138 | extern struct charset_info_st my_charset_utf8_hungarian_uca_ci; |
| 139 | extern struct charset_info_st my_charset_utf8_croatian_mysql561_uca_ci; |
| 140 | extern struct charset_info_st my_charset_utf8_sinhala_uca_ci; |
| 141 | extern struct charset_info_st my_charset_utf8_unicode_520_ci; |
| 142 | extern struct charset_info_st my_charset_utf8_vietnamese_ci; |
| 143 | extern struct charset_info_st my_charset_utf8_croatian_uca_ci; |
| 144 | extern struct charset_info_st my_charset_utf8_myanmar_uca_ci; |
| 145 | extern struct charset_info_st my_charset_utf8_thai_520_w2; |
| 146 | #ifdef HAVE_UTF8_GENERAL_CS |
| 147 | extern struct charset_info_st my_charset_utf8_general_cs; |
| 148 | #endif |
| 149 | extern struct charset_info_st my_charset_utf8_unicode_520_nopad_ci; |
| 150 | #endif |
| 151 | |
| 152 | #ifdef HAVE_CHARSET_utf8mb4 |
| 153 | extern struct charset_info_st my_charset_utf8mb4_german2_uca_ci; |
| 154 | extern struct charset_info_st my_charset_utf8mb4_icelandic_uca_ci; |
| 155 | extern struct charset_info_st my_charset_utf8mb4_latvian_uca_ci; |
| 156 | extern struct charset_info_st my_charset_utf8mb4_romanian_uca_ci; |
| 157 | extern struct charset_info_st my_charset_utf8mb4_slovenian_uca_ci; |
| 158 | extern struct charset_info_st my_charset_utf8mb4_polish_uca_ci; |
| 159 | extern struct charset_info_st my_charset_utf8mb4_estonian_uca_ci; |
| 160 | extern struct charset_info_st my_charset_utf8mb4_spanish_uca_ci; |
| 161 | extern struct charset_info_st my_charset_utf8mb4_swedish_uca_ci; |
| 162 | extern struct charset_info_st my_charset_utf8mb4_turkish_uca_ci; |
| 163 | extern struct charset_info_st my_charset_utf8mb4_czech_uca_ci; |
| 164 | extern struct charset_info_st my_charset_utf8mb4_danish_uca_ci; |
| 165 | extern struct charset_info_st my_charset_utf8mb4_lithuanian_uca_ci; |
| 166 | extern struct charset_info_st my_charset_utf8mb4_slovak_uca_ci; |
| 167 | extern struct charset_info_st my_charset_utf8mb4_spanish2_uca_ci; |
| 168 | extern struct charset_info_st my_charset_utf8mb4_roman_uca_ci; |
| 169 | extern struct charset_info_st my_charset_utf8mb4_persian_uca_ci; |
| 170 | extern struct charset_info_st my_charset_utf8mb4_esperanto_uca_ci; |
| 171 | extern struct charset_info_st my_charset_utf8mb4_hungarian_uca_ci; |
| 172 | extern struct charset_info_st my_charset_utf8mb4_croatian_mysql561_uca_ci; |
| 173 | extern struct charset_info_st my_charset_utf8mb4_sinhala_uca_ci; |
| 174 | extern struct charset_info_st my_charset_utf8mb4_unicode_520_ci; |
| 175 | extern struct charset_info_st my_charset_utf8mb4_vietnamese_ci; |
| 176 | extern struct charset_info_st my_charset_utf8mb4_croatian_uca_ci; |
| 177 | extern struct charset_info_st my_charset_utf8mb4_myanmar_uca_ci; |
| 178 | extern struct charset_info_st my_charset_utf8mb4_thai_520_w2; |
| 179 | extern struct charset_info_st my_charset_utf8mb4_unicode_520_nopad_ci; |
| 180 | #endif /* HAVE_CHARSET_utf8mb4 */ |
| 181 | |
| 182 | #endif /* HAVE_UCA_COLLATIONS */ |
| 183 | |
| 184 | my_bool init_compiled_charsets(myf flags __attribute__((unused))) |
| 185 | { |
| 186 | CHARSET_INFO *cs; |
| 187 | |
| 188 | add_compiled_collation(&my_charset_bin); |
| 189 | add_compiled_collation(&my_charset_filename); |
| 190 | |
| 191 | add_compiled_collation(&my_charset_latin1); |
| 192 | add_compiled_collation(&my_charset_latin1_nopad); |
| 193 | add_compiled_collation(&my_charset_latin1_bin); |
| 194 | add_compiled_collation(&my_charset_latin1_nopad_bin); |
| 195 | add_compiled_collation(&my_charset_latin1_german2_ci); |
| 196 | |
| 197 | #ifdef HAVE_CHARSET_big5 |
| 198 | add_compiled_collation(&my_charset_big5_chinese_ci); |
| 199 | add_compiled_collation(&my_charset_big5_bin); |
| 200 | add_compiled_collation(&my_charset_big5_chinese_nopad_ci); |
| 201 | add_compiled_collation(&my_charset_big5_nopad_bin); |
| 202 | #endif |
| 203 | |
| 204 | #ifdef HAVE_CHARSET_cp1250 |
| 205 | add_compiled_collation(&my_charset_cp1250_czech_ci); |
| 206 | #endif |
| 207 | |
| 208 | #ifdef HAVE_CHARSET_cp932 |
| 209 | add_compiled_collation(&my_charset_cp932_japanese_ci); |
| 210 | add_compiled_collation(&my_charset_cp932_bin); |
| 211 | add_compiled_collation(&my_charset_cp932_japanese_nopad_ci); |
| 212 | add_compiled_collation(&my_charset_cp932_nopad_bin); |
| 213 | #endif |
| 214 | |
| 215 | #ifdef HAVE_CHARSET_latin2 |
| 216 | add_compiled_collation(&my_charset_latin2_czech_ci); |
| 217 | #endif |
| 218 | |
| 219 | #ifdef HAVE_CHARSET_eucjpms |
| 220 | add_compiled_collation(&my_charset_eucjpms_japanese_ci); |
| 221 | add_compiled_collation(&my_charset_eucjpms_bin); |
| 222 | add_compiled_collation(&my_charset_eucjpms_japanese_nopad_ci); |
| 223 | add_compiled_collation(&my_charset_eucjpms_nopad_bin); |
| 224 | #endif |
| 225 | |
| 226 | #ifdef HAVE_CHARSET_euckr |
| 227 | add_compiled_collation(&my_charset_euckr_korean_ci); |
| 228 | add_compiled_collation(&my_charset_euckr_bin); |
| 229 | add_compiled_collation(&my_charset_euckr_korean_nopad_ci); |
| 230 | add_compiled_collation(&my_charset_euckr_nopad_bin); |
| 231 | #endif |
| 232 | |
| 233 | #ifdef HAVE_CHARSET_gb2312 |
| 234 | add_compiled_collation(&my_charset_gb2312_chinese_ci); |
| 235 | add_compiled_collation(&my_charset_gb2312_bin); |
| 236 | add_compiled_collation(&my_charset_gb2312_chinese_nopad_ci); |
| 237 | add_compiled_collation(&my_charset_gb2312_nopad_bin); |
| 238 | #endif |
| 239 | |
| 240 | #ifdef HAVE_CHARSET_gbk |
| 241 | add_compiled_collation(&my_charset_gbk_chinese_ci); |
| 242 | add_compiled_collation(&my_charset_gbk_bin); |
| 243 | add_compiled_collation(&my_charset_gbk_chinese_nopad_ci); |
| 244 | add_compiled_collation(&my_charset_gbk_nopad_bin); |
| 245 | #endif |
| 246 | |
| 247 | #ifdef HAVE_CHARSET_sjis |
| 248 | add_compiled_collation(&my_charset_sjis_japanese_ci); |
| 249 | add_compiled_collation(&my_charset_sjis_bin); |
| 250 | add_compiled_collation(&my_charset_sjis_japanese_nopad_ci); |
| 251 | add_compiled_collation(&my_charset_sjis_nopad_bin); |
| 252 | #endif |
| 253 | |
| 254 | #ifdef HAVE_CHARSET_tis620 |
| 255 | add_compiled_collation(&my_charset_tis620_thai_ci); |
| 256 | add_compiled_collation(&my_charset_tis620_bin); |
| 257 | add_compiled_collation(&my_charset_tis620_thai_nopad_ci); |
| 258 | add_compiled_collation(&my_charset_tis620_nopad_bin); |
| 259 | #endif |
| 260 | |
| 261 | #ifdef HAVE_CHARSET_ucs2 |
| 262 | add_compiled_collation(&my_charset_ucs2_general_ci); |
| 263 | add_compiled_collation(&my_charset_ucs2_bin); |
| 264 | add_compiled_collation(&my_charset_ucs2_general_nopad_ci); |
| 265 | add_compiled_collation(&my_charset_ucs2_nopad_bin); |
| 266 | add_compiled_collation(&my_charset_ucs2_general_mysql500_ci); |
| 267 | #ifdef HAVE_UCA_COLLATIONS |
| 268 | add_compiled_collation(&my_charset_ucs2_unicode_ci); |
| 269 | add_compiled_collation(&my_charset_ucs2_german2_uca_ci); |
| 270 | add_compiled_collation(&my_charset_ucs2_icelandic_uca_ci); |
| 271 | add_compiled_collation(&my_charset_ucs2_latvian_uca_ci); |
| 272 | add_compiled_collation(&my_charset_ucs2_romanian_uca_ci); |
| 273 | add_compiled_collation(&my_charset_ucs2_slovenian_uca_ci); |
| 274 | add_compiled_collation(&my_charset_ucs2_polish_uca_ci); |
| 275 | add_compiled_collation(&my_charset_ucs2_estonian_uca_ci); |
| 276 | add_compiled_collation(&my_charset_ucs2_spanish_uca_ci); |
| 277 | add_compiled_collation(&my_charset_ucs2_swedish_uca_ci); |
| 278 | add_compiled_collation(&my_charset_ucs2_turkish_uca_ci); |
| 279 | add_compiled_collation(&my_charset_ucs2_czech_uca_ci); |
| 280 | add_compiled_collation(&my_charset_ucs2_danish_uca_ci); |
| 281 | add_compiled_collation(&my_charset_ucs2_lithuanian_uca_ci); |
| 282 | add_compiled_collation(&my_charset_ucs2_slovak_uca_ci); |
| 283 | add_compiled_collation(&my_charset_ucs2_spanish2_uca_ci); |
| 284 | add_compiled_collation(&my_charset_ucs2_roman_uca_ci); |
| 285 | add_compiled_collation(&my_charset_ucs2_persian_uca_ci); |
| 286 | add_compiled_collation(&my_charset_ucs2_esperanto_uca_ci); |
| 287 | add_compiled_collation(&my_charset_ucs2_hungarian_uca_ci); |
| 288 | add_compiled_collation(&my_charset_ucs2_croatian_mysql561_uca_ci); |
| 289 | add_compiled_collation(&my_charset_ucs2_sinhala_uca_ci); |
| 290 | add_compiled_collation(&my_charset_ucs2_unicode_520_ci); |
| 291 | add_compiled_collation(&my_charset_ucs2_vietnamese_ci); |
| 292 | add_compiled_collation(&my_charset_ucs2_croatian_uca_ci); |
| 293 | add_compiled_collation(&my_charset_ucs2_myanmar_uca_ci); |
| 294 | add_compiled_collation(&my_charset_ucs2_thai_520_w2); |
| 295 | add_compiled_collation(&my_charset_ucs2_unicode_nopad_ci); |
| 296 | add_compiled_collation(&my_charset_ucs2_unicode_520_nopad_ci); |
| 297 | #endif |
| 298 | #endif |
| 299 | |
| 300 | #ifdef HAVE_CHARSET_ujis |
| 301 | add_compiled_collation(&my_charset_ujis_japanese_ci); |
| 302 | add_compiled_collation(&my_charset_ujis_bin); |
| 303 | add_compiled_collation(&my_charset_ujis_japanese_nopad_ci); |
| 304 | add_compiled_collation(&my_charset_ujis_nopad_bin); |
| 305 | #endif |
| 306 | |
| 307 | #ifdef HAVE_CHARSET_utf8 |
| 308 | add_compiled_collation(&my_charset_utf8_general_ci); |
| 309 | add_compiled_collation(&my_charset_utf8_general_nopad_ci); |
| 310 | add_compiled_collation(&my_charset_utf8_bin); |
| 311 | add_compiled_collation(&my_charset_utf8_nopad_bin); |
| 312 | add_compiled_collation(&my_charset_utf8_general_mysql500_ci); |
| 313 | #ifdef HAVE_UTF8_GENERAL_CS |
| 314 | add_compiled_collation(&my_charset_utf8_general_cs); |
| 315 | #endif |
| 316 | #ifdef HAVE_UCA_COLLATIONS |
| 317 | add_compiled_collation(&my_charset_utf8_unicode_ci); |
| 318 | add_compiled_collation(&my_charset_utf8_german2_uca_ci); |
| 319 | add_compiled_collation(&my_charset_utf8_icelandic_uca_ci); |
| 320 | add_compiled_collation(&my_charset_utf8_latvian_uca_ci); |
| 321 | add_compiled_collation(&my_charset_utf8_romanian_uca_ci); |
| 322 | add_compiled_collation(&my_charset_utf8_slovenian_uca_ci); |
| 323 | add_compiled_collation(&my_charset_utf8_polish_uca_ci); |
| 324 | add_compiled_collation(&my_charset_utf8_estonian_uca_ci); |
| 325 | add_compiled_collation(&my_charset_utf8_spanish_uca_ci); |
| 326 | add_compiled_collation(&my_charset_utf8_swedish_uca_ci); |
| 327 | add_compiled_collation(&my_charset_utf8_turkish_uca_ci); |
| 328 | add_compiled_collation(&my_charset_utf8_czech_uca_ci); |
| 329 | add_compiled_collation(&my_charset_utf8_danish_uca_ci); |
| 330 | add_compiled_collation(&my_charset_utf8_lithuanian_uca_ci); |
| 331 | add_compiled_collation(&my_charset_utf8_slovak_uca_ci); |
| 332 | add_compiled_collation(&my_charset_utf8_spanish2_uca_ci); |
| 333 | add_compiled_collation(&my_charset_utf8_roman_uca_ci); |
| 334 | add_compiled_collation(&my_charset_utf8_persian_uca_ci); |
| 335 | add_compiled_collation(&my_charset_utf8_esperanto_uca_ci); |
| 336 | add_compiled_collation(&my_charset_utf8_hungarian_uca_ci); |
| 337 | add_compiled_collation(&my_charset_utf8_croatian_mysql561_uca_ci); |
| 338 | add_compiled_collation(&my_charset_utf8_sinhala_uca_ci); |
| 339 | add_compiled_collation(&my_charset_utf8_unicode_520_ci); |
| 340 | add_compiled_collation(&my_charset_utf8_vietnamese_ci); |
| 341 | add_compiled_collation(&my_charset_utf8_croatian_uca_ci); |
| 342 | add_compiled_collation(&my_charset_utf8_myanmar_uca_ci); |
| 343 | add_compiled_collation(&my_charset_utf8_thai_520_w2); |
| 344 | add_compiled_collation(&my_charset_utf8_unicode_nopad_ci); |
| 345 | add_compiled_collation(&my_charset_utf8_unicode_520_nopad_ci); |
| 346 | #endif |
| 347 | #endif /* HAVE_CHARSET_utf8 */ |
| 348 | |
| 349 | |
| 350 | #ifdef HAVE_CHARSET_utf8mb4 |
| 351 | add_compiled_collation(&my_charset_utf8mb4_general_ci); |
| 352 | add_compiled_collation(&my_charset_utf8mb4_bin); |
| 353 | add_compiled_collation(&my_charset_utf8mb4_general_nopad_ci); |
| 354 | add_compiled_collation(&my_charset_utf8mb4_nopad_bin); |
| 355 | #ifdef HAVE_UCA_COLLATIONS |
| 356 | add_compiled_collation(&my_charset_utf8mb4_unicode_ci); |
| 357 | add_compiled_collation(&my_charset_utf8mb4_german2_uca_ci); |
| 358 | add_compiled_collation(&my_charset_utf8mb4_icelandic_uca_ci); |
| 359 | add_compiled_collation(&my_charset_utf8mb4_latvian_uca_ci); |
| 360 | add_compiled_collation(&my_charset_utf8mb4_romanian_uca_ci); |
| 361 | add_compiled_collation(&my_charset_utf8mb4_slovenian_uca_ci); |
| 362 | add_compiled_collation(&my_charset_utf8mb4_polish_uca_ci); |
| 363 | add_compiled_collation(&my_charset_utf8mb4_estonian_uca_ci); |
| 364 | add_compiled_collation(&my_charset_utf8mb4_spanish_uca_ci); |
| 365 | add_compiled_collation(&my_charset_utf8mb4_swedish_uca_ci); |
| 366 | add_compiled_collation(&my_charset_utf8mb4_turkish_uca_ci); |
| 367 | add_compiled_collation(&my_charset_utf8mb4_czech_uca_ci); |
| 368 | add_compiled_collation(&my_charset_utf8mb4_danish_uca_ci); |
| 369 | add_compiled_collation(&my_charset_utf8mb4_lithuanian_uca_ci); |
| 370 | add_compiled_collation(&my_charset_utf8mb4_slovak_uca_ci); |
| 371 | add_compiled_collation(&my_charset_utf8mb4_spanish2_uca_ci); |
| 372 | add_compiled_collation(&my_charset_utf8mb4_roman_uca_ci); |
| 373 | add_compiled_collation(&my_charset_utf8mb4_persian_uca_ci); |
| 374 | add_compiled_collation(&my_charset_utf8mb4_esperanto_uca_ci); |
| 375 | add_compiled_collation(&my_charset_utf8mb4_hungarian_uca_ci); |
| 376 | add_compiled_collation(&my_charset_utf8mb4_croatian_mysql561_uca_ci); |
| 377 | add_compiled_collation(&my_charset_utf8mb4_sinhala_uca_ci); |
| 378 | add_compiled_collation(&my_charset_utf8mb4_unicode_520_ci); |
| 379 | add_compiled_collation(&my_charset_utf8mb4_vietnamese_ci); |
| 380 | add_compiled_collation(&my_charset_utf8mb4_croatian_uca_ci); |
| 381 | add_compiled_collation(&my_charset_utf8mb4_myanmar_uca_ci); |
| 382 | add_compiled_collation(&my_charset_utf8mb4_thai_520_w2); |
| 383 | add_compiled_collation(&my_charset_utf8mb4_unicode_nopad_ci); |
| 384 | add_compiled_collation(&my_charset_utf8mb4_unicode_520_nopad_ci); |
| 385 | #endif /* HAVE_UCA_COLLATIONS */ |
| 386 | #endif /* HAVE_CHARSET_utf8mb4 */ |
| 387 | |
| 388 | |
| 389 | #ifdef HAVE_CHARSET_utf16 |
| 390 | add_compiled_collation(&my_charset_utf16_general_ci); |
| 391 | add_compiled_collation(&my_charset_utf16_bin); |
| 392 | add_compiled_collation(&my_charset_utf16le_general_ci); |
| 393 | add_compiled_collation(&my_charset_utf16le_bin); |
| 394 | add_compiled_collation(&my_charset_utf16_general_nopad_ci); |
| 395 | add_compiled_collation(&my_charset_utf16_nopad_bin); |
| 396 | add_compiled_collation(&my_charset_utf16le_general_nopad_ci); |
| 397 | add_compiled_collation(&my_charset_utf16le_nopad_bin); |
| 398 | #ifdef HAVE_UCA_COLLATIONS |
| 399 | add_compiled_collation(&my_charset_utf16_unicode_ci); |
| 400 | add_compiled_collation(&my_charset_utf16_german2_uca_ci); |
| 401 | add_compiled_collation(&my_charset_utf16_icelandic_uca_ci); |
| 402 | add_compiled_collation(&my_charset_utf16_latvian_uca_ci); |
| 403 | add_compiled_collation(&my_charset_utf16_romanian_uca_ci); |
| 404 | add_compiled_collation(&my_charset_utf16_slovenian_uca_ci); |
| 405 | add_compiled_collation(&my_charset_utf16_polish_uca_ci); |
| 406 | add_compiled_collation(&my_charset_utf16_estonian_uca_ci); |
| 407 | add_compiled_collation(&my_charset_utf16_spanish_uca_ci); |
| 408 | add_compiled_collation(&my_charset_utf16_swedish_uca_ci); |
| 409 | add_compiled_collation(&my_charset_utf16_turkish_uca_ci); |
| 410 | add_compiled_collation(&my_charset_utf16_czech_uca_ci); |
| 411 | add_compiled_collation(&my_charset_utf16_danish_uca_ci); |
| 412 | add_compiled_collation(&my_charset_utf16_lithuanian_uca_ci); |
| 413 | add_compiled_collation(&my_charset_utf16_slovak_uca_ci); |
| 414 | add_compiled_collation(&my_charset_utf16_spanish2_uca_ci); |
| 415 | add_compiled_collation(&my_charset_utf16_roman_uca_ci); |
| 416 | add_compiled_collation(&my_charset_utf16_persian_uca_ci); |
| 417 | add_compiled_collation(&my_charset_utf16_esperanto_uca_ci); |
| 418 | add_compiled_collation(&my_charset_utf16_hungarian_uca_ci); |
| 419 | add_compiled_collation(&my_charset_utf16_croatian_mysql561_uca_ci); |
| 420 | add_compiled_collation(&my_charset_utf16_sinhala_uca_ci); |
| 421 | add_compiled_collation(&my_charset_utf16_unicode_520_ci); |
| 422 | add_compiled_collation(&my_charset_utf16_vietnamese_ci); |
| 423 | add_compiled_collation(&my_charset_utf16_croatian_uca_ci); |
| 424 | add_compiled_collation(&my_charset_utf16_myanmar_uca_ci); |
| 425 | add_compiled_collation(&my_charset_utf16_thai_520_w2); |
| 426 | add_compiled_collation(&my_charset_utf16_unicode_nopad_ci); |
| 427 | add_compiled_collation(&my_charset_utf16_unicode_520_nopad_ci); |
| 428 | #endif /* HAVE_UCA_COLLATIONS */ |
| 429 | #endif /* HAVE_CHARSET_utf16 */ |
| 430 | |
| 431 | |
| 432 | #ifdef HAVE_CHARSET_utf32 |
| 433 | add_compiled_collation(&my_charset_utf32_general_ci); |
| 434 | add_compiled_collation(&my_charset_utf32_bin); |
| 435 | add_compiled_collation(&my_charset_utf32_general_nopad_ci); |
| 436 | add_compiled_collation(&my_charset_utf32_nopad_bin); |
| 437 | #ifdef HAVE_UCA_COLLATIONS |
| 438 | add_compiled_collation(&my_charset_utf32_unicode_ci); |
| 439 | add_compiled_collation(&my_charset_utf32_german2_uca_ci); |
| 440 | add_compiled_collation(&my_charset_utf32_icelandic_uca_ci); |
| 441 | add_compiled_collation(&my_charset_utf32_latvian_uca_ci); |
| 442 | add_compiled_collation(&my_charset_utf32_romanian_uca_ci); |
| 443 | add_compiled_collation(&my_charset_utf32_slovenian_uca_ci); |
| 444 | add_compiled_collation(&my_charset_utf32_polish_uca_ci); |
| 445 | add_compiled_collation(&my_charset_utf32_estonian_uca_ci); |
| 446 | add_compiled_collation(&my_charset_utf32_spanish_uca_ci); |
| 447 | add_compiled_collation(&my_charset_utf32_swedish_uca_ci); |
| 448 | add_compiled_collation(&my_charset_utf32_turkish_uca_ci); |
| 449 | add_compiled_collation(&my_charset_utf32_czech_uca_ci); |
| 450 | add_compiled_collation(&my_charset_utf32_danish_uca_ci); |
| 451 | add_compiled_collation(&my_charset_utf32_lithuanian_uca_ci); |
| 452 | add_compiled_collation(&my_charset_utf32_slovak_uca_ci); |
| 453 | add_compiled_collation(&my_charset_utf32_spanish2_uca_ci); |
| 454 | add_compiled_collation(&my_charset_utf32_roman_uca_ci); |
| 455 | add_compiled_collation(&my_charset_utf32_persian_uca_ci); |
| 456 | add_compiled_collation(&my_charset_utf32_esperanto_uca_ci); |
| 457 | add_compiled_collation(&my_charset_utf32_hungarian_uca_ci); |
| 458 | add_compiled_collation(&my_charset_utf32_croatian_mysql561_uca_ci); |
| 459 | add_compiled_collation(&my_charset_utf32_sinhala_uca_ci); |
| 460 | add_compiled_collation(&my_charset_utf32_unicode_520_ci); |
| 461 | add_compiled_collation(&my_charset_utf32_vietnamese_ci); |
| 462 | add_compiled_collation(&my_charset_utf32_croatian_uca_ci); |
| 463 | add_compiled_collation(&my_charset_utf32_myanmar_uca_ci); |
| 464 | add_compiled_collation(&my_charset_utf32_thai_520_w2); |
| 465 | add_compiled_collation(&my_charset_utf32_unicode_nopad_ci); |
| 466 | add_compiled_collation(&my_charset_utf32_unicode_520_nopad_ci); |
| 467 | #endif /* HAVE_UCA_COLLATIONS */ |
| 468 | #endif /* HAVE_CHARSET_utf32 */ |
| 469 | |
| 470 | /* Copy compiled charsets */ |
| 471 | for (cs=compiled_charsets; cs->name; cs++) |
| 472 | add_compiled_collation((struct charset_info_st *) cs); |
| 473 | |
| 474 | return FALSE; |
| 475 | } |
| 476 | |