postgresql/src/test/regress/expected
Tom Lane 90947674fc Fix incorrect handling of subquery pullup in the presence of grouping sets.
If we flatten a subquery whose target list contains constants or
expressions, when those output columns are used in GROUPING SET columns,
the planner was capable of doing the wrong thing by merging a pulled-up
expression into the surrounding expression during const-simplification.
Then the late processing that attempts to match subexpressions to grouping
sets would fail to match those subexpressions to grouping sets, with the
effect that they'd not go to null when expected.

To fix, wrap such subquery outputs in PlaceHolderVars, ensuring that
they preserve their separate identity throughout the planner's expression
processing.  This is a bit of a band-aid, because the wrapper defeats
const-simplification even in places where it would be safe to allow.
But a nicer fix would likely be too invasive to back-patch, and the
consequences of the missed optimizations probably aren't large in most
cases.

Back-patch to 9.5 where grouping sets were introduced.

Heikki Linnakangas, with small mods and better test cases by me;
additional review by Andrew Gierth

Discussion: https://postgr.es/m/7dbdcf5c-b5a6-ef89-4958-da212fe10176@iki.fi
2018-01-12 12:24:50 -05:00
..
.gitignore
abstime.out
advisory_lock.out
aggregates.out Fix unstable regression test added by commits 59b71c6fe et al. 2017-11-24 00:29:20 -05:00
alter_generic.out Introduce 64-bit hash functions with a 64-bit seed. 2017-08-31 22:21:21 -04:00
alter_operator.out Establish conventions about global object names used in regression tests. 2016-07-17 18:42:43 -04:00
alter_table.out Add hash partitioning. 2017-11-09 18:07:44 -05:00
amutils.out Add SQL-accessible functions for inspecting index AM properties. 2016-08-13 18:31:14 -04:00
arrays.out Improve expression evaluation test coverage. 2017-03-11 15:41:34 -08:00
async.out
bit.out
bitmapops.out
boolean.out Improve expression evaluation test coverage. 2017-03-11 15:41:34 -08:00
box.out Fix support for some operators (&<, &>, $<|, |&>) in box operator class 2017-03-21 16:23:10 +03:00
brin.out Fix BRIN cost estimation 2017-04-06 17:51:53 -03:00
btree_index.out
case.out Faster expression evaluation and targetlist projection. 2017-03-25 14:52:06 -07:00
char.out
char_1.out
char_2.out
circle.out
cluster.out Remove replacement selection sort. 2017-09-29 10:25:44 -04:00
collate.icu.utf8.out Remove ICU tests from default run 2017-03-25 00:30:26 -04:00
collate.linux.utf8.out Update expected results for collate.linux.utf8 regression test. 2017-07-22 12:15:19 -04:00
collate.out Revert test case added by commit 1e165d05fe. 2017-08-01 20:15:10 -04:00
combocid.out Fix locking a tuple updated by an aborted (sub)transaction 2016-09-09 15:54:29 -03:00
comments.out
conversion.out Establish conventions about global object names used in regression tests. 2016-07-17 18:42:43 -04:00
copy2.out Support "COPY view FROM" for views with INSTEAD OF INSERT triggers. 2016-11-10 14:13:43 -05:00
copydml.out COPY (INSERT/UPDATE/DELETE .. RETURNING ..) 2015-11-27 19:11:22 +03:00
copyselect.out
create_aggregate.out Explicitly track whether aggregate final functions modify transition state. 2017-10-14 15:21:39 -04:00
create_am.out Remove no-op GiST support functions in the core GiST opclasses. 2017-09-19 23:32:59 -04:00
create_cast.out
create_function_3.out Allow referring to functions without arguments when unique 2017-03-14 23:55:19 -04:00
create_index.out Add more tests for reloptions 2017-10-19 14:22:05 +02:00
create_misc.out
create_operator.out
create_procedure.out Fix crash when using CALL on an aggregate 2017-12-13 10:37:48 -05:00
create_table.out Show partition info from psql \d+ 2017-11-23 05:10:39 +11:00
create_table_like.out Identity columns 2017-04-06 08:41:37 -04:00
create_type.out Fix dependency, when changing a function's argument/return type. 2017-06-16 11:33:12 +03:00
create_view.out Improve plural handling in error message 2017-08-23 13:56:59 -04:00
date.out Allow negative years in make_date to represent BC years 2017-01-19 09:45:38 -03:00
dbsize.out Remove bogus dependencies on NUMERIC_MAX_PRECISION. 2016-08-14 15:06:01 -04:00
delete.out
dependency.out Establish conventions about global object names used in regression tests. 2016-07-17 18:42:43 -04:00
domain.out Fix ALTER TABLE code to update domain constraints when needed. 2017-11-01 13:32:23 -04:00
drop_if_exists.out Establish conventions about global object names used in regression tests. 2016-07-17 18:42:43 -04:00
drop_operator.out Fix DROP OPERATOR to reset oprcom/oprnegate links to the dropped operator. 2016-03-25 12:33:16 -04:00
enum.out Revert to 9.6 treatment of ALTER TYPE enumtype ADD VALUE. 2017-09-27 16:14:43 -04:00
equivclass.out Reduce "X = X" to "X IS NOT NULL", if it's easy to do so. 2017-10-08 12:23:32 -04:00
errors.out Spelling fixes in code comments 2017-03-14 12:58:39 -04:00
event_trigger.out Remove objname/objargs split for referring to objects 2017-03-06 13:31:47 -05:00
expressions.out Improve expression evaluation test coverage. 2017-03-11 15:41:34 -08:00
float4-exp-three-digits.out
float4.out
float8-exp-three-digits-win32.out Improve regression tests for degree-based trigonometric functions. 2016-04-19 16:47:21 -04:00
float8-small-is-zero.out Improve regression tests for degree-based trigonometric functions. 2016-04-19 16:47:21 -04:00
float8-small-is-zero_1.out Improve regression tests for degree-based trigonometric functions. 2016-04-19 16:47:21 -04:00
float8.out Improve regression tests for degree-based trigonometric functions. 2016-04-19 16:47:21 -04:00
foreign_data.out Show partition info from psql \d+ 2017-11-23 05:10:39 +11:00
foreign_key.out Check for pending trigger events on far end when dropping an FK constraint. 2016-11-25 13:44:47 -05:00
functional_deps.out
geometry.out Improve plural handling in error message 2017-08-23 13:56:59 -04:00
geometry_1.out Fix up secondary expected files 2017-08-24 11:13:55 -04:00
geometry_2.out Fix up secondary expected files 2017-08-24 11:13:55 -04:00
gin.out Make GIN regression test stable. 2016-02-08 23:41:46 +09:00
gist.out Add more tests for reloptions 2017-10-19 14:22:05 +02:00
groupingsets.out Fix incorrect handling of subquery pullup in the presence of grouping sets. 2018-01-12 12:24:50 -05:00
guc.out Establish conventions about global object names used in regression tests. 2016-07-17 18:42:43 -04:00
hash_func.out Introduce 64-bit hash functions with a 64-bit seed. 2017-08-31 22:21:21 -04:00
hash_index.out Add more tests for reloptions 2017-10-19 14:22:05 +02:00
hash_part.out Fix multiple problems with satisfies_hash_partition. 2017-11-21 13:06:32 -05:00
horology.out Implement TZH and TZM timestamp format patterns 2018-01-09 14:25:05 -05:00
hs_standby_allowed.out Better fix for sequence access in hot standby test 2017-01-04 08:47:18 -05:00
hs_standby_check.out
hs_standby_disallowed.out
hs_standby_functions.out Remove all references to "xlog" from SQL-callable functions in pg_proc. 2017-02-09 15:10:09 -05:00
identity.out Fix regression test output 2017-12-09 13:45:06 +01:00
indirect_toast.out Fix typos in comments. 2017-02-06 11:33:58 +02:00
inet.out Create an SP-GiST opclass for inet/cidr. 2016-08-23 15:16:30 -04:00
inherit.out Support Parallel Append plan nodes. 2017-12-05 17:28:39 -05:00
init_privs.out Fix typos in comments. 2017-02-06 11:33:58 +02:00
insert.out Fix uninitialized memory reference. 2017-12-01 10:05:00 -05:00
insert_conflict.out Re-allow INSERT .. ON CONFLICT DO NOTHING on partitioned tables. 2017-12-01 12:53:21 -05:00
int2.out
int4.out
int8-exp-three-digits.out
int8.out
interval.out Fix integer-overflow problems in interval comparison. 2017-04-05 23:51:27 -04:00
join.out Tweak parallel hash join test case in hopes of improving stability. 2018-01-04 01:06:58 -05:00
json.out Add tests for json{b}_populate_recordset() crash case. 2017-11-06 10:29:37 -05:00
json_encoding.out Factor out encoding specific tests for json 2015-10-07 22:18:27 -04:00
json_encoding_1.out Factor out encoding specific tests for json 2015-10-07 22:18:27 -04:00
jsonb.out Add tests for json{b}_populate_recordset() crash case. 2017-11-06 10:29:37 -05:00
limit.out Add regression tests exercising more code paths in nodeLimit.c. 2017-08-11 17:28:01 -04:00
line.out
lock.out
lseg.out
macaddr.out hash: Add write-ahead logging support. 2017-03-14 13:27:02 -04:00
macaddr8.out Add support for EUI-64 MAC addresses as macaddr8 2017-03-15 11:16:25 -04:00
matview.out Remove useless and rather expensive stanza in matview regression test. 2017-05-03 19:37:01 -04:00
misc_functions.out Add num_nulls() and num_nonnulls() to count NULL arguments. 2016-02-04 23:03:37 -05:00
misc_sanity.out Fix over-aggressive sanity check in misc_sanity.sql. 2017-08-28 10:14:46 -04:00
money.out Fix precision and rounding issues in money multiplication and division. 2017-05-21 13:05:16 -04:00
name.out Message style and wording fixes 2016-06-07 14:18:55 -04:00
namespace.out
numeric.out Fix quoted-substring handling in format parsing for to_char/to_number/etc. 2017-11-18 12:16:37 -05:00
numeric_big.out Fix corner-case loss of precision in numeric pow() calculation 2016-05-05 11:16:17 +01:00
numerology.out
numerology_1.out
object_address.out SQL procedures 2017-11-30 11:03:20 -05:00
oid.out
oidjoins.out Update oidjoins regression test for v10. 2017-05-15 14:04:11 -04:00
opr_sanity.out Explicitly track whether aggregate final functions modify transition state. 2017-10-14 15:21:39 -04:00
partition_join.out Add hash partitioning. 2017-11-09 18:07:44 -05:00
partition_prune.out Add extensive tests for partition pruning. 2017-11-29 15:25:29 -05:00
password.out Don't allow logging in with empty password. 2017-08-07 17:03:42 +03:00
path.out
pg_lsn.out
plancache.out Allow a partitioned table to have a default partition. 2017-09-08 17:28:04 -04:00
plpgsql.out Add tests for PL/pgSQL returning unnamed portals as refcursor 2018-01-10 16:39:13 -05:00
point.out
polygon.out Add polygon opclass for SP-GiST 2017-12-25 18:59:38 +03:00
polymorphism.out SQL procedures 2017-11-30 11:03:20 -05:00
portals.out Move targetlist SRF handling from expression evaluation to new executor node. 2017-01-18 13:40:27 -08:00
portals_p2.out
prepare.out
prepared_xacts.out Remove unnecessary dependency on statement_timeout in prepared_xacts test. 2017-03-13 16:46:32 -04:00
prepared_xacts_1.out Remove unnecessary dependency on statement_timeout in prepared_xacts test. 2017-03-13 16:46:32 -04:00
privileges.out SQL procedures 2017-11-30 11:03:20 -05:00
psql.out Provide a test for variable existence in psql 2017-09-21 19:02:23 -04:00
psql_crosstab.out Fix incorrect error reporting for duplicate data in \crosstabview. 2016-12-25 16:04:45 -05:00
publication.out Include publication owner's name in the output of \dRp+. 2017-07-28 17:44:48 -04:00
random.out
rangefuncs.out Disallow set-returning functions inside CASE or COALESCE. 2017-06-13 23:46:39 -04:00
rangetypes.out Fix typcache's failure to treat ranges as container types. 2017-10-20 17:12:27 -04:00
regex.linux.utf8.out Make locale-dependent regex character classes work for large char codes. 2016-09-05 17:06:29 -04:00
regex.out Implement regexp_match(), a simplified alternative to regexp_matches(). 2016-08-17 18:33:01 -04:00
regproc.out Establish conventions about global object names used in regression tests. 2016-07-17 18:42:43 -04:00
reloptions.out Add more tests for reloptions 2017-10-19 14:22:05 +02:00
reltime.out
replica_identity.out hash: Add write-ahead logging support. 2017-03-14 13:27:02 -04:00
returning.out
roleattributes.out Establish conventions about global object names used in regression tests. 2016-07-17 18:42:43 -04:00
rolenames.out Further unify ROLE and USER command grammar rules 2017-08-03 20:34:45 -04:00
rowsecurity.out Always require SELECT permission for ON CONFLICT DO UPDATE. 2017-11-06 09:19:22 +00:00
rowtypes.out Teach eval_const_expressions() to handle some more cases. 2018-01-03 12:35:09 -05:00
rules.out Message style fixes 2017-09-11 11:21:27 -04:00
sanity_check.out Add polygon opclass for SP-GiST 2017-12-25 18:59:38 +03:00
security_label.out Establish conventions about global object names used in regression tests. 2016-07-17 18:42:43 -04:00
select.out Expose explain's SUMMARY option 2017-03-08 15:14:03 -05:00
select_distinct.out Disable physical tlist if any Var would need multiple sortgroupref labels. 2016-05-26 14:52:30 -04:00
select_distinct_on.out
select_having.out
select_having_1.out
select_having_2.out
select_implicit.out
select_implicit_1.out
select_implicit_2.out
select_into.out Establish conventions about global object names used in regression tests. 2016-07-17 18:42:43 -04:00
select_parallel.out Improve the heuristic for ordering child paths of a parallel append. 2018-01-09 13:07:52 -05:00
select_views.out Avoid locale-dependent output in select_views regression test. 2017-05-28 14:52:18 -04:00
sequence.out psql: Update \d sequence display 2017-09-29 13:37:30 -04:00
spgist.out Add more tests for reloptions 2017-10-19 14:22:05 +02:00
stats.out Allow bitmap scans to operate as index-only scans when possible. 2017-11-01 17:38:20 -04:00
stats_ext.out Message style fixes 2017-09-11 11:21:27 -04:00
strings.out Reduce test variability for toast_tuple_target test 2017-11-20 12:09:40 +11:00
subscription.out Fix ALTER SUBSCRIPTION grammar ambiguity 2017-06-05 21:43:25 -04:00
subselect.out Repair failure with SubPlans in multi-row VALUES lists. 2017-11-25 14:15:48 -05:00
sysviews.out Add parallel-aware hash joins. 2017-12-21 00:43:41 -08:00
tablesample.out Don't scan partitioned tables. 2017-03-21 09:48:04 -04:00
temp.out
text.out Improve plural handling in error message 2017-08-23 13:56:59 -04:00
tidscan.out Improve regression test coverage for TID scanning. 2017-03-20 12:30:23 -04:00
time.out
timestamp.out Be more careful about out-of-range dates and timestamps. 2016-03-16 19:09:28 -04:00
timestamptz.out Implement TZH and TZM timestamp format patterns 2018-01-09 14:25:05 -05:00
timetz.out Improve plural handling in error message 2017-08-23 13:56:59 -04:00
tinterval.out
transactions.out Fix handling of savepoint commands within multi-statement Query strings. 2017-09-07 09:49:55 -04:00
triggers.out C comment: fix "the the" mentions in C comments 2018-01-11 21:50:21 -05:00
truncate.out Allow ALTER TABLE ONLY on partitioned tables 2017-04-25 16:57:43 -04:00
tsdicts.out Spelling fixes 2017-03-14 12:58:39 -04:00
tsearch.out Make construct_[md_]array return a valid empty array for zero-size input. 2017-09-25 11:55:24 -04:00
tsrf.out Re-allow SRFs and window functions within sub-selects within aggregates. 2017-06-27 17:51:11 -04:00
tstypes.out Ensure that a tsquery like '!foo' matches empty tsvectors. 2017-01-26 12:18:07 -05:00
txid.out Add a txid_status function. 2017-03-24 12:00:53 -04:00
type_sanity.out Set proargmodes for satisfies_hash_partition. 2017-11-17 11:53:00 -05:00
typed_table.out Suppress less info in regression tests using DROP CASCADE. 2017-08-01 16:49:23 -04:00
union.out Fix UNION/INTERSECT/EXCEPT over no columns. 2017-12-22 12:08:06 -05:00
updatable_views.out Teach map_partition_varattnos to handle whole-row expressions. 2017-08-03 11:21:29 -04:00
update.out Add null test to partition constraint for default range partitions. 2017-11-28 10:51:01 -05:00
uuid.out hash: Add write-ahead logging support. 2017-03-14 13:27:02 -04:00
vacuum.out Allow multiple tables to be specified in one VACUUM or ANALYZE command. 2017-10-03 18:53:44 -04:00
varchar.out
varchar_1.out
varchar_2.out
window.out
with.out Fix incorrect handling of CTEs and ENRs as DML target relations. 2017-10-16 17:56:54 -04:00
without_oid.out
write_parallel.out Allow DML commands that create tables to use parallel query. 2017-10-05 11:40:48 -04:00
xml.out Fix previous commit's test, for non-UTF8 databases with non-XML builds. 2017-11-11 13:07:46 -08:00
xml_1.out Fix previous commit's test, for non-UTF8 databases with non-XML builds. 2017-11-11 13:07:46 -08:00
xml_2.out Fix previous commit's test, for non-UTF8 databases with non-XML builds. 2017-11-11 13:07:46 -08:00
xmlmap.out Fix cursor_to_xml in tableforest false mode 2017-05-03 21:41:10 -04:00
xmlmap_1.out Fix cursor_to_xml in tableforest false mode 2017-05-03 21:41:10 -04:00