Skip to content

Commit 50537f6

Browse files
committed
CastFn
Signed-off-by: Nicholas Gates <[email protected]>
2 parents 51cba1a + 841c7cd commit 50537f6

File tree

13 files changed

+75
-55
lines changed

13 files changed

+75
-55
lines changed

vortex-array/src/arrays/scalar_fn/vtable/mod.rs

Lines changed: 6 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -12,22 +12,25 @@ use vortex_buffer::BufferHandle;
1212
use vortex_dtype::DType;
1313
use vortex_error::VortexExpect;
1414
use vortex_error::VortexResult;
15-
use vortex_error::{vortex_bail, vortex_ensure};
15+
use vortex_error::vortex_bail;
16+
use vortex_error::vortex_ensure;
1617
use vortex_vector::Vector;
1718

19+
use crate::Array;
20+
use crate::ArrayRef;
21+
use crate::IntoArray;
1822
use crate::arrays::scalar_fn::array::ScalarFnArray;
1923
use crate::arrays::scalar_fn::metadata::ScalarFnMetadata;
2024
use crate::execution::ExecutionCtx;
2125
use crate::expr::functions;
2226
use crate::expr::functions::scalar::ScalarFn;
2327
use crate::serde::ArrayChildren;
28+
use crate::vtable;
2429
use crate::vtable::ArrayId;
2530
use crate::vtable::ArrayVTable;
2631
use crate::vtable::ArrayVTableExt;
2732
use crate::vtable::NotSupported;
2833
use crate::vtable::VTable;
29-
use crate::{vtable, IntoArray};
30-
use crate::{Array, ArrayRef};
3134

3235
vtable!(ScalarFn);
3336

vortex-array/src/expr/expression.rs

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -17,8 +17,7 @@ use vortex_error::VortexResult;
1717
use vortex_vector::Vector;
1818
use vortex_vector::VectorOps;
1919

20-
use crate::expr::display::DisplayTreeExpr;
21-
use crate::expr::stats::Stat;
20+
use crate::ArrayRef;
2221
use crate::expr::ChildName;
2322
use crate::expr::ExecutionArgs;
2423
use crate::expr::ExprId;
@@ -27,7 +26,8 @@ use crate::expr::ExpressionView;
2726
use crate::expr::Root;
2827
use crate::expr::StatsCatalog;
2928
use crate::expr::VTable;
30-
use crate::ArrayRef;
29+
use crate::expr::display::DisplayTreeExpr;
30+
use crate::expr::stats::Stat;
3131

3232
/// A node in a Vortex expression tree.
3333
///

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

Lines changed: 9 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1,31 +1,32 @@
11
// SPDX-License-Identifier: Apache-2.0
22
// SPDX-FileCopyrightText: Copyright the Vortex contributors
33

4-
use itertools::Itertools;
54
use std::fmt::Debug;
65
use std::fmt::Formatter;
76
use std::marker::PhantomData;
87
use std::sync::Arc;
8+
9+
use itertools::Itertools;
910
use vortex_dtype::DType;
11+
use vortex_error::VortexResult;
1012
use vortex_error::vortex_bail;
1113
use vortex_error::vortex_ensure;
12-
use vortex_error::VortexResult;
1314
use vortex_session::SessionVar;
1415
use vortex_vector::Vector;
1516

16-
use crate::expr::functions;
17-
use crate::expr::functions::scalar::ScalarFn;
18-
use crate::expr::functions::ScalarFnVTable;
19-
use crate::expr::stats::Stat;
20-
use crate::expr::transform::rules::Matcher;
17+
use crate::ArrayRef;
2118
use crate::expr::ChildName;
2219
use crate::expr::ExecutionArgs;
2320
use crate::expr::ExprId;
2421
use crate::expr::Expression;
2522
use crate::expr::ExpressionView;
2623
use crate::expr::StatsCatalog;
2724
use crate::expr::VTable;
28-
use crate::ArrayRef;
25+
use crate::expr::functions;
26+
use crate::expr::functions::ScalarFnVTable;
27+
use crate::expr::functions::scalar::ScalarFn;
28+
use crate::expr::stats::Stat;
29+
use crate::expr::transform::rules::Matcher;
2930

3031
/// An expression that wraps arbitrary scalar functions.
3132
///

vortex-array/src/expr/functions/scalar.rs

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -13,15 +13,16 @@ use vortex_error::VortexResult;
1313
use vortex_utils::debug_with::DebugWith;
1414
use vortex_vector::Datum;
1515

