Re: Re: [COMMITTERS] pgsql: Explicitly bind gettext() to the UTF8 locale when in use. - Mailing list pgsql-hackers

From Hiroshi Inoue
Subject Re: Re: [COMMITTERS] pgsql: Explicitly bind gettext() to the UTF8 locale when in use.
Date
Msg-id 496A072A.7020309@tpf.co.jp
Whole thread Raw
In response to Re: Re: [COMMITTERS] pgsql: Explicitly bind gettext() to the UTF8 locale when in use.  (Hiroshi Inoue <inoue@tpf.co.jp>)
Responses Re: Re: [COMMITTERS] pgsql: Explicitly bind gettext() to the UTF8 locale when in use.  (Magnus Hagander <magnus@hagander.net>)
List pgsql-hackers
Hiroshi Inoue wrote:
> Bruce Momjian wrote:
>> Hiroshi, is this patch still needed?
>
> Yes though it should be slightly changed now.
> *set lc_messages does not work* issue isn't directly related to this
>  issue.

Though I'm not sure how we can test it, I can provide test results
like the attached one.

The attached is a test result in case LC_MESSAGES=fr causing
the following 3 errors in databases with various encodings.

   select a; ==> column "a" does not exist
   1; ==> syntax error at or near "1"
   select * from a; ==> relation "a" does not exist

Comments?
Please note the encoding of the attached file is utf-8.

regards,
Hiroshi Inoue
SET
 current_database
------------------
 utf8
(1 row)

 server_encoding
-----------------
 UTF8
(1 row)

SET
 lc_messages
-------------
 fr
(1 row)

ERREUR:  la colonne « a » n'existe pas
LINE 1: select a;
               ^
ERREUR:  erreur de syntaxe sur ou près de « 1 »
LINE 1: 1;
        ^
ERREUR:  la relation « a » n'existe pas
LINE 1: select * from a;
                      ^
SET
 current_database
------------------
 eucjp
(1 row)

 server_encoding
-----------------
 EUC_JP
(1 row)

SET
 lc_messages
-------------
 fr
(1 row)

ERREUR:  la colonne << a >> n'existe pas
LINE 1: select a;
               ^
ERREUR:  erreur de syntaxe sur ou près de << 1 >>
LINE 1: 1;
        ^
ERREUR:  la relation << a >> n'existe pas
LINE 1: select * from a;
                      ^
SET
 current_database
------------------
 euc-jis-2004
(1 row)

 server_encoding
-----------------
 EUC_JIS_2004
(1 row)

SET
 lc_messages
-------------
 fr
(1 row)

ERREUR:  la colonne << a >> n'existe pas
LINE 1: select a;
               ^
ERROR:  character 0x8fabb2 of encoding "EUC_JIS_2004" has no equivalent in "UTF8"
ERREUR:  la relation << a >> n'existe pas
LINE 1: select * from a;
                      ^
SET
 current_database
------------------
 euccn
(1 row)

 server_encoding
-----------------
 EUC_CN
(1 row)

SET
 lc_messages
-------------
 fr
(1 row)

ERREUR:  la colonne << a >> n'existe pas
LINE 1: select a;
               ^
ERREUR:  erreur de syntaxe sur ou près de << 1 >>
LINE 1: 1;
        ^
ERREUR:  la relation << a >> n'existe pas
LINE 1: select * from a;
                      ^
SET
 current_database
------------------
 euctw
(1 row)

 server_encoding
-----------------
 EUC_TW
(1 row)

SET
 lc_messages
-------------
 fr
(1 row)

ERREUR:  la colonne << a >> n'existe pas
LINE 1: select a;
               ^
ERREUR:  erreur de syntaxe sur ou pr`es de << 1 >>
LINE 1: 1;
        ^
ERREUR:  la relation << a >> n'existe pas
LINE 1: select * from a;
                      ^
SET
 current_database
------------------
 euckr
(1 row)

 server_encoding
-----------------
 EUC_KR
(1 row)

SET
 lc_messages
-------------
 fr
(1 row)

ERREUR:  la colonne << a >> n'existe pas
LINE 1: select a;
               ^
ERREUR:  erreur de syntaxe sur ou pr`es de << 1 >>
LINE 1: 1;
        ^
