Re: Variable length varlena headers redux - Mailing list pgsql-hackers

From Bruce Momjian
Subject Re: Variable length varlena headers redux
Date
Msg-id 200702131543.l1DFhUJ24710@momjian.us
Whole thread Raw
In response to Re: Variable length varlena headers redux  (Heikki Linnakangas <heikki@enterprisedb.com>)
Responses Re: Variable length varlena headers redux  (Tom Lane <tgl@sss.pgh.pa.us>)
List pgsql-hackers
Heikki Linnakangas wrote:
> Bruce Momjian wrote:
> > Heikki Linnakangas wrote:
> >> We would still require all datums with a 4-byte header to be 4-byte 
> >> aligned, right? When reading, you would first check if it's a compressed 
> >> or uncompressed header. If compressed, read the 1 byte header, if 
> >> uncompressed, read the 4-byte header and do htonl or bitshifting. No 
> >> need to do htonl or bitshifting on unaligned datums.
> > 
> > I am not sure how to handle the alignment issue.  If we require 1-byte
> > headers to be 4-byte aligned, we lose a lot of the benefits of the
> > 1-byte header.
> 
> Why would we require that?
> 
> I don't see a problem with having 4-byte header 4-byte aligned, and 
> 1-byte headers not aligned. The first access to the header is to check 
> if it's a 4 or 1 byte header. That's a 1 byte wide access, requiring no 
> alignment. After that you know which one it is.

But if you are walking through attributes, how do you know to look at
the next byte or the next aligned byte?  We have to force zeros in
there?

--  Bruce Momjian  <bruce@momjian.us>          http://momjian.us EnterpriseDB
http://www.enterprisedb.com
 + If your life is a hard drive, Christ can be your backup. +


pgsql-hackers by date:

Previous
From: Magnus Hagander
Date:
Subject: Re: XML changes broke assert-enabled vcbuild
Next
From: Tom Lane
Date:
Subject: Re: Variable length varlena headers redux