pgsql: Change the parser to translate "foo [NOT] IN (expression-list)"

From: tgl(at)postgresql(dot)org (Tom Lane)
To: pgsql-committers(at)postgresql(dot)org
Subject: pgsql: Change the parser to translate "foo [NOT] IN (expression-list)"
Date: 2005-11-28 04:35:32
Message-ID: 20051128043532.6B1489DCB0B@postgresql.org
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-committers

Log Message:
-----------
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.

Modified Files:
--------------
pgsql/src/backend/nodes:
outfuncs.c (r1.263 -> r1.264)
(http://developer.postgresql.org/cvsweb.cgi/pgsql/src/backend/nodes/outfuncs.c.diff?r1=1.263&r2=1.264)
pgsql/src/backend/parser:
gram.y (r2.515 -> r2.516)
(http://developer.postgresql.org/cvsweb.cgi/pgsql/src/backend/parser/gram.y.diff?r1=2.515&r2=2.516)
parse_expr.c (r1.187 -> r1.188)
(http://developer.postgresql.org/cvsweb.cgi/pgsql/src/backend/parser/parse_expr.c.diff?r1=1.187&r2=1.188)
pgsql/src/include/nodes:
parsenodes.h (r1.296 -> r1.297)
(http://developer.postgresql.org/cvsweb.cgi/pgsql/src/include/nodes/parsenodes.h.diff?r1=1.296&r2=1.297)
pgsql/src/test/regress/expected:
rules.out (r1.109 -> r1.110)
(http://developer.postgresql.org/cvsweb.cgi/pgsql/src/test/regress/expected/rules.out.diff?r1=1.109&r2=1.110)

Browse pgsql-committers by date

  From Date Subject
Next Message User Chriskl 2005-11-28 05:43:54 mysqlcompat - mysqlcompat: Even more date/time functions
Previous Message User Tom 2005-11-28 03:31:06 pqa - pqa: Refactored command line arg handling into a PQA class; pqa