Re: [HACKERS] Priorities for 6.6

Peter Galbavy <peter.galbavy@knowledge.com>

From: Peter Galbavy <Peter.Galbavy@knowledge.com>
To: Bruce Momjian <maillist@candle.pha.pa.us>
Cc: Vadim Mikheev <vadim@krs.ru>, Don Baccus <dhogaza@pacifier.com>, Tom Lane <tgl@sss.pgh.pa.us>, pgsql-hackers@postgresql.org
Date: 1999-06-04T11:56:46Z
Lists: pgsql-hackers
On Thu, Jun 03, 1999 at 11:27:14PM -0400, Bruce Momjian wrote:
> > Implementation seems easy:
> > 
> > struct varlena
> > {
> >     int32       vl_len;
> >     char        vl_dat[1];
> > };
> > 
> > 1. make vl_len uint32;
> > 2. use vl_len & 0x80000000 as flag that underlying data is
> >    in another place;
> > 3. put oid of external "relation" (where data is stored),
> >    blocknumber and item position (something else?) to vl_dat.
> > ...
> 
> Yes, it would be very nice to have this.

I hate to be fussy - normally I am just watching, but could we
*please* keep any flag like above in another field. That way, when
the size of an object reaches 2^31 we will not have legacy problems..

struct varlena
{
    size_t  vl_len;
    int     vl_flags;
    caddr_t vl_dat[1];
};

(Please:)

Regards,
-- 
Peter Galbavy
Knowledge Matters Ltd
http://www.knowledge.com/