Skip to content

Commit 4c65aa5

Browse files
authored
fix: list contains (#5748)
Fixes: ``` thread 'tokio-runtime-worker' panicked at vortex-array/src/expr/vtable.rs:484:13: assertion `left == right` failed: Expression execution vortex.list.contains returned vector of length 1, but expected 12 left: 1 ```` Signed-off-by: Alexander Droste <[email protected]>
1 parent 507385e commit 4c65aa5

File tree

1 file changed

+7
-8
lines changed

1 file changed

+7
-8
lines changed

vortex-array/src/expr/exprs/list_contains.rs

Lines changed: 7 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -132,26 +132,25 @@ impl VTable for ListContains {
132132
(true, true) => {
133133
let list = lhs.into_scalar().vortex_expect("scalar").into_list();
134134
let needle = rhs.into_scalar().vortex_expect("scalar");
135-
// Convert the needle scalar to a single-element vector and reuse
136-
// constant_list_scalar_contains
137-
let needle_vector = needle.repeat(1).freeze();
138-
constant_list_scalar_contains(list, needle_vector)
135+
// Convert the needle scalar to a vector with row_count
136+
// elements and reuse constant_list_scalar_contains
137+
let needle_vector = needle.repeat(args.row_count).freeze();
138+
constant_list_scalar_contains(list, needle_vector)?
139139
}
140140
(true, false) => constant_list_scalar_contains(
141141
lhs.into_scalar().vortex_expect("scalar").into_list(),
142142
rhs.into_vector().vortex_expect("vector"),
143-
),
143+
)?,
144144
(false, true) => list_contains_scalar(
145145
lhs.unwrap_into_vector(args.row_count).into_list(),
146146
rhs.into_scalar().vortex_expect("scalar").into_list(),
147-
),
147+
)?,
148148
(false, false) => {
149149
vortex_bail!(
150150
"ListContains currently only supports constant needle (RHS) or constant list (LHS)"
151151
)
152152
}
153-
}?;
154-
153+
};
155154
Ok(Datum::Vector(matches.into()))
156155
}
157156

0 commit comments

Comments
 (0)