Show firebird.log [FOUND messages for interval when this test was running]
Jump to: output_first_mismatch    outcomes_full_history    elapsed_time_chart
Show cross-report outcomes.

Annotation type Annotation details
2 @message
assert   
    checked_mode: table, checked_DML upd, iter 0, number of added rows: 10
    checked_mode: table, checked_DML upd, iter 0, worker STDLOG: Records affected: 12
    checked_mode: table, checked_DML upd, iter 0, worker STDLOG: ID
    checked_mode: table, checked_DML upd, iter 0, worker STDLOG:
    checked_mode: table, checked_DML upd, iter 0, worker STDLOG: -1200
    checked_mode: table, checked_DML upd, iter 0, worker STDLOG: -1100
    checked_mode: table, checked_DML upd, iter 0, worker STDLOG: -1000
    checked_mode: table, checked_DML upd, iter 0, worker STDLOG: -900
    checked_mode: table, checked_DML upd, iter 0, worker STDLOG: -800
    checked_mode: table, checked_DML upd, iter 0, worker STDLOG: -700
    checked_mode: table, checked_DML upd, iter 0, worker STDLOG: -600
    checked_mode: table, checked_DML upd, iter 0, worker STDLOG: -500
    checked_mode: table, checked_DML upd, iter 0, worker STDLOG: -400
    checked_mode: table, checked_DML upd, iter 0, worker STDLOG: -300
    checked_mode: table, checked_DML upd, iter 0, worker STDLOG: 100
    checked_mode: table, checked_DML upd, iter 0, worker STDLOG: 200
    checked_mode: table, checked_DML upd, iter 0, worker STDLOG: Records affected: 12
    checked_mode: table, checked_DML upd, iter 0, worker STDLOG: OLD_ID OP SNAP_NO_RANK
    checked_mode: table, checked_DML upd, iter 0, worker STDLOG:
  - checked_mode: table, checked_DML upd, iter 0, worker STDLOG: 2 UPD 1
  + checked_mode: table, checked_DML upd, iter 0, worker STDLOG: 2UPD 1
  - checked_mode: table, checked_DML upd, iter 0, worker STDLOG: 2 UPD 2
  + checked_mode: table, checked_DML upd, iter 0, worker STDLOG: 2UPD 2
  - checked_mode: table, checked_DML upd, iter 0, worker STDLOG: 1 UPD 2
  + checked_mode: table, checked_DML upd, iter 0, worker STDLOG: 1UPD 2
  - checked_mode: table, checked_DML upd, iter 0, worker STDLOG: 2 UPD 3
  + checked_mode: table, checked_DML upd, iter 0, worker STDLOG: 2UPD 3
  - checked_mode: table, checked_DML upd, iter 0, worker STDLOG: 1 UPD 3
  + checked_mode: table, checked_DML upd, iter 0, worker STDLOG: 1UPD 3
  - checked_mode: table, checked_DML upd, iter 0, worker STDLOG: 2 UPD 4
  + checked_mode: table, checked_DML upd, iter 0, worker STDLOG: 2UPD 4
  - checked_mode: table, checked_DML upd, iter 0, worker STDLOG: 1 UPD 4
  + checked_mode: table, checked_DML upd, iter 0, worker STDLOG: 1UPD 4
  - checked_mode: table, checked_DML upd, iter 0, worker STDLOG: 2 UPD 5
  + checked_mode: table, checked_DML upd, iter 0, worker STDLOG: 2UPD 5
  - checked_mode: table, checked_DML upd, iter 0, worker STDLOG: 1 UPD 5
  + checked_mode: table, checked_DML upd, iter 0, worker STDLOG: 1UPD 5
  - checked_mode: table, checked_DML upd, iter 0, worker STDLOG: 2 UPD 6
  + checked_mode: table, checked_DML upd, iter 0, worker STDLOG: 2UPD 6
  - checked_mode: table, checked_DML upd, iter 0, worker STDLOG: 1 UPD 6
  + checked_mode: table, checked_DML upd, iter 0, worker STDLOG: 1UPD 6
  - checked_mode: table, checked_DML upd, iter 0, worker STDLOG: 2 UPD 7
  + checked_mode: table, checked_DML upd, iter 0, worker STDLOG: 2UPD 7
  - checked_mode: table, checked_DML upd, iter 0, worker STDLOG: 1 UPD 7
  + checked_mode: table, checked_DML upd, iter 0, worker STDLOG: 1UPD 7
  - checked_mode: table, checked_DML upd, iter 0, worker STDLOG: 2 UPD 8
  + checked_mode: table, checked_DML upd, iter 0, worker STDLOG: 2UPD 8
  - checked_mode: table, checked_DML upd, iter 0, worker STDLOG: 1 UPD 8
  + checked_mode: table, checked_DML upd, iter 0, worker STDLOG: 1UPD 8
  - checked_mode: table, checked_DML upd, iter 0, worker STDLOG: 2 UPD 9
  + checked_mode: table, checked_DML upd, iter 0, worker STDLOG: 2UPD 9
  - checked_mode: table, checked_DML upd, iter 0, worker STDLOG: 1 UPD 9
  + checked_mode: table, checked_DML upd, iter 0, worker STDLOG: 1UPD 9
  - checked_mode: table, checked_DML upd, iter 0, worker STDLOG: 2 UPD 10
  + checked_mode: table, checked_DML upd, iter 0, worker STDLOG: 2UPD 10
  - checked_mode: table, checked_DML upd, iter 0, worker STDLOG: 1 UPD 10
  + checked_mode: table, checked_DML upd, iter 0, worker STDLOG: 1UPD 10
  - checked_mode: table, checked_DML upd, iter 0, worker STDLOG: 2 UPD 11
  + checked_mode: table, checked_DML upd, iter 0, worker STDLOG: 2UPD 11
  - checked_mode: table, checked_DML upd, iter 0, worker STDLOG: 1 UPD 11
  + checked_mode: table, checked_DML upd, iter 0, worker STDLOG: 1UPD 11
  - checked_mode: table, checked_DML upd, iter 0, worker STDLOG: -3 UPD 11
  + checked_mode: table, checked_DML upd, iter 0, worker STDLOG: -3UPD 11
  - checked_mode: table, checked_DML upd, iter 0, worker STDLOG: -4 UPD 11
  + checked_mode: table, checked_DML upd, iter 0, worker STDLOG: -4UPD 11
  - checked_mode: table, checked_DML upd, iter 0, worker STDLOG: -5 UPD 11
  + checked_mode: table, checked_DML upd, iter 0, worker STDLOG: -5UPD 11
  - checked_mode: table, checked_DML upd, iter 0, worker STDLOG: -6 UPD 11
  + checked_mode: table, checked_DML upd, iter 0, worker STDLOG: -6UPD 11
  - checked_mode: table, checked_DML upd, iter 0, worker STDLOG: -7 UPD 11
  + checked_mode: table, checked_DML upd, iter 0, worker STDLOG: -7UPD 11
  - checked_mode: table, checked_DML upd, iter 0, worker STDLOG: -8 UPD 11
  + checked_mode: table, checked_DML upd, iter 0, worker STDLOG: -8UPD 11
  - checked_mode: table, checked_DML upd, iter 0, worker STDLOG: -9 UPD 11
  + checked_mode: table, checked_DML upd, iter 0, worker STDLOG: -9UPD 11
  - checked_mode: table, checked_DML upd, iter 0, worker STDLOG: -10 UPD 11
  + checked_mode: table, checked_DML upd, iter 0, worker STDLOG: -10UPD 11
  - checked_mode: table, checked_DML upd, iter 0, worker STDLOG: -11 UPD 11
  + checked_mode: table, checked_DML upd, iter 0, worker STDLOG: -11UPD 11
  - checked_mode: table, checked_DML upd, iter 0, worker STDLOG: -12 UPD 11
  + checked_mode: table, checked_DML upd, iter 0, worker STDLOG: -12UPD 11
    checked_mode: table, checked_DML upd, iter 0, worker STDLOG: Records affected: 31

LOG DETAILS:

