Server IP : 172.67.216.182 / Your IP : 162.158.106.46 Web Server : Apache System : Linux krdc-ubuntu-s-2vcpu-4gb-amd-blr1-01.localdomain 5.15.0-142-generic #152-Ubuntu SMP Mon May 19 10:54:31 UTC 2025 x86_64 User : www ( 1000) PHP Version : 7.4.33 Disable Function : passthru,exec,system,putenv,chroot,chgrp,chown,shell_exec,popen,proc_open,pcntl_exec,ini_alter,ini_restore,dl,openlog,syslog,readlink,symlink,popepassthru,pcntl_alarm,pcntl_fork,pcntl_waitpid,pcntl_wait,pcntl_wifexited,pcntl_wifstopped,pcntl_wifsignaled,pcntl_wifcontinued,pcntl_wexitstatus,pcntl_wtermsig,pcntl_wstopsig,pcntl_signal,pcntl_signal_dispatch,pcntl_get_last_error,pcntl_strerror,pcntl_sigprocmask,pcntl_sigwaitinfo,pcntl_sigtimedwait,pcntl_exec,pcntl_getpriority,pcntl_setpriority,imap_open,apache_setenv MySQL : OFF | cURL : ON | WGET : ON | Perl : ON | Python : OFF | Sudo : ON | Pkexec : ON Directory : /www/server/mysql/src/rapid/plugin/x/mysqlxtest_src/ |
Upload File : |
/* * Copyright (c) 2015, 2023, Oracle and/or its affiliates. * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License, version 2.0, * as published by the Free Software Foundation. * * This program is also distributed with certain software (including * but not limited to OpenSSL) that is licensed under separate terms, * as designated in a particular file or component or in included license * documentation. The authors of MySQL hereby grant you an additional * permission to link the program and your derivative works with the * separately licensed software that they have included with MySQL. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License, version 2.0, for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA * 02110-1301 USA */ #include "mysqlx_charset.h" using namespace mysqlx; const Charset::Charset_entry Charset::m_charsets_info[] = { /* The list is taken from protocol/mysqlx-protocol-xplugin.rst */ { 1, "big5", "big5_chinese_ci" }, { 2, "latin2", "latin2_czech_cs" }, { 3, "dec8", "dec8_swedish_ci" }, { 4, "cp850", "cp850_general_ci" }, { 5, "latin1", "latin1_german1_ci" }, { 6, "hp8", "hp8_english_ci" }, { 7, "koi8r", "koi8r_general_ci" }, { 8, "latin1", "latin1_swedish_ci" }, { 9, "latin2", "latin2_general_ci" }, { 10, "swe7", "swe7_swedish_ci" }, { 11, "ascii", "ascii_general_ci" }, { 12, "ujis", "ujis_japanese_ci" }, { 13, "sjis", "sjis_japanese_ci" }, { 14, "cp1251", "cp1251_bulgarian_ci" }, { 15, "latin1", "latin1_danish_ci" }, { 16, "hebrew", "hebrew_general_ci" }, { 18, "tis620", "tis620_thai_ci" }, { 19, "euckr", "euckr_korean_ci" }, { 20, "latin7", "latin7_estonian_cs" }, { 21, "latin2", "latin2_hungarian_ci" }, { 22, "koi8u", "koi8u_general_ci" }, { 23, "cp1251", "cp1251_ukrainian_ci" }, { 24, "gb2312", "gb2312_chinese_ci" }, { 25, "greek", "greek_general_ci" }, { 26, "cp1250", "cp1250_general_ci" }, { 27, "latin2", "latin2_croatian_ci" }, { 28, "gbk", "gbk_chinese_ci" }, { 29, "cp1257", "cp1257_lithuanian_ci" }, { 30, "latin5", "latin5_turkish_ci" }, { 31, "latin1", "latin1_german2_ci" }, { 32, "armscii8", "armscii8_general_ci" }, { 33, "utf8", "utf8_general_ci" }, { 34, "cp1250", "cp1250_czech_cs" }, { 35, "ucs2", "ucs2_general_ci" }, { 36, "cp866", "cp866_general_ci" }, { 37, "keybcs2", "keybcs2_general_ci" }, { 38, "macce", "macce_general_ci" }, { 39, "macroman", "macroman_general_ci" }, { 40, "cp852", "cp852_general_ci" }, { 41, "latin7", "latin7_general_ci" }, { 42, "latin7", "latin7_general_cs" }, { 43, "macce", "macce_bin" }, { 44, "cp1250", "cp1250_croatian_ci" }, { 45, "utf8mb4", "utf8mb4_general_ci" }, { 46, "utf8mb4", "utf8mb4_bin" }, { 47, "latin1", "latin1_bin" }, { 48, "latin1", "latin1_general_ci" }, { 49, "latin1", "latin1_general_cs" }, { 50, "cp1251", "cp1251_bin" }, { 51, "cp1251", "cp1251_general_ci" }, { 52, "cp1251", "cp1251_general_cs" }, { 53, "macroman", "macroman_bin" }, { 54, "utf16", "utf16_general_ci" }, { 55, "utf16", "utf16_bin" }, { 56, "utf16le", "utf16le_general_ci" }, { 57, "cp1256", "cp1256_general_ci" }, { 58, "cp1257", "cp1257_bin" }, { 59, "cp1257", "cp1257_general_ci" }, { 60, "utf32", "utf32_general_ci" }, { 61, "utf32", "utf32_bin" }, { 62, "utf16le", "utf16le_bin" }, { 63, "binary", "binary" }, { 64, "armscii8", "armscii8_bin" }, { 65, "ascii", "ascii_bin" }, { 66, "cp1250", "cp1250_bin" }, { 67, "cp1256", "cp1256_bin" }, { 68, "cp866", "cp866_bin" }, { 69, "dec8", "dec8_bin" }, { 70, "greek", "greek_bin" }, { 71, "hebrew", "hebrew_bin" }, { 72, "hp8", "hp8_bin" }, { 73, "keybcs2", "keybcs2_bin" }, { 74, "koi8r", "koi8r_bin" }, { 75, "koi8u", "koi8u_bin" }, { 77, "latin2", "latin2_bin" }, { 78, "latin5", "latin5_bin" }, { 79, "latin7", "latin7_bin" }, { 80, "cp850", "cp850_bin" }, { 81, "cp852", "cp852_bin" }, { 82, "swe7", "swe7_bin" }, { 83, "utf8", "utf8_bin" }, { 84, "big5", "big5_bin" }, { 85, "euckr", "euckr_bin" }, { 86, "gb2312", "gb2312_bin" }, { 87, "gbk", "gbk_bin" }, { 88, "sjis", "sjis_bin" }, { 89, "tis620", "tis620_bin" }, { 90, "ucs2", "ucs2_bin" }, { 91, "ujis", "ujis_bin" }, { 92, "geostd8", "geostd8_general_ci" }, { 93, "geostd8", "geostd8_bin" }, { 94, "latin1", "latin1_spanish_ci" }, { 95, "cp932", "cp932_japanese_ci" }, { 96, "cp932", "cp932_bin" }, { 97, "eucjpms", "eucjpms_japanese_ci" }, { 98, "eucjpms", "eucjpms_bin" }, { 99, "cp1250", "cp1250_polish_ci" }, { 101, "utf16", "utf16_unicode_ci" }, { 102, "utf16", "utf16_icelandic_ci" }, { 103, "utf16", "utf16_latvian_ci" }, { 104, "utf16", "utf16_romanian_ci" }, { 105, "utf16", "utf16_slovenian_ci" }, { 106, "utf16", "utf16_polish_ci" }, { 107, "utf16", "utf16_estonian_ci" }, { 108, "utf16", "utf16_spanish_ci" }, { 109, "utf16", "utf16_swedish_ci" }, { 110, "utf16", "utf16_turkish_ci" }, { 111, "utf16", "utf16_czech_ci" }, { 112, "utf16", "utf16_danish_ci" }, { 113, "utf16", "utf16_lithuanian_ci" }, { 114, "utf16", "utf16_slovak_ci" }, { 115, "utf16", "utf16_spanish2_ci" }, { 116, "utf16", "utf16_roman_ci" }, { 117, "utf16", "utf16_persian_ci" }, { 118, "utf16", "utf16_esperanto_ci" }, { 119, "utf16", "utf16_hungarian_ci" }, { 120, "utf16", "utf16_sinhala_ci" }, { 121, "utf16", "utf16_german2_ci" }, { 122, "utf16", "utf16_croatian_ci" }, { 123, "utf16", "utf16_unicode_520_ci" }, { 124, "utf16", "utf16_vietnamese_ci" }, { 128, "ucs2", "ucs2_unicode_ci" }, { 129, "ucs2", "ucs2_icelandic_ci" }, { 130, "ucs2", "ucs2_latvian_ci" }, { 131, "ucs2", "ucs2_romanian_ci" }, { 132, "ucs2", "ucs2_slovenian_ci" }, { 133, "ucs2", "ucs2_polish_ci" }, { 134, "ucs2", "ucs2_estonian_ci" }, { 135, "ucs2", "ucs2_spanish_ci" }, { 136, "ucs2", "ucs2_swedish_ci" }, { 137, "ucs2", "ucs2_turkish_ci" }, { 138, "ucs2", "ucs2_czech_ci" }, { 139, "ucs2", "ucs2_danish_ci" }, { 140, "ucs2", "ucs2_lithuanian_ci" }, { 141, "ucs2", "ucs2_slovak_ci" }, { 142, "ucs2", "ucs2_spanish2_ci" }, { 143, "ucs2", "ucs2_roman_ci" }, { 144, "ucs2", "ucs2_persian_ci" }, { 145, "ucs2", "ucs2_esperanto_ci" }, { 146, "ucs2", "ucs2_hungarian_ci" }, { 147, "ucs2", "ucs2_sinhala_ci" }, { 148, "ucs2", "ucs2_german2_ci" }, { 149, "ucs2", "ucs2_croatian_ci" }, { 150, "ucs2", "ucs2_unicode_520_ci" }, { 151, "ucs2", "ucs2_vietnamese_ci" }, { 159, "ucs2", "ucs2_general_mysql500_ci" }, { 160, "utf32", "utf32_unicode_ci" }, { 161, "utf32", "utf32_icelandic_ci" }, { 162, "utf32", "utf32_latvian_ci" }, { 163, "utf32", "utf32_romanian_ci" }, { 164, "utf32", "utf32_slovenian_ci" }, { 165, "utf32", "utf32_polish_ci" }, { 166, "utf32", "utf32_estonian_ci" }, { 167, "utf32", "utf32_spanish_ci" }, { 168, "utf32", "utf32_swedish_ci" }, { 169, "utf32", "utf32_turkish_ci" }, { 170, "utf32", "utf32_czech_ci" }, { 171, "utf32", "utf32_danish_ci" }, { 172, "utf32", "utf32_lithuanian_ci" }, { 173, "utf32", "utf32_slovak_ci" }, { 174, "utf32", "utf32_spanish2_ci" }, { 175, "utf32", "utf32_roman_ci" }, { 176, "utf32", "utf32_persian_ci" }, { 177, "utf32", "utf32_esperanto_ci" }, { 178, "utf32", "utf32_hungarian_ci" }, { 179, "utf32", "utf32_sinhala_ci" }, { 180, "utf32", "utf32_german2_ci" }, { 181, "utf32", "utf32_croatian_ci" }, { 182, "utf32", "utf32_unicode_520_ci" }, { 183, "utf32", "utf32_vietnamese_ci" }, { 192, "utf8", "utf8_unicode_ci" }, { 193, "utf8", "utf8_icelandic_ci" }, { 194, "utf8", "utf8_latvian_ci" }, { 195, "utf8", "utf8_romanian_ci" }, { 196, "utf8", "utf8_slovenian_ci" }, { 197, "utf8", "utf8_polish_ci" }, { 198, "utf8", "utf8_estonian_ci" }, { 199, "utf8", "utf8_spanish_ci" }, { 200, "utf8", "utf8_swedish_ci" }, { 201, "utf8", "utf8_turkish_ci" }, { 202, "utf8", "utf8_czech_ci" }, { 203, "utf8", "utf8_danish_ci" }, { 204, "utf8", "utf8_lithuanian_ci" }, { 205, "utf8", "utf8_slovak_ci" }, { 206, "utf8", "utf8_spanish2_ci" }, { 207, "utf8", "utf8_roman_ci" }, { 208, "utf8", "utf8_persian_ci" }, { 209, "utf8", "utf8_esperanto_ci" }, { 210, "utf8", "utf8_hungarian_ci" }, { 211, "utf8", "utf8_sinhala_ci" }, { 212, "utf8", "utf8_german2_ci" }, { 213, "utf8", "utf8_croatian_ci" }, { 214, "utf8", "utf8_unicode_520_ci" }, { 215, "utf8", "utf8_vietnamese_ci" }, { 223, "utf8", "utf8_general_mysql500_ci" }, { 224, "utf8mb4", "utf8mb4_unicode_ci" }, { 225, "utf8mb4", "utf8mb4_icelandic_ci" }, { 226, "utf8mb4", "utf8mb4_latvian_ci" }, { 227, "utf8mb4", "utf8mb4_romanian_ci" }, { 228, "utf8mb4", "utf8mb4_slovenian_ci" }, { 229, "utf8mb4", "utf8mb4_polish_ci" }, { 230, "utf8mb4", "utf8mb4_estonian_ci" }, { 231, "utf8mb4", "utf8mb4_spanish_ci" }, { 232, "utf8mb4", "utf8mb4_swedish_ci" }, { 233, "utf8mb4", "utf8mb4_turkish_ci" }, { 234, "utf8mb4", "utf8mb4_czech_ci" }, { 235, "utf8mb4", "utf8mb4_danish_ci" }, { 236, "utf8mb4", "utf8mb4_lithuanian_ci" }, { 237, "utf8mb4", "utf8mb4_slovak_ci" }, { 238, "utf8mb4", "utf8mb4_spanish2_ci" }, { 239, "utf8mb4", "utf8mb4_roman_ci" }, { 240, "utf8mb4", "utf8mb4_persian_ci" }, { 241, "utf8mb4", "utf8mb4_esperanto_ci" }, { 242, "utf8mb4", "utf8mb4_hungarian_ci" }, { 243, "utf8mb4", "utf8mb4_sinhala_ci" }, { 244, "utf8mb4", "utf8mb4_german2_ci" }, { 245, "utf8mb4", "utf8mb4_croatian_ci" }, { 246, "utf8mb4", "utf8mb4_unicode_520_ci" }, { 247, "utf8mb4", "utf8mb4_vietnamese_ci" }, { 248, "gb18030", "gb18030_chinese_ci" }, { 249, "gb18030", "gb18030_bin" }, { 250, "gb18030", "gb18030_unicode_520_ci" } }; std::string Charset::charset_name_from_id(uint32_t id) { return field_from_id(id, &Charset_entry::name); } std::string Charset::collation_name_from_id(uint32_t id) { return field_from_id(id, &Charset_entry::collation); } std::string Charset::field_from_id(uint32_t id, std::string Charset_entry::*field) { std::string result = (id == 0) ? "" : "?"; for (size_t i = 0; i < sizeof(m_charsets_info) / sizeof(m_charsets_info[0]); ++i) { if (m_charsets_info[i].id == id) { result = m_charsets_info[i].*field; break; } } return result; } uint32_t Charset::id_from_collation_name(const std::string& collation_name) { uint32_t result = 0; for (size_t i = 0; i < sizeof(m_charsets_info) / sizeof(m_charsets_info[0]); ++i) { if (m_charsets_info[i].collation == collation_name) { result = m_charsets_info[i].id; break; } } return result; } //--------------------------------------------------------------