16-
use crate::expr::functions::execution::ExecutionCtx;
16+
use crate::expr::Expression;
17+
use crate::expr::StatsCatalog;
18+
use crate::expr::functions::ArgName;
1719
use crate::expr::functions::Arity;
1820
use crate::expr::functions::FunctionId;
1921
use crate::expr::functions::NullHandling;
2022
use crate::expr::functions::ScalarFnVTable;
21-
use crate::expr::functions::{ArgName, VTable};
23+
use crate::expr::functions::VTable;
24+
use crate::expr::functions::execution::ExecutionCtx;
2225
use crate::expr::stats::Stat;
23-
use crate::expr::Expression;
24-
use crate::expr::StatsCatalog;
2526

2627
/// An instance of a scalar function bound to some invocation options.
2728
pub struct ScalarFn {

vortex-array/src/expr/functions/vtable.rs

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -12,18 +12,18 @@ use std::sync::Arc;
1212

1313
use arcref::ArcRef;
1414
use vortex_dtype::DType;
15-
use vortex_error::vortex_bail;
1615
use vortex_error::VortexExpect;
1716
use vortex_error::VortexResult;
17+
use vortex_error::vortex_bail;
1818
use vortex_vector::Datum;
1919

20-
use crate::expr::functions::execution::ExecutionCtx;
21-
use crate::expr::functions::scalar::ScalarFn;
20+
use crate::expr::Expression;
21+
use crate::expr::StatsCatalog;
2222
use crate::expr::functions::ArgName;
2323
use crate::expr::functions::FunctionId;
24+
use crate::expr::functions::execution::ExecutionCtx;
25+
use crate::expr::functions::scalar::ScalarFn;
2426
use crate::expr::stats::Stat;
25-
use crate::expr::Expression;
26-
use crate::expr::StatsCatalog;
2727

2828
/// A non-object-safe vtable trait for scalar function types.
2929
///

vortex-array/src/expr/session/mod.rs

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -4,34 +4,34 @@
44
mod rewrite;
55

66
pub use rewrite::RewriteRuleRegistry;
7-
use vortex_session::registry::Registry;
87
use vortex_session::Ref;
98
use vortex_session::SessionExt;
9+
use vortex_session::registry::Registry;
1010

11+
use crate::expr::ExprVTable;
12+
use crate::expr::VTable;
1113
use crate::expr::exprs::between::Between;
1214
use crate::expr::exprs::binary::Binary;
1315
use crate::expr::exprs::cast::Cast;
14-
use crate::expr::exprs::get_item::transform::PackGetItemRule;
1516
use crate::expr::exprs::get_item::GetItem;
17+
use crate::expr::exprs::get_item::transform::PackGetItemRule;
1618
use crate::expr::exprs::is_null::IsNull;
1719
use crate::expr::exprs::like::Like;
1820
use crate::expr::exprs::list_contains::ListContains;
1921
use crate::expr::exprs::literal::Literal;
20-
use crate::expr::exprs::merge::transform::RemoveMergeRule;
2122
use crate::expr::exprs::merge::Merge;
23+
use crate::expr::exprs::merge::transform::RemoveMergeRule;
2224
use crate::expr::exprs::not::Not;
2325
use crate::expr::exprs::pack::Pack;
2426
use crate::expr::exprs::root::Root;
25-
use crate::expr::exprs::select::transform::RemoveSelectRule;
2627
use crate::expr::exprs::select::Select;
28+
use crate::expr::exprs::select::transform::RemoveSelectRule;
2729
use crate::expr::transform::rules::Any;
2830
use crate::expr::transform::rules::Exact;
2931
use crate::expr::transform::rules::ParentReduceRule;
3032
use crate::expr::transform::rules::ReduceRule;
3133
use crate::expr::transform::rules::RuleContext;
3234
use crate::expr::transform::rules::TypedRuleContext;
33-
use crate::expr::ExprVTable;
34-
use crate::expr::VTable;
3535

3636
/// Registry of expression vtables.
3737
pub type ExprRegistry = Registry<ExprVTable>;

vortex-array/src/expr/vtable.rs

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -12,19 +12,19 @@ use std::sync::Arc;
1212

1313
use arcref::ArcRef;
1414
use vortex_dtype::DType;
15-
use vortex_error::vortex_bail;
16-
use vortex_error::vortex_err;
1715
use vortex_error::VortexExpect;
1816
use vortex_error::VortexResult;
17+
use vortex_error::vortex_bail;
18+
use vortex_error::vortex_err;
1919
use vortex_vector::Vector;
2020
use vortex_vector::VectorOps;
2121

22-
use crate::expr::expression::Expression;
23-
use crate::expr::stats::Stat;
22+
use crate::ArrayRef;
2423
use crate::expr::ExprId;
2524
use crate::expr::ExpressionView;
2625
use crate::expr::StatsCatalog;
27-
use crate::ArrayRef;
26+
use crate::expr::expression::Expression;
27+
use crate::expr::stats::Stat;
2828

2929
///
3030
/// This trait defines the interface for expression vtables, including methods for
@@ -493,8 +493,8 @@ mod tests {
493493
use crate::expr::exprs::root::root;
494494
use crate::expr::exprs::select::select;
495495
use crate::expr::exprs::select::select_exclude;
496-
use crate::expr::proto::deserialize_expr_proto;
497496
use crate::expr::proto::ExprSerializeProtoExt;
497+
use crate::expr::proto::deserialize_expr_proto;
498498
use crate::expr::session::ExprRegistry;
499499
use crate::expr::session::ExprSession;
500500

vortex-array/src/scalar_fns/cast/mod.rs

Lines changed: 15 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -3,16 +3,26 @@
33

44
mod array;
55

6-
use crate::expr::functions::{ArgName, Arity, ExecutionCtx, FunctionId, NullHandling, VTable};
7-
use crate::expr::stats::Stat;
8-
use crate::expr::{Expression, StatsCatalog};
9-
use crate::scalar_fns::BuiltinScalarFns;
106
use prost::Message;
117
use vortex_dtype::DType;
12-
use vortex_error::{vortex_err, vortex_panic, VortexExpect, VortexResult};
8+
use vortex_error::VortexExpect;
9+
use vortex_error::VortexResult;
10+
use vortex_error::vortex_err;
11+
use vortex_error::vortex_panic;
1312
use vortex_proto::expr as pb;
1413
use vortex_vector::Datum;
1514

15+
use crate::expr::Expression;
16+
use crate::expr::StatsCatalog;
17+
use crate::expr::functions::ArgName;
18+
use crate::expr::functions::Arity;
19+
use crate::expr::functions::ExecutionCtx;
20+
use crate::expr::functions::FunctionId;
21+
use crate::expr::functions::NullHandling;
22+
use crate::expr::functions::VTable;
23+
use crate::expr::stats::Stat;
24+
use crate::scalar_fns::BuiltinScalarFns;
25+
1626
pub struct CastFn;
1727
impl VTable for CastFn {
1828
type Options = DType;

vortex-array/src/scalar_fns/mod.rs

Lines changed: 7 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -9,13 +9,16 @@
99
//! This set of functions should cover the basics, and in general leans towards the semantics of
1010
//! the equivalent Arrow compute function.
1111
12-
use crate::arrays::ScalarFnArrayExt;
13-
use crate::expr::{Expression, ScalarFnExprExt};
14-
use crate::scalar_fns::cast::CastFn;
15-
use crate::{Array, ArrayRef};
1612
use vortex_dtype::DType;
1713
use vortex_error::VortexResult;
1814

15+
use crate::Array;
16+
use crate::ArrayRef;
17+
use crate::arrays::ScalarFnArrayExt;
18+
use crate::expr::Expression;
19+
use crate::expr::ScalarFnExprExt;
20+
use crate::scalar_fns::cast::CastFn;
21+
1922
mod cast;
2023

2124
/// A collection of built-in scalar functions that can be applied to expressions or arrays.

vortex-compute/src/cast/bool.rs

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -4,15 +4,15 @@
44
use num_traits::One;
55
use num_traits::Zero;
66
use vortex_buffer::Buffer;
7-
use vortex_dtype::match_each_native_ptype;
87
use vortex_dtype::DType;
9-
use vortex_error::vortex_bail;
8+
use vortex_dtype::match_each_native_ptype;
109
use vortex_error::VortexResult;
10+
use vortex_error::vortex_bail;
11+
use vortex_vector::Vector;
12+
use vortex_vector::VectorOps;
1113
use vortex_vector::bool::BoolVector;
1214
use vortex_vector::null::NullVector;
1315
use vortex_vector::primitive::PVector;
14-
use vortex_vector::Vector;
15-
use vortex_vector::VectorOps;
1616

1717
use crate::cast::Cast;
1818

0 commit comments

Comments
 (0)