On Thu, Jun 02, 2011 at 02:58:52PM +0200, Pavel Stehule wrote: > 2011/6/2 Peter Eisentraut <pete...@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 -- Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org) To make changes to your subscription: http://www.postgresql.org/mailpref/pgsql-hackers