File tree Expand file tree Collapse file tree 1 file changed +50
-0
lines changed Expand file tree Collapse file tree 1 file changed +50
-0
lines changed Original file line number Diff line number Diff line change
1
+ #coding:utf-8
2
+
3
+ """
4
+ ID: issue-7993
5
+ ISSUE: https://github.com/FirebirdSQL/firebird/issues/7993
6
+ TITLE: Unexpected results when using CASE WHEN with RIGHT JOIN
7
+ NOTES:
8
+ [06.02.2024] pzotov
9
+ Confirmed bug on 6.0.0.247
10
+ Checked on 6.0.0.249 -- all OK.
11
+ NB: 5.x is also affected and it looks a regression since 5.0.0.1292 (date of build: 04-dec-2023)
12
+ """
13
+
14
+ import pytest
15
+ from firebird .qa import *
16
+
17
+ db = db_factory ()
18
+
19
+ test_script = """
20
+ recreate table t0(c0 boolean);
21
+ recreate table t1(c1 boolean);
22
+
23
+ insert into t0 (c0) values (true);
24
+ insert into t1 (c1) values (false);
25
+
26
+ set count on;
27
+ set list on;
28
+ select t1.c1 as q1_c1, t0.c0 as q1_c0 from t1 right join t0 on t0.c0; -- false true
29
+ select t1.c1 as q2_c1, t0.c0 as q2_c0 from t1 right join t0 on t0.c0 where (case t1.c1 when t1.c1 then null else true end); -- null true (unexpected)
30
+ select (case t1.c1 when t1.c1 then null else true end ) as q3_result from t1 right join t0 on t0.c0; -- null
31
+ """
32
+
33
+ act = isql_act ('db' , test_script , substitutions = [('[ \t ]+' , ' ' )])
34
+
35
+ expected_stdout = """
36
+ Q1_C1 <false>
37
+ Q1_C0 <true>
38
+ Records affected: 1
39
+
40
+ Records affected: 0
41
+
42
+ Q3_RESULT <null>
43
+ Records affected: 1
44
+ """
45
+
46
+ @pytest .mark .version ('>=6.0' )
47
+ def test_1 (act : Action ):
48
+ act .expected_stdout = expected_stdout
49
+ act .execute (combine_output = True )
50
+ assert act .clean_stdout == act .clean_expected_stdout
You can’t perform that action at this time.
0 commit comments