From 7174fb87a02dca8a151edddcf661babe005e9460 Mon Sep 17 00:00:00 2001 From: Yanwen Jin Date: Tue, 7 Jun 2022 12:54:07 -0700 Subject: [PATCH] Testing purpose: test 'alter extension update' --- .../distributed/commands/utility_hook.c | 29 ++++++++++++++++++- 1 file changed, 28 insertions(+), 1 deletion(-) diff --git a/src/backend/distributed/commands/utility_hook.c b/src/backend/distributed/commands/utility_hook.c index 105bde829..be6a19963 100644 --- a/src/backend/distributed/commands/utility_hook.c +++ b/src/backend/distributed/commands/utility_hook.c @@ -77,6 +77,7 @@ #include "nodes/makefuncs.h" #include "tcop/utility.h" #include "utils/builtins.h" +#include "utils/fmgroids.h" #include "utils/lsyscache.h" #include "utils/syscache.h" @@ -212,7 +213,6 @@ multi_ProcessUtility(PlannedStmt *pstmt, { const char *newVersion = defGetString(newVersionValue); const char schemaVersionSeparator = '-'; - char *leftSeperatorPosition = strchr(newVersion, schemaVersionSeparator); versionNumber = strtod(leftSeperatorPosition, NULL); } @@ -673,6 +673,18 @@ ProcessUtilityInternal(PlannedStmt *pstmt, AlterExtensionUpdateStmt("citus_columnar", "11.1-0"); } } + else + { + Oid citusColumnarOid = get_extension_oid("citus_columnar", true); + double versionNumber = strtod(CITUS_MAJORVERSION, NULL); + if (versionNumber >= 11.1) + { + if (citusColumnarOid == InvalidOid) + { + CreateExtensionWithVersion("citus_columnar", "11.1-0"); + } + } + } } PrevProcessUtility_compat(pstmt, queryString, false, context, @@ -706,6 +718,21 @@ ProcessUtilityInternal(PlannedStmt *pstmt, } } } + else + { + Oid citusColumnarOid = get_extension_oid("citus_columnar", true); + Oid citusOid = get_extension_oid("citus", true); + double versionNumber = strtod(CITUS_MAJORVERSION, NULL); + if (versionNumber >= 11.1) + { + char *curColumnarVersion = get_extension_version(citusColumnarOid); + char *citusversion = get_extension_version(citusOid); + if (strcmp(citusversion, "11.1-1") == 0) + { + AlterExtensionUpdateStmt("citus_columnar", "11.1-1"); + } + } + } } /*