aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorVadim B. Mikheev <vadim4o@yahoo.com>1997-10-22 19:02:52 +0000
committerVadim B. Mikheev <vadim4o@yahoo.com>1997-10-22 19:02:52 +0000
commitbd305f3f06f19d78cc1f0f2b6f454135c1f9f910 (patch)
treeb135bb5a49033104e9676d6c8966b3259a997660 /src
parent8f4559d0e1f09440108c860a4f3f9dd7ad401338 (diff)
downloadpostgresql-bd305f3f06f19d78cc1f0f2b6f454135c1f9f910.tar.gz
postgresql-bd305f3f06f19d78cc1f0f2b6f454135c1f9f910.zip
Fix multi-column index scans in internal pages.
Diffstat (limited to 'src')
-rw-r--r--src/backend/access/nbtree/nbtsearch.c12
1 files changed, 9 insertions, 3 deletions
diff --git a/src/backend/access/nbtree/nbtsearch.c b/src/backend/access/nbtree/nbtsearch.c
index 7b7a4ee2bdf..39a18ccc8a9 100644
--- a/src/backend/access/nbtree/nbtsearch.c
+++ b/src/backend/access/nbtree/nbtsearch.c
@@ -7,7 +7,7 @@
*
*
* IDENTIFICATION
- * $Header: /cvsroot/pgsql/src/backend/access/nbtree/nbtsearch.c,v 1.26 1997/09/08 20:54:27 momjian Exp $
+ * $Header: /cvsroot/pgsql/src/backend/access/nbtree/nbtsearch.c,v 1.27 1997/10/22 19:02:52 vadim Exp $
*
*-------------------------------------------------------------------------
*/
@@ -197,8 +197,12 @@ _bt_moveright(Relation rel,
* if number of attrs > keysize. Example: (2,0) - last items
* on this page, (2,1) - first item on next page (hikey), our
* scankey is x = 2. Scankey == (2,1) because of we compare
- * first attrs only, but we shouldn't to move right of here. -
- * vadim 04/15/97
+ * first attrs only, but we shouldn't to move right of here.
+ * - vadim 04/15/97
+ *
+ * Also, if this page is not LEAF one (and # of attrs > keysize)
+ * then we can't move too.
+ * - vadim 10/22/97
*/
if (_bt_skeycmp(rel, keysz, scankey, page, hikey,
@@ -227,6 +231,8 @@ _bt_moveright(Relation rel,
elog(FATAL, "btree: unexpected greater last item");
/* move right */
}
+ else if (!(opaque->btpo_flags & BTP_LEAF))
+ break;
else if (_bt_skeycmp(rel, keysz, scankey, page,
PageGetItemId(page, offmax),
BTLessEqualStrategyNumber))