ERREUR:  la relation << a >> n'existe pas
LINE 1: select * from a;
                      ^
SET
 current_database
------------------
 latin1
(1 row)

 server_encoding
-----------------
 LATIN1
(1 row)

SET
 lc_messages
-------------
 fr
(1 row)

ERREUR:  la colonne « a » n'existe pas
LINE 1: select a;
               ^
ERREUR:  erreur de syntaxe sur ou près de « 1 »
LINE 1: 1;
        ^
ERREUR:  la relation « a » n'existe pas
LINE 1: select * from a;
                      ^
SET
 current_database
------------------
 latin2
(1 row)

 server_encoding
-----------------
 LATIN2
(1 row)

SET
 lc_messages
-------------
 fr
(1 row)

ERREUR:  la colonne << a >> n'existe pas
LINE 1: select a;
               ^
ERREUR:  erreur de syntaxe sur ou pr`es de << 1 >>
LINE 1: 1;
        ^
ERREUR:  la relation << a >> n'existe pas
LINE 1: select * from a;
                      ^
SET
 current_database
------------------
 latin3
(1 row)

 server_encoding
-----------------
 LATIN3
(1 row)

SET
 lc_messages
-------------
 fr
(1 row)

ERREUR:  la colonne << a >> n'existe pas
LINE 1: select a;
               ^
ERREUR:  erreur de syntaxe sur ou près de << 1 >>
LINE 1: 1;
        ^
ERREUR:  la relation << a >> n'existe pas
LINE 1: select * from a;
                      ^
SET
 current_database
------------------
 latin4
(1 row)

 server_encoding
-----------------
 LATIN4
(1 row)

SET
 lc_messages
-------------
 fr
(1 row)

ERREUR:  la colonne << a >> n'existe pas
LINE 1: select a;
               ^
ERREUR:  erreur de syntaxe sur ou pr`es de << 1 >>
LINE 1: 1;
        ^
ERREUR:  la relation << a >> n'existe pas
LINE 1: select * from a;
                      ^
SET
 current_database
------------------
 latin5
(1 row)

 server_encoding
-----------------
 LATIN5
(1 row)

SET
 lc_messages
-------------
 fr
(1 row)

ERREUR:  la colonne « a » n'existe pas
LINE 1: select a;
               ^
ERREUR:  erreur de syntaxe sur ou près de « 1 »
LINE 1: 1;
        ^
ERREUR:  la relation « a » n'existe pas
LINE 1: select * from a;
                      ^
SET
 current_database
------------------
 latin6
(1 row)

 server_encoding
-----------------
 LATIN6
(1 row)

SET
 lc_messages
-------------
 fr
(1 row)

ERREUR:  la colonne << a >> n'existe pas
LINE 1: select a;
               ^
ERREUR:  erreur de syntaxe sur ou pr`es de << 1 >>
LINE 1: 1;
        ^
ERREUR:  la relation << a >> n'existe pas
LINE 1: select * from a;
                      ^
SET
 current_database
------------------
 latin7
(1 row)

 server_encoding
-----------------
 LATIN7
(1 row)

SET
 lc_messages
-------------
 fr
(1 row)

ERREUR:  la colonne « a » n'existe pas
LINE 1: select a;
               ^
ERREUR:  erreur de syntaxe sur ou pr`es de « 1 »
LINE 1: 1;
        ^
ERREUR:  la relation « a » n'existe pas
LINE 1: select * from a;
                      ^
SET
 current_database
------------------
 latin8
(1 row)

 server_encoding
-----------------
 LATIN8
(1 row)

SET
 lc_messages
-------------
 fr
(1 row)

ERREUR:  la colonne << a >> n'existe pas
LINE 1: select a;
               ^
ERREUR:  erreur de syntaxe sur ou près de << 1 >>
LINE 1: 1;
        ^
ERREUR:  la relation << a >> n'existe pas
LINE 1: select * from a;
                      ^
SET
 current_database
------------------
 latin9
(1 row)

 server_encoding
-----------------
 LATIN9
(1 row)

SET
 lc_messages
-------------
 fr
(1 row)

ERREUR:  la colonne « a » n'existe pas
LINE 1: select a;
               ^
ERREUR:  erreur de syntaxe sur ou près de « 1 »
LINE 1: 1;
        ^
