postgresql/src
Tom Lane 4adc2f72a4 Change hash indexes to store only the hash code rather than the whole indexed
value.  This means that hash index lookups are always lossy and have to be
rechecked when the heap is visited; however, the gain in index compactness
outweighs this when the indexed values are wide.  Also, we only need to
perform datatype comparisons when the hash codes match exactly, rather than
for every entry in the hash bucket; so it could also win for datatypes that
have expensive comparison functions.  A small additional win is gained by
keeping hash index pages sorted by hash code and using binary search to reduce
the number of index tuples we have to look at.

Xiao Meng

This commit also incorporates Zdenek Kotala's patch to isolate hash metapages
and hash bitmaps a bit better from the page header datastructures.
2008-09-15 18:43:41 +00:00
..
backend Change hash indexes to store only the hash code rather than the whole indexed 2008-09-15 18:43:41 +00:00
bin Avoid compiler warning about variable used before assigned. 2008-09-15 12:18:00 +00:00
include Change hash indexes to store only the hash code rather than the whole indexed 2008-09-15 18:43:41 +00:00
interfaces Avoid using sprintf() for a simple octal conversion in PQescapeByteaInternal. 2008-09-10 17:01:07 +00:00
makefiles Synchronize the shared object build rules in Makefile.port with Makefile.shlib 2008-09-01 08:50:10 +00:00
pl Fix a couple of places where the plpgsql grammar would produce an unhelpful 2008-09-10 01:09:45 +00:00
port Use CRITICAL_SECTION instead of Mutexes for thread-locking in libpq on 2008-05-21 14:20:48 +00:00
template Use SYSV semaphores rather than POSIX on Darwin >= 6.0 (i.e., OS X 10.2 2007-09-26 00:32:46 +00:00
test Tighten up to_date/to_timestamp so that they are more likely to reject 2008-09-11 17:32:34 +00:00
timezone Fix identify_system_timezone() so that it tests the behavior of the system 2008-07-01 03:40:55 +00:00
tools Add Win32 MSVC code to support this recent patch: 2008-09-05 16:54:39 +00:00
tutorial Add $PostgreSQL$ markers to a lot of files that were missing them. 2008-05-17 01:28:26 +00:00
bcc32.mak Remove old-style win32 client-only visual c++ build infrastructure for everything except 2007-03-05 14:18:38 +00:00
DEVELOPERS Testing commit stuff 2006-07-10 15:50:02 +00:00
Makefile Catch all errors in for and while loops in makefiles. Don't ignore any 2008-03-18 16:24:50 +00:00
Makefile.global.in Code coverage testing with gcov. Documentation is in the regression test 2008-09-05 12:11:18 +00:00
Makefile.shlib Synchronize the shared object build rules in Makefile.port with Makefile.shlib 2008-09-01 08:50:10 +00:00
nls-global.mk Another fix for compiles on an empty 'po' directory. 2008-05-17 21:27:12 +00:00
win32.mak Update supported standalone VC++ version to 7.1+ only, and fix 2007-08-03 10:47:11 +00:00