Skip to content

Commit 63ad3ac

Browse files
authored
fix(query): or_filter get incorrectly result (#18965)
fix: or_filter get incorrectly result
1 parent d91f9f0 commit 63ad3ac

File tree

3 files changed

+36
-1
lines changed

3 files changed

+36
-1
lines changed

src/query/expression/src/evaluator.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1418,7 +1418,7 @@ impl<'a> Evaluator<'a> {
14181418
) -> Result<Value<AnyType>> {
14191419
assert!(args.len() >= 2);
14201420

1421-
let mut result = validity.clone();
1421+
let mut result = None;
14221422
for arg in args {
14231423
let cond = self.partial_run(arg, validity.clone(), options)?;
14241424
match &cond {
Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,24 @@
1+
statement ok
2+
create or replace table t_18964(a int, b int, c bool);
3+
4+
query I
5+
insert into t_18964 values(1,1,false),(2,2,false),(3,3,false),(4,4,false),(5,5,false);
6+
----
7+
5
8+
9+
query I
10+
update t_18964 set c = true where a < 6 and b in (1, 3, 5);
11+
----
12+
3
13+
14+
query IIB
15+
select * from t_18964 order by a;
16+
----
17+
1 1 1
18+
2 2 0
19+
3 3 1
20+
4 4 0
21+
5 5 1
22+
23+
statement ok
24+
drop table t_18964 all;

tests/sqllogictests/suites/query/functions/02_0046_function_logic.test

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -371,3 +371,14 @@ select number from numbers(6) where number = 1 or number = 5 or number = 3 order
371371

372372
statement ok
373373
DROP TABLE t_logic
374+
375+
#ISSUE 18964
376+
statement ok
377+
set enable_selector_executor = 0;
378+
379+
query I
380+
select number from numbers(6) where number < 6 and number in (1, 3, 5);
381+
----
382+
1
383+
3
384+
5

0 commit comments

Comments
 (0)