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   
  + set planonly;
  + select * from test t where x = 0 plan (t natural); -- 1
  + PLAN (T NATURAL)
  + select * from v_test1 v1; -- 2
  + PLAN (V1 T INDEX (TEST_X_ASC))
  + select * from v_test1 v2; -- 3
  + PLAN (V2 T INDEX (TEST_X_ASC))
  + select * from v_test1 v1 where v1.x = 0 plan (v1 natural); -- 4
  + PLAN (V1 T NATURAL)
  + select * from v_test2 v2 where v2.x = 0 plan (v2 natural); -- 5
  + PLAN (V2 T NATURAL)
  + select * from v_test1 v1 where v1.x = 0 PLAN (V1 INDEX (TEST_X_DESC)) ; -- 6
  + PLAN (V1 T INDEX (TEST_X_DESC))
  + select * from v_test2 v2 where v2.x = 0 PLAN (V2 INDEX (TEST_X_DESC)) ; -- 7
  + PLAN (V2 T INDEX (TEST_X_DESC))
  + select * from v_test1 v1 where v1.x = 50 and v1.y = 5000 PLAN (V1 INDEX (test_x_y)) ; -- 8
  + PLAN (V1 T INDEX (TEST_X_Y))
  + select * from v_test1 v2 where v2.x = 50 and v2.y = 5000 PLAN (V2 INDEX (test_y_x)) ; -- 9
  + PLAN (V2 T INDEX (TEST_Y_X))
  + select * from v_test1 v1 where v1.x + v1.y = 1000 PLAN (V1 INDEX (test_x_y)); -- 10
  + PLAN (V1 T INDEX (TEST_X_Y))
  + select * from v_test2 v2 where v2.x - v2.y = 1000 PLAN (V2 INDEX (test_x_y)); -- 11
  + PLAN (V2 T INDEX (TEST_X_Y))
  + select * from v_test1 v1 where v1.x + v1.y = 1000 PLAN (V1 INDEX (test_sum_x_y)); -- 12
  + PLAN (V1 T INDEX (TEST_SUM_X_Y))
  + select * from v_test2 v2 where v2.x - v2.y = 1000 PLAN (V2 INDEX (test_sub_x_y)); -- 13
  + PLAN (V2 T INDEX (TEST_SUB_X_Y))
  + -- NB: here optimizer will use index __NOT__ from view V3 DDL:
  + -- PLAN (V3 T INDEX (TEST_X_ASC))
  + select * from v_test3 v3; -- 14
  + PLAN (V3 T INDEX (TEST_X_ASC))
  + select * from v_test3 v3 plan ( v3 index(test_x_y) );
  + PLAN (V3 T INDEX (TEST_X_Y))
  + -- NB: here optimizer will use index __NOT__ from view V3 DDL:
  + -- PLAN (V4 V_TEST3 T INDEX (TEST_X_ASC))
  + select * from v_test4 v4; -- 15
  + PLAN (V4 V_TEST3 T INDEX (TEST_X_ASC))
  + select * from v_test4 v4 PLAN (V4 V_TEST3 T INDEX (TEST_X_Y)); -- 16
  + PLAN (V4 V_TEST3 T INDEX (TEST_X_Y))

LOG DETAILS:

