Skip to content

Commit

Permalink
Properly parse a PSQL server version, even beta versions. Fixes #6352.
Browse files Browse the repository at this point in the history
  • Loading branch information
s0undt3ch authored and basepi committed Jul 29, 2013
1 parent 48b213e commit e48daad
Showing 1 changed file with 20 additions and 7 deletions.
27 changes: 20 additions & 7 deletions salt/modules/postgres.py
Original file line number Diff line number Diff line change
Expand Up @@ -19,6 +19,7 @@

# Import python libs
import datetime
import distutils
import pipes
import logging
import csv
Expand Down Expand Up @@ -101,6 +102,18 @@ def version(user=None, host=None, port=None, maintenance_db=None,
return line


def _parsed_version(user=None, host=None, port=None, maintenance_db=None,
password=None, runas=None):
'''
Returns the sever version properly parsed and int casted for internal usage
'''

psql_version = version(
user, host, port, maintenance_db, password, runas
)
return distutils.version.LooseVersion(psql_version).version


def _connection_defaults(user=None, host=None, port=None, maintenance_db=None,
password=None):
'''
Expand Down Expand Up @@ -362,13 +375,13 @@ def user_list(user=None, host=None, port=None, maintenance_db=None,

ret = {}

ver = version(user=user,
host=host,
port=port,
maintenance_db=maintenance_db,
password=password,
runas=runas).split('.')
if len(ver) >= 2 and int(ver[0]) >= 9 and int(ver[1]) >= 1:
ver = _parsed_version(user=user,
host=host,
port=port,
maintenance_db=maintenance_db,
password=password,
runas=runas)
if len(ver) >= 2 and ver[0] >= 9 and ver[1] >= 1:
query = (
'SELECT rolname as "name", rolsuper as "superuser", '
'rolinherit as "inherits privileges", '
Expand Down

0 comments on commit e48daad

Please sign in to comment.