citus/src/include/distributed
SaitTalhaNisanci 0aebd78ea7 use localExecution in ExecuteTaskListExtended
ExecuteTaskListExtended is the common method for different codepaths,
and instead of writing separate local execution logics in different
codepaths, it makes more sense to have the logic here. We still need to
do some refactoring, this is an initial step.

After this commit, we can run create shard commands locally. There is a
special case with shard creation commands. A create shard command might
have a concatenated query string, however local execution did not know
how to execute a task with multiple query strings. This is also
implemented in this commit. We go over each query in the concatenated
query string and plan/execute them one by one.

A more clean solution to this would be to make sure that each task has a
single query. We currently cannot do that because we need to ensure the
task dependencies. However, it would make sense to do that at some point
and it would simplify the code a lot.
2020-04-01 18:23:16 +03:00
..
commands multi_copy.c: remove tableMetadata 2020-03-30 19:26:44 +00:00
metadata move MakeNameListFromRangeVar function to a more appropriate file 2020-03-25 11:01:50 +03:00
adaptive_executor.h use localExecution in ExecuteTaskListExtended 2020-04-01 18:23:16 +03:00
argutils.h Add the necessary changes for rebalance strategies on enterprise (#3325) 2019-12-19 15:23:08 +01:00
backend_data.h Remove copyright years (#2918) 2019-10-15 17:44:30 +03:00
cancel_utils.h add IsHoldOffCancellationReceived utility function (#3290) 2019-12-12 17:32:59 +03:00
citus_acquire_lock.h remove copyright years (#3286) 2019-12-11 21:14:08 +03:00
citus_clauses.h Make sure to go deeper into the functions to search for PARAMs 2020-02-03 09:36:12 +01:00
citus_custom_scan.h extract local plan cache related methods into a file (#3667) 2020-03-31 11:11:34 +03:00
citus_nodefuncs.h use taskQuery as a struct to simplify the code 2020-03-31 15:47:55 +03:00
citus_nodes.h use taskQuery as a struct to simplify the code 2020-03-31 15:47:55 +03:00
citus_ruleutils.h Miscellaneous cleanup in prep for collation propagation 2019-11-19 17:28:59 +00:00
citus_safe_lib.h Semmle: Ensure stack memory is not leaked through uninitialized… (#3561) 2020-03-11 20:05:36 +01:00
colocation_utils.h add a UDF to update colocation (#3623) 2020-03-23 13:22:24 +03:00
commands.h Propagate ALTER ROLE .. SET statements 2020-03-27 13:02:48 +03:00
connection_management.h Mark all connections for shutdown when citus.node_conninfo chan… (#3642) 2020-03-24 15:31:41 +01:00
cte_inline.h Update regression tests-2 2020-01-16 12:28:15 +01:00
deparse_shard_query.h add TaskQuery struct to abstract query string related fields 2020-03-31 15:47:55 +03:00
deparser.h Propagate ALTER ROLE .. SET statements 2020-03-27 13:02:48 +03:00
directed_acyclic_graph_execution.h Fill in jobIdList field of DistributedExecution 2020-02-05 17:32:22 +00:00
distributed_deadlock_detection.h Remove copyright years (#2918) 2019-10-15 17:44:30 +03:00
distributed_execution_locks.h Remove real time router executors (#3142) 2019-11-05 12:48:10 +01:00
distributed_planner.h use macros for pg versions instead of hardcoded values (#3694) 2020-04-01 17:01:52 +03:00
distribution_column.h Fix segfault in column_to_column_name 2019-12-01 23:57:25 +01:00
enterprise.h remove copyright years (#3286) 2019-12-11 21:14:08 +03:00
errormessage.h Introduce GetDistributeObjectOps to organize dispatch of logic dependent on node/object type 2020-01-09 18:24:29 +00:00
extended_op_node_utils.h Add support for window functions on coordinator 2020-03-25 15:31:20 +00:00
foreign_key_relationship.h Remove copyright years (#2918) 2019-10-15 17:44:30 +03:00
function_call_delegation.h Refactor distributed_planner for better understandability 2020-01-06 14:23:38 +01:00
function_utils.h Semmle: Fix obvious issues (#3502) 2020-02-21 10:16:00 +01:00
hash_helpers.h use macros for pg versions instead of hardcoded values (#3694) 2020-04-01 17:01:52 +03:00
insert_select_executor.h Repartitioned INSERT/SELECT: Add a GUC to enable/disable it 2020-01-16 23:24:52 -08:00
insert_select_planner.h Given IsDistributedTableRTE, there's ambiguity in what DistributedTable means 2020-03-06 18:57:55 +00:00
intermediate_result_pruning.h Improve the representation of used sub plans (#3411) 2020-01-24 10:47:14 +01:00
intermediate_results.h Rename DistTableCacheEntry to CitusTableCacheEntry 2020-03-07 14:08:03 +00:00
listutils.h Make bad refactors to foreach_xxx error out 2020-02-27 10:59:45 +01:00
local_executor.h use localExecution in ExecuteTaskListExtended 2020-04-01 18:23:16 +03:00
local_multi_copy.h apply review items 2020-03-18 09:33:55 +03:00
local_plan_cache.h extract local plan cache related methods into a file (#3667) 2020-03-31 11:11:34 +03:00
lock_graph.h Remove copyright years (#2918) 2019-10-15 17:44:30 +03:00
log_utils.h Make ApplyLogRedaction a macro and redefine ereport 2020-01-13 18:24:36 +01:00
maintenanced.h Remove copyright years (#2918) 2019-10-15 17:44:30 +03:00
master_metadata_utility.h add a UDF to update colocation (#3623) 2020-03-23 13:22:24 +03:00
master_protocol.h Reintroduce ForceSearchShardPlacementInList (#3664) 2020-03-27 14:28:50 +01:00
memutils.h Implementation for asycn FinishConnectionListEstablishment (#2584) 2019-03-22 17:30:42 +01:00
metadata_cache.h Remove all GetWorkerNodeCount() references 2020-03-09 13:35:18 +03:00
metadata_sync.h Rename DistTableCacheEntry to CitusTableCacheEntry 2020-03-07 14:08:03 +00:00
multi_client_executor.h Remove real time router executors (#3142) 2019-11-05 12:48:10 +01:00
multi_executor.h use localExecution in ExecuteTaskListExtended 2020-04-01 18:23:16 +03:00
multi_explain.h Remove copyright years (#2918) 2019-10-15 17:44:30 +03:00
multi_join_order.h Semmle: Check for NULL in some places where it might occur (#3509) 2020-02-27 10:45:29 +01:00
multi_logical_optimizer.h Add support for window functions on coordinator 2020-03-25 15:31:20 +00:00
multi_logical_planner.h Add support for window functions on coordinator 2020-03-25 15:31:20 +00:00
multi_master_planner.h use macros for pg versions instead of hardcoded values (#3694) 2020-04-01 17:01:52 +03:00
multi_partitioning_utils.h Remove copyright years (#2918) 2019-10-15 17:44:30 +03:00
multi_physical_planner.h use macros for pg versions instead of hardcoded values (#3694) 2020-04-01 17:01:52 +03:00
multi_progress.h Remove copyright years (#2918) 2019-10-15 17:44:30 +03:00
multi_resowner.h Remove copyright years (#2918) 2019-10-15 17:44:30 +03:00
multi_router_planner.h Given IsDistributedTableRTE, there's ambiguity in what DistributedTable means 2020-03-06 18:57:55 +00:00
multi_server_executor.h Use current user for repartition join temp schemas. 2020-02-04 09:48:20 -08:00
multi_task_tracker_executor.h Add adaptive executor support for repartition joins (#3169) 2019-12-17 19:09:45 +03:00
pg_dist_colocation.h Add distributioncolumncollation to to pg_dist_colocation 2019-12-09 19:51:40 +00:00
pg_dist_local_group.h Remove copyright years (#2918) 2019-10-15 17:44:30 +03:00
pg_dist_node.h Add shouldhaveshards to pg_dist_node (#2960) 2019-10-22 16:47:16 +02:00
pg_dist_node_metadata.h Remove copyright years (#2918) 2019-10-15 17:44:30 +03:00
pg_dist_partition.h Remove copyright years (#2918) 2019-10-15 17:44:30 +03:00
pg_dist_placement.h Rename RelayFileState to ShardState 2020-01-12 05:57:53 +00:00
pg_dist_rebalance_strategy.h Add the necessary changes for rebalance strategies on enterprise (#3325) 2019-12-19 15:23:08 +01:00
pg_dist_shard.h Implement partitioned intermediate results. 2019-12-24 03:53:39 -08:00
pg_dist_transaction.h Remove copyright years (#2918) 2019-10-15 17:44:30 +03:00
pg_version_constants.h use macros for pg versions instead of hardcoded values (#3694) 2020-04-01 17:01:52 +03:00
placement_access.h Remove real time router executors (#3142) 2019-11-05 12:48:10 +01:00
placement_connection.h Locally execute queries that don't need any data access (#3410) 2020-01-23 18:28:34 +01:00
query_colocation_checker.h Remove copyright years (#2918) 2019-10-15 17:44:30 +03:00
query_pushdown_planning.h Introduce intermediate result broadcasting 2019-11-20 15:26:36 +03:00
query_stats.h Remove copyright years (#2918) 2019-10-15 17:44:30 +03:00
query_utils.h Include all relevant relations in the ExtractRangeTableRelationWalker (#3135) 2019-11-01 16:06:58 +01:00
recursive_planning.h use macros for pg versions instead of hardcoded values (#3694) 2020-04-01 17:01:52 +03:00
reference_table_utils.h remove copyright years (#3286) 2019-12-11 21:14:08 +03:00
relation_access_tracking.h Remove copyright years (#2918) 2019-10-15 17:44:30 +03:00
relation_restriction_equivalence.h Fix typos 2020-02-18 17:14:40 +00:00
relay_utility.h Rename RelayFileState to ShardState 2020-01-12 05:57:53 +00:00
remote_commands.h Remove copyright years (#2918) 2019-10-15 17:44:30 +03:00
remote_transaction.h rename REMOTE_TRANS_INVALID to REMOTE_TRANS_NOT_STARTED 2019-12-11 15:24:18 +03:00
repartition_join_execution.h Add adaptive executor support for repartition joins (#3169) 2019-12-17 19:09:45 +03:00
resource_lock.h Replace shardId lock with lock on colocation+shardIntervalIndex (#3374) 2020-01-16 13:14:01 +01:00
run_from_same_connection.h Remove copyright years (#2918) 2019-10-15 17:44:30 +03:00
shard_pruning.h remove copyright years (#3286) 2019-12-11 21:14:08 +03:00
shard_utils.h add the support to execute copy locally 2020-03-18 09:28:59 +03:00
shardinterval_utils.h Rename DistTableCacheEntry to CitusTableCacheEntry 2020-03-07 14:08:03 +00:00
shared_library_init.h refactor some of hard coded values in citus gucs (#3137) 2019-10-30 10:35:39 +03:00
statistics_collection.h Remove copyright years (#2918) 2019-10-15 17:44:30 +03:00
subplan_execution.h Locally execute queries that don't need any data access (#3410) 2020-01-23 18:28:34 +01:00
task_tracker.h Add adaptive executor support for repartition joins (#3169) 2019-12-17 19:09:45 +03:00
task_tracker_protocol.h Use current user for repartition join temp schemas. 2020-02-04 09:48:20 -08:00
time_constants.h refactor some of hard coded values in citus gucs (#3137) 2019-10-30 10:35:39 +03:00
transaction_identifier.h Remove copyright years (#2918) 2019-10-15 17:44:30 +03:00
transaction_management.h Don't start a coordinated transaction on workers. 2020-01-16 23:24:52 -08:00
transaction_recovery.h Remove copyright years (#2918) 2019-10-15 17:44:30 +03:00
transmit.h Remove copyright years (#2918) 2019-10-15 17:44:30 +03:00
tuplestore.h Remove copyright years (#2918) 2019-10-15 17:44:30 +03:00
version_compat.h use macros for pg versions instead of hardcoded values (#3694) 2020-04-01 17:01:52 +03:00
worker_create_or_replace.h create_distributed_function: accept aggregates 2019-11-06 18:23:37 +00:00
worker_manager.h Replace foreach with foreach_ptr/foreach_oid (#3544) 2020-02-27 16:54:49 +01:00
worker_protocol.h CitusRemoveDirectory: loop when directory is not empty 2020-01-30 20:02:08 +00:00
worker_shard_visibility.h Plan reference/local table joins locally 2019-11-15 07:36:50 -08:00
worker_transaction.h Replace foreach with foreach_ptr/foreach_oid (#3544) 2020-02-27 16:54:49 +01:00