From: | Jan Wieck <janwieck(at)yahoo(dot)com> |
---|---|
To: | Bruce Momjian <pgman(at)candle(dot)pha(dot)pa(dot)us> |
Cc: | Hiroshi Inoue <Inoue(at)tpf(dot)co(dot)jp>, Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>, Jan Wieck <janwieck(at)yahoo(dot)com>, pgsql-hackers(at)postgresql(dot)org |
Subject: | Re: tuptoaster.c must *not* use SnapshotAny |
Date: | 2002-01-18 05:21:26 |
Message-ID: | 200201180521.g0I5LQL05281@saturn.janwieck.net |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-hackers |
Bruce Momjian wrote:
>
> Agreed. I think that was the reason we kept TOAST and large objects,
> because large objects were designed for random read-write. If we can
> get large objects to auto-delete, probably with pg_depend, we can then
> use them seamlessly with BLOB I/O routines.
Not entirely. BLOB's should have copy semantics, so that
doing
INSERT INTO tab1 SELECT id, blob_column FROM tab2 ...
and subsequently changing the blob in either tab1 or tab2
does NOT change the blob in the other table. Currently, even
if you make the pg_depend stuff smart enough to let the blob
live until all references are gone, the two tables would
share the same blob. And that's not only IMHO wrong, it's
also incompatible to Oracle :-)
Jan
--
#======================================================================#
# It's easier to get forgiveness for being wrong than for being right. #
# Let's break this rule - forgive me. #
#================================================== JanWieck(at)Yahoo(dot)com #
_________________________________________________________
Do You Yahoo!?
Get your free @yahoo.com address at http://mail.yahoo.com
From | Date | Subject | |
---|---|---|---|
Next Message | Bruce Momjian | 2002-01-18 05:27:10 | Re: tuptoaster.c must *not* use SnapshotAny |
Previous Message | Tom Lane | 2002-01-18 05:21:02 | Re: [PATCHES] guc |