mirror of https://github.com/citusdata/citus.git
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. |
||
---|---|---|
.. | ||
commands | ||
connection | ||
deparser | ||
executor | ||
metadata | ||
operations | ||
planner | ||
progress | ||
relay | ||
sql | ||
test | ||
transaction | ||
utils | ||
worker | ||
.gitignore | ||
Makefile | ||
citus.control | ||
safeclib | ||
shared_library_init.c |