pgsql: Implement SQL-compliant treatment of row comparisons for < <= >

Поиск
Список
Период
Сортировка
От tgl@postgresql.org (Tom Lane)
Тема pgsql: Implement SQL-compliant treatment of row comparisons for < <= >
Дата
Msg-id 20051228013002.563819DC9E6@postgresql.org
обсуждение исходный текст
Список pgsql-committers
Log Message:
-----------
Implement SQL-compliant treatment of row comparisons for < <= > >= cases
(previously we only did = and <> correctly).  Also, allow row comparisons
with any operators that are in btree opclasses, not only those with these
specific names.  This gets rid of a whole lot of indefensible assumptions
about the behavior of particular operators based on their names ... though
it's still true that IN and NOT IN expand to "= ANY".  The patch adds a
RowCompareExpr expression node type, and makes some changes in the
representation of ANY/ALL/ROWCOMPARE SubLinks so that they can share code
with RowCompareExpr.

I have not yet done anything about making RowCompareExpr an indexable
operator, but will look at that soon.

initdb forced due to changes in stored rules.

Modified Files:
--------------
    pgsql/doc/src/sgml:
        func.sgml (r1.300 -> r1.301)
        (http://developer.postgresql.org/cvsweb.cgi/pgsql/doc/src/sgml/func.sgml.diff?r1=1.300&r2=1.301)
    pgsql/src/backend/catalog:
        dependency.c (r1.48 -> r1.49)
        (http://developer.postgresql.org/cvsweb.cgi/pgsql/src/backend/catalog/dependency.c.diff?r1=1.48&r2=1.49)
    pgsql/src/backend/executor:
        execQual.c (r1.186 -> r1.187)
        (http://developer.postgresql.org/cvsweb.cgi/pgsql/src/backend/executor/execQual.c.diff?r1=1.186&r2=1.187)
        nodeSubplan.c (r1.71 -> r1.72)
        (http://developer.postgresql.org/cvsweb.cgi/pgsql/src/backend/executor/nodeSubplan.c.diff?r1=1.71&r2=1.72)
    pgsql/src/backend/nodes:
        copyfuncs.c (r1.323 -> r1.324)
        (http://developer.postgresql.org/cvsweb.cgi/pgsql/src/backend/nodes/copyfuncs.c.diff?r1=1.323&r2=1.324)
        equalfuncs.c (r1.259 -> r1.260)
        (http://developer.postgresql.org/cvsweb.cgi/pgsql/src/backend/nodes/equalfuncs.c.diff?r1=1.259&r2=1.260)
        outfuncs.c (r1.265 -> r1.266)
        (http://developer.postgresql.org/cvsweb.cgi/pgsql/src/backend/nodes/outfuncs.c.diff?r1=1.265&r2=1.266)
        readfuncs.c (r1.182 -> r1.183)
        (http://developer.postgresql.org/cvsweb.cgi/pgsql/src/backend/nodes/readfuncs.c.diff?r1=1.182&r2=1.183)
    pgsql/src/backend/optimizer/path:
        costsize.c (r1.151 -> r1.152)
        (http://developer.postgresql.org/cvsweb.cgi/pgsql/src/backend/optimizer/path/costsize.c.diff?r1=1.151&r2=1.152)
    pgsql/src/backend/optimizer/plan:
        subselect.c (r1.102 -> r1.103)

(http://developer.postgresql.org/cvsweb.cgi/pgsql/src/backend/optimizer/plan/subselect.c.diff?r1=1.102&r2=1.103)
    pgsql/src/backend/optimizer/util:
        clauses.c (r1.204 -> r1.205)
        (http://developer.postgresql.org/cvsweb.cgi/pgsql/src/backend/optimizer/util/clauses.c.diff?r1=1.204&r2=1.205)
    pgsql/src/backend/parser:
        gram.y (r2.519 -> r2.520)
        (http://developer.postgresql.org/cvsweb.cgi/pgsql/src/backend/parser/gram.y.diff?r1=2.519&r2=2.520)
        parse_expr.c (r1.188 -> r1.189)
        (http://developer.postgresql.org/cvsweb.cgi/pgsql/src/backend/parser/parse_expr.c.diff?r1=1.188&r2=1.189)
        parse_oper.c (r1.83 -> r1.84)
        (http://developer.postgresql.org/cvsweb.cgi/pgsql/src/backend/parser/parse_oper.c.diff?r1=1.83&r2=1.84)
    pgsql/src/backend/utils/adt:
        ruleutils.c (r1.210 -> r1.211)
        (http://developer.postgresql.org/cvsweb.cgi/pgsql/src/backend/utils/adt/ruleutils.c.diff?r1=1.210&r2=1.211)
    pgsql/src/backend/utils/cache:
        lsyscache.c (r1.130 -> r1.131)
        (http://developer.postgresql.org/cvsweb.cgi/pgsql/src/backend/utils/cache/lsyscache.c.diff?r1=1.130&r2=1.131)
    pgsql/src/include/catalog:
        catversion.h (r1.307 -> r1.308)
        (http://developer.postgresql.org/cvsweb.cgi/pgsql/src/include/catalog/catversion.h.diff?r1=1.307&r2=1.308)
    pgsql/src/include/nodes:
        execnodes.h (r1.146 -> r1.147)
        (http://developer.postgresql.org/cvsweb.cgi/pgsql/src/include/nodes/execnodes.h.diff?r1=1.146&r2=1.147)
        nodes.h (r1.179 -> r1.180)
        (http://developer.postgresql.org/cvsweb.cgi/pgsql/src/include/nodes/nodes.h.diff?r1=1.179&r2=1.180)
        params.h (r1.28 -> r1.29)
        (http://developer.postgresql.org/cvsweb.cgi/pgsql/src/include/nodes/params.h.diff?r1=1.28&r2=1.29)
        primnodes.h (r1.110 -> r1.111)
        (http://developer.postgresql.org/cvsweb.cgi/pgsql/src/include/nodes/primnodes.h.diff?r1=1.110&r2=1.111)
    pgsql/src/include/parser:
        parse_oper.h (r1.36 -> r1.37)
        (http://developer.postgresql.org/cvsweb.cgi/pgsql/src/include/parser/parse_oper.h.diff?r1=1.36&r2=1.37)
    pgsql/src/include/utils:
        lsyscache.h (r1.101 -> r1.102)
        (http://developer.postgresql.org/cvsweb.cgi/pgsql/src/include/utils/lsyscache.h.diff?r1=1.101&r2=1.102)
    pgsql/src/pl/plpgsql/src:
        pl_exec.c (r1.157 -> r1.158)
        (http://developer.postgresql.org/cvsweb.cgi/pgsql/src/pl/plpgsql/src/pl_exec.c.diff?r1=1.157&r2=1.158)
    pgsql/src/test/regress/expected:
        rowtypes.out (r1.3 -> r1.4)
        (http://developer.postgresql.org/cvsweb.cgi/pgsql/src/test/regress/expected/rowtypes.out.diff?r1=1.3&r2=1.4)
    pgsql/src/test/regress/sql:
        rowtypes.sql (r1.3 -> r1.4)
        (http://developer.postgresql.org/cvsweb.cgi/pgsql/src/test/regress/sql/rowtypes.sql.diff?r1=1.3&r2=1.4)

В списке pgsql-committers по дате отправления:

Предыдущее
От: jwp@pgfoundry.org (James William Pye)
Дата:
Сообщение: python - be: Add path accessors.
Следующее
От: momjian@postgresql.org (Bruce Momjian)
Дата:
Сообщение: pgsql: Done: < * %Make row-wise comparisons work per SQL spec > * -Make