@@ -172,6 +172,8 @@ def make_bnode(self, base_dir=None, allows_streaming=False, options={}):
172
172
173
173
return node
174
174
175
+ # def print_started(self, fname):
176
+ # print
175
177
176
178
def make_simple_node (self ,base_dir = None ,set_replication = False ,
177
179
set_archiving = False ,initdb_params = [],pg_options = {}):
@@ -234,23 +236,21 @@ def get_md5_per_page_for_fork(self, file, size):
234
236
os .close (file )
235
237
return md5_per_page
236
238
237
- def get_ptrack_bits_per_for_fork (self ,file ,size ):
239
+ def get_ptrack_bits_per_page_for_fork (self ,file ,size ):
240
+ ptrack_bits_for_fork = []
238
241
byte_size = os .path .getsize (file + '_ptrack' )
239
242
byte_size_minus_header = byte_size - 24
240
243
file = os .open (file + '_ptrack' ,os .O_RDONLY )
241
244
os .lseek (file ,24 ,0 )
242
245
lot_of_bytes = os .read (file ,byte_size_minus_header )
243
- ptrack_bits_per_for_fork = []
244
246
for byte in lot_of_bytes :
245
247
byte_inverted = bin (ord (byte ))[2 :].rjust (8 ,'0' )[::- 1 ]
246
248
# byte_to_bits = (byte >> x) & 1 for x in range(7, -1, -1)
247
249
for bit in byte_inverted :
248
- while len (ptrack_bits_per_for_fork )!= size :
249
- ptrack_bits_per_for_fork .append (int (bit ))
250
- # print 'Size: {}'.format(size)
251
- # print ptrack_bits_per_for_fork
250
+ if len (ptrack_bits_for_fork )< size :
251
+ ptrack_bits_for_fork .append (int (bit ))
252
252
os .close (file )
253
- return ptrack_bits_per_for_fork
253
+ return ptrack_bits_for_fork
254
254
255
255
def check_ptrack_sanity (self ,idx_dict ):
256
256
success = True
@@ -284,7 +284,7 @@ def check_ptrack_sanity(self, idx_dict):
284
284
PageNum ,idx_dict ['type' ],idx_dict ['ptrack' ][PageNum ])
285
285
print idx_dict
286
286
if PageNum == 0 and idx_dict ['type' ]== 'spgist' :
287
- print 'SPGIST is a specialshowflake , so don`tfreat about losing ptrack for blknum 0'
287
+ print 'SPGIST is a specialsnowflake , so don`tfret about losing ptrack for blknum 0'
288
288
continue
289
289
success = False
290
290
else :
@@ -468,19 +468,26 @@ def delete_pb(self, node, id=None, options=[]):
468
468
# print(cmd_list)
469
469
return self .run_pb (cmd_list + options )
470
470
471
- def retention_purge_pb (self ,node ,options = []):
471
+ def delete_expired (self ,node ,options = []):
472
472
cmd_list = [
473
- "retention " ,"purge " ,
473
+ "delete " ,"--expired " ,
474
474
"-B" ,self .backup_dir (node ),
475
475
]
476
476
return self .run_pb (cmd_list + options )
477
477
478
- def retention_show (self ,node ,options = []):
478
+ def show_config (self ,node ):
479
+ out_dict = {}
479
480
cmd_list = [
480
- "config" ,
481
+ "show- config" ,
481
482
"-B" ,self .backup_dir (node ),
482
483
]
483
- return self .run_pb (cmd_list + options )
484
+ res = self .run_pb (cmd_list ).splitlines ()
485
+ for line in res :
486
+ if not line .startswith ('#' ):
487
+ name ,var = line .partition (" = " )[::2 ]
488
+ out_dict [name ]= var
489
+ return out_dict
490
+
484
491
485
492
def get_recovery_conf (self ,node ):
486
493
out_dict = {}