]> granicus.if.org Git - postgresql/commit
Adjust constant-folding of CASE expressions so that the simple comparison
authorTom Lane <tgl@sss.pgh.pa.us>
Wed, 2 Feb 2005 21:49:09 +0000 (21:49 +0000)
committerTom Lane <tgl@sss.pgh.pa.us>
Wed, 2 Feb 2005 21:49:09 +0000 (21:49 +0000)
commitfffb5819ca9a48610c4a6f7ef45269ef2e506712
treef1011f30f3f43e398f90966d4df2ea031a08fd02
parentb3a7e987a103e7734b5b89b54784fc9486cb13c5
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.
src/backend/optimizer/util/clauses.c
src/test/regress/expected/case.out
src/test/regress/sql/case.sql