From fe91ceb62b10afb84f60c4c482ba2600775ee180 Mon Sep 17 00:00:00 2001 From: "Vadim B. Mikheev" Date: Wed, 30 Apr 1997 06:31:16 +0000 Subject: [PATCH] Fix old bug in _hash_first() for scan without keys: if 1st bucket chain is empty then need to continue scan in the rest buckets. --- src/backend/access/hash/hashsearch.c | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/src/backend/access/hash/hashsearch.c b/src/backend/access/hash/hashsearch.c index 459fbc3a16..f1450e1c1c 100644 --- a/src/backend/access/hash/hashsearch.c +++ b/src/backend/access/hash/hashsearch.c @@ -7,7 +7,7 @@ * * * IDENTIFICATION - * $Header: /cvsroot/pgsql/src/backend/access/hash/hashsearch.c,v 1.8 1996/11/21 06:06:52 vadim Exp $ + * $Header: /cvsroot/pgsql/src/backend/access/hash/hashsearch.c,v 1.9 1997/04/30 06:31:16 vadim Exp $ * *------------------------------------------------------------------------- */ @@ -221,7 +221,13 @@ _hash_first(IndexScanDesc scan, ScanDirection dir) } else { ItemPointerSetInvalid(current); so->hashso_curbuf = InvalidBuffer; - return ((RetrieveIndexResult) NULL); + /* + * If there is no scankeys, all tuples will satisfy + * the scan - so we continue in _hash_step to get + * tuples from all buckets. - vadim 04/29/97 + */ + if ( scan->numberOfKeys >= 1 ) + return ((RetrieveIndexResult) NULL); } } if (ScanDirectionIsBackward(dir)) {