Re: BLOB support - Mailing list pgsql-hackers

From ktm@rice.edu
Subject Re: BLOB support
Date
Msg-id 20110602131835.GQ8700@staff-mud-56-27.rice.edu
Whole thread Raw
In response to Re: BLOB support  (Pavel Stehule <pavel.stehule@gmail.com>)
Responses Re: BLOB support
List pgsql-hackers
On Thu, Jun 02, 2011 at 02:58:52PM +0200, Pavel Stehule wrote:
> 2011/6/2 Peter Eisentraut <peter_e@gmx.net>:
> > On ons, 2011-06-01 at 22:00 +0200, Radosław Smogura wrote:
> >> I partialy implemented following missing LOBs types. Requirement for this was
> >> to give ability to create (B/C)LOB columns and add casting functionality e.g.
> >> SET my_clob = 'My long text'.
> >>
> >> Idea is as follow:
> >> 0. Blob is two state object: 1st in memory contains just bytea, serialized
> >> contains Oid of large object.
> >> 1. Each type has additional boolean haslobs, which is set recursivly.
> >> 2. Relation has same bool haslobs (used to speed up tables without LOBs)
> >> 3. When data are inserted/updated then "special" function is called and tuple
> >> is modified in this way all LOBs are serialized to (old) LOB table and just
> >> Oid is stored.
> >> 4. When removed LOB is removed from (old) LOB table.
> >
> > Superficially, this looks like a reimplementation of TOAST.  What
> > functionality exactly do you envision that the BLOB and CLOB types would
> > need to have that would warrant treating them different from, say, bytea
> > and text?
> >
> 
> a streaming for bytea could be nice. A very large bytea are limited by
> query size - processing long query needs too RAM,
> 
> Pavel
> 

+1 for a streaming interface to bytea/text. I do agree that there is no need
to reinvent the TOAST architecture with another name, just improve the existing
implementation.

Regards,
Ken


pgsql-hackers by date:

Previous
From: Heikki Linnakangas
Date:
Subject: Re: Hacking gram.y Error syntax error at or near "MERGEJOIN"
Next
From: Pavel Golub
Date:
Subject: Re: BLOB support