2025-06-26 18:06:31.038
2025-06-26 18:06:31.043 act = <firebird.qa.plugin.Action object at [hex]>
2025-06-26 18:06:31.049
2025-06-26 18:06:31.054 @pytest.mark.version('>=3')
2025-06-26 18:06:31.060 def test_1(act: Action):
2025-06-26 18:06:31.066 act.expected_stdout = expected_stdout
2025-06-26 18:06:31.079 act.execute()
2025-06-26 18:06:31.089 >       assert act.clean_stdout == act.clean_expected_stdout
2025-06-26 18:06:31.096 E       assert
2025-06-26 18:06:31.101 E         + set planonly;
2025-06-26 18:06:31.105 E         + select * from test t where x = 0 plan (t natural); -- 1
2025-06-26 18:06:31.110 E         + PLAN (T NATURAL)
2025-06-26 18:06:31.115 E         + select * from v_test1 v1; -- 2
2025-06-26 18:06:31.119 E         + PLAN (V1 T INDEX (TEST_X_ASC))
2025-06-26 18:06:31.124 E         + select * from v_test1 v2; -- 3
2025-06-26 18:06:31.128 E         + PLAN (V2 T INDEX (TEST_X_ASC))
2025-06-26 18:06:31.133 E         + select * from v_test1 v1 where v1.x = 0 plan (v1 natural); -- 4
2025-06-26 18:06:31.138 E         + PLAN (V1 T NATURAL)
2025-06-26 18:06:31.143 E         + select * from v_test2 v2 where v2.x = 0 plan (v2 natural); -- 5
2025-06-26 18:06:31.147 E         + PLAN (V2 T NATURAL)
2025-06-26 18:06:31.151 E         + select * from v_test1 v1 where v1.x = 0 PLAN (V1 INDEX (TEST_X_DESC)) ; -- 6
2025-06-26 18:06:31.156 E         + PLAN (V1 T INDEX (TEST_X_DESC))
2025-06-26 18:06:31.161 E         + select * from v_test2 v2 where v2.x = 0 PLAN (V2 INDEX (TEST_X_DESC)) ; -- 7
2025-06-26 18:06:31.165 E         + PLAN (V2 T INDEX (TEST_X_DESC))
2025-06-26 18:06:31.170 E         + select * from v_test1 v1 where v1.x = 50 and v1.y = 5000 PLAN (V1 INDEX (test_x_y)) ; -- 8
2025-06-26 18:06:31.175 E         + PLAN (V1 T INDEX (TEST_X_Y))
2025-06-26 18:06:31.179 E         + select * from v_test1 v2 where v2.x = 50 and v2.y = 5000 PLAN (V2 INDEX (test_y_x)) ; -- 9
2025-06-26 18:06:31.184 E         + PLAN (V2 T INDEX (TEST_Y_X))
2025-06-26 18:06:31.190 E         + select * from v_test1 v1 where v1.x + v1.y = 1000 PLAN (V1 INDEX (test_x_y)); -- 10
2025-06-26 18:06:31.195 E         + PLAN (V1 T INDEX (TEST_X_Y))
2025-06-26 18:06:31.200 E         + select * from v_test2 v2 where v2.x - v2.y = 1000 PLAN (V2 INDEX (test_x_y)); -- 11
2025-06-26 18:06:31.204 E         + PLAN (V2 T INDEX (TEST_X_Y))
2025-06-26 18:06:31.209 E         + select * from v_test1 v1 where v1.x + v1.y = 1000 PLAN (V1 INDEX (test_sum_x_y)); -- 12
2025-06-26 18:06:31.213 E         + PLAN (V1 T INDEX (TEST_SUM_X_Y))
2025-06-26 18:06:31.218 E         + select * from v_test2 v2 where v2.x - v2.y = 1000 PLAN (V2 INDEX (test_sub_x_y)); -- 13
2025-06-26 18:06:31.222 E         + PLAN (V2 T INDEX (TEST_SUB_X_Y))
2025-06-26 18:06:31.227 E         + -- NB: here optimizer will use index __NOT__ from view V3 DDL:
2025-06-26 18:06:31.231 E         + -- PLAN (V3 T INDEX (TEST_X_ASC))
2025-06-26 18:06:31.236 E         + select * from v_test3 v3; -- 14
2025-06-26 18:06:31.241 E         + PLAN (V3 T INDEX (TEST_X_ASC))
2025-06-26 18:06:31.245 E         + select * from v_test3 v3 plan ( v3 index(test_x_y) );
2025-06-26 18:06:31.249 E         + PLAN (V3 T INDEX (TEST_X_Y))
2025-06-26 18:06:31.253 E         + -- NB: here optimizer will use index __NOT__ from view V3 DDL:
2025-06-26 18:06:31.258 E         + -- PLAN (V4 V_TEST3 T INDEX (TEST_X_ASC))
2025-06-26 18:06:31.263 E         + select * from v_test4 v4; -- 15
2025-06-26 18:06:31.267 E         + PLAN (V4 V_TEST3 T INDEX (TEST_X_ASC))
2025-06-26 18:06:31.272 E         + select * from v_test4 v4 PLAN (V4 V_TEST3 T INDEX (TEST_X_Y)); -- 16
2025-06-26 18:06:31.276 E         + PLAN (V4 V_TEST3 T INDEX (TEST_X_Y))
2025-06-26 18:06:31.280
2025-06-26 18:06:31.285 tests/bugs/core_0203_test.py:124: AssertionError
2025-06-26 18:06:31.290 ---------------------------- Captured stdout setup -----------------------------
2025-06-26 18:06:31.295 Creating db: localhost:/var/tmp/qa_2024/test_139/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]>

    @pytest.mark.version('>=3')
    def test_1(act: Action):
        act.expected_stdout = expected_stdout
        act.execute()
