> > add code to write/read from long tables
> > add code to expand long values in varlen access routines
> > add code to heap_insert() to move data to long tables
> > add code to heap_delete() to invalidate long tuples
>
> Add code to expand long values in varlen access routines,
> you're joking - no?
>
> How many functions are there, called via the fmgr with a
> Datum as argument, and only knowing by themself (and a system
> catalog) that they receive a variable length attribute?
>
> So you would better do the fetching in the fmgr. Then again,
> there are many places in the code (and possibly in user
> extensions too), that call builtin functions like textout()
> directly, passing it the Datum they got from somewhere.
You may be able to expand the in-tuple copy if you had a bit on the
tuple that said long fields exist, and do a heap_tuplecopy() only in
those cases.
You also could cache recently lookuped expand_long value so repeated
calls could return the value without reconstructing the long value.
-- Bruce Momjian | http://www.op.net/~candle maillist@candle.pha.pa.us | (610)
853-3000+ If your life is a hard drive, | 830 Blythe Avenue + Christ can be your backup. | Drexel Hill,
Pennsylvania19026