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 19:58:34.124
2025-06-26 19:58:34.130 act = <firebird.qa.plugin.Action object at [hex]>
2025-06-26 19:58:34.137
2025-06-26 19:58:34.144 @pytest.mark.version('>=3')
2025-06-26 19:58:34.151 def test_1(act: Action):
2025-06-26 19:58:34.158 act.expected_stdout = expected_stdout
2025-06-26 19:58:34.164 act.execute()
2025-06-26 19:58:34.169 >       assert act.clean_stdout == act.clean_expected_stdout
2025-06-26 19:58:34.174 E       assert
2025-06-26 19:58:34.179 E         + set planonly;
2025-06-26 19:58:34.183 E         + select * from test t where x = 0 plan (t natural); -- 1
2025-06-26 19:58:34.189 E         + PLAN (T NATURAL)
2025-06-26 19:58:34.194 E         + select * from v_test1 v1; -- 2
2025-06-26 19:58:34.199 E         + PLAN (V1 T INDEX (TEST_X_ASC))
2025-06-26 19:58:34.203 E         + select * from v_test1 v2; -- 3
2025-06-26 19:58:34.208 E         + PLAN (V2 T INDEX (TEST_X_ASC))
2025-06-26 19:58:34.213 E         + select * from v_test1 v1 where v1.x = 0 plan (v1 natural); -- 4
2025-06-26 19:58:34.217 E         + PLAN (V1 T NATURAL)
2025-06-26 19:58:34.222 E         + select * from v_test2 v2 where v2.x = 0 plan (v2 natural); -- 5
2025-06-26 19:58:34.226 E         + PLAN (V2 T NATURAL)
2025-06-26 19:58:34.231 E         + select * from v_test1 v1 where v1.x = 0 PLAN (V1 INDEX (TEST_X_DESC)) ; -- 6
2025-06-26 19:58:34.236 E         + PLAN (V1 T INDEX (TEST_X_DESC))
2025-06-26 19:58:34.241 E         + select * from v_test2 v2 where v2.x = 0 PLAN (V2 INDEX (TEST_X_DESC)) ; -- 7
2025-06-26 19:58:34.245 E         + PLAN (V2 T INDEX (TEST_X_DESC))
2025-06-26 19:58:34.250 E         + select * from v_test1 v1 where v1.x = 50 and v1.y = 5000 PLAN (V1 INDEX (test_x_y)) ; -- 8
2025-06-26 19:58:34.255 E         + PLAN (V1 T INDEX (TEST_X_Y))
2025-06-26 19:58:34.260 E         + select * from v_test1 v2 where v2.x = 50 and v2.y = 5000 PLAN (V2 INDEX (test_y_x)) ; -- 9
2025-06-26 19:58:34.266 E         + PLAN (V2 T INDEX (TEST_Y_X))
2025-06-26 19:58:34.271 E         + select * from v_test1 v1 where v1.x + v1.y = 1000 PLAN (V1 INDEX (test_x_y)); -- 10
2025-06-26 19:58:34.276 E         + PLAN (V1 T INDEX (TEST_X_Y))
2025-06-26 19:58:34.281 E         + select * from v_test2 v2 where v2.x - v2.y = 1000 PLAN (V2 INDEX (test_x_y)); -- 11
2025-06-26 19:58:34.285 E         + PLAN (V2 T INDEX (TEST_X_Y))
2025-06-26 19:58:34.290 E         + select * from v_test1 v1 where v1.x + v1.y = 1000 PLAN (V1 INDEX (test_sum_x_y)); -- 12
2025-06-26 19:58:34.295 E         + PLAN (V1 T INDEX (TEST_SUM_X_Y))
2025-06-26 19:58:34.299 E         + select * from v_test2 v2 where v2.x - v2.y = 1000 PLAN (V2 INDEX (test_sub_x_y)); -- 13
2025-06-26 19:58:34.304 E         + PLAN (V2 T INDEX (TEST_SUB_X_Y))
2025-06-26 19:58:34.309 E         + -- NB: here optimizer will use index __NOT__ from view V3 DDL:
2025-06-26 19:58:34.314 E         + -- PLAN (V3 T INDEX (TEST_X_ASC))
2025-06-26 19:58:34.318 E         + select * from v_test3 v3; -- 14
2025-06-26 19:58:34.323 E         + PLAN (V3 T INDEX (TEST_X_ASC))
2025-06-26 19:58:34.327 E         + select * from v_test3 v3 plan ( v3 index(test_x_y) );
2025-06-26 19:58:34.332 E         + PLAN (V3 T INDEX (TEST_X_Y))
2025-06-26 19:58:34.337 E         + -- NB: here optimizer will use index __NOT__ from view V3 DDL:
2025-06-26 19:58:34.341 E         + -- PLAN (V4 V_TEST3 T INDEX (TEST_X_ASC))
2025-06-26 19:58:34.346 E         + select * from v_test4 v4; -- 15
2025-06-26 19:58:34.351 E         + PLAN (V4 V_TEST3 T INDEX (TEST_X_ASC))
2025-06-26 19:58:34.355 E         + select * from v_test4 v4 PLAN (V4 V_TEST3 T INDEX (TEST_X_Y)); -- 16
2025-06-26 19:58:34.360 E         + PLAN (V4 V_TEST3 T INDEX (TEST_X_Y))
2025-06-26 19:58:34.364
2025-06-26 19:58:34.369 tests/bugs/core_0203_test.py:124: AssertionError
2025-06-26 19:58:34.374 ---------------------------- Captured stdout setup -----------------------------
2025-06-26 19:58:34.378 Creating db: localhost:/var/tmp/qa_2024/test_141/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 3.0.13.33809 2025.05.06 28ad0 F F 1235 754 2025.06.26 15:57:48.736 2025.06.26 15:57:49.971 2025.06.26 15:17:32.885 2025.06.26 15:17:33.639
2 3.0.13.33808 2025.04.25 28426 P P 1303 726 2025.05.06 13:13:51.333 2025.05.06 13:13:52.636 2025.05.06 12:26:21.509 2025.05.06 12:26:22.235
3 3.0.13.33803 2025.02.25 08ebd P P 1260 766 2025.04.25 16:29:33.218 2025.04.25 16:29:34.478 2025.04.25 15:42:08.227 2025.04.25 15:42:08.993
4 3.0.13.33796 2025.01.29 0ab85 P P 1070 488 2025.02.25 15:01:24.260 2025.02.25 15:01:25.330 2025.02.25 14:15:29.627 2025.02.25 14:15:30.115
5 3.0.13.33796 2025.01.14 99b3b P P 1072 543 2025.01.28 17:14:42.362 2025.01.28 17:14:43.434 2025.01.28 16:26:43.252 2025.01.28 16:26:43.795
6 3.0.13.33795 2024.11.24 b8847 P P 1119 520 2025.01.13 14:52:50.056 2025.01.13 14:52:51.175 2025.01.13 14:05:41.549 2025.01.13 14:05:42.069
7 3.0.13.33794 2024.10.15 abe09 P P 767 360 2024.11.23 06:07:23.384 2024.11.23 06:07:24.151 2024.11.23 05:31:36.450 2024.11.23 05:31:36.810
8 3.0.13.33793 2024.10.04 82ccc P P 1063 489 2024.10.14 04:00:12.303 2024.10.14 04:00:13.366 2024.10.14 03:22:13.750 2024.10.14 03:22:14.239
9 3.0.13.33792 2024.08.31 d8791 P P 997 498 2024.10.03 09:04:40.103 2024.10.03 09:04:41.100 2024.10.03 08:24:19.513 2024.10.03 08:24:20.011
10 3.0.13.33787 2024.08.17 2e0d6 P P 2391 915 2024.08.25 14:16:20.950 2024.08.25 14:16:23.341 2024.08.25 12:47:54.933 2024.08.25 12:47:55.848
11 3.0.13.33787 2024.08.09 df740 P P 1263 582 2024.08.16 12:16:55.214 2024.08.16 12:16:56.477 2024.08.16 11:30:57.450 2024.08.16 11:30:58.032
12 3.0.12.33746 2024.07.15 11dd4 P P 1451 644 2024.08.09 12:10:28.857 2024.08.09 12:10:30.308 2024.08.09 11:25:29.458 2024.08.09 11:25:30.102
13 3.0.12.33746 2024.06.11 8a5eb P P 849 395 2024.07.15 10:10:10.636 2024.07.15 10:10:11.485 2024.07.15 09:30:21.878 2024.07.15 09:30:22.273
14 3.0.12.33744 2024.05.09 9cf37 P P 721 305 2024.05.12 15:18:16.324 2024.05.12 15:18:17.045 2024.05.12 14:42:37.588 2024.05.12 14:42:37.893
15 3.0.12.33744 2024.04.20 af6b2 P P 736 303 2024.05.08 16:35:39.660 2024.05.08 16:35:40.396 2024.05.08 16:01:43.977 2024.05.08 16:01:44.280

Elapsed time, ms. Chart for last 15 runs:

Last commits information (all timestamps in UTC):