2025-07-02 06:07:31.647
2025-07-02 06:07:31.655 act = <firebird.qa.plugin.Action object at [hex]>
2025-07-02 06:07:31.662 fn_worker_sql = PosixPath('/var/tmp/qa_2024/test_12476/tmp_worker.sql')
2025-07-02 06:07:31.671 fn_worker_log = PosixPath('/var/tmp/qa_2024/test_12476/tmp_worker.log')
2025-07-02 06:07:31.683 fn_worker_err = PosixPath('/var/tmp/qa_2024/test_12476/tmp_worker.err')
2025-07-02 06:07:31.693 capsys = <_pytest.capture.CaptureFixture object at [hex]>
2025-07-02 06:07:31.700
2025-07-02 06:07:31.706 @pytest.mark.trace
2025-07-02 06:07:31.714 @pytest.mark.version('>=4.0.2')
2025-07-02 06:07:31.725 def test_1(act: Action, fn_worker_sql: Path, fn_worker_log: Path, fn_worker_err: Path, capsys):
2025-07-02 06:07:31.737
2025-07-02 06:07:31.744 sql_init = (act.files_dir / 'read-consist-sttm-restart-DDL.sql').read_text()
2025-07-02 06:07:31.751
2025-07-02 06:07:31.759 for checked_mode in('table', 'view'):
2025-07-02 06:07:31.765 target_obj = 'test' if checked_mode == 'table' else 'v_test'
2025-07-02 06:07:31.771
2025-07-02 06:07:31.778 # NB: for 'lok' can not be used with a VIEW, error: "336397326 : WITH LOCK can be used only with a single physical table"
2025-07-02 06:07:31.786 for checked_DML in ('upd', 'mer', 'del', 'lok') if checked_mode == 'table' else ('upd', 'mer', 'del'):
2025-07-02 06:07:31.797
2025-07-02 06:07:31.807 ###################################################################################################################
2025-07-02 06:07:31.814 ### !!! NB !!! DO NOT SPLIT QUERIES ONTO MULTIPLE LINES OTHERWISE CHECK OF TRACE CONTENT WILL FAIL (SEE BELOW)  ###
2025-07-02 06:07:31.820 ###################################################################################################################
2025-07-02 06:07:31.827 if checked_DML == 'upd':
2025-07-02 06:07:31.840 SQL_TO_BE_RESTARTED = f'update /* {SQL_TAG_THAT_WE_WAITING_FOR} */ {target_obj} set id = id * 100 where id <= 2 order by id DESC'
2025-07-02 06:07:31.853 elif checked_DML == 'mer':
2025-07-02 06:07:31.865 SQL_TO_BE_RESTARTED = f'merge /* {SQL_TAG_THAT_WE_WAITING_FOR} */ into {target_obj} t using (select x.id from {target_obj} x where x.id <= 2 order by id DESC) s on t.id = s.id when matched then update set t.id = s.id * 100'
2025-07-02 06:07:31.875 elif checked_DML == 'del':
2025-07-02 06:07:31.887 SQL_TO_BE_RESTARTED = f'delete /* {SQL_TAG_THAT_WE_WAITING_FOR} */ from {target_obj} where id <= 2 order by id DESC'
2025-07-02 06:07:31.897 elif checked_DML == 'lok':
2025-07-02 06:07:31.907 # ::: NB :::
2025-07-02 06:07:31.919 # We must SUPRESS sending record to client for SELECT WITH LOCK, otherwise error
2025-07-02 06:07:31.930 # deadlock/update conflist will raise immediately! Because of this, we  enclose
2025-07-02 06:07:31.942 # such select into execute block which returns nothing:
2025-07-02 06:07:31.954 #
2025-07-02 06:07:31.967 SQL_TO_BE_RESTARTED = f'execute block /* {SQL_TAG_THAT_WE_WAITING_FOR} */ as declare c int; begin for select id from {target_obj} where id<=2 order by id DESC with lock into c do begin end end'
2025-07-02 06:07:31.976
2025-07-02 06:07:31.985 for main_iter in (0,1):
2025-07-02 06:07:31.992
2025-07-02 06:07:32.000 ###################################################################################
2025-07-02 06:07:32.007 ###  H O W    M A N Y    R E S T A R T S    W E    W A N T    T O    C H E C K  ###
2025-07-02 06:07:32.013 ###################################################################################
2025-07-02 06:07:32.018 ROWS_TO_ADD = 10 + 1 * main_iter
2025-07-02 06:07:32.025
2025-07-02 06:07:32.031 # Add either 12 or 14 rows, ID = 1,2, ..., 2+ROWS_TO_ADD:
2025-07-02 06:07:32.038 sql_addi = f'''
2025-07-02 06:07:32.045 set term ^;
2025-07-02 06:07:32.051 execute block as
2025-07-02 06:07:32.058 begin
2025-07-02 06:07:32.069 rdb$set_context('USER_SESSION', 'WHO', 'INIT_DATA');
2025-07-02 06:07:32.080 end
2025-07-02 06:07:32.088 ^
2025-07-02 06:07:32.097 set term ;^
2025-07-02 06:07:32.112 insert into {target_obj}(id, x) select row_number()over(),row_number()over() from rdb$types rows (2 + {ROWS_TO_ADD}); -- <<< INITIAL DATA
2025-07-02 06:07:32.122 commit;
2025-07-02 06:07:32.129 '''
2025-07-02 06:07:32.136
2025-07-02 06:07:32.143 act.isql(switches=['-q'], input = ''.join( (sql_init, sql_addi) ) )
2025-07-02 06:07:32.148 # ::: NOTE ::: We have to immediately quit if any error raised in prepare phase.
2025-07-02 06:07:32.152 # See also letter from dimitr, 01-feb-2022 14:46
2025-07-02 06:07:32.158 assert act.stderr == ''
2025-07-02 06:07:32.164 act.reset()
2025-07-02 06:07:32.170
2025-07-02 06:07:32.178 # Get Firebird log before test
2025-07-02 06:07:32.190 fb_log_init = act.get_firebird_log()
2025-07-02 06:07:32.199
2025-07-02 06:07:32.208 trace_cfg_items = [
2025-07-02 06:07:32.215 'time_threshold = 0',
2025-07-02 06:07:32.222 'log_errors = true',
2025-07-02 06:07:32.229 'log_statement_start = true',
2025-07-02 06:07:32.237 'log_statement_finish = true',
2025-07-02 06:07:32.243 ]
2025-07-02 06:07:32.249
2025-07-02 06:07:32.257 with act.trace(db_events = trace_cfg_items, encoding=locale.getpreferredencoding()):
2025-07-02 06:07:32.262
2025-07-02 06:07:32.269 with act.db.connect() as con_lock_1, act.db.connect() as con_lock_2, act.db.connect() as con_monitoring:
2025-07-02 06:07:32.276
2025-07-02 06:07:32.283 tpb_monitoring = tpb(isolation=Isolation.READ_COMMITTED_RECORD_VERSION, lock_timeout=0)
2025-07-02 06:07:32.290 tx_monitoring = con_monitoring.transaction_manager(tpb_monitoring)
2025-07-02 06:07:32.296 cur_monitoring = tx_monitoring.cursor()
2025-07-02 06:07:32.304
2025-07-02 06:07:32.310 locked_rows_map ={} # K = 0 or 1 (locker_1 and locker_2 respectively); V = ID of locked row
2025-07-02 06:07:32.317
2025-07-02 06:07:32.324 for i,c in enumerate((con_lock_1,con_lock_2)):
2025-07-02 06:07:32.331 sttm = f"execute block as begin rdb$set_context('USER_SESSION', 'WHO', 'LOCKER #{i+1}'); end"
2025-07-02 06:07:32.344 c.execute_immediate(sttm)
2025-07-02 06:07:32.355
2025-07-02 06:07:32.366 con_monitoring.execute_immediate("execute block as begin rdb$set_context('USER_SESSION', 'WHO', 'MONITOR'); end")
2025-07-02 06:07:32.374
2025-07-02 06:07:32.384 #########################
2025-07-02 06:07:32.398 ###  L O C K E R - 1  ###
2025-07-02 06:07:32.407 #########################
2025-07-02 06:07:32.414 locked_rows_map[ 1 ] = 1
2025-07-02 06:07:32.423 con_lock_1.execute_immediate( f'update {target_obj} set id=id where id = {locked_rows_map[1]} /* locker-1 */' )
2025-07-02 06:07:32.429
2025-07-02 06:07:32.436 # Run UPDATE | DELETE | MERGE | SELECT WITH LOCK  -- see {SQL_TO_BE_RESTARTED}
2025-07-02 06:07:32.442 # Every statement ends with 'ORDER BY ID DESC' and must hang because of lockes:
2025-07-02 06:07:32.450
2025-07-02 06:07:32.457 worker_sql = f'''
2025-07-02 06:07:32.464 set list on;
2025-07-02 06:07:32.470 set autoddl off;
2025-07-02 06:07:32.476 set term ^;
2025-07-02 06:07:32.483 execute block as
2025-07-02 06:07:32.491 begin
2025-07-02 06:07:32.504 rdb$set_context('USER_SESSION','WHO', 'WORKER');
2025-07-02 06:07:32.516 end
2025-07-02 06:07:32.525 ^
2025-07-02 06:07:32.532 set term ;^
2025-07-02 06:07:32.538 commit;
2025-07-02 06:07:32.543 SET KEEP_TRAN_PARAMS ON;
2025-07-02 06:07:32.550 set transaction read committed read consistency;
2025-07-02 06:07:32.556 set list off;
2025-07-02 06:07:32.563 set wng off;
2025-07-02 06:07:32.572
2025-07-02 06:07:32.581 set count on;
2025-07-02 06:07:32.588 set term ^;
2025-07-02 06:07:32.600 {SQL_TO_BE_RESTARTED}
2025-07-02 06:07:32.614 ^
2025-07-02 06:07:32.627 set term ;^
2025-07-02 06:07:32.641
2025-07-02 06:07:32.652 -- check results:
2025-07-02 06:07:32.660 -- ###############
2025-07-02 06:07:32.665 --set echo on;
2025-07-02 06:07:32.671 select id from {target_obj} order by id;
2025-07-02 06:07:32.675
2025-07-02 06:07:32.680 select v.old_id, v.op, v.snap_no_rank
2025-07-02 06:07:32.685 from v_worker_log v
2025-07-02 06:07:32.692 where v.op = iif( '{checked_DML}' = 'mer', 'upd', '{checked_DML}'); -- 'UPD' or 'DEL'; for 'SELECT WITH LOCK' no records will be in v_worker_log.
2025-07-02 06:07:32.698 --set echo off;
2025-07-02 06:07:32.704
2025-07-02 06:07:32.711 --set width who 10;
2025-07-02 06:07:32.721 -- DO NOT check this! Values can differ here from one run to another!
2025-07-02 06:07:32.730 -- select id, trn, who, old_id, new_id, op, rec_vers, global_cn, snap_no from tlog_done order by id;
2025-07-02 06:07:32.741 rollback;
2025-07-02 06:07:32.751
2025-07-02 06:07:32.760 '''
2025-07-02 06:07:32.768
2025-07-02 06:07:32.775 fn_worker_sql.write_text(worker_sql)
2025-07-02 06:07:32.781
2025-07-02 06:07:32.787 with fn_worker_log.open(mode='w') as hang_out, fn_worker_err.open(mode='w') as hang_err:
2025-07-02 06:07:32.795
2025-07-02 06:07:32.805 ############################################################################
2025-07-02 06:07:32.814 ###  L A U N C H     W O R K E R    U S I N G     I S Q L,   A S Y N C.  ###
2025-07-02 06:07:32.822 ############################################################################
2025-07-02 06:07:32.833 p_worker = subprocess.Popen([act.vars['isql'], '-i', str(fn_worker_sql),
2025-07-02 06:07:32.843 '-user', act.db.user,
2025-07-02 06:07:32.851 '-password', act.db.password,
2025-07-02 06:07:32.860 '-pag', '999999',
2025-07-02 06:07:32.868 act.db.dsn
2025-07-02 06:07:32.875 ],
2025-07-02 06:07:32.881 stdout = hang_out,
2025-07-02 06:07:32.887 stderr = hang_err
2025-07-02 06:07:32.895 )
2025-07-02 06:07:32.903
2025-07-02 06:07:32.911 # update ... set id = id * 100 where id <= 2 order by id DESC
2025-07-02 06:07:32.920
2025-07-02 06:07:32.930 # NB: when ISQL will establish attach, first record that it must lock is ID = 2 -- see above SQL_TO_BE_RESTARTED
2025-07-02 06:07:32.943 # We must to ensure that this (worker) attachment has been really created and LOCKS this record:
2025-07-02 06:07:32.955 #
2025-07-02 06:07:32.966 wait_for_record_become_locked(tx_monitoring, cur_monitoring, f'update {target_obj} set /* monitor-ini */ id=id where id=2', SQL_TAG_THAT_WE_WAITING_FOR)
2025-07-02 06:07:32.975
2025-07-02 06:07:32.986 cur_lock_1 = con_lock_1.cursor()
2025-07-02 06:07:32.996 cur_lock_2 = con_lock_2.cursor()
2025-07-02 06:07:33.009 sttm = f'update {target_obj} set id = ? where abs( id ) = ?'
2025-07-02 06:07:33.018
2025-07-02 06:07:33.027 for i in range(0,ROWS_TO_ADD):
2025-07-02 06:07:33.034 v_id = 2 + ROWS_TO_ADD-i
2025-07-02 06:07:33.041 if i % 2 == 0:
2025-07-02 06:07:33.049 # main_iter = 0: ROWS_TO_ADD = 10 ==> v_id = 2+10-0 = 12, 2+10-2 = 10, 2+10-4 =  8, 6, 4, 2
2025-07-02 06:07:33.060 # main_iter = 1: ROWS_TO_ADD = 12 ==> v_id = 2+12-0 = 14, 2+10-2 = 12, 2+10-4 = 10, 8, 6, 4
2025-07-02 06:07:33.069 locked_rows_map[ i % 2 ] = -abs( v_id )
2025-07-02 06:07:33.076 cur_lock_2.execute( sttm + f"/* locker-2 lup, ini-upd, i = {i} */", ( -abs( v_id ), v_id, ) )
2025-07-02 06:07:33.083 con_lock_2.commit()
2025-07-02 06:07:33.090 cur_lock_2.execute( sttm + f"/* locker-2 lup, re-upd, i = {i} */", ( -abs( v_id ), v_id, ) )
2025-07-02 06:07:33.100 con_lock_1.commit() # releases ID = locked_rows_map[ 0 ]
2025-07-02 06:07:33.110 else:
2025-07-02 06:07:33.117 # main_iter = 0: ROWS_TO_ADD = 10 ==> v_id = 2+10-1 = 11, 2+10-3 =  9, 2+10-5 =  7, 5, 3, 1
2025-07-02 06:07:33.129 # main_iter = 1: ROWS_TO_ADD = 12 ==> v_id = 2+12-1 = 13, 2+10-3 = 11, 2+10-5 =  9, 7, 5, 3
2025-07-02 06:07:33.139 locked_rows_map[ i % 2 ] = -abs( v_id )
2025-07-02 06:07:33.147 cur_lock_1.execute( sttm + f"/* locker-1 lup, ini-upd, i = {i} */", ( -abs( v_id ), v_id, ) )
2025-07-02 06:07:33.155 con_lock_1.commit()
2025-07-02 06:07:33.162 cur_lock_1.execute( sttm + f"/* locker-1 lup, re-upd, i = {i} */", ( -abs( v_id ), v_id, ) )
2025-07-02 06:07:33.168 con_lock_2.commit() # releases ID = locked_rows_map[ 1 ]
2025-07-02 06:07:33.173
2025-07-02 06:07:33.181 # NB: when ISQL will establish attach, first record that it must lock is ID = 2 -- see above SQL_TO_BE_RESTARTED
2025-07-02 06:07:33.187 # We must to ensure that this (worker) attachment has been really created and LOCKS this record:
2025-07-02 06:07:33.192 #
2025-07-02 06:07:33.198 wait_for_record_become_locked(tx_monitoring, cur_monitoring, f'update {target_obj} /* monitor lup, i={i} */ set id=id where id = {locked_rows_map[ 1 - (i % 2) ]}', SQL_TAG_THAT_WE_WAITING_FOR)
2025-07-02 06:07:33.203
2025-07-02 06:07:33.209 cur_monitoring.execute(f'select count(*) from {target_obj}')
2025-07-02 06:07:33.215 for r in cur_monitoring:
2025-07-02 06:07:33.228 target_obj_cnt = r[0]
2025-07-02 06:07:33.235 #target_obj_cnt = cur_monitoring.fetchall()[0]
2025-07-02 06:07:33.242
2025-07-02 06:07:33.253 if ROWS_TO_ADD % 2 == 0:
2025-07-02 06:07:33.266 if con_lock_2.is_active():
2025-07-02 06:07:33.274 con_lock_2.commit()
2025-07-02 06:07:33.284 con_lock_1.commit()
2025-07-02 06:07:33.295 else:
2025-07-02 06:07:33.307 if con_lock_1.is_active():
2025-07-02 06:07:33.314 con_lock_1.commit()
2025-07-02 06:07:33.321 con_lock_2.commit()
2025-07-02 06:07:33.328
2025-07-02 06:07:33.334 # Here we wait for ISQL complete its mission:
2025-07-02 06:07:33.341 p_worker.wait()
2025-07-02 06:07:33.346
2025-07-02 06:07:33.353 #< with ... con_lock_1, ... con_lock_2
2025-07-02 06:07:33.359
2025-07-02 06:07:33.373
2025-07-02 06:07:33.384
2025-07-02 06:07:33.392 #####################################################
2025-07-02 06:07:33.399 ###  check content of 'TEST' and 'TLOG*' tables  ###
2025-07-02 06:07:33.404 #####################################################
2025-07-02 06:07:33.410
2025-07-02 06:07:33.418 print( f'checked_mode: {checked_mode}, checked_DML = {checked_DML}, iter = {main_iter}, number of added rows: {ROWS_TO_ADD}' )
2025-07-02 06:07:33.424
2025-07-02 06:07:33.435 for g in (fn_worker_log, fn_worker_err):
2025-07-02 06:07:33.447 logname = 'STDLOG' if g == fn_worker_log else 'STDERR'
2025-07-02 06:07:33.456 with g.open() as f:
2025-07-02 06:07:33.471 for line in f:
2025-07-02 06:07:33.482 if line.strip():
2025-07-02 06:07:33.491 print( f'checked_mode: {checked_mode}, checked_DML = {checked_DML}, iter = {main_iter}, worker {logname}: {line}'  )
2025-07-02 06:07:33.498
2025-07-02 06:07:33.506 expected_stdout_worker = f"""
2025-07-02 06:07:33.513 """
2025-07-02 06:07:33.520 if main_iter == 0:
2025-07-02 06:07:33.526 if checked_DML in ('upd', 'mer'):
2025-07-02 06:07:33.534 expected_stdout_worker = f"""
2025-07-02 06:07:33.542 checked_mode: {checked_mode}, checked_DML = {checked_DML}, iter = 0, number of added rows: 10
2025-07-02 06:07:33.550 checked_mode: {checked_mode}, checked_DML = {checked_DML}, iter = 0, worker STDLOG: Records affected: 12
2025-07-02 06:07:33.559 checked_mode: {checked_mode}, checked_DML = {checked_DML}, iter = 0, worker STDLOG:      ID
2025-07-02 06:07:33.567 checked_mode: {checked_mode}, checked_DML = {checked_DML}, iter = 0, worker STDLOG: =======
2025-07-02 06:07:33.574 checked_mode: {checked_mode}, checked_DML = {checked_DML}, iter = 0, worker STDLOG:   -1200
2025-07-02 06:07:33.581 checked_mode: {checked_mode}, checked_DML = {checked_DML}, iter = 0, worker STDLOG:   -1100
2025-07-02 06:07:33.590 checked_mode: {checked_mode}, checked_DML = {checked_DML}, iter = 0, worker STDLOG:   -1000
2025-07-02 06:07:33.599 checked_mode: {checked_mode}, checked_DML = {checked_DML}, iter = 0, worker STDLOG:    -900
2025-07-02 06:07:33.612 checked_mode: {checked_mode}, checked_DML = {checked_DML}, iter = 0, worker STDLOG:    -800
2025-07-02 06:07:33.622 checked_mode: {checked_mode}, checked_DML = {checked_DML}, iter = 0, worker STDLOG:    -700
2025-07-02 06:07:33.629 checked_mode: {checked_mode}, checked_DML = {checked_DML}, iter = 0, worker STDLOG:    -600
2025-07-02 06:07:33.637 checked_mode: {checked_mode}, checked_DML = {checked_DML}, iter = 0, worker STDLOG:    -500
2025-07-02 06:07:33.644 checked_mode: {checked_mode}, checked_DML = {checked_DML}, iter = 0, worker STDLOG:    -400
2025-07-02 06:07:33.653 checked_mode: {checked_mode}, checked_DML = {checked_DML}, iter = 0, worker STDLOG:    -300
2025-07-02 06:07:33.665 checked_mode: {checked_mode}, checked_DML = {checked_DML}, iter = 0, worker STDLOG:     100
2025-07-02 06:07:33.677 checked_mode: {checked_mode}, checked_DML = {checked_DML}, iter = 0, worker STDLOG:     200
2025-07-02 06:07:33.688 checked_mode: {checked_mode}, checked_DML = {checked_DML}, iter = 0, worker STDLOG: Records affected: 12
2025-07-02 06:07:33.696 checked_mode: {checked_mode}, checked_DML = {checked_DML}, iter = 0, worker STDLOG:  OLD_ID OP              SNAP_NO_RANK
2025-07-02 06:07:33.708 checked_mode: {checked_mode}, checked_DML = {checked_DML}, iter = 0, worker STDLOG: ======= ====== =====================
2025-07-02 06:07:33.720 checked_mode: {checked_mode}, checked_DML = {checked_DML}, iter = 0, worker STDLOG:       2 UPD                        1
2025-07-02 06:07:33.734 checked_mode: {checked_mode}, checked_DML = {checked_DML}, iter = 0, worker STDLOG:       2 UPD                        2
2025-07-02 06:07:33.744 checked_mode: {checked_mode}, checked_DML = {checked_DML}, iter = 0, worker STDLOG:       1 UPD                        2
2025-07-02 06:07:33.758 checked_mode: {checked_mode}, checked_DML = {checked_DML}, iter = 0, worker STDLOG:       2 UPD                        3
2025-07-02 06:07:33.768 checked_mode: {checked_mode}, checked_DML = {checked_DML}, iter = 0, worker STDLOG:       1 UPD                        3
2025-07-02 06:07:33.774 checked_mode: {checked_mode}, checked_DML = {checked_DML}, iter = 0, worker STDLOG:       2 UPD                        4
2025-07-02 06:07:33.780 checked_mode: {checked_mode}, checked_DML = {checked_DML}, iter = 0, worker STDLOG:       1 UPD                        4
2025-07-02 06:07:33.786 checked_mode: {checked_mode}, checked_DML = {checked_DML}, iter = 0, worker STDLOG:       2 UPD                        5
2025-07-02 06:07:33.794 checked_mode: {checked_mode}, checked_DML = {checked_DML}, iter = 0, worker STDLOG:       1 UPD                        5
2025-07-02 06:07:33.804 checked_mode: {checked_mode}, checked_DML = {checked_DML}, iter = 0, worker STDLOG:       2 UPD                        6
2025-07-02 06:07:33.814 checked_mode: {checked_mode}, checked_DML = {checked_DML}, iter = 0, worker STDLOG:       1 UPD                        6
2025-07-02 06:07:33.823 checked_mode: {checked_mode}, checked_DML = {checked_DML}, iter = 0, worker STDLOG:       2 UPD                        7
2025-07-02 06:07:33.831 checked_mode: {checked_mode}, checked_DML = {checked_DML}, iter = 0, worker STDLOG:       1 UPD                        7
2025-07-02 06:07:33.841 checked_mode: {checked_mode}, checked_DML = {checked_DML}, iter = 0, worker STDLOG:       2 UPD                        8
2025-07-02 06:07:33.854 checked_mode: {checked_mode}, checked_DML = {checked_DML}, iter = 0, worker STDLOG:       1 UPD                        8
2025-07-02 06:07:33.866 checked_mode: {checked_mode}, checked_DML = {checked_DML}, iter = 0, worker STDLOG:       2 UPD                        9
2025-07-02 06:07:33.876 checked_mode: {checked_mode}, checked_DML = {checked_DML}, iter = 0, worker STDLOG:       1 UPD                        9
2025-07-02 06:07:33.884 checked_mode: {checked_mode}, checked_DML = {checked_DML}, iter = 0, worker STDLOG:       2 UPD                       10
2025-07-02 06:07:33.892 checked_mode: {checked_mode}, checked_DML = {checked_DML}, iter = 0, worker STDLOG:       1 UPD                       10
2025-07-02 06:07:33.906 checked_mode: {checked_mode}, checked_DML = {checked_DML}, iter = 0, worker STDLOG:       2 UPD                       11
2025-07-02 06:07:33.914 checked_mode: {checked_mode}, checked_DML = {checked_DML}, iter = 0, worker STDLOG:       1 UPD                       11
2025-07-02 06:07:33.921 checked_mode: {checked_mode}, checked_DML = {checked_DML}, iter = 0, worker STDLOG:      -3 UPD                       11
2025-07-02 06:07:33.931 checked_mode: {checked_mode}, checked_DML = {checked_DML}, iter = 0, worker STDLOG:      -4 UPD                       11
2025-07-02 06:07:33.939 checked_mode: {checked_mode}, checked_DML = {checked_DML}, iter = 0, worker STDLOG:      -5 UPD                       11
2025-07-02 06:07:33.949 checked_mode: {checked_mode}, checked_DML = {checked_DML}, iter = 0, worker STDLOG:      -6 UPD                       11
2025-07-02 06:07:33.961 checked_mode: {checked_mode}, checked_DML = {checked_DML}, iter = 0, worker STDLOG:      -7 UPD                       11
2025-07-02 06:07:33.971 checked_mode: {checked_mode}, checked_DML = {checked_DML}, iter = 0, worker STDLOG:      -8 UPD                       11
2025-07-02 06:07:33.980 checked_mode: {checked_mode}, checked_DML = {checked_DML}, iter = 0, worker STDLOG:      -9 UPD                       11
2025-07-02 06:07:33.995 checked_mode: {checked_mode}, checked_DML = {checked_DML}, iter = 0, worker STDLOG:     -10 UPD                       11
2025-07-02 06:07:34.004 checked_mode: {checked_mode}, checked_DML = {checked_DML}, iter = 0, worker STDLOG:     -11 UPD                       11
2025-07-02 06:07:34.013 checked_mode: {checked_mode}, checked_DML = {checked_DML}, iter = 0, worker STDLOG:     -12 UPD                       11
2025-07-02 06:07:34.019 checked_mode: {checked_mode}, checked_DML = {checked_DML}, iter = 0, worker STDLOG: Records affected: 31
2025-07-02 06:07:34.024 """
2025-07-02 06:07:34.031 elif checked_DML == 'lok':
2025-07-02 06:07:34.037 expected_stdout_worker = f"""
2025-07-02 06:07:34.044 checked_mode: {checked_mode}, checked_DML = {checked_DML}, iter = 0, number of added rows: 10
2025-07-02 06:07:34.052 checked_mode: {checked_mode}, checked_DML = {checked_DML}, iter = 0, worker STDLOG: ID
2025-07-02 06:07:34.059 checked_mode: {checked_mode}, checked_DML = {checked_DML}, iter = 0, worker STDLOG: =======
2025-07-02 06:07:34.068 checked_mode: {checked_mode}, checked_DML = {checked_DML}, iter = 0, worker STDLOG: -12
2025-07-02 06:07:34.078 checked_mode: {checked_mode}, checked_DML = {checked_DML}, iter = 0, worker STDLOG: -11
2025-07-02 06:07:34.086 checked_mode: {checked_mode}, checked_DML = {checked_DML}, iter = 0, worker STDLOG: -10
2025-07-02 06:07:34.097 checked_mode: {checked_mode}, checked_DML = {checked_DML}, iter = 0, worker STDLOG: -9
2025-07-02 06:07:34.109 checked_mode: {checked_mode}, checked_DML = {checked_DML}, iter = 0, worker STDLOG: -8
2025-07-02 06:07:34.120 checked_mode: {checked_mode}, checked_DML = {checked_DML}, iter = 0, worker STDLOG: -7
2025-07-02 06:07:34.130 checked_mode: {checked_mode}, checked_DML = {checked_DML}, iter = 0, worker STDLOG: -6
2025-07-02 06:07:34.138 checked_mode: {checked_mode}, checked_DML = {checked_DML}, iter = 0, worker STDLOG: -5
2025-07-02 06:07:34.146 checked_mode: {checked_mode}, checked_DML = {checked_DML}, iter = 0, worker STDLOG: -4
2025-07-02 06:07:34.153 checked_mode: {checked_mode}, checked_DML = {checked_DML}, iter = 0, worker STDLOG: -3
2025-07-02 06:07:34.160 checked_mode: {checked_mode}, checked_DML = {checked_DML}, iter = 0, worker STDLOG: 1
2025-07-02 06:07:34.168 checked_mode: {checked_mode}, checked_DML = {checked_DML}, iter = 0, worker STDLOG: 2
2025-07-02 06:07:34.177 checked_mode: {checked_mode}, checked_DML = {checked_DML}, iter = 0, worker STDLOG: Records affected: 12
2025-07-02 06:07:34.185 checked_mode: {checked_mode}, checked_DML = {checked_DML}, iter = 0, worker STDLOG: Records affected: 0
2025-07-02 06:07:34.192 """
2025-07-02 06:07:34.200 elif checked_DML == 'del':
2025-07-02 06:07:34.207 expected_stdout_worker = f"""
2025-07-02 06:07:34.215 checked_mode: {checked_mode}, checked_DML = del, iter = 0, number of added rows: 10
2025-07-02 06:07:34.230 checked_mode: {checked_mode}, checked_DML = del, iter = 0, worker STDLOG: Records affected: 12
2025-07-02 06:07:34.241 checked_mode: {checked_mode}, checked_DML = del, iter = 0, worker STDLOG: Records affected: 0
2025-07-02 06:07:34.254 checked_mode: {checked_mode}, checked_DML = del, iter = 0, worker STDLOG:  OLD_ID OP              SNAP_NO_RANK
2025-07-02 06:07:34.268 checked_mode: {checked_mode}, checked_DML = del, iter = 0, worker STDLOG: ======= ====== =====================
2025-07-02 06:07:34.279 checked_mode: {checked_mode}, checked_DML = del, iter = 0, worker STDLOG:       2 DEL                        1
2025-07-02 06:07:34.289 checked_mode: {checked_mode}, checked_DML = del, iter = 0, worker STDLOG:       2 DEL                        2
2025-07-02 06:07:34.300 checked_mode: {checked_mode}, checked_DML = del, iter = 0, worker STDLOG:       1 DEL                        2
2025-07-02 06:07:34.313 checked_mode: {checked_mode}, checked_DML = del, iter = 0, worker STDLOG:       2 DEL                        3
2025-07-02 06:07:34.327 checked_mode: {checked_mode}, checked_DML = del, iter = 0, worker STDLOG:       1 DEL                        3
2025-07-02 06:07:34.338 checked_mode: {checked_mode}, checked_DML = del, iter = 0, worker STDLOG:       2 DEL                        4
2025-07-02 06:07:34.347 checked_mode: {checked_mode}, checked_DML = del, iter = 0, worker STDLOG:       1 DEL                        4
2025-07-02 06:07:34.355 checked_mode: {checked_mode}, checked_DML = del, iter = 0, worker STDLOG:       2 DEL                        5
2025-07-02 06:07:34.367 checked_mode: {checked_mode}, checked_DML = del, iter = 0, worker STDLOG:       1 DEL                        5
2025-07-02 06:07:34.377 checked_mode: {checked_mode}, checked_DML = del, iter = 0, worker STDLOG:       2 DEL                        6
2025-07-02 06:07:34.391 checked_mode: {checked_mode}, checked_DML = del, iter = 0, worker STDLOG:       1 DEL                        6
2025-07-02 06:07:34.402 checked_mode: {checked_mode}, checked_DML = del, iter = 0, worker STDLOG:       2 DEL                        7
2025-07-02 06:07:34.414 checked_mode: {checked_mode}, checked_DML = del, iter = 0, worker STDLOG:       1 DEL                        7
2025-07-02 06:07:34.428 checked_mode: {checked_mode}, checked_DML = del, iter = 0, worker STDLOG:       2 DEL                        8
2025-07-02 06:07:34.444 checked_mode: {checked_mode}, checked_DML = del, iter = 0, worker STDLOG:       1 DEL                        8
2025-07-02 06:07:34.457 checked_mode: {checked_mode}, checked_DML = del, iter = 0, worker STDLOG:       2 DEL                        9
2025-07-02 06:07:34.466 checked_mode: {checked_mode}, checked_DML = del, iter = 0, worker STDLOG:       1 DEL                        9
2025-07-02 06:07:34.474 checked_mode: {checked_mode}, checked_DML = del, iter = 0, worker STDLOG:       2 DEL                       10
2025-07-02 06:07:34.482 checked_mode: {checked_mode}, checked_DML = del, iter = 0, worker STDLOG:       1 DEL                       10
2025-07-02 06:07:34.489 checked_mode: {checked_mode}, checked_DML = del, iter = 0, worker STDLOG:       2 DEL                       11
2025-07-02 06:07:34.502 checked_mode: {checked_mode}, checked_DML = del, iter = 0, worker STDLOG:       1 DEL                       11
2025-07-02 06:07:34.511 checked_mode: {checked_mode}, checked_DML = del, iter = 0, worker STDLOG:      -3 DEL                       11
2025-07-02 06:07:34.517 checked_mode: {checked_mode}, checked_DML = del, iter = 0, worker STDLOG:      -4 DEL                       11
2025-07-02 06:07:34.523 checked_mode: {checked_mode}, checked_DML = del, iter = 0, worker STDLOG:      -5 DEL                       11
2025-07-02 06:07:34.529 checked_mode: {checked_mode}, checked_DML = del, iter = 0, worker STDLOG:      -6 DEL                       11
2025-07-02 06:07:34.534 checked_mode: {checked_mode}, checked_DML = del, iter = 0, worker STDLOG:      -7 DEL                       11
2025-07-02 06:07:34.540 checked_mode: {checked_mode}, checked_DML = del, iter = 0, worker STDLOG:      -8 DEL                       11
2025-07-02 06:07:34.545 checked_mode: {checked_mode}, checked_DML = del, iter = 0, worker STDLOG:      -9 DEL                       11
2025-07-02 06:07:34.552 checked_mode: {checked_mode}, checked_DML = del, iter = 0, worker STDLOG:     -10 DEL                       11
2025-07-02 06:07:34.563 checked_mode: {checked_mode}, checked_DML = del, iter = 0, worker STDLOG:     -11 DEL                       11
2025-07-02 06:07:34.572 checked_mode: {checked_mode}, checked_DML = del, iter = 0, worker STDLOG:     -12 DEL                       11
2025-07-02 06:07:34.579 checked_mode: {checked_mode}, checked_DML = del, iter = 0, worker STDLOG: Records affected: 31
2025-07-02 06:07:34.586 """
2025-07-02 06:07:34.592 else:
2025-07-02 06:07:34.598 if checked_DML in ('upd', 'mer'):
2025-07-02 06:07:34.604 expected_stdout_worker = f"""
2025-07-02 06:07:34.611 checked_mode: {checked_mode}, checked_DML = {checked_DML}, iter = 1, number of added rows: 11
2025-07-02 06:07:34.617 checked_mode: {checked_mode}, checked_DML = {checked_DML}, iter = 1, worker STDLOG: Records affected: 2
2025-07-02 06:07:34.624 checked_mode: {checked_mode}, checked_DML = {checked_DML}, iter = 1, worker STDLOG:      ID
2025-07-02 06:07:34.637 checked_mode: {checked_mode}, checked_DML = {checked_DML}, iter = 1, worker STDLOG: =======
2025-07-02 06:07:34.648 checked_mode: {checked_mode}, checked_DML = {checked_DML}, iter = 1, worker STDLOG:     -13
2025-07-02 06:07:34.660 checked_mode: {checked_mode}, checked_DML = {checked_DML}, iter = 1, worker STDLOG:     -12
2025-07-02 06:07:34.672 checked_mode: {checked_mode}, checked_DML = {checked_DML}, iter = 1, worker STDLOG:     -11
2025-07-02 06:07:34.682 checked_mode: {checked_mode}, checked_DML = {checked_DML}, iter = 1, worker STDLOG:     -10
2025-07-02 06:07:34.696 checked_mode: {checked_mode}, checked_DML = {checked_DML}, iter = 1, worker STDLOG:      -9
2025-07-02 06:07:34.707 checked_mode: {checked_mode}, checked_DML = {checked_DML}, iter = 1, worker STDLOG:      -8
2025-07-02 06:07:34.718 checked_mode: {checked_mode}, checked_DML = {checked_DML}, iter = 1, worker STDLOG:      -7
2025-07-02 06:07:34.727 checked_mode: {checked_mode}, checked_DML = {checked_DML}, iter = 1, worker STDLOG:      -6
2025-07-02 06:07:34.739 checked_mode: {checked_mode}, checked_DML = {checked_DML}, iter = 1, worker STDLOG:      -5
2025-07-02 06:07:34.751 checked_mode: {checked_mode}, checked_DML = {checked_DML}, iter = 1, worker STDLOG:      -4
2025-07-02 06:07:34.760 checked_mode: {checked_mode}, checked_DML = {checked_DML}, iter = 1, worker STDLOG:      -3
2025-07-02 06:07:34.768 checked_mode: {checked_mode}, checked_DML = {checked_DML}, iter = 1, worker STDLOG:       1
2025-07-02 06:07:34.776 checked_mode: {checked_mode}, checked_DML = {checked_DML}, iter = 1, worker STDLOG:       2
2025-07-02 06:07:34.783 checked_mode: {checked_mode}, checked_DML = {checked_DML}, iter = 1, worker STDLOG: Records affected: 13
2025-07-02 06:07:34.799 checked_mode: {checked_mode}, checked_DML = {checked_DML}, iter = 1, worker STDLOG:  OLD_ID OP              SNAP_NO_RANK
2025-07-02 06:07:34.812 checked_mode: {checked_mode}, checked_DML = {checked_DML}, iter = 1, worker STDLOG: ======= ====== =====================
2025-07-02 06:07:34.822 checked_mode: {checked_mode}, checked_DML = {checked_DML}, iter = 1, worker STDLOG:       2 UPD                        1
2025-07-02 06:07:34.831 checked_mode: {checked_mode}, checked_DML = {checked_DML}, iter = 1, worker STDLOG:       2 UPD                        2
2025-07-02 06:07:34.844 checked_mode: {checked_mode}, checked_DML = {checked_DML}, iter = 1, worker STDLOG:       1 UPD                        2
2025-07-02 06:07:34.853 checked_mode: {checked_mode}, checked_DML = {checked_DML}, iter = 1, worker STDLOG:       2 UPD                        3
2025-07-02 06:07:34.864 checked_mode: {checked_mode}, checked_DML = {checked_DML}, iter = 1, worker STDLOG:       1 UPD                        3
2025-07-02 06:07:34.876 checked_mode: {checked_mode}, checked_DML = {checked_DML}, iter = 1, worker STDLOG:       2 UPD                        4
2025-07-02 06:07:34.885 checked_mode: {checked_mode}, checked_DML = {checked_DML}, iter = 1, worker STDLOG:       1 UPD                        4
2025-07-02 06:07:34.896 checked_mode: {checked_mode}, checked_DML = {checked_DML}, iter = 1, worker STDLOG:       2 UPD                        5
2025-07-02 06:07:34.903 checked_mode: {checked_mode}, checked_DML = {checked_DML}, iter = 1, worker STDLOG:       1 UPD                        5
2025-07-02 06:07:34.910 checked_mode: {checked_mode}, checked_DML = {checked_DML}, iter = 1, worker STDLOG:       2 UPD                        6
2025-07-02 06:07:34.917 checked_mode: {checked_mode}, checked_DML = {checked_DML}, iter = 1, worker STDLOG:       1 UPD                        6
2025-07-02 06:07:34.923 checked_mode: {checked_mode}, checked_DML = {checked_DML}, iter = 1, worker STDLOG:       2 UPD                        7
2025-07-02 06:07:34.930 checked_mode: {checked_mode}, checked_DML = {checked_DML}, iter = 1, worker STDLOG:       1 UPD                        7
2025-07-02 06:07:34.937 checked_mode: {checked_mode}, checked_DML = {checked_DML}, iter = 1, worker STDLOG:       2 UPD                        8
2025-07-02 06:07:34.944 checked_mode: {checked_mode}, checked_DML = {checked_DML}, iter = 1, worker STDLOG:       1 UPD                        8
2025-07-02 06:07:34.951 checked_mode: {checked_mode}, checked_DML = {checked_DML}, iter = 1, worker STDLOG:       2 UPD                        9
2025-07-02 06:07:34.957 checked_mode: {checked_mode}, checked_DML = {checked_DML}, iter = 1, worker STDLOG:       1 UPD                        9
2025-07-02 06:07:34.964 checked_mode: {checked_mode}, checked_DML = {checked_DML}, iter = 1, worker STDLOG:       2 UPD                       10
2025-07-02 06:07:34.975 checked_mode: {checked_mode}, checked_DML = {checked_DML}, iter = 1, worker STDLOG:       1 UPD                       10
2025-07-02 06:07:34.989 checked_mode: {checked_mode}, checked_DML = {checked_DML}, iter = 1, worker STDLOG:       2 UPD                       11
2025-07-02 06:07:35.011 checked_mode: {checked_mode}, checked_DML = {checked_DML}, iter = 1, worker STDLOG:       1 UPD                       11
2025-07-02 06:07:35.021 checked_mode: {checked_mode}, checked_DML = {checked_DML}, iter = 1, worker STDLOG: Records affected: 21
2025-07-02 06:07:35.030 checked_mode: {checked_mode}, checked_DML = {checked_DML}, iter = 1, worker STDERR: Statement failed, SQLSTATE = 40001
2025-07-02 06:07:35.038 checked_mode: {checked_mode}, checked_DML = {checked_DML}, iter = 1, worker STDERR: deadlock
2025-07-02 06:07:35.045 checked_mode: {checked_mode}, checked_DML = {checked_DML}, iter = 1, worker STDERR: -update conflicts with concurrent update
2025-07-02 06:07:35.051 concurrent transaction number is
2025-07-02 06:07:35.060 checked_mode: {checked_mode}, checked_DML = {checked_DML}, iter = 1, worker STDERR:
2025-07-02 06:07:35.071 """
2025-07-02 06:07:35.085 elif checked_DML == 'lok':
2025-07-02 06:07:35.095 expected_stdout_worker = f"""
2025-07-02 06:07:35.104 checked_mode: {checked_mode}, checked_DML = {checked_DML}, iter = 1, number of added rows: 11
2025-07-02 06:07:35.114 checked_mode: {checked_mode}, checked_DML = {checked_DML}, iter = 1, worker STDLOG: ID
2025-07-02 06:07:35.126 checked_mode: {checked_mode}, checked_DML = {checked_DML}, iter = 1, worker STDLOG: =======
2025-07-02 06:07:35.136 checked_mode: {checked_mode}, checked_DML = {checked_DML}, iter = 1, worker STDLOG: -13
2025-07-02 06:07:35.147 checked_mode: {checked_mode}, checked_DML = {checked_DML}, iter = 1, worker STDLOG: -12
2025-07-02 06:07:35.158 checked_mode: {checked_mode}, checked_DML = {checked_DML}, iter = 1, worker STDLOG: -11
2025-07-02 06:07:35.167 checked_mode: {checked_mode}, checked_DML = {checked_DML}, iter = 1, worker STDLOG: -10
2025-07-02 06:07:35.181 checked_mode: {checked_mode}, checked_DML = {checked_DML}, iter = 1, worker STDLOG: -9
2025-07-02 06:07:35.194 checked_mode: {checked_mode}, checked_DML = {checked_DML}, iter = 1, worker STDLOG: -8
2025-07-02 06:07:35.208 checked_mode: {checked_mode}, checked_DML = {checked_DML}, iter = 1, worker STDLOG: -7
2025-07-02 06:07:35.219 checked_mode: {checked_mode}, checked_DML = {checked_DML}, iter = 1, worker STDLOG: -6
2025-07-02 06:07:35.229 checked_mode: {checked_mode}, checked_DML = {checked_DML}, iter = 1, worker STDLOG: -5
2025-07-02 06:07:35.247 checked_mode: {checked_mode}, checked_DML = {checked_DML}, iter = 1, worker STDLOG: -4
2025-07-02 06:07:35.258 checked_mode: {checked_mode}, checked_DML = {checked_DML}, iter = 1, worker STDLOG: -3
2025-07-02 06:07:35.267 checked_mode: {checked_mode}, checked_DML = {checked_DML}, iter = 1, worker STDLOG: 1
2025-07-02 06:07:35.275 checked_mode: {checked_mode}, checked_DML = {checked_DML}, iter = 1, worker STDLOG: 2
2025-07-02 06:07:35.284 checked_mode: {checked_mode}, checked_DML = {checked_DML}, iter = 1, worker STDLOG: Records affected: 13
2025-07-02 06:07:35.297 checked_mode: {checked_mode}, checked_DML = {checked_DML}, iter = 1, worker STDLOG: Records affected: 0
2025-07-02 06:07:35.308 checked_mode: {checked_mode}, checked_DML = {checked_DML}, iter = 1, worker STDERR: Statement failed, SQLSTATE = 40001
2025-07-02 06:07:35.321 checked_mode: {checked_mode}, checked_DML = {checked_DML}, iter = 1, worker STDERR: deadlock
2025-07-02 06:07:35.332 checked_mode: {checked_mode}, checked_DML = {checked_DML}, iter = 1, worker STDERR: -update conflicts with concurrent update
2025-07-02 06:07:35.341 concurrent transaction number is
2025-07-02 06:07:35.349 checked_mode: {checked_mode}, checked_DML = {checked_DML}, iter = 1, worker STDERR:
2025-07-02 06:07:35.355 """
2025-07-02 06:07:35.364 elif checked_DML == 'del':
2025-07-02 06:07:35.376 expected_stdout_worker = f"""
2025-07-02 06:07:35.388 checked_mode: {checked_mode}, checked_DML = del, iter = 1, number of added rows: 11
2025-07-02 06:07:35.398 checked_mode: {checked_mode}, checked_DML = del, iter = 1, worker STDLOG: Records affected: 2
2025-07-02 06:07:35.408 checked_mode: {checked_mode}, checked_DML = del, iter = 1, worker STDLOG:      ID
2025-07-02 06:07:35.417 checked_mode: {checked_mode}, checked_DML = del, iter = 1, worker STDLOG: =======
2025-07-02 06:07:35.431 checked_mode: {checked_mode}, checked_DML = del, iter = 1, worker STDLOG:     -13
2025-07-02 06:07:35.441 checked_mode: {checked_mode}, checked_DML = del, iter = 1, worker STDLOG:     -12
2025-07-02 06:07:35.453 checked_mode: {checked_mode}, checked_DML = del, iter = 1, worker STDLOG:     -11
2025-07-02 06:07:35.465 checked_mode: {checked_mode}, checked_DML = del, iter = 1, worker STDLOG:     -10
2025-07-02 06:07:35.474 checked_mode: {checked_mode}, checked_DML = del, iter = 1, worker STDLOG:      -9
2025-07-02 06:07:35.485 checked_mode: {checked_mode}, checked_DML = del, iter = 1, worker STDLOG:      -8
2025-07-02 06:07:35.496 checked_mode: {checked_mode}, checked_DML = del, iter = 1, worker STDLOG:      -7
2025-07-02 06:07:35.509 checked_mode: {checked_mode}, checked_DML = del, iter = 1, worker STDLOG:      -6
2025-07-02 06:07:35.519 checked_mode: {checked_mode}, checked_DML = del, iter = 1, worker STDLOG:      -5
2025-07-02 06:07:35.529 checked_mode: {checked_mode}, checked_DML = del, iter = 1, worker STDLOG:      -4
2025-07-02 06:07:35.536 checked_mode: {checked_mode}, checked_DML = del, iter = 1, worker STDLOG:      -3
2025-07-02 06:07:35.544 checked_mode: {checked_mode}, checked_DML = del, iter = 1, worker STDLOG:       1
2025-07-02 06:07:35.551 checked_mode: {checked_mode}, checked_DML = del, iter = 1, worker STDLOG:       2
2025-07-02 06:07:35.558 checked_mode: {checked_mode}, checked_DML = del, iter = 1, worker STDLOG: Records affected: 13
2025-07-02 06:07:35.566 checked_mode: {checked_mode}, checked_DML = del, iter = 1, worker STDLOG:  OLD_ID OP              SNAP_NO_RANK
2025-07-02 06:07:35.573 checked_mode: {checked_mode}, checked_DML = del, iter = 1, worker STDLOG: ======= ====== =====================
2025-07-02 06:07:35.580 checked_mode: {checked_mode}, checked_DML = del, iter = 1, worker STDLOG:       2 DEL                        1
2025-07-02 06:07:35.587 checked_mode: {checked_mode}, checked_DML = del, iter = 1, worker STDLOG:       2 DEL                        2
2025-07-02 06:07:35.595 checked_mode: {checked_mode}, checked_DML = del, iter = 1, worker STDLOG:       1 DEL                        2
2025-07-02 06:07:35.607 checked_mode: {checked_mode}, checked_DML = del, iter = 1, worker STDLOG:       2 DEL                        3
2025-07-02 06:07:35.616 checked_mode: {checked_mode}, checked_DML = del, iter = 1, worker STDLOG:       1 DEL                        3
2025-07-02 06:07:35.624 checked_mode: {checked_mode}, checked_DML = del, iter = 1, worker STDLOG:       2 DEL                        4
2025-07-02 06:07:35.631 checked_mode: {checked_mode}, checked_DML = del, iter = 1, worker STDLOG:       1 DEL                        4
2025-07-02 06:07:35.638 checked_mode: {checked_mode}, checked_DML = del, iter = 1, worker STDLOG:       2 DEL                        5
2025-07-02 06:07:35.652 checked_mode: {checked_mode}, checked_DML = del, iter = 1, worker STDLOG:       1 DEL                        5
2025-07-02 06:07:35.663 checked_mode: {checked_mode}, checked_DML = del, iter = 1, worker STDLOG:       2 DEL                        6
2025-07-02 06:07:35.675 checked_mode: {checked_mode}, checked_DML = del, iter = 1, worker STDLOG:       1 DEL                        6
2025-07-02 06:07:35.690 checked_mode: {checked_mode}, checked_DML = del, iter = 1, worker STDLOG:       2 DEL                        7
2025-07-02 06:07:35.699 checked_mode: {checked_mode}, checked_DML = del, iter = 1, worker STDLOG:       1 DEL                        7
2025-07-02 06:07:35.713 checked_mode: {checked_mode}, checked_DML = del, iter = 1, worker STDLOG:       2 DEL                        8
2025-07-02 06:07:35.721 checked_mode: {checked_mode}, checked_DML = del, iter = 1, worker STDLOG:       1 DEL                        8
2025-07-02 06:07:35.728 checked_mode: {checked_mode}, checked_DML = del, iter = 1, worker STDLOG:       2 DEL                        9
2025-07-02 06:07:35.737 checked_mode: {checked_mode}, checked_DML = del, iter = 1, worker STDLOG:       1 DEL                        9
2025-07-02 06:07:35.746 checked_mode: {checked_mode}, checked_DML = del, iter = 1, worker STDLOG:       2 DEL                       10
2025-07-02 06:07:35.754 checked_mode: {checked_mode}, checked_DML = del, iter = 1, worker STDLOG:       1 DEL                       10
2025-07-02 06:07:35.763 checked_mode: {checked_mode}, checked_DML = del, iter = 1, worker STDLOG:       2 DEL                       11
2025-07-02 06:07:35.775 checked_mode: {checked_mode}, checked_DML = del, iter = 1, worker STDLOG:       1 DEL                       11
2025-07-02 06:07:35.785 checked_mode: {checked_mode}, checked_DML = del, iter = 1, worker STDLOG: Records affected: 21
2025-07-02 06:07:35.793 checked_mode: {checked_mode}, checked_DML = del, iter = 1, worker STDERR: Statement failed, SQLSTATE = 40001
2025-07-02 06:07:35.800 checked_mode: {checked_mode}, checked_DML = del, iter = 1, worker STDERR: deadlock
2025-07-02 06:07:35.807 checked_mode: {checked_mode}, checked_DML = del, iter = 1, worker STDERR: -update conflicts with concurrent update
2025-07-02 06:07:35.815 concurrent transaction number is
2025-07-02 06:07:35.828 checked_mode: {checked_mode}, checked_DML = del, iter = 1, worker STDERR:
2025-07-02 06:07:35.837 """
2025-07-02 06:07:35.844
2025-07-02 06:07:35.851 act.expected_stdout = expected_stdout_worker
2025-07-02 06:07:35.857 act.stdout = capsys.readouterr().out
2025-07-02 06:07:35.863 >                       assert act.clean_stdout == act.clean_expected_stdout
2025-07-02 06:07:35.870 E                       assert
2025-07-02 06:07:35.876 E                           checked_mode: table, checked_DML upd, iter 0, number of added rows: 10
2025-07-02 06:07:35.883 E                           checked_mode: table, checked_DML upd, iter 0, worker STDLOG: Records affected: 12
2025-07-02 06:07:35.891 E                           checked_mode: table, checked_DML upd, iter 0, worker STDLOG: ID
2025-07-02 06:07:35.904 E                           checked_mode: table, checked_DML upd, iter 0, worker STDLOG:
2025-07-02 06:07:35.917 E                           checked_mode: table, checked_DML upd, iter 0, worker STDLOG: -1200
2025-07-02 06:07:35.929 E                           checked_mode: table, checked_DML upd, iter 0, worker STDLOG: -1100
2025-07-02 06:07:35.940 E                           checked_mode: table, checked_DML upd, iter 0, worker STDLOG: -1000
2025-07-02 06:07:35.953 E                           checked_mode: table, checked_DML upd, iter 0, worker STDLOG: -900
2025-07-02 06:07:35.964 E                           checked_mode: table, checked_DML upd, iter 0, worker STDLOG: -800
2025-07-02 06:07:35.973 E                           checked_mode: table, checked_DML upd, iter 0, worker STDLOG: -700
2025-07-02 06:07:35.981 E                           checked_mode: table, checked_DML upd, iter 0, worker STDLOG: -600
2025-07-02 06:07:35.988 E                           checked_mode: table, checked_DML upd, iter 0, worker STDLOG: -500
2025-07-02 06:07:35.995 E                           checked_mode: table, checked_DML upd, iter 0, worker STDLOG: -400
2025-07-02 06:07:36.002 E                           checked_mode: table, checked_DML upd, iter 0, worker STDLOG: -300
2025-07-02 06:07:36.013 E                           checked_mode: table, checked_DML upd, iter 0, worker STDLOG: 100
2025-07-02 06:07:36.020 E                           checked_mode: table, checked_DML upd, iter 0, worker STDLOG: 200
2025-07-02 06:07:36.027 E                           checked_mode: table, checked_DML upd, iter 0, worker STDLOG: Records affected: 12
2025-07-02 06:07:36.034 E                           checked_mode: table, checked_DML upd, iter 0, worker STDLOG: OLD_ID OP SNAP_NO_RANK
2025-07-02 06:07:36.043 E                           checked_mode: table, checked_DML upd, iter 0, worker STDLOG:
2025-07-02 06:07:36.049 E                         - checked_mode: table, checked_DML upd, iter 0, worker STDLOG: 2 UPD 1
2025-07-02 06:07:36.069 E                         + checked_mode: table, checked_DML upd, iter 0, worker STDLOG: 2UPD 1
2025-07-02 06:07:36.076 E                         - checked_mode: table, checked_DML upd, iter 0, worker STDLOG: 2 UPD 2
2025-07-02 06:07:36.090 E                         + checked_mode: table, checked_DML upd, iter 0, worker STDLOG: 2UPD 2
2025-07-02 06:07:36.100 E                         - checked_mode: table, checked_DML upd, iter 0, worker STDLOG: 1 UPD 2
2025-07-02 06:07:36.119 E                         + checked_mode: table, checked_DML upd, iter 0, worker STDLOG: 1UPD 2
2025-07-02 06:07:36.127 E                         - checked_mode: table, checked_DML upd, iter 0, worker STDLOG: 2 UPD 3
2025-07-02 06:07:36.147 E                         + checked_mode: table, checked_DML upd, iter 0, worker STDLOG: 2UPD 3
2025-07-02 06:07:36.154 E                         - checked_mode: table, checked_DML upd, iter 0, worker STDLOG: 1 UPD 3
2025-07-02 06:07:36.176 E                         + checked_mode: table, checked_DML upd, iter 0, worker STDLOG: 1UPD 3
2025-07-02 06:07:36.189 E                         - checked_mode: table, checked_DML upd, iter 0, worker STDLOG: 2 UPD 4
2025-07-02 06:07:36.208 E                         + checked_mode: table, checked_DML upd, iter 0, worker STDLOG: 2UPD 4
2025-07-02 06:07:36.216 E                         - checked_mode: table, checked_DML upd, iter 0, worker STDLOG: 1 UPD 4
2025-07-02 06:07:36.231 E                         + checked_mode: table, checked_DML upd, iter 0, worker STDLOG: 1UPD 4
2025-07-02 06:07:36.242 E                         - checked_mode: table, checked_DML upd, iter 0, worker STDLOG: 2 UPD 5
2025-07-02 06:07:36.265 E                         + checked_mode: table, checked_DML upd, iter 0, worker STDLOG: 2UPD 5
2025-07-02 06:07:36.276 E                         - checked_mode: table, checked_DML upd, iter 0, worker STDLOG: 1 UPD 5
2025-07-02 06:07:36.290 E                         + checked_mode: table, checked_DML upd, iter 0, worker STDLOG: 1UPD 5
2025-07-02 06:07:36.302 E                         - checked_mode: table, checked_DML upd, iter 0, worker STDLOG: 2 UPD 6
2025-07-02 06:07:36.327 E                         + checked_mode: table, checked_DML upd, iter 0, worker STDLOG: 2UPD 6
2025-07-02 06:07:36.339 E                         - checked_mode: table, checked_DML upd, iter 0, worker STDLOG: 1 UPD 6
2025-07-02 06:07:36.361 E                         + checked_mode: table, checked_DML upd, iter 0, worker STDLOG: 1UPD 6
2025-07-02 06:07:36.371 E                         - checked_mode: table, checked_DML upd, iter 0, worker STDLOG: 2 UPD 7
2025-07-02 06:07:36.386 E                         + checked_mode: table, checked_DML upd, iter 0, worker STDLOG: 2UPD 7
2025-07-02 06:07:36.395 E                         - checked_mode: table, checked_DML upd, iter 0, worker STDLOG: 1 UPD 7
2025-07-02 06:07:36.417 E                         + checked_mode: table, checked_DML upd, iter 0, worker STDLOG: 1UPD 7
2025-07-02 06:07:36.425 E                         - checked_mode: table, checked_DML upd, iter 0, worker STDLOG: 2 UPD 8
2025-07-02 06:07:36.440 E                         + checked_mode: table, checked_DML upd, iter 0, worker STDLOG: 2UPD 8
2025-07-02 06:07:36.447 E                         - checked_mode: table, checked_DML upd, iter 0, worker STDLOG: 1 UPD 8
2025-07-02 06:07:36.468 E                         + checked_mode: table, checked_DML upd, iter 0, worker STDLOG: 1UPD 8
2025-07-02 06:07:36.479 E                         - checked_mode: table, checked_DML upd, iter 0, worker STDLOG: 2 UPD 9
2025-07-02 06:07:36.504 E                         + checked_mode: table, checked_DML upd, iter 0, worker STDLOG: 2UPD 9
2025-07-02 06:07:36.517 E                         - checked_mode: table, checked_DML upd, iter 0, worker STDLOG: 1 UPD 9
2025-07-02 06:07:36.544 E                         + checked_mode: table, checked_DML upd, iter 0, worker STDLOG: 1UPD 9
2025-07-02 06:07:36.551 E                         - checked_mode: table, checked_DML upd, iter 0, worker STDLOG: 2 UPD 10
2025-07-02 06:07:36.571 E                         + checked_mode: table, checked_DML upd, iter 0, worker STDLOG: 2UPD 10
2025-07-02 06:07:36.582 E                         - checked_mode: table, checked_DML upd, iter 0, worker STDLOG: 1 UPD 10
2025-07-02 06:07:36.597 E                         + checked_mode: table, checked_DML upd, iter 0, worker STDLOG: 1UPD 10
2025-07-02 06:07:36.602 E                         - checked_mode: table, checked_DML upd, iter 0, worker STDLOG: 2 UPD 11
2025-07-02 06:07:36.619 E                         + checked_mode: table, checked_DML upd, iter 0, worker STDLOG: 2UPD 11
2025-07-02 06:07:36.630 E                         - checked_mode: table, checked_DML upd, iter 0, worker STDLOG: 1 UPD 11
2025-07-02 06:07:36.650 E                         + checked_mode: table, checked_DML upd, iter 0, worker STDLOG: 1UPD 11
2025-07-02 06:07:36.665 E                         - checked_mode: table, checked_DML upd, iter 0, worker STDLOG: -3 UPD 11
2025-07-02 06:07:36.685 E                         + checked_mode: table, checked_DML upd, iter 0, worker STDLOG: -3UPD 11
2025-07-02 06:07:36.694 E                         - checked_mode: table, checked_DML upd, iter 0, worker STDLOG: -4 UPD 11
2025-07-02 06:07:36.710 E                         + checked_mode: table, checked_DML upd, iter 0, worker STDLOG: -4UPD 11
2025-07-02 06:07:36.720 E                         - checked_mode: table, checked_DML upd, iter 0, worker STDLOG: -5 UPD 11
2025-07-02 06:07:36.738 E                         + checked_mode: table, checked_DML upd, iter 0, worker STDLOG: -5UPD 11
2025-07-02 06:07:36.743 E                         - checked_mode: table, checked_DML upd, iter 0, worker STDLOG: -6 UPD 11
2025-07-02 06:07:36.754 E                         + checked_mode: table, checked_DML upd, iter 0, worker STDLOG: -6UPD 11
2025-07-02 06:07:36.763 E                         - checked_mode: table, checked_DML upd, iter 0, worker STDLOG: -7 UPD 11
2025-07-02 06:07:36.784 E                         + checked_mode: table, checked_DML upd, iter 0, worker STDLOG: -7UPD 11
2025-07-02 06:07:36.792 E                         - checked_mode: table, checked_DML upd, iter 0, worker STDLOG: -8 UPD 11
2025-07-02 06:07:36.803 E                         + checked_mode: table, checked_DML upd, iter 0, worker STDLOG: -8UPD 11
2025-07-02 06:07:36.809 E                         - checked_mode: table, checked_DML upd, iter 0, worker STDLOG: -9 UPD 11
2025-07-02 06:07:36.819 E                         + checked_mode: table, checked_DML upd, iter 0, worker STDLOG: -9UPD 11
2025-07-02 06:07:36.824 E                         - checked_mode: table, checked_DML upd, iter 0, worker STDLOG: -10 UPD 11
2025-07-02 06:07:36.834 E                         + checked_mode: table, checked_DML upd, iter 0, worker STDLOG: -10UPD 11
2025-07-02 06:07:36.840 E                         - checked_mode: table, checked_DML upd, iter 0, worker STDLOG: -11 UPD 11
2025-07-02 06:07:36.856 E                         + checked_mode: table, checked_DML upd, iter 0, worker STDLOG: -11UPD 11
2025-07-02 06:07:36.867 E                         - checked_mode: table, checked_DML upd, iter 0, worker STDLOG: -12 UPD 11
2025-07-02 06:07:36.890 E                         + checked_mode: table, checked_DML upd, iter 0, worker STDLOG: -12UPD 11
2025-07-02 06:07:36.897 E                           checked_mode: table, checked_DML upd, iter 0, worker STDLOG: Records affected: 31
2025-07-02 06:07:36.908
2025-07-02 06:07:36.922 tests/functional/transactions/test_read_consist_sttm_restart_max_limit.py:631: AssertionError
2025-07-02 06:07:36.934 ---------------------------- Captured stdout setup -----------------------------
2025-07-02 06:07:36.944 Creating db: localhost:/var/tmp/qa_2024/test_12476/test.fdb [page_size=None, sql_dialect=None, charset='NONE', user=SYSDBA, password=masterkey]
3 #text
act = <firebird.qa.plugin.Action pytest object at [hex]>
fn_worker_sql = PosixPath('/var/tmp/qa_2024/test_12476/tmp_worker.sql')
fn_worker_log = PosixPath('/var/tmp/qa_2024/test_12476/tmp_worker.log')
fn_worker_err = PosixPath('/var/tmp/qa_2024/test_12476/tmp_worker.err')
capsys = <_pytest.capture.CaptureFixture pytest object at [hex]>

    @pytest.mark.trace
    @pytest.mark.version('>=4.0.2')
    def test_1(act: Action, fn_worker_sql: Path, fn_worker_log: Path, fn_worker_err: Path, capsys):
    
        sql_init = (act.files_dir / 'read-consist-sttm-restart-DDL.sql').read_text()
    
        for checked_mode in('table', 'view'):
            target_obj = 'test' if checked_mode == 'table' else 'v_test'
    
            # NB: for 'lok' can not be used with a VIEW, error: "336397326 : WITH LOCK can be used only with a single physical table"
            for checked_DML in ('upd', 'mer', 'del', 'lok') if checked_mode == 'table' else ('upd', 'mer', 'del'):
    
                ###################################################################################################################
                ### !!! NB !!! DO NOT SPLIT QUERIES ONTO MULTIPLE LINES OTHERWISE CHECK OF TRACE CONTENT WILL FAIL (SEE BELOW)  ###
                ###################################################################################################################
                if checked_DML == 'upd':
                    SQL_TO_BE_RESTARTED = f'update /* {SQL_TAG_THAT_WE_WAITING_FOR} */ {target_obj} set id = id * 100 where id <= 2 order by id DESC'
                elif checked_DML == 'mer':
                    SQL_TO_BE_RESTARTED = f'merge /* {SQL_TAG_THAT_WE_WAITING_FOR} */ into {target_obj} t using (select x.id from {target_obj} x where x.id <= 2 order by id DESC) s on t.id = s.id when matched then update set t.id = s.id * 100'
                elif checked_DML == 'del':
                    SQL_TO_BE_RESTARTED = f'delete /* {SQL_TAG_THAT_WE_WAITING_FOR} */ from {target_obj} where id <= 2 order by id DESC'
                elif checked_DML == 'lok':
                    # ::: NB :::
                    # We must SUPRESS sending record to client for SELECT WITH LOCK, otherwise error
                    # deadlock/update conflist will raise immediately! Because of this, we  enclose
                    # such select into execute block which returns nothing:
                    #
                    SQL_TO_BE_RESTARTED = f'execute block /* {SQL_TAG_THAT_WE_WAITING_FOR} */ as declare c int; begin for select id from {target_obj} where id<=2 order by id DESC with lock into c do begin end end'
    
                for main_iter in (0,1):
    
                    ###################################################################################
                    ###  H O W    M A N Y    R E S T A R T S    W E    W A N T    T O    C H E C K  ###
                    ###################################################################################
                    ROWS_TO_ADD = 10 + 1 * main_iter
    
                    # Add either 12 or 14 rows, ID = 1,2, ..., 2+ROWS_TO_ADD:
                    sql_addi = f'''
                        set term ^;
                        execute block as
                        begin
                            rdb$set_context('USER_SESSION', 'WHO', 'INIT_DATA');
                        end
                        ^
                        set term ;^
                        insert into {target_obj}(id, x) select row_number()over(),row_number()over() from rdb$types rows (2 + {ROWS_TO_ADD}); -- <<< INITIAL DATA
                        commit;
                    '''
    
                    act.isql(switches=['-q'], input = ''.join( (sql_init, sql_addi) ) )
                    # ::: NOTE ::: We have to immediately quit if any error raised in prepare phase.
                    # See also letter from dimitr, 01-feb-2022 14:46
                    assert act.stderr == ''
                    act.reset()
    
                    # Get Firebird log before test
                    fb_log_init = act.get_firebird_log()
    
                    trace_cfg_items = [
                        'time_threshold = 0',
                        'log_errors = true',
                        'log_statement_start = true',
                        'log_statement_finish = true',
                    ]
    
                    with act.trace(db_events = trace_cfg_items, encoding=locale.getpreferredencoding()):
    
                        with act.db.connect() as con_lock_1, act.db.connect() as con_lock_2, act.db.connect() as con_monitoring:
    
                            tpb_monitoring = tpb(isolation=Isolation.READ_COMMITTED_RECORD_VERSION, lock_timeout=0)
                            tx_monitoring = con_monitoring.transaction_manager(tpb_monitoring)
                            cur_monitoring = tx_monitoring.cursor()
    
                            locked_rows_map ={} # K = 0 or 1 (locker_1 and locker_2 respectively); V = ID of locked row
    
                            for i,c in enumerate((con_lock_1,con_lock_2)):
                                sttm = f"execute block as begin rdb$set_context('USER_SESSION', 'WHO', 'LOCKER #{i+1}'); end"
                                c.execute_immediate(sttm)
    
                            con_monitoring.execute_immediate("execute block as begin rdb$set_context('USER_SESSION', 'WHO', 'MONITOR'); end")
    
                            #########################
                            ###  L O C K E R - 1  ###
                            #########################
                            locked_rows_map[ 1 ] = 1
                            con_lock_1.execute_immediate( f'update {target_obj} set id=id where id = {locked_rows_map[1]} /* locker-1 */' )
    
                            # Run UPDATE | DELETE | MERGE | SELECT WITH LOCK  -- see {SQL_TO_BE_RESTARTED}
                            # Every statement ends with 'ORDER BY ID DESC' and must hang because of lockes:
    
                            worker_sql = f'''
                                set list on;
                                set autoddl off;
                                set term ^;
                                execute block as
                                begin
                                    rdb$set_context('USER_SESSION','WHO', 'WORKER');
                                end
                                ^
                                set term ;^
                                commit;
                                SET KEEP_TRAN_PARAMS ON;
                                set transaction read committed read consistency;
                                set list off;
                                set wng off;
    
                                set count on;
                                set term ^;
                                {SQL_TO_BE_RESTARTED}
                                ^
                                set term ;^
    
                                -- check results:
                                -- ###############
                                --set echo on;
                                select id from {target_obj} order by id;
    
                                select v.old_id, v.op, v.snap_no_rank
                                from v_worker_log v
                                where v.op = iif( '{checked_DML}' = 'mer', 'upd', '{checked_DML}'); -- 'UPD' or 'DEL'; for 'SELECT WITH LOCK' no records will be in v_worker_log.
                                --set echo off;
    
                                --set width who 10;
                                -- DO NOT check this! Values can differ here from one run to another!
                                -- select id, trn, who, old_id, new_id, op, rec_vers, global_cn, snap_no from tlog_done order by id;
                                rollback;
    
                            '''
    
                            fn_worker_sql.write_text(worker_sql)
    
                            with fn_worker_log.open(mode='w') as hang_out, fn_worker_err.open(mode='w') as hang_err:
    
                                ############################################################################
                                ###  L A U N C H     W O R K E R    U S I N G     I S Q L,   A S Y N C.  ###
                                ############################################################################
                                p_worker = subprocess.Popen([act.vars['isql'], '-i', str(fn_worker_sql),
                                                               '-user', act.db.user,
                                                               '-password', act.db.password,
                                                               '-pag', '999999',
                                                               act.db.dsn
                                                            ],
                                                              stdout = hang_out,
                                                              stderr = hang_err
                                                           )
    
                                # update ... set id = id * 100 where id <= 2 order by id DESC
    
                                # NB: when ISQL will establish attach, first record that it must lock is ID = 2 -- see above SQL_TO_BE_RESTARTED
                                # We must to ensure that this (worker) attachment has been really created and LOCKS this record:
                                #
                                wait_for_record_become_locked(tx_monitoring, cur_monitoring, f'update {target_obj} set /* monitor-ini */ id=id where id=2', SQL_TAG_THAT_WE_WAITING_FOR)
    
                                cur_lock_1 = con_lock_1.cursor()
                                cur_lock_2 = con_lock_2.cursor()
                                sttm = f'update {target_obj} set id = ? where abs( id ) = ?'
    
                                for i in range(0,ROWS_TO_ADD):
                                    v_id = 2 + ROWS_TO_ADD-i
                                    if i % 2 == 0:
                                        # main_iter = 0: ROWS_TO_ADD = 10 ==> v_id = 2+10-0 = 12, 2+10-2 = 10, 2+10-4 =  8, 6, 4, 2
                                        # main_iter = 1: ROWS_TO_ADD = 12 ==> v_id = 2+12-0 = 14, 2+10-2 = 12, 2+10-4 = 10, 8, 6, 4
                                        locked_rows_map[ i % 2 ] = -abs( v_id )
                                        cur_lock_2.execute( sttm + f"/* locker-2 lup, ini-upd, i = {i} */", ( -abs( v_id ), v_id, ) )
                                        con_lock_2.commit()
                                        cur_lock_2.execute( sttm + f"/* locker-2 lup, re-upd, i = {i} */", ( -abs( v_id ), v_id, ) )
                                        con_lock_1.commit() # releases ID = locked_rows_map[ 0 ]
                                    else:
                                        # main_iter = 0: ROWS_TO_ADD = 10 ==> v_id = 2+10-1 = 11, 2+10-3 =  9, 2+10-5 =  7, 5, 3, 1
                                        # main_iter = 1: ROWS_TO_ADD = 12 ==> v_id = 2+12-1 = 13, 2+10-3 = 11, 2+10-5 =  9, 7, 5, 3
                                        locked_rows_map[ i % 2 ] = -abs( v_id )
                                        cur_lock_1.execute( sttm + f"/* locker-1 lup, ini-upd, i = {i} */", ( -abs( v_id ), v_id, ) )
                                        con_lock_1.commit()
                                        cur_lock_1.execute( sttm + f"/* locker-1 lup, re-upd, i = {i} */", ( -abs( v_id ), v_id, ) )
                                        con_lock_2.commit() # releases ID = locked_rows_map[ 1 ]
    
                                    # NB: when ISQL will establish attach, first record that it must lock is ID = 2 -- see above SQL_TO_BE_RESTARTED
                                    # We must to ensure that this (worker) attachment has been really created and LOCKS this record:
                                    #
                                    wait_for_record_become_locked(tx_monitoring, cur_monitoring, f'update {target_obj} /* monitor lup, i={i} */ set id=id where id = {locked_rows_map[ 1 - (i % 2) ]}', SQL_TAG_THAT_WE_WAITING_FOR)
    
                                cur_monitoring.execute(f'select count(*) from {target_obj}')
                                for r in cur_monitoring:
                                    target_obj_cnt = r[0]
                                    #target_obj_cnt = cur_monitoring.fetchall()[0]
    
                                if ROWS_TO_ADD % 2 == 0:
                                    if con_lock_2.is_active():
                                        con_lock_2.commit()
                                    con_lock_1.commit()
                                else:
                                    if con_lock_1.is_active():
                                        con_lock_1.commit()
                                    con_lock_2.commit()
    
                                # Here we wait for ISQL complete its mission:
                                p_worker.wait()
    
                        #< with ... con_lock_1, ... con_lock_2
    
    
    
                        #####################################################
                        ###  check content of 'TEST' and 'TLOG*' tables  ###
                        #####################################################
    
                        print( f'checked_mode: {checked_mode}, checked_DML = {checked_DML}, iter = {main_iter}, number of added rows: {ROWS_TO_ADD}' )
    
                        for g in (fn_worker_log, fn_worker_err):
                            logname = 'STDLOG' if g == fn_worker_log else 'STDERR'
                            with g.open() as f:
                                for line in f:
                                    if line.strip():
                                        print( f'checked_mode: {checked_mode}, checked_DML = {checked_DML}, iter = {main_iter}, worker {logname}: {line}'  )
    
                        expected_stdout_worker = f"""
                        """
                        if main_iter == 0:
                            if checked_DML in ('upd', 'mer'):
                                expected_stdout_worker = f"""
                                    checked_mode: {checked_mode}, checked_DML = {checked_DML}, iter = 0, number of added rows: 10
                                    checked_mode: {checked_mode}, checked_DML = {checked_DML}, iter = 0, worker STDLOG: Records affected: 12
                                    checked_mode: {checked_mode}, checked_DML = {checked_DML}, iter = 0, worker STDLOG:      ID
                                    checked_mode: {checked_mode}, checked_DML = {checked_DML}, iter = 0, worker STDLOG: =======
                                    checked_mode: {checked_mode}, checked_DML = {checked_DML}, iter = 0, worker STDLOG:   -1200
                                    checked_mode: {checked_mode}, checked_DML = {checked_DML}, iter = 0, worker STDLOG:   -1100
                                    checked_mode: {checked_mode}, checked_DML = {checked_DML}, iter = 0, worker STDLOG:   -1000
                                    checked_mode: {checked_mode}, checked_DML = {checked_DML}, iter = 0, worker STDLOG:    -900
                                    checked_mode: {checked_mode}, checked_DML = {checked_DML}, iter = 0, worker STDLOG:    -800
                                    checked_mode: {checked_mode}, checked_DML = {checked_DML}, iter = 0, worker STDLOG:    -700
                                    checked_mode: {checked_mode}, checked_DML = {checked_DML}, iter = 0, worker STDLOG:    -600
                                    checked_mode: {checked_mode}, checked_DML = {checked_DML}, iter = 0, worker STDLOG:    -500
                                    checked_mode: {checked_mode}, checked_DML = {checked_DML}, iter = 0, worker STDLOG:    -400
                                    checked_mode: {checked_mode}, checked_DML = {checked_DML}, iter = 0, worker STDLOG:    -300
                                    checked_mode: {checked_mode}, checked_DML = {checked_DML}, iter = 0, worker STDLOG:     100
                                    checked_mode: {checked_mode}, checked_DML = {checked_DML}, iter = 0, worker STDLOG:     200
                                    checked_mode: {checked_mode}, checked_DML = {checked_DML}, iter = 0, worker STDLOG: Records affected: 12
                                    checked_mode: {checked_mode}, checked_DML = {checked_DML}, iter = 0, worker STDLOG:  OLD_ID OP              SNAP_NO_RANK
                                    checked_mode: {checked_mode}, checked_DML = {checked_DML}, iter = 0, worker STDLOG: ======= ====== =====================
                                    checked_mode: {checked_mode}, checked_DML = {checked_DML}, iter = 0, worker STDLOG:       2 UPD                        1
                                    checked_mode: {checked_mode}, checked_DML = {checked_DML}, iter = 0, worker STDLOG:       2 UPD                        2
                                    checked_mode: {checked_mode}, checked_DML = {checked_DML}, iter = 0, worker STDLOG:       1 UPD                        2
                                    checked_mode: {checked_mode}, checked_DML = {checked_DML}, iter = 0, worker STDLOG:       2 UPD                        3
                                    checked_mode: {checked_mode}, checked_DML = {checked_DML}, iter = 0, worker STDLOG:       1 UPD                        3
                                    checked_mode: {checked_mode}, checked_DML = {checked_DML}, iter = 0, worker STDLOG:       2 UPD                        4
                                    checked_mode: {checked_mode}, checked_DML = {checked_DML}, iter = 0, worker STDLOG:       1 UPD                        4
                                    checked_mode: {checked_mode}, checked_DML = {checked_DML}, iter = 0, worker STDLOG:       2 UPD                        5
                                    checked_mode: {checked_mode}, checked_DML = {checked_DML}, iter = 0, worker STDLOG:       1 UPD                        5
                                    checked_mode: {checked_mode}, checked_DML = {checked_DML}, iter = 0, worker STDLOG:       2 UPD                        6
                                    checked_mode: {checked_mode}, checked_DML = {checked_DML}, iter = 0, worker STDLOG:       1 UPD                        6
                                    checked_mode: {checked_mode}, checked_DML = {checked_DML}, iter = 0, worker STDLOG:       2 UPD                        7
                                    checked_mode: {checked_mode}, checked_DML = {checked_DML}, iter = 0, worker STDLOG:       1 UPD                        7
                                    checked_mode: {checked_mode}, checked_DML = {checked_DML}, iter = 0, worker STDLOG:       2 UPD                        8
                                    checked_mode: {checked_mode}, checked_DML = {checked_DML}, iter = 0, worker STDLOG:       1 UPD                        8
                                    checked_mode: {checked_mode}, checked_DML = {checked_DML}, iter = 0, worker STDLOG:       2 UPD                        9
                                    checked_mode: {checked_mode}, checked_DML = {checked_DML}, iter = 0, worker STDLOG:       1 UPD                        9
                                    checked_mode: {checked_mode}, checked_DML = {checked_DML}, iter = 0, worker STDLOG:       2 UPD                       10
                                    checked_mode: {checked_mode}, checked_DML = {checked_DML}, iter = 0, worker STDLOG:       1 UPD                       10
                                    checked_mode: {checked_mode}, checked_DML = {checked_DML}, iter = 0, worker STDLOG:       2 UPD                       11
                                    checked_mode: {checked_mode}, checked_DML = {checked_DML}, iter = 0, worker STDLOG:       1 UPD                       11
                                    checked_mode: {checked_mode}, checked_DML = {checked_DML}, iter = 0, worker STDLOG:      -3 UPD                       11
                                    checked_mode: {checked_mode}, checked_DML = {checked_DML}, iter = 0, worker STDLOG:      -4 UPD                       11
                                    checked_mode: {checked_mode}, checked_DML = {checked_DML}, iter = 0, worker STDLOG:      -5 UPD                       11
                                    checked_mode: {checked_mode}, checked_DML = {checked_DML}, iter = 0, worker STDLOG:      -6 UPD                       11
                                    checked_mode: {checked_mode}, checked_DML = {checked_DML}, iter = 0, worker STDLOG:      -7 UPD                       11
                                    checked_mode: {checked_mode}, checked_DML = {checked_DML}, iter = 0, worker STDLOG:      -8 UPD                       11
                                    checked_mode: {checked_mode}, checked_DML = {checked_DML}, iter = 0, worker STDLOG:      -9 UPD                       11
                                    checked_mode: {checked_mode}, checked_DML = {checked_DML}, iter = 0, worker STDLOG:     -10 UPD                       11
                                    checked_mode: {checked_mode}, checked_DML = {checked_DML}, iter = 0, worker STDLOG:     -11 UPD                       11
                                    checked_mode: {checked_mode}, checked_DML = {checked_DML}, iter = 0, worker STDLOG:     -12 UPD                       11
                                    checked_mode: {checked_mode}, checked_DML = {checked_DML}, iter = 0, worker STDLOG: Records affected: 31
                                """
                            elif checked_DML == 'lok':
                                expected_stdout_worker = f"""
                                    checked_mode: {checked_mode}, checked_DML = {checked_DML}, iter = 0, number of added rows: 10
                                    checked_mode: {checked_mode}, checked_DML = {checked_DML}, iter = 0, worker STDLOG: ID
                                    checked_mode: {checked_mode}, checked_DML = {checked_DML}, iter = 0, worker STDLOG: =======
                                    checked_mode: {checked_mode}, checked_DML = {checked_DML}, iter = 0, worker STDLOG: -12
                                    checked_mode: {checked_mode}, checked_DML = {checked_DML}, iter = 0, worker STDLOG: -11
                                    checked_mode: {checked_mode}, checked_DML = {checked_DML}, iter = 0, worker STDLOG: -10
                                    checked_mode: {checked_mode}, checked_DML = {checked_DML}, iter = 0, worker STDLOG: -9
                                    checked_mode: {checked_mode}, checked_DML = {checked_DML}, iter = 0, worker STDLOG: -8
                                    checked_mode: {checked_mode}, checked_DML = {checked_DML}, iter = 0, worker STDLOG: -7
                                    checked_mode: {checked_mode}, checked_DML = {checked_DML}, iter = 0, worker STDLOG: -6
                                    checked_mode: {checked_mode}, checked_DML = {checked_DML}, iter = 0, worker STDLOG: -5
                                    checked_mode: {checked_mode}, checked_DML = {checked_DML}, iter = 0, worker STDLOG: -4
                                    checked_mode: {checked_mode}, checked_DML = {checked_DML}, iter = 0, worker STDLOG: -3
                                    checked_mode: {checked_mode}, checked_DML = {checked_DML}, iter = 0, worker STDLOG: 1
                                    checked_mode: {checked_mode}, checked_DML = {checked_DML}, iter = 0, worker STDLOG: 2
                                    checked_mode: {checked_mode}, checked_DML = {checked_DML}, iter = 0, worker STDLOG: Records affected: 12
                                    checked_mode: {checked_mode}, checked_DML = {checked_DML}, iter = 0, worker STDLOG: Records affected: 0
                                """
                            elif checked_DML == 'del':
                                expected_stdout_worker = f"""
                                    checked_mode: {checked_mode}, checked_DML = del, iter = 0, number of added rows: 10
                                    checked_mode: {checked_mode}, checked_DML = del, iter = 0, worker STDLOG: Records affected: 12
                                    checked_mode: {checked_mode}, checked_DML = del, iter = 0, worker STDLOG: Records affected: 0
                                    checked_mode: {checked_mode}, checked_DML = del, iter = 0, worker STDLOG:  OLD_ID OP              SNAP_NO_RANK
                                    checked_mode: {checked_mode}, checked_DML = del, iter = 0, worker STDLOG: ======= ====== =====================
                                    checked_mode: {checked_mode}, checked_DML = del, iter = 0, worker STDLOG:       2 DEL                        1
                                    checked_mode: {checked_mode}, checked_DML = del, iter = 0, worker STDLOG:       2 DEL                        2
                                    checked_mode: {checked_mode}, checked_DML = del, iter = 0, worker STDLOG:       1 DEL                        2
                                    checked_mode: {checked_mode}, checked_DML = del, iter = 0, worker STDLOG:       2 DEL                        3
                                    checked_mode: {checked_mode}, checked_DML = del, iter = 0, worker STDLOG:       1 DEL                        3
                                    checked_mode: {checked_mode}, checked_DML = del, iter = 0, worker STDLOG:       2 DEL                        4
                                    checked_mode: {checked_mode}, checked_DML = del, iter = 0, worker STDLOG:       1 DEL                        4
                                    checked_mode: {checked_mode}, checked_DML = del, iter = 0, worker STDLOG:       2 DEL                        5
                                    checked_mode: {checked_mode}, checked_DML = del, iter = 0, worker STDLOG:       1 DEL                        5
                                    checked_mode: {checked_mode}, checked_DML = del, iter = 0, worker STDLOG:       2 DEL                        6
                                    checked_mode: {checked_mode}, checked_DML = del, iter = 0, worker STDLOG:       1 DEL                        6
                                    checked_mode: {checked_mode}, checked_DML = del, iter = 0, worker STDLOG:       2 DEL                        7
                                    checked_mode: {checked_mode}, checked_DML = del, iter = 0, worker STDLOG:       1 DEL                        7
                                    checked_mode: {checked_mode}, checked_DML = del, iter = 0, worker STDLOG:       2 DEL                        8
                                    checked_mode: {checked_mode}, checked_DML = del, iter = 0, worker STDLOG:       1 DEL                        8
                                    checked_mode: {checked_mode}, checked_DML = del, iter = 0, worker STDLOG:       2 DEL                        9
                                    checked_mode: {checked_mode}, checked_DML = del, iter = 0, worker STDLOG:       1 DEL                        9
                                    checked_mode: {checked_mode}, checked_DML = del, iter = 0, worker STDLOG:       2 DEL                       10
                                    checked_mode: {checked_mode}, checked_DML = del, iter = 0, worker STDLOG:       1 DEL                       10
                                    checked_mode: {checked_mode}, checked_DML = del, iter = 0, worker STDLOG:       2 DEL                       11
                                    checked_mode: {checked_mode}, checked_DML = del, iter = 0, worker STDLOG:       1 DEL                       11
                                    checked_mode: {checked_mode}, checked_DML = del, iter = 0, worker STDLOG:      -3 DEL                       11
                                    checked_mode: {checked_mode}, checked_DML = del, iter = 0, worker STDLOG:      -4 DEL                       11
                                    checked_mode: {checked_mode}, checked_DML = del, iter = 0, worker STDLOG:      -5 DEL                       11
                                    checked_mode: {checked_mode}, checked_DML = del, iter = 0, worker STDLOG:      -6 DEL                       11
                                    checked_mode: {checked_mode}, checked_DML = del, iter = 0, worker STDLOG:      -7 DEL                       11
                                    checked_mode: {checked_mode}, checked_DML = del, iter = 0, worker STDLOG:      -8 DEL                       11
                                    checked_mode: {checked_mode}, checked_DML = del, iter = 0, worker STDLOG:      -9 DEL                       11
                                    checked_mode: {checked_mode}, checked_DML = del, iter = 0, worker STDLOG:     -10 DEL                       11
                                    checked_mode: {checked_mode}, checked_DML = del, iter = 0, worker STDLOG:     -11 DEL                       11
                                    checked_mode: {checked_mode}, checked_DML = del, iter = 0, worker STDLOG:     -12 DEL                       11
                                    checked_mode: {checked_mode}, checked_DML = del, iter = 0, worker STDLOG: Records affected: 31
                                """
                        else:
                            if checked_DML in ('upd', 'mer'):
                                expected_stdout_worker = f"""
                                    checked_mode: {checked_mode}, checked_DML = {checked_DML}, iter = 1, number of added rows: 11
                                    checked_mode: {checked_mode}, checked_DML = {checked_DML}, iter = 1, worker STDLOG: Records affected: 2
                                    checked_mode: {checked_mode}, checked_DML = {checked_DML}, iter = 1, worker STDLOG:      ID
                                    checked_mode: {checked_mode}, checked_DML = {checked_DML}, iter = 1, worker STDLOG: =======
                                    checked_mode: {checked_mode}, checked_DML = {checked_DML}, iter = 1, worker STDLOG:     -13
                                    checked_mode: {checked_mode}, checked_DML = {checked_DML}, iter = 1, worker STDLOG:     -12
                                    checked_mode: {checked_mode}, checked_DML = {checked_DML}, iter = 1, worker STDLOG:     -11
                                    checked_mode: {checked_mode}, checked_DML = {checked_DML}, iter = 1, worker STDLOG:     -10
                                    checked_mode: {checked_mode}, checked_DML = {checked_DML}, iter = 1, worker STDLOG:      -9
                                    checked_mode: {checked_mode}, checked_DML = {checked_DML}, iter = 1, worker STDLOG:      -8
                                    checked_mode: {checked_mode}, checked_DML = {checked_DML}, iter = 1, worker STDLOG:      -7
                                    checked_mode: {checked_mode}, checked_DML = {checked_DML}, iter = 1, worker STDLOG:      -6
                                    checked_mode: {checked_mode}, checked_DML = {checked_DML}, iter = 1, worker STDLOG:      -5
                                    checked_mode: {checked_mode}, checked_DML = {checked_DML}, iter = 1, worker STDLOG:      -4
                                    checked_mode: {checked_mode}, checked_DML = {checked_DML}, iter = 1, worker STDLOG:      -3
                                    checked_mode: {checked_mode}, checked_DML = {checked_DML}, iter = 1, worker STDLOG:       1
                                    checked_mode: {checked_mode}, checked_DML = {checked_DML}, iter = 1, worker STDLOG:       2
                                    checked_mode: {checked_mode}, checked_DML = {checked_DML}, iter = 1, worker STDLOG: Records affected: 13
                                    checked_mode: {checked_mode}, checked_DML = {checked_DML}, iter = 1, worker STDLOG:  OLD_ID OP              SNAP_NO_RANK
                                    checked_mode: {checked_mode}, checked_DML = {checked_DML}, iter = 1, worker STDLOG: ======= ====== =====================
                                    checked_mode: {checked_mode}, checked_DML = {checked_DML}, iter = 1, worker STDLOG:       2 UPD                        1
                                    checked_mode: {checked_mode}, checked_DML = {checked_DML}, iter = 1, worker STDLOG:       2 UPD                        2
                                    checked_mode: {checked_mode}, checked_DML = {checked_DML}, iter = 1, worker STDLOG:       1 UPD                        2
                                    checked_mode: {checked_mode}, checked_DML = {checked_DML}, iter = 1, worker STDLOG:       2 UPD                        3
                                    checked_mode: {checked_mode}, checked_DML = {checked_DML}, iter = 1, worker STDLOG:       1 UPD                        3
                                    checked_mode: {checked_mode}, checked_DML = {checked_DML}, iter = 1, worker STDLOG:       2 UPD                        4
                                    checked_mode: {checked_mode}, checked_DML = {checked_DML}, iter = 1, worker STDLOG:       1 UPD                        4
                                    checked_mode: {checked_mode}, checked_DML = {checked_DML}, iter = 1, worker STDLOG:       2 UPD                        5
                                    checked_mode: {checked_mode}, checked_DML = {checked_DML}, iter = 1, worker STDLOG:       1 UPD                        5
                                    checked_mode: {checked_mode}, checked_DML = {checked_DML}, iter = 1, worker STDLOG:       2 UPD                        6
                                    checked_mode: {checked_mode}, checked_DML = {checked_DML}, iter = 1, worker STDLOG:       1 UPD                        6
                                    checked_mode: {checked_mode}, checked_DML = {checked_DML}, iter = 1, worker STDLOG:       2 UPD                        7
                                    checked_mode: {checked_mode}, checked_DML = {checked_DML}, iter = 1, worker STDLOG:       1 UPD                        7
                                    checked_mode: {checked_mode}, checked_DML = {checked_DML}, iter = 1, worker STDLOG:       2 UPD                        8
                                    checked_mode: {checked_mode}, checked_DML = {checked_DML}, iter = 1, worker STDLOG:       1 UPD                        8
                                    checked_mode: {checked_mode}, checked_DML = {checked_DML}, iter = 1, worker STDLOG:       2 UPD                        9
                                    checked_mode: {checked_mode}, checked_DML = {checked_DML}, iter = 1, worker STDLOG:       1 UPD                        9
                                    checked_mode: {checked_mode}, checked_DML = {checked_DML}, iter = 1, worker STDLOG:       2 UPD                       10
                                    checked_mode: {checked_mode}, checked_DML = {checked_DML}, iter = 1, worker STDLOG:       1 UPD                       10
                                    checked_mode: {checked_mode}, checked_DML = {checked_DML}, iter = 1, worker STDLOG:       2 UPD                       11
                                    checked_mode: {checked_mode}, checked_DML = {checked_DML}, iter = 1, worker STDLOG:       1 UPD                       11
                                    checked_mode: {checked_mode}, checked_DML = {checked_DML}, iter = 1, worker STDLOG: Records affected: 21
                                    checked_mode: {checked_mode}, checked_DML = {checked_DML}, iter = 1, worker STDERR: Statement failed, SQLSTATE = 40001
                                    checked_mode: {checked_mode}, checked_DML = {checked_DML}, iter = 1, worker STDERR: deadlock
                                    checked_mode: {checked_mode}, checked_DML = {checked_DML}, iter = 1, worker STDERR: -update conflicts with concurrent update
                                    concurrent transaction number is
                                    checked_mode: {checked_mode}, checked_DML = {checked_DML}, iter = 1, worker STDERR:
                                """
                            elif checked_DML == 'lok':
                                expected_stdout_worker = f"""
                                    checked_mode: {checked_mode}, checked_DML = {checked_DML}, iter = 1, number of added rows: 11
                                    checked_mode: {checked_mode}, checked_DML = {checked_DML}, iter = 1, worker STDLOG: ID
                                    checked_mode: {checked_mode}, checked_DML = {checked_DML}, iter = 1, worker STDLOG: =======
                                    checked_mode: {checked_mode}, checked_DML = {checked_DML}, iter = 1, worker STDLOG: -13
                                    checked_mode: {checked_mode}, checked_DML = {checked_DML}, iter = 1, worker STDLOG: -12
                                    checked_mode: {checked_mode}, checked_DML = {checked_DML}, iter = 1, worker STDLOG: -11
                                    checked_mode: {checked_mode}, checked_DML = {checked_DML}, iter = 1, worker STDLOG: -10
                                    checked_mode: {checked_mode}, checked_DML = {checked_DML}, iter = 1, worker STDLOG: -9
                                    checked_mode: {checked_mode}, checked_DML = {checked_DML}, iter = 1, worker STDLOG: -8
                                    checked_mode: {checked_mode}, checked_DML = {checked_DML}, iter = 1, worker STDLOG: -7
                                    checked_mode: {checked_mode}, checked_DML = {checked_DML}, iter = 1, worker STDLOG: -6
                                    checked_mode: {checked_mode}, checked_DML = {checked_DML}, iter = 1, worker STDLOG: -5
                                    checked_mode: {checked_mode}, checked_DML = {checked_DML}, iter = 1, worker STDLOG: -4
                                    checked_mode: {checked_mode}, checked_DML = {checked_DML}, iter = 1, worker STDLOG: -3
                                    checked_mode: {checked_mode}, checked_DML = {checked_DML}, iter = 1, worker STDLOG: 1
                                    checked_mode: {checked_mode}, checked_DML = {checked_DML}, iter = 1, worker STDLOG: 2
                                    checked_mode: {checked_mode}, checked_DML = {checked_DML}, iter = 1, worker STDLOG: Records affected: 13
                                    checked_mode: {checked_mode}, checked_DML = {checked_DML}, iter = 1, worker STDLOG: Records affected: 0
                                    checked_mode: {checked_mode}, checked_DML = {checked_DML}, iter = 1, worker STDERR: Statement failed, SQLSTATE = 40001
                                    checked_mode: {checked_mode}, checked_DML = {checked_DML}, iter = 1, worker STDERR: deadlock
                                    checked_mode: {checked_mode}, checked_DML = {checked_DML}, iter = 1, worker STDERR: -update conflicts with concurrent update
                                    concurrent transaction number is
                                    checked_mode: {checked_mode}, checked_DML = {checked_DML}, iter = 1, worker STDERR:
                                """
                            elif checked_DML == 'del':
                                expected_stdout_worker = f"""
                                    checked_mode: {checked_mode}, checked_DML = del, iter = 1, number of added rows: 11
                                    checked_mode: {checked_mode}, checked_DML = del, iter = 1, worker STDLOG: Records affected: 2
                                    checked_mode: {checked_mode}, checked_DML = del, iter = 1, worker STDLOG:      ID
                                    checked_mode: {checked_mode}, checked_DML = del, iter = 1, worker STDLOG: =======
                                    checked_mode: {checked_mode}, checked_DML = del, iter = 1, worker STDLOG:     -13
                                    checked_mode: {checked_mode}, checked_DML = del, iter = 1, worker STDLOG:     -12
                                    checked_mode: {checked_mode}, checked_DML = del, iter = 1, worker STDLOG:     -11
                                    checked_mode: {checked_mode}, checked_DML = del, iter = 1, worker STDLOG:     -10
                                    checked_mode: {checked_mode}, checked_DML = del, iter = 1, worker STDLOG:      -9
                                    checked_mode: {checked_mode}, checked_DML = del, iter = 1, worker STDLOG:      -8
                                    checked_mode: {checked_mode}, checked_DML = del, iter = 1, worker STDLOG:      -7
                                    checked_mode: {checked_mode}, checked_DML = del, iter = 1, worker STDLOG:      -6
                                    checked_mode: {checked_mode}, checked_DML = del, iter = 1, worker STDLOG:      -5
                                    checked_mode: {checked_mode}, checked_DML = del, iter = 1, worker STDLOG:      -4
                                    checked_mode: {checked_mode}, checked_DML = del, iter = 1, worker STDLOG:      -3
                                    checked_mode: {checked_mode}, checked_DML = del, iter = 1, worker STDLOG:       1
                                    checked_mode: {checked_mode}, checked_DML = del, iter = 1, worker STDLOG:       2
                                    checked_mode: {checked_mode}, checked_DML = del, iter = 1, worker STDLOG: Records affected: 13
                                    checked_mode: {checked_mode}, checked_DML = del, iter = 1, worker STDLOG:  OLD_ID OP              SNAP_NO_RANK
                                    checked_mode: {checked_mode}, checked_DML = del, iter = 1, worker STDLOG: ======= ====== =====================
                                    checked_mode: {checked_mode}, checked_DML = del, iter = 1, worker STDLOG:       2 DEL                        1
                                    checked_mode: {checked_mode}, checked_DML = del, iter = 1, worker STDLOG:       2 DEL                        2
                                    checked_mode: {checked_mode}, checked_DML = del, iter = 1, worker STDLOG:       1 DEL                        2
                                    checked_mode: {checked_mode}, checked_DML = del, iter = 1, worker STDLOG:       2 DEL                        3
                                    checked_mode: {checked_mode}, checked_DML = del, iter = 1, worker STDLOG:       1 DEL                        3
                                    checked_mode: {checked_mode}, checked_DML = del, iter = 1, worker STDLOG:       2 DEL                        4
                                    checked_mode: {checked_mode}, checked_DML = del, iter = 1, worker STDLOG:       1 DEL                        4
                                    checked_mode: {checked_mode}, checked_DML = del, iter = 1, worker STDLOG:       2 DEL                        5
                                    checked_mode: {checked_mode}, checked_DML = del, iter = 1, worker STDLOG:       1 DEL                        5
                                    checked_mode: {checked_mode}, checked_DML = del, iter = 1, worker STDLOG:       2 DEL                        6
                                    checked_mode: {checked_mode}, checked_DML = del, iter = 1, worker STDLOG:       1 DEL                        6
                                    checked_mode: {checked_mode}, checked_DML = del, iter = 1, worker STDLOG:       2 DEL                        7
                                    checked_mode: {checked_mode}, checked_DML = del, iter = 1, worker STDLOG:       1 DEL                        7
                                    checked_mode: {checked_mode}, checked_DML = del, iter = 1, worker STDLOG:       2 DEL                        8
                                    checked_mode: {checked_mode}, checked_DML = del, iter = 1, worker STDLOG:       1 DEL                        8
                                    checked_mode: {checked_mode}, checked_DML = del, iter = 1, worker STDLOG:       2 DEL                        9
                                    checked_mode: {checked_mode}, checked_DML = del, iter = 1, worker STDLOG:       1 DEL                        9
                                    checked_mode: {checked_mode}, checked_DML = del, iter = 1, worker STDLOG:       2 DEL                       10
                                    checked_mode: {checked_mode}, checked_DML = del, iter = 1, worker STDLOG:       1 DEL                       10
                                    checked_mode: {checked_mode}, checked_DML = del, iter = 1, worker STDLOG:       2 DEL                       11
                                    checked_mode: {checked_mode}, checked_DML = del, iter = 1, worker STDLOG:       1 DEL                       11
                                    checked_mode: {checked_mode}, checked_DML = del, iter = 1, worker STDLOG: Records affected: 21
                                    checked_mode: {checked_mode}, checked_DML = del, iter = 1, worker STDERR: Statement failed, SQLSTATE = 40001
                                    checked_mode: {checked_mode}, checked_DML = del, iter = 1, worker STDERR: deadlock
                                    checked_mode: {checked_mode}, checked_DML = del, iter = 1, worker STDERR: -update conflicts with concurrent update
                                    concurrent transaction number is
                                    checked_mode: {checked_mode}, checked_DML = del, iter = 1, worker STDERR:
                                """
    
                        act.expected_stdout = expected_stdout_worker
                        act.stdout = capsys.readouterr().out
