diff --git a/web/pgadmin/browser/server_groups/servers/roles/templates/roles/sql/9.1_plus/create.sql b/web/pgadmin/browser/server_groups/servers/roles/templates/roles/sql/9.1_plus/create.sql index 07869859..620d6653 100644 --- a/web/pgadmin/browser/server_groups/servers/roles/templates/roles/sql/9.1_plus/create.sql +++ b/web/pgadmin/browser/server_groups/servers/roles/templates/roles/sql/9.1_plus/create.sql @@ -1,6 +1,6 @@ {% import 'macros/security.macros' as SECLABEL %} {% 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 %} diff --git a/web/pgadmin/browser/server_groups/servers/roles/templates/roles/sql/9.1_plus/sql.sql b/web/pgadmin/browser/server_groups/servers/roles/templates/roles/sql/9.1_plus/sql.sql index 28d8f68d..0fcad267 100644 --- a/web/pgadmin/browser/server_groups/servers/roles/templates/roles/sql/9.1_plus/sql.sql +++ b/web/pgadmin/browser/server_groups/servers/roles/templates/roles/sql/9.1_plus/sql.sql @@ -2,11 +2,10 @@ SELECT array_to_string(array_agg(sql), E'\n\n') FROM (SELECT - CASE WHEN rolcanlogin THEN '-- User: ' ELSE '-- Role: ' END || + '-- Role: ' || pg_catalog.quote_ident(rolname) || - E'\n-- DROP ' || CASE WHEN rolcanlogin THEN 'USER ' ELSE 'ROLE ' END || - pg_catalog.quote_ident(rolname) || E';\n\nCREATE ' || - CASE WHEN rolcanlogin THEN 'USER ' ELSE 'ROLE ' END || + E'\n-- DROP ROLE ' || + pg_catalog.quote_ident(rolname) || E';\n\nCREATE ROLE ' || pg_catalog.quote_ident(rolname) || E' WITH\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 || @@ -48,7 +47,7 @@ UNION ALL array_to_string(array_agg(sql), E'\n') AS sql FROM (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 (SELECT rolcanlogin, rolname, split_part(rolconfig, '=', 1) AS param, replace(rolconfig, split_part(rolconfig, '=', 1) || '=', '') AS value diff --git a/web/pgadmin/browser/server_groups/servers/roles/templates/roles/sql/9.1_plus/update.sql b/web/pgadmin/browser/server_groups/servers/roles/templates/roles/sql/9.1_plus/update.sql index 5cfb3d54..b23593c4 100644 --- a/web/pgadmin/browser/server_groups/servers/roles/templates/roles/sql/9.1_plus/update.sql +++ b/web/pgadmin/browser/server_groups/servers/roles/templates/roles/sql/9.1_plus/update.sql @@ -2,14 +2,14 @@ {% import 'macros/variable.macros' as VARIABLE %} {% if 'rolname' in data %} {% set rolname=data.rolname %} -ALTER{% if rolCanLogin %} USER {% else %} ROLE {% endif %}{{ conn|qtIdent(role) }} +ALTER ROLE {{ conn|qtIdent(role) }} RENAME TO {{ conn|qtIdent(rolname) }}; {% else %} {% set rolname=role %} {% endif %} {% 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 %} LOGIN{% else %} diff --git a/web/pgadmin/browser/server_groups/servers/roles/templates/roles/sql/9.4_plus/create.sql b/web/pgadmin/browser/server_groups/servers/roles/templates/roles/sql/9.4_plus/create.sql index f5ab674c..8d0825a2 100644 --- a/web/pgadmin/browser/server_groups/servers/roles/templates/roles/sql/9.4_plus/create.sql +++ b/web/pgadmin/browser/server_groups/servers/roles/templates/roles/sql/9.4_plus/create.sql @@ -1,6 +1,6 @@ {% import 'macros/security.macros' as SECLABEL %} {% 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 %} diff --git a/web/pgadmin/browser/server_groups/servers/roles/templates/roles/sql/9.4_plus/sql.sql b/web/pgadmin/browser/server_groups/servers/roles/templates/roles/sql/9.4_plus/sql.sql index 8cbc8117..cda36c33 100644 --- a/web/pgadmin/browser/server_groups/servers/roles/templates/roles/sql/9.4_plus/sql.sql +++ b/web/pgadmin/browser/server_groups/servers/roles/templates/roles/sql/9.4_plus/sql.sql @@ -2,11 +2,10 @@ SELECT array_to_string(array_agg(sql), E'\n\n') AS sql FROM (SELECT - CASE WHEN rolcanlogin THEN '-- User: ' ELSE '-- Role: ' END || + '-- Role: ' || pg_catalog.quote_ident(rolname) || - E'\n-- DROP ' || CASE WHEN rolcanlogin THEN 'USER ' ELSE 'ROLE ' END || - pg_catalog.quote_ident(rolname) || E';\n\nCREATE ' || - CASE WHEN rolcanlogin THEN 'USER ' ELSE 'ROLE ' END || + E'\n-- DROP ROLE ' || + pg_catalog.quote_ident(rolname) || E';\n\nCREATE ROLE ' || pg_catalog.quote_ident(rolname) || E' WITH\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 || @@ -46,7 +45,7 @@ UNION ALL array_to_string(array_agg(sql), E'\n') AS sql FROM (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 (SELECT rolcanlogin, rolname, split_part(rolconfig, '=', 1) AS param, replace(rolconfig, split_part(rolconfig, '=', 1) || '=', '') AS value diff --git a/web/pgadmin/browser/server_groups/servers/roles/templates/roles/sql/9.4_plus/update.sql b/web/pgadmin/browser/server_groups/servers/roles/templates/roles/sql/9.4_plus/update.sql index faa1c78c..f77921f5 100644 --- a/web/pgadmin/browser/server_groups/servers/roles/templates/roles/sql/9.4_plus/update.sql +++ b/web/pgadmin/browser/server_groups/servers/roles/templates/roles/sql/9.4_plus/update.sql @@ -2,14 +2,14 @@ {% import 'macros/variable.macros' as VARIABLE %} {% if 'rolname' in data %} {% set rolname=data.rolname %} -ALTER{% if rolCanLogin %} USER {% else %} ROLE {% endif %}{{ conn|qtIdent(role) }} +ALTER ROLE {{ conn|qtIdent(role) }} RENAME TO {{ conn|qtIdent(rolname) }}; {% else %} {% set rolname=role %} {% endif %} {% 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 %} LOGIN{% else %} diff --git a/web/pgadmin/browser/server_groups/servers/roles/tests/9.1_plus/alter_user_description.sql b/web/pgadmin/browser/server_groups/servers/roles/tests/9.1_plus/alter_login_role_description.sql similarity index 65% rename from web/pgadmin/browser/server_groups/servers/roles/tests/9.1_plus/alter_user_description.sql rename to web/pgadmin/browser/server_groups/servers/roles/tests/9.1_plus/alter_login_role_description.sql index df1af0fb..9f762b7f 100644 --- a/web/pgadmin/browser/server_groups/servers/roles/tests/9.1_plus/alter_user_description.sql +++ b/web/pgadmin/browser/server_groups/servers/roles/tests/9.1_plus/alter_login_role_description.sql @@ -1,7 +1,7 @@ --- User: "Role1_$%{}[]()&*^!@""'`\/#" --- DROP USER "Role1_$%{}[]()&*^!@""'`\/#"; +-- Role: "Role1_$%{}[]()&*^!@""'`\/#" +-- DROP ROLE "Role1_$%{}[]()&*^!@""'`\/#"; -CREATE USER "Role1_$%{}[]()&*^!@""'`\/#" WITH +CREATE ROLE "Role1_$%{}[]()&*^!@""'`\/#" WITH LOGIN SUPERUSER INHERIT diff --git a/web/pgadmin/browser/server_groups/servers/roles/tests/9.1_plus/alter_user_name.sql b/web/pgadmin/browser/server_groups/servers/roles/tests/9.1_plus/alter_login_role_name.sql similarity index 65% rename from web/pgadmin/browser/server_groups/servers/roles/tests/9.1_plus/alter_user_name.sql rename to web/pgadmin/browser/server_groups/servers/roles/tests/9.1_plus/alter_login_role_name.sql index 51af5cf9..5ce8a6f0 100644 --- a/web/pgadmin/browser/server_groups/servers/roles/tests/9.1_plus/alter_user_name.sql +++ b/web/pgadmin/browser/server_groups/servers/roles/tests/9.1_plus/alter_login_role_name.sql @@ -1,7 +1,7 @@ --- User: "Role2_$%{}[]()&*^!@""'`\/#" --- DROP USER "Role2_$%{}[]()&*^!@""'`\/#"; +-- Role: "Role2_$%{}[]()&*^!@""'`\/#" +-- DROP ROLE "Role2_$%{}[]()&*^!@""'`\/#"; -CREATE USER "Role2_$%{}[]()&*^!@""'`\/#" WITH +CREATE ROLE "Role2_$%{}[]()&*^!@""'`\/#" WITH LOGIN SUPERUSER INHERIT diff --git a/web/pgadmin/browser/server_groups/servers/roles/tests/9.4_plus/alter_user_options.sql b/web/pgadmin/browser/server_groups/servers/roles/tests/9.1_plus/alter_login_role_options.sql similarity index 54% rename from web/pgadmin/browser/server_groups/servers/roles/tests/9.4_plus/alter_user_options.sql rename to web/pgadmin/browser/server_groups/servers/roles/tests/9.1_plus/alter_login_role_options.sql index 5bba7aeb..a40faf93 100644 --- a/web/pgadmin/browser/server_groups/servers/roles/tests/9.4_plus/alter_user_options.sql +++ b/web/pgadmin/browser/server_groups/servers/roles/tests/9.1_plus/alter_login_role_options.sql @@ -1,7 +1,7 @@ --- User: "Role2_$%{}[]()&*^!@""'`\/#" --- DROP USER "Role2_$%{}[]()&*^!@""'`\/#"; +-- Role: "Role2_$%{}[]()&*^!@""'`\/#" +-- DROP ROLE "Role2_$%{}[]()&*^!@""'`\/#"; -CREATE USER "Role2_$%{}[]()&*^!@""'`\/#" WITH +CREATE ROLE "Role2_$%{}[]()&*^!@""'`\/#" WITH LOGIN NOSUPERUSER INHERIT diff --git a/web/pgadmin/browser/server_groups/servers/roles/tests/9.1_plus/create_user.sql b/web/pgadmin/browser/server_groups/servers/roles/tests/9.1_plus/create_login_role.sql similarity index 55% rename from web/pgadmin/browser/server_groups/servers/roles/tests/9.1_plus/create_user.sql rename to web/pgadmin/browser/server_groups/servers/roles/tests/9.1_plus/create_login_role.sql index ddf86668..1b9a2979 100644 --- a/web/pgadmin/browser/server_groups/servers/roles/tests/9.1_plus/create_user.sql +++ b/web/pgadmin/browser/server_groups/servers/roles/tests/9.1_plus/create_login_role.sql @@ -1,7 +1,7 @@ --- User: "Role1_$%{}[]()&*^!@""'`\/#" --- DROP USER "Role1_$%{}[]()&*^!@""'`\/#"; +-- Role: "Role1_$%{}[]()&*^!@""'`\/#" +-- DROP ROLE "Role1_$%{}[]()&*^!@""'`\/#"; -CREATE USER "Role1_$%{}[]()&*^!@""'`\/#" WITH +CREATE ROLE "Role1_$%{}[]()&*^!@""'`\/#" WITH LOGIN SUPERUSER INHERIT diff --git a/web/pgadmin/browser/server_groups/servers/roles/tests/9.1_plus/test.json b/web/pgadmin/browser/server_groups/servers/roles/tests/9.1_plus/test.json index c02159d4..6a3f65b2 100644 --- a/web/pgadmin/browser/server_groups/servers/roles/tests/9.1_plus/test.json +++ b/web/pgadmin/browser/server_groups/servers/roles/tests/9.1_plus/test.json @@ -62,7 +62,7 @@ }, { "type": "create", - "name": "Create User", + "name": "Create Login Role", "endpoint": "NODE-role.obj", "sql_endpoint": "NODE-role.sql_id", "data": { @@ -81,42 +81,42 @@ "seclabels": [], "variables": [] }, - "expected_sql_file": "create_user.sql" + "expected_sql_file": "create_login_role.sql" }, { "type": "alter", - "name": "Alter User description", + "name": "Alter Login Role description", "endpoint": "NODE-role.obj_id", "sql_endpoint": "NODE-role.sql_id", "data": { "description": "This is detailed description" }, - "expected_sql_file": "alter_user_description.sql" + "expected_sql_file": "alter_login_role_description.sql" }, { "type": "alter", - "name": "Alter User name", + "name": "Alter Login Role name", "endpoint": "NODE-role.obj_id", "sql_endpoint": "NODE-role.sql_id", "data": { "rolname": "Role2_$%{}[]()&*^!@\"'`\\/#" }, - "expected_sql_file": "alter_user_name.sql" + "expected_sql_file": "alter_login_role_name.sql" }, { "type": "alter", - "name": "Alter User superuser, createdb etc options", + "name": "Alter Login Role superuser, createdb etc options", "endpoint": "NODE-role.obj_id", "sql_endpoint": "NODE-role.sql_id", "data": { "rolsuper": false, "rolcreatedb": false }, - "expected_sql_file": "alter_user_options.sql" + "expected_sql_file": "alter_login_role_options.sql" }, { "type": "delete", - "name": "Drop User", + "name": "Drop Login Role", "endpoint": "NODE-role.obj_id", "data": {} } diff --git a/web/pgadmin/browser/server_groups/servers/roles/tests/9.4_plus/alter_user_description.sql b/web/pgadmin/browser/server_groups/servers/roles/tests/9.4_plus/alter_login_role_description.sql similarity index 54% rename from web/pgadmin/browser/server_groups/servers/roles/tests/9.4_plus/alter_user_description.sql rename to web/pgadmin/browser/server_groups/servers/roles/tests/9.4_plus/alter_login_role_description.sql index 097dca11..6098d25c 100644 --- a/web/pgadmin/browser/server_groups/servers/roles/tests/9.4_plus/alter_user_description.sql +++ b/web/pgadmin/browser/server_groups/servers/roles/tests/9.4_plus/alter_login_role_description.sql @@ -1,7 +1,7 @@ --- User: "Role1_$%{}[]()&*^!@""'`\/#" --- DROP USER "Role1_$%{}[]()&*^!@""'`\/#"; +-- Role: "Role1_$%{}[]()&*^!@""'`\/#" +-- DROP ROLE "Role1_$%{}[]()&*^!@""'`\/#"; -CREATE USER "Role1_$%{}[]()&*^!@""'`\/#" WITH +CREATE ROLE "Role1_$%{}[]()&*^!@""'`\/#" WITH LOGIN SUPERUSER INHERIT diff --git a/web/pgadmin/browser/server_groups/servers/roles/tests/9.4_plus/alter_user_name.sql b/web/pgadmin/browser/server_groups/servers/roles/tests/9.4_plus/alter_login_role_name.sql similarity index 54% rename from web/pgadmin/browser/server_groups/servers/roles/tests/9.4_plus/alter_user_name.sql rename to web/pgadmin/browser/server_groups/servers/roles/tests/9.4_plus/alter_login_role_name.sql index 5821a2f8..7e4c5e33 100644 --- a/web/pgadmin/browser/server_groups/servers/roles/tests/9.4_plus/alter_user_name.sql +++ b/web/pgadmin/browser/server_groups/servers/roles/tests/9.4_plus/alter_login_role_name.sql @@ -1,7 +1,7 @@ --- User: "Role2_$%{}[]()&*^!@""'`\/#" --- DROP USER "Role2_$%{}[]()&*^!@""'`\/#"; +-- Role: "Role2_$%{}[]()&*^!@""'`\/#" +-- DROP ROLE "Role2_$%{}[]()&*^!@""'`\/#"; -CREATE USER "Role2_$%{}[]()&*^!@""'`\/#" WITH +CREATE ROLE "Role2_$%{}[]()&*^!@""'`\/#" WITH LOGIN SUPERUSER INHERIT diff --git a/web/pgadmin/browser/server_groups/servers/roles/tests/9.1_plus/alter_user_options.sql b/web/pgadmin/browser/server_groups/servers/roles/tests/9.4_plus/alter_login_role_options.sql similarity index 54% rename from web/pgadmin/browser/server_groups/servers/roles/tests/9.1_plus/alter_user_options.sql rename to web/pgadmin/browser/server_groups/servers/roles/tests/9.4_plus/alter_login_role_options.sql index 5bba7aeb..a40faf93 100644 --- a/web/pgadmin/browser/server_groups/servers/roles/tests/9.1_plus/alter_user_options.sql +++ b/web/pgadmin/browser/server_groups/servers/roles/tests/9.4_plus/alter_login_role_options.sql @@ -1,7 +1,7 @@ --- User: "Role2_$%{}[]()&*^!@""'`\/#" --- DROP USER "Role2_$%{}[]()&*^!@""'`\/#"; +-- Role: "Role2_$%{}[]()&*^!@""'`\/#" +-- DROP ROLE "Role2_$%{}[]()&*^!@""'`\/#"; -CREATE USER "Role2_$%{}[]()&*^!@""'`\/#" WITH +CREATE ROLE "Role2_$%{}[]()&*^!@""'`\/#" WITH LOGIN NOSUPERUSER INHERIT diff --git a/web/pgadmin/browser/server_groups/servers/roles/tests/9.4_plus/create_login_role.sql b/web/pgadmin/browser/server_groups/servers/roles/tests/9.4_plus/create_login_role.sql new file mode 100644 index 00000000..027c9d89 --- /dev/null +++ b/web/pgadmin/browser/server_groups/servers/roles/tests/9.4_plus/create_login_role.sql @@ -0,0 +1,10 @@ +-- Role: "Role1_$%{}[]()&*^!@""'`\/#" +-- DROP ROLE "Role1_$%{}[]()&*^!@""'`\/#"; + +CREATE ROLE "Role1_$%{}[]()&*^!@""'`\/#" WITH + LOGIN + SUPERUSER + INHERIT + CREATEDB + CREATEROLE + REPLICATION; diff --git a/web/pgadmin/browser/server_groups/servers/roles/tests/9.4_plus/create_user.sql b/web/pgadmin/browser/server_groups/servers/roles/tests/9.4_plus/create_user.sql deleted file mode 100644 index 625a6cdd..00000000 --- a/web/pgadmin/browser/server_groups/servers/roles/tests/9.4_plus/create_user.sql +++ /dev/null @@ -1,10 +0,0 @@ --- User: "Role1_$%{}[]()&*^!@""'`\/#" --- DROP USER "Role1_$%{}[]()&*^!@""'`\/#"; - -CREATE USER "Role1_$%{}[]()&*^!@""'`\/#" WITH - LOGIN - SUPERUSER - INHERIT - CREATEDB - CREATEROLE - REPLICATION; diff --git a/web/pgadmin/browser/server_groups/servers/roles/tests/9.4_plus/test.json b/web/pgadmin/browser/server_groups/servers/roles/tests/9.4_plus/test.json index c02159d4..6a3f65b2 100644 --- a/web/pgadmin/browser/server_groups/servers/roles/tests/9.4_plus/test.json +++ b/web/pgadmin/browser/server_groups/servers/roles/tests/9.4_plus/test.json @@ -62,7 +62,7 @@ }, { "type": "create", - "name": "Create User", + "name": "Create Login Role", "endpoint": "NODE-role.obj", "sql_endpoint": "NODE-role.sql_id", "data": { @@ -81,42 +81,42 @@ "seclabels": [], "variables": [] }, - "expected_sql_file": "create_user.sql" + "expected_sql_file": "create_login_role.sql" }, { "type": "alter", - "name": "Alter User description", + "name": "Alter Login Role description", "endpoint": "NODE-role.obj_id", "sql_endpoint": "NODE-role.sql_id", "data": { "description": "This is detailed description" }, - "expected_sql_file": "alter_user_description.sql" + "expected_sql_file": "alter_login_role_description.sql" }, { "type": "alter", - "name": "Alter User name", + "name": "Alter Login Role name", "endpoint": "NODE-role.obj_id", "sql_endpoint": "NODE-role.sql_id", "data": { "rolname": "Role2_$%{}[]()&*^!@\"'`\\/#" }, - "expected_sql_file": "alter_user_name.sql" + "expected_sql_file": "alter_login_role_name.sql" }, { "type": "alter", - "name": "Alter User superuser, createdb etc options", + "name": "Alter Login Role superuser, createdb etc options", "endpoint": "NODE-role.obj_id", "sql_endpoint": "NODE-role.sql_id", "data": { "rolsuper": false, "rolcreatedb": false }, - "expected_sql_file": "alter_user_options.sql" + "expected_sql_file": "alter_login_role_options.sql" }, { "type": "delete", - "name": "Drop User", + "name": "Drop Login Role", "endpoint": "NODE-role.obj_id", "data": {} }