String Comparision Weirdness

From: Tobias Brox <tobias(at)nordicbet(dot)com>
To: pgsql-bugs(at)postgresql(dot)org
Subject: String Comparision Weirdness
Date: 2005-09-26 10:17:33
Message-ID: 20050926101733.GV5679@tobias.lan
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-bugs

We had major problems after migrating the DB to a more powerful server; we
managed to locate the problem to a type conversion bug in our software.
Never the less, this thing puzzles us a lot:

NBTEST2=# select '-1'>'0';
?column?
----------
t
(1 row)

We've tried this query on several servers with different versions of
postgresql and different versions of glibc - some returns true, others
returns false - and it seems neither to be related to the postgresql version
nor the glibc version. At all servers we tested, strcmp("-1","0") returned
negative - at some -3 and at others -1, and not related to postgresql.

The correct result above should be false, since ascii('-')=45 while
ascii('0')=48.

Can the character set in use be significant?

--
Notice of Confidentiality: This email is sent unencrypted over the network,
and may be stored on several email servers; it can be read by third parties
as easy as a postcard. Do not rely on email for confidential information.

Responses

Browse pgsql-bugs by date

  From Date Subject
Next Message Tobias Brox 2005-09-26 10:20:33 Re: String Comparision Weirdness
Previous Message wally 2005-09-26 09:08:27 BUG #1908: sql support chinese char error