@@ -22,8 +22,7 @@ def test_basic_merge_full_page(self):
22
22
# Initialize instance and backup directory
23
23
node = self .make_simple_node (
24
24
base_dir = os .path .join (module_name , fname , 'node' ),
25
- initdb_params = ["--data-checksums" ]
26
- )
25
+ initdb_params = ["--data-checksums" ])
27
26
28
27
self .init_pb (backup_dir )
29
28
self .add_instance (backup_dir , "node" , node )
@@ -1981,8 +1980,7 @@ def test_merge_backup_from_future(self):
1981
1980
base_dir = os .path .join (module_name , fname , 'node' ),
1982
1981
set_replication = True ,
1983
1982
initdb_params = ['--data-checksums' ],
1984
- pg_options = {
1985
- 'autovacuum' : 'off' })
1983
+ pg_options = {'autovacuum' : 'off' })
1986
1984
1987
1985
backup_dir = os .path .join (self .tmp_path , module_name , fname , 'backup' )
1988
1986
self .init_pb (backup_dir )
@@ -2384,5 +2382,60 @@ def test_idempotent_merge(self):
2384
2382
2385
2383
self .del_test_dir (module_name , fname )
2386
2384
2385
+ def test_merge_correct_inheritance (self ):
2386
+ """
2387
+ Make sure that backup metainformation fields
2388
+ 'note' and 'expire-time' are correctly inherited
2389
+ during merge
2390
+ """
2391
+ fname = self .id ().split ('.' )[3 ]
2392
+ backup_dir = os .path .join (self .tmp_path , module_name , fname , 'backup' )
2393
+ node = self .make_simple_node (
2394
+ base_dir = os .path .join (module_name , fname , 'node' ),
2395
+ set_replication = True ,
2396
+ initdb_params = ['--data-checksums' ],
2397
+ pg_options = {'autovacuum' : 'off' })
2398
+
2399
+ self .init_pb (backup_dir )
2400
+ self .add_instance (backup_dir , 'node' , node )
2401
+ self .set_archiving (backup_dir , 'node' , node )
2402
+ node .slow_start ()
2403
+
2404
+ # add database
2405
+ node .safe_psql (
2406
+ 'postgres' ,
2407
+ 'CREATE DATABASE testdb' )
2408
+
2409
+ # take FULL backup
2410
+ self .backup_node (backup_dir , 'node' , node , options = ['--stream' ])
2411
+
2412
+ # create database
2413
+ node .safe_psql (
2414
+ 'postgres' ,
2415
+ 'create DATABASE testdb1' )
2416
+
2417
+ # take PAGE backup
2418
+ page_id = self .backup_node (
2419
+ backup_dir , 'node' , node , backup_type = 'page' )
2420
+
2421
+ self .set_backup (
2422
+ backup_dir , 'node' , page_id , options = ['--note=hello' , '--ttl=20d' ])
2423
+
2424
+ page_meta = self .show_pb (backup_dir , 'node' , page_id )
2425
+
2426
+ self .merge_backup (backup_dir , 'node' , page_id )
2427
+
2428
+ print (self .show_pb (backup_dir , 'node' , page_id ))
2429
+
2430
+ self .assertEqual (
2431
+ page_meta ['note' ],
2432
+ self .show_pb (backup_dir , 'node' , page_id )['note' ])
2433
+
2434
+ self .assertEqual (
2435
+ page_meta ['expire-time' ],
2436
+ self .show_pb (backup_dir , 'node' , page_id )['expire-time' ])
2437
+
2438
+ self .del_test_dir (module_name , fname )
2439
+
2387
2440
# 1. Need new test with corrupted FULL backup
2388
2441
# 2. different compression levels
0 commit comments