diff --git a/configure b/configure index 3294c736f..a5aa66ee4 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.1devel. +# Generated by GNU Autoconf 2.69 for Citus 10.2devel. # # # 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.1devel' -PACKAGE_STRING='Citus 10.1devel' +PACKAGE_VERSION='10.2devel' +PACKAGE_STRING='Citus 10.2devel' 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.1devel to adapt to many kinds of systems. +\`configure' configures Citus 10.2devel 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.1devel:";; + short | recursive ) echo "Configuration of Citus 10.2devel:";; 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.1devel +Citus configure 10.2devel 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.1devel, which was +It was created by Citus $as_me 10.2devel, 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.1devel, which was +This file was extended by Citus $as_me 10.2devel, 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.1devel +Citus config.status 10.2devel configured by $0, generated by GNU Autoconf 2.69, with options \\"\$ac_cs_config\\" diff --git a/configure.in b/configure.in index 651daeef5..f92b5214c 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.1devel]) +AC_INIT([Citus], [10.2devel]) 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 a004b145c..624694d19 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.1-1' +default_version = '10.2-1' module_pathname = '$libdir/citus' relocatable = false schema = pg_catalog diff --git a/src/backend/distributed/sql/citus--10.1-1--10.2-1.sql b/src/backend/distributed/sql/citus--10.1-1--10.2-1.sql new file mode 100644 index 000000000..d11c3ac18 --- /dev/null +++ b/src/backend/distributed/sql/citus--10.1-1--10.2-1.sql @@ -0,0 +1,4 @@ +-- citus--10.1-1--10.2-1 + +-- bump version to 10.2-1 + diff --git a/src/backend/distributed/sql/downgrades/citus--10.2-1--10.1-1.sql b/src/backend/distributed/sql/downgrades/citus--10.2-1--10.1-1.sql new file mode 100644 index 000000000..9b9bb7471 --- /dev/null +++ b/src/backend/distributed/sql/downgrades/citus--10.2-1--10.1-1.sql @@ -0,0 +1,2 @@ +-- citus--10.2-1--10.1-1 +-- this is an empty downgrade path since citus--10.1-1--10.2-1.sql is empty for now diff --git a/src/test/regress/expected/multi_extension.out b/src/test/regress/expected/multi_extension.out index 04c15a84e..2914db9fd 100644 --- a/src/test/regress/expected/multi_extension.out +++ b/src/test/regress/expected/multi_extension.out @@ -583,12 +583,28 @@ SELECT * FROM print_extension_changes(); | function worker_partitioned_table_size(regclass) bigint (15 rows) +-- Test downgrade to 10.1-1 from 10.2-1 +ALTER EXTENSION citus UPDATE TO '10.2-1'; +ALTER EXTENSION citus UPDATE TO '10.1-1'; +-- Should be empty result since upgrade+downgrade should be a no-op +SELECT * FROM print_extension_changes(); + previous_object | current_object +--------------------------------------------------------------------- +(0 rows) + +-- Snapshot of state at 10.2-1 +ALTER EXTENSION citus UPDATE TO '10.2-1'; +SELECT * FROM print_extension_changes(); + previous_object | current_object +--------------------------------------------------------------------- +(0 rows) + DROP TABLE prev_objects, extension_diff; -- show running version SHOW citus.version; citus.version --------------------------------------------------------------------- - 10.1devel + 10.2devel (1 row) -- ensure no unexpected objects were created outside pg_catalog @@ -611,7 +627,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.1, but 8.0-1 was specified. +DETAIL: Loaded library requires 10.2, 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'; @@ -654,7 +670,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.1, but the installed extension version is 8.1-1. +DETAIL: Loaded library requires 10.2, 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 3b179b372..7bf553e02 100644 --- a/src/test/regress/sql/multi_extension.sql +++ b/src/test/regress/sql/multi_extension.sql @@ -230,6 +230,16 @@ SELECT * FROM print_extension_changes(); ALTER EXTENSION citus UPDATE TO '10.1-1'; SELECT * FROM print_extension_changes(); +-- Test downgrade to 10.1-1 from 10.2-1 +ALTER EXTENSION citus UPDATE TO '10.2-1'; +ALTER EXTENSION citus UPDATE TO '10.1-1'; +-- Should be empty result since upgrade+downgrade should be a no-op +SELECT * FROM print_extension_changes(); + +-- Snapshot of state at 10.2-1 +ALTER EXTENSION citus UPDATE TO '10.2-1'; +SELECT * FROM print_extension_changes(); + DROP TABLE prev_objects, extension_diff; -- show running version diff --git a/src/test/regress/upgrade/config.py b/src/test/regress/upgrade/config.py index 8069ef5cb..56bd1f844 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.1' +MASTER_VERSION = '10.2' HOME = expanduser("~")