mirror of
https://github.com/postgres/postgres.git
synced 2025-07-27 12:41:57 +03:00
Support INCLUDE'd columns in SP-GiST.
Not much to say here: does what it says on the tin. We steal a previously-always-zero bit from the nextOffset field of leaf index tuples in order to track whether there is a nulls bitmap. Otherwise it works about like included columns in other index types. Pavel Borisov, reviewed by Andrey Borodin and Anastasia Lubennikova, and rather heavily editorialized on by me Discussion: https://postgr.es/m/CALT9ZEFi-vMp4faht9f9Junb1nO3NOSjhpxTmbm1UGLMsLqiEQ@mail.gmail.com
This commit is contained in:
@ -56,7 +56,7 @@ spgistBuildCallback(Relation index, ItemPointer tid, Datum *values,
|
||||
* any temp data when retrying.
|
||||
*/
|
||||
while (!spgdoinsert(index, &buildstate->spgstate, tid,
|
||||
*values, *isnull))
|
||||
values, isnull))
|
||||
{
|
||||
MemoryContextReset(buildstate->tmpCtx);
|
||||
}
|
||||
@ -227,7 +227,7 @@ spginsert(Relation index, Datum *values, bool *isnull,
|
||||
* to avoid cumulative memory consumption. That means we also have to
|
||||
* redo initSpGistState(), but it's cheap enough not to matter.
|
||||
*/
|
||||
while (!spgdoinsert(index, &spgstate, ht_ctid, *values, *isnull))
|
||||
while (!spgdoinsert(index, &spgstate, ht_ctid, values, isnull))
|
||||
{
|
||||
MemoryContextReset(insertCtx);
|
||||
initSpGistState(&spgstate, index);
|
||||
|
Reference in New Issue
Block a user