mirror of https://github.com/citusdata/citus.git
create_drop_database_propagation
parent
6c12b10c3a
commit
91d678db03
|
@ -1353,6 +1353,8 @@ convert_aclright_to_string(int aclright)
|
|||
return "TEMPORARY";
|
||||
case ACL_CONNECT:
|
||||
return "CONNECT";
|
||||
case ACL_MAINTAIN: /* New case for PostgreSQL 17 https://github.com/postgres/postgres/commit/ecb0fd33720fab91df1207e85704f382f55e1eb7 */
|
||||
return "MAINTAIN";
|
||||
default:
|
||||
elog(ERROR, "unrecognized aclright: %d", aclright);
|
||||
return NULL;
|
||||
|
|
|
@ -1103,28 +1103,23 @@ DROP ROLE propagated_role, non_propagated_role;
|
|||
-- test citus_internal.acquire_citus_advisory_object_class_lock with null input
|
||||
SELECT citus_internal.acquire_citus_advisory_object_class_lock(null, 'regression');
|
||||
ERROR: object_class cannot be NULL
|
||||
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);
|
||||
acquire_citus_advisory_object_class_lock
|
||||
---------------------------------------------------------------------
|
||||
|
||||
(1 row)
|
||||
|
||||
-- OCLASS_DATABASE
|
||||
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);
|
||||
-- Set oclass_database value based on PostgreSQL version: 25 for < 16, 26 for version 16, and 1262 for version >= 17
|
||||
SELECT citus_internal.acquire_citus_advisory_object_class_lock((SELECT CASE WHEN substring(version(), '\d+')::integer < 16 THEN 25 WHEN substring(version(), '\d+')::integer = 16 THEN 26 ELSE 1262 END AS oclass_database), NULL);
|
||||
acquire_citus_advisory_object_class_lock
|
||||
---------------------------------------------------------------------
|
||||
|
||||
(1 row)
|
||||
|
||||
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), 'regression');
|
||||
SELECT citus_internal.acquire_citus_advisory_object_class_lock((SELECT CASE WHEN substring(version(), '\d+')::integer < 16 THEN 25 WHEN substring(version(), '\d+')::integer = 16 THEN 26 ELSE 1262 END AS oclass_database), 'regression');
|
||||
acquire_citus_advisory_object_class_lock
|
||||
---------------------------------------------------------------------
|
||||
|
||||
(1 row)
|
||||
|
||||
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), '');
|
||||
SELECT citus_internal.acquire_citus_advisory_object_class_lock((SELECT CASE WHEN substring(version(), '\d+')::integer < 16 THEN 25 WHEN substring(version(), '\d+')::integer = 16 THEN 26 ELSE 1262 END AS oclass_database), '');
|
||||
ERROR: database "" does not exist
|
||||
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), 'no_such_db');
|
||||
SELECT citus_internal.acquire_citus_advisory_object_class_lock((SELECT CASE WHEN substring(version(), '\d+')::integer < 16 THEN 25 WHEN substring(version(), '\d+')::integer = 16 THEN 26 ELSE 1262 END AS oclass_database), 'no_such_db');
|
||||
ERROR: database "no_such_db" does not exist
|
||||
-- invalid OCLASS
|
||||
SELECT citus_internal.acquire_citus_advisory_object_class_lock(-1, NULL);
|
||||
|
|
|
@ -663,13 +663,13 @@ DROP ROLE propagated_role, non_propagated_role;
|
|||
|
||||
-- test citus_internal.acquire_citus_advisory_object_class_lock with null input
|
||||
SELECT citus_internal.acquire_citus_advisory_object_class_lock(null, 'regression');
|
||||
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);
|
||||
|
||||
-- OCLASS_DATABASE
|
||||
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);
|
||||
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), 'regression');
|
||||
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), '');
|
||||
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), 'no_such_db');
|
||||
-- Set oclass_database value based on PostgreSQL version: 25 for < 16, 26 for version 16, and 1262 for version >= 17
|
||||
SELECT citus_internal.acquire_citus_advisory_object_class_lock((SELECT CASE WHEN substring(version(), '\d+')::integer < 16 THEN 25 WHEN substring(version(), '\d+')::integer = 16 THEN 26 ELSE 1262 END AS oclass_database), NULL);
|
||||
SELECT citus_internal.acquire_citus_advisory_object_class_lock((SELECT CASE WHEN substring(version(), '\d+')::integer < 16 THEN 25 WHEN substring(version(), '\d+')::integer = 16 THEN 26 ELSE 1262 END AS oclass_database), 'regression');
|
||||
SELECT citus_internal.acquire_citus_advisory_object_class_lock((SELECT CASE WHEN substring(version(), '\d+')::integer < 16 THEN 25 WHEN substring(version(), '\d+')::integer = 16 THEN 26 ELSE 1262 END AS oclass_database), '');
|
||||
SELECT citus_internal.acquire_citus_advisory_object_class_lock((SELECT CASE WHEN substring(version(), '\d+')::integer < 16 THEN 25 WHEN substring(version(), '\d+')::integer = 16 THEN 26 ELSE 1262 END AS oclass_database), 'no_such_db');
|
||||
|
||||
|
||||
-- invalid OCLASS
|
||||
SELECT citus_internal.acquire_citus_advisory_object_class_lock(-1, NULL);
|
||||
|
|
Loading…
Reference in New Issue