ERREUR:  la relation « a » n'existe pas
LINE 1: select * from a;
                      ^
SET
 current_database
------------------
 latin10
(1 row)

 server_encoding
-----------------
 LATIN10
(1 row)

SET
 lc_messages
-------------
 fr
(1 row)

ERREUR:  la colonne « a » n'existe pas
LINE 1: select a;
               ^
ERREUR:  erreur de syntaxe sur ou près de « 1 »
LINE 1: 1;
        ^
ERREUR:  la relation « a » n'existe pas
LINE 1: select * from a;
                      ^
SET
 current_database
------------------
 iso-8859-5
(1 row)

 server_encoding
-----------------
 ISO_8859_5
(1 row)

SET
 lc_messages
-------------
 fr
(1 row)

ERREUR:  la colonne << a >> n'existe pas
LINE 1: select a;
               ^
ERREUR:  erreur de syntaxe sur ou pr`es de << 1 >>
LINE 1: 1;
        ^
ERREUR:  la relation << a >> n'existe pas
LINE 1: select * from a;
                      ^
SET
 current_database
------------------
 iso-8859-6
(1 row)

 server_encoding
-----------------
 ISO_8859_6
(1 row)

SET
 lc_messages
-------------
 fr
(1 row)

ERREUR:  la colonne << a >> n'existe pas
LINE 1: select a;
               ^
ERREUR:  erreur de syntaxe sur ou pr`es de << 1 >>
LINE 1: 1;
        ^
ERREUR:  la relation << a >> n'existe pas
LINE 1: select * from a;
                      ^
SET
 current_database
------------------
 iso-8859-7
(1 row)

 server_encoding
-----------------
 ISO_8859_7
(1 row)

SET
 lc_messages
-------------
 fr
(1 row)

ERREUR:  la colonne « a » n'existe pas
LINE 1: select a;
               ^
ERREUR:  erreur de syntaxe sur ou pr`es de « 1 »
LINE 1: 1;
        ^
ERREUR:  la relation « a » n'existe pas
LINE 1: select * from a;
                      ^
SET
 current_database
------------------
 iso-8859-8
(1 row)

 server_encoding
-----------------
 ISO_8859_8
(1 row)

SET
 lc_messages
-------------
 fr
(1 row)

ERREUR:  la colonne « a » n'existe pas
LINE 1: select a;
               ^
ERREUR:  erreur de syntaxe sur ou pr`es de « 1 »
LINE 1: 1;
        ^
ERREUR:  la relation « a » n'existe pas
LINE 1: select * from a;
                      ^
SET
 current_database
------------------
 koi8-r
(1 row)

 server_encoding
-----------------
 KOI8
(1 row)

SET
 lc_messages
-------------
 fr
(1 row)

ERREUR:  la colonne << a >> n'existe pas
LINE 1: select a;
               ^
ERREUR:  erreur de syntaxe sur ou pr`es de << 1 >>
LINE 1: 1;
        ^
ERREUR:  la relation << a >> n'existe pas
LINE 1: select * from a;
                      ^
SET
 current_database
------------------
 win1250
(1 row)

 server_encoding
-----------------
 WIN1250
(1 row)

SET
 lc_messages
-------------
 fr
(1 row)

ERREUR:  la colonne « a » n'existe pas
LINE 1: select a;
               ^
ERREUR:  erreur de syntaxe sur ou pr`es de « 1 »
LINE 1: 1;
        ^
ERREUR:  la relation « a » n'existe pas
LINE 1: select * from a;
                      ^
SET
 current_database
------------------
 win1251
(1 row)

 server_encoding
-----------------
 WIN1251
(1 row)

SET
 lc_messages
-------------
 fr
(1 row)

ERREUR:  la colonne « a » n'existe pas
LINE 1: select a;
               ^
