Re: PDF book July 2, 2000 version
Can someone comment on this? Why doesn't OID work in foreign keys.
Seems this is a bug.
First off I want to say thank your for creating a sorely needed reference and
sharing it with the online world via the PDF document.I do have one minor complaint though. I'm learning Postgres from your book
although I'm familiar with the basics of SQL. I was at first excited then
discouraged by the OID section of your book. I think a much needed
addition to the OID limitations section is that the OID field can not be
referenced in a foreign key. IECREATE TABLE t1( i INTEGER);
CREATE TABLE t2( id OID REFERENCES t1(oid));//dose not workYou use the OID is a foreign key of sorts in the example, but you never qualify
that using the foreign key constraint system in Postgres will not allow you to
automate this. I realize the OID section comes long before the constraints
chapter, but a quick qualification would still make things clearer. Without
the ability to use the OID field as a reference for foreign keys, it's
usefulness is very limited.Keep up the good work, I can't wait to buy the finished product!
_________________________
Richard Rowell
rrowell@shreve.netPerl is the unix world's equivalent of VB - and just as much of an abomination.
--
Bruce Momjian | http://www.op.net/~candle
pgman@candle.pha.pa.us | (610) 853-3000
+ If your life is a hard drive, | 830 Blythe Avenue
+ Christ can be your backup. | Drexel Hill, Pennsylvania 19026
Import Notes
Reply to msg id not found: 00070400441500.00956@workstation.dds.net
Bruce Momjian wrote:
Can someone comment on this? Why doesn't OID work in foreign keys.
Seems this is a bug.
The RI triggers check for attribute existance by looking up
in the relations descriptor via SPI_fnumber(). Since OID is a
system attribute, it returns SPI_ERROR_NOATTRIBUTE and that
causes the error.
Later on, I'm not sure that it is possible to use SPI
functions to obtain the OID of a given trigger tuple. So it'd
be a little more to fix it.
Jan
First off I want to say thank your for creating a sorely needed reference and
sharing it with the online world via the PDF document.I do have one minor complaint though. I'm learning Postgres from your book
although I'm familiar with the basics of SQL. I was at first excited then
discouraged by the OID section of your book. I think a much needed
addition to the OID limitations section is that the OID field can not be
referenced in a foreign key. IECREATE TABLE t1( i INTEGER);
CREATE TABLE t2( id OID REFERENCES t1(oid));//dose not workYou use the OID is a foreign key of sorts in the example, but you never qualify
that using the foreign key constraint system in Postgres will not allow you to
automate this. I realize the OID section comes long before the constraints
chapter, but a quick qualification would still make things clearer. Without
the ability to use the OID field as a reference for foreign keys, it's
usefulness is very limited.Keep up the good work, I can't wait to buy the finished product!
_________________________
Richard Rowell
rrowell@shreve.netPerl is the unix world's equivalent of VB - and just as much of an abomination.
-- Bruce Momjian | http://www.op.net/~candle pgman@candle.pha.pa.us | (610) 853-3000 + If your life is a hard drive, | 830 Blythe Avenue + Christ can be your backup. | Drexel Hill, Pennsylvania 19026
--
#======================================================================#
# It's easier to get forgiveness for being wrong than for being right. #
# Let's break this rule - forgive me. #
#================================================== JanWieck@Yahoo.com #
Added to TODO:
* Allow oid to act as a foreign key
Bruce Momjian wrote:
Can someone comment on this? Why doesn't OID work in foreign keys.
Seems this is a bug.The RI triggers check for attribute existance by looking up
in the relations descriptor via SPI_fnumber(). Since OID is a
system attribute, it returns SPI_ERROR_NOATTRIBUTE and that
causes the error.Later on, I'm not sure that it is possible to use SPI
functions to obtain the OID of a given trigger tuple. So it'd
be a little more to fix it.Jan
First off I want to say thank your for creating a sorely needed reference and
sharing it with the online world via the PDF document.I do have one minor complaint though. I'm learning Postgres from your book
although I'm familiar with the basics of SQL. I was at first excited then
discouraged by the OID section of your book. I think a much needed
addition to the OID limitations section is that the OID field can not be
referenced in a foreign key. IECREATE TABLE t1( i INTEGER);
CREATE TABLE t2( id OID REFERENCES t1(oid));//dose not workYou use the OID is a foreign key of sorts in the example, but you never qualify
that using the foreign key constraint system in Postgres will not allow you to
automate this. I realize the OID section comes long before the constraints
chapter, but a quick qualification would still make things clearer. Without
the ability to use the OID field as a reference for foreign keys, it's
usefulness is very limited.Keep up the good work, I can't wait to buy the finished product!
_________________________
Richard Rowell
rrowell@shreve.netPerl is the unix world's equivalent of VB - and just as much of an abomination.
-- Bruce Momjian | http://www.op.net/~candle pgman@candle.pha.pa.us | (610) 853-3000 + If your life is a hard drive, | 830 Blythe Avenue + Christ can be your backup. | Drexel Hill, Pennsylvania 19026--
#======================================================================#
# It's easier to get forgiveness for being wrong than for being right. #
# Let's break this rule - forgive me. #
#================================================== JanWieck@Yahoo.com #
--
Bruce Momjian | http://candle.pha.pa.us
pgman@candle.pha.pa.us | (610) 853-3000
+ If your life is a hard drive, | 830 Blythe Avenue
+ Christ can be your backup. | Drexel Hill, Pennsylvania 19026