Use ROLE consistently when generating RE-SQL for roles, not USER. Fixes #4446
parent
1dcf46cc5f
commit
1831c9e70a
|
@ -39,5 +39,6 @@ Bug fixes
|
||||||
| `Issue #4429 <https://redmine.postgresql.org/issues/4429>`_ - Ensure drag/drop from the treeview works as expected on Firefox.
|
| `Issue #4429 <https://redmine.postgresql.org/issues/4429>`_ - Ensure drag/drop from the treeview works as expected on Firefox.
|
||||||
| `Issue #4437 <https://redmine.postgresql.org/issues/4437>`_ - Fix table icon issue when updating any existing field.
|
| `Issue #4437 <https://redmine.postgresql.org/issues/4437>`_ - Fix table icon issue when updating any existing field.
|
||||||
| `Issue #4442 <https://redmine.postgresql.org/issues/4442>`_ - Ensure browser should not be started by Selenium when feature tests are excluded from a test run.
|
| `Issue #4442 <https://redmine.postgresql.org/issues/4442>`_ - Ensure browser should not be started by Selenium when feature tests are excluded from a test run.
|
||||||
|
| `Issue #4446 <https://redmine.postgresql.org/issues/4446>`_ - Use ROLE consistently when generating RE-SQL for roles, not USER.
|
||||||
| `Issue #4450 <https://redmine.postgresql.org/issues/4450>`_ - Fix reverse engineered sql for Foreign Data Wrapper created on EPAS server in redwood mode.
|
| `Issue #4450 <https://redmine.postgresql.org/issues/4450>`_ - Fix reverse engineered sql for Foreign Data Wrapper created on EPAS server in redwood mode.
|
||||||
| `Issue #4462 <https://redmine.postgresql.org/issues/4462>`_ - Fix some minor UI issues on IE11.
|
| `Issue #4462 <https://redmine.postgresql.org/issues/4462>`_ - Fix some minor UI issues on IE11.
|
|
@ -1,6 +1,6 @@
|
||||||
{% import 'macros/security.macros' as SECLABEL %}
|
{% import 'macros/security.macros' as SECLABEL %}
|
||||||
{% import 'macros/variable.macros' as VARIABLE %}
|
{% import 'macros/variable.macros' as VARIABLE %}
|
||||||
CREATE {% if data.rolcanlogin %}USER{% else %}ROLE{% endif %} {{ conn|qtIdent(data.rolname) }} WITH{% if data.rolcanlogin and data.rolcanlogin is sameas True %}
|
CREATE ROLE {{ conn|qtIdent(data.rolname) }} WITH{% if data.rolcanlogin and data.rolcanlogin is sameas True %}
|
||||||
|
|
||||||
LOGIN{% else %}
|
LOGIN{% else %}
|
||||||
|
|
||||||
|
|
|
@ -2,11 +2,10 @@ SELECT
|
||||||
array_to_string(array_agg(sql), E'\n\n')
|
array_to_string(array_agg(sql), E'\n\n')
|
||||||
FROM
|
FROM
|
||||||
(SELECT
|
(SELECT
|
||||||
CASE WHEN rolcanlogin THEN '-- User: ' ELSE '-- Role: ' END ||
|
'-- Role: ' ||
|
||||||
pg_catalog.quote_ident(rolname) ||
|
pg_catalog.quote_ident(rolname) ||
|
||||||
E'\n-- DROP ' || CASE WHEN rolcanlogin THEN 'USER ' ELSE 'ROLE ' END ||
|
E'\n-- DROP ROLE ' ||
|
||||||
pg_catalog.quote_ident(rolname) || E';\n\nCREATE ' ||
|
pg_catalog.quote_ident(rolname) || E';\n\nCREATE ROLE ' ||
|
||||||
CASE WHEN rolcanlogin THEN 'USER ' ELSE 'ROLE ' END ||
|
|
||||||
pg_catalog.quote_ident(rolname) || E' WITH\n ' ||
|
pg_catalog.quote_ident(rolname) || E' WITH\n ' ||
|
||||||
CASE WHEN rolcanlogin THEN 'LOGIN' ELSE 'NOLOGIN' END || E'\n ' ||
|
CASE WHEN rolcanlogin THEN 'LOGIN' ELSE 'NOLOGIN' END || E'\n ' ||
|
||||||
CASE WHEN rolcanlogin AND rolpassword LIKE 'md5%%' THEN 'ENCRYPTED PASSWORD ' || quote_literal(rolpassword) || E'\n ' ELSE '' END ||
|
CASE WHEN rolcanlogin AND rolpassword LIKE 'md5%%' THEN 'ENCRYPTED PASSWORD ' || quote_literal(rolpassword) || E'\n ' ELSE '' END ||
|
||||||
|
@ -48,7 +47,7 @@ UNION ALL
|
||||||
array_to_string(array_agg(sql), E'\n') AS sql
|
array_to_string(array_agg(sql), E'\n') AS sql
|
||||||
FROM
|
FROM
|
||||||
(SELECT
|
(SELECT
|
||||||
'ALTER ' || CASE WHEN rolcanlogin THEN 'USER ' ELSE 'ROLE ' END || pg_catalog.quote_ident(rolname) || ' SET ' || param || ' TO ' || CASE WHEN param IN ('search_path', 'temp_tablespaces') THEN value ELSE quote_literal(value) END || ';' AS sql
|
'ALTER ROLE ' || pg_catalog.quote_ident(rolname) || ' SET ' || param || ' TO ' || CASE WHEN param IN ('search_path', 'temp_tablespaces') THEN value ELSE quote_literal(value) END || ';' AS sql
|
||||||
FROM
|
FROM
|
||||||
(SELECT
|
(SELECT
|
||||||
rolcanlogin, rolname, split_part(rolconfig, '=', 1) AS param, replace(rolconfig, split_part(rolconfig, '=', 1) || '=', '') AS value
|
rolcanlogin, rolname, split_part(rolconfig, '=', 1) AS param, replace(rolconfig, split_part(rolconfig, '=', 1) || '=', '') AS value
|
||||||
|
|
|
@ -2,14 +2,14 @@
|
||||||
{% import 'macros/variable.macros' as VARIABLE %}
|
{% import 'macros/variable.macros' as VARIABLE %}
|
||||||
{% if 'rolname' in data %}
|
{% if 'rolname' in data %}
|
||||||
{% set rolname=data.rolname %}
|
{% set rolname=data.rolname %}
|
||||||
ALTER{% if rolCanLogin %} USER {% else %} ROLE {% endif %}{{ conn|qtIdent(role) }}
|
ALTER ROLE {{ conn|qtIdent(role) }}
|
||||||
RENAME TO {{ conn|qtIdent(rolname) }};
|
RENAME TO {{ conn|qtIdent(rolname) }};
|
||||||
|
|
||||||
{% else %}
|
{% else %}
|
||||||
{% set rolname=role %}
|
{% set rolname=role %}
|
||||||
{% endif %}
|
{% endif %}
|
||||||
{% if data|hasAny(alterKeys) %}
|
{% if data|hasAny(alterKeys) %}
|
||||||
ALTER {% if rolCanLogin %}USER{% else %}ROLE{% endif %} {{ conn|qtIdent(rolname) }}{% if 'rolcanlogin' in data %}
|
ALTER ROLE {{ conn|qtIdent(rolname) }}{% if 'rolcanlogin' in data %}
|
||||||
|
|
||||||
{% if data.rolcanlogin %}
|
{% if data.rolcanlogin %}
|
||||||
LOGIN{% else %}
|
LOGIN{% else %}
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
{% import 'macros/security.macros' as SECLABEL %}
|
{% import 'macros/security.macros' as SECLABEL %}
|
||||||
{% import 'macros/variable.macros' as VARIABLE %}
|
{% import 'macros/variable.macros' as VARIABLE %}
|
||||||
CREATE {% if data.rolcanlogin %}USER{% else %}ROLE{% endif %} {{ conn|qtIdent(data.rolname) }} WITH{% if data.rolcanlogin and data.rolcanlogin is sameas True %}
|
CREATE ROLE {{ conn|qtIdent(data.rolname) }} WITH{% if data.rolcanlogin and data.rolcanlogin is sameas True %}
|
||||||
|
|
||||||
LOGIN{% else %}
|
LOGIN{% else %}
|
||||||
|
|
||||||
|
|
|
@ -2,11 +2,10 @@ SELECT
|
||||||
array_to_string(array_agg(sql), E'\n\n') AS sql
|
array_to_string(array_agg(sql), E'\n\n') AS sql
|
||||||
FROM
|
FROM
|
||||||
(SELECT
|
(SELECT
|
||||||
CASE WHEN rolcanlogin THEN '-- User: ' ELSE '-- Role: ' END ||
|
'-- Role: ' ||
|
||||||
pg_catalog.quote_ident(rolname) ||
|
pg_catalog.quote_ident(rolname) ||
|
||||||
E'\n-- DROP ' || CASE WHEN rolcanlogin THEN 'USER ' ELSE 'ROLE ' END ||
|
E'\n-- DROP ROLE ' ||
|
||||||
pg_catalog.quote_ident(rolname) || E';\n\nCREATE ' ||
|
pg_catalog.quote_ident(rolname) || E';\n\nCREATE ROLE ' ||
|
||||||
CASE WHEN rolcanlogin THEN 'USER ' ELSE 'ROLE ' END ||
|
|
||||||
pg_catalog.quote_ident(rolname) || E' WITH\n ' ||
|
pg_catalog.quote_ident(rolname) || E' WITH\n ' ||
|
||||||
CASE WHEN rolcanlogin THEN 'LOGIN' ELSE 'NOLOGIN' END || E'\n ' ||
|
CASE WHEN rolcanlogin THEN 'LOGIN' ELSE 'NOLOGIN' END || E'\n ' ||
|
||||||
CASE WHEN rolcanlogin AND rolpassword LIKE 'md5%%' THEN 'ENCRYPTED PASSWORD ' || quote_literal(rolpassword) || E'\n ' ELSE '' END ||
|
CASE WHEN rolcanlogin AND rolpassword LIKE 'md5%%' THEN 'ENCRYPTED PASSWORD ' || quote_literal(rolpassword) || E'\n ' ELSE '' END ||
|
||||||
|
@ -46,7 +45,7 @@ UNION ALL
|
||||||
array_to_string(array_agg(sql), E'\n') AS sql
|
array_to_string(array_agg(sql), E'\n') AS sql
|
||||||
FROM
|
FROM
|
||||||
(SELECT
|
(SELECT
|
||||||
'ALTER ' || CASE WHEN rolcanlogin THEN 'USER ' ELSE 'ROLE ' END || pg_catalog.quote_ident(rolname) || ' SET ' || param || ' TO ' || CASE WHEN param IN ('search_path', 'temp_tablespaces') THEN value ELSE quote_literal(value) END || ';' AS sql
|
'ALTER ROLE ' || pg_catalog.quote_ident(rolname) || ' SET ' || param || ' TO ' || CASE WHEN param IN ('search_path', 'temp_tablespaces') THEN value ELSE quote_literal(value) END || ';' AS sql
|
||||||
FROM
|
FROM
|
||||||
(SELECT
|
(SELECT
|
||||||
rolcanlogin, rolname, split_part(rolconfig, '=', 1) AS param, replace(rolconfig, split_part(rolconfig, '=', 1) || '=', '') AS value
|
rolcanlogin, rolname, split_part(rolconfig, '=', 1) AS param, replace(rolconfig, split_part(rolconfig, '=', 1) || '=', '') AS value
|
||||||
|
|
|
@ -2,14 +2,14 @@
|
||||||
{% import 'macros/variable.macros' as VARIABLE %}
|
{% import 'macros/variable.macros' as VARIABLE %}
|
||||||
{% if 'rolname' in data %}
|
{% if 'rolname' in data %}
|
||||||
{% set rolname=data.rolname %}
|
{% set rolname=data.rolname %}
|
||||||
ALTER{% if rolCanLogin %} USER {% else %} ROLE {% endif %}{{ conn|qtIdent(role) }}
|
ALTER ROLE {{ conn|qtIdent(role) }}
|
||||||
RENAME TO {{ conn|qtIdent(rolname) }};
|
RENAME TO {{ conn|qtIdent(rolname) }};
|
||||||
|
|
||||||
{% else %}
|
{% else %}
|
||||||
{% set rolname=role %}
|
{% set rolname=role %}
|
||||||
{% endif %}
|
{% endif %}
|
||||||
{% if data|hasAny(alterKeys) %}
|
{% if data|hasAny(alterKeys) %}
|
||||||
ALTER {% if rolCanLogin %}USER{% else %}ROLE{% endif %} {{ conn|qtIdent(rolname) }}{% if 'rolcanlogin' in data %}
|
ALTER ROLE {{ conn|qtIdent(rolname) }}{% if 'rolcanlogin' in data %}
|
||||||
|
|
||||||
{% if data.rolcanlogin %}
|
{% if data.rolcanlogin %}
|
||||||
LOGIN{% else %}
|
LOGIN{% else %}
|
||||||
|
|
|
@ -1,7 +1,7 @@
|
||||||
-- User: "Role1_$%{}[]()&*^!@""'`\/#"
|
-- Role: "Role1_$%{}[]()&*^!@""'`\/#"
|
||||||
-- DROP USER "Role1_$%{}[]()&*^!@""'`\/#";
|
-- DROP ROLE "Role1_$%{}[]()&*^!@""'`\/#";
|
||||||
|
|
||||||
CREATE USER "Role1_$%{}[]()&*^!@""'`\/#" WITH
|
CREATE ROLE "Role1_$%{}[]()&*^!@""'`\/#" WITH
|
||||||
LOGIN
|
LOGIN
|
||||||
SUPERUSER
|
SUPERUSER
|
||||||
INHERIT
|
INHERIT
|
|
@ -1,7 +1,7 @@
|
||||||
-- User: "Role2_$%{}[]()&*^!@""'`\/#"
|
-- Role: "Role2_$%{}[]()&*^!@""'`\/#"
|
||||||
-- DROP USER "Role2_$%{}[]()&*^!@""'`\/#";
|
-- DROP ROLE "Role2_$%{}[]()&*^!@""'`\/#";
|
||||||
|
|
||||||
CREATE USER "Role2_$%{}[]()&*^!@""'`\/#" WITH
|
CREATE ROLE "Role2_$%{}[]()&*^!@""'`\/#" WITH
|
||||||
LOGIN
|
LOGIN
|
||||||
SUPERUSER
|
SUPERUSER
|
||||||
INHERIT
|
INHERIT
|
|
@ -1,7 +1,7 @@
|
||||||
-- User: "Role2_$%{}[]()&*^!@""'`\/#"
|
-- Role: "Role2_$%{}[]()&*^!@""'`\/#"
|
||||||
-- DROP USER "Role2_$%{}[]()&*^!@""'`\/#";
|
-- DROP ROLE "Role2_$%{}[]()&*^!@""'`\/#";
|
||||||
|
|
||||||
CREATE USER "Role2_$%{}[]()&*^!@""'`\/#" WITH
|
CREATE ROLE "Role2_$%{}[]()&*^!@""'`\/#" WITH
|
||||||
LOGIN
|
LOGIN
|
||||||
NOSUPERUSER
|
NOSUPERUSER
|
||||||
INHERIT
|
INHERIT
|
|
@ -1,7 +1,7 @@
|
||||||
-- User: "Role1_$%{}[]()&*^!@""'`\/#"
|
-- Role: "Role1_$%{}[]()&*^!@""'`\/#"
|
||||||
-- DROP USER "Role1_$%{}[]()&*^!@""'`\/#";
|
-- DROP ROLE "Role1_$%{}[]()&*^!@""'`\/#";
|
||||||
|
|
||||||
CREATE USER "Role1_$%{}[]()&*^!@""'`\/#" WITH
|
CREATE ROLE "Role1_$%{}[]()&*^!@""'`\/#" WITH
|
||||||
LOGIN
|
LOGIN
|
||||||
SUPERUSER
|
SUPERUSER
|
||||||
INHERIT
|
INHERIT
|
|
@ -62,7 +62,7 @@
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"type": "create",
|
"type": "create",
|
||||||
"name": "Create User",
|
"name": "Create Login Role",
|
||||||
"endpoint": "NODE-role.obj",
|
"endpoint": "NODE-role.obj",
|
||||||
"sql_endpoint": "NODE-role.sql_id",
|
"sql_endpoint": "NODE-role.sql_id",
|
||||||
"data": {
|
"data": {
|
||||||
|
@ -81,42 +81,42 @@
|
||||||
"seclabels": [],
|
"seclabels": [],
|
||||||
"variables": []
|
"variables": []
|
||||||
},
|
},
|
||||||
"expected_sql_file": "create_user.sql"
|
"expected_sql_file": "create_login_role.sql"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"type": "alter",
|
"type": "alter",
|
||||||
"name": "Alter User description",
|
"name": "Alter Login Role description",
|
||||||
"endpoint": "NODE-role.obj_id",
|
"endpoint": "NODE-role.obj_id",
|
||||||
"sql_endpoint": "NODE-role.sql_id",
|
"sql_endpoint": "NODE-role.sql_id",
|
||||||
"data": {
|
"data": {
|
||||||
"description": "This is detailed description"
|
"description": "This is detailed description"
|
||||||
},
|
},
|
||||||
"expected_sql_file": "alter_user_description.sql"
|
"expected_sql_file": "alter_login_role_description.sql"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"type": "alter",
|
"type": "alter",
|
||||||
"name": "Alter User name",
|
"name": "Alter Login Role name",
|
||||||
"endpoint": "NODE-role.obj_id",
|
"endpoint": "NODE-role.obj_id",
|
||||||
"sql_endpoint": "NODE-role.sql_id",
|
"sql_endpoint": "NODE-role.sql_id",
|
||||||
"data": {
|
"data": {
|
||||||
"rolname": "Role2_$%{}[]()&*^!@\"'`\\/#"
|
"rolname": "Role2_$%{}[]()&*^!@\"'`\\/#"
|
||||||
},
|
},
|
||||||
"expected_sql_file": "alter_user_name.sql"
|
"expected_sql_file": "alter_login_role_name.sql"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"type": "alter",
|
"type": "alter",
|
||||||
"name": "Alter User superuser, createdb etc options",
|
"name": "Alter Login Role superuser, createdb etc options",
|
||||||
"endpoint": "NODE-role.obj_id",
|
"endpoint": "NODE-role.obj_id",
|
||||||
"sql_endpoint": "NODE-role.sql_id",
|
"sql_endpoint": "NODE-role.sql_id",
|
||||||
"data": {
|
"data": {
|
||||||
"rolsuper": false,
|
"rolsuper": false,
|
||||||
"rolcreatedb": false
|
"rolcreatedb": false
|
||||||
},
|
},
|
||||||
"expected_sql_file": "alter_user_options.sql"
|
"expected_sql_file": "alter_login_role_options.sql"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"type": "delete",
|
"type": "delete",
|
||||||
"name": "Drop User",
|
"name": "Drop Login Role",
|
||||||
"endpoint": "NODE-role.obj_id",
|
"endpoint": "NODE-role.obj_id",
|
||||||
"data": {}
|
"data": {}
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,7 +1,7 @@
|
||||||
-- User: "Role1_$%{}[]()&*^!@""'`\/#"
|
-- Role: "Role1_$%{}[]()&*^!@""'`\/#"
|
||||||
-- DROP USER "Role1_$%{}[]()&*^!@""'`\/#";
|
-- DROP ROLE "Role1_$%{}[]()&*^!@""'`\/#";
|
||||||
|
|
||||||
CREATE USER "Role1_$%{}[]()&*^!@""'`\/#" WITH
|
CREATE ROLE "Role1_$%{}[]()&*^!@""'`\/#" WITH
|
||||||
LOGIN
|
LOGIN
|
||||||
SUPERUSER
|
SUPERUSER
|
||||||
INHERIT
|
INHERIT
|
|
@ -1,7 +1,7 @@
|
||||||
-- User: "Role2_$%{}[]()&*^!@""'`\/#"
|
-- Role: "Role2_$%{}[]()&*^!@""'`\/#"
|
||||||
-- DROP USER "Role2_$%{}[]()&*^!@""'`\/#";
|
-- DROP ROLE "Role2_$%{}[]()&*^!@""'`\/#";
|
||||||
|
|
||||||
CREATE USER "Role2_$%{}[]()&*^!@""'`\/#" WITH
|
CREATE ROLE "Role2_$%{}[]()&*^!@""'`\/#" WITH
|
||||||
LOGIN
|
LOGIN
|
||||||
SUPERUSER
|
SUPERUSER
|
||||||
INHERIT
|
INHERIT
|
|
@ -1,7 +1,7 @@
|
||||||
-- User: "Role2_$%{}[]()&*^!@""'`\/#"
|
-- Role: "Role2_$%{}[]()&*^!@""'`\/#"
|
||||||
-- DROP USER "Role2_$%{}[]()&*^!@""'`\/#";
|
-- DROP ROLE "Role2_$%{}[]()&*^!@""'`\/#";
|
||||||
|
|
||||||
CREATE USER "Role2_$%{}[]()&*^!@""'`\/#" WITH
|
CREATE ROLE "Role2_$%{}[]()&*^!@""'`\/#" WITH
|
||||||
LOGIN
|
LOGIN
|
||||||
NOSUPERUSER
|
NOSUPERUSER
|
||||||
INHERIT
|
INHERIT
|
|
@ -0,0 +1,10 @@
|
||||||
|
-- Role: "Role1_$%{}[]()&*^!@""'`\/#"
|
||||||
|
-- DROP ROLE "Role1_$%{}[]()&*^!@""'`\/#";
|
||||||
|
|
||||||
|
CREATE ROLE "Role1_$%{}[]()&*^!@""'`\/#" WITH
|
||||||
|
LOGIN
|
||||||
|
SUPERUSER
|
||||||
|
INHERIT
|
||||||
|
CREATEDB
|
||||||
|
CREATEROLE
|
||||||
|
REPLICATION;
|
|
@ -1,10 +0,0 @@
|
||||||
-- User: "Role1_$%{}[]()&*^!@""'`\/#"
|
|
||||||
-- DROP USER "Role1_$%{}[]()&*^!@""'`\/#";
|
|
||||||
|
|
||||||
CREATE USER "Role1_$%{}[]()&*^!@""'`\/#" WITH
|
|
||||||
LOGIN
|
|
||||||
SUPERUSER
|
|
||||||
INHERIT
|
|
||||||
CREATEDB
|
|
||||||
CREATEROLE
|
|
||||||
REPLICATION;
|
|
|
@ -62,7 +62,7 @@
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"type": "create",
|
"type": "create",
|
||||||
"name": "Create User",
|
"name": "Create Login Role",
|
||||||
"endpoint": "NODE-role.obj",
|
"endpoint": "NODE-role.obj",
|
||||||
"sql_endpoint": "NODE-role.sql_id",
|
"sql_endpoint": "NODE-role.sql_id",
|
||||||
"data": {
|
"data": {
|
||||||
|
@ -81,42 +81,42 @@
|
||||||
"seclabels": [],
|
"seclabels": [],
|
||||||
"variables": []
|
"variables": []
|
||||||
},
|
},
|
||||||
"expected_sql_file": "create_user.sql"
|
"expected_sql_file": "create_login_role.sql"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"type": "alter",
|
"type": "alter",
|
||||||
"name": "Alter User description",
|
"name": "Alter Login Role description",
|
||||||
"endpoint": "NODE-role.obj_id",
|
"endpoint": "NODE-role.obj_id",
|
||||||
"sql_endpoint": "NODE-role.sql_id",
|
"sql_endpoint": "NODE-role.sql_id",
|
||||||
"data": {
|
"data": {
|
||||||
"description": "This is detailed description"
|
"description": "This is detailed description"
|
||||||
},
|
},
|
||||||
"expected_sql_file": "alter_user_description.sql"
|
"expected_sql_file": "alter_login_role_description.sql"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"type": "alter",
|
"type": "alter",
|
||||||
"name": "Alter User name",
|
"name": "Alter Login Role name",
|
||||||
"endpoint": "NODE-role.obj_id",
|
"endpoint": "NODE-role.obj_id",
|
||||||
"sql_endpoint": "NODE-role.sql_id",
|
"sql_endpoint": "NODE-role.sql_id",
|
||||||
"data": {
|
"data": {
|
||||||
"rolname": "Role2_$%{}[]()&*^!@\"'`\\/#"
|
"rolname": "Role2_$%{}[]()&*^!@\"'`\\/#"
|
||||||
},
|
},
|
||||||
"expected_sql_file": "alter_user_name.sql"
|
"expected_sql_file": "alter_login_role_name.sql"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"type": "alter",
|
"type": "alter",
|
||||||
"name": "Alter User superuser, createdb etc options",
|
"name": "Alter Login Role superuser, createdb etc options",
|
||||||
"endpoint": "NODE-role.obj_id",
|
"endpoint": "NODE-role.obj_id",
|
||||||
"sql_endpoint": "NODE-role.sql_id",
|
"sql_endpoint": "NODE-role.sql_id",
|
||||||
"data": {
|
"data": {
|
||||||
"rolsuper": false,
|
"rolsuper": false,
|
||||||
"rolcreatedb": false
|
"rolcreatedb": false
|
||||||
},
|
},
|
||||||
"expected_sql_file": "alter_user_options.sql"
|
"expected_sql_file": "alter_login_role_options.sql"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"type": "delete",
|
"type": "delete",
|
||||||
"name": "Drop User",
|
"name": "Drop Login Role",
|
||||||
"endpoint": "NODE-role.obj_id",
|
"endpoint": "NODE-role.obj_id",
|
||||||
"data": {}
|
"data": {}
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue