1- from distutils . version import LooseVersion
1+ from pkg_resources import packaging
22from .connection import Connection , ConnectionInfo
33
44
@@ -132,19 +132,19 @@ def server_version(self, db=None):
132132
133133 def server_version_greater (self , version , db = None ):
134134 db = self ._normalize_db (db )
135- return self .server_version (db ) >= LooseVersion (version )
135+ return packaging . version . parse ( self .server_version (db )) >= packaging . version . parse (version )
136136
137137 def server_version_less (self , version , db = None ):
138138 db = self ._normalize_db (db )
139- return self .server_version (db ) <= LooseVersion (version )
139+ return packaging . version . parse ( self .server_version (db )) <= packaging . version . parse (version )
140140
141141 def bootstrap_version_greater (self , version ):
142- return str (
143- self ._cache ["bootstrap" ]["version" ]) >= LooseVersion (version )
142+ return packaging . version . parse (
143+ str ( self ._cache ["bootstrap" ]["version" ])) >= packaging . version . parse (version )
144144
145145 def bootstrap_version_less (self , version ):
146- return str (
147- self ._cache ["bootstrap" ]["version" ]) <= LooseVersion (version )
146+ return packaging . version . parse (
147+ str ( self ._cache ["bootstrap" ]["version" ])) <= packaging . version . parse (version )
148148
149149 def in_recovery (self , db = None ):
150150 db = self ._normalize_db (db )
@@ -166,16 +166,16 @@ def is_bootstraped(self, db=None):
166166 self ._cache ["bootstrap" ]["counter" ] = 0
167167 # TODO: изменить на нормальное название, 'config' слишком общее
168168 sql = """
169- SELECT count(*)
170- FROM pg_catalog.pg_class
169+ SELECT count(*)
170+ FROM pg_catalog.pg_class
171171 WHERE relname = 'config';
172172 """
173173 result = int (self .query (sql , db )[0 ][0 ])
174174 self ._cache ["bootstrap" ]["storage" ][db ] = (result == 1 )
175175 if self ._cache ["bootstrap" ]["storage" ][db ]:
176176 self ._connections [db ].log .info ("Found mamonsu bootstrap" )
177177 sql = """
178- SELECT max(version)
178+ SELECT max(version)
179179 FROM mamonsu.config;
180180 """
181181 self ._cache ["bootstrap" ]["version" ] = self .query (sql , db )[0 ][0 ]
@@ -227,8 +227,8 @@ def is_pgpro_ee(self, db=None):
227227 def extension_installed (self , ext , db = None ):
228228 db = self ._normalize_db (db )
229229 result = self .query ("""
230- SELECT count(*)
231- FROM pg_catalog.pg_extension
230+ SELECT count(*)
231+ FROM pg_catalog.pg_extension
232232 WHERE lower(extname) = lower('{0}');
233233 """ .format (ext ), db )
234234 return (int (result [0 ][0 ])) == 1
@@ -239,9 +239,9 @@ def extension_schema(self, extension, db=None):
239239 return self ._cache ["extension_schema" ][extension ][db ]
240240 try :
241241 self ._cache ["extension_schema" ][extension ][db ] = self .query ("""
242- SELECT n.nspname
243- FROM pg_extension e
244- JOIN pg_namespace n ON e.extnamespace = n.oid
242+ SELECT n.nspname
243+ FROM pg_extension e
244+ JOIN pg_namespace n ON e.extnamespace = n.oid
245245 WHERE e.extname = '{0}'
246246 """ .format (extension ), db )[0 ][0 ]
247247 return self ._cache ["extension_schema" ][extension ][db ]
@@ -250,7 +250,7 @@ def extension_schema(self, extension, db=None):
250250
251251 def databases (self ):
252252 result , databases = self .query ("""
253- SELECT datname
253+ SELECT datname
254254 FROM pg_catalog.pg_database;
255255 """ ), []
256256 for row in result :
@@ -309,13 +309,13 @@ def get_sys_param(self, param, db=None):
309309 db = self ._normalize_db (db )
310310 if self .is_bootstraped () and self .bootstrap_version_greater ("2.3.4" ):
311311 result = self .query ("""
312- SELECT *
312+ SELECT *
313313 FROM mamonsu.get_sys_param('{0}');
314314 """ .format (param ))[0 ][0 ]
315315 else :
316316 result = self .query ("""
317- SELECT setting
318- FROM pg_catalog.pg_settings
317+ SELECT setting
318+ FROM pg_catalog.pg_settings
319319 WHERE name = '{0}';
320320 """ .format (param ), db )[0 ][0 ]
321321 return result
0 commit comments