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   
    Select Expression
    ....-> Sort
    ........-> Filter
    ............-> Hash Join (inner)
    ................-> Table "RELATIONS" as "R" Full Scan
    ................-> Record Buffer (record length: 81)
    ....................-> Filter
    ........................-> Table "COUNTRIES" as "C" Access By ID
    ............................-> Bitmap
  - ................................-> Index "I_COUNTRYNAME" Range Scan (full match)
  + ................................-> Index "I_COUNTRYNAME" Unique Scan

LOG DETAILS:

2024-11-18 11:11:26.727
2024-11-18 11:11:26.734 act = <firebird.qa.plugin.Action object at [hex]>
2024-11-18 11:11:26.740 capsys = <_pytest.capture.CaptureFixture object at [hex]>
2024-11-18 11:11:26.746
2024-11-18 11:11:26.752 @pytest.mark.version('>=3')
2024-11-18 11:11:26.758 def test_1(act: Action, capsys):
2024-11-18 11:11:26.763
2024-11-18 11:11:26.769 test_sql = """
2024-11-18 11:11:26.775 select
2024-11-18 11:11:26.780 r.relationname,
2024-11-18 11:11:26.785 c.countryname
2024-11-18 11:11:26.791 from
2024-11-18 11:11:26.796 relations r
2024-11-18 11:11:26.802 join countries c on (c.countryid = r.countryid)
2024-11-18 11:11:26.808 where
2024-11-18 11:11:26.813 c.countryname like 'N%'
2024-11-18 11:11:26.819 order by
2024-11-18 11:11:26.828 r.relationname desc;
2024-11-18 11:11:26.833 """
2024-11-18 11:11:26.838
2024-11-18 11:11:26.843 with act.db.connect() as con:
2024-11-18 11:11:26.847 cur = con.cursor()
2024-11-18 11:11:26.852 with cur.prepare(test_sql) as ps:
2024-11-18 11:11:26.857 print( '\n'.join( [replace_leading(s) for s in ps.detailed_plan.split('\n')] ) )
2024-11-18 11:11:26.866
2024-11-18 11:11:26.874 expected_stdout_4x = """
2024-11-18 11:11:26.881 Select Expression
2024-11-18 11:11:26.889 ....-> Sort (record length: 150, key length: 44)
2024-11-18 11:11:26.896 ........-> Nested Loop Join (inner)
2024-11-18 11:11:26.904 ............-> Filter
2024-11-18 11:11:26.916 ................-> Table "COUNTRIES" as "C" Access By ID
2024-11-18 11:11:26.927 ....................-> Bitmap
2024-11-18 11:11:26.938 ........................-> Index "I_COUNTRYNAME" Unique Scan
2024-11-18 11:11:26.946 ............-> Filter
2024-11-18 11:11:26.953 ................-> Table "RELATIONS" as "R" Access By ID
2024-11-18 11:11:26.960 ....................-> Bitmap
2024-11-18 11:11:26.966 ........................-> Index "FK_RELATIONS_COUNTRIES" Range Scan (full match)
2024-11-18 11:11:26.973 """
2024-11-18 11:11:26.979
2024-11-18 11:11:26.985 expected_stdout_5x = """
2024-11-18 11:11:26.991 Select Expression
2024-11-18 11:11:26.997 ....-> Sort (record length: 150, key length: 44)
2024-11-18 11:11:27.003 ........-> Filter
2024-11-18 11:11:27.009 ............-> Hash Join (inner)
2024-11-18 11:11:27.015 ................-> Table "RELATIONS" as "R" Full Scan
2024-11-18 11:11:27.022 ................-> Record Buffer (record length: 81)
2024-11-18 11:11:27.028 ....................-> Filter
2024-11-18 11:11:27.035 ........................-> Table "COUNTRIES" as "C" Access By ID
2024-11-18 11:11:27.041 ............................-> Bitmap
2024-11-18 11:11:27.049 ................................-> Index "I_COUNTRYNAME" Range Scan (full match)
2024-11-18 11:11:27.056 """
2024-11-18 11:11:27.063
2024-11-18 11:11:27.069 act.expected_stdout = expected_stdout_4x if act.is_version('<5') else expected_stdout_5x
2024-11-18 11:11:27.074 act.stdout = capsys.readouterr().out
2024-11-18 11:11:27.080 >       assert act.clean_stdout == act.clean_expected_stdout
2024-11-18 11:11:27.086 E       assert
2024-11-18 11:11:27.093 E           Select Expression
2024-11-18 11:11:27.099 E           ....-> Sort
2024-11-18 11:11:27.105 E           ........-> Filter
2024-11-18 11:11:27.111 E           ............-> Hash Join (inner)
2024-11-18 11:11:27.117 E           ................-> Table "RELATIONS" as "R" Full Scan
2024-11-18 11:11:27.123 E           ................-> Record Buffer (record length: 81)
2024-11-18 11:11:27.129 E           ....................-> Filter
2024-11-18 11:11:27.134 E           ........................-> Table "COUNTRIES" as "C" Access By ID
2024-11-18 11:11:27.140 E           ............................-> Bitmap
2024-11-18 11:11:27.147 E         - ................................-> Index "I_COUNTRYNAME" Range Scan (full match)
2024-11-18 11:11:27.159 E         + ................................-> Index "I_COUNTRYNAME" Unique Scan
2024-11-18 11:11:27.170
2024-11-18 11:11:27.176 tests/functional/arno/optimizer/test_opt_inner_join_05.py:392: AssertionError
2024-11-18 11:11:27.181 ---------------------------- Captured stdout setup -----------------------------
2024-11-18 11:11:27.187 Creating db: localhost:/var/tmp/qa_2024/test_11738/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('>=3')
    def test_1(act: Action, capsys):
    
        test_sql = """
            select
              r.relationname,
              c.countryname
            from
              relations r
              join countries c on (c.countryid = r.countryid)
            where
              c.countryname like 'N%'
            order by
            r.relationname desc;
        """
    
        with act.db.connect() as con:
            cur = con.cursor()
            with cur.prepare(test_sql) as ps:
                print( '\n'.join( [replace_leading(s) for s in ps.detailed_plan.split('\n')] ) )
    
        expected_stdout_4x = """
            Select Expression
            ....-> Sort (record length: 150, key length: 44)
            ........-> Nested Loop Join (inner)
            ............-> Filter
            ................-> Table "COUNTRIES" as "C" Access By ID
            ....................-> Bitmap
            ........................-> Index "I_COUNTRYNAME" Unique Scan
            ............-> Filter
            ................-> Table "RELATIONS" as "R" Access By ID
            ....................-> Bitmap
            ........................-> Index "FK_RELATIONS_COUNTRIES" Range Scan (full match)
        """
    
        expected_stdout_5x = """
            Select Expression
            ....-> Sort (record length: 150, key length: 44)
            ........-> Filter
            ............-> Hash Join (inner)
            ................-> Table "RELATIONS" as "R" Full Scan
            ................-> Record Buffer (record length: 81)
            ....................-> Filter
            ........................-> Table "COUNTRIES" as "C" Access By ID
            ............................-> Bitmap
            ................................-> Index "I_COUNTRYNAME" Range Scan (full match)
        """
    
        act.expected_stdout = expected_stdout_4x if act.is_version('<5') else expected_stdout_5x
        act.stdout = capsys.readouterr().out
