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

From tgl@postgresql.org (Tom Lane)
Subject pgsql: Change the parser to translate "foo [NOT] IN (expression-list)"
Date
Msg-id 20051128043532.6B1489DCB0B@postgresql.org
Whole thread Raw
List 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)

pgsql-committers by date:

Previous
From: tgl@svr1.postgresql.org (Tom Lane)
Date:
Subject: pgsql: Teach predtest.c how to reason about ScalarArrayOpExpr clauses as
Next
From: chriskl@pgfoundry.org (User Chriskl)
Date:
Subject: mysqlcompat - mysqlcompat: Even more date/time functions