sea_schema/mysql/def/
char_set.rs

1#[cfg(feature = "with-serde")]
2use serde::{Deserialize, Serialize};
3
4use crate as sea_schema;
5
6/// Ref: https://dev.mysql.com/doc/refman/8.0/en/charset-charsets.html
7#[derive(Clone, Debug, PartialEq, sea_query::Iden, sea_schema_derive::Name)]
8#[cfg_attr(feature = "with-serde", derive(Serialize, Deserialize))]
9#[catch = "string_to_unknown"]
10pub enum CharSet {
11    #[iden = "armscii8"]
12    Armscii8,
13    #[iden = "ascii"]
14    Ascii,
15    #[iden = "big5"]
16    Big5,
17    #[iden = "binary"]
18    Binary,
19    #[iden = "cp1250"]
20    Cp1250,
21    #[iden = "cp1251"]
22    Cp1251,
23    #[iden = "cp1256"]
24    Cp1256,
25    #[iden = "cp1257"]
26    Cp1257,
27    #[iden = "cp850"]
28    Cp850,
29    #[iden = "cp852"]
30    Cp852,
31    #[iden = "cp866"]
32    Cp866,
33    #[iden = "cp932"]
34    Cp932,
35    #[iden = "dec8"]
36    Dec8,
37    #[iden = "eucjpms"]
38    Eucjpms,
39    #[iden = "euckr"]
40    Euckr,
41    #[iden = "gb18030"]
42    Gb18030,
43    #[iden = "gb2312"]
44    Gb2312,
45    #[iden = "gbk"]
46    Gbk,
47    #[iden = "geostd8"]
48    Geostd8,
49    #[iden = "greek"]
50    Greek,
51    #[iden = "hebrew"]
52    Hebrew,
53    #[iden = "hp8"]
54    Hp8,
55    #[iden = "keybcs2"]
56    Keybcs2,
57    #[iden = "koi8r"]
58    Koi8R,
59    #[iden = "koi8u"]
60    Koi8U,
61    #[iden = "latin1"]
62    Latin1,
63    #[iden = "latin2"]
64    Latin2,
65    #[iden = "latin5"]
66    Latin5,
67    #[iden = "latin7"]
68    Latin7,
69    #[iden = "macce"]
70    Macce,
71    #[iden = "macroman"]
72    Macroman,
73    #[iden = "sjis"]
74    Sjis,
75    #[iden = "swe7"]
76    Swe7,
77    #[iden = "tis620"]
78    Tis620,
79    #[iden = "ucs2"]
80    Ucs2,
81    #[iden = "ujis"]
82    Ujis,
83    #[iden = "utf16"]
84    Utf16,
85    #[iden = "utf16le"]
86    Utf16Le,
87    #[iden = "utf32"]
88    Utf32,
89    #[iden = "utf8"]
90    Utf8,
91    #[iden = "utf8mb4"]
92    Utf8Mb4,
93    #[method = "unknown_to_string"]
94    Unknown(String),
95}
96
97/// Ref: https://dev.mysql.com/doc/refman/8.0/en/information-schema-collation-character-set-applicability-table.html
98#[derive(Clone, Debug, PartialEq, sea_query::Iden, sea_schema_derive::Name)]
99#[cfg_attr(feature = "with-serde", derive(Serialize, Deserialize))]
100#[catch = "string_to_unknown"]
101pub enum Collation {
102    #[iden = "armscii8_general_ci"]
103    Armscii8GeneralCi,
104    #[iden = "armscii8_bin"]
105    Armscii8Bin,
106    #[iden = "ascii_general_ci"]
107    AsciiGeneralCi,
108    #[iden = "ascii_bin"]
109    AsciiBin,
110    #[iden = "big5_chinese_ci"]
111    Big5ChineseCi,
112    #[iden = "big5_bin"]
113    Big5Bin,
114    #[iden = "binary"]
115    Binary,
116    #[iden = "cp1250_general_ci"]
117    Cp1250GeneralCi,
118    #[iden = "cp1250_czech_cs"]
119    Cp1250CzechCs,
120    #[iden = "cp1250_croatian_ci"]
121    Cp1250CroatianCi,
122    #[iden = "cp1250_bin"]
123    Cp1250Bin,
124    #[iden = "cp1250_polish_ci"]
125    Cp1250PolishCi,
126    #[iden = "cp1251_bulgarian_ci"]
127    Cp1251BulgarianCi,
128    #[iden = "cp1251_ukrainian_ci"]
129    Cp1251UkrainianCi,
130    #[iden = "cp1251_bin"]
131    Cp1251Bin,
132    #[iden = "cp1251_general_ci"]
133    Cp1251GeneralCi,
134    #[iden = "cp1251_general_cs"]
135    Cp1251GeneralCs,
136    #[iden = "cp1256_general_ci"]
137    Cp1256GeneralCi,
138    #[iden = "cp1256_bin"]
139    Cp1256Bin,
140    #[iden = "cp1257_lithuanian_ci"]
141    Cp1257LithuanianCi,
142    #[iden = "cp1257_bin"]
143    Cp1257Bin,
144    #[iden = "cp1257_general_ci"]
145    Cp1257GeneralCi,
146    #[iden = "cp850_general_ci"]
147    Cp850GeneralCi,
148    #[iden = "cp850_bin"]
149    Cp850Bin,
150    #[iden = "cp852_general_ci"]
151    Cp852GeneralCi,
152    #[iden = "cp852_bin"]
153    Cp852Bin,
154    #[iden = "cp866_general_ci"]
155    Cp866GeneralCi,
156    #[iden = "cp866_bin"]
157    Cp866Bin,
158    #[iden = "cp932_japanese_ci"]
159    Cp932JapaneseCi,
160    #[iden = "cp932_bin"]
161    Cp932Bin,
162    #[iden = "dec8_swedish_ci"]
163    Dec8SwedishCi,
164    #[iden = "dec8_bin"]
165    Dec8Bin,
166    #[iden = "eucjpms_japanese_ci"]
167    EucjpmsJapaneseCi,
168    #[iden = "eucjpms_bin"]
169    EucjpmsBin,
170    #[iden = "euckr_korean_ci"]
171    EuckrKoreanCi,
172    #[iden = "euckr_bin"]
173    EuckrBin,
174    #[iden = "gb18030_chinese_ci"]
175    Gb18030ChineseCi,
176    #[iden = "gb18030_bin"]
177    Gb18030Bin,
178    #[iden = "gb18030_unicode_520_ci"]
179    Gb18030Unicode520Ci,
180    #[iden = "gb2312_chinese_ci"]
181    Gb2312ChineseCi,
182    #[iden = "gb2312_bin"]
183    Gb2312Bin,
184    #[iden = "gbk_chinese_ci"]
185    GbkChineseCi,
186    #[iden = "gbk_bin"]
187    GbkBin,
188    #[iden = "geostd8_general_ci"]
189    Geostd8GeneralCi,
190    #[iden = "geostd8_bin"]
191    Geostd8Bin,
192    #[iden = "greek_general_ci"]
193    GreekGeneralCi,
194    #[iden = "greek_bin"]
195    GreekBin,
196    #[iden = "hebrew_general_ci"]
197    HebrewGeneralCi,
198    #[iden = "hebrew_bin"]
199    HebrewBin,
200    #[iden = "hp8_english_ci"]
201    Hp8EnglishCi,
202    #[iden = "hp8_bin"]
203    Hp8Bin,
204    #[iden = "keybcs2_general_ci"]
205    Keybcs2GeneralCi,
206    #[iden = "keybcs2_bin"]
207    Keybcs2Bin,
208    #[iden = "koi8r_general_ci"]
209    Koi8RGeneralCi,
210    #[iden = "koi8r_bin"]
211    Koi8RBin,
212    #[iden = "koi8u_general_ci"]
213    Koi8UGeneralCi,
214    #[iden = "koi8u_bin"]
215    Koi8UBin,
216    #[iden = "latin1_german1_ci"]
217    Latin1German1Ci,
218    #[iden = "latin1_swedish_ci"]
219    Latin1SwedishCi,
220    #[iden = "latin1_danish_ci"]
221    Latin1DanishCi,
222    #[iden = "latin1_german2_ci"]
223    Latin1German2Ci,
224    #[iden = "latin1_bin"]
225    Latin1Bin,
226    #[iden = "latin1_general_ci"]
227    Latin1GeneralCi,
228    #[iden = "latin1_general_cs"]
229    Latin1GeneralCs,
230    #[iden = "latin1_spanish_ci"]
231    Latin1SpanishCi,
232    #[iden = "latin2_czech_cs"]
233    Latin2CzechCs,
234    #[iden = "latin2_general_ci"]
235    Latin2GeneralCi,
236    #[iden = "latin2_hungarian_ci"]
237    Latin2HungarianCi,
238    #[iden = "latin2_croatian_ci"]
239    Latin2CroatianCi,
240    #[iden = "latin2_bin"]
241    Latin2Bin,
242    #[iden = "latin5_turkish_ci"]
243    Latin5TurkishCi,
244    #[iden = "latin5_bin"]
245    Latin5Bin,
246    #[iden = "latin7_estonian_cs"]
247    Latin7EstonianCs,
248    #[iden = "latin7_general_ci"]
249    Latin7GeneralCi,
250    #[iden = "latin7_general_cs"]
251    Latin7GeneralCs,
252    #[iden = "latin7_bin"]
253    Latin7Bin,
254    #[iden = "macce_general_ci"]
255    MacceGeneralCi,
256    #[iden = "macce_bin"]
257    MacceBin,
258    #[iden = "macroman_general_ci"]
259    MacromanGeneralCi,
260    #[iden = "macroman_bin"]
261    MacromanBin,
262    #[iden = "sjis_japanese_ci"]
263    SjisJapaneseCi,
264    #[iden = "sjis_bin"]
265    SjisBin,
266    #[iden = "swe7_swedish_ci"]
267    Swe7SwedishCi,
268    #[iden = "swe7_bin"]
269    Swe7Bin,
270    #[iden = "tis620_thai_ci"]
271    Tis620ThaiCi,
272    #[iden = "tis620_bin"]
273    Tis620Bin,
274    #[iden = "ucs2_general_ci"]
275    Ucs2GeneralCi,
276    #[iden = "ucs2_bin"]
277    Ucs2Bin,
278    #[iden = "ucs2_unicode_ci"]
279    Ucs2UnicodeCi,
280    #[iden = "ucs2_icelandic_ci"]
281    Ucs2IcelandicCi,
282    #[iden = "ucs2_latvian_ci"]
283    Ucs2LatvianCi,
284    #[iden = "ucs2_romanian_ci"]
285    Ucs2RomanianCi,
286    #[iden = "ucs2_slovenian_ci"]
287    Ucs2SlovenianCi,
288    #[iden = "ucs2_polish_ci"]
289    Ucs2PolishCi,
290    #[iden = "ucs2_estonian_ci"]
291    Ucs2EstonianCi,
292    #[iden = "ucs2_spanish_ci"]
293    Ucs2SpanishCi,
294    #[iden = "ucs2_swedish_ci"]
295    Ucs2SwedishCi,
296    #[iden = "ucs2_turkish_ci"]
297    Ucs2TurkishCi,
298    #[iden = "ucs2_czech_ci"]
299    Ucs2CzechCi,
300    #[iden = "ucs2_danish_ci"]
301    Ucs2DanishCi,
302    #[iden = "ucs2_lithuanian_ci"]
303    Ucs2LithuanianCi,
304    #[iden = "ucs2_slovak_ci"]
305    Ucs2SlovakCi,
306    #[iden = "ucs2_spanish2_ci"]
307    Ucs2Spanish2Ci,
308    #[iden = "ucs2_roman_ci"]
309    Ucs2RomanCi,
310    #[iden = "ucs2_persian_ci"]
311    Ucs2PersianCi,
312    #[iden = "ucs2_esperanto_ci"]
313    Ucs2EsperantoCi,
314    #[iden = "ucs2_hungarian_ci"]
315    Ucs2HungarianCi,
316    #[iden = "ucs2_sinhala_ci"]
317    Ucs2SinhalaCi,
318    #[iden = "ucs2_german2_ci"]
319    Ucs2German2Ci,
320    #[iden = "ucs2_croatian_ci"]
321    Ucs2CroatianCi,
322    #[iden = "ucs2_unicode_520_ci"]
323    Ucs2Unicode520Ci,
324    #[iden = "ucs2_vietnamese_ci"]
325    Ucs2VietnameseCi,
326    #[iden = "ucs2_general_mysql500_ci"]
327    Ucs2GeneralMysql500Ci,
328    #[iden = "ujis_japanese_ci"]
329    UjisJapaneseCi,
330    #[iden = "ujis_bin"]
331    UjisBin,
332    #[iden = "utf16_general_ci"]
333    Utf16GeneralCi,
334    #[iden = "utf16_bin"]
335    Utf16Bin,
336    #[iden = "utf16_unicode_ci"]
337    Utf16UnicodeCi,
338    #[iden = "utf16_icelandic_ci"]
339    Utf16IcelandicCi,
340    #[iden = "utf16_latvian_ci"]
341    Utf16LatvianCi,
342    #[iden = "utf16_romanian_ci"]
343    Utf16RomanianCi,
344    #[iden = "utf16_slovenian_ci"]
345    Utf16SlovenianCi,
346    #[iden = "utf16_polish_ci"]
347    Utf16PolishCi,
348    #[iden = "utf16_estonian_ci"]
349    Utf16EstonianCi,
350    #[iden = "utf16_spanish_ci"]
351    Utf16SpanishCi,
352    #[iden = "utf16_swedish_ci"]
353    Utf16SwedishCi,
354    #[iden = "utf16_turkish_ci"]
355    Utf16TurkishCi,
356    #[iden = "utf16_czech_ci"]
357    Utf16CzechCi,
358    #[iden = "utf16_danish_ci"]
359    Utf16DanishCi,
360    #[iden = "utf16_lithuanian_ci"]
361    Utf16LithuanianCi,
362    #[iden = "utf16_slovak_ci"]
363    Utf16SlovakCi,
364    #[iden = "utf16_spanish2_ci"]
365    Utf16Spanish2Ci,
366    #[iden = "utf16_roman_ci"]
367    Utf16RomanCi,
368    #[iden = "utf16_persian_ci"]
369    Utf16PersianCi,
370    #[iden = "utf16_esperanto_ci"]
371    Utf16EsperantoCi,
372    #[iden = "utf16_hungarian_ci"]
373    Utf16HungarianCi,
374    #[iden = "utf16_sinhala_ci"]
375    Utf16SinhalaCi,
376    #[iden = "utf16_german2_ci"]
377    Utf16German2Ci,
378    #[iden = "utf16_croatian_ci"]
379    Utf16CroatianCi,
380    #[iden = "utf16_unicode_520_ci"]
381    Utf16Unicode520Ci,
382    #[iden = "utf16_vietnamese_ci"]
383    Utf16VietnameseCi,
384    #[iden = "utf16le_general_ci"]
385    Utf16LeGeneralCi,
386    #[iden = "utf16le_bin"]
387    Utf16LeBin,
388    #[iden = "utf32_general_ci"]
389    Utf32GeneralCi,
390    #[iden = "utf32_bin"]
391    Utf32Bin,
392    #[iden = "utf32_unicode_ci"]
393    Utf32UnicodeCi,
394    #[iden = "utf32_icelandic_ci"]
395    Utf32IcelandicCi,
396    #[iden = "utf32_latvian_ci"]
397    Utf32LatvianCi,
398    #[iden = "utf32_romanian_ci"]
399    Utf32RomanianCi,
400    #[iden = "utf32_slovenian_ci"]
401    Utf32SlovenianCi,
402    #[iden = "utf32_polish_ci"]
403    Utf32PolishCi,
404    #[iden = "utf32_estonian_ci"]
405    Utf32EstonianCi,
406    #[iden = "utf32_spanish_ci"]
407    Utf32SpanishCi,
408    #[iden = "utf32_swedish_ci"]
409    Utf32SwedishCi,
410    #[iden = "utf32_turkish_ci"]
411    Utf32TurkishCi,
412    #[iden = "utf32_czech_ci"]
413    Utf32CzechCi,
414    #[iden = "utf32_danish_ci"]
415    Utf32DanishCi,
416    #[iden = "utf32_lithuanian_ci"]
417    Utf32LithuanianCi,
418    #[iden = "utf32_slovak_ci"]
419    Utf32SlovakCi,
420    #[iden = "utf32_spanish2_ci"]
421    Utf32Spanish2Ci,
422    #[iden = "utf32_roman_ci"]
423    Utf32RomanCi,
424    #[iden = "utf32_persian_ci"]
425    Utf32PersianCi,
426    #[iden = "utf32_esperanto_ci"]
427    Utf32EsperantoCi,
428    #[iden = "utf32_hungarian_ci"]
429    Utf32HungarianCi,
430    #[iden = "utf32_sinhala_ci"]
431    Utf32SinhalaCi,
432    #[iden = "utf32_german2_ci"]
433    Utf32German2Ci,
434    #[iden = "utf32_croatian_ci"]
435    Utf32CroatianCi,
436    #[iden = "utf32_unicode_520_ci"]
437    Utf32Unicode520Ci,
438    #[iden = "utf32_vietnamese_ci"]
439    Utf32VietnameseCi,
440    #[iden = "utf8_general_ci"]
441    Utf8GeneralCi,
442    #[iden = "utf8_tolower_ci"]
443    Utf8TolowerCi,
444    #[iden = "utf8_bin"]
445    Utf8Bin,
446    #[iden = "utf8_unicode_ci"]
447    Utf8UnicodeCi,
448    #[iden = "utf8_icelandic_ci"]
449    Utf8IcelandicCi,
450    #[iden = "utf8_latvian_ci"]
451    Utf8LatvianCi,
452    #[iden = "utf8_romanian_ci"]
453    Utf8RomanianCi,
454    #[iden = "utf8_slovenian_ci"]
455    Utf8SlovenianCi,
456    #[iden = "utf8_polish_ci"]
457    Utf8PolishCi,
458    #[iden = "utf8_estonian_ci"]
459    Utf8EstonianCi,
460    #[iden = "utf8_spanish_ci"]
461    Utf8SpanishCi,
462    #[iden = "utf8_swedish_ci"]
463    Utf8SwedishCi,
464    #[iden = "utf8_turkish_ci"]
465    Utf8TurkishCi,
466    #[iden = "utf8_czech_ci"]
467    Utf8CzechCi,
468    #[iden = "utf8_danish_ci"]
469    Utf8DanishCi,
470    #[iden = "utf8_lithuanian_ci"]
471    Utf8LithuanianCi,
472    #[iden = "utf8_slovak_ci"]
473    Utf8SlovakCi,
474    #[iden = "utf8_spanish2_ci"]
475    Utf8Spanish2Ci,
476    #[iden = "utf8_roman_ci"]
477    Utf8RomanCi,
478    #[iden = "utf8_persian_ci"]
479    Utf8PersianCi,
480    #[iden = "utf8_esperanto_ci"]
481    Utf8EsperantoCi,
482    #[iden = "utf8_hungarian_ci"]
483    Utf8HungarianCi,
484    #[iden = "utf8_sinhala_ci"]
485    Utf8SinhalaCi,
486    #[iden = "utf8_german2_ci"]
487    Utf8German2Ci,
488    #[iden = "utf8_croatian_ci"]
489    Utf8CroatianCi,
490    #[iden = "utf8_unicode_520_ci"]
491    Utf8Unicode520Ci,
492    #[iden = "utf8_vietnamese_ci"]
493    Utf8VietnameseCi,
494    #[iden = "utf8_general_mysql500_ci"]
495    Utf8GeneralMysql500Ci,
496    #[iden = "utf8mb4_general_ci"]
497    Utf8Mb4GeneralCi,
498    #[iden = "utf8mb4_bin"]
499    Utf8Mb4Bin,
500    #[iden = "utf8mb4_unicode_ci"]
501    Utf8Mb4UnicodeCi,
502    #[iden = "utf8mb4_icelandic_ci"]
503    Utf8Mb4IcelandicCi,
504    #[iden = "utf8mb4_latvian_ci"]
505    Utf8Mb4LatvianCi,
506    #[iden = "utf8mb4_romanian_ci"]
507    Utf8Mb4RomanianCi,
508    #[iden = "utf8mb4_slovenian_ci"]
509    Utf8Mb4SlovenianCi,
510    #[iden = "utf8mb4_polish_ci"]
511    Utf8Mb4PolishCi,
512    #[iden = "utf8mb4_estonian_ci"]
513    Utf8Mb4EstonianCi,
514    #[iden = "utf8mb4_spanish_ci"]
515    Utf8Mb4SpanishCi,
516    #[iden = "utf8mb4_swedish_ci"]
517    Utf8Mb4SwedishCi,
518    #[iden = "utf8mb4_turkish_ci"]
519    Utf8Mb4TurkishCi,
520    #[iden = "utf8mb4_czech_ci"]
521    Utf8Mb4CzechCi,
522    #[iden = "utf8mb4_danish_ci"]
523    Utf8Mb4DanishCi,
524    #[iden = "utf8mb4_lithuanian_ci"]
525    Utf8Mb4LithuanianCi,
526    #[iden = "utf8mb4_slovak_ci"]
527    Utf8Mb4SlovakCi,
528    #[iden = "utf8mb4_spanish2_ci"]
529    Utf8Mb4Spanish2Ci,
530    #[iden = "utf8mb4_roman_ci"]
531    Utf8Mb4RomanCi,
532    #[iden = "utf8mb4_persian_ci"]
533    Utf8Mb4PersianCi,
534    #[iden = "utf8mb4_esperanto_ci"]
535    Utf8Mb4EsperantoCi,
536    #[iden = "utf8mb4_hungarian_ci"]
537    Utf8Mb4HungarianCi,
538    #[iden = "utf8mb4_sinhala_ci"]
539    Utf8Mb4SinhalaCi,
540    #[iden = "utf8mb4_german2_ci"]
541    Utf8Mb4German2Ci,
542    #[iden = "utf8mb4_croatian_ci"]
543    Utf8Mb4CroatianCi,
544    #[iden = "utf8mb4_unicode_520_ci"]
545    Utf8Mb4Unicode520Ci,
546    #[iden = "utf8mb4_vietnamese_ci"]
547    Utf8Mb4VietnameseCi,
548    #[iden = "utf8mb4_0900_ai_ci"]
549    Utf8Mb40900AiCi,
550    #[iden = "utf8mb4_de_pb_0900_ai_ci"]
551    Utf8Mb4DePb0900AiCi,
552    #[iden = "utf8mb4_is_0900_ai_ci"]
553    Utf8Mb4Is0900AiCi,
554    #[iden = "utf8mb4_lv_0900_ai_ci"]
555    Utf8Mb4Lv0900AiCi,
556    #[iden = "utf8mb4_ro_0900_ai_ci"]
557    Utf8Mb4Ro0900AiCi,
558    #[iden = "utf8mb4_sl_0900_ai_ci"]
559    Utf8Mb4Sl0900AiCi,
560    #[iden = "utf8mb4_pl_0900_ai_ci"]
561    Utf8Mb4Pl0900AiCi,
562    #[iden = "utf8mb4_et_0900_ai_ci"]
563    Utf8Mb4Et0900AiCi,
564    #[iden = "utf8mb4_es_0900_ai_ci"]
565    Utf8Mb4Es0900AiCi,
566    #[iden = "utf8mb4_sv_0900_ai_ci"]
567    Utf8Mb4Sv0900AiCi,
568    #[iden = "utf8mb4_tr_0900_ai_ci"]
569    Utf8Mb4Tr0900AiCi,
570    #[iden = "utf8mb4_cs_0900_ai_ci"]
571    Utf8Mb4Cs0900AiCi,
572    #[iden = "utf8mb4_da_0900_ai_ci"]
573    Utf8Mb4Da0900AiCi,
574    #[iden = "utf8mb4_lt_0900_ai_ci"]
575    Utf8Mb4Lt0900AiCi,
576    #[iden = "utf8mb4_sk_0900_ai_ci"]
577    Utf8Mb4Sk0900AiCi,
578    #[iden = "utf8mb4_es_trad_0900_ai_ci"]
579    Utf8Mb4EsTrad0900AiCi,
580    #[iden = "utf8mb4_la_0900_ai_ci"]
581    Utf8Mb4La0900AiCi,
582    #[iden = "utf8mb4_eo_0900_ai_ci"]
583    Utf8Mb4Eo0900AiCi,
584    #[iden = "utf8mb4_hu_0900_ai_ci"]
585    Utf8Mb4Hu0900AiCi,
586    #[iden = "utf8mb4_hr_0900_ai_ci"]
587    Utf8Mb4Hr0900AiCi,
588    #[iden = "utf8mb4_vi_0900_ai_ci"]
589    Utf8Mb4Vi0900AiCi,
590    #[iden = "utf8mb4_0900_as_cs"]
591    Utf8Mb40900AsCs,
592    #[iden = "utf8mb4_de_pb_0900_as_cs"]
593    Utf8Mb4DePb0900AsCs,
594    #[iden = "utf8mb4_is_0900_as_cs"]
595    Utf8Mb4Is0900AsCs,
596    #[iden = "utf8mb4_lv_0900_as_cs"]
597    Utf8Mb4Lv0900AsCs,
598    #[iden = "utf8mb4_ro_0900_as_cs"]
599    Utf8Mb4Ro0900AsCs,
600    #[iden = "utf8mb4_sl_0900_as_cs"]
601    Utf8Mb4Sl0900AsCs,
602    #[iden = "utf8mb4_pl_0900_as_cs"]
603    Utf8Mb4Pl0900AsCs,
604    #[iden = "utf8mb4_et_0900_as_cs"]
605    Utf8Mb4Et0900AsCs,
606    #[iden = "utf8mb4_es_0900_as_cs"]
607    Utf8Mb4Es0900AsCs,
608    #[iden = "utf8mb4_sv_0900_as_cs"]
609    Utf8Mb4Sv0900AsCs,
610    #[iden = "utf8mb4_tr_0900_as_cs"]
611    Utf8Mb4Tr0900AsCs,
612    #[iden = "utf8mb4_cs_0900_as_cs"]
613    Utf8Mb4Cs0900AsCs,
614    #[iden = "utf8mb4_da_0900_as_cs"]
615    Utf8Mb4Da0900AsCs,
616    #[iden = "utf8mb4_lt_0900_as_cs"]
617    Utf8Mb4Lt0900AsCs,
618    #[iden = "utf8mb4_sk_0900_as_cs"]
619    Utf8Mb4Sk0900AsCs,
620    #[iden = "utf8mb4_es_trad_0900_as_cs"]
621    Utf8Mb4EsTrad0900AsCs,
622    #[iden = "utf8mb4_la_0900_as_cs"]
623    Utf8Mb4La0900AsCs,
624    #[iden = "utf8mb4_eo_0900_as_cs"]
625    Utf8Mb4Eo0900AsCs,
626    #[iden = "utf8mb4_hu_0900_as_cs"]
627    Utf8Mb4Hu0900AsCs,
628    #[iden = "utf8mb4_hr_0900_as_cs"]
629    Utf8Mb4Hr0900AsCs,
630    #[iden = "utf8mb4_vi_0900_as_cs"]
631    Utf8Mb4Vi0900AsCs,
632    #[iden = "utf8mb4_ja_0900_as_cs"]
633    Utf8Mb4Ja0900AsCs,
634    #[iden = "utf8mb4_ja_0900_as_cs_ks"]
635    Utf8Mb4Ja0900AsCsKs,
636    #[iden = "utf8mb4_0900_as_ci"]
637    Utf8Mb40900AsCi,
638    #[iden = "utf8mb4_ru_0900_ai_ci"]
639    Utf8Mb4Ru0900AiCi,
640    #[iden = "utf8mb4_ru_0900_as_cs"]
641    Utf8Mb4Ru0900AsCs,
642    #[iden = "utf8mb4_zh_0900_as_cs"]
643    Utf8Mb4Zh0900AsCs,
644    #[iden = "utf8mb4_0900_bin"]
645    Utf8Mb40900Bin,
646    #[method = "unknown_to_string"]
647    Unknown(String),
648}
649
650impl CharSet {
651    pub fn description(&self) -> String {
652        match self {
653            Self::Armscii8 => "ARMSCII-8 Armenian".to_owned(),
654            Self::Ascii => "US ASCII".to_owned(),
655            Self::Big5 => "Big5 Traditional Chinese".to_owned(),
656            Self::Binary => "Binary pseudo charset".to_owned(),
657            Self::Cp1250 => "Windows Central European".to_owned(),
658            Self::Cp1251 => "Windows Cyrillic".to_owned(),
659            Self::Cp1256 => "Windows Arabic".to_owned(),
660            Self::Cp1257 => "Windows Baltic".to_owned(),
661            Self::Cp850 => "DOS West European".to_owned(),
662            Self::Cp852 => "DOS Central European".to_owned(),
663            Self::Cp866 => "DOS Russian".to_owned(),
664            Self::Cp932 => "SJIS for Windows Japanese".to_owned(),
665            Self::Dec8 => "DEC West European".to_owned(),
666            Self::Eucjpms => "UJIS for Windows Japanese".to_owned(),
667            Self::Euckr => "EUC-KR Korean".to_owned(),
668            Self::Gb18030 => "China National Standard GB18030".to_owned(),
669            Self::Gb2312 => "GB2312 Simplified Chinese".to_owned(),
670            Self::Gbk => "GBK Simplified Chinese".to_owned(),
671            Self::Geostd8 => "GEOSTD8 Georgian".to_owned(),
672            Self::Greek => "ISO 8859-7 Greek".to_owned(),
673            Self::Hebrew => "ISO 8859-8 Hebrew".to_owned(),
674            Self::Hp8 => "HP West European".to_owned(),
675            Self::Keybcs2 => "DOS Kamenicky Czech-Slovak".to_owned(),
676            Self::Koi8R => "KOI8-R Relcom Russian".to_owned(),
677            Self::Koi8U => "KOI8-U Ukrainian".to_owned(),
678            Self::Latin1 => "cp1252 West European".to_owned(),
679            Self::Latin2 => "ISO 8859-2 Central European".to_owned(),
680            Self::Latin5 => "ISO 8859-9 Turkish".to_owned(),
681            Self::Latin7 => "ISO 8859-13 Baltic".to_owned(),
682            Self::Macce => "Mac Central European".to_owned(),
683            Self::Macroman => "Mac West European".to_owned(),
684            Self::Sjis => "Shift-JIS Japanese".to_owned(),
685            Self::Swe7 => "7bit Swedish".to_owned(),
686            Self::Tis620 => "TIS620 Thai".to_owned(),
687            Self::Ucs2 => "UCS-2 Unicode".to_owned(),
688            Self::Ujis => "EUC-JP Japanese".to_owned(),
689            Self::Utf16 => "UTF-16 Unicode".to_owned(),
690            Self::Utf16Le => "UTF-16LE Unicode".to_owned(),
691            Self::Utf32 => "UTF-32 Unicode".to_owned(),
692            Self::Utf8 => "UTF-8 Unicode".to_owned(),
693            Self::Utf8Mb4 => "UTF-8 Unicode".to_owned(),
694            Self::Unknown(_) => "Unknown".to_owned(),
695        }
696    }
697
698    pub fn default_collation(&self) -> Collation {
699        match self {
700            Self::Armscii8 => Collation::Armscii8GeneralCi,
701            Self::Ascii => Collation::AsciiGeneralCi,
702            Self::Big5 => Collation::Big5ChineseCi,
703            Self::Binary => Collation::Binary,
704            Self::Cp1250 => Collation::Cp1250GeneralCi,
705            Self::Cp1251 => Collation::Cp1251GeneralCi,
706            Self::Cp1256 => Collation::Cp1256GeneralCi,
707            Self::Cp1257 => Collation::Cp1257GeneralCi,
708            Self::Cp850 => Collation::Cp850GeneralCi,
709            Self::Cp852 => Collation::Cp852GeneralCi,
710            Self::Cp866 => Collation::Cp866GeneralCi,
711            Self::Cp932 => Collation::Cp932JapaneseCi,
712            Self::Dec8 => Collation::Dec8SwedishCi,
713            Self::Eucjpms => Collation::EucjpmsJapaneseCi,
714            Self::Euckr => Collation::EuckrKoreanCi,
715            Self::Gb18030 => Collation::Gb18030ChineseCi,
716            Self::Gb2312 => Collation::Gb2312ChineseCi,
717            Self::Gbk => Collation::GbkChineseCi,
718            Self::Geostd8 => Collation::Geostd8GeneralCi,
719            Self::Greek => Collation::GreekGeneralCi,
720            Self::Hebrew => Collation::HebrewGeneralCi,
721            Self::Hp8 => Collation::Hp8EnglishCi,
722            Self::Keybcs2 => Collation::Keybcs2GeneralCi,
723            Self::Koi8R => Collation::Koi8RGeneralCi,
724            Self::Koi8U => Collation::Koi8UGeneralCi,
725            Self::Latin1 => Collation::Latin1SwedishCi,
726            Self::Latin2 => Collation::Latin2GeneralCi,
727            Self::Latin5 => Collation::Latin5TurkishCi,
728            Self::Latin7 => Collation::Latin7GeneralCi,
729            Self::Macce => Collation::MacceGeneralCi,
730            Self::Macroman => Collation::MacromanGeneralCi,
731            Self::Sjis => Collation::SjisJapaneseCi,
732            Self::Swe7 => Collation::Swe7SwedishCi,
733            Self::Tis620 => Collation::Tis620ThaiCi,
734            Self::Ucs2 => Collation::Ucs2GeneralCi,
735            Self::Ujis => Collation::UjisJapaneseCi,
736            Self::Utf16 => Collation::Utf16GeneralCi,
737            Self::Utf16Le => Collation::Utf16LeGeneralCi,
738            Self::Utf32 => Collation::Utf32GeneralCi,
739            Self::Utf8 => Collation::Utf8GeneralCi,
740            Self::Utf8Mb4 => Collation::Utf8Mb40900AiCi,
741            Self::Unknown(_) => panic!("unknown"),
742        }
743    }
744
745    pub fn max_len(&self) -> u32 {
746        match self {
747            Self::Armscii8 => 1,
748            Self::Ascii => 1,
749            Self::Big5 => 2,
750            Self::Binary => 1,
751            Self::Cp1250 => 1,
752            Self::Cp1251 => 1,
753            Self::Cp1256 => 1,
754            Self::Cp1257 => 1,
755            Self::Cp850 => 1,
756            Self::Cp852 => 1,
757            Self::Cp866 => 1,
758            Self::Cp932 => 2,
759            Self::Dec8 => 1,
760            Self::Eucjpms => 3,
761            Self::Euckr => 2,
762            Self::Gb18030 => 4,
763            Self::Gb2312 => 2,
764            Self::Gbk => 2,
765            Self::Geostd8 => 1,
766            Self::Greek => 1,
767            Self::Hebrew => 1,
768            Self::Hp8 => 1,
769            Self::Keybcs2 => 1,
770            Self::Koi8R => 1,
771            Self::Koi8U => 1,
772            Self::Latin1 => 1,
773            Self::Latin2 => 1,
774            Self::Latin5 => 1,
775            Self::Latin7 => 1,
776            Self::Macce => 1,
777            Self::Macroman => 1,
778            Self::Sjis => 2,
779            Self::Swe7 => 1,
780            Self::Tis620 => 1,
781            Self::Ucs2 => 2,
782            Self::Ujis => 3,
783            Self::Utf16 => 4,
784            Self::Utf16Le => 4,
785            Self::Utf32 => 4,
786            Self::Utf8 => 3,
787            Self::Utf8Mb4 => 4,
788            Self::Unknown(_) => panic!("unknown"),
789        }
790    }
791
792    pub fn unknown_to_string(&self) -> &String {
793        match self {
794            Self::Unknown(custom) => custom,
795            _ => panic!("not Unknown"),
796        }
797    }
798
799    pub fn string_to_unknown(string: &str) -> Option<Self> {
800        Some(Self::Unknown(string.to_string()))
801    }
802}
803
804impl Collation {
805    pub fn char_set(&self) -> CharSet {
806        match self {
807            Self::Armscii8GeneralCi => CharSet::Armscii8,
808            Self::Armscii8Bin => CharSet::Armscii8,
809            Self::AsciiGeneralCi => CharSet::Ascii,
810            Self::AsciiBin => CharSet::Ascii,
811            Self::Big5ChineseCi => CharSet::Big5,
812            Self::Big5Bin => CharSet::Big5,
813            Self::Binary => CharSet::Binary,
814            Self::Cp1250GeneralCi => CharSet::Cp1250,
815            Self::Cp1250CzechCs => CharSet::Cp1250,
816            Self::Cp1250CroatianCi => CharSet::Cp1250,
817            Self::Cp1250Bin => CharSet::Cp1250,
818            Self::Cp1250PolishCi => CharSet::Cp1250,
819            Self::Cp1251BulgarianCi => CharSet::Cp1251,
820            Self::Cp1251UkrainianCi => CharSet::Cp1251,
821            Self::Cp1251Bin => CharSet::Cp1251,
822            Self::Cp1251GeneralCi => CharSet::Cp1251,
823            Self::Cp1251GeneralCs => CharSet::Cp1251,
824            Self::Cp1256GeneralCi => CharSet::Cp1256,
825            Self::Cp1256Bin => CharSet::Cp1256,
826            Self::Cp1257LithuanianCi => CharSet::Cp1257,
827            Self::Cp1257Bin => CharSet::Cp1257,
828            Self::Cp1257GeneralCi => CharSet::Cp1257,
829            Self::Cp850GeneralCi => CharSet::Cp850,
830            Self::Cp850Bin => CharSet::Cp850,
831            Self::Cp852GeneralCi => CharSet::Cp852,
832            Self::Cp852Bin => CharSet::Cp852,
833            Self::Cp866GeneralCi => CharSet::Cp866,
834            Self::Cp866Bin => CharSet::Cp866,
835            Self::Cp932JapaneseCi => CharSet::Cp932,
836            Self::Cp932Bin => CharSet::Cp932,
837            Self::Dec8SwedishCi => CharSet::Dec8,
838            Self::Dec8Bin => CharSet::Dec8,
839            Self::EucjpmsJapaneseCi => CharSet::Eucjpms,
840            Self::EucjpmsBin => CharSet::Eucjpms,
841            Self::EuckrKoreanCi => CharSet::Euckr,
842            Self::EuckrBin => CharSet::Euckr,
843            Self::Gb18030ChineseCi => CharSet::Gb18030,
844            Self::Gb18030Bin => CharSet::Gb18030,
845            Self::Gb18030Unicode520Ci => CharSet::Gb18030,
846            Self::Gb2312ChineseCi => CharSet::Gb2312,
847            Self::Gb2312Bin => CharSet::Gb2312,
848            Self::GbkChineseCi => CharSet::Gbk,
849            Self::GbkBin => CharSet::Gbk,
850            Self::Geostd8GeneralCi => CharSet::Geostd8,
851            Self::Geostd8Bin => CharSet::Geostd8,
852            Self::GreekGeneralCi => CharSet::Greek,
853            Self::GreekBin => CharSet::Greek,
854            Self::HebrewGeneralCi => CharSet::Hebrew,
855            Self::HebrewBin => CharSet::Hebrew,
856            Self::Hp8EnglishCi => CharSet::Hp8,
857            Self::Hp8Bin => CharSet::Hp8,
858            Self::Keybcs2GeneralCi => CharSet::Keybcs2,
859            Self::Keybcs2Bin => CharSet::Keybcs2,
860            Self::Koi8RGeneralCi => CharSet::Koi8R,
861            Self::Koi8RBin => CharSet::Koi8R,
862            Self::Koi8UGeneralCi => CharSet::Koi8U,
863            Self::Koi8UBin => CharSet::Koi8U,
864            Self::Latin1German1Ci => CharSet::Latin1,
865            Self::Latin1SwedishCi => CharSet::Latin1,
866            Self::Latin1DanishCi => CharSet::Latin1,
867            Self::Latin1German2Ci => CharSet::Latin1,
868            Self::Latin1Bin => CharSet::Latin1,
869            Self::Latin1GeneralCi => CharSet::Latin1,
870            Self::Latin1GeneralCs => CharSet::Latin1,
871            Self::Latin1SpanishCi => CharSet::Latin1,
872            Self::Latin2CzechCs => CharSet::Latin2,
873            Self::Latin2GeneralCi => CharSet::Latin2,
874            Self::Latin2HungarianCi => CharSet::Latin2,
875            Self::Latin2CroatianCi => CharSet::Latin2,
876            Self::Latin2Bin => CharSet::Latin2,
877            Self::Latin5TurkishCi => CharSet::Latin5,
878            Self::Latin5Bin => CharSet::Latin5,
879            Self::Latin7EstonianCs => CharSet::Latin7,
880            Self::Latin7GeneralCi => CharSet::Latin7,
881            Self::Latin7GeneralCs => CharSet::Latin7,
882            Self::Latin7Bin => CharSet::Latin7,
883            Self::MacceGeneralCi => CharSet::Macce,
884            Self::MacceBin => CharSet::Macce,
885            Self::MacromanGeneralCi => CharSet::Macroman,
886            Self::MacromanBin => CharSet::Macroman,
887            Self::SjisJapaneseCi => CharSet::Sjis,
888            Self::SjisBin => CharSet::Sjis,
889            Self::Swe7SwedishCi => CharSet::Swe7,
890            Self::Swe7Bin => CharSet::Swe7,
891            Self::Tis620ThaiCi => CharSet::Tis620,
892            Self::Tis620Bin => CharSet::Tis620,
893            Self::Ucs2GeneralCi => CharSet::Ucs2,
894            Self::Ucs2Bin => CharSet::Ucs2,
895            Self::Ucs2UnicodeCi => CharSet::Ucs2,
896            Self::Ucs2IcelandicCi => CharSet::Ucs2,
897            Self::Ucs2LatvianCi => CharSet::Ucs2,
898            Self::Ucs2RomanianCi => CharSet::Ucs2,
899            Self::Ucs2SlovenianCi => CharSet::Ucs2,
900            Self::Ucs2PolishCi => CharSet::Ucs2,
901            Self::Ucs2EstonianCi => CharSet::Ucs2,
902            Self::Ucs2SpanishCi => CharSet::Ucs2,
903            Self::Ucs2SwedishCi => CharSet::Ucs2,
904            Self::Ucs2TurkishCi => CharSet::Ucs2,
905            Self::Ucs2CzechCi => CharSet::Ucs2,
906            Self::Ucs2DanishCi => CharSet::Ucs2,
907            Self::Ucs2LithuanianCi => CharSet::Ucs2,
908            Self::Ucs2SlovakCi => CharSet::Ucs2,
909            Self::Ucs2Spanish2Ci => CharSet::Ucs2,
910            Self::Ucs2RomanCi => CharSet::Ucs2,
911            Self::Ucs2PersianCi => CharSet::Ucs2,
912            Self::Ucs2EsperantoCi => CharSet::Ucs2,
913            Self::Ucs2HungarianCi => CharSet::Ucs2,
914            Self::Ucs2SinhalaCi => CharSet::Ucs2,
915            Self::Ucs2German2Ci => CharSet::Ucs2,
916            Self::Ucs2CroatianCi => CharSet::Ucs2,
917            Self::Ucs2Unicode520Ci => CharSet::Ucs2,
918            Self::Ucs2VietnameseCi => CharSet::Ucs2,
919            Self::Ucs2GeneralMysql500Ci => CharSet::Ucs2,
920            Self::UjisJapaneseCi => CharSet::Ujis,
921            Self::UjisBin => CharSet::Ujis,
922            Self::Utf16GeneralCi => CharSet::Utf16,
923            Self::Utf16Bin => CharSet::Utf16,
924            Self::Utf16UnicodeCi => CharSet::Utf16,
925            Self::Utf16IcelandicCi => CharSet::Utf16,
926            Self::Utf16LatvianCi => CharSet::Utf16,
927            Self::Utf16RomanianCi => CharSet::Utf16,
928            Self::Utf16SlovenianCi => CharSet::Utf16,
929            Self::Utf16PolishCi => CharSet::Utf16,
930            Self::Utf16EstonianCi => CharSet::Utf16,
931            Self::Utf16SpanishCi => CharSet::Utf16,
932            Self::Utf16SwedishCi => CharSet::Utf16,
933            Self::Utf16TurkishCi => CharSet::Utf16,
934            Self::Utf16CzechCi => CharSet::Utf16,
935            Self::Utf16DanishCi => CharSet::Utf16,
936            Self::Utf16LithuanianCi => CharSet::Utf16,
937            Self::Utf16SlovakCi => CharSet::Utf16,
938            Self::Utf16Spanish2Ci => CharSet::Utf16,
939            Self::Utf16RomanCi => CharSet::Utf16,
940            Self::Utf16PersianCi => CharSet::Utf16,
941            Self::Utf16EsperantoCi => CharSet::Utf16,
942            Self::Utf16HungarianCi => CharSet::Utf16,
943            Self::Utf16SinhalaCi => CharSet::Utf16,
944            Self::Utf16German2Ci => CharSet::Utf16,
945            Self::Utf16CroatianCi => CharSet::Utf16,
946            Self::Utf16Unicode520Ci => CharSet::Utf16,
947            Self::Utf16VietnameseCi => CharSet::Utf16,
948            Self::Utf16LeGeneralCi => CharSet::Utf16Le,
949            Self::Utf16LeBin => CharSet::Utf16Le,
950            Self::Utf32GeneralCi => CharSet::Utf32,
951            Self::Utf32Bin => CharSet::Utf32,
952            Self::Utf32UnicodeCi => CharSet::Utf32,
953            Self::Utf32IcelandicCi => CharSet::Utf32,
954            Self::Utf32LatvianCi => CharSet::Utf32,
955            Self::Utf32RomanianCi => CharSet::Utf32,
956            Self::Utf32SlovenianCi => CharSet::Utf32,
957            Self::Utf32PolishCi => CharSet::Utf32,
958            Self::Utf32EstonianCi => CharSet::Utf32,
959            Self::Utf32SpanishCi => CharSet::Utf32,
960            Self::Utf32SwedishCi => CharSet::Utf32,
961            Self::Utf32TurkishCi => CharSet::Utf32,
962            Self::Utf32CzechCi => CharSet::Utf32,
963            Self::Utf32DanishCi => CharSet::Utf32,
964            Self::Utf32LithuanianCi => CharSet::Utf32,
965            Self::Utf32SlovakCi => CharSet::Utf32,
966            Self::Utf32Spanish2Ci => CharSet::Utf32,
967            Self::Utf32RomanCi => CharSet::Utf32,
968            Self::Utf32PersianCi => CharSet::Utf32,
969            Self::Utf32EsperantoCi => CharSet::Utf32,
970            Self::Utf32HungarianCi => CharSet::Utf32,
971            Self::Utf32SinhalaCi => CharSet::Utf32,
972            Self::Utf32German2Ci => CharSet::Utf32,
973            Self::Utf32CroatianCi => CharSet::Utf32,
974            Self::Utf32Unicode520Ci => CharSet::Utf32,
975            Self::Utf32VietnameseCi => CharSet::Utf32,
976            Self::Utf8GeneralCi => CharSet::Utf8,
977            Self::Utf8TolowerCi => CharSet::Utf8,
978            Self::Utf8Bin => CharSet::Utf8,
979            Self::Utf8UnicodeCi => CharSet::Utf8,
980            Self::Utf8IcelandicCi => CharSet::Utf8,
981            Self::Utf8LatvianCi => CharSet::Utf8,
982            Self::Utf8RomanianCi => CharSet::Utf8,
983            Self::Utf8SlovenianCi => CharSet::Utf8,
984            Self::Utf8PolishCi => CharSet::Utf8,
985            Self::Utf8EstonianCi => CharSet::Utf8,
986            Self::Utf8SpanishCi => CharSet::Utf8,
987            Self::Utf8SwedishCi => CharSet::Utf8,
988            Self::Utf8TurkishCi => CharSet::Utf8,
989            Self::Utf8CzechCi => CharSet::Utf8,
990            Self::Utf8DanishCi => CharSet::Utf8,
991            Self::Utf8LithuanianCi => CharSet::Utf8,
992            Self::Utf8SlovakCi => CharSet::Utf8,
993            Self::Utf8Spanish2Ci => CharSet::Utf8,
994            Self::Utf8RomanCi => CharSet::Utf8,
995            Self::Utf8PersianCi => CharSet::Utf8,
996            Self::Utf8EsperantoCi => CharSet::Utf8,
997            Self::Utf8HungarianCi => CharSet::Utf8,
998            Self::Utf8SinhalaCi => CharSet::Utf8,
999            Self::Utf8German2Ci => CharSet::Utf8,
1000            Self::Utf8CroatianCi => CharSet::Utf8,
1001            Self::Utf8Unicode520Ci => CharSet::Utf8,
1002            Self::Utf8VietnameseCi => CharSet::Utf8,
1003            Self::Utf8GeneralMysql500Ci => CharSet::Utf8,
1004            Self::Utf8Mb4GeneralCi => CharSet::Utf8Mb4,
1005            Self::Utf8Mb4Bin => CharSet::Utf8Mb4,
1006            Self::Utf8Mb4UnicodeCi => CharSet::Utf8Mb4,
1007            Self::Utf8Mb4IcelandicCi => CharSet::Utf8Mb4,
1008            Self::Utf8Mb4LatvianCi => CharSet::Utf8Mb4,
1009            Self::Utf8Mb4RomanianCi => CharSet::Utf8Mb4,
1010            Self::Utf8Mb4SlovenianCi => CharSet::Utf8Mb4,
1011            Self::Utf8Mb4PolishCi => CharSet::Utf8Mb4,
1012            Self::Utf8Mb4EstonianCi => CharSet::Utf8Mb4,
1013            Self::Utf8Mb4SpanishCi => CharSet::Utf8Mb4,
1014            Self::Utf8Mb4SwedishCi => CharSet::Utf8Mb4,
1015            Self::Utf8Mb4TurkishCi => CharSet::Utf8Mb4,
1016            Self::Utf8Mb4CzechCi => CharSet::Utf8Mb4,
1017            Self::Utf8Mb4DanishCi => CharSet::Utf8Mb4,
1018            Self::Utf8Mb4LithuanianCi => CharSet::Utf8Mb4,
1019            Self::Utf8Mb4SlovakCi => CharSet::Utf8Mb4,
1020            Self::Utf8Mb4Spanish2Ci => CharSet::Utf8Mb4,
1021            Self::Utf8Mb4RomanCi => CharSet::Utf8Mb4,
1022            Self::Utf8Mb4PersianCi => CharSet::Utf8Mb4,
1023            Self::Utf8Mb4EsperantoCi => CharSet::Utf8Mb4,
1024            Self::Utf8Mb4HungarianCi => CharSet::Utf8Mb4,
1025            Self::Utf8Mb4SinhalaCi => CharSet::Utf8Mb4,
1026            Self::Utf8Mb4German2Ci => CharSet::Utf8Mb4,
1027            Self::Utf8Mb4CroatianCi => CharSet::Utf8Mb4,
1028            Self::Utf8Mb4Unicode520Ci => CharSet::Utf8Mb4,
1029            Self::Utf8Mb4VietnameseCi => CharSet::Utf8Mb4,
1030            Self::Utf8Mb40900AiCi => CharSet::Utf8Mb4,
1031            Self::Utf8Mb4DePb0900AiCi => CharSet::Utf8Mb4,
1032            Self::Utf8Mb4Is0900AiCi => CharSet::Utf8Mb4,
1033            Self::Utf8Mb4Lv0900AiCi => CharSet::Utf8Mb4,
1034            Self::Utf8Mb4Ro0900AiCi => CharSet::Utf8Mb4,
1035            Self::Utf8Mb4Sl0900AiCi => CharSet::Utf8Mb4,
1036            Self::Utf8Mb4Pl0900AiCi => CharSet::Utf8Mb4,
1037            Self::Utf8Mb4Et0900AiCi => CharSet::Utf8Mb4,
1038            Self::Utf8Mb4Es0900AiCi => CharSet::Utf8Mb4,
1039            Self::Utf8Mb4Sv0900AiCi => CharSet::Utf8Mb4,
1040            Self::Utf8Mb4Tr0900AiCi => CharSet::Utf8Mb4,
1041            Self::Utf8Mb4Cs0900AiCi => CharSet::Utf8Mb4,
1042            Self::Utf8Mb4Da0900AiCi => CharSet::Utf8Mb4,
1043            Self::Utf8Mb4Lt0900AiCi => CharSet::Utf8Mb4,
1044            Self::Utf8Mb4Sk0900AiCi => CharSet::Utf8Mb4,
1045            Self::Utf8Mb4EsTrad0900AiCi => CharSet::Utf8Mb4,
1046            Self::Utf8Mb4La0900AiCi => CharSet::Utf8Mb4,
1047            Self::Utf8Mb4Eo0900AiCi => CharSet::Utf8Mb4,
1048            Self::Utf8Mb4Hu0900AiCi => CharSet::Utf8Mb4,
1049            Self::Utf8Mb4Hr0900AiCi => CharSet::Utf8Mb4,
1050            Self::Utf8Mb4Vi0900AiCi => CharSet::Utf8Mb4,
1051            Self::Utf8Mb40900AsCs => CharSet::Utf8Mb4,
1052            Self::Utf8Mb4DePb0900AsCs => CharSet::Utf8Mb4,
1053            Self::Utf8Mb4Is0900AsCs => CharSet::Utf8Mb4,
1054            Self::Utf8Mb4Lv0900AsCs => CharSet::Utf8Mb4,
1055            Self::Utf8Mb4Ro0900AsCs => CharSet::Utf8Mb4,
1056            Self::Utf8Mb4Sl0900AsCs => CharSet::Utf8Mb4,
1057            Self::Utf8Mb4Pl0900AsCs => CharSet::Utf8Mb4,
1058            Self::Utf8Mb4Et0900AsCs => CharSet::Utf8Mb4,
1059            Self::Utf8Mb4Es0900AsCs => CharSet::Utf8Mb4,
1060            Self::Utf8Mb4Sv0900AsCs => CharSet::Utf8Mb4,
1061            Self::Utf8Mb4Tr0900AsCs => CharSet::Utf8Mb4,
1062            Self::Utf8Mb4Cs0900AsCs => CharSet::Utf8Mb4,
1063            Self::Utf8Mb4Da0900AsCs => CharSet::Utf8Mb4,
1064            Self::Utf8Mb4Lt0900AsCs => CharSet::Utf8Mb4,
1065            Self::Utf8Mb4Sk0900AsCs => CharSet::Utf8Mb4,
1066            Self::Utf8Mb4EsTrad0900AsCs => CharSet::Utf8Mb4,
1067            Self::Utf8Mb4La0900AsCs => CharSet::Utf8Mb4,
1068            Self::Utf8Mb4Eo0900AsCs => CharSet::Utf8Mb4,
1069            Self::Utf8Mb4Hu0900AsCs => CharSet::Utf8Mb4,
1070            Self::Utf8Mb4Hr0900AsCs => CharSet::Utf8Mb4,
1071            Self::Utf8Mb4Vi0900AsCs => CharSet::Utf8Mb4,
1072            Self::Utf8Mb4Ja0900AsCs => CharSet::Utf8Mb4,
1073            Self::Utf8Mb4Ja0900AsCsKs => CharSet::Utf8Mb4,
1074            Self::Utf8Mb40900AsCi => CharSet::Utf8Mb4,
1075            Self::Utf8Mb4Ru0900AiCi => CharSet::Utf8Mb4,
1076            Self::Utf8Mb4Ru0900AsCs => CharSet::Utf8Mb4,
1077            Self::Utf8Mb4Zh0900AsCs => CharSet::Utf8Mb4,
1078            Self::Utf8Mb40900Bin => CharSet::Utf8Mb4,
1079            Self::Unknown(unknown) => CharSet::Unknown(unknown.to_owned()),
1080        }
1081    }
1082
1083    pub fn unknown_to_string(&self) -> &String {
1084        match self {
1085            Self::Unknown(custom) => custom,
1086            _ => panic!("not Unknown"),
1087        }
1088    }
1089
1090    pub fn string_to_unknown(string: &str) -> Option<Self> {
1091        Some(Self::Unknown(string.to_string()))
1092    }
1093}