>       assert act.clean_stdout == act.clean_expected_stdout
E       assert   
E         + set planonly;
E         + select * from test t where x = 0 plan (t natural); -- 1
E         + PLAN (T NATURAL)
E         + select * from v_test1 v1; -- 2
E         + PLAN (V1 T INDEX (TEST_X_ASC))
E         + select * from v_test1 v2; -- 3
E         + PLAN (V2 T INDEX (TEST_X_ASC))
E         + select * from v_test1 v1 where v1.x = 0 plan (v1 natural); -- 4
E         + PLAN (V1 T NATURAL)
E         + select * from v_test2 v2 where v2.x = 0 plan (v2 natural); -- 5
E         + PLAN (V2 T NATURAL)
E         + select * from v_test1 v1 where v1.x = 0 PLAN (V1 INDEX (TEST_X_DESC)) ; -- 6
E         + PLAN (V1 T INDEX (TEST_X_DESC))
E         + select * from v_test2 v2 where v2.x = 0 PLAN (V2 INDEX (TEST_X_DESC)) ; -- 7
E         + PLAN (V2 T INDEX (TEST_X_DESC))
E         + select * from v_test1 v1 where v1.x = 50 and v1.y = 5000 PLAN (V1 INDEX (test_x_y)) ; -- 8
E         + PLAN (V1 T INDEX (TEST_X_Y))
E         + select * from v_test1 v2 where v2.x = 50 and v2.y = 5000 PLAN (V2 INDEX (test_y_x)) ; -- 9
E         + PLAN (V2 T INDEX (TEST_Y_X))
E         + select * from v_test1 v1 where v1.x + v1.y = 1000 PLAN (V1 INDEX (test_x_y)); -- 10
E         + PLAN (V1 T INDEX (TEST_X_Y))
E         + select * from v_test2 v2 where v2.x - v2.y = 1000 PLAN (V2 INDEX (test_x_y)); -- 11
E         + PLAN (V2 T INDEX (TEST_X_Y))
E         + select * from v_test1 v1 where v1.x + v1.y = 1000 PLAN (V1 INDEX (test_sum_x_y)); -- 12
E         + PLAN (V1 T INDEX (TEST_SUM_X_Y))
E         + select * from v_test2 v2 where v2.x - v2.y = 1000 PLAN (V2 INDEX (test_sub_x_y)); -- 13
E         + PLAN (V2 T INDEX (TEST_SUB_X_Y))
E         + -- NB: here optimizer will use index __NOT__ from view V3 DDL:
E         + -- PLAN (V3 T INDEX (TEST_X_ASC))
E         + select * from v_test3 v3; -- 14
E         + PLAN (V3 T INDEX (TEST_X_ASC))
E         + select * from v_test3 v3 plan ( v3 index(test_x_y) );
E         + PLAN (V3 T INDEX (TEST_X_Y))
E         + -- NB: here optimizer will use index __NOT__ from view V3 DDL:
E         + -- PLAN (V4 V_TEST3 T INDEX (TEST_X_ASC))
E         + select * from v_test4 v4; -- 15
E         + PLAN (V4 V_TEST3 T INDEX (TEST_X_ASC))
E         + select * from v_test4 v4 PLAN (V4 V_TEST3 T INDEX (TEST_X_Y)); -- 16
E         + PLAN (V4 V_TEST3 T INDEX (TEST_X_Y))

