diff options
Diffstat (limited to 'src/backend/access/gist/gistget.c')
-rw-r--r-- | src/backend/access/gist/gistget.c | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/src/backend/access/gist/gistget.c b/src/backend/access/gist/gistget.c index afff55c788..56921cfee0 100644 --- a/src/backend/access/gist/gistget.c +++ b/src/backend/access/gist/gistget.c @@ -70,9 +70,10 @@ gistindex_keytest(IndexScanDesc scan, { int i; + if (GistPageIsLeaf(page)) /* shouldn't happen */ + elog(ERROR, "invalid GIST tuple found on leaf page"); for (i = 0; i < scan->numberOfOrderBys; i++) so->distances[i] = -get_float8_infinity(); - *recheck_p = true; /* probably unnecessary */ return true; } @@ -403,6 +404,8 @@ getNextGISTSearchItem(GISTScanOpaque so) { /* Delink item from chain */ so->curTreeItem->head = item->next; + if (item == so->curTreeItem->lastHeap) + so->curTreeItem->lastHeap = NULL; /* Return item; caller is responsible to pfree it */ return item; } |