From 7aa3e938521fda448f201d5682cf7f397903dc8d Mon Sep 17 00:00:00 2001 From: German Eichberger Date: Wed, 12 Mar 2025 21:37:18 +0000 Subject: [PATCH] Implement onurctirtir's suggestions --- src/backend/distributed/metadata/node_metadata.c | 12 ++++++------ .../distributed/sql/citus--12.1-1--12.2-1.sql | 1 + .../sql/downgrades/citus--12.2-1--12.1-1.sql | 3 ++- .../sql/udfs/citus_is_primary_node/12.2-1.sql | 7 +++++++ 4 files changed, 16 insertions(+), 7 deletions(-) create mode 100644 src/backend/distributed/sql/udfs/citus_is_primary_node/12.2-1.sql diff --git a/src/backend/distributed/metadata/node_metadata.c b/src/backend/distributed/metadata/node_metadata.c index 4c38c76fe..25c2ff276 100644 --- a/src/backend/distributed/metadata/node_metadata.c +++ b/src/backend/distributed/metadata/node_metadata.c @@ -1681,12 +1681,12 @@ citus_is_primary_node(PG_FUNCTION_ARGS) if (workerNode == NULL) { ereport(WARNING, (errmsg("could not find the current node in pg_dist_node"), - errdetail("If this is the coordinator node, consider adding it " - "into the metadata by using citus_set_coordinator_host() " - "UDF. Otherwise, if you're going to use this node as a " - "worker node for a new cluster, make sure to add this " - "node into the metadata from the coordinator by using " - "citus_add_node() UDF.")); + errdetail("If this is the coordinator node, consider adding it " + "into the metadata by using citus_set_coordinator_host() " + "UDF. Otherwise, if you're going to use this node as a " + "worker node for a new cluster, make sure to add this " + "node into the metadata from the coordinator by using " + "citus_add_node() UDF."))); PG_RETURN_NULL(); } diff --git a/src/backend/distributed/sql/citus--12.1-1--12.2-1.sql b/src/backend/distributed/sql/citus--12.1-1--12.2-1.sql index 1bec0f429..8ce6ede5a 100644 --- a/src/backend/distributed/sql/citus--12.1-1--12.2-1.sql +++ b/src/backend/distributed/sql/citus--12.1-1--12.2-1.sql @@ -55,3 +55,4 @@ DROP VIEW IF EXISTS pg_catalog.citus_lock_waits; #include "udfs/citus_internal_update_relation_colocation/12.2-1.sql" #include "udfs/repl_origin_helper/12.2-1.sql" #include "udfs/citus_finish_pg_upgrade/12.2-1.sql" +#include "udfs/citus_is_primary_node/12.2-1.sql" diff --git a/src/backend/distributed/sql/downgrades/citus--12.2-1--12.1-1.sql b/src/backend/distributed/sql/downgrades/citus--12.2-1--12.1-1.sql index 099bf8d87..72ba7d0dc 100644 --- a/src/backend/distributed/sql/downgrades/citus--12.2-1--12.1-1.sql +++ b/src/backend/distributed/sql/downgrades/citus--12.2-1--12.1-1.sql @@ -26,6 +26,7 @@ DROP FUNCTION citus_internal.commit_management_command_2pc(); ALTER TABLE pg_catalog.pg_dist_transaction DROP COLUMN outer_xid; REVOKE USAGE ON SCHEMA citus_internal FROM PUBLIC; +DROP FUNCTION pg_catalog.citus_is_primary_node(); DROP FUNCTION citus_internal.add_colocation_metadata(int, int, int, regtype, oid); DROP FUNCTION citus_internal.add_object_metadata(text, text[], text[], integer, integer, boolean); DROP FUNCTION citus_internal.add_partition_metadata(regclass, "char", text, integer, "char"); @@ -53,5 +54,5 @@ DROP FUNCTION citus_internal.update_placement_metadata(bigint, integer, integer) DROP FUNCTION citus_internal.update_relation_colocation(oid, int); DROP FUNCTION citus_internal.start_replication_origin_tracking(); DROP FUNCTION citus_internal.stop_replication_origin_tracking(); -DROP FUNCTION citus_internal.is_replication_origin_tracking_active(); +DROP FUNCTION citus_internal.is_replication_origin_tracking_active(); #include "../udfs/citus_finish_pg_upgrade/12.1-1.sql" diff --git a/src/backend/distributed/sql/udfs/citus_is_primary_node/12.2-1.sql b/src/backend/distributed/sql/udfs/citus_is_primary_node/12.2-1.sql new file mode 100644 index 000000000..deb1d50be --- /dev/null +++ b/src/backend/distributed/sql/udfs/citus_is_primary_node/12.2-1.sql @@ -0,0 +1,7 @@ +CREATE FUNCTION pg_catalog.citus_is_primary_node() + RETURNS bool + LANGUAGE c + STRICT +AS 'MODULE_PATHNAME', $$citus_is_primary_node$$; +COMMENT ON FUNCTION pg_catalog.citus_is_primary_node() + IS 'returns whether the current node is the primary node in the group';