Peter, moving the conversation here from "pgsql: Improve nbtree skip scan primitive scan scheduling" thread on -committers. Attached is another regression test for your consideration, which gives rise to the following assertion:
TRAP: failed Assert("numSkipArrayKeys == 0"), File: "nbtpreprocesskeys.c",
Line: 1859, PID: 7210
0 postgres 0x00000001032f30e0
ExceptionalCondition + 108
1 postgres 0x0000000102e83100
_bt_preprocess_keys + 6036
2 postgres 0x0000000102e87338 _bt_first + 168
3 postgres 0x0000000102e84680 btgettuple + 196
4 postgres 0x0000000102e75cdc
index_getnext_tid + 68
5 postgres 0x00000001030017a0 IndexOnlyNext +
228
6 postgres 0x0000000102fe5b2c ExecScan + 228
7 postgres 0x0000000103011088 ExecSort + 536
8 postgres 0x0000000102fdbc68
standard_ExecutorRun + 312
9 postgres 0x00000001031bdfb8 PortalRunSelect
+ 236
10 postgres 0x00000001031bdbd4 PortalRun + 492
11 postgres 0x00000001031bcb18
exec_simple_query + 1292
12 postgres 0x00000001031b9d1c PostgresMain +
1388
13 postgres 0x00000001031b59a8
BackendInitialize + 0
14 postgres 0x000000010310edd8
postmaster_child_launch + 372
15 postgres 0x000000010311303c ServerLoop + 4948
16 postgres 0x0000000103111360
InitProcessGlobals + 0
17 postgres 0x0000000103030c00 help + 0
18 dyld 0x000000018eb17154 start + 2476
This looks sufficiently different from the assertion mentioned on the other
thread to be worth posting here.
—
Mark Dilger
EnterpriseDB: http://www.enterprisedb.com
The Enterprise PostgreSQL Company
_skipscan2.sql
Description: application/sql
