Re: VARATT_EXTERNAL_GET_POINTER is not quite there yet - Mailing list pgsql-hackers

From Tom Lane
Subject Re: VARATT_EXTERNAL_GET_POINTER is not quite there yet
Date
Msg-id 15070.1203623938@sss.pgh.pa.us
Whole thread Raw
In response to Re: VARATT_EXTERNAL_GET_POINTER is not quite there yet  (Gregory Stark <stark@enterprisedb.com>)
Responses Re: VARATT_EXTERNAL_GET_POINTER is not quite there yet  (Bruce Momjian <bruce@momjian.us>)
List pgsql-hackers
Gregory Stark <stark@enterprisedb.com> writes:
> "Tom Lane" <tgl@sss.pgh.pa.us> writes:
>> It might work to change struct varlena's contents to something like
>> 
>> char        vl_len_[4];    /* Do not touch this field directly! */
>> char        vl_dat[1];

> Oh, that would probably fix this problem pretty well.

> Touching vl_dat is only safe if you've either just allocated the object
> yourself or you've already detoasted it.

Sure, but that's been true ever since TOAST was first put in.  The
varvarlena patch didn't change that coding rule.

I'll go try the char[4] hack and see if it works on the machines I have.
        regards, tom lane


pgsql-hackers by date:

Previous
From: "Joshua D. Drake"
Date:
Subject: Re: Including PL/PgSQL by default
Next
From: Andrew Dunstan
Date:
Subject: Re: Including PL/PgSQL by default