ECPG: CREATE TABLE ... FOREIGN KEY(col) REFERENCES table(col)

Поиск
Список
Период
Сортировка
От Lee Kindness
Тема ECPG: CREATE TABLE ... FOREIGN KEY(col) REFERENCES table(col)
Дата
Msg-id 15631.4934.470775.776160@kelvin.csl.co.uk
обсуждение исходный текст
Ответы Re: ECPG: CREATE TABLE ... FOREIGN KEY(col) REFERENCES table(col)  (Michael Meskes <meskes@postgresql.org>)
Список pgsql-bugs
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
ornear "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.



В списке pgsql-bugs по дате отправления:

Предыдущее
От: "Tomoyuki Niijima"
Дата:
Сообщение: Apache 1.3.19 could not load libpq.so of PostgreSQL 7.2.1
Следующее
От: pgsql-bugs@postgresql.org
Дата:
Сообщение: Bug #693: python interface doesn't handle int8 correctly.