tests/bugs/core_0203_test.py:124: 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 4.0.6.3189 2025.02.25 1a1a5 F F 889 751 2025.06.26 13:55:36.856 2025.06.26 13:55:37.745 2025.06.26 12:53:12.226 2025.06.26 12:53:12.977
2 4.0.6.3184 2025.02.24 9388c P P 655 509 2025.02.25 12:48:26.752 2025.02.25 12:48:27.407 2025.02.25 11:37:09.965 2025.02.25 11:37:10.474
3 4.0.6.3183 2025.02.16 cf6ca P P 733 454 2025.02.17 06:41:12.100 2025.02.17 06:41:12.833 2025.02.17 05:29:52.501 2025.02.17 05:29:52.955
4 4.0.6.3169 2024.12.13 42cc1 P P 692 529 2025.02.16 03:40:09.077 2025.02.16 03:40:09.769 2025.02.16 02:31:19.614 2025.02.16 02:31:20.143
5 4.0.6.3169 2024.12.08 50eb6 P P 538 377 2024.12.12 18:09:31.022 2024.12.12 18:09:31.560 2024.12.12 17:14:08.072 2024.12.12 17:14:08.449
6 4.0.6.3168 2024.11.28 48149 P P 568 354 2024.12.06 02:31:32.550 2024.12.06 02:31:33.118 2024.12.06 01:38:00.737 2024.12.06 01:38:01.091
7 4.0.6.3163 2024.10.16 2bb10 P P 599 407 2024.11.27 10:55:03.956 2024.11.27 10:55:04.555 2024.11.27 10:00:36.935 2024.11.27 10:00:37.342
8 4.0.6.3163 2024.10.15 f387e P P 494 362 2024.10.16 04:03:44.620 2024.10.16 04:03:45.114 2024.10.16 03:11:52.738 2024.10.16 03:11:53.100
9 4.0.6.3147 2024.08.31 4655b P P 624 388 2024.09.30 11:14:01.522 2024.09.30 11:14:02.146 2024.09.30 10:16:54.846 2024.09.30 10:16:55.234
10 4.0.6.3140 2024.08.16 1dd8b P P 1009 763 2024.08.31 17:04:54.492 2024.08.31 17:04:55.501 2024.08.31 15:24:07.412 2024.08.31 15:24:08.175
11 4.0.6.3140 2024.08.09 34747 P P 681 527 2024.08.16 10:14:46.483 2024.08.16 10:14:47.164 2024.08.16 09:12:40.115 2024.08.16 09:12:40.642
12 4.0.5.3110 2024.07.30 c6527 P P 705 583 2024.08.09 10:05:44.426 2024.08.09 10:05:45.131 2024.08.09 09:03:36.847 2024.08.09 09:03:37.430
13 4.0.5.3109 2024.06.11 6addf P P 422 311 2024.07.30 08:30:32.086 2024.07.30 08:30:32.508 2024.07.30 07:35:31.215 2024.07.30 07:35:31.526
14 4.0.5.3097 2024.05.09 27fa6 P P 613 428 2024.05.14 09:13:57.289 2024.05.14 09:13:57.902 2024.05.14 08:19:18.536 2024.05.14 08:19:18.964
15 4.0.5.3091 2024.04.29 bd0aa P P 422 278 2024.05.08 20:22:31.484 2024.05.08 20:22:31.906 2024.05.08 19:34:31.408 2024.05.08 19:34:31.686
16 4.0.5.3089 2024.04.25 4b9c7 P P 419 269 2024.04.27 15:06:20.173 2024.04.27 15:06:20.592 2024.04.27 14:17:49.420 2024.04.27 14:17:49.689

Elapsed time, ms. Chart for last 16 runs:

Last commits information (all timestamps in UTC):