mirror of https://github.com/citusdata/citus.git
improve
parent
c03b977789
commit
11feabd223
|
@ -141,6 +141,14 @@ SerializeDistributedDDLsOnObjectClassInternal(ObjectClass objectClass,
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Indeed we would already ensure permission checks in remote node
|
||||||
|
* --via AcquireCitusAdvisoryObjectClassLock()-- but we first do so on
|
||||||
|
* the local node to avoid from reporting confusing error messages.
|
||||||
|
*/
|
||||||
|
Oid oid = AcquireCitusAdvisoryObjectClassLockGetOid(objectClass, qualifiedObjectName);
|
||||||
|
AcquireCitusAdvisoryObjectClassLockCheckPrivileges(objectClass, oid);
|
||||||
|
|
||||||
Task *task = CitusMakeNode(Task);
|
Task *task = CitusMakeNode(Task);
|
||||||
task->taskType = DDL_TASK;
|
task->taskType = DDL_TASK;
|
||||||
|
|
||||||
|
|
|
@ -289,16 +289,3 @@ list_filter_oid(List *list, bool (*keepElement)(Oid element))
|
||||||
|
|
||||||
return result;
|
return result;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
/*
|
|
||||||
* CompareStringNodes returns the result of strcmp on given two String nodes.
|
|
||||||
*/
|
|
||||||
int
|
|
||||||
CompareStringNodes(const void *leftElement, const void *rightElement)
|
|
||||||
{
|
|
||||||
String *leftString = castNode(String, (Node *) leftElement);
|
|
||||||
String *rightString = castNode(String, (Node *) rightElement);
|
|
||||||
|
|
||||||
return strcmp(strVal(leftString), strVal(rightString));
|
|
||||||
}
|
|
||||||
|
|
|
@ -175,6 +175,5 @@ extern void * safe_list_nth(const List *list, int index);
|
||||||
extern List * GeneratePositiveIntSequenceList(int upTo);
|
extern List * GeneratePositiveIntSequenceList(int upTo);
|
||||||
extern List * GenerateListFromElement(void *listElement, int listLength);
|
extern List * GenerateListFromElement(void *listElement, int listLength);
|
||||||
extern List * list_filter_oid(List *list, bool (*keepElement)(Oid element));
|
extern List * list_filter_oid(List *list, bool (*keepElement)(Oid element));
|
||||||
extern int CompareStringNodes(const void *leftElement, const void *rightElement);
|
|
||||||
|
|
||||||
#endif /* CITUS_LISTUTILS_H */
|
#endif /* CITUS_LISTUTILS_H */
|
||||||
|
|
|
@ -176,7 +176,6 @@ IsNodeWideObjectClass(ObjectClass objectClass)
|
||||||
{
|
{
|
||||||
case OCLASS_ROLE:
|
case OCLASS_ROLE:
|
||||||
case OCLASS_DATABASE:
|
case OCLASS_DATABASE:
|
||||||
case OCLASS_SUBSCRIPTION:
|
|
||||||
case OCLASS_TBLSPACE:
|
case OCLASS_TBLSPACE:
|
||||||
#if PG_VERSION_NUM >= PG_VERSION_15
|
#if PG_VERSION_NUM >= PG_VERSION_15
|
||||||
case OCLASS_PARAMETER_ACL:
|
case OCLASS_PARAMETER_ACL:
|
||||||
|
|
|
@ -1218,22 +1218,16 @@ SET ROLE no_createdb;
|
||||||
SET citus.enable_create_database_propagation TO ON;
|
SET citus.enable_create_database_propagation TO ON;
|
||||||
CREATE DATABASE no_createdb;
|
CREATE DATABASE no_createdb;
|
||||||
ERROR: permission denied to create / rename database
|
ERROR: permission denied to create / rename database
|
||||||
CONTEXT: while executing command on localhost:xxxxx
|
|
||||||
ALTER DATABASE distributed_db RENAME TO rename_test;
|
ALTER DATABASE distributed_db RENAME TO rename_test;
|
||||||
ERROR: permission denied to create / rename database
|
ERROR: permission denied to create / rename database
|
||||||
CONTEXT: while executing command on localhost:xxxxx
|
|
||||||
DROP DATABASE distributed_db;
|
DROP DATABASE distributed_db;
|
||||||
ERROR: must be owner of database distributed_db
|
ERROR: must be owner of database distributed_db
|
||||||
CONTEXT: while executing command on localhost:xxxxx
|
|
||||||
ALTER DATABASE distributed_db SET TABLESPACE pg_default;
|
ALTER DATABASE distributed_db SET TABLESPACE pg_default;
|
||||||
ERROR: must be owner of database distributed_db
|
ERROR: must be owner of database distributed_db
|
||||||
CONTEXT: while executing command on localhost:xxxxx
|
|
||||||
ALTER DATABASE distributed_db SET timezone TO 'UTC';
|
ALTER DATABASE distributed_db SET timezone TO 'UTC';
|
||||||
ERROR: must be owner of database distributed_db
|
ERROR: must be owner of database distributed_db
|
||||||
CONTEXT: while executing command on localhost:xxxxx
|
|
||||||
ALTER DATABASE distributed_db RESET timezone;
|
ALTER DATABASE distributed_db RESET timezone;
|
||||||
ERROR: must be owner of database distributed_db
|
ERROR: must be owner of database distributed_db
|
||||||
CONTEXT: while executing command on localhost:xxxxx
|
|
||||||
GRANT ALL ON DATABASE distributed_db TO postgres;
|
GRANT ALL ON DATABASE distributed_db TO postgres;
|
||||||
WARNING: no privileges were granted for "distributed_db"
|
WARNING: no privileges were granted for "distributed_db"
|
||||||
RESET ROLE;
|
RESET ROLE;
|
||||||
|
@ -1242,7 +1236,6 @@ SET ROLE no_createdb;
|
||||||
CREATE DATABASE no_createdb;
|
CREATE DATABASE no_createdb;
|
||||||
ALTER DATABASE distributed_db RENAME TO rename_test;
|
ALTER DATABASE distributed_db RENAME TO rename_test;
|
||||||
ERROR: must be owner of database distributed_db
|
ERROR: must be owner of database distributed_db
|
||||||
CONTEXT: while executing command on localhost:xxxxx
|
|
||||||
RESET ROLE;
|
RESET ROLE;
|
||||||
SELECT 1 FROM run_command_on_all_nodes($$GRANT ALL ON TABLESPACE pg_default TO no_createdb$$);
|
SELECT 1 FROM run_command_on_all_nodes($$GRANT ALL ON TABLESPACE pg_default TO no_createdb$$);
|
||||||
?column?
|
?column?
|
||||||
|
|
|
@ -3,13 +3,13 @@ Parsed test spec with 2 sessions
|
||||||
starting permutation: s1-begin s2-begin s1-acquire-citus-adv-oclass-lock s2-acquire-citus-adv-oclass-lock s1-commit s2-commit
|
starting permutation: s1-begin s2-begin s1-acquire-citus-adv-oclass-lock s2-acquire-citus-adv-oclass-lock s1-commit s2-commit
|
||||||
step s1-begin: BEGIN;
|
step s1-begin: BEGIN;
|
||||||
step s2-begin: BEGIN;
|
step s2-begin: BEGIN;
|
||||||
step s1-acquire-citus-adv-oclass-lock: SELECT citus_internal_acquire_citus_advisory_object_class_lock((SELECT CASE WHEN substring(version(), '\d+')::integer < 16 THEN 25 ELSE 26 END AS oclass_database), NULL);
|
step s1-acquire-citus-adv-oclass-lock: SELECT citus_internal_acquire_citus_advisory_object_class_lock(value, NULL) FROM oclass_database;
|
||||||
citus_internal_acquire_citus_advisory_object_class_lock
|
citus_internal_acquire_citus_advisory_object_class_lock
|
||||||
---------------------------------------------------------------------
|
---------------------------------------------------------------------
|
||||||
|
|
||||||
(1 row)
|
(1 row)
|
||||||
|
|
||||||
step s2-acquire-citus-adv-oclass-lock: SELECT citus_internal_acquire_citus_advisory_object_class_lock((SELECT CASE WHEN substring(version(), '\d+')::integer < 16 THEN 25 ELSE 26 END AS oclass_database), NULL); <waiting ...>
|
step s2-acquire-citus-adv-oclass-lock: SELECT citus_internal_acquire_citus_advisory_object_class_lock(value, NULL) FROM oclass_database; <waiting ...>
|
||||||
step s1-commit: COMMIT;
|
step s1-commit: COMMIT;
|
||||||
step s2-acquire-citus-adv-oclass-lock: <... completed>
|
step s2-acquire-citus-adv-oclass-lock: <... completed>
|
||||||
citus_internal_acquire_citus_advisory_object_class_lock
|
citus_internal_acquire_citus_advisory_object_class_lock
|
||||||
|
@ -19,18 +19,17 @@ citus_internal_acquire_citus_advisory_object_class_lock
|
||||||
|
|
||||||
step s2-commit: COMMIT;
|
step s2-commit: COMMIT;
|
||||||
|
|
||||||
starting permutation: s1-enable-create-db-prop s1-create-testdb1 s1-begin s2-begin s1-acquire-citus-adv-oclass-lock-with-oid-testdb1 s2-acquire-citus-adv-oclass-lock-with-oid-testdb1 s1-commit s2-commit s1-drop-testdb1
|
starting permutation: s1-create-testdb1 s1-begin s2-begin s1-acquire-citus-adv-oclass-lock-with-oid-testdb1 s2-acquire-citus-adv-oclass-lock-with-oid-testdb1 s1-commit s2-commit s1-drop-testdb1
|
||||||
step s1-enable-create-db-prop: SET citus.enable_create_database_propagation TO ON;
|
|
||||||
step s1-create-testdb1: CREATE DATABASE testdb1;
|
step s1-create-testdb1: CREATE DATABASE testdb1;
|
||||||
step s1-begin: BEGIN;
|
step s1-begin: BEGIN;
|
||||||
step s2-begin: BEGIN;
|
step s2-begin: BEGIN;
|
||||||
step s1-acquire-citus-adv-oclass-lock-with-oid-testdb1: SELECT citus_internal_acquire_citus_advisory_object_class_lock((SELECT CASE WHEN substring(version(), '\d+')::integer < 16 THEN 25 ELSE 26 END AS oclass_database), 'testdb1');
|
step s1-acquire-citus-adv-oclass-lock-with-oid-testdb1: SELECT citus_internal_acquire_citus_advisory_object_class_lock(value, 'testdb1') FROM oclass_database;
|
||||||
citus_internal_acquire_citus_advisory_object_class_lock
|
citus_internal_acquire_citus_advisory_object_class_lock
|
||||||
---------------------------------------------------------------------
|
---------------------------------------------------------------------
|
||||||
|
|
||||||
(1 row)
|
(1 row)
|
||||||
|
|
||||||
step s2-acquire-citus-adv-oclass-lock-with-oid-testdb1: SELECT citus_internal_acquire_citus_advisory_object_class_lock((SELECT CASE WHEN substring(version(), '\d+')::integer < 16 THEN 25 ELSE 26 END AS oclass_database), 'testdb1'); <waiting ...>
|
step s2-acquire-citus-adv-oclass-lock-with-oid-testdb1: SELECT citus_internal_acquire_citus_advisory_object_class_lock(value, 'testdb1') FROM oclass_database; <waiting ...>
|
||||||
step s1-commit: COMMIT;
|
step s1-commit: COMMIT;
|
||||||
step s2-acquire-citus-adv-oclass-lock-with-oid-testdb1: <... completed>
|
step s2-acquire-citus-adv-oclass-lock-with-oid-testdb1: <... completed>
|
||||||
citus_internal_acquire_citus_advisory_object_class_lock
|
citus_internal_acquire_citus_advisory_object_class_lock
|
||||||
|
@ -41,20 +40,18 @@ citus_internal_acquire_citus_advisory_object_class_lock
|
||||||
step s2-commit: COMMIT;
|
step s2-commit: COMMIT;
|
||||||
step s1-drop-testdb1: DROP DATABASE testdb1;
|
step s1-drop-testdb1: DROP DATABASE testdb1;
|
||||||
|
|
||||||
starting permutation: s1-enable-create-db-prop s1-create-testdb1 s2-enable-create-db-prop s2-create-testdb2 s1-begin s2-begin s1-acquire-citus-adv-oclass-lock-with-oid-testdb1 s2-acquire-citus-adv-oclass-lock-with-oid-testdb2 s1-commit s2-commit s1-drop-testdb1 s2-drop-testdb2
|
starting permutation: s1-create-testdb1 s2-create-testdb2 s1-begin s2-begin s1-acquire-citus-adv-oclass-lock-with-oid-testdb1 s2-acquire-citus-adv-oclass-lock-with-oid-testdb2 s1-commit s2-commit s1-drop-testdb1 s2-drop-testdb2
|
||||||
step s1-enable-create-db-prop: SET citus.enable_create_database_propagation TO ON;
|
|
||||||
step s1-create-testdb1: CREATE DATABASE testdb1;
|
step s1-create-testdb1: CREATE DATABASE testdb1;
|
||||||
step s2-enable-create-db-prop: SET citus.enable_create_database_propagation TO ON;
|
|
||||||
step s2-create-testdb2: CREATE DATABASE testdb2;
|
step s2-create-testdb2: CREATE DATABASE testdb2;
|
||||||
step s1-begin: BEGIN;
|
step s1-begin: BEGIN;
|
||||||
step s2-begin: BEGIN;
|
step s2-begin: BEGIN;
|
||||||
step s1-acquire-citus-adv-oclass-lock-with-oid-testdb1: SELECT citus_internal_acquire_citus_advisory_object_class_lock((SELECT CASE WHEN substring(version(), '\d+')::integer < 16 THEN 25 ELSE 26 END AS oclass_database), 'testdb1');
|
step s1-acquire-citus-adv-oclass-lock-with-oid-testdb1: SELECT citus_internal_acquire_citus_advisory_object_class_lock(value, 'testdb1') FROM oclass_database;
|
||||||
citus_internal_acquire_citus_advisory_object_class_lock
|
citus_internal_acquire_citus_advisory_object_class_lock
|
||||||
---------------------------------------------------------------------
|
---------------------------------------------------------------------
|
||||||
|
|
||||||
(1 row)
|
(1 row)
|
||||||
|
|
||||||
step s2-acquire-citus-adv-oclass-lock-with-oid-testdb2: SELECT citus_internal_acquire_citus_advisory_object_class_lock((SELECT CASE WHEN substring(version(), '\d+')::integer < 16 THEN 25 ELSE 26 END AS oclass_database), 'testdb2');
|
step s2-acquire-citus-adv-oclass-lock-with-oid-testdb2: SELECT citus_internal_acquire_citus_advisory_object_class_lock(value, 'testdb2') FROM oclass_database;
|
||||||
citus_internal_acquire_citus_advisory_object_class_lock
|
citus_internal_acquire_citus_advisory_object_class_lock
|
||||||
---------------------------------------------------------------------
|
---------------------------------------------------------------------
|
||||||
|
|
||||||
|
@ -65,18 +62,17 @@ step s2-commit: COMMIT;
|
||||||
step s1-drop-testdb1: DROP DATABASE testdb1;
|
step s1-drop-testdb1: DROP DATABASE testdb1;
|
||||||
step s2-drop-testdb2: DROP DATABASE testdb2;
|
step s2-drop-testdb2: DROP DATABASE testdb2;
|
||||||
|
|
||||||
starting permutation: s2-enable-create-db-prop s2-create-testdb2 s1-begin s2-begin s1-acquire-citus-adv-oclass-lock s2-acquire-citus-adv-oclass-lock-with-oid-testdb2 s1-commit s2-commit s2-drop-testdb2
|
starting permutation: s2-create-testdb2 s1-begin s2-begin s1-acquire-citus-adv-oclass-lock s2-acquire-citus-adv-oclass-lock-with-oid-testdb2 s1-commit s2-commit s2-drop-testdb2
|
||||||
step s2-enable-create-db-prop: SET citus.enable_create_database_propagation TO ON;
|
|
||||||
step s2-create-testdb2: CREATE DATABASE testdb2;
|
step s2-create-testdb2: CREATE DATABASE testdb2;
|
||||||
step s1-begin: BEGIN;
|
step s1-begin: BEGIN;
|
||||||
step s2-begin: BEGIN;
|
step s2-begin: BEGIN;
|
||||||
step s1-acquire-citus-adv-oclass-lock: SELECT citus_internal_acquire_citus_advisory_object_class_lock((SELECT CASE WHEN substring(version(), '\d+')::integer < 16 THEN 25 ELSE 26 END AS oclass_database), NULL);
|
step s1-acquire-citus-adv-oclass-lock: SELECT citus_internal_acquire_citus_advisory_object_class_lock(value, NULL) FROM oclass_database;
|
||||||
citus_internal_acquire_citus_advisory_object_class_lock
|
citus_internal_acquire_citus_advisory_object_class_lock
|
||||||
---------------------------------------------------------------------
|
---------------------------------------------------------------------
|
||||||
|
|
||||||
(1 row)
|
(1 row)
|
||||||
|
|
||||||
step s2-acquire-citus-adv-oclass-lock-with-oid-testdb2: SELECT citus_internal_acquire_citus_advisory_object_class_lock((SELECT CASE WHEN substring(version(), '\d+')::integer < 16 THEN 25 ELSE 26 END AS oclass_database), 'testdb2');
|
step s2-acquire-citus-adv-oclass-lock-with-oid-testdb2: SELECT citus_internal_acquire_citus_advisory_object_class_lock(value, 'testdb2') FROM oclass_database;
|
||||||
citus_internal_acquire_citus_advisory_object_class_lock
|
citus_internal_acquire_citus_advisory_object_class_lock
|
||||||
---------------------------------------------------------------------
|
---------------------------------------------------------------------
|
||||||
|
|
||||||
|
@ -86,19 +82,16 @@ step s1-commit: COMMIT;
|
||||||
step s2-commit: COMMIT;
|
step s2-commit: COMMIT;
|
||||||
step s2-drop-testdb2: DROP DATABASE testdb2;
|
step s2-drop-testdb2: DROP DATABASE testdb2;
|
||||||
|
|
||||||
starting permutation: s2-enable-create-db-prop s2-create-testdb2 s2-begin s2-alter-testdb2-set-lc_monetary s1-enable-create-db-prop s1-create-db1 s2-rollback s2-drop-testdb2 s1-drop-db1
|
starting permutation: s2-create-testdb2 s2-begin s2-alter-testdb2-set-lc_monetary s1-create-db1 s2-rollback s2-drop-testdb2 s1-drop-db1
|
||||||
step s2-enable-create-db-prop: SET citus.enable_create_database_propagation TO ON;
|
|
||||||
step s2-create-testdb2: CREATE DATABASE testdb2;
|
step s2-create-testdb2: CREATE DATABASE testdb2;
|
||||||
step s2-begin: BEGIN;
|
step s2-begin: BEGIN;
|
||||||
step s2-alter-testdb2-set-lc_monetary: ALTER DATABASE testdb2 SET lc_monetary TO 'C';
|
step s2-alter-testdb2-set-lc_monetary: ALTER DATABASE testdb2 SET lc_monetary TO 'C';
|
||||||
step s1-enable-create-db-prop: SET citus.enable_create_database_propagation TO ON;
|
|
||||||
step s1-create-db1: CREATE DATABASE db1;
|
step s1-create-db1: CREATE DATABASE db1;
|
||||||
step s2-rollback: ROLLBACK;
|
step s2-rollback: ROLLBACK;
|
||||||
step s2-drop-testdb2: DROP DATABASE testdb2;
|
step s2-drop-testdb2: DROP DATABASE testdb2;
|
||||||
step s1-drop-db1: DROP DATABASE db1;
|
step s1-drop-db1: DROP DATABASE db1;
|
||||||
|
|
||||||
starting permutation: s2-enable-create-db-prop s2-create-testdb2 s2-begin s2-alter-testdb2-set-lc_monetary s1-create-user-dbuser s1-grant-on-testdb2-to-dbuser s2-rollback s2-drop-testdb2 s1-drop-user-dbuser
|
starting permutation: s2-create-testdb2 s2-begin s2-alter-testdb2-set-lc_monetary s1-create-user-dbuser s1-grant-on-testdb2-to-dbuser s2-rollback s2-drop-testdb2 s1-drop-user-dbuser
|
||||||
step s2-enable-create-db-prop: SET citus.enable_create_database_propagation TO ON;
|
|
||||||
step s2-create-testdb2: CREATE DATABASE testdb2;
|
step s2-create-testdb2: CREATE DATABASE testdb2;
|
||||||
step s2-begin: BEGIN;
|
step s2-begin: BEGIN;
|
||||||
step s2-alter-testdb2-set-lc_monetary: ALTER DATABASE testdb2 SET lc_monetary TO 'C';
|
step s2-alter-testdb2-set-lc_monetary: ALTER DATABASE testdb2 SET lc_monetary TO 'C';
|
||||||
|
@ -108,12 +101,10 @@ step s2-rollback: ROLLBACK;
|
||||||
step s2-drop-testdb2: DROP DATABASE testdb2;
|
step s2-drop-testdb2: DROP DATABASE testdb2;
|
||||||
step s1-drop-user-dbuser: DROP USER dbuser;
|
step s1-drop-user-dbuser: DROP USER dbuser;
|
||||||
|
|
||||||
starting permutation: s2-enable-create-db-prop s2-create-testdb2 s2-begin s2-alter-testdb2-set-lc_monetary s1-enable-create-db-prop s1-create-testdb1 s1-create-user-dbuser s1-grant-on-testdb1-to-dbuser s2-rollback s2-drop-testdb2 s1-drop-testdb1 s1-drop-user-dbuser
|
starting permutation: s2-create-testdb2 s2-begin s2-alter-testdb2-set-lc_monetary s1-create-testdb1 s1-create-user-dbuser s1-grant-on-testdb1-to-dbuser s2-rollback s2-drop-testdb2 s1-drop-testdb1 s1-drop-user-dbuser
|
||||||
step s2-enable-create-db-prop: SET citus.enable_create_database_propagation TO ON;
|
|
||||||
step s2-create-testdb2: CREATE DATABASE testdb2;
|
step s2-create-testdb2: CREATE DATABASE testdb2;
|
||||||
step s2-begin: BEGIN;
|
step s2-begin: BEGIN;
|
||||||
step s2-alter-testdb2-set-lc_monetary: ALTER DATABASE testdb2 SET lc_monetary TO 'C';
|
step s2-alter-testdb2-set-lc_monetary: ALTER DATABASE testdb2 SET lc_monetary TO 'C';
|
||||||
step s1-enable-create-db-prop: SET citus.enable_create_database_propagation TO ON;
|
|
||||||
step s1-create-testdb1: CREATE DATABASE testdb1;
|
step s1-create-testdb1: CREATE DATABASE testdb1;
|
||||||
step s1-create-user-dbuser: CREATE USER dbuser;
|
step s1-create-user-dbuser: CREATE USER dbuser;
|
||||||
step s1-grant-on-testdb1-to-dbuser: GRANT ALL ON DATABASE testdb1 TO dbuser;
|
step s1-grant-on-testdb1-to-dbuser: GRANT ALL ON DATABASE testdb1 TO dbuser;
|
||||||
|
@ -122,10 +113,8 @@ step s2-drop-testdb2: DROP DATABASE testdb2;
|
||||||
step s1-drop-testdb1: DROP DATABASE testdb1;
|
step s1-drop-testdb1: DROP DATABASE testdb1;
|
||||||
step s1-drop-user-dbuser: DROP USER dbuser;
|
step s1-drop-user-dbuser: DROP USER dbuser;
|
||||||
|
|
||||||
starting permutation: s1-enable-create-db-prop s1-create-testdb1 s2-enable-create-db-prop s2-create-testdb2 s1-begin s2-begin s1-alter-testdb1-rename-to-db1 s2-alter-testdb2-rename-to-db1 s1-commit s2-rollback s1-drop-db1 s2-drop-testdb2
|
starting permutation: s1-create-testdb1 s2-create-testdb2 s1-begin s2-begin s1-alter-testdb1-rename-to-db1 s2-alter-testdb2-rename-to-db1 s1-commit s2-rollback s1-drop-db1 s2-drop-testdb2
|
||||||
step s1-enable-create-db-prop: SET citus.enable_create_database_propagation TO ON;
|
|
||||||
step s1-create-testdb1: CREATE DATABASE testdb1;
|
step s1-create-testdb1: CREATE DATABASE testdb1;
|
||||||
step s2-enable-create-db-prop: SET citus.enable_create_database_propagation TO ON;
|
|
||||||
step s2-create-testdb2: CREATE DATABASE testdb2;
|
step s2-create-testdb2: CREATE DATABASE testdb2;
|
||||||
step s1-begin: BEGIN;
|
step s1-begin: BEGIN;
|
||||||
step s2-begin: BEGIN;
|
step s2-begin: BEGIN;
|
||||||
|
@ -138,10 +127,8 @@ step s2-rollback: ROLLBACK;
|
||||||
step s1-drop-db1: DROP DATABASE db1;
|
step s1-drop-db1: DROP DATABASE db1;
|
||||||
step s2-drop-testdb2: DROP DATABASE testdb2;
|
step s2-drop-testdb2: DROP DATABASE testdb2;
|
||||||
|
|
||||||
starting permutation: s1-enable-create-db-prop s1-create-testdb1 s2-enable-create-db-prop s2-create-testdb2 s1-begin s2-begin s1-alter-testdb1-rename-to-db1 s2-alter-testdb2-rename-to-db1 s1-rollback s2-commit s1-drop-testdb1 s2-drop-db1
|
starting permutation: s1-create-testdb1 s2-create-testdb2 s1-begin s2-begin s1-alter-testdb1-rename-to-db1 s2-alter-testdb2-rename-to-db1 s1-rollback s2-commit s1-drop-testdb1 s2-drop-db1
|
||||||
step s1-enable-create-db-prop: SET citus.enable_create_database_propagation TO ON;
|
|
||||||
step s1-create-testdb1: CREATE DATABASE testdb1;
|
step s1-create-testdb1: CREATE DATABASE testdb1;
|
||||||
step s2-enable-create-db-prop: SET citus.enable_create_database_propagation TO ON;
|
|
||||||
step s2-create-testdb2: CREATE DATABASE testdb2;
|
step s2-create-testdb2: CREATE DATABASE testdb2;
|
||||||
step s1-begin: BEGIN;
|
step s1-begin: BEGIN;
|
||||||
step s2-begin: BEGIN;
|
step s2-begin: BEGIN;
|
||||||
|
@ -153,8 +140,7 @@ step s2-commit: COMMIT;
|
||||||
step s1-drop-testdb1: DROP DATABASE testdb1;
|
step s1-drop-testdb1: DROP DATABASE testdb1;
|
||||||
step s2-drop-db1: DROP DATABASE db1;
|
step s2-drop-db1: DROP DATABASE db1;
|
||||||
|
|
||||||
starting permutation: s1-enable-create-db-prop s1-create-testdb1 s1-begin s2-begin s1-alter-testdb1-rename-to-db1 s2-alter-testdb1-rename-to-db1 s1-commit s2-rollback s1-drop-db1
|
starting permutation: s1-create-testdb1 s1-begin s2-begin s1-alter-testdb1-rename-to-db1 s2-alter-testdb1-rename-to-db1 s1-commit s2-rollback s1-drop-db1
|
||||||
step s1-enable-create-db-prop: SET citus.enable_create_database_propagation TO ON;
|
|
||||||
step s1-create-testdb1: CREATE DATABASE testdb1;
|
step s1-create-testdb1: CREATE DATABASE testdb1;
|
||||||
step s1-begin: BEGIN;
|
step s1-begin: BEGIN;
|
||||||
step s2-begin: BEGIN;
|
step s2-begin: BEGIN;
|
||||||
|
@ -166,8 +152,7 @@ ERROR: database "testdb1" does not exist
|
||||||
step s2-rollback: ROLLBACK;
|
step s2-rollback: ROLLBACK;
|
||||||
step s1-drop-db1: DROP DATABASE db1;
|
step s1-drop-db1: DROP DATABASE db1;
|
||||||
|
|
||||||
starting permutation: s1-enable-create-db-prop s1-create-testdb1 s1-begin s2-begin s1-alter-testdb1-rename-to-db1 s2-alter-testdb1-rename-to-db1 s1-rollback s2-commit s2-drop-db1
|
starting permutation: s1-create-testdb1 s1-begin s2-begin s1-alter-testdb1-rename-to-db1 s2-alter-testdb1-rename-to-db1 s1-rollback s2-commit s2-drop-db1
|
||||||
step s1-enable-create-db-prop: SET citus.enable_create_database_propagation TO ON;
|
|
||||||
step s1-create-testdb1: CREATE DATABASE testdb1;
|
step s1-create-testdb1: CREATE DATABASE testdb1;
|
||||||
step s1-begin: BEGIN;
|
step s1-begin: BEGIN;
|
||||||
step s2-begin: BEGIN;
|
step s2-begin: BEGIN;
|
||||||
|
@ -178,44 +163,37 @@ step s2-alter-testdb1-rename-to-db1: <... completed>
|
||||||
step s2-commit: COMMIT;
|
step s2-commit: COMMIT;
|
||||||
step s2-drop-db1: DROP DATABASE db1;
|
step s2-drop-db1: DROP DATABASE db1;
|
||||||
|
|
||||||
starting permutation: s2-enable-create-db-prop s2-create-testdb2 s2-begin s2-alter-testdb2-rename-to-db1 s1-enable-create-db-prop s1-create-db1 s2-rollback s2-drop-testdb2 s1-drop-db1
|
starting permutation: s2-create-testdb2 s2-begin s2-alter-testdb2-rename-to-db1 s1-create-db1 s2-rollback s2-drop-testdb2 s1-drop-db1
|
||||||
step s2-enable-create-db-prop: SET citus.enable_create_database_propagation TO ON;
|
|
||||||
step s2-create-testdb2: CREATE DATABASE testdb2;
|
step s2-create-testdb2: CREATE DATABASE testdb2;
|
||||||
step s2-begin: BEGIN;
|
step s2-begin: BEGIN;
|
||||||
step s2-alter-testdb2-rename-to-db1: ALTER DATABASE testdb2 RENAME TO db1;
|
step s2-alter-testdb2-rename-to-db1: ALTER DATABASE testdb2 RENAME TO db1;
|
||||||
step s1-enable-create-db-prop: SET citus.enable_create_database_propagation TO ON;
|
|
||||||
step s1-create-db1: CREATE DATABASE db1; <waiting ...>
|
step s1-create-db1: CREATE DATABASE db1; <waiting ...>
|
||||||
step s2-rollback: ROLLBACK;
|
step s2-rollback: ROLLBACK;
|
||||||
step s1-create-db1: <... completed>
|
step s1-create-db1: <... completed>
|
||||||
step s2-drop-testdb2: DROP DATABASE testdb2;
|
step s2-drop-testdb2: DROP DATABASE testdb2;
|
||||||
step s1-drop-db1: DROP DATABASE db1;
|
step s1-drop-db1: DROP DATABASE db1;
|
||||||
|
|
||||||
starting permutation: s2-enable-create-db-prop s2-create-testdb2 s2-begin s2-alter-testdb2-rename-to-db1 s1-enable-create-db-prop s1-create-db1 s2-commit s2-drop-db1
|
starting permutation: s2-create-testdb2 s2-begin s2-alter-testdb2-rename-to-db1 s1-create-db1 s2-commit s2-drop-db1
|
||||||
step s2-enable-create-db-prop: SET citus.enable_create_database_propagation TO ON;
|
|
||||||
step s2-create-testdb2: CREATE DATABASE testdb2;
|
step s2-create-testdb2: CREATE DATABASE testdb2;
|
||||||
step s2-begin: BEGIN;
|
step s2-begin: BEGIN;
|
||||||
step s2-alter-testdb2-rename-to-db1: ALTER DATABASE testdb2 RENAME TO db1;
|
step s2-alter-testdb2-rename-to-db1: ALTER DATABASE testdb2 RENAME TO db1;
|
||||||
step s1-enable-create-db-prop: SET citus.enable_create_database_propagation TO ON;
|
|
||||||
step s1-create-db1: CREATE DATABASE db1; <waiting ...>
|
step s1-create-db1: CREATE DATABASE db1; <waiting ...>
|
||||||
step s2-commit: COMMIT;
|
step s2-commit: COMMIT;
|
||||||
step s1-create-db1: <... completed>
|
step s1-create-db1: <... completed>
|
||||||
ERROR: database "db1" already exists
|
ERROR: database "db1" already exists
|
||||||
step s2-drop-db1: DROP DATABASE db1;
|
step s2-drop-db1: DROP DATABASE db1;
|
||||||
|
|
||||||
starting permutation: s2-enable-create-db-prop s2-create-testdb2 s2-begin s2-alter-testdb2-rename-to-db2 s1-enable-create-db-prop s1-create-db1 s2-commit s2-drop-db2 s1-drop-db1
|
starting permutation: s2-create-testdb2 s2-begin s2-alter-testdb2-rename-to-db2 s1-create-db1 s2-commit s2-drop-db2 s1-drop-db1
|
||||||
step s2-enable-create-db-prop: SET citus.enable_create_database_propagation TO ON;
|
|
||||||
step s2-create-testdb2: CREATE DATABASE testdb2;
|
step s2-create-testdb2: CREATE DATABASE testdb2;
|
||||||
step s2-begin: BEGIN;
|
step s2-begin: BEGIN;
|
||||||
step s2-alter-testdb2-rename-to-db2: ALTER DATABASE testdb2 RENAME TO db2;
|
step s2-alter-testdb2-rename-to-db2: ALTER DATABASE testdb2 RENAME TO db2;
|
||||||
step s1-enable-create-db-prop: SET citus.enable_create_database_propagation TO ON;
|
|
||||||
step s1-create-db1: CREATE DATABASE db1; <waiting ...>
|
step s1-create-db1: CREATE DATABASE db1; <waiting ...>
|
||||||
step s2-commit: COMMIT;
|
step s2-commit: COMMIT;
|
||||||
step s1-create-db1: <... completed>
|
step s1-create-db1: <... completed>
|
||||||
step s2-drop-db2: DROP DATABASE db2;
|
step s2-drop-db2: DROP DATABASE db2;
|
||||||
step s1-drop-db1: DROP DATABASE db1;
|
step s1-drop-db1: DROP DATABASE db1;
|
||||||
|
|
||||||
starting permutation: s2-enable-create-db-prop s2-create-testdb2 s2-begin s2-alter-testdb2-rename-to-db1 s1-drop-testdb2 s2-rollback
|
starting permutation: s2-create-testdb2 s2-begin s2-alter-testdb2-rename-to-db1 s1-drop-testdb2 s2-rollback
|
||||||
step s2-enable-create-db-prop: SET citus.enable_create_database_propagation TO ON;
|
|
||||||
step s2-create-testdb2: CREATE DATABASE testdb2;
|
step s2-create-testdb2: CREATE DATABASE testdb2;
|
||||||
step s2-begin: BEGIN;
|
step s2-begin: BEGIN;
|
||||||
step s2-alter-testdb2-rename-to-db1: ALTER DATABASE testdb2 RENAME TO db1;
|
step s2-alter-testdb2-rename-to-db1: ALTER DATABASE testdb2 RENAME TO db1;
|
||||||
|
@ -223,10 +201,8 @@ step s1-drop-testdb2: DROP DATABASE testdb2; <waiting ...>
|
||||||
step s2-rollback: ROLLBACK;
|
step s2-rollback: ROLLBACK;
|
||||||
step s1-drop-testdb2: <... completed>
|
step s1-drop-testdb2: <... completed>
|
||||||
|
|
||||||
starting permutation: s2-enable-create-db-prop s2-create-testdb2 s1-enable-create-db-prop s1-create-db1 s2-begin s2-alter-testdb2-rename-to-db2 s1-drop-db1 s2-commit s2-drop-db2
|
starting permutation: s2-create-testdb2 s1-create-db1 s2-begin s2-alter-testdb2-rename-to-db2 s1-drop-db1 s2-commit s2-drop-db2
|
||||||
step s2-enable-create-db-prop: SET citus.enable_create_database_propagation TO ON;
|
|
||||||
step s2-create-testdb2: CREATE DATABASE testdb2;
|
step s2-create-testdb2: CREATE DATABASE testdb2;
|
||||||
step s1-enable-create-db-prop: SET citus.enable_create_database_propagation TO ON;
|
|
||||||
step s1-create-db1: CREATE DATABASE db1;
|
step s1-create-db1: CREATE DATABASE db1;
|
||||||
step s2-begin: BEGIN;
|
step s2-begin: BEGIN;
|
||||||
step s2-alter-testdb2-rename-to-db2: ALTER DATABASE testdb2 RENAME TO db2;
|
step s2-alter-testdb2-rename-to-db2: ALTER DATABASE testdb2 RENAME TO db2;
|
||||||
|
|
|
@ -1,15 +1,27 @@
|
||||||
|
setup
|
||||||
|
{
|
||||||
|
-- OCLASS for database changed in PG 16 from 25 to 26
|
||||||
|
SELECT CASE WHEN substring(version(), '\d+')::integer < 16 THEN 25 ELSE 26 END AS value INTO oclass_database;
|
||||||
|
}
|
||||||
|
|
||||||
|
teardown
|
||||||
|
{
|
||||||
|
DROP TABLE IF EXISTS oclass_database;
|
||||||
|
}
|
||||||
|
|
||||||
session "s1"
|
session "s1"
|
||||||
|
|
||||||
|
setup { SET citus.enable_create_database_propagation TO ON; }
|
||||||
|
|
||||||
step "s1-begin" { BEGIN; }
|
step "s1-begin" { BEGIN; }
|
||||||
step "s1-commit" { COMMIT; }
|
step "s1-commit" { COMMIT; }
|
||||||
step "s1-rollback" { ROLLBACK; }
|
step "s1-rollback" { ROLLBACK; }
|
||||||
step "s1-enable-create-db-prop" { SET citus.enable_create_database_propagation TO ON; }
|
|
||||||
|
|
||||||
step "s1-create-user-dbuser" { CREATE USER dbuser; }
|
step "s1-create-user-dbuser" { CREATE USER dbuser; }
|
||||||
step "s1-drop-user-dbuser" { DROP USER dbuser; }
|
step "s1-drop-user-dbuser" { DROP USER dbuser; }
|
||||||
|
|
||||||
step "s1-acquire-citus-adv-oclass-lock" { SELECT citus_internal_acquire_citus_advisory_object_class_lock((SELECT CASE WHEN substring(version(), '\d+')::integer < 16 THEN 25 ELSE 26 END AS oclass_database), NULL); }
|
step "s1-acquire-citus-adv-oclass-lock" { SELECT citus_internal_acquire_citus_advisory_object_class_lock(value, NULL) FROM oclass_database; }
|
||||||
step "s1-acquire-citus-adv-oclass-lock-with-oid-testdb1" { SELECT citus_internal_acquire_citus_advisory_object_class_lock((SELECT CASE WHEN substring(version(), '\d+')::integer < 16 THEN 25 ELSE 26 END AS oclass_database), 'testdb1'); }
|
step "s1-acquire-citus-adv-oclass-lock-with-oid-testdb1" { SELECT citus_internal_acquire_citus_advisory_object_class_lock(value, 'testdb1') FROM oclass_database; }
|
||||||
|
|
||||||
step "s1-create-testdb1" { CREATE DATABASE testdb1; }
|
step "s1-create-testdb1" { CREATE DATABASE testdb1; }
|
||||||
step "s1-drop-testdb1" { DROP DATABASE testdb1; }
|
step "s1-drop-testdb1" { DROP DATABASE testdb1; }
|
||||||
|
@ -24,14 +36,15 @@ step "s1-drop-db1" { DROP DATABASE db1; }
|
||||||
|
|
||||||
session "s2"
|
session "s2"
|
||||||
|
|
||||||
|
setup { SET citus.enable_create_database_propagation TO ON; }
|
||||||
|
|
||||||
step "s2-begin" { BEGIN; }
|
step "s2-begin" { BEGIN; }
|
||||||
step "s2-commit" { COMMIT; }
|
step "s2-commit" { COMMIT; }
|
||||||
step "s2-rollback" { ROLLBACK; }
|
step "s2-rollback" { ROLLBACK; }
|
||||||
step "s2-enable-create-db-prop" { SET citus.enable_create_database_propagation TO ON; }
|
|
||||||
|
|
||||||
step "s2-acquire-citus-adv-oclass-lock" { SELECT citus_internal_acquire_citus_advisory_object_class_lock((SELECT CASE WHEN substring(version(), '\d+')::integer < 16 THEN 25 ELSE 26 END AS oclass_database), NULL); }
|
step "s2-acquire-citus-adv-oclass-lock" { SELECT citus_internal_acquire_citus_advisory_object_class_lock(value, NULL) FROM oclass_database; }
|
||||||
step "s2-acquire-citus-adv-oclass-lock-with-oid-testdb1" { SELECT citus_internal_acquire_citus_advisory_object_class_lock((SELECT CASE WHEN substring(version(), '\d+')::integer < 16 THEN 25 ELSE 26 END AS oclass_database), 'testdb1'); }
|
step "s2-acquire-citus-adv-oclass-lock-with-oid-testdb1" { SELECT citus_internal_acquire_citus_advisory_object_class_lock(value, 'testdb1') FROM oclass_database; }
|
||||||
step "s2-acquire-citus-adv-oclass-lock-with-oid-testdb2" { SELECT citus_internal_acquire_citus_advisory_object_class_lock((SELECT CASE WHEN substring(version(), '\d+')::integer < 16 THEN 25 ELSE 26 END AS oclass_database), 'testdb2'); }
|
step "s2-acquire-citus-adv-oclass-lock-with-oid-testdb2" { SELECT citus_internal_acquire_citus_advisory_object_class_lock(value, 'testdb2') FROM oclass_database; }
|
||||||
|
|
||||||
step "s2-alter-testdb1-rename-to-db1" { ALTER DATABASE testdb1 RENAME TO db1; }
|
step "s2-alter-testdb1-rename-to-db1" { ALTER DATABASE testdb1 RENAME TO db1; }
|
||||||
|
|
||||||
|
@ -53,37 +66,37 @@ permutation "s1-begin" "s2-begin" "s1-acquire-citus-adv-oclass-lock" "s2-acquire
|
||||||
|
|
||||||
// e.g., DROP DATABASE vs DROP DATABASE
|
// e.g., DROP DATABASE vs DROP DATABASE
|
||||||
// dropping the same database
|
// dropping the same database
|
||||||
permutation "s1-enable-create-db-prop" "s1-create-testdb1" "s1-begin" "s2-begin" "s1-acquire-citus-adv-oclass-lock-with-oid-testdb1" "s2-acquire-citus-adv-oclass-lock-with-oid-testdb1" "s1-commit" "s2-commit" "s1-drop-testdb1"
|
permutation "s1-create-testdb1" "s1-begin" "s2-begin" "s1-acquire-citus-adv-oclass-lock-with-oid-testdb1" "s2-acquire-citus-adv-oclass-lock-with-oid-testdb1" "s1-commit" "s2-commit" "s1-drop-testdb1"
|
||||||
// dropping a different database
|
// dropping a different database
|
||||||
permutation "s1-enable-create-db-prop" "s1-create-testdb1" "s2-enable-create-db-prop" "s2-create-testdb2" "s1-begin" "s2-begin" "s1-acquire-citus-adv-oclass-lock-with-oid-testdb1" "s2-acquire-citus-adv-oclass-lock-with-oid-testdb2" "s1-commit" "s2-commit" "s1-drop-testdb1" "s2-drop-testdb2"
|
permutation "s1-create-testdb1" "s2-create-testdb2" "s1-begin" "s2-begin" "s1-acquire-citus-adv-oclass-lock-with-oid-testdb1" "s2-acquire-citus-adv-oclass-lock-with-oid-testdb2" "s1-commit" "s2-commit" "s1-drop-testdb1" "s2-drop-testdb2"
|
||||||
|
|
||||||
// CREATE DATABASE vs DROP DATABASE
|
// CREATE DATABASE vs DROP DATABASE
|
||||||
permutation "s2-enable-create-db-prop" "s2-create-testdb2" "s1-begin" "s2-begin" "s1-acquire-citus-adv-oclass-lock" "s2-acquire-citus-adv-oclass-lock-with-oid-testdb2" "s1-commit" "s2-commit" "s2-drop-testdb2"
|
permutation "s2-create-testdb2" "s1-begin" "s2-begin" "s1-acquire-citus-adv-oclass-lock" "s2-acquire-citus-adv-oclass-lock-with-oid-testdb2" "s1-commit" "s2-commit" "s2-drop-testdb2"
|
||||||
|
|
||||||
// CREATE DATABASE vs ALTER DATABASE SET <config>
|
// CREATE DATABASE vs ALTER DATABASE SET <config>
|
||||||
permutation "s2-enable-create-db-prop" "s2-create-testdb2" "s2-begin" "s2-alter-testdb2-set-lc_monetary" "s1-enable-create-db-prop" "s1-create-db1" "s2-rollback" "s2-drop-testdb2" "s1-drop-db1"
|
permutation "s2-create-testdb2" "s2-begin" "s2-alter-testdb2-set-lc_monetary" "s1-create-db1" "s2-rollback" "s2-drop-testdb2" "s1-drop-db1"
|
||||||
|
|
||||||
// GRANT .. ON DATABASE .. TO ... vs ALTER DATABASE SET <config>
|
// GRANT .. ON DATABASE .. TO ... vs ALTER DATABASE SET <config>
|
||||||
// on the same database
|
// on the same database
|
||||||
permutation "s2-enable-create-db-prop" "s2-create-testdb2" "s2-begin" "s2-alter-testdb2-set-lc_monetary" "s1-create-user-dbuser" "s1-grant-on-testdb2-to-dbuser" "s2-rollback" "s2-drop-testdb2" "s1-drop-user-dbuser"
|
permutation "s2-create-testdb2" "s2-begin" "s2-alter-testdb2-set-lc_monetary" "s1-create-user-dbuser" "s1-grant-on-testdb2-to-dbuser" "s2-rollback" "s2-drop-testdb2" "s1-drop-user-dbuser"
|
||||||
// on a different database
|
// on a different database
|
||||||
permutation "s2-enable-create-db-prop" "s2-create-testdb2" "s2-begin" "s2-alter-testdb2-set-lc_monetary" "s1-enable-create-db-prop" "s1-create-testdb1" "s1-create-user-dbuser" "s1-grant-on-testdb1-to-dbuser" "s2-rollback" "s2-drop-testdb2" "s1-drop-testdb1" "s1-drop-user-dbuser"
|
permutation "s2-create-testdb2" "s2-begin" "s2-alter-testdb2-set-lc_monetary" "s1-create-testdb1" "s1-create-user-dbuser" "s1-grant-on-testdb1-to-dbuser" "s2-rollback" "s2-drop-testdb2" "s1-drop-testdb1" "s1-drop-user-dbuser"
|
||||||
|
|
||||||
// ALTER DATABASE .. RENAME TO .. vs ALTER DATABASE .. RENAME TO ..
|
// ALTER DATABASE .. RENAME TO .. vs ALTER DATABASE .. RENAME TO ..
|
||||||
// try to rename different databases to the same name
|
// try to rename different databases to the same name
|
||||||
permutation "s1-enable-create-db-prop" "s1-create-testdb1" "s2-enable-create-db-prop" "s2-create-testdb2" "s1-begin" "s2-begin" "s1-alter-testdb1-rename-to-db1" "s2-alter-testdb2-rename-to-db1" "s1-commit" "s2-rollback" "s1-drop-db1" "s2-drop-testdb2"
|
permutation "s1-create-testdb1" "s2-create-testdb2" "s1-begin" "s2-begin" "s1-alter-testdb1-rename-to-db1" "s2-alter-testdb2-rename-to-db1" "s1-commit" "s2-rollback" "s1-drop-db1" "s2-drop-testdb2"
|
||||||
permutation "s1-enable-create-db-prop" "s1-create-testdb1" "s2-enable-create-db-prop" "s2-create-testdb2" "s1-begin" "s2-begin" "s1-alter-testdb1-rename-to-db1" "s2-alter-testdb2-rename-to-db1" "s1-rollback" "s2-commit" "s1-drop-testdb1" "s2-drop-db1"
|
permutation "s1-create-testdb1" "s2-create-testdb2" "s1-begin" "s2-begin" "s1-alter-testdb1-rename-to-db1" "s2-alter-testdb2-rename-to-db1" "s1-rollback" "s2-commit" "s1-drop-testdb1" "s2-drop-db1"
|
||||||
// try to rename same database
|
// try to rename same database
|
||||||
permutation "s1-enable-create-db-prop" "s1-create-testdb1" "s1-begin" "s2-begin" "s1-alter-testdb1-rename-to-db1" "s2-alter-testdb1-rename-to-db1" "s1-commit" "s2-rollback" "s1-drop-db1"
|
permutation "s1-create-testdb1" "s1-begin" "s2-begin" "s1-alter-testdb1-rename-to-db1" "s2-alter-testdb1-rename-to-db1" "s1-commit" "s2-rollback" "s1-drop-db1"
|
||||||
permutation "s1-enable-create-db-prop" "s1-create-testdb1" "s1-begin" "s2-begin" "s1-alter-testdb1-rename-to-db1" "s2-alter-testdb1-rename-to-db1" "s1-rollback" "s2-commit" "s2-drop-db1"
|
permutation "s1-create-testdb1" "s1-begin" "s2-begin" "s1-alter-testdb1-rename-to-db1" "s2-alter-testdb1-rename-to-db1" "s1-rollback" "s2-commit" "s2-drop-db1"
|
||||||
|
|
||||||
// CREATE DATABASE vs ALTER DATABASE .. RENAME TO ..
|
// CREATE DATABASE vs ALTER DATABASE .. RENAME TO ..
|
||||||
permutation "s2-enable-create-db-prop" "s2-create-testdb2" "s2-begin" "s2-alter-testdb2-rename-to-db1" "s1-enable-create-db-prop" "s1-create-db1" "s2-rollback" "s2-drop-testdb2" "s1-drop-db1"
|
permutation "s2-create-testdb2" "s2-begin" "s2-alter-testdb2-rename-to-db1" "s1-create-db1" "s2-rollback" "s2-drop-testdb2" "s1-drop-db1"
|
||||||
permutation "s2-enable-create-db-prop" "s2-create-testdb2" "s2-begin" "s2-alter-testdb2-rename-to-db1" "s1-enable-create-db-prop" "s1-create-db1" "s2-commit" "s2-drop-db1"
|
permutation "s2-create-testdb2" "s2-begin" "s2-alter-testdb2-rename-to-db1" "s1-create-db1" "s2-commit" "s2-drop-db1"
|
||||||
permutation "s2-enable-create-db-prop" "s2-create-testdb2" "s2-begin" "s2-alter-testdb2-rename-to-db2" "s1-enable-create-db-prop" "s1-create-db1" "s2-commit" "s2-drop-db2" "s1-drop-db1"
|
permutation "s2-create-testdb2" "s2-begin" "s2-alter-testdb2-rename-to-db2" "s1-create-db1" "s2-commit" "s2-drop-db2" "s1-drop-db1"
|
||||||
|
|
||||||
// DROP DATABASE vs ALTER DATABASE .. RENAME TO ..
|
// DROP DATABASE vs ALTER DATABASE .. RENAME TO ..
|
||||||
// try to rename the same database
|
// try to rename the same database
|
||||||
permutation "s2-enable-create-db-prop" "s2-create-testdb2" "s2-begin" "s2-alter-testdb2-rename-to-db1" "s1-drop-testdb2" "s2-rollback"
|
permutation "s2-create-testdb2" "s2-begin" "s2-alter-testdb2-rename-to-db1" "s1-drop-testdb2" "s2-rollback"
|
||||||
// try to rename a different database
|
// try to rename a different database
|
||||||
permutation "s2-enable-create-db-prop" "s2-create-testdb2" "s1-enable-create-db-prop" "s1-create-db1" "s2-begin" "s2-alter-testdb2-rename-to-db2" "s1-drop-db1" "s2-commit" "s2-drop-db2"
|
permutation "s2-create-testdb2" "s1-create-db1" "s2-begin" "s2-alter-testdb2-rename-to-db2" "s1-drop-db1" "s2-commit" "s2-drop-db2"
|
||||||
|
|
Loading…
Reference in New Issue