>                       assert act.clean_stdout == act.clean_expected_stdout
E                       assert   
E                           checked_mode: table, checked_DML upd, iter 0, number of added rows: 10
E                           checked_mode: table, checked_DML upd, iter 0, worker STDLOG: Records affected: 12
E                           checked_mode: table, checked_DML upd, iter 0, worker STDLOG: ID
E                           checked_mode: table, checked_DML upd, iter 0, worker STDLOG:
E                           checked_mode: table, checked_DML upd, iter 0, worker STDLOG: -1200
E                           checked_mode: table, checked_DML upd, iter 0, worker STDLOG: -1100
E                           checked_mode: table, checked_DML upd, iter 0, worker STDLOG: -1000
E                           checked_mode: table, checked_DML upd, iter 0, worker STDLOG: -900
E                           checked_mode: table, checked_DML upd, iter 0, worker STDLOG: -800
E                           checked_mode: table, checked_DML upd, iter 0, worker STDLOG: -700
E                           checked_mode: table, checked_DML upd, iter 0, worker STDLOG: -600
E                           checked_mode: table, checked_DML upd, iter 0, worker STDLOG: -500
E                           checked_mode: table, checked_DML upd, iter 0, worker STDLOG: -400
E                           checked_mode: table, checked_DML upd, iter 0, worker STDLOG: -300
E                           checked_mode: table, checked_DML upd, iter 0, worker STDLOG: 100
E                           checked_mode: table, checked_DML upd, iter 0, worker STDLOG: 200
E                           checked_mode: table, checked_DML upd, iter 0, worker STDLOG: Records affected: 12
E                           checked_mode: table, checked_DML upd, iter 0, worker STDLOG: OLD_ID OP SNAP_NO_RANK
E                           checked_mode: table, checked_DML upd, iter 0, worker STDLOG:
E                         - checked_mode: table, checked_DML upd, iter 0, worker STDLOG: 2 UPD 1
E                         + checked_mode: table, checked_DML upd, iter 0, worker STDLOG: 2UPD 1
E                         - checked_mode: table, checked_DML upd, iter 0, worker STDLOG: 2 UPD 2
E                         + checked_mode: table, checked_DML upd, iter 0, worker STDLOG: 2UPD 2
E                         - checked_mode: table, checked_DML upd, iter 0, worker STDLOG: 1 UPD 2
E                         + checked_mode: table, checked_DML upd, iter 0, worker STDLOG: 1UPD 2
E                         - checked_mode: table, checked_DML upd, iter 0, worker STDLOG: 2 UPD 3
E                         + checked_mode: table, checked_DML upd, iter 0, worker STDLOG: 2UPD 3
E                         - checked_mode: table, checked_DML upd, iter 0, worker STDLOG: 1 UPD 3
E                         + checked_mode: table, checked_DML upd, iter 0, worker STDLOG: 1UPD 3
E                         - checked_mode: table, checked_DML upd, iter 0, worker STDLOG: 2 UPD 4
E                         + checked_mode: table, checked_DML upd, iter 0, worker STDLOG: 2UPD 4
E                         - checked_mode: table, checked_DML upd, iter 0, worker STDLOG: 1 UPD 4
E                         + checked_mode: table, checked_DML upd, iter 0, worker STDLOG: 1UPD 4
E                         - checked_mode: table, checked_DML upd, iter 0, worker STDLOG: 2 UPD 5
E                         + checked_mode: table, checked_DML upd, iter 0, worker STDLOG: 2UPD 5
E                         - checked_mode: table, checked_DML upd, iter 0, worker STDLOG: 1 UPD 5
E                         + checked_mode: table, checked_DML upd, iter 0, worker STDLOG: 1UPD 5
E                         - checked_mode: table, checked_DML upd, iter 0, worker STDLOG: 2 UPD 6
E                         + checked_mode: table, checked_DML upd, iter 0, worker STDLOG: 2UPD 6
E                         - checked_mode: table, checked_DML upd, iter 0, worker STDLOG: 1 UPD 6
E                         + checked_mode: table, checked_DML upd, iter 0, worker STDLOG: 1UPD 6
E                         - checked_mode: table, checked_DML upd, iter 0, worker STDLOG: 2 UPD 7
E                         + checked_mode: table, checked_DML upd, iter 0, worker STDLOG: 2UPD 7
E                         - checked_mode: table, checked_DML upd, iter 0, worker STDLOG: 1 UPD 7
E                         + checked_mode: table, checked_DML upd, iter 0, worker STDLOG: 1UPD 7
E                         - checked_mode: table, checked_DML upd, iter 0, worker STDLOG: 2 UPD 8
E                         + checked_mode: table, checked_DML upd, iter 0, worker STDLOG: 2UPD 8
E                         - checked_mode: table, checked_DML upd, iter 0, worker STDLOG: 1 UPD 8
E                         + checked_mode: table, checked_DML upd, iter 0, worker STDLOG: 1UPD 8
E                         - checked_mode: table, checked_DML upd, iter 0, worker STDLOG: 2 UPD 9
E                         + checked_mode: table, checked_DML upd, iter 0, worker STDLOG: 2UPD 9
E                         - checked_mode: table, checked_DML upd, iter 0, worker STDLOG: 1 UPD 9
E                         + checked_mode: table, checked_DML upd, iter 0, worker STDLOG: 1UPD 9
E                         - checked_mode: table, checked_DML upd, iter 0, worker STDLOG: 2 UPD 10
E                         + checked_mode: table, checked_DML upd, iter 0, worker STDLOG: 2UPD 10
E                         - checked_mode: table, checked_DML upd, iter 0, worker STDLOG: 1 UPD 10
E                         + checked_mode: table, checked_DML upd, iter 0, worker STDLOG: 1UPD 10
E                         - checked_mode: table, checked_DML upd, iter 0, worker STDLOG: 2 UPD 11
E                         + checked_mode: table, checked_DML upd, iter 0, worker STDLOG: 2UPD 11
E                         - checked_mode: table, checked_DML upd, iter 0, worker STDLOG: 1 UPD 11
E                         + checked_mode: table, checked_DML upd, iter 0, worker STDLOG: 1UPD 11
E                         - checked_mode: table, checked_DML upd, iter 0, worker STDLOG: -3 UPD 11
E                         + checked_mode: table, checked_DML upd, iter 0, worker STDLOG: -3UPD 11
E                         - checked_mode: table, checked_DML upd, iter 0, worker STDLOG: -4 UPD 11
E                         + checked_mode: table, checked_DML upd, iter 0, worker STDLOG: -4UPD 11
E                         - checked_mode: table, checked_DML upd, iter 0, worker STDLOG: -5 UPD 11
E                         + checked_mode: table, checked_DML upd, iter 0, worker STDLOG: -5UPD 11
E                         - checked_mode: table, checked_DML upd, iter 0, worker STDLOG: -6 UPD 11
E                         + checked_mode: table, checked_DML upd, iter 0, worker STDLOG: -6UPD 11
E                         - checked_mode: table, checked_DML upd, iter 0, worker STDLOG: -7 UPD 11
E                         + checked_mode: table, checked_DML upd, iter 0, worker STDLOG: -7UPD 11
E                         - checked_mode: table, checked_DML upd, iter 0, worker STDLOG: -8 UPD 11
E                         + checked_mode: table, checked_DML upd, iter 0, worker STDLOG: -8UPD 11
E                         - checked_mode: table, checked_DML upd, iter 0, worker STDLOG: -9 UPD 11
E                         + checked_mode: table, checked_DML upd, iter 0, worker STDLOG: -9UPD 11
E                         - checked_mode: table, checked_DML upd, iter 0, worker STDLOG: -10 UPD 11
E                         + checked_mode: table, checked_DML upd, iter 0, worker STDLOG: -10UPD 11
E                         - checked_mode: table, checked_DML upd, iter 0, worker STDLOG: -11 UPD 11
E                         + checked_mode: table, checked_DML upd, iter 0, worker STDLOG: -11UPD 11
E                         - checked_mode: table, checked_DML upd, iter 0, worker STDLOG: -12 UPD 11
E                         + checked_mode: table, checked_DML upd, iter 0, worker STDLOG: -12UPD 11
E                           checked_mode: table, checked_DML upd, iter 0, worker STDLOG: Records affected: 31

