]> git.ipfire.org Git - thirdparty/postgresql.git/commitdiff
Fixups for a4f774cf1c7
authorAndres Freund <andres@anarazel.de>
Sun, 5 Apr 2026 19:36:34 +0000 (15:36 -0400)
committerAndres Freund <andres@anarazel.de>
Sun, 5 Apr 2026 19:36:34 +0000 (15:36 -0400)
The database name was warned about when building with
-DENFORCE_REGRESSION_TEST_NAME_RESTRICTIONS, leading to BF and CI failures.

It is somewhat confusing that the required prefix is different for databases
than other object types.

Also fix a pgindent violation that caused koel to start to fail.

Discussion: https://postgr.es/m/ptyiexyhmtxf4lm524s7o7w64r26ra237uusv4tjav4yhpmeoo@vfwwllz7tivb

src/backend/utils/adt/ddlutils.c
src/test/regress/expected/database_ddl.out
src/test/regress/sql/database_ddl.sql

index 5ff15bc2cf1f0b4d16bae3a18abed38d45540283..b16c277d000563527234aa081bed98983ea1f267 100644 (file)
@@ -895,7 +895,7 @@ pg_get_database_ddl_internal(Oid dbid, bool pretty,
                ereport(ERROR,
                                (errcode(ERRCODE_RESERVED_NAME),
                                 errmsg("database \"%s\" is a system database", dbname),
-                        errdetail("DDL generation is not supported for template0 and template1.")));
+                                errdetail("DDL generation is not supported for template0 and template1.")));
 
        initStringInfo(&buf);
 
index 5081c1a2b53383036d5dcc3423230001021aff45..97657e52cfa09c6a254629082e8cfc50188bc551 100644 (file)
@@ -19,12 +19,12 @@ SELECT regexp_replace(
   '\s*\S*COLLATION\S*\s*=?\s*([''"])[^''"]*\1', '', 'gi')
 $$;
 CREATE ROLE regress_datdba;
-CREATE DATABASE regress_database_ddl
+CREATE DATABASE regression_database_ddl
     ENCODING utf8 LC_COLLATE "C" LC_CTYPE "C" TEMPLATE template0
     OWNER regress_datdba;
-ALTER DATABASE regress_database_ddl CONNECTION_LIMIT 123;
-ALTER DATABASE regress_database_ddl SET random_page_cost = 2.0;
-ALTER ROLE regress_datdba IN DATABASE regress_database_ddl SET random_page_cost = 1.1;
+ALTER DATABASE regression_database_ddl CONNECTION_LIMIT 123;
+ALTER DATABASE regression_database_ddl SET random_page_cost = 2.0;
+ALTER ROLE regress_datdba IN DATABASE regression_database_ddl SET random_page_cost = 1.1;
 -- Database doesn't exist
 SELECT * FROM pg_get_database_ddl('regression_database');
 ERROR:  database "regression_database" does not exist
@@ -37,52 +37,52 @@ SELECT * FROM pg_get_database_ddl(NULL);
 (0 rows)
 
 -- Invalid option value (should error)
-SELECT * FROM pg_get_database_ddl('regress_database_ddl', 'owner', 'invalid');
+SELECT * FROM pg_get_database_ddl('regression_database_ddl', 'owner', 'invalid');
 ERROR:  invalid value for boolean option "owner": invalid
 -- Duplicate option (should error)
-SELECT * FROM pg_get_database_ddl('regress_database_ddl', 'owner', 'false', 'owner', 'true');
+SELECT * FROM pg_get_database_ddl('regression_database_ddl', 'owner', 'false', 'owner', 'true');
 ERROR:  option "owner" is specified more than once
 -- Without options
