From: Vadim B. Mikheev Date: Wed, 30 Apr 1997 06:31:16 +0000 (+0000) Subject: Fix old bug in _hash_first() for scan without keys: X-Git-Tag: REL6_1~215 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=fe91ceb62b10afb84f60c4c482ba2600775ee180;p=postgresql 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. --- 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)) {