summaryrefslogtreecommitdiff
path: root/doc/src
diff options
context:
space:
mode:
authorTomas Vondra2017-07-30 18:41:44 +0000
committerTomas Vondra2017-07-31 01:21:42 +0000
commitfc3148e7e327b8c7c5da4c9a5816e8c61061e970 (patch)
tree7e4b914e598ab2cf0e3ea173e2b45fb2dc7e8382 /doc/src
parentb0ef8d636450ec47a8a546126e6602e03c9bae3f (diff)
Accept aggregation plan changes in xc_remote tests
The plans changed mainly due to abandoning the custom implementation two-phase aggregation code, and using the upstream parallel aggregation. That means we have stopped showing schema name in target lists, so instead of Output: pg_catalog.avg((avg(xcrem_employee.salary))) the EXPLAIN now shows Output: avg(xcrem_employee.salary) and we also do projection at the scan nodes, so the target list only shows the necessary subset of columns. A somewhat surprising change is that the plans switch from distributed aggregate plans like this one -> Aggregate -> Remote Subquery Scan -> Aggregate -> Seq Scan to always performing simple (non-distributed) aggregate like this -> Aggregate -> Remote Subquery Scan -> Seq Scan This happens due to create_grouping_paths() relying on consider_parallel flag when setting try_distributed_aggregate, disabling distributed aggregation when consider_parallel=false. Both affected plans are however for UPDATE queries, and PostgreSQL disables parallelism for queries that do writes, so we end up with try_distributed_aggregate=false. We should probably enable distributed aggregates in these cases, but we can't ignore consider_parallel entirely, as we likely need some of the checks. We will probably end up with consider_distributed flag, set in a similar way to consider_parallel, but that's more an enhancement than a bug fix.
Diffstat (limited to 'doc/src')
0 files changed, 0 insertions, 0 deletions