There is a doubt of fatal bug on PostgreSQL 8.0.4.

Started by Kasahara Kenichiover 20 years ago4 messagesbugs
Jump to latest
#1Kasahara Kenichi
kenjpm90@hotmail.com

There is a doubt of fatal bug on PostgreSQL 8.0.4.

I found this problem when I developed a system 3 days ago.
I examine some version.
It has no problem on version 8.0.3 and on 8.1.0.
It occured only on 8.0.4 and 2 byte character.

Our development environment is
Server OS: Red Hat Enterprise Linux ES 3
DB : PostgreSQL 8.0.4
both encodes are EUC_JP

This is a test order.

1. Create the table for test.
CREATE TABLE TEST (
ID VARCHAR(1)
,NAME VARCHAR(40)
,PRIMARY KEY (ID)
)

2. Make some records on the table.
INSERT INTO TEST VALUES ('1', 'あああ');
INSERT INTO TEST VALUES ('2', 'いいい');
INSERT INTO TEST VALUES ('3', 'あ');

* Please make at least two records of the same number of characters and two
byte character.

3. Query this table by name.
SELECT * FROM TEST
WHERE NAME = 'あああ'

The results are 'あああ' and 'いいい'.
It should be only 'あああ'.

When you also query "WHERE NAME = 'ううう'", it'll reply the same result.
It should be no result.

Please examine and fix it.
I'm waiting for the version 8.0.5. Or I'll change version 8.1.0.

Sincerely.

_________________________________________________________________
MSN Hotmail が贈る Hot Xmas × VOGUE
http://promotion.msn.co.jp/hotmail/xmas/index.html 素敵なクリスマスコフレを
プレゼント

#2Tom Lane
tgl@sss.pgh.pa.us
In reply to: Kasahara Kenichi (#1)
Re: There is a doubt of fatal bug on PostgreSQL 8.0.4.

"Kasahara Kenichi" <kenjpm90@hotmail.com> writes:

Our development environment is
Server OS: Red Hat Enterprise Linux ES 3
DB : PostgreSQL 8.0.4
both encodes are EUC_JP

What locale is the database using? Strange comparison behavior is
fairly common if the locale expects a different encoding than you
are using...

regards, tom lane

#3Kasahara Kenichi
kenjpm90@hotmail.com
In reply to: Tom Lane (#2)
Re: There is a doubt of fatal bug on PostgreSQL 8.0.4.

What locale is the database using? Strange comparison behavior is
fairly common if the locale expects a different encoding than you
are using...

locale is 'C'.
client_encoding is 'SJIS'.

Locale 'C' is the same settings when I used version 8.0.3.
I think this is right..Or should I appoint "no locale" when I initialize
database?

regards, Kenichi Kasahara

_________________________________________________________________
無料で250MBの受信ボックスが使える「MSN Hotmail」
http://promotion.msn.co.jp/hotmail/

#4Tom Lane
tgl@sss.pgh.pa.us
In reply to: Kasahara Kenichi (#3)
Re: There is a doubt of fatal bug on PostgreSQL 8.0.4.

"Kasahara Kenichi" <kenjpm90@hotmail.com> writes:

What locale is the database using? Strange comparison behavior is
fairly common if the locale expects a different encoding than you
are using...

locale is 'C'.

Hm, it should work OK with C locale. I get apparently-correct output
on my 8.0 installation:

CREATE TABLE
INSERT 155246 1
INSERT 155247 1
INSERT 155248 1
id | name
----+--------------
1 | $B$"$"$"(B
(1 row)

id | name
----+------
(0 rows)

client_encoding is 'SJIS'.

Um ... you said EUC_JP before. But I get the same result either way.

regards, tom lane