From 3ec1b9be2b8312725809a78f53a364b903a572cd Mon Sep 17 00:00:00 2001 From: Burak Velioglu Date: Wed, 18 May 2022 13:15:48 +0300 Subject: [PATCH] Improve dependeny check for object to not have separate definition on different nodes --- src/backend/distributed/commands/aggregate.c | 5 +---- src/backend/distributed/commands/collation.c | 5 +---- src/backend/distributed/commands/function.c | 5 +---- src/backend/distributed/commands/text_search.c | 8 ++------ src/backend/distributed/commands/type.c | 8 ++------ 5 files changed, 7 insertions(+), 24 deletions(-) diff --git a/src/backend/distributed/commands/aggregate.c b/src/backend/distributed/commands/aggregate.c index 3e6de88e5..34068d12b 100644 --- a/src/backend/distributed/commands/aggregate.c +++ b/src/backend/distributed/commands/aggregate.c @@ -70,11 +70,8 @@ PostprocessDefineAggregateStmt(Node *node, const char *queryString) EnsureSequentialMode(OBJECT_AGGREGATE); /* If the aggregate has any unsupported dependency, create it locally */ - DeferredErrorMessage *depError = DeferErrorIfHasUnsupportedDependency(&address); - - if (depError != NULL) + if (ErrorOrWarnIfObjectHasUnsupportedDependency(&address)) { - RaiseDeferredError(depError, WARNING); return NIL; } diff --git a/src/backend/distributed/commands/collation.c b/src/backend/distributed/commands/collation.c index bc642bed1..cfb7f0937 100644 --- a/src/backend/distributed/commands/collation.c +++ b/src/backend/distributed/commands/collation.c @@ -612,11 +612,8 @@ PostprocessDefineCollationStmt(Node *node, const char *queryString) ObjectAddress collationAddress = DefineCollationStmtObjectAddress(node, false); - DeferredErrorMessage *errMsg = DeferErrorIfHasUnsupportedDependency( - &collationAddress); - if (errMsg != NULL) + if (ErrorOrWarnIfObjectHasUnsupportedDependency(&collationAddress)) { - RaiseDeferredError(errMsg, WARNING); return NIL; } diff --git a/src/backend/distributed/commands/function.c b/src/backend/distributed/commands/function.c index cda28d375..3bc147e56 100644 --- a/src/backend/distributed/commands/function.c +++ b/src/backend/distributed/commands/function.c @@ -1369,11 +1369,8 @@ PostprocessCreateFunctionStmt(Node *node, const char *queryString) } /* If the function has any unsupported dependency, create it locally */ - DeferredErrorMessage *errMsg = DeferErrorIfHasUnsupportedDependency(&functionAddress); - - if (errMsg != NULL) + if (ErrorOrWarnIfObjectHasUnsupportedDependency(&functionAddress)) { - RaiseDeferredError(errMsg, WARNING); return NIL; } diff --git a/src/backend/distributed/commands/text_search.c b/src/backend/distributed/commands/text_search.c index 1b5e84aa7..38a6c48d9 100644 --- a/src/backend/distributed/commands/text_search.c +++ b/src/backend/distributed/commands/text_search.c @@ -93,10 +93,8 @@ PostprocessCreateTextSearchConfigurationStmt(Node *node, const char *queryString ObjectAddress address = GetObjectAddressFromParseTree((Node *) stmt, false); - DeferredErrorMessage *errMsg = DeferErrorIfHasUnsupportedDependency(&address); - if (errMsg != NULL) + if (ErrorOrWarnIfObjectHasUnsupportedDependency(&address)) { - RaiseDeferredError(errMsg, WARNING); return NIL; } @@ -142,10 +140,8 @@ PostprocessCreateTextSearchDictionaryStmt(Node *node, const char *queryString) ObjectAddress address = GetObjectAddressFromParseTree((Node *) stmt, false); - DeferredErrorMessage *errMsg = DeferErrorIfHasUnsupportedDependency(&address); - if (errMsg != NULL) + if (ErrorOrWarnIfObjectHasUnsupportedDependency(&address)) { - RaiseDeferredError(errMsg, WARNING); return NIL; } diff --git a/src/backend/distributed/commands/type.c b/src/backend/distributed/commands/type.c index e80f5b14e..04f502eab 100644 --- a/src/backend/distributed/commands/type.c +++ b/src/backend/distributed/commands/type.c @@ -161,10 +161,8 @@ PostprocessCompositeTypeStmt(Node *node, const char *queryString) ObjectAddress typeAddress = GetObjectAddressFromParseTree(node, false); /* If the type has any unsupported dependency, create it locally */ - DeferredErrorMessage *errMsg = DeferErrorIfHasUnsupportedDependency(&typeAddress); - if (errMsg != NULL) + if (ErrorOrWarnIfObjectHasUnsupportedDependency(&typeAddress)) { - RaiseDeferredError(errMsg, WARNING); return NIL; } @@ -283,10 +281,8 @@ PostprocessCreateEnumStmt(Node *node, const char *queryString) /* lookup type address of just created type */ ObjectAddress typeAddress = GetObjectAddressFromParseTree(node, false); - DeferredErrorMessage *errMsg = DeferErrorIfHasUnsupportedDependency(&typeAddress); - if (errMsg != NULL) + if (ErrorOrWarnIfObjectHasUnsupportedDependency(&typeAddress)) { - RaiseDeferredError(errMsg, WARNING); return NIL; }