citus/src/backend/distributed/executor
Nils Dijk 65bd540943
Feature: configure object propagation behaviour in transactions (#5724)
DESCRIPTION: Add GUC to control ddl creation behaviour in transactions

Historically we would _not_ propagate objects when we are in a transaction block. Creation of distributed tables would not always work in sequential mode, hence objects created in the same transaction as distributing a table that would use the just created object wouldn't work. The benefit was that the user could still benefit from parallelism.

Now that the creation of distributed tables is supported in sequential mode it would make sense for users to force transactional consistency of ddl commands for distributed tables. A transaction could switch more aggressively to sequential mode when creating new objects in a transaction.

We don't change the default behaviour just yet.

Also, many objects would not even propagate their creation when the transaction was already set to sequential, leaving the probability of a self deadlock. The new policy checks solve this discrepancy between objects as well.
2022-03-01 17:29:31 +03:00
..
adaptive_executor.c Use intermediate results for re-partition joins 2022-02-23 19:40:21 +01:00
citus_custom_scan.c Drop support for CitusInitiatedBackend 2022-02-24 12:12:43 +01:00
directed_acyclic_graph_execution.c Use intermediate results for re-partition joins 2022-02-23 19:40:21 +01:00
distributed_execution_locks.c Fix typo s/exlusive/exclusive/ 2021-12-23 01:35:01 +03:00
distributed_intermediate_results.c Use intermediate results for re-partition joins 2022-02-23 19:40:21 +01:00
insert_select_executor.c Drop support for Inactive Shard placements 2021-10-22 18:03:35 +02:00
intermediate_results.c Use intermediate results for re-partition joins 2022-02-23 19:40:21 +01:00
local_executor.c Enable re-partition joins after local execution 2022-02-23 19:40:21 +01:00
multi_client_executor.c Remove unused functions that cppcheck found 2020-10-19 13:50:52 +03:00
multi_executor.c Feature: configure object propagation behaviour in transactions (#5724) 2022-03-01 17:29:31 +03:00
multi_server_executor.c Local execution considers intermediate result size limit 2020-10-15 17:18:55 +02:00
partitioned_intermediate_results.c Use intermediate results for re-partition joins 2022-02-23 19:40:21 +01:00
placement_access.c Not include to-be-deleted shards while finding shard placements 2021-06-28 13:05:31 +03:00
query_stats.c Remove task tracker executor (#3850) 2020-07-18 13:11:36 +03:00
repartition_join_execution.c Enable re-partition joins after local execution 2022-02-23 19:40:21 +01:00
subplan_execution.c Fix explain subplan duration 2020-07-03 20:39:55 +03:00
tuple_destination.c Fixes function names in comments 2021-10-06 09:24:43 +03:00