pgsql: Add support for doing FULL JOIN ON FALSE.

Поиск
Список
Период
Сортировка
От tgl@postgresql.org (Tom Lane)
Тема pgsql: Add support for doing FULL JOIN ON FALSE.
Дата
Msg-id 20100105232536.7F2BC753FB7@cvs.postgresql.org
обсуждение исходный текст
Список pgsql-committers
Log Message:
-----------
Add support for doing FULL JOIN ON FALSE.  While this is really a rather
peculiar variant of UNION ALL, and so wouldn't likely get written directly
as-is, it's possible for it to arise as a result of simplification of
less-obviously-silly queries.  In particular, now that we can do flattening
of subqueries that have constant outputs and are underneath an outer join,
it's possible for the case to result from simplification of queries of the
type exhibited in bug #5263.  Back-patch to 8.4 to avoid a functionality
regression for this type of query.

Modified Files:
--------------
    pgsql/src/backend/executor:
        nodeMergejoin.c (r1.99 -> r1.100)
        (http://anoncvs.postgresql.org/cvsweb.cgi/pgsql/src/backend/executor/nodeMergejoin.c?r1=1.99&r2=1.100)
    pgsql/src/backend/optimizer/path:
        joinpath.c (r1.128 -> r1.129)
        (http://anoncvs.postgresql.org/cvsweb.cgi/pgsql/src/backend/optimizer/path/joinpath.c?r1=1.128&r2=1.129)
    pgsql/src/include/nodes:
        execnodes.h (r1.216 -> r1.217)
        (http://anoncvs.postgresql.org/cvsweb.cgi/pgsql/src/include/nodes/execnodes.h?r1=1.216&r2=1.217)
    pgsql/src/test/regress/expected:
        join.out (r1.42 -> r1.43)
        (http://anoncvs.postgresql.org/cvsweb.cgi/pgsql/src/test/regress/expected/join.out?r1=1.42&r2=1.43)
    pgsql/src/test/regress/sql:
        join.sql (r1.31 -> r1.32)
        (http://anoncvs.postgresql.org/cvsweb.cgi/pgsql/src/test/regress/sql/join.sql?r1=1.31&r2=1.32)

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

Предыдущее
От: rhaas@postgresql.org (Robert Haas)
Дата:
Сообщение: pgsql: Support ALTER TABLESPACE name SET/RESET ( tablespace_options ).
Следующее
От: tgl@postgresql.org (Tom Lane)
Дата:
Сообщение: pgsql: Add support for doing FULL JOIN ON FALSE.