Re: b-tree index search algorithms - Mailing list pgsql-hackers

From Tom Lane
Subject Re: b-tree index search algorithms
Date
Msg-id 3066.1342648592@sss.pgh.pa.us
Whole thread Raw
In response to Re: b-tree index search algorithms  (Samuel Vogel <s@muel-vogel.de>)
Responses Re: b-tree index search algorithms
List pgsql-hackers
Samuel Vogel <s@muel-vogel.de> writes:
> Am 17.07.12 19:38, schrieb Tom Lane:
>> The datum values will be pointers to strings.

> I can simply dereference it and read all bytes until a null-byte appears 
> (depending on the collation and that I know that it actually is a string)?

We use a length word and then data, with no trailing null, at least for
text and varchar.  This area has been hacked for efficiency until it's
pretty complicated, but you can read about it in postgres.h.

> How would the b-tree know exactly that a value is only a reference? And 
> even in that case you say that it could get the bits, but make no use of 
> it, since it does not know what they represent, right?

It has access to the data type's basic storage parameters, which are
typbyval, typlen, and typalign; and we have standard conventions for
identifying the length etc of variable-length values.  It's just the
meaning of the payload data bytes that's data-type-private.
        regards, tom lane


pgsql-hackers by date:

Previous
From: Andrew Dunstan
Date:
Subject: Re: bgwriter, regression tests, and default shared_buffers settings
Next
From: Amit Kapila
Date:
Subject: Re: bgwriter, regression tests, and default shared_buffers settings