[Columnar] Check for existence of Citus before creating Citus_Columnar (#6178)

* Added a check to see if Citus has already been loaded before creating citus_columnar

* added tests
users/saawasek/split_cleanup
Ying Xu 2022-08-17 15:12:42 -07:00 committed by GitHub
parent a9d47a96f6
commit 91473635db
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
3 changed files with 9 additions and 1 deletions

View File

@ -778,7 +778,7 @@ PreprocessCreateExtensionStmtForCitusColumnar(Node *parsetree)
}
/*citus version >= 11.1 requires install citus_columnar first*/
if (versionNumber >= 1110)
if (versionNumber >= 1110 && !CitusHasBeenLoaded())
{
if (get_extension_oid("citus_columnar", true) == InvalidOid)
{

View File

@ -1095,6 +1095,11 @@ SELECT * FROM multi_extension.print_extension_changes();
---------------------------------------------------------------------
(0 rows)
-- Test CREATE EXTENSION when Citus already exists but Citus_Columnar does not. Should skip
CREATE EXTENSION IF NOT EXISTS citus;
NOTICE: extension "citus" already exists, skipping
CREATE EXTENSION citus;
ERROR: extension "citus" already exists
-- Snapshot of state at 11.1-1
ALTER EXTENSION citus UPDATE TO '11.1-1';
SELECT * FROM multi_extension.print_extension_changes();

View File

@ -500,6 +500,9 @@ ALTER EXTENSION citus UPDATE TO '11.0-4';
-- Should be empty result since upgrade+downgrade should be a no-op
SELECT * FROM multi_extension.print_extension_changes();
-- Test CREATE EXTENSION when Citus already exists but Citus_Columnar does not. Should skip
CREATE EXTENSION IF NOT EXISTS citus;
CREATE EXTENSION citus;
-- Snapshot of state at 11.1-1
ALTER EXTENSION citus UPDATE TO '11.1-1';
SELECT * FROM multi_extension.print_extension_changes();