From 48a9c9bb688e272e0a54b4d57710da28db688091 Mon Sep 17 00:00:00 2001 From: Sait Talha Nisanci Date: Thu, 7 Jan 2021 16:10:43 +0300 Subject: [PATCH] wip --- src/backend/distributed/cimv/create.c | 1 - src/backend/distributed/cimv/refresh.c | 1 - src/backend/distributed/commands/utility_hook.c | 2 -- src/backend/distributed/utils/sequence_utils.c | 7 +++++-- 4 files changed, 5 insertions(+), 6 deletions(-) diff --git a/src/backend/distributed/cimv/create.c b/src/backend/distributed/cimv/create.c index 102f788fe..9cb0eba5d 100644 --- a/src/backend/distributed/cimv/create.c +++ b/src/backend/distributed/cimv/create.c @@ -164,7 +164,6 @@ CreateCimv(CimvCreate *cimvCreate) CreateDataChangeTriggerFunction(cimvCreate); CreateDataChangeTriggers(cimvCreate); InsertIntoPgCimv(cimvCreate->formCimv); - PopCitusSecurityContext(); if (SPI_finish() != SPI_OK_FINISH) diff --git a/src/backend/distributed/cimv/refresh.c b/src/backend/distributed/cimv/refresh.c index a44873944..19cd99563 100644 --- a/src/backend/distributed/cimv/refresh.c +++ b/src/backend/distributed/cimv/refresh.c @@ -101,7 +101,6 @@ RefreshCimv(Form_pg_cimv formCimv, bool skipData, bool isCreate) /* better: SPI_commit_and_chain(); */ SPI_commit(); SPI_start_transaction(); - /* TODO: cleanup if this fails */ appendStringInfo(&querybuf, "INSERT INTO %s.%s " diff --git a/src/backend/distributed/commands/utility_hook.c b/src/backend/distributed/commands/utility_hook.c index 0a5592ef6..2c4a39fe9 100644 --- a/src/backend/distributed/commands/utility_hook.c +++ b/src/backend/distributed/commands/utility_hook.c @@ -479,7 +479,6 @@ multi_ProcessUtility(PlannedStmt *pstmt, { DropStmt *dropStatement = (DropStmt *) parsetree; - // PushCitusSecurityContext(); if (dropStatement->removeType == OBJECT_MATVIEW) { ProcessDropMaterializedViewStmt(dropStatement); @@ -488,7 +487,6 @@ multi_ProcessUtility(PlannedStmt *pstmt, { ProcessDropViewStmt(dropStatement); } - // PopCitusSecurityContext(); } diff --git a/src/backend/distributed/utils/sequence_utils.c b/src/backend/distributed/utils/sequence_utils.c index bdaaf7844..bb6ecd0d0 100644 --- a/src/backend/distributed/utils/sequence_utils.c +++ b/src/backend/distributed/utils/sequence_utils.c @@ -6,19 +6,22 @@ #include "distributed/sequence_utils.h" #include "distributed/coordinator_protocol.h" +#include "distributed/security_utils.h" #include "utils/builtins.h" int UniqueId(void) { + text *sequenceName = cstring_to_text(CITUS_UNIQUE_ID_SEQUENCE_NAME); Oid sequenceId = ResolveRelationId(sequenceName, false); Datum sequenceIdDatum = ObjectIdGetDatum(sequenceId); + PushCitusSecurityContext(); Datum uniqueIdDatum = DirectFunctionCall1(nextval_oid, sequenceIdDatum); - + PopCitusSecurityContext(); int uniqueId = DatumGetInt64(uniqueIdDatum); - + return uniqueId; } \ No newline at end of file