]> granicus.if.org Git - postgresql/commit
Change the parser to translate "foo [NOT] IN (expression-list)" to
authorTom Lane <tgl@sss.pgh.pa.us>
Mon, 28 Nov 2005 04:35:32 +0000 (04:35 +0000)
committerTom Lane <tgl@sss.pgh.pa.us>
Mon, 28 Nov 2005 04:35:32 +0000 (04:35 +0000)
commit3d376fce8dd45d43fb6dbeb5a08c08400a589ff8
tree0423df93c1a0b741442acc5120ab73291fab9610
parent8a9acd3c410c1365f9f16e32910b8c942aeceef2
Change the parser to translate "foo [NOT] IN (expression-list)" to
ScalarArrayOpExpr when possible, that is, whenever there is an array type
for the values of the expression list.  This completes the project I've
been working on to improve the speed of index searches with long IN lists,
as per discussion back in mid-October.

I did not force initdb, but until you do one you will see failures in the
"rules" regression test, because some of the standard system views use IN
and their compiled formats have changed.
src/backend/nodes/outfuncs.c
src/backend/parser/gram.y
src/backend/parser/parse_expr.c
src/include/nodes/parsenodes.h
src/test/regress/expected/rules.out