Zdenek Kotala wrote:
> Heikki Linnakangas napsal(a):
>> Besides, the "read all formats" approach wouldn't really avoid it
>> either. If you passed a toasted datum to a function, when the function
>> needs to detoast it, detoast_datum still wouldn't know whether the
>> datum is in old or new format. You'd still need to detoast all values
>> in the tuple somewhere before they could be passed around.
>
> If you look into pg_upgrade prototype patch I added page version
> information into HeapTupleData structure. It keeps information about
> format. All chunked data are stored on a pages with same page versions.
> I think these two things are enough to have all necessary information.
Functions are passed just a Datum, not HeapTupleData.
-- Heikki Linnakangas EnterpriseDB http://www.enterprisedb.com