Обсуждение: pgsql: Adjust constant-folding of CASE expressions so that the simple

Поиск
Список
Период
Сортировка

pgsql: Adjust constant-folding of CASE expressions so that the simple

От
tgl@svr1.postgresql.org (Tom Lane)
Дата:
Log Message:
-----------
Adjust constant-folding of CASE expressions so that the simple comparison
form of CASE (eg, CASE 0 WHEN 1 THEN ...) can be constant-folded as it
was in 7.4.  Also, avoid constant-folding result expressions that are
certainly unreachable --- the former coding was a bit cavalier about this
and could generate unexpected results for all-constant CASE expressions.
Add regression test cases.  Per report from Vlad Marchenko.

Modified Files:
--------------
    pgsql/src/backend/optimizer/util:
        clauses.c (r1.187 -> r1.188)
        (http://developer.postgresql.org/cvsweb.cgi/pgsql/src/backend/optimizer/util/clauses.c.diff?r1=1.187&r2=1.188)
    pgsql/src/test/regress/expected:
        case.out (r1.8 -> r1.9)
        (http://developer.postgresql.org/cvsweb.cgi/pgsql/src/test/regress/expected/case.out.diff?r1=1.8&r2=1.9)
    pgsql/src/test/regress/sql:
        case.sql (r1.5 -> r1.6)
        (http://developer.postgresql.org/cvsweb.cgi/pgsql/src/test/regress/sql/case.sql.diff?r1=1.5&r2=1.6)