1
0
mirror of https://github.com/postgres/postgres.git synced 2025-07-14 08:21:07 +03:00
Files
postgres/src
Tom Lane 080b7db72e Fix "cannot accept a set" error when only some arms of a CASE return a set.
In commit c1352052ef, I implemented an
optimization that assumed that a function's argument expressions would
either always return a set (ie multiple rows), or always not.  This is
wrong however: we allow CASE expressions in which some arms return a set
of some type and others just return a scalar of that type.  There may be
other examples as well.  To fix, replace the run-time test of whether an
argument returned a set with a static precheck (expression_returns_set).
This adds a little bit of query startup overhead, but it seems barely
measurable.

Per bug #8228 from David Johnston.  This has been broken since 8.0,
so patch all supported branches.
2014-01-08 20:18:58 -05:00
..
2014-01-07 16:05:30 -05:00
2014-01-07 16:05:30 -05:00
2014-01-07 16:05:30 -05:00
2013-11-12 06:39:36 -05:00
2014-01-07 16:05:30 -05:00
2014-01-07 16:05:30 -05:00
2013-11-12 06:39:36 -05:00
2014-01-07 16:05:30 -05:00
2014-01-07 16:05:30 -05:00
2014-01-07 16:05:30 -05:00
2013-10-18 08:14:21 -04:00