On 23-05-2012 09:45, Michal Kubecek wrote:
> On Wed, May 23, 2012 at 11:49:00AM +0400, Alex Peshkoff wrote:
>> On 05/23/12 11:34, Michal Kubecek wrote:
>>> Empty second argument means setting the value (in case of LC_ALL, all
>>> values) according to environment variable(s). setlocale(LC_ALL, "")
>>> is the most common way to initialize locale in an application using
>>> locale functions and it is recommended in setlocale(3) manual page.
>>
>> Nice.
>> I suppose in this case we should accept this patch.
>
> Thank you. Committed to HEAD and B2_5_Release.
>
This patch broke isql. See attached TCS results.
Current ($LANG) locale must not be set. ISQL should use the minimal (C)
locale.
If you do set it, then even output sent to files (-o or stdout
redirection) do not transliterates correct.
This is not right approach. It must not interfere with ISQL at all.
Adriano
Use CONNECT or CREATE DATABASE to specify a database
Use CONNECT or CREATE DATABASE to specify a database
Use CONNECT or CREATE DATABASE to specify a database
CONSTANT S_ROWID C_ENUS C_850_25
================= ======= ========================= =========================
set names is ISO: 1 p�ch� p�ch�
set names is ISO: 2 �lborg �lborg
set names is ISO: 3 c�sium c�sium
set names is ISO: 4 Aalborg Aalborg
set names is ISO: 5 a�eul a�eul
set names is ISO: 6 caennais caennais
set names is ISO: 7 vice versa vice versa
CONSTANT S_ROWID C_UNICODE_25
================= ======= =========================
set names is ISO: 1 p�ch�
set names is ISO: 2 <null>
set names is ISO: 3 <null>
set names is ISO: 4 <null>
set names is ISO: 5 <null>
set names is ISO: 6 <null>
set names is ISO: 7 <null>
CONSTANT S_ROWID C_437_25
================= ======= =========================
Statement failed, SQLSTATE = 22018
arithmetic exception, numeric overflow, or string truncation
-Cannot transliterate character between character sets
After line 4 in file giso.sql
Use CONNECT or CREATE DATABASE to specify a database
CONSTANT S_ROWID C_ENUS C_437_25
================= ======= ========================= =========================
set names is 437: 1 p�ch� p�ch�
set names is 437: 2 �lborg �lborg
set names is 437: 3 c�sium c�sium
set names is 437: 4 Aalborg Aalborg
set names is 437: 5 a�eul a�eul
set names is 437: 6 caennais caennais
set names is 437: 7 vice versa vice versa
CONSTANT S_ROWID C_UNICODE_25
================= ======= =========================
set names is 437: 1 p�ch�
set names is 437: 2 <null>
set names is 437: 3 <null>
set names is 437: 4 <null>
set names is 437: 5 <null>
set names is 437: 6 <null>
set names is 437: 7 <null>
Use CONNECT or CREATE DATABASE to specify a database
CONSTANT S_ROWID C_ENUS C_850_25
==================== ======= =========================
=========================
set names is dos850: 1 p�ch� p�ch�
set names is dos850: 2 �lborg �lborg
set names is dos850: 3 c�sium c�sium
set names is dos850: 4 Aalborg Aalborg
set names is dos850: 5 a�eul a�eul
set names is dos850: 6 caennais caennais
set names is dos850: 7 vice versa vice versa
Use CONNECT or CREATE DATABASE to specify a database
CONSTANT S_ROWID C_437_25
==================== ======= =========================
Statement failed, SQLSTATE = 22018
arithmetic exception, numeric overflow, or string truncation
-Cannot transliterate character between character sets
After line 2 in file g8502.sql
7,9 c 7,9
< set names is ISO: 1 péché péché
< set names is ISO: 2 Ålborg Ålborg
< set names is ISO: 3 cæsium cæsium
---------------------------------------------
> set names is ISO: 1
> set names is ISO: 2
> set names is ISO: 3
++++++++++++++++++++++++++++++++++++++++++++++++++
11 c 11
< set names is ISO: 5 aïeul aïeul
---------------------------------------------
> set names is ISO: 5
++++++++++++++++++++++++++++++++++++++++++++++++++
18 c 18
< set names is ISO: 1 péché
---------------------------------------------
> set names is ISO: 1
++++++++++++++++++++++++++++++++++++++++++++++++++
37,39 c 37,39
< set names is 437: 1 pch péché
< set names is 437: 2 lborg Ålborg
< set names is 437: 3 csium cæsium
---------------------------------------------
> set names is 437: 1
> set names is 437: 2
> set names is 437: 3
++++++++++++++++++++++++++++++++++++++++++++++++++
41 c 41
< set names is 437: 5 aeul aïeul
---------------------------------------------
> set names is 437: 5
++++++++++++++++++++++++++++++++++++++++++++++++++
48 c 48
< set names is 437: 1 pch
---------------------------------------------
> set names is 437: 1
++++++++++++++++++++++++++++++++++++++++++++++++++
60,62 c 60,62
< set names is dos850: 1 pch pch
< set names is dos850: 2 lborg lborg
< set names is dos850: 3 csium csium
---------------------------------------------
> set names is dos850: 1
> set names is dos850: 2
> set names is dos850: 3
++++++++++++++++++++++++++++++++++++++++++++++++++
64 c 64
< set names is dos850: 5 aeul aeul
---------------------------------------------
> set names is dos850: 5
++++++++++++++++++++++++++++++++++++++++++++++++++
Use CONNECT or CREATE DATABASE to specify a database
Use CONNECT or CREATE DATABASE to specify a database
Use CONNECT or CREATE DATABASE to specify a database
CONSTANT S_ROWID C_ENUS C_850_25
================= ======= ========================= =========================
set names is ISO: 1
set names is ISO: 2
set names is ISO: 3
set names is ISO: 4 Aalborg Aalborg
set names is ISO: 5
set names is ISO: 6 caennais caennais
set names is ISO: 7 vice versa vice versa
CONSTANT S_ROWID C_UNICODE_25
================= ======= =========================
set names is ISO: 1
set names is ISO: 2 <null>
set names is ISO: 3 <null>
set names is ISO: 4 <null>
set names is ISO: 5 <null>
set names is ISO: 6 <null>
set names is ISO: 7 <null>
CONSTANT S_ROWID C_437_25
================= ======= =========================
Statement failed, SQLSTATE = 22018
arithmetic exception, numeric overflow, or string truncation
-Cannot transliterate character between character sets
After line 4 in file giso.sql
Use CONNECT or CREATE DATABASE to specify a database
CONSTANT S_ROWID C_ENUS C_437_25
================= ======= ========================= =========================
set names is 437: 1
set names is 437: 2
set names is 437: 3
set names is 437: 4 Aalborg Aalborg
set names is 437: 5
set names is 437: 6 caennais caennais
set names is 437: 7 vice versa vice versa
CONSTANT S_ROWID C_UNICODE_25
================= ======= =========================
set names is 437: 1
set names is 437: 2 <null>
set names is 437: 3 <null>
set names is 437: 4 <null>
set names is 437: 5 <null>
set names is 437: 6 <null>
set names is 437: 7 <null>
Use CONNECT or CREATE DATABASE to specify a database
CONSTANT S_ROWID C_ENUS C_850_25
==================== ======= =========================
=========================
set names is dos850: 1
set names is dos850: 2
set names is dos850: 3
set names is dos850: 4 Aalborg Aalborg
set names is dos850: 5
set names is dos850: 6 caennais caennais
set names is dos850: 7 vice versa vice versa
Use CONNECT or CREATE DATABASE to specify a database
CONSTANT S_ROWID C_437_25
==================== ======= =========================
Statement failed, SQLSTATE = 22018
arithmetic exception, numeric overflow, or string truncation
-Cannot transliterate character between character sets
After line 2 in file g8502.sql
------------------------------------------------------------------------------
Live Security Virtual Conference
Exclusive live event will cover all the ways today's security and
threat landscape has changed and how IT managers can respond. Discussions
will include endpoint security, mobile security and the latest in malware
threats. http://www.accelacomm.com/jaw/sfrnl04242012/114/50122263/
Firebird-Devel mailing list, web interface at
https://lists.sourceforge.net/lists/listinfo/firebird-devel