-SELECT ddl_filter(pg_get_database_ddl) FROM pg_get_database_ddl('regress_database_ddl');
-                                    ddl_filter                                     
------------------------------------------------------------------------------------
- CREATE DATABASE regress_database_ddl WITH TEMPLATE = template0 ENCODING = 'UTF8';
- ALTER DATABASE regress_database_ddl OWNER TO regress_datdba;
- ALTER DATABASE regress_database_ddl CONNECTION LIMIT = 123;
- ALTER DATABASE regress_database_ddl SET random_page_cost TO '2.0';
+SELECT ddl_filter(pg_get_database_ddl) FROM pg_get_database_ddl('regression_database_ddl');
+                                      ddl_filter                                      
+--------------------------------------------------------------------------------------
+ CREATE DATABASE regression_database_ddl WITH TEMPLATE = template0 ENCODING = 'UTF8';
+ ALTER DATABASE regression_database_ddl OWNER TO regress_datdba;
+ ALTER DATABASE regression_database_ddl CONNECTION LIMIT = 123;
+ ALTER DATABASE regression_database_ddl SET random_page_cost TO '2.0';
 (4 rows)
 
 -- With owner
-SELECT ddl_filter(pg_get_database_ddl) FROM pg_get_database_ddl('regress_database_ddl', 'owner', 'true');
-                                    ddl_filter                                     
------------------------------------------------------------------------------------
- CREATE DATABASE regress_database_ddl WITH TEMPLATE = template0 ENCODING = 'UTF8';
- ALTER DATABASE regress_database_ddl OWNER TO regress_datdba;
- ALTER DATABASE regress_database_ddl CONNECTION LIMIT = 123;
- ALTER DATABASE regress_database_ddl SET random_page_cost TO '2.0';
+SELECT ddl_filter(pg_get_database_ddl) FROM pg_get_database_ddl('regression_database_ddl', 'owner', 'true');
+                                      ddl_filter                                      
+--------------------------------------------------------------------------------------
+ CREATE DATABASE regression_database_ddl WITH TEMPLATE = template0 ENCODING = 'UTF8';
+ ALTER DATABASE regression_database_ddl OWNER TO regress_datdba;
+ ALTER DATABASE regression_database_ddl CONNECTION LIMIT = 123;
+ ALTER DATABASE regression_database_ddl SET random_page_cost TO '2.0';
 (4 rows)
 
 -- Pretty-printed output
 \pset format unaligned
-SELECT ddl_filter(pg_get_database_ddl) FROM pg_get_database_ddl('regress_database_ddl', 'pretty', 'true', 'tablespace', 'false');
+SELECT ddl_filter(pg_get_database_ddl) FROM pg_get_database_ddl('regression_database_ddl', 'pretty', 'true', 'tablespace', 'false');
 ddl_filter
-CREATE DATABASE regress_database_ddl
+CREATE DATABASE regression_database_ddl
     WITH TEMPLATE = template0
     ENCODING = 'UTF8';
-ALTER DATABASE regress_database_ddl OWNER TO regress_datdba;
-ALTER DATABASE regress_database_ddl CONNECTION LIMIT = 123;
-ALTER DATABASE regress_database_ddl SET random_page_cost TO '2.0';
+ALTER DATABASE regression_database_ddl OWNER TO regress_datdba;
+ALTER DATABASE regression_database_ddl CONNECTION LIMIT = 123;
+ALTER DATABASE regression_database_ddl SET random_page_cost TO '2.0';
 (4 rows)
 \pset format aligned
 -- Permission check: revoke CONNECT on database
 CREATE ROLE regress_db_ddl_noaccess;
-REVOKE CONNECT ON DATABASE regress_database_ddl FROM PUBLIC;
+REVOKE CONNECT ON DATABASE regression_database_ddl FROM PUBLIC;
 SET ROLE regress_db_ddl_noaccess;
-SELECT * FROM pg_get_database_ddl('regress_database_ddl');  -- should fail
-ERROR:  permission denied for database regress_database_ddl
+SELECT * FROM pg_get_database_ddl('regression_database_ddl');  -- should fail
+ERROR:  permission denied for database regression_database_ddl
 RESET ROLE;
-GRANT CONNECT ON DATABASE regress_database_ddl TO PUBLIC;
+GRANT CONNECT ON DATABASE regression_database_ddl TO PUBLIC;
 DROP ROLE regress_db_ddl_noaccess;
