Check firebird.log [no messages found 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   
  - Total unique BLOB_ID values: 1
  + UNEXPECTED: number of unique BLOB_ID values is different from 1:
  + BLOB_ID_MON_STATEMENTS 0:5
  + BLOB_ID_MON_COMPILED_S 0:1

LOG DETAILS:

2025-04-18 10:06:12.433
2025-04-18 10:06:12.433 act = <firebird.qa.plugin.Action object at [hex]>
2025-04-18 10:06:12.433 capsys = <_pytest.capture.CaptureFixture object at [hex]>
2025-04-18 10:06:12.433
2025-04-18 10:06:12.433     @pytest.mark.version('>=5.0.3')
2025-04-18 10:06:12.433     def test_1(act: Action, capsys):
2025-04-18 10:06:12.433         test_sql = f"""
2025-04-18 10:06:12.433             set list on;
2025-04-18 10:06:12.433             set blob all;
2025-04-18 10:06:12.433             select
2025-04-18 10:06:12.433                  s.mon$sql_text as blob_id_mon_statements
2025-04-18 10:06:12.433                 ,c.mon$sql_text as blob_id_mon_compiled_s
2025-04-18 10:06:12.433             from mon$statements s
2025-04-18 10:06:12.433             join mon$compiled_statements c using(mon$compiled_statement_id)
2025-04-18 10:06:12.433             where mon$attachment_id = current_connection and s.mon$sql_text is not null
2025-04-18 10:06:12.434             ;
2025-04-18 10:06:12.434         """
2025-04-18 10:06:12.434
2025-04-18 10:06:12.434         act.isql(switches = ['-q'], input = test_sql, combine_output = True)
2025-04-18 10:06:12.434
2025-04-18 10:06:12.434         blob_id_pattern = re.compile('^blob_id_mon_', re.IGNORECASE);
2025-04-18 10:06:12.434
2025-04-18 10:06:12.434         blob_ids_map = {}
2025-04-18 10:06:12.434         if act.return_code == 0:
2025-04-18 10:06:12.434             # Print only interesting lines from ISQl output tail:
2025-04-18 10:06:12.434             for line in act.clean_stdout.splitlines():
2025-04-18 10:06:12.434                 if (blob_id_pattern.search(line)):
2025-04-18 10:06:12.434                     blob_ids_map[ line.split()[0] ] = line.split()[1]
2025-04-18 10:06:12.434             if len(set(blob_ids_map.values())) == 1:
2025-04-18 10:06:12.434                 print(f'{msg_prefix} {len(set(blob_ids_map.values()))}')
2025-04-18 10:06:12.434             else:
2025-04-18 10:06:12.434                 print('UNEXPECTED: number of unique BLOB_ID values is different from 1:')
2025-04-18 10:06:12.434                 for k,v in blob_ids_map.items():
2025-04-18 10:06:12.434                     print(k,v)
2025-04-18 10:06:12.434         else:
2025-04-18 10:06:12.434             # If retcode !=0 then we can print the whole output of failed gbak:
2025-04-18 10:06:12.435             print('ISQL failed, check output:')
2025-04-18 10:06:12.435             for line in act.clean_stdout.splitlines():
2025-04-18 10:06:12.435                 print(line)
2025-04-18 10:06:12.435         act.reset()
2025-04-18 10:06:12.435
2025-04-18 10:06:12.435         expected_stdout = f"""
2025-04-18 10:06:12.435             {msg_prefix} 1
2025-04-18 10:06:12.435         """
2025-04-18 10:06:12.435
2025-04-18 10:06:12.435         act.expected_stdout = expected_stdout
2025-04-18 10:06:12.435         act.stdout = capsys.readouterr().out
2025-04-18 10:06:12.435 >       assert act.clean_stdout == act.clean_expected_stdout
2025-04-18 10:06:12.435 E       assert
2025-04-18 10:06:12.435 E         - Total unique BLOB_ID values: 1
2025-04-18 10:06:12.435 E         + UNEXPECTED: number of unique BLOB_ID values is different from 1:
2025-04-18 10:06:12.435 E         + BLOB_ID_MON_STATEMENTS 0:5
2025-04-18 10:06:12.435 E         + BLOB_ID_MON_COMPILED_S 0:1
2025-04-18 10:06:12.435
2025-04-18 10:06:12.435 tests\bugs\gh_8513_test.py:75: AssertionError
2025-04-18 10:06:12.435 ---------------------------- Captured stdout setup ----------------------------
2025-04-18 10:06:12.435 Creating db: localhost:H:\QA\temp\qa2024.tmp\fbqa\test_11716\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]>
capsys = <_pytest.capture.CaptureFixture pytest object at [hex]>

    @pytest.mark.version('>=5.0.3')
    def test_1(act: Action, capsys):
        test_sql = f"""
            set list on;
            set blob all;
            select
                 s.mon$sql_text as blob_id_mon_statements
                ,c.mon$sql_text as blob_id_mon_compiled_s
            from mon$statements s
            join mon$compiled_statements c using(mon$compiled_statement_id)
            where mon$attachment_id = current_connection and s.mon$sql_text is not null
            ;
        """
    
        act.isql(switches = ['-q'], input = test_sql, combine_output = True)
    
        blob_id_pattern = re.compile('^blob_id_mon_', re.IGNORECASE);
    
        blob_ids_map = {}
        if act.return_code == 0:
            # Print only interesting lines from ISQl output tail:
            for line in act.clean_stdout.splitlines():
                if (blob_id_pattern.search(line)):
                    blob_ids_map[ line.split()[0] ] = line.split()[1]
            if len(set(blob_ids_map.values())) == 1:
                print(f'{msg_prefix} {len(set(blob_ids_map.values()))}')
            else:
                print('UNEXPECTED: number of unique BLOB_ID values is different from 1:')
                for k,v in blob_ids_map.items():
                    print(k,v)
        else:
            # If retcode !=0 then we can print the whole output of failed gbak:
            print('ISQL failed, check output:')
            for line in act.clean_stdout.splitlines():
                print(line)
        act.reset()
    
        expected_stdout = f"""
            {msg_prefix} 1
        """
    
        act.expected_stdout = expected_stdout
        act.stdout = capsys.readouterr().out
