diff --git a/configure b/configure index 6c5d4f3d6..ea3374c64 100755 --- a/configure +++ b/configure @@ -1,6 +1,6 @@ #! /bin/sh # Guess values for system-dependent variables and create Makefiles. -# Generated by GNU Autoconf 2.69 for Citus 10.2devel. +# Generated by GNU Autoconf 2.69 for Citus 11.0devel. # # # Copyright (C) 1992-1996, 1998-2012 Free Software Foundation, Inc. @@ -579,8 +579,8 @@ MAKEFLAGS= # Identity of this package. PACKAGE_NAME='Citus' PACKAGE_TARNAME='citus' -PACKAGE_VERSION='10.2devel' -PACKAGE_STRING='Citus 10.2devel' +PACKAGE_VERSION='11.0devel' +PACKAGE_STRING='Citus 11.0devel' PACKAGE_BUGREPORT='' PACKAGE_URL='' @@ -1260,7 +1260,7 @@ if test "$ac_init_help" = "long"; then # Omit some internal or obsolete options to make the list less imposing. # This message is too long to be a string in the A/UX 3.1 sh. cat <<_ACEOF -\`configure' configures Citus 10.2devel to adapt to many kinds of systems. +\`configure' configures Citus 11.0devel to adapt to many kinds of systems. Usage: $0 [OPTION]... [VAR=VALUE]... @@ -1322,7 +1322,7 @@ fi if test -n "$ac_init_help"; then case $ac_init_help in - short | recursive ) echo "Configuration of Citus 10.2devel:";; + short | recursive ) echo "Configuration of Citus 11.0devel:";; esac cat <<\_ACEOF @@ -1425,7 +1425,7 @@ fi test -n "$ac_init_help" && exit $ac_status if $ac_init_version; then cat <<\_ACEOF -Citus configure 10.2devel +Citus configure 11.0devel generated by GNU Autoconf 2.69 Copyright (C) 2012 Free Software Foundation, Inc. @@ -1908,7 +1908,7 @@ cat >config.log <<_ACEOF This file contains any messages produced by compilers while running configure, to aid debugging if configure makes a mistake. -It was created by Citus $as_me 10.2devel, which was +It was created by Citus $as_me 11.0devel, which was generated by GNU Autoconf 2.69. Invocation command line was $ $0 $@ @@ -5356,7 +5356,7 @@ cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 # report actual input values of CONFIG_FILES etc. instead of their # values after options handling. ac_log=" -This file was extended by Citus $as_me 10.2devel, which was +This file was extended by Citus $as_me 11.0devel, which was generated by GNU Autoconf 2.69. Invocation command line was CONFIG_FILES = $CONFIG_FILES @@ -5418,7 +5418,7 @@ _ACEOF cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 ac_cs_config="`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`" ac_cs_version="\\ -Citus config.status 10.2devel +Citus config.status 11.0devel configured by $0, generated by GNU Autoconf 2.69, with options \\"\$ac_cs_config\\" diff --git a/configure.in b/configure.in index 2d7588fe7..8a5192f58 100644 --- a/configure.in +++ b/configure.in @@ -5,7 +5,7 @@ # everyone needing autoconf installed, the resulting files are checked # into the SCM. -AC_INIT([Citus], [10.2devel]) +AC_INIT([Citus], [11.0devel]) AC_COPYRIGHT([Copyright (c) Citus Data, Inc.]) # we'll need sed and awk for some of the version commands diff --git a/src/backend/distributed/citus.control b/src/backend/distributed/citus.control index 3197003d2..28803ce5d 100644 --- a/src/backend/distributed/citus.control +++ b/src/backend/distributed/citus.control @@ -1,6 +1,6 @@ # Citus extension comment = 'Citus distributed database' -default_version = '10.2-3' +default_version = '11.0-1' module_pathname = '$libdir/citus' relocatable = false schema = pg_catalog diff --git a/src/backend/distributed/sql/citus--10.2-3--11.0-1.sql b/src/backend/distributed/sql/citus--10.2-3--11.0-1.sql new file mode 100644 index 000000000..322b76570 --- /dev/null +++ b/src/backend/distributed/sql/citus--10.2-3--11.0-1.sql @@ -0,0 +1,3 @@ +-- citus--10.2-3--11.0-1 + +-- bump version to 11.0-1 diff --git a/src/backend/distributed/sql/downgrades/citus--11.0-1--10.2-3.sql b/src/backend/distributed/sql/downgrades/citus--11.0-1--10.2-3.sql new file mode 100644 index 000000000..34485a80a --- /dev/null +++ b/src/backend/distributed/sql/downgrades/citus--11.0-1--10.2-3.sql @@ -0,0 +1 @@ +-- citus--11.0-1--10.2-3 diff --git a/src/test/regress/expected/multi_extension.out b/src/test/regress/expected/multi_extension.out index 5eb5d5bc4..06923a0ad 100644 --- a/src/test/regress/expected/multi_extension.out +++ b/src/test/regress/expected/multi_extension.out @@ -828,7 +828,7 @@ SELECT * FROM multi_extension.print_extension_changes(); -- Snapshot of state at 10.2-1 ALTER EXTENSION citus UPDATE TO '10.2-1'; SELECT * FROM multi_extension.print_extension_changes(); - previous_object | current_object + previous_object | current_object --------------------------------------------------------------------- function citus_drop_all_shards(regclass,text,text) integer | function stop_metadata_sync_to_node(text,integer) void | @@ -864,12 +864,44 @@ SELECT * FROM multi_extension.print_extension_changes(); --------------------------------------------------------------------- (0 rows) +-- Test downgrade to 10.2-2 from 10.2-3 +ALTER EXTENSION citus UPDATE TO '10.2-3'; +ALTER EXTENSION citus UPDATE TO '10.2-2'; +-- Should be empty result since upgrade+downgrade should be a no-op +SELECT * FROM multi_extension.print_extension_changes(); + previous_object | current_object +--------------------------------------------------------------------- +(0 rows) + +-- Snapshot of state at 10.2-3 +ALTER EXTENSION citus UPDATE TO '10.2-3'; +SELECT * FROM multi_extension.print_extension_changes(); + previous_object | current_object +--------------------------------------------------------------------- +(0 rows) + +-- Test downgrade to 10.2-3 from 11.0-1 +ALTER EXTENSION citus UPDATE TO '11.0-1'; +ALTER EXTENSION citus UPDATE TO '10.2-3'; +-- Should be empty result since upgrade+downgrade should be a no-op +SELECT * FROM multi_extension.print_extension_changes(); + previous_object | current_object +--------------------------------------------------------------------- +(0 rows) + +-- Snapshot of state at 11.0-1 +ALTER EXTENSION citus UPDATE TO '11.0-1'; +SELECT * FROM multi_extension.print_extension_changes(); + previous_object | current_object +--------------------------------------------------------------------- +(0 rows) + DROP TABLE multi_extension.prev_objects, multi_extension.extension_diff; -- show running version SHOW citus.version; citus.version --------------------------------------------------------------------- - 10.2devel + 11.0devel (1 row) -- ensure no unexpected objects were created outside pg_catalog @@ -892,7 +924,7 @@ RESET citus.enable_version_checks; DROP EXTENSION citus; CREATE EXTENSION citus VERSION '8.0-1'; ERROR: specified version incompatible with loaded Citus library -DETAIL: Loaded library requires 10.2, but 8.0-1 was specified. +DETAIL: Loaded library requires 11.0, but 8.0-1 was specified. HINT: If a newer library is present, restart the database and try the command again. -- Test non-distributed queries work even in version mismatch SET citus.enable_version_checks TO 'false'; @@ -935,7 +967,7 @@ ORDER BY 1; -- We should not distribute table in version mistmatch SELECT create_distributed_table('version_mismatch_table', 'column1'); ERROR: loaded Citus library version differs from installed extension version -DETAIL: Loaded library requires 10.2, but the installed extension version is 8.1-1. +DETAIL: Loaded library requires 11.0, but the installed extension version is 8.1-1. HINT: Run ALTER EXTENSION citus UPDATE and try again. -- This function will cause fail in next ALTER EXTENSION CREATE OR REPLACE FUNCTION pg_catalog.relation_is_a_known_shard(regclass) diff --git a/src/test/regress/sql/multi_extension.sql b/src/test/regress/sql/multi_extension.sql index bc1c29b36..107184014 100644 --- a/src/test/regress/sql/multi_extension.sql +++ b/src/test/regress/sql/multi_extension.sql @@ -356,6 +356,26 @@ SELECT * FROM multi_extension.print_extension_changes(); ALTER EXTENSION citus UPDATE TO '10.2-2'; SELECT * FROM multi_extension.print_extension_changes(); +-- Test downgrade to 10.2-2 from 10.2-3 +ALTER EXTENSION citus UPDATE TO '10.2-3'; +ALTER EXTENSION citus UPDATE TO '10.2-2'; +-- Should be empty result since upgrade+downgrade should be a no-op +SELECT * FROM multi_extension.print_extension_changes(); + +-- Snapshot of state at 10.2-3 +ALTER EXTENSION citus UPDATE TO '10.2-3'; +SELECT * FROM multi_extension.print_extension_changes(); + +-- Test downgrade to 10.2-3 from 11.0-1 +ALTER EXTENSION citus UPDATE TO '11.0-1'; +ALTER EXTENSION citus UPDATE TO '10.2-3'; +-- Should be empty result since upgrade+downgrade should be a no-op +SELECT * FROM multi_extension.print_extension_changes(); + +-- Snapshot of state at 11.0-1 +ALTER EXTENSION citus UPDATE TO '11.0-1'; +SELECT * FROM multi_extension.print_extension_changes(); + DROP TABLE multi_extension.prev_objects, multi_extension.extension_diff; -- show running version diff --git a/src/test/regress/upgrade/config.py b/src/test/regress/upgrade/config.py index 56bd1f844..3b428054d 100644 --- a/src/test/regress/upgrade/config.py +++ b/src/test/regress/upgrade/config.py @@ -11,7 +11,7 @@ MIXED_AFTER_CITUS_UPGRADE_SCHEDULE = './mixed_after_citus_upgrade_schedule' MASTER = 'master' # This should be updated when citus version changes -MASTER_VERSION = '10.2' +MASTER_VERSION = '11.0' HOME = expanduser("~")