Re: Manipulating complex types as non-contiguous structures in-memory

Tom Lane <tgl@sss.pgh.pa.us>

From: Tom Lane <tgl@sss.pgh.pa.us>
To: Jim Nasby <Jim.Nasby@BlueTreble.com>
Cc: Stephen Frost <sfrost@snowman.net>, pgsql-hackers@postgresql.org
Date: 2015-02-11T13:25:08Z
Lists: pgsql-hackers
Jim Nasby <Jim.Nasby@BlueTreble.com> writes:
> On 2/10/15 5:19 PM, Tom Lane wrote:
>> What do you mean by non-variant?

> Ugh, sorry, brainfart. I meant to say non-varlena.

> I can't think of any non-varlena types we'd want this for, but maybe 
> someone else can think of a case. If there is a use-case I wouldn't 
> handle it with this patch, but we'd want to consider it...

There isn't any practical way to interpose TOAST pointers for non-varlena
types, since we make no assumptions about the bit contents of fixed-length
types.  But I'm having a hard time thinking of a fixed-length type in
which you'd have any need for a deserialized representation, either.
I think restricting this feature to varlena types is just fine.

			regards, tom lane


Commits

  1. Use fast path in plpgsql's RETURN/RETURN NEXT in more cases.

  2. Add support for multiple kinds of external toast datums.