Bruce wrote:
> > 1. Is there a call made by the backend to each datatype when a row is
> > deleted? I can't see one.
>
> Well, you could have a RULE that deletes the large object at row
> deletion time. However, if two rows point to the same large object, the
> first one deleting it would delete the large object for the other. The
> only solution to this is to have a separate large object table, and use
> reference counts so only the last user of the object deletes it.
I think triggers are more appropriate.
On INSERT check that the large object referenced exists.
On UPDATE if large object reference changes, check that new
large object exists and check if old large object isn't
referenced any more in which case drop the old large object.
On DELETE check if large object isn't referenced any more ...
Yes - I like triggers :-)
Jan
--
#======================================================================#
# It's easier to get forgiveness for being wrong than for being right. #
# Let's break this rule - forgive me. #
#======================================== jwieck@debis.com (Jan Wieck) #