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-29 19:12:07.048
2025-06-29 19:12:07.054 act = <firebird.qa.plugin.Action object at [hex]>
2025-06-29 19:12:07.059
2025-06-29 19:12:07.065 @pytest.mark.version('>=3')
2025-06-29 19:12:07.071 def test_1(act: Action):
2025-06-29 19:12:07.078 act.expected_stdout = expected_stdout
2025-06-29 19:12:07.089 act.execute()
2025-06-29 19:12:07.098 >       assert act.clean_stdout == act.clean_expected_stdout
2025-06-29 19:12:07.104 E       assert
2025-06-29 19:12:07.110 E         + set planonly;
2025-06-29 19:12:07.116 E         + select * from test t where x = 0 plan (t natural); -- 1
2025-06-29 19:12:07.121 E         + PLAN (T NATURAL)
2025-06-29 19:12:07.127 E         + select * from v_test1 v1; -- 2
2025-06-29 19:12:07.133 E         + PLAN (V1 T INDEX (TEST_X_ASC))
2025-06-29 19:12:07.138 E         + select * from v_test1 v2; -- 3
2025-06-29 19:12:07.144 E         + PLAN (V2 T INDEX (TEST_X_ASC))
2025-06-29 19:12:07.150 E         + select * from v_test1 v1 where v1.x = 0 plan (v1 natural); -- 4
2025-06-29 19:12:07.155 E         + PLAN (V1 T NATURAL)
2025-06-29 19:12:07.161 E         + select * from v_test2 v2 where v2.x = 0 plan (v2 natural); -- 5
2025-06-29 19:12:07.167 E         + PLAN (V2 T NATURAL)
2025-06-29 19:12:07.173 E         + select * from v_test1 v1 where v1.x = 0 PLAN (V1 INDEX (TEST_X_DESC)) ; -- 6
2025-06-29 19:12:07.178 E         + PLAN (V1 T INDEX (TEST_X_DESC))
2025-06-29 19:12:07.183 E         + select * from v_test2 v2 where v2.x = 0 PLAN (V2 INDEX (TEST_X_DESC)) ; -- 7
2025-06-29 19:12:07.188 E         + PLAN (V2 T INDEX (TEST_X_DESC))
2025-06-29 19:12:07.192 E         + select * from v_test1 v1 where v1.x = 50 and v1.y = 5000 PLAN (V1 INDEX (test_x_y)) ; -- 8
2025-06-29 19:12:07.197 E         + PLAN (V1 T INDEX (TEST_X_Y))
2025-06-29 19:12:07.201 E         + select * from v_test1 v2 where v2.x = 50 and v2.y = 5000 PLAN (V2 INDEX (test_y_x)) ; -- 9
2025-06-29 19:12:07.205 E         + PLAN (V2 T INDEX (TEST_Y_X))
2025-06-29 19:12:07.210 E         + select * from v_test1 v1 where v1.x + v1.y = 1000 PLAN (V1 INDEX (test_x_y)); -- 10
2025-06-29 19:12:07.214 E         + PLAN (V1 T INDEX (TEST_X_Y))
2025-06-29 19:12:07.218 E         + select * from v_test2 v2 where v2.x - v2.y = 1000 PLAN (V2 INDEX (test_x_y)); -- 11
2025-06-29 19:12:07.223 E         + PLAN (V2 T INDEX (TEST_X_Y))
2025-06-29 19:12:07.227 E         + select * from v_test1 v1 where v1.x + v1.y = 1000 PLAN (V1 INDEX (test_sum_x_y)); -- 12
2025-06-29 19:12:07.232 E         + PLAN (V1 T INDEX (TEST_SUM_X_Y))
2025-06-29 19:12:07.236 E         + select * from v_test2 v2 where v2.x - v2.y = 1000 PLAN (V2 INDEX (test_sub_x_y)); -- 13
2025-06-29 19:12:07.240 E         + PLAN (V2 T INDEX (TEST_SUB_X_Y))
2025-06-29 19:12:07.245 E         + -- NB: here optimizer will use index __NOT__ from view V3 DDL:
2025-06-29 19:12:07.249 E         + -- PLAN (V3 T INDEX (TEST_X_ASC))
2025-06-29 19:12:07.253 E         + select * from v_test3 v3; -- 14
2025-06-29 19:12:07.258 E         + PLAN (V3 T INDEX (TEST_X_ASC))
2025-06-29 19:12:07.262 E         + select * from v_test3 v3 plan ( v3 index(test_x_y) );
2025-06-29 19:12:07.266 E         + PLAN (V3 T INDEX (TEST_X_Y))
2025-06-29 19:12:07.271 E         + -- NB: here optimizer will use index __NOT__ from view V3 DDL:
2025-06-29 19:12:07.275 E         + -- PLAN (V4 V_TEST3 T INDEX (TEST_X_ASC))
2025-06-29 19:12:07.280 E         + select * from v_test4 v4; -- 15
2025-06-29 19:12:07.284 E         + PLAN (V4 V_TEST3 T INDEX (TEST_X_ASC))
2025-06-29 19:12:07.289 E         + select * from v_test4 v4 PLAN (V4 V_TEST3 T INDEX (TEST_X_Y)); -- 16
2025-06-29 19:12:07.293 E         + PLAN (V4 V_TEST3 T INDEX (TEST_X_Y))
2025-06-29 19:12:07.297
2025-06-29 19:12:07.302 tests/bugs/core_0203_test.py:124: AssertionError
2025-06-29 19:12:07.306 ---------------------------- Captured stdout setup -----------------------------
2025-06-29 19:12:07.310 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 1079 771 2025.06.29 14:57:18.871 2025.06.29 14:57:19.950 2025.06.29 13:50:34.152 2025.06.29 13:50:34.923
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):