From 2494604c59d88c53c413e8e40cafdcd3b3370b11 Mon Sep 17 00:00:00 2001 From: Yanwen Jin Date: Tue, 24 May 2022 15:55:45 -0700 Subject: [PATCH] modify columnar_drop test --- src/backend/columnar/columnar_tableam.c | 35 ++++++++++++--------- src/test/regress/Makefile | 2 +- src/test/regress/expected/columnar_drop.out | 6 ++-- src/test/regress/sql/columnar_drop.sql | 6 ++-- 4 files changed, 28 insertions(+), 21 deletions(-) diff --git a/src/backend/columnar/columnar_tableam.c b/src/backend/columnar/columnar_tableam.c index 56556ed8d..891f937a7 100644 --- a/src/backend/columnar/columnar_tableam.c +++ b/src/backend/columnar/columnar_tableam.c @@ -2140,26 +2140,33 @@ ColumnarProcessUtility(PlannedStmt *pstmt, { CreateExtensionStmt *createExtensionStmt = castNode(CreateExtensionStmt, parsetree); - if (strcmp(createExtensionStmt->extname, "citus_columnar") == 0) + + if (get_extension_oid("citus_columnar", true) == InvalidOid) { - DefElem *newVersionValue = GetExtensionOption(createExtensionStmt->options, - "new_version"); - if (newVersionValue) + if (strcmp(createExtensionStmt->extname, "citus_columnar") == 0) { - const char *newVersion = defGetString(newVersionValue); - if (strcmp(newVersion, "11.1-0") == 0) + DefElem *newVersionValue = GetExtensionOption( + createExtensionStmt->options, + "new_version"); + if (newVersionValue) + { + const char *newVersion = defGetString(newVersionValue); + if (strcmp(newVersion, "11.1-0") == 0) + { + ereport(ERROR, (errcode(ERRCODE_FEATURE_NOT_SUPPORTED), + errmsg( + "unsupported citus_columnar version 11.1-0"))); + } + } + + /*latest citus requires install columnar first, existing citus can only be an older version */ + if (get_extension_oid("citus", true) != InvalidOid) { ereport(ERROR, (errcode(ERRCODE_FEATURE_NOT_SUPPORTED), - errmsg("unsupported citus_columnar version 11.1-0"))); + errmsg( + "must upgrade citus to version 11.1-1 first"))); } } - - /*latest citus requires install columnar first, existing citus can only be an older version */ - if (get_extension_oid("citus", true) != InvalidOid) - { - ereport(ERROR, (errcode(ERRCODE_FEATURE_NOT_SUPPORTED), - errmsg("must upgrade citus to version 11.1-1 first"))); - } } } diff --git a/src/test/regress/Makefile b/src/test/regress/Makefile index 273b95b88..ed99b4501 100644 --- a/src/test/regress/Makefile +++ b/src/test/regress/Makefile @@ -186,7 +186,7 @@ check-operations: all -- $(MULTI_REGRESS_OPTS) --schedule=$(citus_abs_srcdir)/operations_schedule $(EXTRA_TESTS) check-columnar: - $(pg_regress_multi_check) --load-extension=citus \ + $(pg_regress_multi_check) --load-extension=citus_columnar --load-extension=citus \ -- $(MULTI_REGRESS_OPTS) --schedule=$(citus_abs_srcdir)/columnar_schedule $(EXTRA_TESTS) check-columnar-isolation: all $(isolation_test_files) diff --git a/src/test/regress/expected/columnar_drop.out b/src/test/regress/expected/columnar_drop.out index 8d2c519a1..75333c1e8 100644 --- a/src/test/regress/expected/columnar_drop.out +++ b/src/test/regress/expected/columnar_drop.out @@ -42,13 +42,13 @@ NOTICE: Citus partially supports CREATE DATABASE for distributed databases DETAIL: Citus does not propagate CREATE DATABASE command to workers HINT: You can manually create a database and its extensions on workers. \c db_to_drop -CREATE EXTENSION citus; +CREATE EXTENSION citus_columnar; SELECT oid::text databaseoid FROM pg_database WHERE datname = current_database() \gset CREATE TABLE test_table(data int) USING columnar; -DROP EXTENSION citus CASCADE; +DROP EXTENSION citus_columnar CASCADE; NOTICE: drop cascades to table test_table -- test database drop -CREATE EXTENSION citus; +CREATE EXTENSION citus_columnar; SELECT oid::text databaseoid FROM pg_database WHERE datname = current_database() \gset CREATE TABLE test_table(data int) USING columnar; \c :datname diff --git a/src/test/regress/sql/columnar_drop.sql b/src/test/regress/sql/columnar_drop.sql index 23a2826f2..0a2fe7ec6 100644 --- a/src/test/regress/sql/columnar_drop.sql +++ b/src/test/regress/sql/columnar_drop.sql @@ -37,15 +37,15 @@ SELECT current_database() datname \gset CREATE DATABASE db_to_drop; \c db_to_drop -CREATE EXTENSION citus; +CREATE EXTENSION citus_columnar; SELECT oid::text databaseoid FROM pg_database WHERE datname = current_database() \gset CREATE TABLE test_table(data int) USING columnar; -DROP EXTENSION citus CASCADE; +DROP EXTENSION citus_columnar CASCADE; -- test database drop -CREATE EXTENSION citus; +CREATE EXTENSION citus_columnar; SELECT oid::text databaseoid FROM pg_database WHERE datname = current_database() \gset CREATE TABLE test_table(data int) USING columnar;