From 702387a3a835ae28bb4dc895323843bad08badeb Mon Sep 17 00:00:00 2001 From: Peter Geoghegan Date: Wed, 30 Apr 2025 15:52:01 -0400 Subject: [PATCH v1 1/2] Avoid treating nonrequired nbtree keys as required. Oversight in commit 8a510275. Author: Peter Geoghegan Reported-By: Mark Dilger Discussion: https://postgr.es/m/CAHgHdKsn2W=gPBmj7p6MjQFvxB+zZDBkwTSg0o3f5Hh8rkRrsA@mail.gmail.com --- src/backend/access/nbtree/nbtutils.c | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/src/backend/access/nbtree/nbtutils.c b/src/backend/access/nbtree/nbtutils.c index cb6b74912..2fbbbc31f 100644 --- a/src/backend/access/nbtree/nbtutils.c +++ b/src/backend/access/nbtree/nbtutils.c @@ -1826,7 +1826,7 @@ _bt_advance_array_keys(IndexScanDesc scan, BTReadPageState *pstate, /* Recheck _bt_check_compare on behalf of caller */ if (_bt_check_compare(scan, dir, tuple, tupnatts, tupdesc, false, - false, &continuescan, + !sktrig_required, &continuescan, &nsktrig) && !so->scanBehind) { @@ -2802,8 +2802,6 @@ _bt_check_compare(IndexScanDesc scan, ScanDirection dir, { BTScanOpaque so = (BTScanOpaque) scan->opaque; - Assert(!forcenonrequired || advancenonrequired); - *continuescan = true; /* default assumption */ for (; *ikey < so->numberOfKeys; (*ikey)++) -- 2.49.0