mirror of https://github.com/citusdata/citus.git
Fix upgrade & downgrade errors
parent
1f9fb0511c
commit
64e1ec7488
|
@ -1013,6 +1013,19 @@ CreateExtensionWithVersion(char *extname, char *extVersion)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/*
|
||||||
|
* GetExtensionVersionNumber convert extension version to real value
|
||||||
|
*/
|
||||||
|
double
|
||||||
|
GetExtensionVersionNumber(char *extVersion)
|
||||||
|
{
|
||||||
|
char *strtokPosition = NULL;
|
||||||
|
char *versionVal = strtok_r(extVersion, "-", &strtokPosition);
|
||||||
|
double versionNumber = strtod(versionVal, NULL);
|
||||||
|
return versionNumber;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* AlterExtensionUpdateStmt builds and execute Alter extension statements
|
* AlterExtensionUpdateStmt builds and execute Alter extension statements
|
||||||
* per given extension name and updates extension verision
|
* per given extension name and updates extension verision
|
||||||
|
|
|
@ -211,13 +211,13 @@ multi_ProcessUtility(PlannedStmt *pstmt,
|
||||||
|
|
||||||
if (newVersionValue)
|
if (newVersionValue)
|
||||||
{
|
{
|
||||||
const char *newVersion = defGetString(newVersionValue);
|
const char *newVersion = strdup(defGetString(newVersionValue));
|
||||||
const char schemaVersionSeparator = '-';
|
char *strtokPosition = NULL;
|
||||||
char *leftSeperatorPosition = strchr(newVersion, schemaVersionSeparator);
|
char *versionVal = strtok_r(newVersion, "-", &strtokPosition);
|
||||||
versionNumber = strtod(leftSeperatorPosition, NULL);
|
versionNumber = strtod(versionVal, NULL);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (versionNumber >= 11.1)
|
if (versionNumber * 100 >= 1110.0)
|
||||||
{
|
{
|
||||||
if (get_extension_oid("citus_columnar", true) == InvalidOid)
|
if (get_extension_oid("citus_columnar", true) == InvalidOid)
|
||||||
{
|
{
|
||||||
|
@ -655,19 +655,21 @@ ProcessUtilityInternal(PlannedStmt *pstmt,
|
||||||
((AlterExtensionStmt *) parsetree)->options, "new_version");
|
((AlterExtensionStmt *) parsetree)->options, "new_version");
|
||||||
Oid citusExtensionOid = get_extension_oid("citus", true);
|
Oid citusExtensionOid = get_extension_oid("citus", true);
|
||||||
char *curExtensionVersion = get_extension_version(citusExtensionOid);
|
char *curExtensionVersion = get_extension_version(citusExtensionOid);
|
||||||
|
double curExtensionNumber = GetExtensionVersionNumber(strdup(
|
||||||
|
curExtensionVersion));
|
||||||
Oid citusColumnarOid = get_extension_oid("citus_columnar", true);
|
Oid citusColumnarOid = get_extension_oid("citus_columnar", true);
|
||||||
if (newVersionValue)
|
if (newVersionValue)
|
||||||
{
|
{
|
||||||
const char *newVersion = defGetString(newVersionValue);
|
char *newVersion = defGetString(newVersionValue);
|
||||||
|
double newVersionNumber = GetExtensionVersionNumber(strdup(newVersion));
|
||||||
|
|
||||||
/*alter extension citus update to 11.1-1, and no citus_columnar installed */
|
/*alter extension citus update to version >= 11.1-1, and no citus_columnar installed */
|
||||||
if (strcmp(newVersion, "11.1-1") == 0 && citusColumnarOid == InvalidOid)
|
if (newVersionNumber * 100 >= 1110 && citusColumnarOid == InvalidOid)
|
||||||
{
|
{
|
||||||
/*it's upgrade citus to 11.1-1 */
|
/*it's upgrade citus to version later or equal to 11.1-1 */
|
||||||
CreateExtensionWithVersion("citus_columnar", "11.1-0");
|
CreateExtensionWithVersion("citus_columnar", "11.1-0");
|
||||||
}
|
}
|
||||||
else if (strcmp(curExtensionVersion, "11.1-1") == 0 && citusColumnarOid !=
|
else if (newVersionNumber * 100 < 1110 && citusColumnarOid != InvalidOid)
|
||||||
InvalidOid)
|
|
||||||
{
|
{
|
||||||
/*downgrade citus_columnar to Y */
|
/*downgrade citus_columnar to Y */
|
||||||
AlterExtensionUpdateStmt("citus_columnar", "11.1-0");
|
AlterExtensionUpdateStmt("citus_columnar", "11.1-0");
|
||||||
|
@ -676,7 +678,7 @@ ProcessUtilityInternal(PlannedStmt *pstmt,
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
double versionNumber = strtod(CITUS_MAJORVERSION, NULL);
|
double versionNumber = strtod(CITUS_MAJORVERSION, NULL);
|
||||||
if (versionNumber >= 11.1)
|
if (versionNumber * 100 >= 1110)
|
||||||
{
|
{
|
||||||
if (citusColumnarOid == InvalidOid)
|
if (citusColumnarOid == InvalidOid)
|
||||||
{
|
{
|
||||||
|
@ -696,8 +698,9 @@ ProcessUtilityInternal(PlannedStmt *pstmt,
|
||||||
Oid citusColumnarOid = get_extension_oid("citus_columnar", true);
|
Oid citusColumnarOid = get_extension_oid("citus_columnar", true);
|
||||||
if (newVersionValue)
|
if (newVersionValue)
|
||||||
{
|
{
|
||||||
const char *newVersion = defGetString(newVersionValue);
|
char *newVersion = defGetString(newVersionValue);
|
||||||
if (strcmp(newVersion, "11.1-1") == 0 && citusColumnarOid != InvalidOid)
|
double newVersionNumber = GetExtensionVersionNumber(strdup(newVersion));
|
||||||
|
if (newVersionNumber * 100 >= 1110 && citusColumnarOid != InvalidOid)
|
||||||
{
|
{
|
||||||
/*after "ALTER EXTENSION citus" updates citus_columnar Y to version Z. */
|
/*after "ALTER EXTENSION citus" updates citus_columnar Y to version Z. */
|
||||||
char *curColumnarVersion = get_extension_version(citusColumnarOid);
|
char *curColumnarVersion = get_extension_version(citusColumnarOid);
|
||||||
|
@ -706,8 +709,7 @@ ProcessUtilityInternal(PlannedStmt *pstmt,
|
||||||
AlterExtensionUpdateStmt("citus_columnar", "11.1-1");
|
AlterExtensionUpdateStmt("citus_columnar", "11.1-1");
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
else if (strcmp(newVersion, "11.0-2") == 0 && citusColumnarOid !=
|
else if (newVersionNumber * 100 < 1110 && citusColumnarOid != InvalidOid)
|
||||||
InvalidOid)
|
|
||||||
{
|
{
|
||||||
/*after "ALTER EXTENSION citus" drops citus_columnar extension */
|
/*after "ALTER EXTENSION citus" drops citus_columnar extension */
|
||||||
char *curColumnarVersion = get_extension_version(citusColumnarOid);
|
char *curColumnarVersion = get_extension_version(citusColumnarOid);
|
||||||
|
@ -720,7 +722,7 @@ ProcessUtilityInternal(PlannedStmt *pstmt,
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
double versionNumber = strtod(CITUS_MAJORVERSION, NULL);
|
double versionNumber = strtod(CITUS_MAJORVERSION, NULL);
|
||||||
if (versionNumber >= 11.1)
|
if (versionNumber * 100 >= 1110)
|
||||||
{
|
{
|
||||||
char *curColumnarVersion = get_extension_version(citusColumnarOid);
|
char *curColumnarVersion = get_extension_version(citusColumnarOid);
|
||||||
if (strcmp(curColumnarVersion, "11.1-0") == 0)
|
if (strcmp(curColumnarVersion, "11.1-0") == 0)
|
||||||
|
|
|
@ -1,12 +1,18 @@
|
||||||
-- citus--10.0-1--10.0-2
|
-- citus--10.0-1--10.0-2
|
||||||
|
|
||||||
--#include "../../columnar/sql/columnar--10.0-1--10.0-2.sql"
|
--#include "../../columnar/sql/columnar--10.0-1--10.0-2.sql"
|
||||||
|
DO $$ begin raise log '%', 'begin 10.0-1--10.0-2'; end; $$;
|
||||||
DO $check_columnar$
|
DO $check_columnar$
|
||||||
BEGIN
|
BEGIN
|
||||||
IF NOT EXISTS (select 1 from pg_extension where extname='citus_columnar') THEN
|
IF NOT EXISTS (SELECT 1 FROM pg_catalog.pg_extension AS e
|
||||||
|
INNER JOIN pg_catalog.pg_depend AS d ON (d.refobjid = e.oid)
|
||||||
|
INNER JOIN pg_catalog.pg_proc AS p ON (p.oid = d.objid)
|
||||||
|
WHERE e.extname='citus_columnar' and p.proname = 'columnar_handler'
|
||||||
|
) THEN
|
||||||
#include "../../columnar/sql/columnar--10.0-1--10.0-2.sql"
|
#include "../../columnar/sql/columnar--10.0-1--10.0-2.sql"
|
||||||
END IF;
|
END IF;
|
||||||
END;
|
END;
|
||||||
$check_columnar$;
|
$check_columnar$;
|
||||||
|
|
||||||
GRANT SELECT ON public.citus_tables TO public;
|
GRANT SELECT ON public.citus_tables TO public;
|
||||||
|
DO $$ begin raise log '%', ' 10.0-1--10.0-2'; end; $$;
|
||||||
|
|
|
@ -3,6 +3,7 @@
|
||||||
-- add the current database to the distributed objects if not already in there.
|
-- add the current database to the distributed objects if not already in there.
|
||||||
-- this is to reliably propagate some of the alter database commands that might be
|
-- this is to reliably propagate some of the alter database commands that might be
|
||||||
-- supported.
|
-- supported.
|
||||||
|
|
||||||
INSERT INTO citus.pg_dist_object SELECT
|
INSERT INTO citus.pg_dist_object SELECT
|
||||||
'pg_catalog.pg_database'::regclass::oid AS oid,
|
'pg_catalog.pg_database'::regclass::oid AS oid,
|
||||||
(SELECT oid FROM pg_database WHERE datname = current_database()) as objid,
|
(SELECT oid FROM pg_database WHERE datname = current_database()) as objid,
|
||||||
|
@ -12,7 +13,11 @@ ON CONFLICT DO NOTHING;
|
||||||
--#include "../../columnar/sql/columnar--10.0-3--10.1-1.sql"
|
--#include "../../columnar/sql/columnar--10.0-3--10.1-1.sql"
|
||||||
DO $check_columnar$
|
DO $check_columnar$
|
||||||
BEGIN
|
BEGIN
|
||||||
IF NOT EXISTS (select 1 from pg_extension where extname='citus_columnar') THEN
|
IF NOT EXISTS (SELECT 1 FROM pg_catalog.pg_extension AS e
|
||||||
|
INNER JOIN pg_catalog.pg_depend AS d ON (d.refobjid = e.oid)
|
||||||
|
INNER JOIN pg_catalog.pg_proc AS p ON (p.oid = d.objid)
|
||||||
|
WHERE e.extname='citus_columnar' and p.proname = 'columnar_handler'
|
||||||
|
) THEN
|
||||||
#include "../../columnar/sql/columnar--10.0-3--10.1-1.sql"
|
#include "../../columnar/sql/columnar--10.0-3--10.1-1.sql"
|
||||||
END IF;
|
END IF;
|
||||||
END;
|
END;
|
||||||
|
@ -55,4 +60,5 @@ WHERE repmodel = 'c'
|
||||||
DROP TRIGGER pg_dist_rebalance_strategy_enterprise_check_trigger ON pg_catalog.pg_dist_rebalance_strategy;
|
DROP TRIGGER pg_dist_rebalance_strategy_enterprise_check_trigger ON pg_catalog.pg_dist_rebalance_strategy;
|
||||||
DROP FUNCTION citus_internal.pg_dist_rebalance_strategy_enterprise_check();
|
DROP FUNCTION citus_internal.pg_dist_rebalance_strategy_enterprise_check();
|
||||||
|
|
||||||
|
DO $$ begin raise log '%', '10.0-4--10.1-1'; end; $$;
|
||||||
#include "udfs/citus_cleanup_orphaned_shards/10.1-1.sql"
|
#include "udfs/citus_cleanup_orphaned_shards/10.1-1.sql"
|
||||||
|
|
|
@ -12,7 +12,11 @@ ALTER TABLE pg_catalog.pg_dist_placement ADD CONSTRAINT placement_shardid_groupi
|
||||||
--#include "../../columnar/sql/columnar--10.1-1--10.2-1.sql"
|
--#include "../../columnar/sql/columnar--10.1-1--10.2-1.sql"
|
||||||
DO $check_columnar$
|
DO $check_columnar$
|
||||||
BEGIN
|
BEGIN
|
||||||
IF NOT EXISTS (select 1 from pg_extension where extname='citus_columnar') THEN
|
IF NOT EXISTS (SELECT 1 FROM pg_catalog.pg_extension AS e
|
||||||
|
INNER JOIN pg_catalog.pg_depend AS d ON (d.refobjid = e.oid)
|
||||||
|
INNER JOIN pg_catalog.pg_proc AS p ON (p.oid = d.objid)
|
||||||
|
WHERE e.extname='citus_columnar' and p.proname = 'columnar_handler'
|
||||||
|
) THEN
|
||||||
#include "../../columnar/sql/columnar--10.1-1--10.2-1.sql"
|
#include "../../columnar/sql/columnar--10.1-1--10.2-1.sql"
|
||||||
END IF;
|
END IF;
|
||||||
END;
|
END;
|
||||||
|
@ -29,6 +33,8 @@ $check_columnar$;
|
||||||
#include "udfs/get_missing_time_partition_ranges/10.2-1.sql"
|
#include "udfs/get_missing_time_partition_ranges/10.2-1.sql"
|
||||||
#include "udfs/worker_nextval/10.2-1.sql"
|
#include "udfs/worker_nextval/10.2-1.sql"
|
||||||
|
|
||||||
|
DO $$ begin raise log '%', 'begin 10.1-1--10.2-1'; end; $$;
|
||||||
|
|
||||||
DROP FUNCTION pg_catalog.citus_drop_all_shards(regclass, text, text);
|
DROP FUNCTION pg_catalog.citus_drop_all_shards(regclass, text, text);
|
||||||
CREATE FUNCTION pg_catalog.citus_drop_all_shards(logicalrelid regclass,
|
CREATE FUNCTION pg_catalog.citus_drop_all_shards(logicalrelid regclass,
|
||||||
schema_name text,
|
schema_name text,
|
||||||
|
@ -42,3 +48,4 @@ COMMENT ON FUNCTION pg_catalog.citus_drop_all_shards(regclass, text, text, boole
|
||||||
#include "udfs/citus_drop_trigger/10.2-1.sql";
|
#include "udfs/citus_drop_trigger/10.2-1.sql";
|
||||||
#include "udfs/citus_prepare_pg_upgrade/10.2-1.sql"
|
#include "udfs/citus_prepare_pg_upgrade/10.2-1.sql"
|
||||||
#include "udfs/citus_finish_pg_upgrade/10.2-1.sql"
|
#include "udfs/citus_finish_pg_upgrade/10.2-1.sql"
|
||||||
|
DO $$ begin raise log '%', '10.1-1--10.2-1'; end; $$;
|
||||||
|
|
|
@ -3,10 +3,16 @@
|
||||||
-- bump version to 10.2-2
|
-- bump version to 10.2-2
|
||||||
|
|
||||||
--#include "../../columnar/sql/columnar--10.2-1--10.2-2.sql"
|
--#include "../../columnar/sql/columnar--10.2-1--10.2-2.sql"
|
||||||
|
DO $$ begin raise log '%', 'begin 10.2-1--10.2-2'; end; $$;
|
||||||
DO $check_columnar$
|
DO $check_columnar$
|
||||||
BEGIN
|
BEGIN
|
||||||
IF NOT EXISTS (select 1 from pg_extension where extname='citus_columnar') THEN
|
IF NOT EXISTS (SELECT 1 FROM pg_catalog.pg_extension AS e
|
||||||
|
INNER JOIN pg_catalog.pg_depend AS d ON (d.refobjid = e.oid)
|
||||||
|
INNER JOIN pg_catalog.pg_proc AS p ON (p.oid = d.objid)
|
||||||
|
WHERE e.extname='citus_columnar' and p.proname = 'columnar_handler'
|
||||||
|
) THEN
|
||||||
#include "../../columnar/sql/columnar--10.2-1--10.2-2.sql"
|
#include "../../columnar/sql/columnar--10.2-1--10.2-2.sql"
|
||||||
END IF;
|
END IF;
|
||||||
END;
|
END;
|
||||||
$check_columnar$;
|
$check_columnar$;
|
||||||
|
DO $$ begin raise log '%', '10.2-1--10.2-2'; end; $$;
|
||||||
|
|
|
@ -5,7 +5,11 @@
|
||||||
--#include "../../columnar/sql/columnar--10.2-2--10.2-3.sql"
|
--#include "../../columnar/sql/columnar--10.2-2--10.2-3.sql"
|
||||||
DO $check_columnar$
|
DO $check_columnar$
|
||||||
BEGIN
|
BEGIN
|
||||||
IF NOT EXISTS (select 1 from pg_extension where extname='citus_columnar') THEN
|
IF NOT EXISTS (SELECT 1 FROM pg_catalog.pg_extension AS e
|
||||||
|
INNER JOIN pg_catalog.pg_depend AS d ON (d.refobjid = e.oid)
|
||||||
|
INNER JOIN pg_catalog.pg_proc AS p ON (p.oid = d.objid)
|
||||||
|
WHERE e.extname='citus_columnar' and p.proname = 'columnar_handler'
|
||||||
|
) THEN
|
||||||
#include "../../columnar/sql/columnar--10.2-2--10.2-3.sql"
|
#include "../../columnar/sql/columnar--10.2-2--10.2-3.sql"
|
||||||
END IF;
|
END IF;
|
||||||
END;
|
END;
|
||||||
|
|
|
@ -3,11 +3,16 @@
|
||||||
-- bump version to 10.2-4
|
-- bump version to 10.2-4
|
||||||
|
|
||||||
--#include "../../columnar/sql/columnar--10.2-3--10.2-4.sql"
|
--#include "../../columnar/sql/columnar--10.2-3--10.2-4.sql"
|
||||||
|
DO $$ begin raise log '%', 'begin 10.2-3--10.2-4'; end; $$;
|
||||||
DO $check_columnar$
|
DO $check_columnar$
|
||||||
BEGIN
|
BEGIN
|
||||||
IF NOT EXISTS (select 1 from pg_extension where extname='citus_columnar') THEN
|
IF NOT EXISTS (SELECT 1 FROM pg_catalog.pg_extension AS e
|
||||||
#include "../../columnar/sql/columnar--10.2-3--10.2-4.sql"
|
INNER JOIN pg_catalog.pg_depend AS d ON (d.refobjid = e.oid)
|
||||||
END IF;
|
INNER JOIN pg_catalog.pg_proc AS p ON (p.oid = d.objid)
|
||||||
|
WHERE e.extname='citus_columnar' and p.proname = 'columnar_handler'
|
||||||
|
) THEN
|
||||||
|
#include "../../columnar/sql/columnar--10.2-3--10.2-4.sql"
|
||||||
|
END IF;
|
||||||
END;
|
END;
|
||||||
$check_columnar$;
|
$check_columnar$;
|
||||||
|
|
||||||
|
@ -15,3 +20,4 @@ $check_columnar$;
|
||||||
#include "udfs/fix_all_partition_shard_index_names/10.2-4.sql"
|
#include "udfs/fix_all_partition_shard_index_names/10.2-4.sql"
|
||||||
#include "udfs/worker_fix_partition_shard_index_names/10.2-4.sql"
|
#include "udfs/worker_fix_partition_shard_index_names/10.2-4.sql"
|
||||||
#include "udfs/citus_finish_pg_upgrade/10.2-4.sql"
|
#include "udfs/citus_finish_pg_upgrade/10.2-4.sql"
|
||||||
|
DO $$ begin raise log '%', '10.2-3--10.2-4'; end; $$;
|
||||||
|
|
|
@ -6,7 +6,7 @@
|
||||||
-- cat citus--9.5-1--10.0-1.sql citus--10.0-1--10.0-2.sql citus--10.0-2--10.0-3.sql > citus--9.5-1--10.0-4.sql
|
-- cat citus--9.5-1--10.0-1.sql citus--10.0-1--10.0-2.sql citus--10.0-2--10.0-3.sql > citus--9.5-1--10.0-4.sql
|
||||||
|
|
||||||
-- copy of citus--9.5-1--10.0-1
|
-- copy of citus--9.5-1--10.0-1
|
||||||
|
DO $$ begin raise log '%', 'begin 9.5-1--10.0-4'; end; $$;
|
||||||
DROP FUNCTION pg_catalog.upgrade_to_reference_table(regclass);
|
DROP FUNCTION pg_catalog.upgrade_to_reference_table(regclass);
|
||||||
DROP FUNCTION IF EXISTS pg_catalog.citus_total_relation_size(regclass);
|
DROP FUNCTION IF EXISTS pg_catalog.citus_total_relation_size(regclass);
|
||||||
|
|
||||||
|
@ -38,9 +38,13 @@ DROP FUNCTION IF EXISTS pg_catalog.citus_total_relation_size(regclass);
|
||||||
--#include "../../columnar/sql/columnar--9.5-1--10.0-1.sql"
|
--#include "../../columnar/sql/columnar--9.5-1--10.0-1.sql"
|
||||||
DO $check_columnar$
|
DO $check_columnar$
|
||||||
BEGIN
|
BEGIN
|
||||||
IF NOT EXISTS (select 1 from pg_extension where extname='citus_columnar') THEN
|
IF NOT EXISTS (SELECT 1 FROM pg_catalog.pg_extension AS e
|
||||||
#include "../../columnar/sql/columnar--9.5-1--10.0-1.sql"
|
INNER JOIN pg_catalog.pg_depend AS d ON (d.refobjid = e.oid)
|
||||||
END IF;
|
INNER JOIN pg_catalog.pg_proc AS p ON (p.oid = d.objid)
|
||||||
|
WHERE e.extname='citus_columnar' and p.proname = 'columnar_handler'
|
||||||
|
) THEN
|
||||||
|
#include "../../columnar/sql/columnar--9.5-1--10.0-1.sql"
|
||||||
|
END IF;
|
||||||
END;
|
END;
|
||||||
$check_columnar$;
|
$check_columnar$;
|
||||||
|
|
||||||
|
@ -179,7 +183,19 @@ GRANT SELECT ON pg_catalog.citus_worker_stat_activity TO PUBLIC;
|
||||||
|
|
||||||
-- copy of citus--10.0-1--10.0-2
|
-- copy of citus--10.0-1--10.0-2
|
||||||
|
|
||||||
|
--#include "../../columnar/sql/columnar--10.0-1--10.0-2.sql"
|
||||||
|
DO $check_columnar$
|
||||||
|
BEGIN
|
||||||
|
IF NOT EXISTS (SELECT 1 FROM pg_catalog.pg_extension AS e
|
||||||
|
INNER JOIN pg_catalog.pg_depend AS d ON (d.refobjid = e.oid)
|
||||||
|
INNER JOIN pg_catalog.pg_proc AS p ON (p.oid = d.objid)
|
||||||
|
WHERE e.extname='citus_columnar' and p.proname = 'columnar_handler'
|
||||||
|
) THEN
|
||||||
#include "../../columnar/sql/columnar--10.0-1--10.0-2.sql"
|
#include "../../columnar/sql/columnar--10.0-1--10.0-2.sql"
|
||||||
|
END IF;
|
||||||
|
END;
|
||||||
|
$check_columnar$;
|
||||||
|
|
||||||
|
|
||||||
-- copy of citus--10.0-2--10.0-3
|
-- copy of citus--10.0-2--10.0-3
|
||||||
|
|
||||||
|
@ -222,3 +238,4 @@ COMMENT ON FUNCTION pg_catalog.citus_get_active_worker_nodes()
|
||||||
|
|
||||||
|
|
||||||
RESET search_path;
|
RESET search_path;
|
||||||
|
DO $$ begin raise log '%', ' 9.5-1--10.0-4'; end; $$;
|
||||||
|
|
|
@ -207,6 +207,7 @@ extern ObjectAddress AlterExtensionUpdateStmtObjectAddress(Node *stmt,
|
||||||
bool missing_ok);
|
bool missing_ok);
|
||||||
extern void CreateExtensionWithVersion(char *extname, char *extVersion);
|
extern void CreateExtensionWithVersion(char *extname, char *extVersion);
|
||||||
extern void AlterExtensionUpdateStmt(char *extname, char *extVersion);
|
extern void AlterExtensionUpdateStmt(char *extname, char *extVersion);
|
||||||
|
extern double GetExtensionVersionNumber(char *extVersion);
|
||||||
|
|
||||||
/* foreign_constraint.c - forward declarations */
|
/* foreign_constraint.c - forward declarations */
|
||||||
extern bool ConstraintIsAForeignKeyToReferenceTable(char *constraintName,
|
extern bool ConstraintIsAForeignKeyToReferenceTable(char *constraintName,
|
||||||
|
|
|
@ -103,6 +103,7 @@ ORDER BY 1, 2;
|
||||||
|
|
||||||
-- DROP EXTENSION pre-created by the regression suite
|
-- DROP EXTENSION pre-created by the regression suite
|
||||||
DROP EXTENSION citus;
|
DROP EXTENSION citus;
|
||||||
|
DROP EXTENSION citus_columnar;
|
||||||
\c
|
\c
|
||||||
-- these tests switch between citus versions and call ddl's that require pg_dist_object to be created
|
-- these tests switch between citus versions and call ddl's that require pg_dist_object to be created
|
||||||
SET citus.enable_metadata_sync TO 'false';
|
SET citus.enable_metadata_sync TO 'false';
|
||||||
|
@ -1052,8 +1053,14 @@ SELECT * FROM multi_extension.print_extension_changes();
|
||||||
-- Snapshot of state at 11.1-1
|
-- Snapshot of state at 11.1-1
|
||||||
ALTER EXTENSION citus UPDATE TO '11.1-1';
|
ALTER EXTENSION citus UPDATE TO '11.1-1';
|
||||||
SELECT * FROM multi_extension.print_extension_changes();
|
SELECT * FROM multi_extension.print_extension_changes();
|
||||||
previous_object | current_object
|
previous_object | current_object
|
||||||
---------------------------------------------------------------------
|
---------------------------------------------------------------------
|
||||||
|
access method columnar |
|
||||||
|
function alter_columnar_table_reset(regclass,boolean,boolean,boolean,boolean) void |
|
||||||
|
function alter_columnar_table_set(regclass,integer,integer,name,integer) void |
|
||||||
|
function citus_internal.columnar_ensure_am_depends_catalog() void |
|
||||||
|
function citus_internal.downgrade_columnar_storage(regclass) void |
|
||||||
|
function citus_internal.upgrade_columnar_storage(regclass) void |
|
||||||
function columnar.columnar_handler(internal) table_am_handler |
|
function columnar.columnar_handler(internal) table_am_handler |
|
||||||
function worker_cleanup_job_schema_cache() void |
|
function worker_cleanup_job_schema_cache() void |
|
||||||
function worker_create_schema(bigint,text) void |
|
function worker_create_schema(bigint,text) void |
|
||||||
|
@ -1063,25 +1070,13 @@ SELECT * FROM multi_extension.print_extension_changes();
|
||||||
function worker_merge_files_into_table(bigint,integer,text[],text[]) void |
|
function worker_merge_files_into_table(bigint,integer,text[],text[]) void |
|
||||||
function worker_range_partition_table(bigint,integer,text,text,oid,anyarray) void |
|
function worker_range_partition_table(bigint,integer,text,text,oid,anyarray) void |
|
||||||
function worker_repartition_cleanup(bigint) void |
|
function worker_repartition_cleanup(bigint) void |
|
||||||
|
schema columnar |
|
||||||
sequence columnar.storageid_seq |
|
sequence columnar.storageid_seq |
|
||||||
table columnar.chunk |
|
table columnar.chunk |
|
||||||
table columnar.chunk_group |
|
table columnar.chunk_group |
|
||||||
table columnar.options |
|
table columnar.options |
|
||||||
table columnar.stripe |
|
table columnar.stripe |
|
||||||
| function columnar.get_storage_id(regclass) bigint
|
(21 rows)
|
||||||
| function columnar_internal.columnar_handler(internal) table_am_handler
|
|
||||||
| schema columnar_internal
|
|
||||||
| sequence columnar_internal.storageid_seq
|
|
||||||
| table columnar_internal.chunk
|
|
||||||
| table columnar_internal.chunk_group
|
|
||||||
| table columnar_internal.options
|
|
||||||
| table columnar_internal.stripe
|
|
||||||
| view columnar.chunk
|
|
||||||
| view columnar.chunk_group
|
|
||||||
| view columnar.options
|
|
||||||
| view columnar.storage
|
|
||||||
| view columnar.stripe
|
|
||||||
(27 rows)
|
|
||||||
|
|
||||||
-- Test downgrade script (result should be empty)
|
-- Test downgrade script (result should be empty)
|
||||||
ALTER EXTENSION citus UPDATE TO '11.0-2';
|
ALTER EXTENSION citus UPDATE TO '11.0-2';
|
||||||
|
@ -1118,6 +1113,7 @@ ORDER BY 1, 2;
|
||||||
RESET citus.enable_version_checks;
|
RESET citus.enable_version_checks;
|
||||||
RESET columnar.enable_version_checks;
|
RESET columnar.enable_version_checks;
|
||||||
DROP EXTENSION citus;
|
DROP EXTENSION citus;
|
||||||
|
DROP EXTENSION citus_columnar;
|
||||||
CREATE EXTENSION citus VERSION '8.0-1';
|
CREATE EXTENSION citus VERSION '8.0-1';
|
||||||
ERROR: specified version incompatible with loaded Citus library
|
ERROR: specified version incompatible with loaded Citus library
|
||||||
DETAIL: Loaded library requires 11.1, but 8.0-1 was specified.
|
DETAIL: Loaded library requires 11.1, but 8.0-1 was specified.
|
||||||
|
@ -1194,11 +1190,13 @@ NOTICE: version "9.1-1" of extension "citus" is already installed
|
||||||
ALTER EXTENSION citus UPDATE;
|
ALTER EXTENSION citus UPDATE;
|
||||||
-- re-create in newest version
|
-- re-create in newest version
|
||||||
DROP EXTENSION citus;
|
DROP EXTENSION citus;
|
||||||
|
DROP EXTENSION citus_columnar;
|
||||||
\c
|
\c
|
||||||
CREATE EXTENSION citus;
|
CREATE EXTENSION citus;
|
||||||
-- test cache invalidation in workers
|
-- test cache invalidation in workers
|
||||||
\c - - - :worker_1_port
|
\c - - - :worker_1_port
|
||||||
DROP EXTENSION citus;
|
DROP EXTENSION citus;
|
||||||
|
DROP EXTENSION citus_columnar;
|
||||||
SET citus.enable_version_checks TO 'false';
|
SET citus.enable_version_checks TO 'false';
|
||||||
SET columnar.enable_version_checks TO 'false';
|
SET columnar.enable_version_checks TO 'false';
|
||||||
CREATE EXTENSION citus VERSION '8.0-1';
|
CREATE EXTENSION citus VERSION '8.0-1';
|
||||||
|
|
|
@ -98,6 +98,7 @@ ORDER BY 1, 2;
|
||||||
|
|
||||||
-- DROP EXTENSION pre-created by the regression suite
|
-- DROP EXTENSION pre-created by the regression suite
|
||||||
DROP EXTENSION citus;
|
DROP EXTENSION citus;
|
||||||
|
DROP EXTENSION citus_columnar;
|
||||||
\c
|
\c
|
||||||
|
|
||||||
-- these tests switch between citus versions and call ddl's that require pg_dist_object to be created
|
-- these tests switch between citus versions and call ddl's that require pg_dist_object to be created
|
||||||
|
@ -497,6 +498,7 @@ ORDER BY 1, 2;
|
||||||
RESET citus.enable_version_checks;
|
RESET citus.enable_version_checks;
|
||||||
RESET columnar.enable_version_checks;
|
RESET columnar.enable_version_checks;
|
||||||
DROP EXTENSION citus;
|
DROP EXTENSION citus;
|
||||||
|
DROP EXTENSION citus_columnar;
|
||||||
CREATE EXTENSION citus VERSION '8.0-1';
|
CREATE EXTENSION citus VERSION '8.0-1';
|
||||||
|
|
||||||
-- Test non-distributed queries work even in version mismatch
|
-- Test non-distributed queries work even in version mismatch
|
||||||
|
@ -561,6 +563,7 @@ ALTER EXTENSION citus UPDATE;
|
||||||
|
|
||||||
-- re-create in newest version
|
-- re-create in newest version
|
||||||
DROP EXTENSION citus;
|
DROP EXTENSION citus;
|
||||||
|
DROP EXTENSION citus_columnar;
|
||||||
\c
|
\c
|
||||||
CREATE EXTENSION citus;
|
CREATE EXTENSION citus;
|
||||||
|
|
||||||
|
@ -568,6 +571,7 @@ CREATE EXTENSION citus;
|
||||||
\c - - - :worker_1_port
|
\c - - - :worker_1_port
|
||||||
|
|
||||||
DROP EXTENSION citus;
|
DROP EXTENSION citus;
|
||||||
|
DROP EXTENSION citus_columnar;
|
||||||
SET citus.enable_version_checks TO 'false';
|
SET citus.enable_version_checks TO 'false';
|
||||||
SET columnar.enable_version_checks TO 'false';
|
SET columnar.enable_version_checks TO 'false';
|
||||||
CREATE EXTENSION citus VERSION '8.0-1';
|
CREATE EXTENSION citus VERSION '8.0-1';
|
||||||
|
|
Loading…
Reference in New Issue