postgresql/src/backend/access/hash
Tom Lane 3f4d488022 Mark index entries "killed" when they are no longer visible to any
transaction, so as to avoid returning them out of the index AM.  Saves
repeated heap_fetch operations on frequently-updated rows.  Also detect
queries on unique keys (equality to all columns of a unique index), and
don't bother continuing scan once we have found first match.

Killing is implemented in the btree and hash AMs, but not yet in rtree
or gist, because there isn't an equally convenient place to do it in
those AMs (the outer amgetnext routine can't do it without re-pinning
the index page).

Did some small cleanup on APIs of HeapTupleSatisfies, heap_fetch, and
index_insert to make this a little easier.
2002-05-24 18:57:57 +00:00
..
Makefile Fix relative path references so that make knowns which dependencies refer 2000-08-31 16:12:35 +00:00
hash.c Mark index entries "killed" when they are no longer visible to any 2002-05-24 18:57:57 +00:00
hashfunc.c Code review for improved-hashing patch. Fix some portability issues 2002-03-09 17:35:37 +00:00
hashinsert.c I've attached a patch which implements Bob Jenkin's hash function for 2002-03-06 20:49:46 +00:00
hashovfl.c I've attached a patch which implements Bob Jenkin's hash function for 2002-03-06 20:49:46 +00:00
hashpage.c I've attached a patch which implements Bob Jenkin's hash function for 2002-03-06 20:49:46 +00:00
hashscan.c Mark index entries "killed" when they are no longer visible to any 2002-05-24 18:57:57 +00:00
hashsearch.c Mark index entries "killed" when they are no longer visible to any 2002-05-24 18:57:57 +00:00
hashstrat.c Another pgindent run. Fixes enum indenting, and improves #endif 2001-10-28 06:26:15 +00:00
hashutil.c Restructure indexscan API (index_beginscan, index_getnext) per 2002-05-20 23:51:44 +00:00