Lists: | pgsql-bugspgsql-interfaces |
---|
From: | Lee Kindness <lkindness(at)csl(dot)co(dot)uk> |
---|---|
To: | pgsql-bugs(at)postgresql(dot)org |
Cc: | Lee Kindness <lkindness(at)csl(dot)co(dot)uk>, pgsql-interfaces(at)postgresql(dot)org, Michael Meskes <meskes(at)postgresql(dot)org> |
Subject: | ECPG: CREATE TABLE ... FOREIGN KEY(col) REFERENCES table(col) |
Date: | 2002-06-18 11:02:30 |
Message-ID: | 15631.4934.470775.776160@kelvin.csl.co.uk |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Lists: | pgsql-bugs pgsql-interfaces |
Hi,
When creating a table in embedded SQL, a foreign key construct like:
FOREIGN KEY(col) REFERENCES table(col)
is not accepted by ecpg. Consider the following code fragment (error
checking omitted):
EXEC SQL CREATE TABLE
colscales(id INTEGER NOT NULL,
name VARCHAR(64) NOT NULL,
auto INTEGER NOT NULL,
PRIMARY KEY(id),
UNIQUE(name));
EXEC SQL CREATE TABLE colscaledata(scale_id INTEGER NOT NULL,
order_id INTEGER NOT NULL,
threshold FLOAT NOT NULL,
colour VARCHAR(10) NOT NULL,
FOREIGN KEY(scale_id) REFERENCES colscales(id));
This results in the following output from ecpg:
src/colourscales_table.pc:55: ERROR: parse error, unexpected `NO', expecting `NOT' or `DEFERRABLE' or `INITIALLY' at or near "NO"
This is with ecpg 2.9.0, PostgreSQL 7.2 on Linux. The same(ish)
statments create the tables without problem with psql.
Obviously the workaround is to use something like:
FOREIGN KEY(col) REFERENCES table
but this would not work if the desired column was not the primary
key...
BRegards, Lee Kindness.
From: | Michael Meskes <meskes(at)postgresql(dot)org> |
---|---|
To: | Lee Kindness <lkindness(at)csl(dot)co(dot)uk> |
Cc: | pgsql-bugs(at)postgresql(dot)org, pgsql-interfaces(at)postgresql(dot)org |
Subject: | Re: ECPG: CREATE TABLE ... FOREIGN KEY(col) REFERENCES table(col) |
Date: | 2002-06-18 12:48:12 |
Message-ID: | 20020618124812.GA6376@feivel.credativ.de |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Lists: | pgsql-bugs pgsql-interfaces |
On Tue, Jun 18, 2002 at 12:02:30PM +0100, Lee Kindness wrote:
> When creating a table in embedded SQL, a foreign key construct like:
> ...
Thanks for the report. I already fixed it in my source tree, but cannot
commit yet due to bison problems.
Michael
--
Michael Meskes
Michael(at)Fam-Meskes(dot)De
Go SF 49ers! Go Rhein Fire!
Use Debian GNU/Linux! Use PostgreSQL!