Thread: pgsql: Change the way the offset of downlink is stored in GISTInsertSta

pgsql: Change the way the offset of downlink is stored in GISTInsertSta

From
Heikki Linnakangas
Date:
Change the way the offset of downlink is stored in GISTInsertStack.
GISTInsertStack.childoffnum used to mean "offset of the downlink in this
node, pointing to the child node in the stack". It's now replaced with
downlinkoffnum, which means "offset of the downlink in the parent of this
node". gistFindPath() already used childoffnum with this new meaning, and
had an extra step at the end to pull all the childoffnum values down one
node in the stack, to adjust the stack for the meaning that childoffnum had
elsewhere. That's no longer required.

The reason to do this now is this new representation is more convenient for
the GiST fast build patch that Alexander Korotkov is working on.

While we're at it, replace the linked list used in gistFindPath with a
standard List, and make gistFindPath() static.

Alexander Korotkov, with some changes by me.

Branch
------
master

Details
-------
http://git.postgresql.org/pg/commitdiff/8d260911e8de9c3e55bfcc4b4b9f0b5848a5c9f7

Modified Files
--------------
src/backend/access/gist/gist.c    |   92 ++++++++++++++++---------------------
src/include/access/gist_private.h |    9 +---
2 files changed, 41 insertions(+), 60 deletions(-)