diff --git a/src/test/regress/expected/alter_database_from_nonmain_db.out b/src/test/regress/expected/alter_database_from_nonmain_db.out index 2743fffca..6716b90a2 100644 --- a/src/test/regress/expected/alter_database_from_nonmain_db.out +++ b/src/test/regress/expected/alter_database_from_nonmain_db.out @@ -1,43 +1,43 @@ SET citus.superuser TO 'postgres'; set citus.enable_create_database_propagation=on; create database test_alter_db_from_nonmain_db; -create database altered_database; +create database "altered_database!'2"; reset citus.enable_create_database_propagation; \c regression; set citus.enable_create_database_propagation=on; \set alter_db_tablespace :abs_srcdir '/tmp_check/ts3' -CREATE TABLESPACE alter_db_tablespace LOCATION :'alter_db_tablespace'; +CREATE TABLESPACE "ts-needs\!escape2" LOCATION :'alter_db_tablespace'; \c - - - :worker_1_port \set alter_db_tablespace :abs_srcdir '/tmp_check/ts4' -CREATE TABLESPACE alter_db_tablespace LOCATION :'alter_db_tablespace'; +CREATE TABLESPACE "ts-needs\!escape2" LOCATION :'alter_db_tablespace'; \c - - - :worker_2_port \set alter_db_tablespace :abs_srcdir '/tmp_check/ts5' -CREATE TABLESPACE alter_db_tablespace LOCATION :'alter_db_tablespace'; +CREATE TABLESPACE "ts-needs\!escape2" LOCATION :'alter_db_tablespace'; \c test_alter_db_from_nonmain_db set citus.log_remote_commands = true; set citus.grep_remote_commands = "%ALTER DATABASE%"; -alter database altered_database set tablespace alter_db_tablespace; -NOTICE: issuing ALTER DATABASE altered_database SET TABLESPACE alter_db_tablespace +alter database "altered_database!'2" set tablespace "ts-needs\!escape2"; +NOTICE: issuing ALTER DATABASE "altered_database!'2" SET TABLESPACE "ts-needs\!escape2" DETAIL: on server postgres@localhost:xxxxx connectionId: xxxxxxx ERROR: operation is not allowed on this node HINT: Connect to the coordinator and run it again. CONTEXT: while executing command on localhost:xxxxx -alter database altered_database rename to altered_database_renamed; -alter database altered_database_renamed rename to altered_database; -alter database altered_database with +alter database "altered_database!'2" rename to altered_database_renamed; +alter database altered_database_renamed rename to "altered_database!'2"; +alter database "altered_database!'2" with ALLOW_CONNECTIONS false CONNECTION LIMIT 1 IS_TEMPLATE true; -NOTICE: issuing ALTER DATABASE altered_database WITH ALLOW_CONNECTIONS false CONNECTION LIMIT 1 IS_TEMPLATE true; +NOTICE: issuing ALTER DATABASE "altered_database!'2" WITH ALLOW_CONNECTIONS false CONNECTION LIMIT 1 IS_TEMPLATE true; DETAIL: on server postgres@localhost:xxxxx connectionId: xxxxxxx ERROR: operation is not allowed on this node HINT: Connect to the coordinator and run it again. CONTEXT: while executing command on localhost:xxxxx -alter database altered_database with +alter database "altered_database!'2" with ALLOW_CONNECTIONS true CONNECTION LIMIT 0 IS_TEMPLATE false; -NOTICE: issuing ALTER DATABASE altered_database WITH ALLOW_CONNECTIONS true CONNECTION LIMIT 0 IS_TEMPLATE false; +NOTICE: issuing ALTER DATABASE "altered_database!'2" WITH ALLOW_CONNECTIONS true CONNECTION LIMIT 0 IS_TEMPLATE false; DETAIL: on server postgres@localhost:xxxxx connectionId: xxxxxxx ERROR: operation is not allowed on this node HINT: Connect to the coordinator and run it again. @@ -48,159 +48,159 @@ create role test_owner_non_main_db; set citus.log_remote_commands = true; set citus.grep_remote_commands = "%ALTER DATABASE%"; set citus.enable_create_database_propagation=on; -alter database altered_database owner to test_owner_non_main_db; -alter database altered_database owner to CURRENT_USER; -alter database altered_database set default_transaction_read_only = true; -NOTICE: issuing ALTER DATABASE altered_database SET default_transaction_read_only = 'true' +alter database "altered_database!'2" owner to test_owner_non_main_db; +alter database "altered_database!'2" owner to CURRENT_USER; +alter database "altered_database!'2" set default_transaction_read_only = true; +NOTICE: issuing ALTER DATABASE "altered_database!'2" SET default_transaction_read_only = 'true' DETAIL: on server postgres@localhost:xxxxx connectionId: xxxxxxx ERROR: operation is not allowed on this node HINT: Connect to the coordinator and run it again. CONTEXT: while executing command on localhost:xxxxx set default_transaction_read_only = false; -alter database altered_database set default_transaction_read_only from current; -NOTICE: issuing ALTER DATABASE altered_database SET default_transaction_read_only FROM CURRENT +alter database "altered_database!'2" set default_transaction_read_only from current; +NOTICE: issuing ALTER DATABASE "altered_database!'2" SET default_transaction_read_only FROM CURRENT DETAIL: on server postgres@localhost:xxxxx connectionId: xxxxxxx ERROR: operation is not allowed on this node HINT: Connect to the coordinator and run it again. CONTEXT: while executing command on localhost:xxxxx -alter database altered_database set default_transaction_read_only to DEFAULT; -NOTICE: issuing ALTER DATABASE altered_database SET default_transaction_read_only TO DEFAULT +alter database "altered_database!'2" set default_transaction_read_only to DEFAULT; +NOTICE: issuing ALTER DATABASE "altered_database!'2" SET default_transaction_read_only TO DEFAULT DETAIL: on server postgres@localhost:xxxxx connectionId: xxxxxxx ERROR: operation is not allowed on this node HINT: Connect to the coordinator and run it again. CONTEXT: while executing command on localhost:xxxxx -alter database altered_database RESET default_transaction_read_only; -NOTICE: issuing ALTER DATABASE altered_database RESET default_transaction_read_only +alter database "altered_database!'2" RESET default_transaction_read_only; +NOTICE: issuing ALTER DATABASE "altered_database!'2" RESET default_transaction_read_only DETAIL: on server postgres@localhost:xxxxx connectionId: xxxxxxx ERROR: operation is not allowed on this node HINT: Connect to the coordinator and run it again. CONTEXT: while executing command on localhost:xxxxx -alter database altered_database SET TIME ZONE '-7'; -NOTICE: issuing ALTER DATABASE altered_database SET timezone = '-7' +alter database "altered_database!'2" SET TIME ZONE '-7'; +NOTICE: issuing ALTER DATABASE "altered_database!'2" SET timezone = '-7' DETAIL: on server postgres@localhost:xxxxx connectionId: xxxxxxx ERROR: operation is not allowed on this node HINT: Connect to the coordinator and run it again. CONTEXT: while executing command on localhost:xxxxx -alter database altered_database set TIME ZONE LOCAL; -NOTICE: issuing ALTER DATABASE altered_database SET timezone TO DEFAULT +alter database "altered_database!'2" set TIME ZONE LOCAL; +NOTICE: issuing ALTER DATABASE "altered_database!'2" SET timezone TO DEFAULT DETAIL: on server postgres@localhost:xxxxx connectionId: xxxxxxx ERROR: operation is not allowed on this node HINT: Connect to the coordinator and run it again. CONTEXT: while executing command on localhost:xxxxx -alter database altered_database set TIME ZONE DEFAULT; -NOTICE: issuing ALTER DATABASE altered_database SET timezone TO DEFAULT +alter database "altered_database!'2" set TIME ZONE DEFAULT; +NOTICE: issuing ALTER DATABASE "altered_database!'2" SET timezone TO DEFAULT DETAIL: on server postgres@localhost:xxxxx connectionId: xxxxxxx ERROR: operation is not allowed on this node HINT: Connect to the coordinator and run it again. CONTEXT: while executing command on localhost:xxxxx -alter database altered_database RESET TIME ZONE; -NOTICE: issuing ALTER DATABASE altered_database RESET timezone +alter database "altered_database!'2" RESET TIME ZONE; +NOTICE: issuing ALTER DATABASE "altered_database!'2" RESET timezone DETAIL: on server postgres@localhost:xxxxx connectionId: xxxxxxx ERROR: operation is not allowed on this node HINT: Connect to the coordinator and run it again. CONTEXT: while executing command on localhost:xxxxx -alter database altered_database SET TIME ZONE INTERVAL '-08:00' HOUR TO MINUTE; -NOTICE: issuing ALTER DATABASE altered_database SET TIME ZONE INTERVAL '@ 8 hours ago' +alter database "altered_database!'2" SET TIME ZONE INTERVAL '-08:00' HOUR TO MINUTE; +NOTICE: issuing ALTER DATABASE "altered_database!'2" SET TIME ZONE INTERVAL '@ 8 hours ago' DETAIL: on server postgres@localhost:xxxxx connectionId: xxxxxxx ERROR: operation is not allowed on this node HINT: Connect to the coordinator and run it again. CONTEXT: while executing command on localhost:xxxxx -alter database altered_database RESET TIME ZONE; -NOTICE: issuing ALTER DATABASE altered_database RESET timezone +alter database "altered_database!'2" RESET TIME ZONE; +NOTICE: issuing ALTER DATABASE "altered_database!'2" RESET timezone DETAIL: on server postgres@localhost:xxxxx connectionId: xxxxxxx ERROR: operation is not allowed on this node HINT: Connect to the coordinator and run it again. CONTEXT: while executing command on localhost:xxxxx -alter database altered_database set default_transaction_isolation = 'serializable'; -NOTICE: issuing ALTER DATABASE altered_database SET default_transaction_isolation = 'serializable' +alter database "altered_database!'2" set default_transaction_isolation = 'serializable'; +NOTICE: issuing ALTER DATABASE "altered_database!'2" SET default_transaction_isolation = 'serializable' DETAIL: on server postgres@localhost:xxxxx connectionId: xxxxxxx ERROR: operation is not allowed on this node HINT: Connect to the coordinator and run it again. CONTEXT: while executing command on localhost:xxxxx set default_transaction_isolation = 'read committed'; -alter database altered_database set default_transaction_isolation from current; -NOTICE: issuing ALTER DATABASE altered_database SET default_transaction_isolation FROM CURRENT +alter database "altered_database!'2" set default_transaction_isolation from current; +NOTICE: issuing ALTER DATABASE "altered_database!'2" SET default_transaction_isolation FROM CURRENT DETAIL: on server postgres@localhost:xxxxx connectionId: xxxxxxx ERROR: operation is not allowed on this node HINT: Connect to the coordinator and run it again. CONTEXT: while executing command on localhost:xxxxx -alter database altered_database set default_transaction_isolation to DEFAULT; -NOTICE: issuing ALTER DATABASE altered_database SET default_transaction_isolation TO DEFAULT +alter database "altered_database!'2" set default_transaction_isolation to DEFAULT; +NOTICE: issuing ALTER DATABASE "altered_database!'2" SET default_transaction_isolation TO DEFAULT DETAIL: on server postgres@localhost:xxxxx connectionId: xxxxxxx ERROR: operation is not allowed on this node HINT: Connect to the coordinator and run it again. CONTEXT: while executing command on localhost:xxxxx -alter database altered_database RESET default_transaction_isolation; -NOTICE: issuing ALTER DATABASE altered_database RESET default_transaction_isolation +alter database "altered_database!'2" RESET default_transaction_isolation; +NOTICE: issuing ALTER DATABASE "altered_database!'2" RESET default_transaction_isolation DETAIL: on server postgres@localhost:xxxxx connectionId: xxxxxxx ERROR: operation is not allowed on this node HINT: Connect to the coordinator and run it again. CONTEXT: while executing command on localhost:xxxxx -alter database altered_database set statement_timeout = 1000; -NOTICE: issuing ALTER DATABASE altered_database SET statement_timeout = 1000 +alter database "altered_database!'2" set statement_timeout = 1000; +NOTICE: issuing ALTER DATABASE "altered_database!'2" SET statement_timeout = 1000 DETAIL: on server postgres@localhost:xxxxx connectionId: xxxxxxx ERROR: operation is not allowed on this node HINT: Connect to the coordinator and run it again. CONTEXT: while executing command on localhost:xxxxx set statement_timeout = 2000; -alter database altered_database set statement_timeout from current; -NOTICE: issuing ALTER DATABASE altered_database SET statement_timeout FROM CURRENT +alter database "altered_database!'2" set statement_timeout from current; +NOTICE: issuing ALTER DATABASE "altered_database!'2" SET statement_timeout FROM CURRENT DETAIL: on server postgres@localhost:xxxxx connectionId: xxxxxxx ERROR: operation is not allowed on this node HINT: Connect to the coordinator and run it again. CONTEXT: while executing command on localhost:xxxxx -alter database altered_database set statement_timeout to DEFAULT; -NOTICE: issuing ALTER DATABASE altered_database SET statement_timeout TO DEFAULT +alter database "altered_database!'2" set statement_timeout to DEFAULT; +NOTICE: issuing ALTER DATABASE "altered_database!'2" SET statement_timeout TO DEFAULT DETAIL: on server postgres@localhost:xxxxx connectionId: xxxxxxx ERROR: operation is not allowed on this node HINT: Connect to the coordinator and run it again. CONTEXT: while executing command on localhost:xxxxx -alter database altered_database RESET statement_timeout; -NOTICE: issuing ALTER DATABASE altered_database RESET statement_timeout +alter database "altered_database!'2" RESET statement_timeout; +NOTICE: issuing ALTER DATABASE "altered_database!'2" RESET statement_timeout DETAIL: on server postgres@localhost:xxxxx connectionId: xxxxxxx ERROR: operation is not allowed on this node HINT: Connect to the coordinator and run it again. CONTEXT: while executing command on localhost:xxxxx -alter database altered_database set lock_timeout = 1201.5; -NOTICE: issuing ALTER DATABASE altered_database SET lock_timeout = 1201.5 +alter database "altered_database!'2" set lock_timeout = 1201.5; +NOTICE: issuing ALTER DATABASE "altered_database!'2" SET lock_timeout = 1201.5 DETAIL: on server postgres@localhost:xxxxx connectionId: xxxxxxx ERROR: operation is not allowed on this node HINT: Connect to the coordinator and run it again. CONTEXT: while executing command on localhost:xxxxx set lock_timeout = 1202.5; -alter database altered_database set lock_timeout from current; -NOTICE: issuing ALTER DATABASE altered_database SET lock_timeout FROM CURRENT +alter database "altered_database!'2" set lock_timeout from current; +NOTICE: issuing ALTER DATABASE "altered_database!'2" SET lock_timeout FROM CURRENT DETAIL: on server postgres@localhost:xxxxx connectionId: xxxxxxx ERROR: operation is not allowed on this node HINT: Connect to the coordinator and run it again. CONTEXT: while executing command on localhost:xxxxx -alter database altered_database set lock_timeout to DEFAULT; -NOTICE: issuing ALTER DATABASE altered_database SET lock_timeout TO DEFAULT +alter database "altered_database!'2" set lock_timeout to DEFAULT; +NOTICE: issuing ALTER DATABASE "altered_database!'2" SET lock_timeout TO DEFAULT DETAIL: on server postgres@localhost:xxxxx connectionId: xxxxxxx ERROR: operation is not allowed on this node HINT: Connect to the coordinator and run it again. CONTEXT: while executing command on localhost:xxxxx -alter database altered_database RESET lock_timeout; -NOTICE: issuing ALTER DATABASE altered_database RESET lock_timeout +alter database "altered_database!'2" RESET lock_timeout; +NOTICE: issuing ALTER DATABASE "altered_database!'2" RESET lock_timeout DETAIL: on server postgres@localhost:xxxxx connectionId: xxxxxxx ERROR: operation is not allowed on this node HINT: Connect to the coordinator and run it again. CONTEXT: while executing command on localhost:xxxxx -ALTER DATABASE altered_database RESET ALL; -NOTICE: issuing ALTER DATABASE altered_database RESET ALL +ALTER DATABASE "altered_database!'2" RESET ALL; +NOTICE: issuing ALTER DATABASE "altered_database!'2" RESET ALL DETAIL: on server postgres@localhost:xxxxx connectionId: xxxxxxx ERROR: operation is not allowed on this node HINT: Connect to the coordinator and run it again. CONTEXT: while executing command on localhost:xxxxx \c regression set citus.enable_create_database_propagation=on; -drop database altered_database; +drop database "altered_database!'2"; drop database test_alter_db_from_nonmain_db; reset citus.enable_create_database_propagation; drop role test_owner_non_main_db; SELECT result FROM run_command_on_all_nodes( $$ - drop tablespace alter_db_tablespace + drop tablespace "ts-needs\!escape2" $$ ); result diff --git a/src/test/regress/sql/alter_database_from_nonmain_db.sql b/src/test/regress/sql/alter_database_from_nonmain_db.sql index 04ab1e7ef..7528832b0 100644 --- a/src/test/regress/sql/alter_database_from_nonmain_db.sql +++ b/src/test/regress/sql/alter_database_from_nonmain_db.sql @@ -1,35 +1,35 @@ SET citus.superuser TO 'postgres'; set citus.enable_create_database_propagation=on; create database test_alter_db_from_nonmain_db; -create database altered_database; +create database "altered_database!'2"; reset citus.enable_create_database_propagation; \c regression; set citus.enable_create_database_propagation=on; \set alter_db_tablespace :abs_srcdir '/tmp_check/ts3' -CREATE TABLESPACE alter_db_tablespace LOCATION :'alter_db_tablespace'; +CREATE TABLESPACE "ts-needs\!escape2" LOCATION :'alter_db_tablespace'; \c - - - :worker_1_port \set alter_db_tablespace :abs_srcdir '/tmp_check/ts4' -CREATE TABLESPACE alter_db_tablespace LOCATION :'alter_db_tablespace'; +CREATE TABLESPACE "ts-needs\!escape2" LOCATION :'alter_db_tablespace'; \c - - - :worker_2_port \set alter_db_tablespace :abs_srcdir '/tmp_check/ts5' -CREATE TABLESPACE alter_db_tablespace LOCATION :'alter_db_tablespace'; +CREATE TABLESPACE "ts-needs\!escape2" LOCATION :'alter_db_tablespace'; \c test_alter_db_from_nonmain_db set citus.log_remote_commands = true; set citus.grep_remote_commands = "%ALTER DATABASE%"; -alter database altered_database set tablespace alter_db_tablespace; -alter database altered_database rename to altered_database_renamed; -alter database altered_database_renamed rename to altered_database; +alter database "altered_database!'2" set tablespace "ts-needs\!escape2"; +alter database "altered_database!'2" rename to altered_database_renamed; +alter database altered_database_renamed rename to "altered_database!'2"; -alter database altered_database with +alter database "altered_database!'2" with ALLOW_CONNECTIONS false CONNECTION LIMIT 1 IS_TEMPLATE true; -alter database altered_database with +alter database "altered_database!'2" with ALLOW_CONNECTIONS true CONNECTION LIMIT 0 IS_TEMPLATE false; @@ -40,38 +40,38 @@ create role test_owner_non_main_db; set citus.log_remote_commands = true; set citus.grep_remote_commands = "%ALTER DATABASE%"; set citus.enable_create_database_propagation=on; -alter database altered_database owner to test_owner_non_main_db; -alter database altered_database owner to CURRENT_USER; -alter database altered_database set default_transaction_read_only = true; +alter database "altered_database!'2" owner to test_owner_non_main_db; +alter database "altered_database!'2" owner to CURRENT_USER; +alter database "altered_database!'2" set default_transaction_read_only = true; set default_transaction_read_only = false; -alter database altered_database set default_transaction_read_only from current; -alter database altered_database set default_transaction_read_only to DEFAULT; -alter database altered_database RESET default_transaction_read_only; -alter database altered_database SET TIME ZONE '-7'; -alter database altered_database set TIME ZONE LOCAL; -alter database altered_database set TIME ZONE DEFAULT; -alter database altered_database RESET TIME ZONE; -alter database altered_database SET TIME ZONE INTERVAL '-08:00' HOUR TO MINUTE; -alter database altered_database RESET TIME ZONE; -alter database altered_database set default_transaction_isolation = 'serializable'; +alter database "altered_database!'2" set default_transaction_read_only from current; +alter database "altered_database!'2" set default_transaction_read_only to DEFAULT; +alter database "altered_database!'2" RESET default_transaction_read_only; +alter database "altered_database!'2" SET TIME ZONE '-7'; +alter database "altered_database!'2" set TIME ZONE LOCAL; +alter database "altered_database!'2" set TIME ZONE DEFAULT; +alter database "altered_database!'2" RESET TIME ZONE; +alter database "altered_database!'2" SET TIME ZONE INTERVAL '-08:00' HOUR TO MINUTE; +alter database "altered_database!'2" RESET TIME ZONE; +alter database "altered_database!'2" set default_transaction_isolation = 'serializable'; set default_transaction_isolation = 'read committed'; -alter database altered_database set default_transaction_isolation from current; -alter database altered_database set default_transaction_isolation to DEFAULT; -alter database altered_database RESET default_transaction_isolation; -alter database altered_database set statement_timeout = 1000; +alter database "altered_database!'2" set default_transaction_isolation from current; +alter database "altered_database!'2" set default_transaction_isolation to DEFAULT; +alter database "altered_database!'2" RESET default_transaction_isolation; +alter database "altered_database!'2" set statement_timeout = 1000; set statement_timeout = 2000; -alter database altered_database set statement_timeout from current; -alter database altered_database set statement_timeout to DEFAULT; -alter database altered_database RESET statement_timeout; -alter database altered_database set lock_timeout = 1201.5; +alter database "altered_database!'2" set statement_timeout from current; +alter database "altered_database!'2" set statement_timeout to DEFAULT; +alter database "altered_database!'2" RESET statement_timeout; +alter database "altered_database!'2" set lock_timeout = 1201.5; set lock_timeout = 1202.5; -alter database altered_database set lock_timeout from current; -alter database altered_database set lock_timeout to DEFAULT; -alter database altered_database RESET lock_timeout; -ALTER DATABASE altered_database RESET ALL; +alter database "altered_database!'2" set lock_timeout from current; +alter database "altered_database!'2" set lock_timeout to DEFAULT; +alter database "altered_database!'2" RESET lock_timeout; +ALTER DATABASE "altered_database!'2" RESET ALL; \c regression set citus.enable_create_database_propagation=on; -drop database altered_database; +drop database "altered_database!'2"; drop database test_alter_db_from_nonmain_db; reset citus.enable_create_database_propagation; @@ -79,6 +79,6 @@ drop role test_owner_non_main_db; SELECT result FROM run_command_on_all_nodes( $$ - drop tablespace alter_db_tablespace + drop tablespace "ts-needs\!escape2" $$ );