1 /* Copyright (c) 2000, 2016, 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, version 2.0,
5    as published by the Free Software Foundation.
6 
7    This program is also distributed with certain software (including
8    but not limited to OpenSSL) that is licensed under separate terms,
9    as designated in a particular file or component or in included license
10    documentation.  The authors of MySQL hereby grant you an additional
11    permission to link the program and your derivative works with the
12    separately licensed software that they have included with MySQL.
13 
14    Without limiting anything contained in the foregoing, this file,
15    which is part of C Driver for MySQL (Connector/C), is also subject to the
16    Universal FOSS Exception, version 1.0, a copy of which can be found at
17    http://oss.oracle.com/licenses/universal-foss-exception.
18 
19    This program is distributed in the hope that it will be useful,
20    but WITHOUT ANY WARRANTY; without even the implied warranty of
21    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
22    GNU General Public License, version 2.0, for more details.
23 
24    You should have received a copy of the GNU General Public License
25    along with this program; if not, write to the Free Software
26    Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301  USA */
27 
28 #include "mysys_priv.h"
29 
30 /*
31   Include all compiled character sets into the client
32   If a client don't want to use all of them, he can define his own
33   init_compiled_charsets() that only adds those that he wants
34 */
35 
36 #ifdef HAVE_UCA_COLLATIONS
37 
38 #ifdef HAVE_CHARSET_ucs2
39 extern CHARSET_INFO my_charset_ucs2_german2_uca_ci;
40 extern CHARSET_INFO my_charset_ucs2_icelandic_uca_ci;
41 extern CHARSET_INFO my_charset_ucs2_latvian_uca_ci;
42 extern CHARSET_INFO my_charset_ucs2_romanian_uca_ci;
43 extern CHARSET_INFO my_charset_ucs2_slovenian_uca_ci;
44 extern CHARSET_INFO my_charset_ucs2_polish_uca_ci;
45 extern CHARSET_INFO my_charset_ucs2_estonian_uca_ci;
46 extern CHARSET_INFO my_charset_ucs2_spanish_uca_ci;
47 extern CHARSET_INFO my_charset_ucs2_swedish_uca_ci;
48 extern CHARSET_INFO my_charset_ucs2_turkish_uca_ci;
49 extern CHARSET_INFO my_charset_ucs2_czech_uca_ci;
50 extern CHARSET_INFO my_charset_ucs2_danish_uca_ci;
51 extern CHARSET_INFO my_charset_ucs2_lithuanian_uca_ci;
52 extern CHARSET_INFO my_charset_ucs2_slovak_uca_ci;
53 extern CHARSET_INFO my_charset_ucs2_spanish2_uca_ci;
54 extern CHARSET_INFO my_charset_ucs2_roman_uca_ci;
55 extern CHARSET_INFO my_charset_ucs2_persian_uca_ci;
56 extern CHARSET_INFO my_charset_ucs2_esperanto_uca_ci;
57 extern CHARSET_INFO my_charset_ucs2_hungarian_uca_ci;
58 extern CHARSET_INFO my_charset_ucs2_croatian_uca_ci;
59 extern CHARSET_INFO my_charset_ucs2_sinhala_uca_ci;
60 extern CHARSET_INFO my_charset_ucs2_unicode_520_ci;
61 extern CHARSET_INFO my_charset_ucs2_vietnamese_ci;
62 #endif /* HAVE_CHARSET_ucs2 */
63 
64 
65 #ifdef HAVE_CHARSET_utf32
66 extern CHARSET_INFO my_charset_utf32_german2_uca_ci;
67 extern CHARSET_INFO my_charset_utf32_icelandic_uca_ci;
68 extern CHARSET_INFO my_charset_utf32_latvian_uca_ci;
69 extern CHARSET_INFO my_charset_utf32_romanian_uca_ci;
70 extern CHARSET_INFO my_charset_utf32_slovenian_uca_ci;
71 extern CHARSET_INFO my_charset_utf32_polish_uca_ci;
72 extern CHARSET_INFO my_charset_utf32_estonian_uca_ci;
73 extern CHARSET_INFO my_charset_utf32_spanish_uca_ci;
74 extern CHARSET_INFO my_charset_utf32_swedish_uca_ci;
75 extern CHARSET_INFO my_charset_utf32_turkish_uca_ci;
76 extern CHARSET_INFO my_charset_utf32_czech_uca_ci;
77 extern CHARSET_INFO my_charset_utf32_danish_uca_ci;
78 extern CHARSET_INFO my_charset_utf32_lithuanian_uca_ci;
79 extern CHARSET_INFO my_charset_utf32_slovak_uca_ci;
80 extern CHARSET_INFO my_charset_utf32_spanish2_uca_ci;
81 extern CHARSET_INFO my_charset_utf32_roman_uca_ci;
82 extern CHARSET_INFO my_charset_utf32_persian_uca_ci;
83 extern CHARSET_INFO my_charset_utf32_esperanto_uca_ci;
84 extern CHARSET_INFO my_charset_utf32_hungarian_uca_ci;
85 extern CHARSET_INFO my_charset_utf32_croatian_uca_ci;
86 extern CHARSET_INFO my_charset_utf32_sinhala_uca_ci;
87 extern CHARSET_INFO my_charset_utf32_unicode_520_ci;
88 extern CHARSET_INFO my_charset_utf32_vietnamese_ci;
89 #endif /* HAVE_CHARSET_utf32 */
90 
91 
92 #ifdef HAVE_CHARSET_utf16
93 extern CHARSET_INFO my_charset_utf16_german2_uca_ci;
94 extern CHARSET_INFO my_charset_utf16_icelandic_uca_ci;
95 extern CHARSET_INFO my_charset_utf16_latvian_uca_ci;
96 extern CHARSET_INFO my_charset_utf16_romanian_uca_ci;
97 extern CHARSET_INFO my_charset_utf16_slovenian_uca_ci;
98 extern CHARSET_INFO my_charset_utf16_polish_uca_ci;
99 extern CHARSET_INFO my_charset_utf16_estonian_uca_ci;
100 extern CHARSET_INFO my_charset_utf16_spanish_uca_ci;
101 extern CHARSET_INFO my_charset_utf16_swedish_uca_ci;
102 extern CHARSET_INFO my_charset_utf16_turkish_uca_ci;
103 extern CHARSET_INFO my_charset_utf16_czech_uca_ci;
104 extern CHARSET_INFO my_charset_utf16_danish_uca_ci;
105 extern CHARSET_INFO my_charset_utf16_lithuanian_uca_ci;
106 extern CHARSET_INFO my_charset_utf16_slovak_uca_ci;
107 extern CHARSET_INFO my_charset_utf16_spanish2_uca_ci;
108 extern CHARSET_INFO my_charset_utf16_roman_uca_ci;
109 extern CHARSET_INFO my_charset_utf16_persian_uca_ci;
110 extern CHARSET_INFO my_charset_utf16_esperanto_uca_ci;
111 extern CHARSET_INFO my_charset_utf16_hungarian_uca_ci;
112 extern CHARSET_INFO my_charset_utf16_croatian_uca_ci;
113 extern CHARSET_INFO my_charset_utf16_sinhala_uca_ci;
114 extern CHARSET_INFO my_charset_utf16_unicode_520_ci;
115 extern CHARSET_INFO my_charset_utf16_vietnamese_ci;
116 #endif  /* HAVE_CHARSET_utf16 */
117 
118 
119 #ifdef HAVE_CHARSET_utf8
120 extern CHARSET_INFO my_charset_utf8_german2_uca_ci;
121 extern CHARSET_INFO my_charset_utf8_icelandic_uca_ci;
122 extern CHARSET_INFO my_charset_utf8_latvian_uca_ci;
123 extern CHARSET_INFO my_charset_utf8_romanian_uca_ci;
124 extern CHARSET_INFO my_charset_utf8_slovenian_uca_ci;
125 extern CHARSET_INFO my_charset_utf8_polish_uca_ci;
126 extern CHARSET_INFO my_charset_utf8_estonian_uca_ci;
127 extern CHARSET_INFO my_charset_utf8_spanish_uca_ci;
128 extern CHARSET_INFO my_charset_utf8_swedish_uca_ci;
129 extern CHARSET_INFO my_charset_utf8_turkish_uca_ci;
130 extern CHARSET_INFO my_charset_utf8_czech_uca_ci;
131 extern CHARSET_INFO my_charset_utf8_danish_uca_ci;
132 extern CHARSET_INFO my_charset_utf8_lithuanian_uca_ci;
133 extern CHARSET_INFO my_charset_utf8_slovak_uca_ci;
134 extern CHARSET_INFO my_charset_utf8_spanish2_uca_ci;
135 extern CHARSET_INFO my_charset_utf8_roman_uca_ci;
136 extern CHARSET_INFO my_charset_utf8_persian_uca_ci;
137 extern CHARSET_INFO my_charset_utf8_esperanto_uca_ci;
138 extern CHARSET_INFO my_charset_utf8_hungarian_uca_ci;
139 extern CHARSET_INFO my_charset_utf8_croatian_uca_ci;
140 extern CHARSET_INFO my_charset_utf8_sinhala_uca_ci;
141 extern CHARSET_INFO my_charset_utf8_unicode_520_ci;
142 extern CHARSET_INFO my_charset_utf8_vietnamese_ci;
143 #ifdef HAVE_UTF8_GENERAL_CS
144 extern CHARSET_INFO my_charset_utf8_general_cs;
145 #endif
146 #endif
147 
148 #ifdef HAVE_CHARSET_utf8mb4
149 extern CHARSET_INFO my_charset_utf8mb4_german2_uca_ci;
150 extern CHARSET_INFO my_charset_utf8mb4_icelandic_uca_ci;
151 extern CHARSET_INFO my_charset_utf8mb4_latvian_uca_ci;
152 extern CHARSET_INFO my_charset_utf8mb4_romanian_uca_ci;
153 extern CHARSET_INFO my_charset_utf8mb4_slovenian_uca_ci;
154 extern CHARSET_INFO my_charset_utf8mb4_polish_uca_ci;
155 extern CHARSET_INFO my_charset_utf8mb4_estonian_uca_ci;
156 extern CHARSET_INFO my_charset_utf8mb4_spanish_uca_ci;
157 extern CHARSET_INFO my_charset_utf8mb4_swedish_uca_ci;
158 extern CHARSET_INFO my_charset_utf8mb4_turkish_uca_ci;
159 extern CHARSET_INFO my_charset_utf8mb4_czech_uca_ci;
160 extern CHARSET_INFO my_charset_utf8mb4_danish_uca_ci;
161 extern CHARSET_INFO my_charset_utf8mb4_lithuanian_uca_ci;
162 extern CHARSET_INFO my_charset_utf8mb4_slovak_uca_ci;
163 extern CHARSET_INFO my_charset_utf8mb4_spanish2_uca_ci;
164 extern CHARSET_INFO my_charset_utf8mb4_roman_uca_ci;
165 extern CHARSET_INFO my_charset_utf8mb4_persian_uca_ci;
166 extern CHARSET_INFO my_charset_utf8mb4_esperanto_uca_ci;
167 extern CHARSET_INFO my_charset_utf8mb4_hungarian_uca_ci;
168 extern CHARSET_INFO my_charset_utf8mb4_croatian_uca_ci;
169 extern CHARSET_INFO my_charset_utf8mb4_sinhala_uca_ci;
170 extern CHARSET_INFO my_charset_utf8mb4_unicode_520_ci;
171 extern CHARSET_INFO my_charset_utf8mb4_vietnamese_ci;
172 #endif /* HAVE_CHARSET_utf8mb4 */
173 
174 #endif /* HAVE_UCA_COLLATIONS */
175 
init_compiled_charsets(myf flags MY_ATTRIBUTE ((unused)))176 my_bool init_compiled_charsets(myf flags MY_ATTRIBUTE((unused)))
177 {
178   CHARSET_INFO *cs;
179 
180   add_compiled_collation(&my_charset_bin);
181   add_compiled_collation(&my_charset_filename);
182 
183   add_compiled_collation(&my_charset_latin1);
184   add_compiled_collation(&my_charset_latin1_bin);
185   add_compiled_collation(&my_charset_latin1_german2_ci);
186 
187 #ifdef HAVE_CHARSET_big5
188   add_compiled_collation(&my_charset_big5_chinese_ci);
189   add_compiled_collation(&my_charset_big5_bin);
190 #endif
191 
192 #ifdef HAVE_CHARSET_cp1250
193   add_compiled_collation(&my_charset_cp1250_czech_ci);
194 #endif
195 
196 #ifdef HAVE_CHARSET_cp932
197   add_compiled_collation(&my_charset_cp932_japanese_ci);
198   add_compiled_collation(&my_charset_cp932_bin);
199 #endif
200 
201 #ifdef HAVE_CHARSET_latin2
202   add_compiled_collation(&my_charset_latin2_czech_ci);
203 #endif
204 
205 #ifdef HAVE_CHARSET_eucjpms
206   add_compiled_collation(&my_charset_eucjpms_japanese_ci);
207   add_compiled_collation(&my_charset_eucjpms_bin);
208 #endif
209 
210 #ifdef HAVE_CHARSET_euckr
211   add_compiled_collation(&my_charset_euckr_korean_ci);
212   add_compiled_collation(&my_charset_euckr_bin);
213 #endif
214 
215 #ifdef HAVE_CHARSET_gb2312
216   add_compiled_collation(&my_charset_gb2312_chinese_ci);
217   add_compiled_collation(&my_charset_gb2312_bin);
218 #endif
219 
220 #ifdef HAVE_CHARSET_gbk
221   add_compiled_collation(&my_charset_gbk_chinese_ci);
222   add_compiled_collation(&my_charset_gbk_bin);
223 #endif
224 
225 #ifdef HAVE_CHARSET_sjis
226   add_compiled_collation(&my_charset_sjis_japanese_ci);
227   add_compiled_collation(&my_charset_sjis_bin);
228 #endif
229 
230 #ifdef HAVE_CHARSET_tis620
231   add_compiled_collation(&my_charset_tis620_thai_ci);
232   add_compiled_collation(&my_charset_tis620_bin);
233 #endif
234 
235 #ifdef HAVE_CHARSET_ucs2
236   add_compiled_collation(&my_charset_ucs2_general_ci);
237   add_compiled_collation(&my_charset_ucs2_bin);
238   add_compiled_collation(&my_charset_ucs2_general_mysql500_ci);
239 #ifdef HAVE_UCA_COLLATIONS
240   add_compiled_collation(&my_charset_ucs2_unicode_ci);
241   add_compiled_collation(&my_charset_ucs2_german2_uca_ci);
242   add_compiled_collation(&my_charset_ucs2_icelandic_uca_ci);
243   add_compiled_collation(&my_charset_ucs2_latvian_uca_ci);
244   add_compiled_collation(&my_charset_ucs2_romanian_uca_ci);
245   add_compiled_collation(&my_charset_ucs2_slovenian_uca_ci);
246   add_compiled_collation(&my_charset_ucs2_polish_uca_ci);
247   add_compiled_collation(&my_charset_ucs2_estonian_uca_ci);
248   add_compiled_collation(&my_charset_ucs2_spanish_uca_ci);
249   add_compiled_collation(&my_charset_ucs2_swedish_uca_ci);
250   add_compiled_collation(&my_charset_ucs2_turkish_uca_ci);
251   add_compiled_collation(&my_charset_ucs2_czech_uca_ci);
252   add_compiled_collation(&my_charset_ucs2_danish_uca_ci);
253   add_compiled_collation(&my_charset_ucs2_lithuanian_uca_ci);
254   add_compiled_collation(&my_charset_ucs2_slovak_uca_ci);
255   add_compiled_collation(&my_charset_ucs2_spanish2_uca_ci);
256   add_compiled_collation(&my_charset_ucs2_roman_uca_ci);
257   add_compiled_collation(&my_charset_ucs2_persian_uca_ci);
258   add_compiled_collation(&my_charset_ucs2_esperanto_uca_ci);
259   add_compiled_collation(&my_charset_ucs2_hungarian_uca_ci);
260   add_compiled_collation(&my_charset_ucs2_croatian_uca_ci);
261   add_compiled_collation(&my_charset_ucs2_sinhala_uca_ci);
262   add_compiled_collation(&my_charset_ucs2_unicode_520_ci);
263   add_compiled_collation(&my_charset_ucs2_vietnamese_ci);
264 #endif
265 #endif
266 
267 #ifdef HAVE_CHARSET_ujis
268   add_compiled_collation(&my_charset_ujis_japanese_ci);
269   add_compiled_collation(&my_charset_ujis_bin);
270 #endif
271 
272 #ifdef HAVE_CHARSET_utf8
273   add_compiled_collation(&my_charset_utf8_general_ci);
274   add_compiled_collation(&my_charset_utf8_bin);
275   add_compiled_collation(&my_charset_utf8_general_mysql500_ci);
276 #ifdef HAVE_UTF8_GENERAL_CS
277   add_compiled_collation(&my_charset_utf8_general_cs);
278 #endif
279 #ifdef HAVE_UCA_COLLATIONS
280   add_compiled_collation(&my_charset_utf8_unicode_ci);
281   add_compiled_collation(&my_charset_utf8_german2_uca_ci);
282   add_compiled_collation(&my_charset_utf8_icelandic_uca_ci);
283   add_compiled_collation(&my_charset_utf8_latvian_uca_ci);
284   add_compiled_collation(&my_charset_utf8_romanian_uca_ci);
285   add_compiled_collation(&my_charset_utf8_slovenian_uca_ci);
286   add_compiled_collation(&my_charset_utf8_polish_uca_ci);
287   add_compiled_collation(&my_charset_utf8_estonian_uca_ci);
288   add_compiled_collation(&my_charset_utf8_spanish_uca_ci);
289   add_compiled_collation(&my_charset_utf8_swedish_uca_ci);
290   add_compiled_collation(&my_charset_utf8_turkish_uca_ci);
291   add_compiled_collation(&my_charset_utf8_czech_uca_ci);
292   add_compiled_collation(&my_charset_utf8_danish_uca_ci);
293   add_compiled_collation(&my_charset_utf8_lithuanian_uca_ci);
294   add_compiled_collation(&my_charset_utf8_slovak_uca_ci);
295   add_compiled_collation(&my_charset_utf8_spanish2_uca_ci);
296   add_compiled_collation(&my_charset_utf8_roman_uca_ci);
297   add_compiled_collation(&my_charset_utf8_persian_uca_ci);
298   add_compiled_collation(&my_charset_utf8_esperanto_uca_ci);
299   add_compiled_collation(&my_charset_utf8_hungarian_uca_ci);
300   add_compiled_collation(&my_charset_utf8_croatian_uca_ci);
301   add_compiled_collation(&my_charset_utf8_sinhala_uca_ci);
302   add_compiled_collation(&my_charset_utf8_unicode_520_ci);
303   add_compiled_collation(&my_charset_utf8_vietnamese_ci);
304 #endif
305 #endif /* HAVE_CHARSET_utf8 */
306 
307 
308 #ifdef HAVE_CHARSET_utf8mb4
309   add_compiled_collation(&my_charset_utf8mb4_general_ci);
310   add_compiled_collation(&my_charset_utf8mb4_bin);
311 #ifdef HAVE_UCA_COLLATIONS
312   add_compiled_collation(&my_charset_utf8mb4_unicode_ci);
313   add_compiled_collation(&my_charset_utf8mb4_german2_uca_ci);
314   add_compiled_collation(&my_charset_utf8mb4_icelandic_uca_ci);
315   add_compiled_collation(&my_charset_utf8mb4_latvian_uca_ci);
316   add_compiled_collation(&my_charset_utf8mb4_romanian_uca_ci);
317   add_compiled_collation(&my_charset_utf8mb4_slovenian_uca_ci);
318   add_compiled_collation(&my_charset_utf8mb4_polish_uca_ci);
319   add_compiled_collation(&my_charset_utf8mb4_estonian_uca_ci);
320   add_compiled_collation(&my_charset_utf8mb4_spanish_uca_ci);
321   add_compiled_collation(&my_charset_utf8mb4_swedish_uca_ci);
322   add_compiled_collation(&my_charset_utf8mb4_turkish_uca_ci);
323   add_compiled_collation(&my_charset_utf8mb4_czech_uca_ci);
324   add_compiled_collation(&my_charset_utf8mb4_danish_uca_ci);
325   add_compiled_collation(&my_charset_utf8mb4_lithuanian_uca_ci);
326   add_compiled_collation(&my_charset_utf8mb4_slovak_uca_ci);
327   add_compiled_collation(&my_charset_utf8mb4_spanish2_uca_ci);
328   add_compiled_collation(&my_charset_utf8mb4_roman_uca_ci);
329   add_compiled_collation(&my_charset_utf8mb4_persian_uca_ci);
330   add_compiled_collation(&my_charset_utf8mb4_esperanto_uca_ci);
331   add_compiled_collation(&my_charset_utf8mb4_hungarian_uca_ci);
332   add_compiled_collation(&my_charset_utf8mb4_croatian_uca_ci);
333   add_compiled_collation(&my_charset_utf8mb4_sinhala_uca_ci);
334   add_compiled_collation(&my_charset_utf8mb4_unicode_520_ci);
335   add_compiled_collation(&my_charset_utf8mb4_vietnamese_ci);
336 #endif /* HAVE_UCA_COLLATIONS  */
337 #endif /* HAVE_CHARSET_utf8mb4 */
338 
339 
340 #ifdef HAVE_CHARSET_utf16
341   add_compiled_collation(&my_charset_utf16_general_ci);
342   add_compiled_collation(&my_charset_utf16_bin);
343   add_compiled_collation(&my_charset_utf16le_general_ci);
344   add_compiled_collation(&my_charset_utf16le_bin);
345 #ifdef HAVE_UCA_COLLATIONS
346   add_compiled_collation(&my_charset_utf16_unicode_ci);
347   add_compiled_collation(&my_charset_utf16_german2_uca_ci);
348   add_compiled_collation(&my_charset_utf16_icelandic_uca_ci);
349   add_compiled_collation(&my_charset_utf16_latvian_uca_ci);
350   add_compiled_collation(&my_charset_utf16_romanian_uca_ci);
351   add_compiled_collation(&my_charset_utf16_slovenian_uca_ci);
352   add_compiled_collation(&my_charset_utf16_polish_uca_ci);
353   add_compiled_collation(&my_charset_utf16_estonian_uca_ci);
354   add_compiled_collation(&my_charset_utf16_spanish_uca_ci);
355   add_compiled_collation(&my_charset_utf16_swedish_uca_ci);
356   add_compiled_collation(&my_charset_utf16_turkish_uca_ci);
357   add_compiled_collation(&my_charset_utf16_czech_uca_ci);
358   add_compiled_collation(&my_charset_utf16_danish_uca_ci);
359   add_compiled_collation(&my_charset_utf16_lithuanian_uca_ci);
360   add_compiled_collation(&my_charset_utf16_slovak_uca_ci);
361   add_compiled_collation(&my_charset_utf16_spanish2_uca_ci);
362   add_compiled_collation(&my_charset_utf16_roman_uca_ci);
363   add_compiled_collation(&my_charset_utf16_persian_uca_ci);
364   add_compiled_collation(&my_charset_utf16_esperanto_uca_ci);
365   add_compiled_collation(&my_charset_utf16_hungarian_uca_ci);
366   add_compiled_collation(&my_charset_utf16_croatian_uca_ci);
367   add_compiled_collation(&my_charset_utf16_sinhala_uca_ci);
368   add_compiled_collation(&my_charset_utf16_unicode_520_ci);
369   add_compiled_collation(&my_charset_utf16_vietnamese_ci);
370 #endif /* HAVE_UCA_COLLATIOINS */
371 #endif /* HAVE_CHARSET_utf16 */
372 
373 
374 #ifdef HAVE_CHARSET_utf32
375   add_compiled_collation(&my_charset_utf32_general_ci);
376   add_compiled_collation(&my_charset_utf32_bin);
377 #ifdef HAVE_UCA_COLLATIONS
378   add_compiled_collation(&my_charset_utf32_unicode_ci);
379   add_compiled_collation(&my_charset_utf32_german2_uca_ci);
380   add_compiled_collation(&my_charset_utf32_icelandic_uca_ci);
381   add_compiled_collation(&my_charset_utf32_latvian_uca_ci);
382   add_compiled_collation(&my_charset_utf32_romanian_uca_ci);
383   add_compiled_collation(&my_charset_utf32_slovenian_uca_ci);
384   add_compiled_collation(&my_charset_utf32_polish_uca_ci);
385   add_compiled_collation(&my_charset_utf32_estonian_uca_ci);
386   add_compiled_collation(&my_charset_utf32_spanish_uca_ci);
387   add_compiled_collation(&my_charset_utf32_swedish_uca_ci);
388   add_compiled_collation(&my_charset_utf32_turkish_uca_ci);
389   add_compiled_collation(&my_charset_utf32_czech_uca_ci);
390   add_compiled_collation(&my_charset_utf32_danish_uca_ci);
391   add_compiled_collation(&my_charset_utf32_lithuanian_uca_ci);
392   add_compiled_collation(&my_charset_utf32_slovak_uca_ci);
393   add_compiled_collation(&my_charset_utf32_spanish2_uca_ci);
394   add_compiled_collation(&my_charset_utf32_roman_uca_ci);
395   add_compiled_collation(&my_charset_utf32_persian_uca_ci);
396   add_compiled_collation(&my_charset_utf32_esperanto_uca_ci);
397   add_compiled_collation(&my_charset_utf32_hungarian_uca_ci);
398   add_compiled_collation(&my_charset_utf32_croatian_uca_ci);
399   add_compiled_collation(&my_charset_utf32_sinhala_uca_ci);
400   add_compiled_collation(&my_charset_utf32_unicode_520_ci);
401   add_compiled_collation(&my_charset_utf32_vietnamese_ci);
402 #endif /* HAVE_UCA_COLLATIONS */
403 #endif /* HAVE_CHARSET_utf32 */
404 
405   /* Copy compiled charsets */
406   for (cs=compiled_charsets; cs->name; cs++)
407     add_compiled_collation(cs);
408 
409   return FALSE;
410 }
411