Thread: pgsql: Teach btree to handle ScalarArrayOpExpr quals natively.
Teach btree to handle ScalarArrayOpExpr quals natively. This allows "indexedcol op ANY(ARRAY[...])" conditions to be used in plain indexscans, and particularly in index-only scans. Branch ------ master Details ------- http://git.postgresql.org/pg/commitdiff/9e8da0f75731aaa7605cf4656c21ea09e84d2eb1 Modified Files -------------- doc/src/sgml/catalogs.sgml | 7 + src/backend/access/nbtree/nbtree.c | 149 +++++++---- src/backend/access/nbtree/nbtutils.c | 457 ++++++++++++++++++++++++++++++++- src/backend/executor/nodeIndexscan.c | 75 +++++- src/backend/optimizer/path/costsize.c | 11 +- src/backend/optimizer/path/indxpath.c | 49 +++-- src/backend/optimizer/util/plancat.c | 1 + src/backend/utils/adt/selfuncs.c | 7 - src/include/access/nbtree.h | 19 ++ src/include/access/skey.h | 23 ++- src/include/catalog/catversion.h | 2 +- src/include/catalog/pg_am.h | 50 ++-- src/include/nodes/relation.h | 3 +- 13 files changed, 725 insertions(+), 128 deletions(-)