mirror of
https://github.com/postgres/postgres.git
synced 2025-04-21 12:05:57 +03:00
Use C99-designated initializer syntax for arrays related to encodings
This updates the following lookup arrays to use C99-designated initializer syntax, indexed based on the enum pg_enc: pg_enc2icu_tbl[] pg_enc2name_tbl[] pg_wchar_table[] This is more readable, and removes problems with ordering mistakes as this removes dependencies between the arrays and their lookup index in the enum pg_enc. So, adding new encodings becomes easier, even if this does not happen often. Author: Jelte Fennema-Nio Reviewed-by: Jian He, Japin Li Discussion: https://postgr.es/m/CAGECzQT3caUbcCcszNewCCmMbCuyP7XNAm60J3ybd6PN5kH2Dw@mail.gmail.com
This commit is contained in:
parent
e8aecc5c2c
commit
ada87a4d95
@ -297,7 +297,6 @@ static const pg_encname pg_encname_tbl[] =
|
||||
|
||||
/* ----------
|
||||
* These are "official" encoding names.
|
||||
* XXX must be sorted by the same order as enum pg_enc (in mb/pg_wchar.h)
|
||||
* ----------
|
||||
*/
|
||||
#ifndef WIN32
|
||||
@ -308,48 +307,48 @@ static const pg_encname pg_encname_tbl[] =
|
||||
|
||||
const pg_enc2name pg_enc2name_tbl[] =
|
||||
{
|
||||
DEF_ENC2NAME(SQL_ASCII, 0),
|
||||
DEF_ENC2NAME(EUC_JP, 20932),
|
||||
DEF_ENC2NAME(EUC_CN, 20936),
|
||||
DEF_ENC2NAME(EUC_KR, 51949),
|
||||
DEF_ENC2NAME(EUC_TW, 0),
|
||||
DEF_ENC2NAME(EUC_JIS_2004, 20932),
|
||||
DEF_ENC2NAME(UTF8, 65001),
|
||||
DEF_ENC2NAME(MULE_INTERNAL, 0),
|
||||
DEF_ENC2NAME(LATIN1, 28591),
|
||||
DEF_ENC2NAME(LATIN2, 28592),
|
||||
DEF_ENC2NAME(LATIN3, 28593),
|
||||
DEF_ENC2NAME(LATIN4, 28594),
|
||||
DEF_ENC2NAME(LATIN5, 28599),
|
||||
DEF_ENC2NAME(LATIN6, 0),
|
||||
DEF_ENC2NAME(LATIN7, 0),
|
||||
DEF_ENC2NAME(LATIN8, 0),
|
||||
DEF_ENC2NAME(LATIN9, 28605),
|
||||
DEF_ENC2NAME(LATIN10, 0),
|
||||
DEF_ENC2NAME(WIN1256, 1256),
|
||||
DEF_ENC2NAME(WIN1258, 1258),
|
||||
DEF_ENC2NAME(WIN866, 866),
|
||||
DEF_ENC2NAME(WIN874, 874),
|
||||
DEF_ENC2NAME(KOI8R, 20866),
|
||||
DEF_ENC2NAME(WIN1251, 1251),
|
||||
DEF_ENC2NAME(WIN1252, 1252),
|
||||
DEF_ENC2NAME(ISO_8859_5, 28595),
|
||||
DEF_ENC2NAME(ISO_8859_6, 28596),
|
||||
DEF_ENC2NAME(ISO_8859_7, 28597),
|
||||
DEF_ENC2NAME(ISO_8859_8, 28598),
|
||||
DEF_ENC2NAME(WIN1250, 1250),
|
||||
DEF_ENC2NAME(WIN1253, 1253),
|
||||
DEF_ENC2NAME(WIN1254, 1254),
|
||||
DEF_ENC2NAME(WIN1255, 1255),
|
||||
DEF_ENC2NAME(WIN1257, 1257),
|
||||
DEF_ENC2NAME(KOI8U, 21866),
|
||||
DEF_ENC2NAME(SJIS, 932),
|
||||
DEF_ENC2NAME(BIG5, 950),
|
||||
DEF_ENC2NAME(GBK, 936),
|
||||
DEF_ENC2NAME(UHC, 949),
|
||||
DEF_ENC2NAME(GB18030, 54936),
|
||||
DEF_ENC2NAME(JOHAB, 0),
|
||||
DEF_ENC2NAME(SHIFT_JIS_2004, 932)
|
||||
[PG_SQL_ASCII] = DEF_ENC2NAME(SQL_ASCII, 0),
|
||||
[PG_EUC_JP] = DEF_ENC2NAME(EUC_JP, 20932),
|
||||
[PG_EUC_CN] = DEF_ENC2NAME(EUC_CN, 20936),
|
||||
[PG_EUC_KR] = DEF_ENC2NAME(EUC_KR, 51949),
|
||||
[PG_EUC_TW] = DEF_ENC2NAME(EUC_TW, 0),
|
||||
[PG_EUC_JIS_2004] = DEF_ENC2NAME(EUC_JIS_2004, 20932),
|
||||
[PG_UTF8] = DEF_ENC2NAME(UTF8, 65001),
|
||||
[PG_MULE_INTERNAL] = DEF_ENC2NAME(MULE_INTERNAL, 0),
|
||||
[PG_LATIN1] = DEF_ENC2NAME(LATIN1, 28591),
|
||||
[PG_LATIN2] = DEF_ENC2NAME(LATIN2, 28592),
|
||||
[PG_LATIN3] = DEF_ENC2NAME(LATIN3, 28593),
|
||||
[PG_LATIN4] = DEF_ENC2NAME(LATIN4, 28594),
|
||||
[PG_LATIN5] = DEF_ENC2NAME(LATIN5, 28599),
|
||||
[PG_LATIN6] = DEF_ENC2NAME(LATIN6, 0),
|
||||
[PG_LATIN7] = DEF_ENC2NAME(LATIN7, 0),
|
||||
[PG_LATIN8] = DEF_ENC2NAME(LATIN8, 0),
|
||||
[PG_LATIN9] = DEF_ENC2NAME(LATIN9, 28605),
|
||||
[PG_LATIN10] = DEF_ENC2NAME(LATIN10, 0),
|
||||
[PG_WIN1256] = DEF_ENC2NAME(WIN1256, 1256),
|
||||
[PG_WIN1258] = DEF_ENC2NAME(WIN1258, 1258),
|
||||
[PG_WIN866] = DEF_ENC2NAME(WIN866, 866),
|
||||
[PG_WIN874] = DEF_ENC2NAME(WIN874, 874),
|
||||
[PG_KOI8R] = DEF_ENC2NAME(KOI8R, 20866),
|
||||
[PG_WIN1251] = DEF_ENC2NAME(WIN1251, 1251),
|
||||
[PG_WIN1252] = DEF_ENC2NAME(WIN1252, 1252),
|
||||
[PG_ISO_8859_5] = DEF_ENC2NAME(ISO_8859_5, 28595),
|
||||
[PG_ISO_8859_6] = DEF_ENC2NAME(ISO_8859_6, 28596),
|
||||
[PG_ISO_8859_7] = DEF_ENC2NAME(ISO_8859_7, 28597),
|
||||
[PG_ISO_8859_8] = DEF_ENC2NAME(ISO_8859_8, 28598),
|
||||
[PG_WIN1250] = DEF_ENC2NAME(WIN1250, 1250),
|
||||
[PG_WIN1253] = DEF_ENC2NAME(WIN1253, 1253),
|
||||
[PG_WIN1254] = DEF_ENC2NAME(WIN1254, 1254),
|
||||
[PG_WIN1255] = DEF_ENC2NAME(WIN1255, 1255),
|
||||
[PG_WIN1257] = DEF_ENC2NAME(WIN1257, 1257),
|
||||
[PG_KOI8U] = DEF_ENC2NAME(KOI8U, 21866),
|
||||
[PG_SJIS] = DEF_ENC2NAME(SJIS, 932),
|
||||
[PG_BIG5] = DEF_ENC2NAME(BIG5, 950),
|
||||
[PG_GBK] = DEF_ENC2NAME(GBK, 936),
|
||||
[PG_UHC] = DEF_ENC2NAME(UHC, 949),
|
||||
[PG_GB18030] = DEF_ENC2NAME(GB18030, 54936),
|
||||
[PG_JOHAB] = DEF_ENC2NAME(JOHAB, 0),
|
||||
[PG_SHIFT_JIS_2004] = DEF_ENC2NAME(SHIFT_JIS_2004, 932),
|
||||
};
|
||||
|
||||
/* ----------
|
||||
@ -414,41 +413,41 @@ const pg_enc2gettext pg_enc2gettext_tbl[] =
|
||||
*/
|
||||
static const char *const pg_enc2icu_tbl[] =
|
||||
{
|
||||
NULL, /* PG_SQL_ASCII */
|
||||
"EUC-JP", /* PG_EUC_JP */
|
||||
"EUC-CN", /* PG_EUC_CN */
|
||||
"EUC-KR", /* PG_EUC_KR */
|
||||
"EUC-TW", /* PG_EUC_TW */
|
||||
NULL, /* PG_EUC_JIS_2004 */
|
||||
"UTF-8", /* PG_UTF8 */
|
||||
NULL, /* PG_MULE_INTERNAL */
|
||||
"ISO-8859-1", /* PG_LATIN1 */
|
||||
"ISO-8859-2", /* PG_LATIN2 */
|
||||
"ISO-8859-3", /* PG_LATIN3 */
|
||||
"ISO-8859-4", /* PG_LATIN4 */
|
||||
"ISO-8859-9", /* PG_LATIN5 */
|
||||
"ISO-8859-10", /* PG_LATIN6 */
|
||||
"ISO-8859-13", /* PG_LATIN7 */
|
||||
"ISO-8859-14", /* PG_LATIN8 */
|
||||
"ISO-8859-15", /* PG_LATIN9 */
|
||||
NULL, /* PG_LATIN10 */
|
||||
"CP1256", /* PG_WIN1256 */
|
||||
"CP1258", /* PG_WIN1258 */
|
||||
"CP866", /* PG_WIN866 */
|
||||
NULL, /* PG_WIN874 */
|
||||
"KOI8-R", /* PG_KOI8R */
|
||||
"CP1251", /* PG_WIN1251 */
|
||||
"CP1252", /* PG_WIN1252 */
|
||||
"ISO-8859-5", /* PG_ISO_8859_5 */
|
||||
"ISO-8859-6", /* PG_ISO_8859_6 */
|
||||
"ISO-8859-7", /* PG_ISO_8859_7 */
|
||||
"ISO-8859-8", /* PG_ISO_8859_8 */
|
||||
"CP1250", /* PG_WIN1250 */
|
||||
"CP1253", /* PG_WIN1253 */
|
||||
"CP1254", /* PG_WIN1254 */
|
||||
"CP1255", /* PG_WIN1255 */
|
||||
"CP1257", /* PG_WIN1257 */
|
||||
"KOI8-U", /* PG_KOI8U */
|
||||
[PG_SQL_ASCII] = NULL,
|
||||
[PG_EUC_JP] = "EUC-JP",
|
||||
[PG_EUC_CN] = "EUC-CN",
|
||||
[PG_EUC_KR] = "EUC-KR",
|
||||
[PG_EUC_TW] = "EUC-TW",
|
||||
[PG_EUC_JIS_2004] = NULL,
|
||||
[PG_UTF8] = "UTF-8",
|
||||
[PG_MULE_INTERNAL] = NULL,
|
||||
[PG_LATIN1] = "ISO-8859-1",
|
||||
[PG_LATIN2] = "ISO-8859-2",
|
||||
[PG_LATIN3] = "ISO-8859-3",
|
||||
[PG_LATIN4] = "ISO-8859-4",
|
||||
[PG_LATIN5] = "ISO-8859-9",
|
||||
[PG_LATIN6] = "ISO-8859-10",
|
||||
[PG_LATIN7] = "ISO-8859-13",
|
||||
[PG_LATIN8] = "ISO-8859-14",
|
||||
[PG_LATIN9] = "ISO-8859-15",
|
||||
[PG_LATIN10] = NULL,
|
||||
[PG_WIN1256] = "CP1256",
|
||||
[PG_WIN1258] = "CP1258",
|
||||
[PG_WIN866] = "CP866",
|
||||
[PG_WIN874] = NULL,
|
||||
[PG_KOI8R] = "KOI8-R",
|
||||
[PG_WIN1251] = "CP1251",
|
||||
[PG_WIN1252] = "CP1252",
|
||||
[PG_ISO_8859_5] = "ISO-8859-5",
|
||||
[PG_ISO_8859_6] = "ISO-8859-6",
|
||||
[PG_ISO_8859_7] = "ISO-8859-7",
|
||||
[PG_ISO_8859_8] = "ISO-8859-8",
|
||||
[PG_WIN1250] = "CP1250",
|
||||
[PG_WIN1253] = "CP1253",
|
||||
[PG_WIN1254] = "CP1254",
|
||||
[PG_WIN1255] = "CP1255",
|
||||
[PG_WIN1257] = "CP1257",
|
||||
[PG_KOI8U] = "KOI8-U",
|
||||
};
|
||||
|
||||
StaticAssertDecl(lengthof(pg_enc2icu_tbl) == PG_ENCODING_BE_LAST + 1,
|
||||
|
@ -2071,52 +2071,51 @@ pg_utf8_islegal(const unsigned char *source, int length)
|
||||
/*
|
||||
*-------------------------------------------------------------------
|
||||
* encoding info table
|
||||
* XXX must be sorted by the same order as enum pg_enc (in mb/pg_wchar.h)
|
||||
*-------------------------------------------------------------------
|
||||
*/
|
||||
const pg_wchar_tbl pg_wchar_table[] = {
|
||||
{pg_ascii2wchar_with_len, pg_wchar2single_with_len, pg_ascii_mblen, pg_ascii_dsplen, pg_ascii_verifychar, pg_ascii_verifystr, 1}, /* PG_SQL_ASCII */
|
||||
{pg_eucjp2wchar_with_len, pg_wchar2euc_with_len, pg_eucjp_mblen, pg_eucjp_dsplen, pg_eucjp_verifychar, pg_eucjp_verifystr, 3}, /* PG_EUC_JP */
|
||||
{pg_euccn2wchar_with_len, pg_wchar2euc_with_len, pg_euccn_mblen, pg_euccn_dsplen, pg_euccn_verifychar, pg_euccn_verifystr, 2}, /* PG_EUC_CN */
|
||||
{pg_euckr2wchar_with_len, pg_wchar2euc_with_len, pg_euckr_mblen, pg_euckr_dsplen, pg_euckr_verifychar, pg_euckr_verifystr, 3}, /* PG_EUC_KR */
|
||||
{pg_euctw2wchar_with_len, pg_wchar2euc_with_len, pg_euctw_mblen, pg_euctw_dsplen, pg_euctw_verifychar, pg_euctw_verifystr, 4}, /* PG_EUC_TW */
|
||||
{pg_eucjp2wchar_with_len, pg_wchar2euc_with_len, pg_eucjp_mblen, pg_eucjp_dsplen, pg_eucjp_verifychar, pg_eucjp_verifystr, 3}, /* PG_EUC_JIS_2004 */
|
||||
{pg_utf2wchar_with_len, pg_wchar2utf_with_len, pg_utf_mblen, pg_utf_dsplen, pg_utf8_verifychar, pg_utf8_verifystr, 4}, /* PG_UTF8 */
|
||||
{pg_mule2wchar_with_len, pg_wchar2mule_with_len, pg_mule_mblen, pg_mule_dsplen, pg_mule_verifychar, pg_mule_verifystr, 4}, /* PG_MULE_INTERNAL */
|
||||
{pg_latin12wchar_with_len, pg_wchar2single_with_len, pg_latin1_mblen, pg_latin1_dsplen, pg_latin1_verifychar, pg_latin1_verifystr, 1}, /* PG_LATIN1 */
|
||||
{pg_latin12wchar_with_len, pg_wchar2single_with_len, pg_latin1_mblen, pg_latin1_dsplen, pg_latin1_verifychar, pg_latin1_verifystr, 1}, /* PG_LATIN2 */
|
||||
{pg_latin12wchar_with_len, pg_wchar2single_with_len, pg_latin1_mblen, pg_latin1_dsplen, pg_latin1_verifychar, pg_latin1_verifystr, 1}, /* PG_LATIN3 */
|
||||
{pg_latin12wchar_with_len, pg_wchar2single_with_len, pg_latin1_mblen, pg_latin1_dsplen, pg_latin1_verifychar, pg_latin1_verifystr, 1}, /* PG_LATIN4 */
|
||||
{pg_latin12wchar_with_len, pg_wchar2single_with_len, pg_latin1_mblen, pg_latin1_dsplen, pg_latin1_verifychar, pg_latin1_verifystr, 1}, /* PG_LATIN5 */
|
||||
{pg_latin12wchar_with_len, pg_wchar2single_with_len, pg_latin1_mblen, pg_latin1_dsplen, pg_latin1_verifychar, pg_latin1_verifystr, 1}, /* PG_LATIN6 */
|
||||
{pg_latin12wchar_with_len, pg_wchar2single_with_len, pg_latin1_mblen, pg_latin1_dsplen, pg_latin1_verifychar, pg_latin1_verifystr, 1}, /* PG_LATIN7 */
|
||||
{pg_latin12wchar_with_len, pg_wchar2single_with_len, pg_latin1_mblen, pg_latin1_dsplen, pg_latin1_verifychar, pg_latin1_verifystr, 1}, /* PG_LATIN8 */
|
||||
{pg_latin12wchar_with_len, pg_wchar2single_with_len, pg_latin1_mblen, pg_latin1_dsplen, pg_latin1_verifychar, pg_latin1_verifystr, 1}, /* PG_LATIN9 */
|
||||
{pg_latin12wchar_with_len, pg_wchar2single_with_len, pg_latin1_mblen, pg_latin1_dsplen, pg_latin1_verifychar, pg_latin1_verifystr, 1}, /* PG_LATIN10 */
|
||||
{pg_latin12wchar_with_len, pg_wchar2single_with_len, pg_latin1_mblen, pg_latin1_dsplen, pg_latin1_verifychar, pg_latin1_verifystr, 1}, /* PG_WIN1256 */
|
||||
{pg_latin12wchar_with_len, pg_wchar2single_with_len, pg_latin1_mblen, pg_latin1_dsplen, pg_latin1_verifychar, pg_latin1_verifystr, 1}, /* PG_WIN1258 */
|
||||
{pg_latin12wchar_with_len, pg_wchar2single_with_len, pg_latin1_mblen, pg_latin1_dsplen, pg_latin1_verifychar, pg_latin1_verifystr, 1}, /* PG_WIN866 */
|
||||
{pg_latin12wchar_with_len, pg_wchar2single_with_len, pg_latin1_mblen, pg_latin1_dsplen, pg_latin1_verifychar, pg_latin1_verifystr, 1}, /* PG_WIN874 */
|
||||
{pg_latin12wchar_with_len, pg_wchar2single_with_len, pg_latin1_mblen, pg_latin1_dsplen, pg_latin1_verifychar, pg_latin1_verifystr, 1}, /* PG_KOI8R */
|
||||
{pg_latin12wchar_with_len, pg_wchar2single_with_len, pg_latin1_mblen, pg_latin1_dsplen, pg_latin1_verifychar, pg_latin1_verifystr, 1}, /* PG_WIN1251 */
|
||||
{pg_latin12wchar_with_len, pg_wchar2single_with_len, pg_latin1_mblen, pg_latin1_dsplen, pg_latin1_verifychar, pg_latin1_verifystr, 1}, /* PG_WIN1252 */
|
||||
{pg_latin12wchar_with_len, pg_wchar2single_with_len, pg_latin1_mblen, pg_latin1_dsplen, pg_latin1_verifychar, pg_latin1_verifystr, 1}, /* ISO-8859-5 */
|
||||
{pg_latin12wchar_with_len, pg_wchar2single_with_len, pg_latin1_mblen, pg_latin1_dsplen, pg_latin1_verifychar, pg_latin1_verifystr, 1}, /* ISO-8859-6 */
|
||||
{pg_latin12wchar_with_len, pg_wchar2single_with_len, pg_latin1_mblen, pg_latin1_dsplen, pg_latin1_verifychar, pg_latin1_verifystr, 1}, /* ISO-8859-7 */
|
||||
{pg_latin12wchar_with_len, pg_wchar2single_with_len, pg_latin1_mblen, pg_latin1_dsplen, pg_latin1_verifychar, pg_latin1_verifystr, 1}, /* ISO-8859-8 */
|
||||
{pg_latin12wchar_with_len, pg_wchar2single_with_len, pg_latin1_mblen, pg_latin1_dsplen, pg_latin1_verifychar, pg_latin1_verifystr, 1}, /* PG_WIN1250 */
|
||||
{pg_latin12wchar_with_len, pg_wchar2single_with_len, pg_latin1_mblen, pg_latin1_dsplen, pg_latin1_verifychar, pg_latin1_verifystr, 1}, /* PG_WIN1253 */
|
||||
{pg_latin12wchar_with_len, pg_wchar2single_with_len, pg_latin1_mblen, pg_latin1_dsplen, pg_latin1_verifychar, pg_latin1_verifystr, 1}, /* PG_WIN1254 */
|
||||
{pg_latin12wchar_with_len, pg_wchar2single_with_len, pg_latin1_mblen, pg_latin1_dsplen, pg_latin1_verifychar, pg_latin1_verifystr, 1}, /* PG_WIN1255 */
|
||||
{pg_latin12wchar_with_len, pg_wchar2single_with_len, pg_latin1_mblen, pg_latin1_dsplen, pg_latin1_verifychar, pg_latin1_verifystr, 1}, /* PG_WIN1257 */
|
||||
{pg_latin12wchar_with_len, pg_wchar2single_with_len, pg_latin1_mblen, pg_latin1_dsplen, pg_latin1_verifychar, pg_latin1_verifystr, 1}, /* PG_KOI8U */
|
||||
{0, 0, pg_sjis_mblen, pg_sjis_dsplen, pg_sjis_verifychar, pg_sjis_verifystr, 2}, /* PG_SJIS */
|
||||
{0, 0, pg_big5_mblen, pg_big5_dsplen, pg_big5_verifychar, pg_big5_verifystr, 2}, /* PG_BIG5 */
|
||||
{0, 0, pg_gbk_mblen, pg_gbk_dsplen, pg_gbk_verifychar, pg_gbk_verifystr, 2}, /* PG_GBK */
|
||||
{0, 0, pg_uhc_mblen, pg_uhc_dsplen, pg_uhc_verifychar, pg_uhc_verifystr, 2}, /* PG_UHC */
|
||||
{0, 0, pg_gb18030_mblen, pg_gb18030_dsplen, pg_gb18030_verifychar, pg_gb18030_verifystr, 4}, /* PG_GB18030 */
|
||||
{0, 0, pg_johab_mblen, pg_johab_dsplen, pg_johab_verifychar, pg_johab_verifystr, 3}, /* PG_JOHAB */
|
||||
{0, 0, pg_sjis_mblen, pg_sjis_dsplen, pg_sjis_verifychar, pg_sjis_verifystr, 2} /* PG_SHIFT_JIS_2004 */
|
||||
[PG_SQL_ASCII] = {pg_ascii2wchar_with_len, pg_wchar2single_with_len, pg_ascii_mblen, pg_ascii_dsplen, pg_ascii_verifychar, pg_ascii_verifystr, 1},
|
||||
[PG_EUC_JP] = {pg_eucjp2wchar_with_len, pg_wchar2euc_with_len, pg_eucjp_mblen, pg_eucjp_dsplen, pg_eucjp_verifychar, pg_eucjp_verifystr, 3},
|
||||
[PG_EUC_CN] = {pg_euccn2wchar_with_len, pg_wchar2euc_with_len, pg_euccn_mblen, pg_euccn_dsplen, pg_euccn_verifychar, pg_euccn_verifystr, 2},
|
||||
[PG_EUC_KR] = {pg_euckr2wchar_with_len, pg_wchar2euc_with_len, pg_euckr_mblen, pg_euckr_dsplen, pg_euckr_verifychar, pg_euckr_verifystr, 3},
|
||||
[PG_EUC_TW] = {pg_euctw2wchar_with_len, pg_wchar2euc_with_len, pg_euctw_mblen, pg_euctw_dsplen, pg_euctw_verifychar, pg_euctw_verifystr, 4},
|
||||
[PG_EUC_JIS_2004] = {pg_eucjp2wchar_with_len, pg_wchar2euc_with_len, pg_eucjp_mblen, pg_eucjp_dsplen, pg_eucjp_verifychar, pg_eucjp_verifystr, 3},
|
||||
[PG_UTF8] = {pg_utf2wchar_with_len, pg_wchar2utf_with_len, pg_utf_mblen, pg_utf_dsplen, pg_utf8_verifychar, pg_utf8_verifystr, 4},
|
||||
[PG_MULE_INTERNAL] = {pg_mule2wchar_with_len, pg_wchar2mule_with_len, pg_mule_mblen, pg_mule_dsplen, pg_mule_verifychar, pg_mule_verifystr, 4},
|
||||
[PG_LATIN1] = {pg_latin12wchar_with_len, pg_wchar2single_with_len, pg_latin1_mblen, pg_latin1_dsplen, pg_latin1_verifychar, pg_latin1_verifystr, 1},
|
||||
[PG_LATIN2] = {pg_latin12wchar_with_len, pg_wchar2single_with_len, pg_latin1_mblen, pg_latin1_dsplen, pg_latin1_verifychar, pg_latin1_verifystr, 1},
|
||||
[PG_LATIN3] = {pg_latin12wchar_with_len, pg_wchar2single_with_len, pg_latin1_mblen, pg_latin1_dsplen, pg_latin1_verifychar, pg_latin1_verifystr, 1},
|
||||
[PG_LATIN4] = {pg_latin12wchar_with_len, pg_wchar2single_with_len, pg_latin1_mblen, pg_latin1_dsplen, pg_latin1_verifychar, pg_latin1_verifystr, 1},
|
||||
[PG_LATIN5] = {pg_latin12wchar_with_len, pg_wchar2single_with_len, pg_latin1_mblen, pg_latin1_dsplen, pg_latin1_verifychar, pg_latin1_verifystr, 1},
|
||||
[PG_LATIN6] = {pg_latin12wchar_with_len, pg_wchar2single_with_len, pg_latin1_mblen, pg_latin1_dsplen, pg_latin1_verifychar, pg_latin1_verifystr, 1},
|
||||
[PG_LATIN7] = {pg_latin12wchar_with_len, pg_wchar2single_with_len, pg_latin1_mblen, pg_latin1_dsplen, pg_latin1_verifychar, pg_latin1_verifystr, 1},
|
||||
[PG_LATIN8] = {pg_latin12wchar_with_len, pg_wchar2single_with_len, pg_latin1_mblen, pg_latin1_dsplen, pg_latin1_verifychar, pg_latin1_verifystr, 1},
|
||||
[PG_LATIN9] = {pg_latin12wchar_with_len, pg_wchar2single_with_len, pg_latin1_mblen, pg_latin1_dsplen, pg_latin1_verifychar, pg_latin1_verifystr, 1},
|
||||
[PG_LATIN10] = {pg_latin12wchar_with_len, pg_wchar2single_with_len, pg_latin1_mblen, pg_latin1_dsplen, pg_latin1_verifychar, pg_latin1_verifystr, 1},
|
||||
[PG_WIN1256] = {pg_latin12wchar_with_len, pg_wchar2single_with_len, pg_latin1_mblen, pg_latin1_dsplen, pg_latin1_verifychar, pg_latin1_verifystr, 1},
|
||||
[PG_WIN1258] = {pg_latin12wchar_with_len, pg_wchar2single_with_len, pg_latin1_mblen, pg_latin1_dsplen, pg_latin1_verifychar, pg_latin1_verifystr, 1},
|
||||
[PG_WIN866] = {pg_latin12wchar_with_len, pg_wchar2single_with_len, pg_latin1_mblen, pg_latin1_dsplen, pg_latin1_verifychar, pg_latin1_verifystr, 1},
|
||||
[PG_WIN874] = {pg_latin12wchar_with_len, pg_wchar2single_with_len, pg_latin1_mblen, pg_latin1_dsplen, pg_latin1_verifychar, pg_latin1_verifystr, 1},
|
||||
[PG_KOI8R] = {pg_latin12wchar_with_len, pg_wchar2single_with_len, pg_latin1_mblen, pg_latin1_dsplen, pg_latin1_verifychar, pg_latin1_verifystr, 1},
|
||||
[PG_WIN1251] = {pg_latin12wchar_with_len, pg_wchar2single_with_len, pg_latin1_mblen, pg_latin1_dsplen, pg_latin1_verifychar, pg_latin1_verifystr, 1},
|
||||
[PG_WIN1252] = {pg_latin12wchar_with_len, pg_wchar2single_with_len, pg_latin1_mblen, pg_latin1_dsplen, pg_latin1_verifychar, pg_latin1_verifystr, 1},
|
||||
[PG_ISO_8859_5] = {pg_latin12wchar_with_len, pg_wchar2single_with_len, pg_latin1_mblen, pg_latin1_dsplen, pg_latin1_verifychar, pg_latin1_verifystr, 1},
|
||||
[PG_ISO_8859_6] = {pg_latin12wchar_with_len, pg_wchar2single_with_len, pg_latin1_mblen, pg_latin1_dsplen, pg_latin1_verifychar, pg_latin1_verifystr, 1},
|
||||
[PG_ISO_8859_7] = {pg_latin12wchar_with_len, pg_wchar2single_with_len, pg_latin1_mblen, pg_latin1_dsplen, pg_latin1_verifychar, pg_latin1_verifystr, 1},
|
||||
[PG_ISO_8859_8] = {pg_latin12wchar_with_len, pg_wchar2single_with_len, pg_latin1_mblen, pg_latin1_dsplen, pg_latin1_verifychar, pg_latin1_verifystr, 1},
|
||||
[PG_WIN1250] = {pg_latin12wchar_with_len, pg_wchar2single_with_len, pg_latin1_mblen, pg_latin1_dsplen, pg_latin1_verifychar, pg_latin1_verifystr, 1},
|
||||
[PG_WIN1253] = {pg_latin12wchar_with_len, pg_wchar2single_with_len, pg_latin1_mblen, pg_latin1_dsplen, pg_latin1_verifychar, pg_latin1_verifystr, 1},
|
||||
[PG_WIN1254] = {pg_latin12wchar_with_len, pg_wchar2single_with_len, pg_latin1_mblen, pg_latin1_dsplen, pg_latin1_verifychar, pg_latin1_verifystr, 1},
|
||||
[PG_WIN1255] = {pg_latin12wchar_with_len, pg_wchar2single_with_len, pg_latin1_mblen, pg_latin1_dsplen, pg_latin1_verifychar, pg_latin1_verifystr, 1},
|
||||
[PG_WIN1257] = {pg_latin12wchar_with_len, pg_wchar2single_with_len, pg_latin1_mblen, pg_latin1_dsplen, pg_latin1_verifychar, pg_latin1_verifystr, 1},
|
||||
[PG_KOI8U] = {pg_latin12wchar_with_len, pg_wchar2single_with_len, pg_latin1_mblen, pg_latin1_dsplen, pg_latin1_verifychar, pg_latin1_verifystr, 1},
|
||||
[PG_SJIS] = {0, 0, pg_sjis_mblen, pg_sjis_dsplen, pg_sjis_verifychar, pg_sjis_verifystr, 2},
|
||||
[PG_BIG5] = {0, 0, pg_big5_mblen, pg_big5_dsplen, pg_big5_verifychar, pg_big5_verifystr, 2},
|
||||
[PG_GBK] = {0, 0, pg_gbk_mblen, pg_gbk_dsplen, pg_gbk_verifychar, pg_gbk_verifystr, 2},
|
||||
[PG_UHC] = {0, 0, pg_uhc_mblen, pg_uhc_dsplen, pg_uhc_verifychar, pg_uhc_verifystr, 2},
|
||||
[PG_GB18030] = {0, 0, pg_gb18030_mblen, pg_gb18030_dsplen, pg_gb18030_verifychar, pg_gb18030_verifystr, 4},
|
||||
[PG_JOHAB] = {0, 0, pg_johab_mblen, pg_johab_dsplen, pg_johab_verifychar, pg_johab_verifystr, 3},
|
||||
[PG_SHIFT_JIS_2004] = {0, 0, pg_sjis_mblen, pg_sjis_dsplen, pg_sjis_verifychar, pg_sjis_verifystr, 2},
|
||||
};
|
||||
|
||||
/*
|
||||
|
@ -224,11 +224,9 @@ typedef unsigned int pg_wchar;
|
||||
/*
|
||||
* PostgreSQL encoding identifiers
|
||||
*
|
||||
* WARNING: the order of this enum must be same as order of entries
|
||||
* in the pg_enc2name_tbl[] array (in src/common/encnames.c), and
|
||||
* in the pg_wchar_table[] array (in src/common/wchar.c)!
|
||||
*
|
||||
* If you add some encoding don't forget to check
|
||||
* WARNING: If you add some encoding don't forget to update
|
||||
* the pg_enc2name_tbl[] array (in src/common/encnames.c) and
|
||||
* the pg_wchar_table[] array (in src/common/wchar.c) and to check
|
||||
* PG_ENCODING_BE_LAST macro.
|
||||
*
|
||||
* PG_SQL_ASCII is default encoding and must be = 0.
|
||||
|
Loading…
x
Reference in New Issue
Block a user