Re: VARATT_EXTERNAL_GET_POINTER is not quite there yet

From: Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>
To: Gregory Stark <stark(at)enterprisedb(dot)com>
Cc: pgsql-hackers(at)postgresql(dot)org
Subject: Re: VARATT_EXTERNAL_GET_POINTER is not quite there yet
Date: 2008-02-21 19:58:58
Message-ID: 15070.1203623938@sss.pgh.pa.us
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

Gregory Stark <stark(at)enterprisedb(dot)com> writes:
> "Tom Lane" <tgl(at)sss(dot)pgh(dot)pa(dot)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

In response to

Responses

Browse pgsql-hackers by date

  From Date Subject
Next Message Andrew Dunstan 2008-02-21 20:15:48 Re: Including PL/PgSQL by default
Previous Message Joshua D. Drake 2008-02-21 19:51:03 Re: Including PL/PgSQL by default