From: | "PostgreSQL Bugs List" <pgsql-bugs(at)postgresql(dot)org> |
---|---|
To: | pgsql-bugs(at)postgresql(dot)org |
Subject: | BUG #1075: ecpg rejects C keywords in SQL context |
Date: | 2004-02-09 19:56:16 |
Message-ID: | 20040209195616.C10ECCF48F7@www.postgresql.com |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-bugs |
The following bug has been logged online:
Bug reference: 1075
Logged by: Bob Showalter
Email address: bob_showalter(at)taylorwhite(dot)com
PostgreSQL version: 7.4
Operating system: FreeBSD 4.8
Description: ecpg rejects C keywords in SQL context
Details:
ecpg 3.1.0
PostgreSQL 7.4.1
FreeBSD 4.8 on i386
gcc version 2.95.4 20020320 [FreeBSD]
ecpg seems to erroneously treat C keywords as errors in a SQL context. I
discovered this after upgrading to 7.4 and compiling an existing program
that refers to a column in one of my tables called "auto". The program
compiles successfully on 7.3.
Here's a simple one-line illustration of the problem:
$ echo 'exec sql select auto from foo;' >temp.pgc
$ ecpg temp.pgc
temp.pgc:1: ERROR: syntax error at or near "auto"
I would think that quoting the identifier would allow it to work:
exec sql select "auto" from foo;
but it doesn't seem to make any difference.
If I comment out the call to ScanCKeyword() at line 584 of
src/interfaces/ecpg/preproc/pgc.l, the example above will compile
succesfully.
From | Date | Subject | |
---|---|---|---|
Next Message | PostgreSQL Bugs List | 2004-02-10 03:27:46 | BUG #1076: Unicode Errors using Copy command |
Previous Message | Tom Lane | 2004-02-08 18:54:26 | Re: Kerberos as source of user name? (Re: [BUGS] segfault in psql on x86_64) |