Improve documentation about CASE and constant subexpressions.
authorTom Lane <tgl@sss.pgh.pa.us>
Thu, 18 Dec 2014 21:38:55 +0000 (16:38 -0500)
committerTom Lane <tgl@sss.pgh.pa.us>
Thu, 18 Dec 2014 21:38:55 +0000 (16:38 -0500)
commit2b8f74d79722ecf7c27445f088d0e50bcb81ed06
treead46951d39df996480fbd0659a3f68848d262a72
parent4a48b4cb390656471ddf52f469ecb56d4e399df1
Improve documentation about CASE and constant subexpressions.

The possibility that constant subexpressions of a CASE might be evaluated
at planning time was touched on in 9.17.1 (CASE expressions), but it really
ought to be explained in 4.2.14 (Expression Evaluation Rules) which is the
primary discussion of such topics.  Add text and an example there, and
revise the <note> under CASE to link there.

Back-patch to all supported branches, since it's acted like this for a
long time (though 9.2+ is probably worse because of its more aggressive
use of constant-folding via replanning of nominally-prepared statements).
Pre-9.4, also back-patch text added in commit 0ce627d4 about CASE versus
aggregate functions.

Tom Lane and David Johnston, per discussion of bug #12273.
doc/src/sgml/func.sgml
doc/src/sgml/syntax.sgml