Re: tuptoaster.c must *not* use SnapshotAny

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

In response to

Responses

Browse pgsql-hackers by date

  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