Re: [BUGS] BUG #2120: Crash when doing UTF8<->ISO_8859_8 encoding conversion

Поиск
Список
Период
Сортировка
От Bruce Momjian
Тема Re: [BUGS] BUG #2120: Crash when doing UTF8<->ISO_8859_8 encoding conversion
Дата
Msg-id 200512220317.jBM3HUR12214@candle.pha.pa.us
обсуждение исходный текст
Ответы Re: [BUGS] BUG #2120: Crash when doing UTF8<->ISO_8859_8 encoding  (Tatsuo Ishii <ishii@sraoss.co.jp>)
Список pgsql-patches
Tom Lane wrote:
> Tatsuo Ishii <ishii@sraoss.co.jp> writes:
> >> It looks like somebody rearranged the pg_enc enum without bothering to
> >> fix the tables that are affected by this.
>
> > I will look into this.
>
> Thank you.  It might be worth adding a comment to pg_wchar.h listing all
> the places that need to be fixed when enum pg_enc changes.
>

I have developed the following patch against CVS.  Tatsuo, you can use
it as a starting point.  It adds a comment to encnames.c and reorders
utf8_and_iso8859.c to match the existing order.  I also added the
missing entries at the bottom.  I checked for pg_conv_map in the source
code and only utf8_and_iso8859.c has that structure, so I assume it is
the only one that also depends on the encnames.c ordering.

Looking at 8.0.X, it has the matching order, so we are OK there, but it
doesn't have the trailing entries.  Tatsuo, are those needed?

--
  Bruce Momjian                        |  http://candle.pha.pa.us
  pgman@candle.pha.pa.us               |  (610) 359-1001
  +  If your life is a hard drive,     |  13 Roberts Road
  +  Christ can be your backup.        |  Newtown Square, Pennsylvania 19073
Index: src/backend/utils/mb/encnames.c
===================================================================
RCS file: /cvsroot/pgsql/src/backend/utils/mb/encnames.c,v
retrieving revision 1.26
diff -c -c -u -r1.26 encnames.c
--- src/backend/utils/mb/encnames.c    15 Oct 2005 02:49:33 -0000    1.26
+++ src/backend/utils/mb/encnames.c    22 Dec 2005 02:45:02 -0000
@@ -264,6 +264,7 @@
 /* ----------
  * These are "official" encoding names.
  * XXX must be sorted by the same order as pg_enc type (see mb/pg_wchar.h)
+ * and pg_conv_map in mb/conversion_procs/utf8_and_iso8859/utf8_and_iso8859.c.
  * ----------
  */
 pg_enc2name pg_enc2name_tbl[] =
Index: src/backend/utils/mb/conversion_procs/utf8_and_iso8859/utf8_and_iso8859.c
===================================================================
RCS file: /cvsroot/pgsql/src/backend/utils/mb/conversion_procs/utf8_and_iso8859/utf8_and_iso8859.c,v
retrieving revision 1.16
diff -c -c -u -r1.16 utf8_and_iso8859.c
--- src/backend/utils/mb/conversion_procs/utf8_and_iso8859/utf8_and_iso8859.c    22 Nov 2005 18:17:26 -0000    1.16
+++ src/backend/utils/mb/conversion_procs/utf8_and_iso8859/utf8_and_iso8859.c    22 Dec 2005 02:45:03 -0000
@@ -106,10 +106,11 @@
     sizeof(ULmapISO8859_16) / sizeof(pg_utf_to_local)}, /* ISO-8859-16 Latin 10 */
     {PG_WIN1256},                /* windows-1256 */
     {PG_WIN1258},                /* Windows-1258 */
+    {PG_WIN866},                /* (MS-DOS CP866) */
     {PG_WIN874},                /* windows-874 */
     {PG_KOI8R},                    /* KOI8-R */
     {PG_WIN1251},                /* windows-1251 */
-    {PG_WIN866},                /* (MS-DOS CP866) */
+    {PG_WIN1252},                /* windows-1252 */
     {PG_ISO_8859_5, LUmapISO8859_5, ULmapISO8859_5,
         sizeof(LUmapISO8859_5) / sizeof(pg_local_to_utf),
     sizeof(ULmapISO8859_5) / sizeof(pg_utf_to_local)},    /* ISO-8859-5 */
@@ -122,6 +123,12 @@
     {PG_ISO_8859_8, LUmapISO8859_8, ULmapISO8859_8,
         sizeof(LUmapISO8859_8) / sizeof(pg_local_to_utf),
     sizeof(ULmapISO8859_8) / sizeof(pg_utf_to_local)},    /* ISO-8859-8 */
+    {PG_WIN1250},            /* windows-1250 */
+    {PG_SJIS},                /* SJIS */
+    {PG_BIG5},                /* BIG5 */
+    {PG_GBK},                /* GBK */
+    {PG_UHC},                /* UHC */
+    {PG_GB18030}            /* GB18030 */
 };

 Datum

В списке pgsql-patches по дате отправления:

Предыдущее
От: Bruce Momjian
Дата:
Сообщение: Re: COPY LOCK for WAL bypass
Следующее
От: Alvaro Herrera
Дата:
Сообщение: Re: [BUGS] My investigations of the postmaster Bus error