Re: BUG #17909: CREATE SCHEMA AUTHORIZATION sch CREATE TABLE foo ( id INT ) will coredump
Michael Paquier <michael@paquier.xyz>
From: Michael Paquier <michael@paquier.xyz>
To: hysong0101@163.com, pgsql-bugs@lists.postgresql.org
Date: 2023-04-27T07:34:23Z
Lists: pgsql-bugs
On Thu, Apr 27, 2023 at 03:44:04AM +0000, PG Bug reporting form wrote: > When we CREATE SCHEMA AUTHORIZATION rolname CREATE TABLE/SEQUENCE/VIEW > sch.obj and sch is not NULL, > the database will coredump. It took me a couple of minutes to get what you meant here. The point is that schema-qualifying any of the object specified after the CREATE SCHEMA with a schema name different than the rolname would cause a crash, when no schema is directly given. We should fail with the same error than when a schema is specified, as of, except that the rolename needs to be specified: =# create schema popo authorization postgres create table lala.aa (a int); ERROR: 42P15: CREATE specifies a schema (lala) different from the one being created (popo) That seems quite old, at quick glance (v11 fails), so this needs to be fixed all the way down. Will fix, nice catch! -- Michael
Commits
-
Fix crashes with CREATE SCHEMA AUTHORIZATION and schema elements
- a9212716b3bf 11.20 landed
- 63f7e91ecf9f 12.15 landed
- 7e95a33b42e7 13.11 landed
- d29eba1987cb 14.8 landed
- b9ad73ad250b 15.3 landed
- 4dadd660f071 16.0 landed