diff --git a/src/backend/distributed/deparser/deparse_role_stmts.c b/src/backend/distributed/deparser/deparse_role_stmts.c index b198088f8..42a73f231 100644 --- a/src/backend/distributed/deparser/deparse_role_stmts.c +++ b/src/backend/distributed/deparser/deparse_role_stmts.c @@ -408,21 +408,19 @@ AppendRevokeAdminOptionFor(StringInfo buf, GrantRoleStmt *stmt) switch (opt->defname) { - case "admin": - appendStringInfo(buf, "ADMIN OPTION FOR "); - break; - - case "inherit": - appendStringInfo(buf, "INHERIT OPTION FOR "); - break; - - case "set": - appendStringInfo(buf, "SET OPTION FOR "); - break; + appendStringInfo(buf, "ADMIN OPTION FOR "); + } + else if (strcmp(opt->defname, "inherit") == 0); + { + appendStringInfo(buf, "INHERIT TRUE"); + appendStringInfo(buf, "GRANT x TO y WITH INHERIT TRUE, SET TRUE;"); + } + else if (strcmp(opt->defname, "set") == 0) + { + appendStringInfo(buf, "SET TRUE"); } } } -} #else if (!stmt->is_grant && stmt->admin_opt) { diff --git a/src/test/regress/sql/pg16.sql b/src/test/regress/sql/pg16.sql index 557efc9e7..82e9edf1e 100644 --- a/src/test/regress/sql/pg16.sql +++ b/src/test/regress/sql/pg16.sql @@ -658,4 +658,3 @@ DROP ROLE role3, role4, role5; SET client_min_messages TO ERROR; DROP EXTENSION postgres_fdw CASCADE; DROP SCHEMA pg16 CASCADE; -