>       assert act.clean_stdout == act.clean_expected_stdout
E       assert   
E           Select Expression
E           ....-> Sort
E           ........-> Filter
E           ............-> Hash Join (inner)
E           ................-> Table "RELATIONS" as "R" Full Scan
E           ................-> Record Buffer (record length: 81)
E           ....................-> Filter
E           ........................-> Table "COUNTRIES" as "C" Access By ID
E           ............................-> Bitmap
E         - ................................-> Index "I_COUNTRYNAME" Range Scan (full match)
E         + ................................-> Index "I_COUNTRYNAME" Unique Scan

tests/functional/arno/optimizer/test_opt_inner_join_05.py:392: 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.19 4bd4c P P 882 638 2025.06.27 12:23:27.390 2025.06.27 12:23:28.272 2025.06.27 11:03:46.672 2025.06.27 11:03:47.310
2 5.0.3.1657 2025.06.11 dae6f P P 982 716 2025.06.17 07:28:37.011 2025.06.17 07:28:37.993 2025.06.17 06:07:41.456 2025.06.17 06:07:42.172
3 5.0.3.1657 2025.06.10 dbc92 P P 1062 809 2025.06.11 12:19:10.466 2025.06.11 12:19:11.528 2025.06.11 10:49:46.276 2025.06.11 10:49:47.085
4 5.0.3.1656 2025.05.20 c4b11 P P 1087 709 2025.06.10 12:13:02.009 2025.06.10 12:13:03.096 2025.06.10 10:48:00.991 2025.06.10 10:48:01.700
5 5.0.3.1652 2025.05.13 f51c6 P P 1253 724 2025.05.20 05:17:32.261 2025.05.20 05:17:33.514 2025.05.20 03:40:35.091 2025.05.20 03:40:35.815
6 5.0.3.1651 2025.04.30 141ef P P 1234 772 2025.05.13 12:15:34.060 2025.05.13 12:15:35.294 2025.05.13 10:37:31.987 2025.05.13 10:37:32.759
7 5.0.3.1650 2025.04.28 4cbff P P 1179 804 2025.05.01 11:49:22.219 2025.05.01 11:49:23.398 2025.05.01 10:12:16.457 2025.05.01 10:12:17.261
8 5.0.3.1649 2025.04.21 5b2d0 P P 1088 706 2025.04.28 05:47:06.327 2025.04.28 05:47:07.415 2025.04.28 04:11:54.652 2025.04.28 04:11:55.358
9 5.0.3.1648 2025.04.18 2f4c5 P P 1155 758 2025.04.20 05:38:48.940 2025.04.20 05:38:50.095 2025.04.20 04:06:12.148 2025.04.20 04:06:12.906
10 5.0.3.1635 2025.03.31 22ec6 P P 1244 854 2025.04.18 12:01:59.154 2025.04.18 12:02:00.398 2025.04.18 10:25:26.324 2025.04.18 10:25:27.178
11 5.0.3.1633 2025.03.28 3123a P P 1116 732 2025.03.31 10:35:34.228 2025.03.31 10:35:35.344 2025.03.31 09:05:30.881 2025.03.31 09:05:31.613
12 5.0.3.1633 2025.03.27 e0fb8 P P 1149 785 2025.03.28 11:11:05.617 2025.03.28 11:11:06.766 2025.03.28 09:38:21.002 2025.03.28 09:38:21.787
13 5.0.3.1631 2025.03.21 1925b P P 1162 711 2025.03.27 10:58:46.778 2025.03.27 10:58:47.940 2025.03.27 09:26:48.883 2025.03.27 09:26:49.594
14 5.0.3.1628 2025.03.14 16d05 P P 1108 557 2025.03.17 08:31:56.597 2025.03.17 08:31:57.705 2025.03.17 06:51:05.685 2025.03.17 06:51:06.242
15 5.0.3.1627 2025.02.26 4e218 P P 1071 577 2025.03.14 11:46:18.849 2025.03.14 11:46:19.920 2025.03.14 10:04:22.750 2025.03.14 10:04:23.327
16 5.0.3.1624 2025.02.25 dc3b2 P P 995 619 2025.02.26 10:36:51.761 2025.02.26 10:36:52.756 2025.02.26 09:00:22.708 2025.02.26 09:00:23.327
17 5.0.2.1615 2025.02.20 4a726 P P 959 557 2025.02.25 11:03:24.207 2025.02.25 11:03:25.166 2025.02.25 09:25:30.738 2025.02.25 09:25:31.295
18 5.0.2.1615 2025.02.14 9cb76 P P 967 531 2025.02.20 07:52:35.078 2025.02.20 07:52:36.045 2025.02.20 06:18:22.834 2025.02.20 06:18:23.365
19 5.0.2.1577 2024.12.24 3c80e P P 1015 555 2025.02.14 11:06:31.625 2025.02.14 11:06:32.640 2025.02.14 09:31:55.561 2025.02.14 09:31:56.116
20 5.0.2.1576 2024.12.17 646b0 P P 739 502 2024.12.24 20:28:25.380 2024.12.24 20:28:26.119 2024.12.24 17:16:37.149 2024.12.24 17:16:37.651
21 5.0.2.1575 2024.12.08 63d39 P P 770 436 2024.12.16 08:09:46.059 2024.12.16 08:09:46.829 2024.12.16 06:59:19.206 2024.12.16 06:59:19.642
22 5.0.2.1567 2024.11.26 56e63 P P 771 482 2024.12.04 07:50:54.480 2024.12.04 07:50:55.251 2024.12.04 06:38:43.294 2024.12.04 06:38:43.776
23 5.0.2.1567 2024.11.21 96f61 P P 781 444 2024.11.26 05:32:39.228 2024.11.26 05:32:40.009 2024.11.26 04:23:50.044 2024.11.26 04:23:50.488
24 5.0.2.1567 2024.11.18 e1289 P P 798 456 2024.11.21 07:36:59.974 2024.11.21 07:37:00.772 2024.11.21 06:28:56.381 2024.11.21 06:28:56.837
25 5.0.2.1533 2024.10.23 0ec43 F F 729 456 2024.11.18 07:53:22.765 2024.11.18 07:53:23.494 2024.11.18 06:43:20.480 2024.11.18 06:43:20.936
26 5.0.2.1533 2024.10.22 8af7a P P 737 414 2024.10.23 09:50:32.153 2024.10.23 09:50:32.890 2024.10.23 08:39:20.350 2024.10.23 08:39:20.764
27 5.0.2.1532 2024.10.15 36dc0 P P 793 451 2024.10.22 20:02:18.725 2024.10.22 20:02:19.518 2024.10.22 18:51:31.100 2024.10.22 18:51:31.551
28 5.0.2.1518 2024.10.04 259ba P P 780 495 2024.10.15 09:35:56.108 2024.10.15 09:35:56.888 2024.10.15 08:24:58.956 2024.10.15 08:24:59.451
29 5.0.2.1518 2024.09.26 703cd P P 814 478 2024.10.03 08:03:24.450 2024.10.03 08:03:25.264 2024.10.03 06:50:08.455 2024.10.03 06:50:08.933
30 5.0.2.1489 2024.09.05 40838 P P 883 488 2024.09.25 08:04:18.502 2024.09.25 08:04:19.385 2024.09.25 06:50:11.213 2024.09.25 06:50:11.701
31 5.0.2.1489 2024.08.31 994a6 P P 1024 808 2024.09.05 12:17:35.301 2024.09.05 12:17:36.325 2024.09.05 10:34:25.606 2024.09.05 10:34:26.414
32 5.0.2.1476 2024.08.09 843ea P P 1734 821 2024.08.31 14:50:30.586 2024.08.31 14:50:32.320 2024.08.31 12:39:35.828 2024.08.31 12:39:36.649
33 5.0.1.1454 2024.08.08 30f9f P P 967 581 2024.08.09 08:42:07.364 2024.08.09 08:42:08.331 2024.08.09 07:27:40.356 2024.08.09 07:27:40.937
34 5.0.1.1453 2024.08.06 1b9d0 P P 979 600 2024.08.08 21:20:32.094 2024.08.08 21:20:33.073 2024.08.08 20:05:53.975 2024.08.08 20:05:54.575
35 5.0.1.1453 2024.07.30 48044 P P 699 443 2024.08.06 07:22:58.071 2024.08.06 07:22:58.770 2024.08.06 06:17:43.525 2024.08.06 06:17:43.968
36 5.0.1.1453 2024.07.28 8d956 P P 701 415 2024.07.30 07:16:59.147 2024.07.30 07:16:59.848 2024.07.30 06:12:48.008 2024.07.30 06:12:48.423
37 5.0.1.1429 2024.07.19 8ee90 P P 700 477 2024.07.27 07:17:00.717 2024.07.27 07:17:01.417 2024.07.27 06:11:54.792 2024.07.27 06:11:55.269
38 5.0.1.1428 2024.07.15 00392 P P 767 408 2024.07.19 07:10:04.224 2024.07.19 07:10:04.991 2024.07.19 06:06:17.960 2024.07.19 06:06:18.368
39 5.0.1.1428 2024.06.30 67a31 P P 700 439 2024.07.15 07:11:37.135 2024.07.15 07:11:37.835 2024.07.15 06:07:21.590 2024.07.15 06:07:22.029
40 5.0.1.1415 2024.06.11 31d74 P P 687 411 2024.06.22 06:59:07.630 2024.06.22 06:59:08.317 2024.06.22 05:57:35.904 2024.06.22 05:57:36.315

Elapsed time, ms. Chart for last 40 runs:

Last commits information (all timestamps in UTC):