From: | Jan Wieck <JanWieck(at)Yahoo(dot)com> |
---|---|
To: | wieck(at)jupiter(dot)us(dot)greatbridge(dot)com |
Cc: | Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>, Bruce Momjian <pgman(at)candle(dot)pha(dot)pa(dot)us>, Jan Wieck <JanWieck(at)Yahoo(dot)com>, pgsql-hackers(at)postgresql(dot)org |
Subject: | Re: Question about todo item |
Date: | 2001-08-08 13:47:55 |
Message-ID: | 200108081347.f78Dlth11201@jupiter.us.greatbridge.com |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-hackers |
I wrote:
> Tom Lane wrote:
> >
> > Implementation is left as an exercise for the reader ;-).
> >
> > Offhand this seems like it would be doable for a column-value that
> > was actually moved out-of-line by TOAST, since the open_toast_object
> > function could see and return the TOAST pointer, and then the read/
> > write operations just hack on rows in pg_largeobject. The hard part
> > is how to provide equivalent functionality (transparent to the client
> > of course) when the particular value you select has *not* been moved
> > out-of-line. Ideas anyone?
>
> TOAST values aren't stored in pg_largeobject. And how do you
> seek to a position in a compressed and then sliced object? We
> need a way to force the object over a streaming interface
> into uncompressed toast slices first. Let me think about it
> for two days, Okay?
>
> The interface lacks imho a mode (r/w/rw/a) argument. Other
> than that I'd like this part.
The idea of making BLOB and CLOB simply toast forced special
datatypes and add streaming access functions lacks one
important requirement.
For all the default operations, the system would treat the
datums still like regular attributes. That means, that an
INSERT ... SELECT ...
copying a BLOB from one table to another (and that's correct,
BLOB's should have copy semantics) would force the entire
BLOB data into memory ... and ... then ... after ... some
... time ... run out of memory.
We don't get far without a real new datatype and special
support on the heap access level. We should for sure reuse
the toast shadow table to store the data. But that's the only
connection to toast here.
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 | Ian Lance Taylor | 2001-08-08 14:42:48 | Re: CURRENT OF cursor without OIDs |
Previous Message | Tom Lane | 2001-08-08 13:45:30 | Re: Question about todo item |