pgsql: GiST improvements: - make sure we always invoke user-supplied

From: neilc(at)svr1(dot)postgresql(dot)org (Neil Conway)
To: pgsql-committers(at)postgresql(dot)org
Subject: pgsql: GiST improvements: - make sure we always invoke user-supplied
Date: 2005-05-17 00:59:30
Message-ID: 20050517005930.D24C752835@svr1.postgresql.org
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-committers

Log Message:
-----------
GiST improvements:

- make sure we always invoke user-supplied GiST methods in a short-lived
memory context. This means the backend isn't exposed to any memory leaks
that be in those methods (in fact, it is probably a net loss for most
GiST methods to bother manually freeing memory now). This also means
we can do away with a lot of ugly manual memory management in the
GiST code itself.

- keep the current page of a GiST index scan pinned, rather than doing a
ReadBuffer() for each tuple produced by the scan. Since ReadBuffer() is
expensive, this is a perf. win

- implement dead tuple killing for GiST indexes (which is easy to do, now
that we keep a pin on the current scan page). Now all the builtin indexes
implement dead tuple killing.

- cleanup a lot of ugly code in GiST

Modified Files:
--------------
pgsql/doc/src/sgml:
gist.sgml (r1.17 -> r1.18)
(http://developer.postgresql.org/cvsweb.cgi/pgsql/doc/src/sgml/gist.sgml.diff?r1=1.17&r2=1.18)
pgsql/src/backend/access/gist:
gist.c (r1.115 -> r1.116)
(http://developer.postgresql.org/cvsweb.cgi/pgsql/src/backend/access/gist/gist.c.diff?r1=1.115&r2=1.116)
gistget.c (r1.45 -> r1.46)
(http://developer.postgresql.org/cvsweb.cgi/pgsql/src/backend/access/gist/gistget.c.diff?r1=1.45&r2=1.46)
gistscan.c (r1.56 -> r1.57)
(http://developer.postgresql.org/cvsweb.cgi/pgsql/src/backend/access/gist/gistscan.c.diff?r1=1.56&r2=1.57)
pgsql/src/include/access:
gist.h (r1.44 -> r1.45)
(http://developer.postgresql.org/cvsweb.cgi/pgsql/src/include/access/gist.h.diff?r1=1.44&r2=1.45)

Browse pgsql-committers by date

  From Date Subject
Next Message Neil Conway 2005-05-17 03:34:18 pgsql: Cleanup GiST header files.
Previous Message Bruce Momjian 2005-05-17 00:51:58 pgsql: Fix markup: < * Add internationalized message strings > o Add