OID and PL/pgSQL trigger :-(

Поиск
Список
Период
Сортировка
От Alke
Тема OID and PL/pgSQL trigger :-(
Дата
Msg-id 37C14F6A.EEB14AC4@iol.it
обсуждение исходный текст
Список pgsql-hackers
Hy all!

I posted this mail on the general and sql mailing-list, but I got no
aswer, so I try to post it here;
if the question is bad-explained, please ask me more details...

I would like to use OIDs as a primary key on every table of my db,
because this seem to me a very smart thing to do..... but after some
experiment, I've decided to create a SERIAL field on every table, and to

use it as the primary key, and to abandon OIDs...

This is an example of what I whould like to write (and I can't):

CREATE FUNCTION firstTable_DelCascade() RETURNS OPAQUE AS '
BEGINDELETE FROM anotherTable WHERE anotherTable.OIDfromFirstTable =
OLD.OID;RETURN OLD;
END;
' LANGUAGE 'plpgsql';

Well, this can't work because OLD is of type RECORD, and type record
have no OID :-(
(this is what I found in the docs, about RECORD:
"Only the user attributes of a table row are accessible in the row, no
Oid or other system attributes (hence the row could be from a view and
view rows don't have useful system attributes)" )

The main question is: can I get the OID of the OLD/NEW record in
triggers?
A more general question is: what is the usefulness of OIDs, if I can't
use them in trigger?


Paolo



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

Предыдущее
От: Alke
Дата:
Сообщение: Array-fields and many-to-many relations
Следующее
От: José Soares
Дата:
Сообщение: Re: [HACKERS] RE: [SQL] datediff function