>       assert act.clean_stdout == act.clean_expected_stdout
E       assert   
E         - Total unique BLOB_ID values: 1
E         + UNEXPECTED: number of unique BLOB_ID values is different from 1:
E         + BLOB_ID_MON_STATEMENTS 0:5
E         + BLOB_ID_MON_COMPILED_S 0:1

tests\bugs\gh_8513_test.py:75: 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 5.0.3.1657 2025.06.26 dcb8a P P 593 374 2025.06.27 11:08:46.560 2025.06.27 11:08:47.153 2025.06.27 10:07:35.217 2025.06.27 10:07:35.591
2 5.0.3.1657 2025.06.20 8b4d2 P P 579 376 2025.06.26 11:23:14.683 2025.06.26 11:23:15.262 2025.06.26 10:21:51.625 2025.06.26 10:21:52.001
3 5.0.3.1657 2025.06.19 4bd4c P P 620 379 2025.06.20 05:27:29.120 2025.06.20 05:27:29.740 2025.06.20 04:26:10.274 2025.06.20 04:26:10.653
4 5.0.3.1657 2025.06.11 dae6f P P 576 378 2025.06.19 10:58:56.210 2025.06.19 10:58:56.786 2025.06.19 09:57:34.449 2025.06.19 09:57:34.827
5 5.0.3.1657 2025.06.10 dbc92 P P 600 388 2025.06.11 08:45:06.087 2025.06.11 08:45:06.687 2025.06.11 07:43:30.975 2025.06.11 07:43:31.363
6 5.0.3.1656 2025.06.05 00512 P P 608 376 2025.06.10 10:00:36.225 2025.06.10 10:00:36.833 2025.06.10 08:58:36.662 2025.06.10 08:58:37.038
7 5.0.3.1656 2025.05.20 c4b11 P P 571 372 2025.06.03 09:47:29.262 2025.06.03 09:47:29.833 2025.06.03 08:46:40.005 2025.06.03 08:46:40.377
8 5.0.3.1652 2025.05.13 f51c6 P P 584 379 2025.05.21 06:28:27.733 2025.05.21 06:28:28.317 2025.05.21 05:27:55.633 2025.05.21 05:27:56.012
9 5.0.3.1651 2025.05.08 ee9d2 P E 575 2406 2025.05.13 06:41:07.375 2025.05.13 06:41:07.950 2025.05.13 05:22:08.509 2025.05.13 05:22:10.915
10 5.0.3.1651 2025.05.04 3d914 P E 580 2392 2025.05.09 04:30:10.645 2025.05.09 04:30:11.225 2025.05.09 03:11:06.363 2025.05.09 03:11:08.755
11 5.0.3.1651 2025.04.30 141ef P E 577 2403 2025.05.02 04:37:47.016 2025.05.02 04:37:47.593 2025.05.02 03:18:59.703 2025.05.02 03:19:02.106
12 5.0.3.1650 2025.04.30 6253f P E 600 2380 2025.05.01 04:36:50.304 2025.05.01 04:36:50.904 2025.05.01 03:17:55.948 2025.05.01 03:17:58.328
13 5.0.3.1650 2025.04.28 4cbff P E 602 2422 2025.04.30 04:35:51.361 2025.04.30 04:35:51.963 2025.04.30 03:17:08.997 2025.04.30 03:17:11.419
14 5.0.3.1649 2025.04.21 5b2d0 P E 616 2430 2025.04.26 10:09:49.514 2025.04.26 10:09:50.130 2025.04.26 08:50:09.060 2025.04.26 08:50:11.490
15 5.0.3.1648 2025.04.18 2f4c5 P P 590 374 2025.04.20 04:21:04.462 2025.04.20 04:21:05.052 2025.04.20 03:19:29.655 2025.04.20 03:19:30.029
16 5.0.3.1635 2025.04.03 f6bd1 F E 625 2408 2025.04.18 06:48:47.644 2025.04.18 06:48:48.269 2025.04.18 05:29:24.017 2025.04.18 05:29:26.425

Elapsed time, ms. Chart for last 16 runs:

Last commits information (all timestamps in UTC):