tests/functional/transactions/test_read_consist_sttm_restart_max_limit.py:631: AssertionError
Full history of outcomes and elapsed time, ms:
NN SNAP_INFO CS_outcome SS_outcome CS_run_time SS_run_time CS_run_beg CS_run_end SS_run_beg SS_run_end
1 6.0.0.889 2025.07.01 969ac F F 4268 3283 2025.07.02 02:42:55.621 2025.07.02 02:42:59.889 2025.07.01 23:49:16.478 2025.07.01 23:49:19.761
2 6.0.0.884 2025.06.30 f7e5f F F 4145 3779 2025.07.01 02:41:41.661 2025.07.01 02:41:45.806 2025.06.30 23:57:35.246 2025.06.30 23:57:39.025
3 6.0.0.881 2025.06.27 7035d P P 53937 52197 2025.06.30 02:34:01.223 2025.06.30 02:34:55.160 2025.06.29 23:46:40.589 2025.06.29 23:47:32.786
4 6.0.0.877 2025.06.26 8e38f P P 51640 50178 2025.06.27 02:11:01.178 2025.06.27 02:11:52.818 2025.06.26 23:35:54.938 2025.06.26 23:36:45.116
5 6.0.0.876 2025.06.25 b1bec P P 53349 48983 2025.06.26 02:14:51.228 2025.06.26 02:15:44.577 2025.06.25 23:37:53.058 2025.06.25 23:38:42.041
6 6.0.0.863 2025.06.24 c3c20 P P 52336 48341 2025.06.25 02:15:06.054 2025.06.25 02:15:58.390 2025.06.24 23:37:39.889 2025.06.24 23:38:28.230
7 6.0.0.858 2025.06.23 8d6f7 P P 52187 48888 2025.06.24 02:15:10.787 2025.06.24 02:16:02.974 2025.06.23 23:37:31.318 2025.06.23 23:38:20.206
8 6.0.0.849 2025.06.20 7b79c P P 52296 43103 2025.06.21 02:26:56.081 2025.06.21 02:27:48.377 2025.06.20 23:47:44.087 2025.06.20 23:48:27.190
9 6.0.0.848 2025.06.19 c483c P P 52195 48638 2025.06.20 02:23:18.707 2025.06.20 02:24:10.902 2025.06.19 23:43:54.354 2025.06.19 23:44:42.992
10 6.0.0.845 2025.06.18 22b12 P P 52582 51616 2025.06.19 02:32:02.173 2025.06.19 02:32:54.755 2025.06.18 23:47:58.727 2025.06.18 23:48:50.343
11 6.0.0.843 2025.06.16 995f4 P P 52500 44388 2025.06.18 02:30:26.929 2025.06.18 02:31:19.429 2025.06.17 23:49:20.830 2025.06.17 23:50:05.218
12 6.0.0.840 2025.06.14 29bca P P 52336 49773 2025.06.16 02:22:10.128 2025.06.16 02:23:02.464 2025.06.15 23:41:21.875 2025.06.15 23:42:11.648
13 6.0.0.838 2025.06.13 0e28a P P 52818 50040 2025.06.14 02:36:26.532 2025.06.14 02:37:19.350 2025.06.13 23:50:07.726 2025.06.13 23:50:57.766
14 6.0.0.835 2025.06.12 2cf29 P P 53504 46143 2025.06.13 02:34:50.077 2025.06.13 02:35:43.581 2025.06.12 23:52:49.636 2025.06.12 23:53:35.779
15 6.0.0.834 2025.06.11 e889f P P 52982 43149 2025.06.12 02:30:58.034 2025.06.12 02:31:51.016 2025.06.11 23:49:27.836 2025.06.11 23:50:10.985
16 6.0.0.800 2025.06.10 1f226 P P 53808 53231 2025.06.11 01:02:43.087 2025.06.11 01:03:36.895 2025.06.10 22:51:08.218 2025.06.10 22:52:01.449
17 6.0.0.799 2025.06.07 be644 P P 54937 54122 2025.06.10 01:05:07.504 2025.06.10 01:06:02.441 2025.06.09 22:50:31.237 2025.06.09 22:51:25.359
18 6.0.0.797 2025.06.06 303e8 P P 53809 54958 2025.06.07 01:09:21.082 2025.06.07 01:10:14.891 2025.06.06 22:50:23.059 2025.06.06 22:51:18.017
19 6.0.0.795 2025.05.29 7a71a P P 54444 53187 2025.06.06 01:03:29.935 2025.06.06 01:04:24.379 2025.06.05 22:48:44.259 2025.06.05 22:49:37.446
20 6.0.0.792 2025.05.28 b4327 P P 56098 54660 2025.05.29 01:18:46.795 2025.05.29 01:19:42.893 2025.05.28 22:53:05.238 2025.05.28 22:53:59.898
21 6.0.0.791 2025.05.27 02db8 P P 55182 53827 2025.05.28 01:16:36.268 2025.05.28 01:17:31.450 2025.05.27 22:52:14.539 2025.05.27 22:53:08.366
22 6.0.0.789 2025.05.21 64051 P P 56316 53847 2025.05.25 01:08:36.002 2025.05.25 01:09:32.318 2025.05.24 22:50:50.978 2025.05.24 22:51:44.825
23 6.0.0.787 2025.05.20 230ad P P 53867 53933 2025.05.21 01:05:48.330 2025.05.21 01:06:42.197 2025.05.20 22:48:40.622 2025.05.20 22:49:34.555
24 6.0.0.783 2025.05.12 37320 P P 55407 49198 2025.05.19 12:37:02.700 2025.05.19 12:37:58.107 2025.05.19 10:36:34.438 2025.05.19 10:37:23.636
25 6.0.0.779 2025.05.11 136fa P P 54807 52012 2025.05.12 01:00:59.664 2025.05.12 01:01:54.471 2025.05.11 22:47:22.330 2025.05.11 22:48:14.342
26 6.0.0.778 2025.05.07 d735e P P 54190 53684 2025.05.08 01:01:44.278 2025.05.08 01:02:38.468 2025.05.07 22:46:12.319 2025.05.07 22:47:06.003
27 6.0.0.776 2025.05.06 007cd P P 54691 54157 2025.05.07 00:57:35.770 2025.05.07 00:58:30.461 2025.05.06 22:46:32.578 2025.05.06 22:47:26.735
28 6.0.0.770 2025.05.05 82c4a P P 54449 54107 2025.05.06 00:55:44.621 2025.05.06 00:56:39.070 2025.05.05 22:45:19.719 2025.05.05 22:46:13.826
29 6.0.0.767 2025.05.01 cdd29 P P 54308 51618 2025.05.02 00:50:05.859 2025.05.02 00:51:00.167 2025.05.01 22:44:14.288 2025.05.01 22:45:05.906
30 6.0.0.762 2025.04.30 5cb15 P P 55420 53853 2025.05.01 00:48:29.614 2025.05.01 00:49:25.034 2025.04.30 22:42:36.477 2025.04.30 22:43:30.330
31 6.0.0.755 2025.04.29 739c6 P P 56074 53300 2025.04.30 00:52:39.843 2025.04.30 00:53:35.917 2025.04.29 22:44:18.982 2025.04.29 22:45:12.282
32 6.0.0.753 2025.04.27 29ab3 P P 55151 52691 2025.04.28 00:54:46.558 2025.04.28 00:55:41.709 2025.04.27 22:43:16.599 2025.04.27 22:44:09.290
33 6.0.0.745 2025.04.21 78ad8 P P 56258 55594 2025.04.26 00:49:48.944 2025.04.26 00:50:45.202 2025.04.25 22:44:30.772 2025.04.25 22:45:26.366
34 6.0.0.744 2025.04.19 e883a P P 55596 57563 2025.04.20 00:52:18.985 2025.04.20 00:53:14.581 2025.04.19 22:45:12.967 2025.04.19 22:46:10.530
35 6.0.0.742 2025.04.17 abc3b P P 55149 55497 2025.04.19 00:54:48.157 2025.04.19 00:55:43.306 2025.04.18 22:45:17.293 2025.04.18 22:46:12.790
36 6.0.0.737 2025.04.16 fe52b P P 56062 57433 2025.04.17 00:50:52.071 2025.04.17 00:51:48.133 2025.04.16 22:45:28.800 2025.04.16 22:46:26.233
37 6.0.0.736 2025.04.14 3e6be P P 54898 49026 2025.04.15 00:26:17.100 2025.04.15 00:27:11.998 2025.04.14 22:34:41.884 2025.04.14 22:35:30.910
38 6.0.0.735 2025.04.13 6635c P P 54501 44172 2025.04.14 00:32:49.781 2025.04.14 00:33:44.282 2025.04.13 22:35:57.071 2025.04.13 22:36:41.243
39 6.0.0.734 2025.04.12 12f3f P P 55005 47644 2025.04.13 00:30:04.245 2025.04.13 00:30:59.250 2025.04.12 22:35:02.257 2025.04.12 22:35:49.901
40 6.0.0.730 2025.04.11 240b8 P P 54601 48539 2025.04.12 00:32:53.675 2025.04.12 00:33:48.276 2025.04.11 22:35:19.502 2025.04.11 22:36:08.041
41 6.0.0.726 2025.04.10 d79c6 P P 55718 47623 2025.04.11 00:32:57.593 2025.04.11 00:33:53.311 2025.04.10 22:35:22.299 2025.04.10 22:36:09.922
42 6.0.0.725 2025.04.09 a2b05 P P 55392 44768 2025.04.10 00:32:45.656 2025.04.10 00:33:41.048 2025.04.09 22:35:32.397 2025.04.09 22:36:17.165
43 6.0.0.722 2025.04.08 a8b86 P P 55710 54786 2025.04.09 00:47:21.128 2025.04.09 00:48:16.838 2025.04.08 22:43:14.224 2025.04.08 22:44:09.010
44 6.0.0.719 2025.04.06 90fd9 P P 55570 53725 2025.04.07 00:46:55.620 2025.04.07 00:47:51.190 2025.04.06 22:41:03.966 2025.04.06 22:41:57.691
45 6.0.0.717 2025.04.04 53d70 P P 55630 51016 2025.04.05 00:42:25.242 2025.04.05 00:43:20.872 2025.04.04 22:40:10.570 2025.04.04 22:41:01.586
46 6.0.0.716 2025.04.03 fc636 P P 56546 54143 2025.04.04 00:43:13.917 2025.04.04 00:44:10.463 2025.04.03 22:42:06.498 2025.04.03 22:43:00.641
47 6.0.0.715 2025.04.02 907ed P P 55965 55765 2025.04.03 00:46:08.283 2025.04.03 00:47:04.248 2025.04.02 22:42:03.135 2025.04.02 22:42:58.900
48 6.0.0.710 2025.04.01 40651 P P 56087 53844 2025.04.02 00:43:14.626 2025.04.02 00:44:10.713 2025.04.01 22:40:50.951 2025.04.01 22:41:44.795
49 6.0.0.708 2025.03.31 cb069 P P 56067 49869 2025.04.01 00:32:02.065 2025.04.01 00:32:58.132 2025.03.31 22:36:09.461 2025.03.31 22:36:59.330
50 6.0.0.707 2025.03.28 4bd4f P P 56191 44736 2025.03.31 00:35:26.899 2025.03.31 00:36:23.090 2025.03.30 22:36:14.971 2025.03.30 22:36:59.707
51 6.0.0.698 2025.03.26 d72a7 P P 55308 54459 2025.03.28 00:54:29.942 2025.03.28 00:55:25.250 2025.03.27 22:44:04.511 2025.03.27 22:44:58.970
52 6.0.0.693 2025.03.24 0b559 P P 54679 51124 2025.03.25 00:44:42.313 2025.03.25 00:45:36.992 2025.03.24 22:39:23.090 2025.03.24 22:40:14.214
53 6.0.0.687 2025.03.22 730aa P P 57022 58164 2025.03.24 00:56:45.853 2025.03.24 00:57:42.875 2025.03.23 22:46:59.426 2025.03.23 22:47:57.590
54 6.0.0.686 2025.03.20 71bf6 P P 56253 57786 2025.03.21 01:00:56.754 2025.03.21 01:01:53.007 2025.03.20 22:50:38.947 2025.03.20 22:51:36.733
55 6.0.0.685 2025.03.19 a8577 P P 69524 57310 2025.03.20 01:09:40.362 2025.03.20 01:10:49.886 2025.03.19 22:48:19.333 2025.03.19 22:49:16.643
56 6.0.0.680 2025.03.18 90d29 P P 7503 6487 2025.03.19 11:23:44.572 2025.03.19 11:23:52.075 2025.03.19 09:33:09.285 2025.03.19 09:33:15.772
57 6.0.0.677 2025.03.16 c0a60 P P 7510 6579 2025.03.17 00:50:18.930 2025.03.17 00:50:26.440 2025.03.16 22:43:16.966 2025.03.16 22:43:23.545
58 6.0.0.676 2025.03.15 3034f P P 7639 6752 2025.03.16 16:23:14.405 2025.03.16 16:23:22.044 2025.03.16 14:34:29.548 2025.03.16 14:34:36.300
59 6.0.0.673 2025.03.13 40f5b P P 9146 7044 2025.03.14 00:46:55.143 2025.03.14 00:47:04.289 2025.03.13 22:42:37.871 2025.03.13 22:42:44.915
60 6.0.0.671 2025.03.12 a4fff P P 7351 7066 2025.03.13 00:50:19.860 2025.03.13 00:50:27.211 2025.03.12 22:45:38.080 2025.03.12 22:45:45.146
61 6.0.0.663 2025.03.11 daad2 P P 7453 7038 2025.03.12 00:51:00.671 2025.03.12 00:51:08.124 2025.03.11 22:44:32.264 2025.03.11 22:44:39.302
62 6.0.0.661 2025.03.07 b9869 P P 7371 6692 2025.03.11 00:26:00.482 2025.03.11 00:26:07.853 2025.03.10 22:34:41.527 2025.03.10 22:34:48.219
63 6.0.0.660 2025.03.04 a6700 P P 7497 6332 2025.03.07 00:36:26.433 2025.03.07 00:36:33.930 2025.03.06 22:39:46.509 2025.03.06 22:39:52.841
64 6.0.0.658 2025.03.03 f15f8 P P 7393 6682 2025.03.04 00:29:45.303 2025.03.04 00:29:52.696 2025.03.03 22:35:24.178 2025.03.03 22:35:30.860
65 6.0.0.656 2025.02.27 25fb4 P P 7429 7094 2025.03.03 01:04:04.570 2025.03.03 01:04:11.999 2025.03.02 22:47:20.693 2025.03.02 22:47:27.787
66 6.0.0.655 2025.02.25 6e3e0 P P 7687 7092 2025.02.27 00:33:47.606 2025.02.27 00:33:55.293 2025.02.26 22:36:44.638 2025.02.26 22:36:51.730
67 6.0.0.654 2025.02.24 b7141 P P 8269 6813 2025.02.25 00:37:04.029 2025.02.25 00:37:12.298 2025.02.24 22:38:34.474 2025.02.24 22:38:41.287
68 6.0.0.652 2025.02.22 22662 P P 7531 6652 2025.02.24 07:57:07.282 2025.02.24 07:57:14.813 2025.02.24 00:51:33.105 2025.02.24 00:51:39.757
69 6.0.0.647 2025.02.21 9fccb P P 7461 6135 2025.02.22 00:39:21.221 2025.02.22 00:39:28.682 2025.02.21 22:40:40.384 2025.02.21 22:40:46.519
70 6.0.0.640 2025.02.19 9b8ac P P 7013 6888 2025.02.20 00:33:52.277 2025.02.20 00:33:59.290 2025.02.19 22:36:51.029 2025.02.19 22:36:57.917
71 6.0.0.639 2025.02.18 201a4 P P 8036 6684 2025.02.19 00:28:12.881 2025.02.19 00:28:20.917 2025.02.18 22:34:53.849 2025.02.18 22:35:00.533
72 6.0.0.637 2025.02.12 6d0f5 P P 9300 6213 2025.02.14 00:46:55.190 2025.02.14 00:47:04.490 2025.02.13 22:42:56.717 2025.02.13 22:43:02.930
73 6.0.0.636 2025.02.11 0424f P P 7004 6266 2025.02.12 00:42:33.923 2025.02.12 00:42:40.927 2025.02.11 22:42:07.939 2025.02.11 22:42:14.205
74 6.0.0.635 2025.02.10 f640f P P 8769 6112 2025.02.11 00:41:23.249 2025.02.11 00:41:32.018 2025.02.10 22:41:52.314 2025.02.10 22:41:58.426
75 6.0.0.629 2025.02.07 194f9 P P 7233 6118 2025.02.08 00:41:25.530 2025.02.08 00:41:32.763 2025.02.07 22:41:00.058 2025.02.07 22:41:06.176
76 6.0.0.628 2025.02.06 859d5 P P 7441 7056 2025.02.07 01:00:04.560 2025.02.07 01:00:12.001 2025.02.06 22:47:24.682 2025.02.06 22:47:31.738
77 6.0.0.621 2025.02.05 34fe7 P P 7347 7117 2025.02.06 00:55:05.575 2025.02.06 00:55:12.922 2025.02.05 22:48:05.501 2025.02.05 22:48:12.618
78 6.0.0.609 2025.02.04 76d57 P P 7419 6704 2025.02.05 00:49:48.770 2025.02.05 00:49:56.189 2025.02.04 22:43:46.610 2025.02.04 22:43:53.314
79 6.0.0.607 2025.02.03 1985b P P 7289 7076 2025.02.04 00:47:24.457 2025.02.04 00:47:31.746 2025.02.03 22:44:44.286 2025.02.03 22:44:51.362
80 6.0.0.601 2025.02.01 6af07 P P 7033 7105 2025.02.02 00:37:14.270 2025.02.02 00:37:21.303 2025.02.01 22:40:23.325 2025.02.01 22:40:30.430
81 6.0.0.600 2025.01.27 188de P P 7245 6180 2025.01.28 00:46:35.888 2025.01.28 00:46:43.133 2025.01.27 22:42:49.482 2025.01.27 22:42:55.662
82 6.0.0.599 2025.01.25 ba588 P P 8053 6093 2025.01.26 00:45:04.503 2025.01.26 00:45:12.556 2025.01.25 22:43:35.953 2025.01.25 22:43:42.046
83 6.0.0.598 2025.01.23 ddbc3 P P 7094 7028 2025.01.25 00:46:23.550 2025.01.25 00:46:30.644 2025.01.24 22:42:31.658 2025.01.24 22:42:38.686
84 6.0.0.595 2025.01.22 e62f3 P P 8568 6759 2025.01.23 00:38:10.266 2025.01.23 00:38:18.834 2025.01.22 22:37:33.046 2025.01.22 22:37:39.805
85 6.0.0.594 2025.01.21 47fb6 P P 8631 6968 2025.01.22 00:31:39.694 2025.01.22 00:31:48.325 2025.01.21 22:37:23.962 2025.01.21 22:37:30.930
86 6.0.0.590 2025.01.20 9dc1e P P 7459 6968 2025.01.21 00:39:53.147 2025.01.21 00:40:00.606 2025.01.20 22:42:05.022 2025.01.20 22:42:11.990
87 6.0.0.588 2025.01.19 b1c4e P P 9355 7233 2025.01.20 00:38:11.271 2025.01.20 00:38:20.626 2025.01.19 22:39:25.217 2025.01.19 22:39:32.450
88 6.0.0.587 2025.01.18 63e6e P P 7970 7228 2025.01.19 00:42:19.674 2025.01.19 00:42:27.644 2025.01.18 22:41:24.342 2025.01.18 22:41:31.570
89 6.0.0.585 2025.01.16 2d6bb P P 9138 6934 2025.01.18 00:35:14.932 2025.01.18 00:35:24.070 2025.01.17 22:37:57.634 2025.01.17 22:38:04.568
90 6.0.0.584 2025.01.15 a0aa2 P P 8626 7080 2025.01.16 00:40:02.172 2025.01.16 00:40:10.798 2025.01.15 22:41:02.658 2025.01.15 22:41:09.738
91 6.0.0.581 2025.01.14 21e9e P P 7063 6887 2025.01.15 00:40:27.730 2025.01.15 00:40:34.793 2025.01.14 22:39:56.779 2025.01.14 22:40:03.666
92 6.0.0.577 2025.01.13 7e293 P P 7412 7063 2025.01.14 00:42:43.316 2025.01.14 00:42:50.728 2025.01.13 22:40:30.338 2025.01.13 22:40:37.401
93 6.0.0.576 2025.01.12 05898 P P 7061 7052 2025.01.13 00:36:33.987 2025.01.13 00:36:41.048 2025.01.12 22:38:16.494 2025.01.12 22:38:23.546
94 6.0.0.573 2025.01.10 c20f3 P P 7804 6652 2025.01.11 00:38:38.958 2025.01.11 00:38:46.762 2025.01.10 22:39:18.119 2025.01.10 22:39:24.771
95 6.0.0.571 2024.12.31 81bba P P 8288 6844 2025.01.01 00:11:26.639 2025.01.01 00:11:34.927 2024.12.31 22:17:47.707 2024.12.31 22:17:54.551
96 6.0.0.570 2024.12.30 c3c8d P P 7323 6879 2024.12.31 00:12:13.528 2024.12.31 00:12:20.851 2024.12.30 22:17:40.039 2024.12.30 22:17:46.918
97 6.0.0.565 2024.12.28 5fc59 P P 6922 6054 2024.12.30 12:45:13.368 2024.12.30 12:45:20.290 2024.12.30 11:25:27.289 2024.12.30 11:25:33.343
98 6.0.0.564 2024.12.26 12514 P P 8384 6549 2024.12.27 00:13:18.964 2024.12.27 00:13:27.348 2024.12.26 22:17:49.558 2024.12.26 22:17:56.107
99 6.0.0.560 2024.12.25 fa83e P P 6570 6677 2024.12.26 00:05:55.457 2024.12.26 00:06:02.027 2024.12.25 22:17:32.322 2024.12.25 22:17:38.999
100 6.0.0.559 2024.12.23 cc800 P P 6838 6825 2024.12.25 00:07:01.943 2024.12.25 00:07:08.781 2024.12.24 22:18:23.042 2024.12.24 22:18:29.867
101 6.0.0.556 2024.12.22 a0404 P P 8437 6732 2024.12.23 00:12:58.783 2024.12.23 00:13:07.220 2024.12.22 22:17:35.983 2024.12.22 22:17:42.715
102 6.0.0.555 2024.12.19 6990a P P 7639 5972 2024.12.21 13:20:36.681 2024.12.21 13:20:44.320 2024.12.21 12:00:58.796 2024.12.21 12:01:04.768
103 6.0.0.553 2024.12.17 d1f8a P P 6267 6723 2024.12.18 00:07:54.215 2024.12.18 00:08:00.482 2024.12.17 22:18:32.115 2024.12.17 22:18:38.838
104 6.0.0.552 2024.12.11 85e25 P P 6799 6571 2024.12.16 00:12:07.840 2024.12.16 00:12:14.639 2024.12.15 22:18:07.258 2024.12.15 22:18:13.829
105 6.0.0.550 2024.12.10 b37ac P P 7580 6990 2024.12.11 00:06:23.747 2024.12.11 00:06:31.327 2024.12.10 22:20:05.515 2024.12.10 22:20:12.505
106 6.0.0.548 2024.12.08 2cc77 P P 6632 6797 2024.12.09 00:01:20.890 2024.12.09 00:01:27.522 2024.12.08 22:15:05.281 2024.12.08 22:15:12.078
107 6.0.0.544 2024.12.05 96943 P P 8197 6872 2024.12.06 00:04:39.954 2024.12.06 00:04:48.151 2024.12.05 22:19:54.607 2024.12.05 22:20:01.479
108 6.0.0.543 2024.12.03 30b77 P P 7070 6713 2024.12.04 00:04:27.807 2024.12.04 00:04:34.877 2024.12.03 22:18:02.562 2024.12.03 22:18:09.275
109 6.0.0.540 2024.12.02 4a1f4 P P 7009 5918 2024.12.03 00:00:49.179 2024.12.03 00:00:56.188 2024.12.02 22:15:12.914 2024.12.02 22:15:18.832
110 6.0.0.539 2024.11.28 1f283 P P 7583 6750 2024.11.30 00:13:46.742 2024.11.30 00:13:54.325 2024.11.29 22:17:25.545 2024.11.29 22:17:32.295
111 6.0.0.535 2024.11.26 77b95 P P 6795 5889 2024.11.26 23:56:56.982 2024.11.26 23:57:03.777 2024.11.26 22:14:27.150 2024.11.26 22:14:33.039
112 6.0.0.534 2024.11.25 e9584 P P 6582 6672 2024.11.25 23:58:17.409 2024.11.25 23:58:23.991 2024.11.25 22:15:19.963 2024.11.25 22:15:26.635
113 6.0.0.533 2024.11.17 933ac P P 8358 6016 2024.11.22 10:01:02.363 2024.11.22 10:01:10.721 2024.11.22 08:43:44.892 2024.11.22 08:43:50.908
114 6.0.0.532 2024.11.16 9e263 P P 6778 6191 2024.11.16 23:48:07.844 2024.11.16 23:48:14.622 2024.11.16 22:13:50.167 2024.11.16 22:13:56.358
115 6.0.0.530 2024.11.15 49804 P P 6564 5720 2024.11.16 01:55:10.895 2024.11.16 01:55:17.459 2024.11.16 00:14:25.650 2024.11.16 00:14:31.370
116 6.0.0.528 2024.11.14 9625b P P 7277 6332 2024.11.15 01:58:43.751 2024.11.15 01:58:51.028 2024.11.15 00:15:17.549 2024.11.15 00:15:23.881
117 6.0.0.526 2024.11.12 65b80 P P 7268 6768 2024.11.14 01:58:19.734 2024.11.14 01:58:27.002 2024.11.14 00:15:08.274 2024.11.14 00:15:15.042
118 6.0.0.523 2024.11.08 8ca23 P P 6812 6708 2024.11.11 01:54:37.143 2024.11.11 01:54:43.955 2024.11.11 00:13:39.872 2024.11.11 00:13:46.580
119 6.0.0.520 2024.11.07 4eefa F F 5000 3928 2024.11.08 01:50:20.233 2024.11.08 01:50:25.233 2024.11.08 00:12:25.346 2024.11.08 00:12:29.274
120 6.0.0.516 2024.11.04 b0c36 P P 6241 6153 2024.11.05 01:50:17.038 2024.11.05 01:50:23.279 2024.11.05 00:12:51.053 2024.11.05 00:12:57.206
121 6.0.0.515 2024.10.30 d53f3 P P 7321 5871 2024.11.04 01:52:45.114 2024.11.04 01:52:52.435 2024.11.04 00:13:23.728 2024.11.04 00:13:29.599
122 6.0.0.512 2024.10.29 833ef P P 7944 6444 2024.10.30 01:55:54.883 2024.10.30 01:56:02.827 2024.10.30 00:14:53.933 2024.10.30 00:15:00.377
123 6.0.0.511 2024.10.26 c4bc9 P P 6569 6095 2024.10.29 01:54:21.425 2024.10.29 01:54:27.994 2024.10.29 00:14:40.432 2024.10.29 00:14:46.527
124 6.0.0.509 2024.10.25 3aedb P P 8200 6404 2024.10.26 02:05:48.061 2024.10.26 02:05:56.261 2024.10.26 00:18:47.463 2024.10.26 00:18:53.867
125 6.0.0.508 2024.10.24 a8f5b P P 6570 6379 2024.10.25 01:59:38.601 2024.10.25 01:59:45.171 2024.10.25 00:15:37.643 2024.10.25 00:15:44.022
126 6.0.0.502 2024.10.22 6bfd7 P P 8250 6328 2024.10.23 01:59:30.501 2024.10.23 01:59:38.751 2024.10.23 00:15:25.696 2024.10.23 00:15:32.024
127 6.0.0.500 2024.10.21 be565 P P 6991 6052 2024.10.22 18:04:06.456 2024.10.22 18:04:13.447 2024.10.22 16:44:44.709 2024.10.22 16:44:50.761
128 6.0.0.499 2024.10.19 6214b P P 6618 6357 2024.10.20 01:59:10.277 2024.10.20 01:59:16.895 2024.10.20 00:16:21.672 2024.10.20 00:16:28.029
129 6.0.0.498 2024.10.18 591a7 P P 8349 5944 2024.10.19 01:57:33.980 2024.10.19 01:57:42.329 2024.10.19 00:14:53.403 2024.10.19 00:14:59.347
130 6.0.0.494 2024.10.17 cf5a4 P P 6810 6417 2024.10.18 01:58:31.493 2024.10.18 01:58:38.303 2024.10.18 00:16:03.934 2024.10.18 00:16:10.351
131 6.0.0.491 2024.10.14 dc5fb P P 7900 5908 2024.10.15 01:54:47.165 2024.10.15 01:54:55.065 2024.10.15 00:13:46.589 2024.10.15 00:13:52.497
132 6.0.0.489 2024.10.11 2ba59 P P 7720 6379 2024.10.12 02:02:48.075 2024.10.12 02:02:55.795 2024.10.12 00:16:20.163 2024.10.12 00:16:26.542
133 6.0.0.488 2024.10.09 1c93e P P 6869 6403 2024.10.10 02:11:44.064 2024.10.10 02:11:50.933 2024.10.10 00:20:54.197 2024.10.10 00:21:00.600
134 6.0.0.487 2024.10.06 065a3 P P 6858 6422 2024.10.07 02:10:48.164 2024.10.07 02:10:55.022 2024.10.07 00:20:29.508 2024.10.07 00:20:35.930
135 6.0.0.485 2024.10.04 e95c1 P P 6994 6746 2024.10.05 02:10:59.078 2024.10.05 02:11:06.072 2024.10.05 00:21:25.052 2024.10.05 00:21:31.798
136 6.0.0.483 2024.10.02 5e5ae P P 7637 6740 2024.10.03 02:06:53.051 2024.10.03 02:07:00.688 2024.10.03 00:19:49.563 2024.10.03 00:19:56.303
137 6.0.0.478 2024.09.30 b5010 P P 7646 6609 2024.10.01 02:01:26.141 2024.10.01 02:01:33.787 2024.10.01 00:18:41.300 2024.10.01 00:18:47.909
138 6.0.0.474 2024.09.26 e4efb P P 8052 6305 2024.09.30 02:01:37.717 2024.09.30 02:01:45.769 2024.09.30 00:16:16.265 2024.09.30 00:16:22.570
139 6.0.0.471 2024.09.24 01b51 P P 6969 6476 2024.09.26 00:06:28.188 2024.09.26 00:06:35.157 2024.09.25 22:17:45.623 2024.09.25 22:17:52.099
140 6.0.0.470 2024.09.23 77cc0 P P 6689 6426 2024.09.24 00:04:09.935 2024.09.24 00:04:16.624 2024.09.23 22:17:43.087 2024.09.23 22:17:49.513
141 6.0.0.467 2024.09.21 ea0b8 P P 6400 6444 2024.09.23 00:02:21.164 2024.09.23 00:02:27.564 2024.09.22 22:16:38.585 2024.09.22 22:16:45.029
142 6.0.0.466 2024.09.20 32dc6 P P 6833 6488 2024.09.21 00:00:36.993 2024.09.21 00:00:43.826 2024.09.20 22:16:02.461 2024.09.20 22:16:08.949
143 6.0.0.461 2024.09.17 2c895 P P 7707 6471 2024.09.18 00:39:33.564 2024.09.18 00:39:41.271 2024.09.17 22:40:11.897 2024.09.17 22:40:18.368
144 6.0.0.460 2024.09.11 3c253 P P 8573 6334 2024.09.17 00:40:03.336 2024.09.17 00:40:11.909 2024.09.16 22:41:16.067 2024.09.16 22:41:22.401
145 6.0.0.457 2024.09.09 fdc6f P P 7639 6915 2024.09.10 01:05:55.211 2024.09.10 01:06:02.850 2024.09.09 22:51:58.358 2024.09.09 22:52:05.273
146 6.0.0.455 2024.09.07 500d8 P P 8066 6894 2024.09.08 01:01:05.759 2024.09.08 01:01:13.825 2024.09.07 22:49:59.100 2024.09.07 22:50:05.994
147 6.0.0.454 2024.09.05 4d70f P P 8958 6801 2024.09.06 00:43:18.415 2024.09.06 00:43:27.373 2024.09.05 22:42:57.044 2024.09.05 22:43:03.845
148 6.0.0.452 2024.09.04 9ff9c P P 9232 6292 2024.09.05 00:40:38.209 2024.09.05 00:40:47.441 2024.09.04 22:41:42.690 2024.09.04 22:41:48.982
149 6.0.0.450 2024.09.02 27124 P P 10655 8469 2024.09.04 01:55:14.386 2024.09.04 01:55:25.041 2024.09.03 23:16:16.249 2024.09.03 23:16:24.718
150 6.0.0.447 2024.09.01 056ec P P 7999 6535 2024.09.02 01:12:29.671 2024.09.02 01:12:37.670 2024.09.01 22:48:51.952 2024.09.01 22:48:58.487
151 6.0.0.446 2024.08.30 fe1b2 P P 11710 6762 2024.09.01 01:10:09.802 2024.09.01 01:10:21.512 2024.08.31 22:56:37.441 2024.08.31 22:56:44.203
152 6.0.0.444 2024.08.28 785d4 P P 7708 6957 2024.08.30 01:26:52.713 2024.08.30 01:27:00.421 2024.08.29 23:08:45.632 2024.08.29 23:08:52.589
153 6.0.0.442 2024.08.21 4a68f P P 8866 6354 2024.08.28 03:38:02.981 2024.08.28 03:38:11.847 2024.08.28 00:04:46.823 2024.08.28 00:04:53.177
154 6.0.0.441 2024.08.20 75042 P P 9139 6538 2024.08.21 00:54:35.001 2024.08.21 00:54:44.140 2024.08.20 22:45:55.367 2024.08.20 22:46:01.905
155 6.0.0.438 2024.08.16 088b5 P P 6983 7102 2024.08.19 00:03:37.905 2024.08.19 00:03:44.888 2024.08.18 22:22:20.356 2024.08.18 22:22:27.458
156 6.0.0.437 2024.08.14 3c88b P P 6785 6461 2024.08.16 00:00:27.869 2024.08.16 00:00:34.654 2024.08.15 22:21:26.894 2024.08.15 22:21:33.355
157 6.0.0.432 2024.08.11 e82ac P P 8081 6509 2024.08.12 23:59:39.388 2024.08.12 23:59:47.469 2024.08.12 22:20:07.984 2024.08.12 22:20:14.493
158 6.0.0.431 2024.08.09 de5a7 P P 7694 6544 2024.08.09 23:59:46.953 2024.08.09 23:59:54.647 2024.08.09 22:20:35.234 2024.08.09 22:20:41.778
159 6.0.0.428 2024.08.08 9191b P P 7868 6691 2024.08.08 23:59:39.122 2024.08.08 23:59:46.990 2024.08.08 22:19:50.722 2024.08.08 22:19:57.413
160 6.0.0.423 2024.08.07 33b41 P P 7336 6418 2024.08.08 09:47:38.398 2024.08.08 09:47:45.734 2024.08.08 08:26:19.539 2024.08.08 08:26:25.957
161 6.0.0.421 2024.08.06 ed60d P P 7205 5939 2024.08.06 23:41:49.504 2024.08.06 23:41:56.709 2024.08.06 22:12:49.044 2024.08.06 22:12:54.983
162 6.0.0.419 2024.08.05 3505a P P 6657 5998 2024.08.05 23:43:56.573 2024.08.05 23:44:03.230 2024.08.05 22:12:46.307 2024.08.05 22:12:52.305
163 6.0.0.409 2024.08.02 ec18f P P 6922 5684 2024.08.04 23:47:23.528 2024.08.04 23:47:30.450 2024.08.04 22:13:30.442 2024.08.04 22:13:36.126
164 6.0.0.406 2024.08.01 b20be P P 7334 5902 2024.08.01 23:46:01.646 2024.08.01 23:46:08.980 2024.08.01 22:12:47.619 2024.08.01 22:12:53.521
165 6.0.0.405 2024.07.31 a62ac P P 6780 6197 2024.07.31 23:45:03.003 2024.07.31 23:45:09.783 2024.07.31 22:12:33.236 2024.07.31 22:12:39.433
166 6.0.0.403 2024.07.29 30f03 P P 8109 6024 2024.07.29 23:44:34.698 2024.07.29 23:44:42.807 2024.07.29 22:12:20.853 2024.07.29 22:12:26.877
167 6.0.0.401 2024.07.26 24e41 P P 6720 6051 2024.07.26 23:41:33.962 2024.07.26 23:41:40.682 2024.07.26 22:12:20.430 2024.07.26 22:12:26.481
168 6.0.0.400 2024.07.24 5bb78 P P 6674 6328 2024.07.24 23:41:23.578 2024.07.24 23:41:30.252 2024.07.24 22:12:30.949 2024.07.24 22:12:37.277
169 6.0.0.398 2024.07.23 85b18 P P 6811 6105 2024.07.23 23:47:06.330 2024.07.23 23:47:13.141 2024.07.23 22:18:20.796 2024.07.23 22:18:26.901
170 6.0.0.397 2024.07.22 c734c P P 7752 5912 2024.07.22 23:41:08.293 2024.07.22 23:41:16.045 2024.07.22 22:12:26.817 2024.07.22 22:12:32.729
171 6.0.0.396 2024.07.13 cf952 P P 8374 6193 2024.07.21 23:42:31.127 2024.07.21 23:42:39.501 2024.07.21 22:12:20.981 2024.07.21 22:12:27.174
172 6.0.0.395 2024.07.10 845f4 P P 6680 6323 2024.07.12 23:43:30.664 2024.07.12 23:43:37.344 2024.07.12 22:11:29.298 2024.07.12 22:11:35.621
173 6.0.0.392 2024.07.09 ea301 P P 6686 6148 2024.07.09 23:38:43.885 2024.07.09 23:38:50.571 2024.07.09 22:10:43.144 2024.07.09 22:10:49.292
174 6.0.0.391 2024.07.08 7d50c P P 6692 6156 2024.07.08 23:39:55.779 2024.07.08 23:40:02.471 2024.07.08 22:11:42.770 2024.07.08 22:11:48.926
175 6.0.0.389 2024.07.05 cc71c P P 7323 6395 2024.07.05 23:44:05.842 2024.07.05 23:44:13.165 2024.07.05 22:11:32.587 2024.07.05 22:11:38.982
176 6.0.0.388 2024.06.30 e5700 P P 6636 5934 2024.06.30 23:39:54.217 2024.06.30 23:40:00.853 2024.06.30 22:11:57.223 2024.06.30 22:12:03.157
177 6.0.0.387 2024.06.27 7c28a P P 6723 6189 2024.06.27 23:38:56.725 2024.06.27 23:39:03.448 2024.06.27 22:11:39.601 2024.06.27 22:11:45.790
178 6.0.0.386 2024.06.23 7c57f P P 8141 6167 2024.06.23 23:36:10.936 2024.06.23 23:36:19.077 2024.06.23 22:10:20.475 2024.06.23 22:10:26.642
179 6.0.0.384 2024.06.21 24d99 P P 6875 6133 2024.06.21 23:40:51.273 2024.06.21 23:40:58.148 2024.06.21 22:11:53.467 2024.06.21 22:11:59.600
180 6.0.0.374 2024.06.13 0097d P P 6614 6407 2024.06.20 23:38:50.116 2024.06.20 23:38:56.730 2024.06.20 22:11:05.481 2024.06.20 22:11:11.888
181 6.0.0.373 2024.06.09 363f0 P P 7620 6340 2024.06.13 13:47:25.380 2024.06.13 13:47:33.000 2024.06.13 12:34:30.161 2024.06.13 12:34:36.501
182 6.0.0.371 2024.06.08 f7130 P P 7020 5916 2024.06.11 22:33:51.436 2024.06.11 22:33:58.456 2024.06.11 21:27:40.270 2024.06.11 21:27:46.186
183 6.0.0.366 2024.05.30 ab2c9 P P 9617 6184 2024.06.12 09:49:08.310 2024.06.12 09:49:17.927 2024.06.12 08:02:00.747 2024.06.12 08:02:06.931
184 6.0.0.363 2024.05.27 06703 P P 6909 5953 2024.06.12 14:40:35.205 2024.06.12 14:40:42.114 2024.06.12 13:30:45.545 2024.06.12 13:30:51.498
185 6.0.0.359 2024.05.23 9cb11 P P 6732 5809 2024.06.12 12:32:18.409 2024.06.12 12:32:25.141 2024.06.12 11:23:14.176 2024.06.12 11:23:19.985
186 6.0.0.358 2024.05.21 995dd P P 6897 5938 2024.06.12 17:15:26.141 2024.06.12 17:15:33.038 2024.06.12 16:08:05.639 2024.06.12 16:08:11.577
187 6.0.0.357 2024.05.18 bf6c4 P P 7004 5894 2024.06.12 21:51:52.140 2024.06.12 21:51:59.144 2024.06.12 20:43:57.000 2024.06.12 20:44:02.894
188 6.0.0.356 2024.05.17 eab06 P P 7398 5885 2024.06.13 05:58:17.991 2024.06.13 05:58:25.389 2024.06.13 04:50:39.144 2024.06.13 04:50:45.029
189 6.0.0.355 2024.05.16 8dd6e P P 7173 5972 2024.06.13 08:06:08.833 2024.06.13 08:06:16.006 2024.06.13 06:58:13.124 2024.06.13 06:58:19.096
190 6.0.0.354 2024.05.15 d3adc P P 7406 6351 2024.06.13 11:11:55.720 2024.06.13 11:12:03.126 2024.06.13 09:59:41.882 2024.06.13 09:59:48.233
191 6.0.0.351 2024.05.14 2e3e0 P P 7017 6135 2024.06.13 16:25:40.641 2024.06.13 16:25:47.658 2024.06.13 15:12:59.024 2024.06.13 15:13:05.159

Elapsed time, ms. Chart for last 150 runs:

Last commits information (all timestamps in UTC):