pgsql: Preserve AND/OR flatness while extracting restriction OR clauses

Поиск
Список
Период
Сортировка
От Tom Lane
Тема pgsql: Preserve AND/OR flatness while extracting restriction OR clauses
Дата
Msg-id E1XRU15-0000Kx-Ti@gemulon.postgresql.org
обсуждение исходный текст
Список pgsql-committers
Preserve AND/OR flatness while extracting restriction OR clauses.

The code I added in commit f343a880d5555faf1dad0286c5632047c8f599ad was
careless about preserving AND/OR flatness: it could create a structure with
an OR node directly underneath another one.  That breaks an assumption
that's fairly important for planning efficiency, not to mention triggering
various Asserts (as reported by Benjamin Smith).  Add a trifle more logic
to handle the case properly.

Branch
------
REL9_4_STABLE

Details
-------
http://git.postgresql.org/pg/commitdiff/f003419791f35eeab0150cd097bcf7929622b0fc

Modified Files
--------------
src/backend/optimizer/util/orclauses.c |   12 ++++++++++--
src/test/regress/expected/join.out     |   27 +++++++++++++++++++++++++++
src/test/regress/sql/join.sql          |    4 ++++
3 files changed, 41 insertions(+), 2 deletions(-)


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

Предыдущее
От: Tom Lane
Дата:
Сообщение: pgsql: Preserve AND/OR flatness while extracting restriction OR clauses
Следующее
От: Andres Freund
Дата:
Сообщение: pgsql: Fix typo in 07c8651dd91d5 causing WIN32_ONLY_COMPILER builds to