From: | Michael Meskes <meskes(at)postgresql(dot)org> |
---|---|
To: | Raymond Fung <raymondf(at)acm(dot)org> |
Cc: | pgsql-admin <pgsql-admin(at)postgresql(dot)org>, pgsql-hackers <pgsql-hackers(at)postgresql(dot)org>, lockhart(at)fourpalms(dot)org |
Subject: | Re: [HACKERS] ecpg problem : pre-processor translated long constant to char |
Date: | 2002-07-04 14:21:01 |
Message-ID: | 20020704142101.GA32633@feivel.credativ.de |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-admin pgsql-hackers |
On Thu, Jul 04, 2002 at 10:00:01AM +0800, Raymond Fung wrote:
> Dear all,
> ...
> It has translated the 4 bytes constant (0x87654321) into a one byte
> char constant (within the single quotes) during pre-processing. Seems
> this happens only when the high bit of the constant is set (i.e. it
> won't add the quotes if the constant is 0x12345678).
Yes, this is a bug. But look here:
mm=# create table test (i int8);
CREATE
mm=# insert into test values (x'80000000');
ERROR: Bad hexadecimal integer input '80000000'
mm=# insert into test values (1234567890123);
INSERT 22762 1
The reason is that both the backend parser and the ecpg parser use
strtol to parse the hex constant. And strtol does not like anything >
0x80000000.
> Also, I noticed that the line number reported during the preprocessing
> error output is incorrect : it is '1' less than the actual line number
> in the source file. As shown, I am using version 2.8.0 of ecpg. Is my
> version being too old to be buggy ? Any suggestion to bypass the
> translation problem ?
I heard about the off-by-one problem sometimes, but I've yet to find the
time to look for the reason. A collegue is bugging me all the time. :-)
Michael
--
Michael Meskes
Michael(at)Fam-Meskes(dot)De
Go SF 49ers! Go Rhein Fire!
Use Debian GNU/Linux! Use PostgreSQL!
From | Date | Subject | |
---|---|---|---|
Next Message | Bruce Momjian | 2002-07-04 14:26:48 | Re: Which DB is using space. |
Previous Message | Gaetano Mendola | 2002-07-04 13:54:03 | Union strange explain |
From | Date | Subject | |
---|---|---|---|
Next Message | Thomas Lockhart | 2002-07-04 15:28:51 | IS DISTINCT FROM and TREAT() committed |
Previous Message | Bruce Momjian | 2002-07-04 12:20:19 | Re: BETWEEN Node & DROP COLUMN |