On Fri, 15 Sep 2000, Tatsuo Ishii wrote:
> It seems that foreign key does not work in current, if specified with
> primary key definition. Take a look at following example(works in
> 7.0.2.):
>
> test=# CREATE TABLE PKTABLE ( ptest1 int, ptest2 int, ptest3 int, ptest4 text, PRIMARY KEY(ptest1, ptest2, ptest3)
);
> NOTICE: CREATE TABLE/PRIMARY KEY will create implicit index 'pktable_pkey' for table 'pktable'
> CREATE
> test=# CREATE TABLE FKTABLE ( ftest1 int, ftest2 int, ftest3 int, ftest4 int, primary key
(ftest1,ftest2,ftest3,ftest4), CONSTRAINT constrname3 FOREIGN KEY(ftest1, ftest2, ftest3) REFERENCES PKTABLE);
> NOTICE: CREATE TABLE/PRIMARY KEY will create implicit index 'fktable_pkey' for table 'fktable'
> NOTICE: CREATE TABLE will create implicit trigger(s) for FOREIGN KEY check(s)
> ERROR: columns referenced in foreign key constraint not found.
Hmm, that's very strange. I wonder which columns it think didn't exist.
It shouldn't be checking the pktable in that case, which would imply
it doesn't believe the existance of ftest1,ftest2,ftest3. Probably
a stupid mistake on my part. As soon as I clear off space to compile
current, I'll look.