@@ -10,8 +10,8 @@ class Pool(object):
10
10
'replication_lag_slave_query' : (
11
11
"SELECT"
12
12
" CASE WHEN pg_last_{1}() = pg_last_{2}() THEN 0"
13
- " ELSE extract (epoch FROM now() - coalesce(pg_last_xact_replay_timestamp(), now() - INTERVAL '{0} seconds'))"
14
- " END" ,
13
+ " ELSE extract (epoch FROM now() - coalesce(pg_last_xact_replay_timestamp(), now() - INTERVAL '{0} seconds'))"
14
+ " END" ,
15
15
'select mamonsu.timestamp_get()'
16
16
),
17
17
'count_xlog_files' : (
@@ -183,18 +183,24 @@ def databases(self):
183
183
databases .append (row [0 ])
184
184
return databases
185
185
186
- def get_sql (self , typ , db = None ):
186
+ def fill_query_params (slf , query , params ):
187
+ if params :
188
+ return query .format (* params )
189
+ else :
190
+ return query
191
+
192
+ def get_sql (self , typ , args = None , db = None ):
187
193
db = self ._normalize_db (db )
188
194
if typ not in self .SQL :
189
195
raise LookupError ("Unknown SQL type: '{0}'" .format (typ ))
190
196
result = self .SQL [typ ]
191
197
if self .is_bootstraped (db ):
192
- return result [1 ]
198
+ return self . fill_query_params ( result [1 ], args )
193
199
else :
194
- return result [0 ]
200
+ return self . fill_query_params ( result [0 ], args )
195
201
196
- def run_sql_type (self , typ , db = None ):
197
- return self .query (self .get_sql (typ , db ), db )
202
+ def run_sql_type (self , typ , args = None , db = None ):
203
+ return self .query (self .get_sql (typ , args , db ), db )
198
204
199
205
def _normalize_db (self , db = None ):
200
206
if db is None :
0 commit comments