OSDN Git Service

Add a citation to Seltzer and Yigit's Usenix '91 paper about hash table
authorTom Lane <tgl@sss.pgh.pa.us>
Tue, 9 Jan 2007 07:30:49 +0000 (07:30 +0000)
committerTom Lane <tgl@sss.pgh.pa.us>
Tue, 9 Jan 2007 07:30:49 +0000 (07:30 +0000)
management.  The paper clearly describes many of the ideas embodied in
our current hashing code, but as far as I could find out there is not
a direct code heritage.  (Mike Olsen recalls discussion of this paper
at Postgres meetings but believes it "informed the Postgres implementation
probably just at the design level".  Margo herself says she wasn't
involved with Postgres' hash code.)  Credit where credit is due 'n all
that, even if fifteen years after the fact.

src/backend/access/hash/README

index 3ff70cd..719c682 100644 (file)
@@ -1,6 +1,11 @@
-$PostgreSQL: pgsql/src/backend/access/hash/README,v 1.4 2003/11/29 19:51:40 pgsql Exp $
-
-This directory contains an implementation of hash indexing for Postgres.
+$PostgreSQL: pgsql/src/backend/access/hash/README,v 1.5 2007/01/09 07:30:49 tgl Exp $
+
+This directory contains an implementation of hash indexing for Postgres.  Most
+of the core ideas are taken from Margo Seltzer and Ozan Yigit, A New Hashing
+Package for UNIX, Proceedings of the Winter USENIX Conference, January 1991.
+(Our in-memory hashtable implementation, src/backend/utils/hash/dynahash.c,
+also relies on some of the same concepts; it is derived from code written by
+Esmond Pitt and later improved by Margo among others.)
 
 A hash index consists of two or more "buckets", into which tuples are
 placed whenever their hash key maps to the bucket number.  The