-DROP DATABASE regress_database_ddl;
+DROP DATABASE regression_database_ddl;
 DROP FUNCTION ddl_filter(text);
 DROP ROLE regress_datdba;
index 093ccc0029e245302f944f76ce935338bbd0fa54..89753ac641174d694972885886a7d02d72908db5 100644 (file)
@@ -22,12 +22,12 @@ SELECT regexp_replace(
 $$;
 
 CREATE ROLE regress_datdba;
-CREATE DATABASE regress_database_ddl
+CREATE DATABASE regression_database_ddl
     ENCODING utf8 LC_COLLATE "C" LC_CTYPE "C" TEMPLATE template0
     OWNER regress_datdba;
-ALTER DATABASE regress_database_ddl CONNECTION_LIMIT 123;
-ALTER DATABASE regress_database_ddl SET random_page_cost = 2.0;
-ALTER ROLE regress_datdba IN DATABASE regress_database_ddl SET random_page_cost = 1.1;
+ALTER DATABASE regression_database_ddl CONNECTION_LIMIT 123;
+ALTER DATABASE regression_database_ddl SET random_page_cost = 2.0;
+ALTER ROLE regress_datdba IN DATABASE regression_database_ddl SET random_page_cost = 1.1;
 
 -- Database doesn't exist
 SELECT * FROM pg_get_database_ddl('regression_database');
@@ -36,31 +36,31 @@ SELECT * FROM pg_get_database_ddl('regression_database');
 SELECT * FROM pg_get_database_ddl(NULL);
 
 -- Invalid option value (should error)
-SELECT * FROM pg_get_database_ddl('regress_database_ddl', 'owner', 'invalid');
+SELECT * FROM pg_get_database_ddl('regression_database_ddl', 'owner', 'invalid');
 
 -- Duplicate option (should error)
-SELECT * FROM pg_get_database_ddl('regress_database_ddl', 'owner', 'false', 'owner', 'true');
+SELECT * FROM pg_get_database_ddl('regression_database_ddl', 'owner', 'false', 'owner', 'true');
 
 -- Without options
-SELECT ddl_filter(pg_get_database_ddl) FROM pg_get_database_ddl('regress_database_ddl');
+SELECT ddl_filter(pg_get_database_ddl) FROM pg_get_database_ddl('regression_database_ddl');
 
 -- With owner
-SELECT ddl_filter(pg_get_database_ddl) FROM pg_get_database_ddl('regress_database_ddl', 'owner', 'true');
+SELECT ddl_filter(pg_get_database_ddl) FROM pg_get_database_ddl('regression_database_ddl', 'owner', 'true');
 
 -- Pretty-printed output
 \pset format unaligned
-SELECT ddl_filter(pg_get_database_ddl) FROM pg_get_database_ddl('regress_database_ddl', 'pretty', 'true', 'tablespace', 'false');
+SELECT ddl_filter(pg_get_database_ddl) FROM pg_get_database_ddl('regression_database_ddl', 'pretty', 'true', 'tablespace', 'false');
 \pset format aligned
 
 -- Permission check: revoke CONNECT on database
 CREATE ROLE regress_db_ddl_noaccess;
-REVOKE CONNECT ON DATABASE regress_database_ddl FROM PUBLIC;
+REVOKE CONNECT ON DATABASE regression_database_ddl FROM PUBLIC;
 SET ROLE regress_db_ddl_noaccess;
-SELECT * FROM pg_get_database_ddl('regress_database_ddl');  -- should fail
+SELECT * FROM pg_get_database_ddl('regression_database_ddl');  -- should fail
 RESET ROLE;
-GRANT CONNECT ON DATABASE regress_database_ddl TO PUBLIC;
+GRANT CONNECT ON DATABASE regression_database_ddl TO PUBLIC;
 DROP ROLE regress_db_ddl_noaccess;
 
-DROP DATABASE regress_database_ddl;
+DROP DATABASE regression_database_ddl;
 DROP FUNCTION ddl_filter(text);
 DROP ROLE regress_datdba;