Select all fields from the user, as some of them are version-dependent
This commit is contained in:
parent
65413dc778
commit
11b64314df
1 changed files with 3 additions and 8 deletions
|
@ -146,14 +146,9 @@ def user_alter(cursor, user, password, role_attr_flags):
|
|||
|
||||
# Handle passwords.
|
||||
if password is not None or role_attr_flags is not None:
|
||||
# Define columns for select.
|
||||
columns = 'rolpassword,rolsuper,rolinherit,rolcreaterole,rolcreatedb,rolcanlogin,rolreplication'
|
||||
# Select password and all flag-like columns in order to verify changes.
|
||||
# rolsuper | rolinherit | rolcreaterole | rolcreatedb | rolcatupdate |
|
||||
# rolcanlogin | rolreplication | rolconnlimit | rolpassword | rolvaliduntil
|
||||
# Not sure how to interpolate properly in python yet...
|
||||
select = "SELECT " + columns + " FROM pg_authid where rolname=%(user)s"
|
||||
cursor.execute(select, {"columns": columns, "user": user})
|
||||
select = "SELECT * FROM pg_authid where rolname=%(user)s"
|
||||
cursor.execute(select, {"user": user})
|
||||
# Grab current role attributes.
|
||||
current_role_attrs = cursor.fetchone()
|
||||
|
||||
|
@ -166,7 +161,7 @@ def user_alter(cursor, user, password, role_attr_flags):
|
|||
alter = "ALTER USER %(user)s WITH %(role_attr_flags)s"
|
||||
cursor.execute(alter % {"user": user, "role_attr_flags": role_attr_flags})
|
||||
# Grab new role attributes.
|
||||
cursor.execute(select, {"columns": columns, "user": user})
|
||||
cursor.execute(select, {"user": user})
|
||||
new_role_attrs = cursor.fetchone()
|
||||
|
||||
# Detect any differences between current_ and new_role_attrs.
|
||||
|
|
Loading…
Reference in a new issue