From 69db0091639dceab3c94802a4c9c39a84e0f215d Mon Sep 17 00:00:00 2001
From: Tom Lane <tgl@sss.pgh.pa.us>
Date: Tue, 9 Jan 2007 07:30:49 +0000
Subject: [PATCH] Add a citation to Seltzer and Yigit's Usenix '91 paper about
 hash table 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 | 11 ++++++++---
 1 file changed, 8 insertions(+), 3 deletions(-)

diff --git a/src/backend/access/hash/README b/src/backend/access/hash/README
index 3ff70cde3ce..719c6828464 100644
--- a/src/backend/access/hash/README
+++ b/src/backend/access/hash/README
@@ -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
-- 
GitLab