ERREUR:  erreur de syntaxe sur ou pr`es de « 1 »
LINE 1: 1;
        ^
ERREUR:  la relation « a » n'existe pas
LINE 1: select * from a;
                      ^
SET
 current_database
------------------
 win1252
(1 row)

 server_encoding
-----------------
 WIN1252
(1 row)

SET
 lc_messages
-------------
 fr
(1 row)

ERREUR:  la colonne « a » n'existe pas
LINE 1: select a;
               ^
ERREUR:  erreur de syntaxe sur ou près de « 1 »
LINE 1: 1;
        ^
ERREUR:  la relation « a » n'existe pas
LINE 1: select * from a;
                      ^
SET
 current_database
------------------
 win1253
(1 row)

 server_encoding
-----------------
 WIN1253
(1 row)

SET
 lc_messages
-------------
 fr
(1 row)

ERREUR:  la colonne « a » n'existe pas
LINE 1: select a;
               ^
ERREUR:  erreur de syntaxe sur ou pr`es de « 1 »
LINE 1: 1;
        ^
ERREUR:  la relation « a » n'existe pas
LINE 1: select * from a;
                      ^
SET
 current_database
------------------
 win1254
(1 row)

 server_encoding
-----------------
 WIN1254
(1 row)

SET
 lc_messages
-------------
 fr
(1 row)

ERREUR:  la colonne « a » n'existe pas
LINE 1: select a;
               ^
ERREUR:  erreur de syntaxe sur ou près de « 1 »
LINE 1: 1;
        ^
ERREUR:  la relation « a » n'existe pas
LINE 1: select * from a;
                      ^
SET
 current_database
------------------
 win1255
(1 row)

 server_encoding
-----------------
 WIN1255
(1 row)

SET
 lc_messages
-------------
 fr
(1 row)

ERREUR:  la colonne « a » n'existe pas
LINE 1: select a;
               ^
ERREUR:  erreur de syntaxe sur ou pr`es de « 1 »
LINE 1: 1;
        ^
ERREUR:  la relation « a » n'existe pas
LINE 1: select * from a;
                      ^
SET
 current_database
------------------
 win1256
(1 row)

 server_encoding
-----------------
 WIN1256
(1 row)

SET
 lc_messages
-------------
 fr
(1 row)

ERREUR:  la colonne « a » n'existe pas
LINE 1: select a;
               ^
ERREUR:  erreur de syntaxe sur ou près de « 1 »
LINE 1: 1;
        ^
ERREUR:  la relation « a » n'existe pas
LINE 1: select * from a;
                      ^
SET
 current_database
------------------
 win1257
(1 row)

 server_encoding
-----------------
 WIN1257
(1 row)

SET
 lc_messages
-------------
 fr
(1 row)

ERREUR:  la colonne « a » n'existe pas
LINE 1: select a;
               ^
ERREUR:  erreur de syntaxe sur ou pr`es de « 1 »
LINE 1: 1;
        ^
ERREUR:  la relation « a » n'existe pas
LINE 1: select * from a;
                      ^
SET
 current_database
------------------
 win1258
(1 row)

 server_encoding
-----------------
 WIN1258
(1 row)

SET
 lc_messages
-------------
 fr
(1 row)

ERREUR:  la colonne « a » n'existe pas
LINE 1: select a;
               ^
ERREUR:  erreur de syntaxe sur ou près de « 1 »
LINE 1: 1;
        ^
ERREUR:  la relation « a » n'existe pas
LINE 1: select * from a;
                      ^
SET
 current_database
------------------
 win866
(1 row)

 server_encoding
-----------------
 WIN866
(1 row)

SET
 lc_messages
-------------
 fr
(1 row)

ERREUR:  la colonne << a >> n'existe pas
LINE 1: select a;
               ^
ERREUR:  erreur de syntaxe sur ou pr`es de << 1 >>
LINE 1: 1;
        ^
ERREUR:  la relation << a >> n'existe pas
LINE 1: select * from a;
                      ^
SET
 current_database
------------------
 win874
(1 row)

 server_encoding
-----------------
 WIN874
(1 row)

SET
 lc_messages
-------------
 fr
(1 row)

ERREUR:  la colonne << a >> n'existe pas
LINE 1: select a;
               ^
ERREUR:  erreur de syntaxe sur ou pr`es de << 1 >>
LINE 1: 1;
        ^
ERREUR:  la relation << a >> n'existe pas
LINE 1: select * from a;
                      ^

pgsql-hackers by date:

Previous
From: Bruce Momjian
Date:
Subject: Re: Documenting pglesslog
Next
From: Simon Riggs
Date:
Subject: Re: Documenting pglesslog