citus/src/backend/distributed
Onder Kalaci 6fc1dea85c Improve the robustness of function call delegation
Pushing down the CALLs to the node that the CALL is executed is
dangerous and could lead to infinite recursion.

When the coordinator added as worker, Citus was by chance preventing
this. The coordinator was marked as "not metadatasynced" node
in pg_dist_node, which prevented CALL/function delegation to happen.

With this commit, we do the following:

  - Fix metadatasynced column for the coordinator on pg_dist_node
  - Prevent pushdown of function/procedure to the same node that
    the function/procedure is being executed. Today, we do not sync
    pg_dist_object (e.g., distributed functions metadata) to the
    worker nodes. But, even if we do it now, the function call delegation
    would prevent the infinite recursion.
2020-09-21 14:53:30 +02:00
..
commands Improve the robustness of function call delegation 2020-09-21 14:53:30 +02:00
connection Record non-distributed table accesses in local executor (#4139) 2020-09-07 18:19:08 +03:00
deparser Extend citus local table utility command support 2020-09-09 11:50:55 +03:00
executor Record non-distributed table accesses in local executor (#4139) 2020-09-07 18:19:08 +03:00
metadata Improve the robustness of function call delegation 2020-09-21 14:53:30 +02:00
operations Not allow removing a single node with ref tables (#4127) 2020-09-18 15:35:59 +03:00
planner Improve the robustness of function call delegation 2020-09-21 14:53:30 +02:00
progress Replace foreach with foreach_ptr/foreach_oid (#3544) 2020-02-27 16:54:49 +01:00
relay Extend citus local table utility command support 2020-09-09 11:50:55 +03:00
sql Implement "citus local table" creation logic 2020-09-09 11:50:48 +03:00
test Introduce cache entry/table utilities (#4132) 2020-09-02 22:26:05 +03:00
transaction Not take ShareUpdateExlusiveLock on pg_dist_transaction (#4184) 2020-09-21 15:20:38 +03:00
utils Not take ShareUpdateExlusiveLock on pg_dist_transaction (#4184) 2020-09-21 15:20:38 +03:00
worker Fix distributing tables owned by extensions 2020-09-10 04:46:11 +02:00
.gitignore Change SQL migration build process for easier reviews (#2951) 2019-09-13 18:44:27 +02:00
Makefile Introduce new make targets for downgrade scripts 2020-07-14 13:10:18 +03:00
citus.control Bump citus version to 9.5devel 2020-07-01 14:46:55 +03:00
safeclib Compile safestringlib using regular configure 2020-03-19 11:52:20 +01:00
shared_library_init.c Hide `citus.subquery_pushdown` flag and NOTICE when enabled (#4124) 2020-08-28 14:53:09 +02:00