postgresql/src
Tom Lane d43a619c60 Fix check_srf_call_placement() to handle VALUES cases correctly.
INSERT ... VALUES with a single VALUES row is implemented quite differently
from the general VALUES case.  A user-visible implication of that is that
we accept SRFs in the single-row case, but not in the multi-row case.
That's a historical artifact no doubt, but in view of the lack of field
complaints, I'm not excited about fixing it right now.

However, check_srf_call_placement() needs to know about this, first because
it should throw an error in the unsupported case, and second because it
should set p_hasTargetSRFs in the single-row case (because we treat that
like a SELECT tlist).  That's an oversight in commit a4c35ea1c.

To fix, split EXPR_KIND_VALUES into two values.  So far as I can see,
this is the only place where we need to distinguish the two cases at
present; but there might be more later.

Patch by me, per report from Andres Freund.

Discussion: https://postgr.es/m/20170116081548.zg63zltblwimpfgp@alap3.anarazel.de
2017-01-16 15:23:11 -05:00
..
backend Fix check_srf_call_placement() to handle VALUES cases correctly. 2017-01-16 15:23:11 -05:00
bin Fix incorrect comparison due to bad merge 2017-01-16 18:20:57 +01:00
common Update copyright via script for 2017 2017-01-03 13:48:53 -05:00
fe_utils Update copyright via script for 2017 2017-01-03 13:48:53 -05:00
include Fix check_srf_call_placement() to handle VALUES cases correctly. 2017-01-16 15:23:11 -05:00
interfaces Update copyright via script for 2017 2017-01-03 13:48:53 -05:00
makefiles Provide NO_INSTALLCHECK option for pgxs. 2016-11-14 14:53:07 -08:00
pl Change representation of statement lists, and add statement location info. 2017-01-14 16:02:35 -05:00
port Attempt to handle pending-delete files on Windows 2017-01-04 10:48:30 +01:00
template Remove "sco" and "unixware" ports. 2016-10-11 11:26:04 -04:00
test Fix check_srf_call_placement() to handle VALUES cases correctly. 2017-01-16 15:23:11 -05:00
timezone Update copyright via script for 2017 2017-01-03 13:48:53 -05:00
tools pg_ctl: Change default to wait for all actions 2017-01-14 09:15:08 -05:00
tutorial Update copyright via script for 2017 2017-01-03 13:48:53 -05:00
.gitignore
DEVELOPERS
Makefile Install TAP test infrastructure so it's available for extension testing. 2016-09-23 15:50:00 -04:00
Makefile.global.in Replace PostmasterRandom() with a stronger source, second attempt. 2016-12-05 13:42:59 +02:00
Makefile.shlib Remove "sco" and "unixware" ports. 2016-10-11 11:26:04 -04:00
bcc32.mak
nls-global.mk nls-global.mk: search build dir for source files, too 2016-06-07 18:55:18 -04:00
win32.mak