diff --git a/src/backend/distributed/commands/call.c b/src/backend/distributed/commands/call.c index 6d620301b..fa30093d5 100644 --- a/src/backend/distributed/commands/call.c +++ b/src/backend/distributed/commands/call.c @@ -167,7 +167,7 @@ CallFuncExprRemotely(CallStmt *callStmt, DistObjectCacheEntry *procedure, Task *task = CitusMakeNode(Task); task->jobId = INVALID_JOB_ID; - task->taskId = 0; + task->taskId = INVALID_TASK_ID; task->taskType = DDL_TASK; SetTaskQueryString(task, callCommand->data); task->replicationModel = REPLICATION_MODEL_INVALID; diff --git a/src/backend/distributed/commands/create_distributed_table.c b/src/backend/distributed/commands/create_distributed_table.c index 5bfbb73af..c42edb8f5 100644 --- a/src/backend/distributed/commands/create_distributed_table.c +++ b/src/backend/distributed/commands/create_distributed_table.c @@ -619,7 +619,7 @@ ColocationIdForNewTable(Oid relationId, Var *distributionColumn, * distributing table here. If there is an unsatisfied requirement, we error out * and do not distribute the table. * - * This function assumes, callers have already acquried necessary locks to ensure + * This function assumes, callers have already acquired necessary locks to ensure * there will not be any change in the given relation. */ static void diff --git a/src/backend/distributed/commands/table.c b/src/backend/distributed/commands/table.c index 7b8f96570..0d43d6747 100644 --- a/src/backend/distributed/commands/table.c +++ b/src/backend/distributed/commands/table.c @@ -1503,3 +1503,32 @@ AlterTableSchemaStmtObjectAddress(Node *node, bool missing_ok) return address; } + + +/* + * MakeNameListFromRangeVar makes a namelist from a RangeVar. Its behaviour + * should be the exact opposite of postgres' makeRangeVarFromNameList. + */ +List * +MakeNameListFromRangeVar(const RangeVar *rel) +{ + if (rel->catalogname != NULL) + { + Assert(rel->schemaname != NULL); + Assert(rel->relname != NULL); + return list_make3(makeString(rel->catalogname), + makeString(rel->schemaname), + makeString(rel->relname)); + } + else if (rel->schemaname != NULL) + { + Assert(rel->relname != NULL); + return list_make2(makeString(rel->schemaname), + makeString(rel->relname)); + } + else + { + Assert(rel->relname != NULL); + return list_make1(makeString(rel->relname)); + } +} diff --git a/src/backend/distributed/commands/type.c b/src/backend/distributed/commands/type.c index 93d75e272..e939b5440 100644 --- a/src/backend/distributed/commands/type.c +++ b/src/backend/distributed/commands/type.c @@ -56,7 +56,6 @@ #include "distributed/deparser.h" #include "distributed/listutils.h" #include "distributed/metadata/distobject.h" -#include "distributed/metadata/namespace.h" #include "distributed/metadata_sync.h" #include "distributed/multi_executor.h" #include "distributed/relation_access_tracking.h" diff --git a/src/backend/distributed/deparser/deparse_type_stmts.c b/src/backend/distributed/deparser/deparse_type_stmts.c index 9e37d445e..a3b354e8a 100644 --- a/src/backend/distributed/deparser/deparse_type_stmts.c +++ b/src/backend/distributed/deparser/deparse_type_stmts.c @@ -26,7 +26,6 @@ #include "distributed/citus_ruleutils.h" #include "distributed/commands.h" #include "distributed/deparser.h" -#include "distributed/metadata/namespace.h" #define AlterEnumIsRename(stmt) (stmt->oldVal != NULL) #define AlterEnumIsAddValue(stmt) (stmt->oldVal == NULL) diff --git a/src/backend/distributed/deparser/qualify_type_stmt.c b/src/backend/distributed/deparser/qualify_type_stmt.c index e4ff94fd0..cc8c2e04e 100644 --- a/src/backend/distributed/deparser/qualify_type_stmt.c +++ b/src/backend/distributed/deparser/qualify_type_stmt.c @@ -23,8 +23,8 @@ #include "catalog/namespace.h" #include "catalog/objectaddress.h" #include "catalog/pg_type.h" +#include "distributed/commands.h" #include "distributed/deparser.h" -#include "distributed/metadata/namespace.h" #include "nodes/makefuncs.h" #include "parser/parse_type.h" #include "utils/syscache.h" diff --git a/src/backend/distributed/executor/adaptive_executor.c b/src/backend/distributed/executor/adaptive_executor.c index 503500560..54c3048f9 100644 --- a/src/backend/distributed/executor/adaptive_executor.c +++ b/src/backend/distributed/executor/adaptive_executor.c @@ -2015,7 +2015,7 @@ ShouldRunTasksSequentially(List *taskList) /* * SequentialRunDistributedExecution gets a distributed execution and - * executes each individual task in the exection sequentially, one + * executes each individual task in the execution sequentially, one * task at a time. See related function ShouldRunTasksSequentially() * for more detail on the definition of SequentialRun. */ diff --git a/src/backend/distributed/executor/local_executor.c b/src/backend/distributed/executor/local_executor.c index 4930ad7af..234a9d678 100644 --- a/src/backend/distributed/executor/local_executor.c +++ b/src/backend/distributed/executor/local_executor.c @@ -352,14 +352,8 @@ LocallyExecuteUtilityTask(const char *localTaskQueryCommand) else { /* - * It is a regular utility command or SELECT query with non-udf, - * targets, then we should execute it locally via process utility. - * - * If it is a regular utility command, CitusProcessUtility is the - * appropriate function to process that command. However, if it's - * a SELECT query with non-udf targets, CitusProcessUtility would - * error out as we are not expecting such SELECT queries triggered - * by utility commands. + * It is a regular utility command we should execute it locally via + * process utility. */ CitusProcessUtility(localTaskRawParseTree, localTaskQueryCommand, PROCESS_UTILITY_TOPLEVEL, NULL, None_Receiver, NULL); diff --git a/src/backend/distributed/master/master_delete_protocol.c b/src/backend/distributed/master/master_delete_protocol.c index ad82e01e8..397e1459e 100644 --- a/src/backend/distributed/master/master_delete_protocol.c +++ b/src/backend/distributed/master/master_delete_protocol.c @@ -216,7 +216,6 @@ master_drop_all_shards(PG_FUNCTION_ARGS) text *schemaNameText = PG_GETARG_TEXT_P(1); text *relationNameText = PG_GETARG_TEXT_P(2); - char *schemaName = text_to_cstring(schemaNameText); char *relationName = text_to_cstring(relationNameText); @@ -237,7 +236,7 @@ master_drop_all_shards(PG_FUNCTION_ARGS) /* * master_drop_all_shards is typically called from the DROP TABLE trigger, * but could be called by a user directly. Make sure we have an - * AccessExlusiveLock to prevent any other commands from running on this table + * AccessExclusiveLock to prevent any other commands from running on this table * concurrently. */ LockRelationOid(relationId, AccessExclusiveLock); diff --git a/src/backend/distributed/metadata/namespace.c b/src/backend/distributed/metadata/namespace.c deleted file mode 100644 index a468311d4..000000000 --- a/src/backend/distributed/metadata/namespace.c +++ /dev/null @@ -1,35 +0,0 @@ - -#include "postgres.h" - -#include "nodes/primnodes.h" -#include "nodes/value.h" - -#include "distributed/metadata/namespace.h" - -/* - * MakeNameListFromRangeVar makes a namelist from a RangeVar. Its behaviour should be the - * exact opposite of postgres' makeRangeVarFromNameList. - */ -List * -MakeNameListFromRangeVar(const RangeVar *rel) -{ - if (rel->catalogname != NULL) - { - Assert(rel->schemaname != NULL); - Assert(rel->relname != NULL); - return list_make3(makeString(rel->catalogname), - makeString(rel->schemaname), - makeString(rel->relname)); - } - else if (rel->schemaname != NULL) - { - Assert(rel->relname != NULL); - return list_make2(makeString(rel->schemaname), - makeString(rel->relname)); - } - else - { - Assert(rel->relname != NULL); - return list_make1(makeString(rel->relname)); - } -} diff --git a/src/backend/distributed/transaction/distributed_deadlock_detection.c b/src/backend/distributed/transaction/distributed_deadlock_detection.c index 3fee30e62..475b56784 100644 --- a/src/backend/distributed/transaction/distributed_deadlock_detection.c +++ b/src/backend/distributed/transaction/distributed_deadlock_detection.c @@ -368,11 +368,7 @@ ResetVisitedFields(HTAB *adjacencyList) static bool AssociateDistributedTransactionWithBackendProc(TransactionNode *transactionNode) { -#ifdef USE_ASSERT_CHECKING - - /* if assertions are disabled, it would give unused variable warning */ - int32 localGroupId = GetLocalGroupId(); -#endif + int32 localGroupId PG_USED_FOR_ASSERTS_ONLY = GetLocalGroupId(); for (int backendIndex = 0; backendIndex < MaxBackends; ++backendIndex) { diff --git a/src/backend/distributed/utils/multi_partitioning_utils.c b/src/backend/distributed/utils/multi_partitioning_utils.c index f62c6bcfc..ec44423e1 100644 --- a/src/backend/distributed/utils/multi_partitioning_utils.c +++ b/src/backend/distributed/utils/multi_partitioning_utils.c @@ -31,11 +31,9 @@ #include "utils/rel.h" #include "utils/syscache.h" - static char * PartitionBound(Oid partitionId); static Relation try_relation_open_nolock(Oid relationId); - /* * Returns true if the given relation is a partitioned table. */ @@ -43,7 +41,6 @@ bool PartitionedTable(Oid relationId) { Relation rel = try_relation_open(relationId, AccessShareLock); - bool partitionedTable = false; /* don't error out for tables that are dropped */ if (rel == NULL) @@ -51,6 +48,8 @@ PartitionedTable(Oid relationId) return false; } + bool partitionedTable = false; + if (rel->rd_rel->relkind == RELKIND_PARTITIONED_TABLE) { partitionedTable = true; diff --git a/src/backend/distributed/worker/worker_truncate_trigger_protocol.c b/src/backend/distributed/worker/worker_truncate_trigger_protocol.c index afb06a76b..ba44adfb1 100644 --- a/src/backend/distributed/worker/worker_truncate_trigger_protocol.c +++ b/src/backend/distributed/worker/worker_truncate_trigger_protocol.c @@ -28,7 +28,7 @@ PG_FUNCTION_INFO_V1(worker_create_truncate_trigger); /* * worker_create_truncate_trigger creates a truncate trigger for the given distributed - * table on current metadata worker. The function is intented to be called by the + * table on current metadata worker. The function is intended to be called by the * coordinator node during metadata propagation of mx tables or during the upgrades from * citus version <=5.2 to >=6.1. The function requires superuser permissions. */ diff --git a/src/include/distributed/commands.h b/src/include/distributed/commands.h index 3477487f3..b99b6be79 100644 --- a/src/include/distributed/commands.h +++ b/src/include/distributed/commands.h @@ -226,6 +226,7 @@ extern void ErrorIfUnsupportedConstraint(Relation relation, char distributionMet Var *distributionColumn, uint32 colocationId); extern ObjectAddress AlterTableSchemaStmtObjectAddress(Node *stmt, bool missing_ok); +extern List * MakeNameListFromRangeVar(const RangeVar *rel); /* truncate.c - forward declarations */ diff --git a/src/include/distributed/metadata/namespace.h b/src/include/distributed/metadata/namespace.h deleted file mode 100644 index 7840d8309..000000000 --- a/src/include/distributed/metadata/namespace.h +++ /dev/null @@ -1,20 +0,0 @@ -/*------------------------------------------------------------------------- - * - * namespace.h - * Helper functions for citus to work with postgres namespaces/schemas - * - * Copyright (c) Citus Data, Inc. - * - *------------------------------------------------------------------------- - */ - -#ifndef CITUS_NAMESPACE_H -#define CITUS_NAMESPACE_H - -#include "postgres.h" - -#include "nodes/primnodes.h" - -extern List * MakeNameListFromRangeVar(const RangeVar *rel); - -#endif /*CITUS_NAMESPACE_H */