In the examples I've seen, in the consistent method we have:
if (GIST_LEAF(entry)) [...]
but in compress we have:
if (entry->leafkey) [...]
I can see what the latter's doing, but I'm not sure what GIST_LEAF
does, or why you'd want to use it.
Also, I noticed this in src/backend/access/gist:
static void gistcentryinit(GISTSTATE *giststate, int nkey, GISTENTRY *e, Datum k,
Relation r, Page pg, OffsetNumber o, int b, bool l, bool isNull);
and later (in gistPageAddItem):
gistcentryinit(giststate, 0, &tmpcentry, dentry->key, r, page, offsetNumber, dentry->bytes, FALSE);
Isn't the call missing the "isNull" parameter?
--
Itai Zukerman <http://www.math-hat.com/~zukerman/>