Skip to content

Commit 1580a9e

Browse files
committed
Teach zoned pruning to lower StatFn
Signed-off-by: Nicholas Gates <nick@nickgates.com>
1 parent 410ff05 commit 1580a9e

12 files changed

Lines changed: 932 additions & 72 deletions

File tree

vortex-array/public-api.lock

Lines changed: 178 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -174,6 +174,54 @@ pub type vortex_array::aggregate_fn::combined::CombinedOptions<T> = vortex_array
174174

175175
pub mod vortex_array::aggregate_fn::fns
176176

177+
pub mod vortex_array::aggregate_fn::fns::all_nan
178+
179+
pub struct vortex_array::aggregate_fn::fns::all_nan::AllNan
180+
181+
impl core::clone::Clone for vortex_array::aggregate_fn::fns::all_nan::AllNan
182+
183+
pub fn vortex_array::aggregate_fn::fns::all_nan::AllNan::clone(&self) -> vortex_array::aggregate_fn::fns::all_nan::AllNan
184+
185+
impl core::fmt::Debug for vortex_array::aggregate_fn::fns::all_nan::AllNan
186+
187+
pub fn vortex_array::aggregate_fn::fns::all_nan::AllNan::fmt(&self, &mut core::fmt::Formatter<'_>) -> core::fmt::Result
188+
189+
impl vortex_array::aggregate_fn::AggregateFnVTable for vortex_array::aggregate_fn::fns::all_nan::AllNan
190+
191+
pub type vortex_array::aggregate_fn::fns::all_nan::AllNan::Options = vortex_array::aggregate_fn::EmptyOptions
192+
193+
pub type vortex_array::aggregate_fn::fns::all_nan::AllNan::Partial = bool
194+
195+
pub fn vortex_array::aggregate_fn::fns::all_nan::AllNan::accumulate(&self, &mut Self::Partial, &vortex_array::Columnar, &mut vortex_array::ExecutionCtx) -> vortex_error::VortexResult<()>
196+
197+
pub fn vortex_array::aggregate_fn::fns::all_nan::AllNan::coerce_args(&self, &Self::Options, &vortex_array::dtype::DType) -> vortex_error::VortexResult<vortex_array::dtype::DType>
198+
199+
pub fn vortex_array::aggregate_fn::fns::all_nan::AllNan::combine_partials(&self, &mut Self::Partial, vortex_array::scalar::Scalar) -> vortex_error::VortexResult<()>
200+
201+
pub fn vortex_array::aggregate_fn::fns::all_nan::AllNan::deserialize(&self, &[u8], &vortex_session::VortexSession) -> vortex_error::VortexResult<Self::Options>
202+
203+
pub fn vortex_array::aggregate_fn::fns::all_nan::AllNan::empty_partial(&self, &Self::Options, &vortex_array::dtype::DType) -> vortex_error::VortexResult<Self::Partial>
204+
205+
pub fn vortex_array::aggregate_fn::fns::all_nan::AllNan::finalize(&self, vortex_array::ArrayRef) -> vortex_error::VortexResult<vortex_array::ArrayRef>
206+
207+
pub fn vortex_array::aggregate_fn::fns::all_nan::AllNan::finalize_scalar(&self, &Self::Partial) -> vortex_error::VortexResult<vortex_array::scalar::Scalar>
208+
209+
pub fn vortex_array::aggregate_fn::fns::all_nan::AllNan::id(&self) -> vortex_array::aggregate_fn::AggregateFnId
210+
211+
pub fn vortex_array::aggregate_fn::fns::all_nan::AllNan::is_saturated(&self, &Self::Partial) -> bool
212+
213+
pub fn vortex_array::aggregate_fn::fns::all_nan::AllNan::partial_dtype(&self, &Self::Options, &vortex_array::dtype::DType) -> core::option::Option<vortex_array::dtype::DType>
214+
215+
pub fn vortex_array::aggregate_fn::fns::all_nan::AllNan::reset(&self, &mut Self::Partial)
216+
217+
pub fn vortex_array::aggregate_fn::fns::all_nan::AllNan::return_dtype(&self, &Self::Options, &vortex_array::dtype::DType) -> core::option::Option<vortex_array::dtype::DType>
218+
219+
pub fn vortex_array::aggregate_fn::fns::all_nan::AllNan::serialize(&self, &Self::Options) -> vortex_error::VortexResult<core::option::Option<alloc::vec::Vec<u8>>>
220+
221+
pub fn vortex_array::aggregate_fn::fns::all_nan::AllNan::to_scalar(&self, &Self::Partial) -> vortex_error::VortexResult<vortex_array::scalar::Scalar>
222+
223+
pub fn vortex_array::aggregate_fn::fns::all_nan::AllNan::try_accumulate(&self, &mut Self::Partial, &vortex_array::ArrayRef, &mut vortex_array::ExecutionCtx) -> vortex_error::VortexResult<bool>
224+
177225
pub mod vortex_array::aggregate_fn::fns::all_non_distinct
178226

179227
pub struct vortex_array::aggregate_fn::fns::all_non_distinct::AllNonDistinct
@@ -226,6 +274,54 @@ pub struct vortex_array::aggregate_fn::fns::all_non_distinct::AllNonDistinctPart
226274

227275
pub fn vortex_array::aggregate_fn::fns::all_non_distinct::all_non_distinct(&vortex_array::ArrayRef, &vortex_array::ArrayRef, &mut vortex_array::ExecutionCtx) -> vortex_error::VortexResult<bool>
228276

277+
pub mod vortex_array::aggregate_fn::fns::all_non_nan
278+
279+
pub struct vortex_array::aggregate_fn::fns::all_non_nan::AllNonNan
280+
281+
impl core::clone::Clone for vortex_array::aggregate_fn::fns::all_non_nan::AllNonNan
282+
283+
pub fn vortex_array::aggregate_fn::fns::all_non_nan::AllNonNan::clone(&self) -> vortex_array::aggregate_fn::fns::all_non_nan::AllNonNan
284+
285+
impl core::fmt::Debug for vortex_array::aggregate_fn::fns::all_non_nan::AllNonNan
286+
287+
pub fn vortex_array::aggregate_fn::fns::all_non_nan::AllNonNan::fmt(&self, &mut core::fmt::Formatter<'_>) -> core::fmt::Result
288+
289+
impl vortex_array::aggregate_fn::AggregateFnVTable for vortex_array::aggregate_fn::fns::all_non_nan::AllNonNan
290+
291+
pub type vortex_array::aggregate_fn::fns::all_non_nan::AllNonNan::Options = vortex_array::aggregate_fn::EmptyOptions
292+
293+
pub type vortex_array::aggregate_fn::fns::all_non_nan::AllNonNan::Partial = bool
294+
295+
pub fn vortex_array::aggregate_fn::fns::all_non_nan::AllNonNan::accumulate(&self, &mut Self::Partial, &vortex_array::Columnar, &mut vortex_array::ExecutionCtx) -> vortex_error::VortexResult<()>
296+
297+
pub fn vortex_array::aggregate_fn::fns::all_non_nan::AllNonNan::coerce_args(&self, &Self::Options, &vortex_array::dtype::DType) -> vortex_error::VortexResult<vortex_array::dtype::DType>
298+
299+
pub fn vortex_array::aggregate_fn::fns::all_non_nan::AllNonNan::combine_partials(&self, &mut Self::Partial, vortex_array::scalar::Scalar) -> vortex_error::VortexResult<()>
300+
301+
pub fn vortex_array::aggregate_fn::fns::all_non_nan::AllNonNan::deserialize(&self, &[u8], &vortex_session::VortexSession) -> vortex_error::VortexResult<Self::Options>
302+
303+
pub fn vortex_array::aggregate_fn::fns::all_non_nan::AllNonNan::empty_partial(&self, &Self::Options, &vortex_array::dtype::DType) -> vortex_error::VortexResult<Self::Partial>
304+
305+
pub fn vortex_array::aggregate_fn::fns::all_non_nan::AllNonNan::finalize(&self, vortex_array::ArrayRef) -> vortex_error::VortexResult<vortex_array::ArrayRef>
306+
307+
pub fn vortex_array::aggregate_fn::fns::all_non_nan::AllNonNan::finalize_scalar(&self, &Self::Partial) -> vortex_error::VortexResult<vortex_array::scalar::Scalar>
308+
309+
pub fn vortex_array::aggregate_fn::fns::all_non_nan::AllNonNan::id(&self) -> vortex_array::aggregate_fn::AggregateFnId
310+
311+
pub fn vortex_array::aggregate_fn::fns::all_non_nan::AllNonNan::is_saturated(&self, &Self::Partial) -> bool
312+
313+
pub fn vortex_array::aggregate_fn::fns::all_non_nan::AllNonNan::partial_dtype(&self, &Self::Options, &vortex_array::dtype::DType) -> core::option::Option<vortex_array::dtype::DType>
314+
315+
pub fn vortex_array::aggregate_fn::fns::all_non_nan::AllNonNan::reset(&self, &mut Self::Partial)
316+
317+
pub fn vortex_array::aggregate_fn::fns::all_non_nan::AllNonNan::return_dtype(&self, &Self::Options, &vortex_array::dtype::DType) -> core::option::Option<vortex_array::dtype::DType>
318+
319+
pub fn vortex_array::aggregate_fn::fns::all_non_nan::AllNonNan::serialize(&self, &Self::Options) -> vortex_error::VortexResult<core::option::Option<alloc::vec::Vec<u8>>>
320+
321+
pub fn vortex_array::aggregate_fn::fns::all_non_nan::AllNonNan::to_scalar(&self, &Self::Partial) -> vortex_error::VortexResult<vortex_array::scalar::Scalar>
322+
323+
pub fn vortex_array::aggregate_fn::fns::all_non_nan::AllNonNan::try_accumulate(&self, &mut Self::Partial, &vortex_array::ArrayRef, &mut vortex_array::ExecutionCtx) -> vortex_error::VortexResult<bool>
324+
229325
pub mod vortex_array::aggregate_fn::fns::all_non_null
230326

231327
pub struct vortex_array::aggregate_fn::fns::all_non_null::AllNonNull
@@ -1334,6 +1430,42 @@ pub fn vortex_array::aggregate_fn::AggregateFnVTable::to_scalar(&self, &Self::Pa
13341430

13351431
pub fn vortex_array::aggregate_fn::AggregateFnVTable::try_accumulate(&self, &mut Self::Partial, &vortex_array::ArrayRef, &mut vortex_array::ExecutionCtx) -> vortex_error::VortexResult<bool>
13361432

1433+
impl vortex_array::aggregate_fn::AggregateFnVTable for vortex_array::aggregate_fn::fns::all_nan::AllNan
1434+
1435+
pub type vortex_array::aggregate_fn::fns::all_nan::AllNan::Options = vortex_array::aggregate_fn::EmptyOptions
1436+
1437+
pub type vortex_array::aggregate_fn::fns::all_nan::AllNan::Partial = bool
1438+
1439+
pub fn vortex_array::aggregate_fn::fns::all_nan::AllNan::accumulate(&self, &mut Self::Partial, &vortex_array::Columnar, &mut vortex_array::ExecutionCtx) -> vortex_error::VortexResult<()>
1440+
1441+
pub fn vortex_array::aggregate_fn::fns::all_nan::AllNan::coerce_args(&self, &Self::Options, &vortex_array::dtype::DType) -> vortex_error::VortexResult<vortex_array::dtype::DType>
1442+
1443+
pub fn vortex_array::aggregate_fn::fns::all_nan::AllNan::combine_partials(&self, &mut Self::Partial, vortex_array::scalar::Scalar) -> vortex_error::VortexResult<()>
1444+
1445+
pub fn vortex_array::aggregate_fn::fns::all_nan::AllNan::deserialize(&self, &[u8], &vortex_session::VortexSession) -> vortex_error::VortexResult<Self::Options>
1446+
1447+
pub fn vortex_array::aggregate_fn::fns::all_nan::AllNan::empty_partial(&self, &Self::Options, &vortex_array::dtype::DType) -> vortex_error::VortexResult<Self::Partial>
1448+
1449+
pub fn vortex_array::aggregate_fn::fns::all_nan::AllNan::finalize(&self, vortex_array::ArrayRef) -> vortex_error::VortexResult<vortex_array::ArrayRef>
1450+
1451+
pub fn vortex_array::aggregate_fn::fns::all_nan::AllNan::finalize_scalar(&self, &Self::Partial) -> vortex_error::VortexResult<vortex_array::scalar::Scalar>
1452+
1453+
pub fn vortex_array::aggregate_fn::fns::all_nan::AllNan::id(&self) -> vortex_array::aggregate_fn::AggregateFnId
1454+
1455+
pub fn vortex_array::aggregate_fn::fns::all_nan::AllNan::is_saturated(&self, &Self::Partial) -> bool
1456+
1457+
pub fn vortex_array::aggregate_fn::fns::all_nan::AllNan::partial_dtype(&self, &Self::Options, &vortex_array::dtype::DType) -> core::option::Option<vortex_array::dtype::DType>
1458+
1459+
pub fn vortex_array::aggregate_fn::fns::all_nan::AllNan::reset(&self, &mut Self::Partial)
1460+
1461+
pub fn vortex_array::aggregate_fn::fns::all_nan::AllNan::return_dtype(&self, &Self::Options, &vortex_array::dtype::DType) -> core::option::Option<vortex_array::dtype::DType>
1462+
1463+
pub fn vortex_array::aggregate_fn::fns::all_nan::AllNan::serialize(&self, &Self::Options) -> vortex_error::VortexResult<core::option::Option<alloc::vec::Vec<u8>>>
1464+
1465+
pub fn vortex_array::aggregate_fn::fns::all_nan::AllNan::to_scalar(&self, &Self::Partial) -> vortex_error::VortexResult<vortex_array::scalar::Scalar>
1466+
1467+
pub fn vortex_array::aggregate_fn::fns::all_nan::AllNan::try_accumulate(&self, &mut Self::Partial, &vortex_array::ArrayRef, &mut vortex_array::ExecutionCtx) -> vortex_error::VortexResult<bool>
1468+
13371469
impl vortex_array::aggregate_fn::AggregateFnVTable for vortex_array::aggregate_fn::fns::all_non_distinct::AllNonDistinct
13381470

13391471
pub type vortex_array::aggregate_fn::fns::all_non_distinct::AllNonDistinct::Options = vortex_array::aggregate_fn::EmptyOptions
@@ -1370,6 +1502,42 @@ pub fn vortex_array::aggregate_fn::fns::all_non_distinct::AllNonDistinct::to_sca
13701502

13711503
pub fn vortex_array::aggregate_fn::fns::all_non_distinct::AllNonDistinct::try_accumulate(&self, &mut Self::Partial, &vortex_array::ArrayRef, &mut vortex_array::ExecutionCtx) -> vortex_error::VortexResult<bool>
13721504

1505+
impl vortex_array::aggregate_fn::AggregateFnVTable for vortex_array::aggregate_fn::fns::all_non_nan::AllNonNan
1506+
1507+
pub type vortex_array::aggregate_fn::fns::all_non_nan::AllNonNan::Options = vortex_array::aggregate_fn::EmptyOptions
1508+
1509+
pub type vortex_array::aggregate_fn::fns::all_non_nan::AllNonNan::Partial = bool
1510+
1511+
pub fn vortex_array::aggregate_fn::fns::all_non_nan::AllNonNan::accumulate(&self, &mut Self::Partial, &vortex_array::Columnar, &mut vortex_array::ExecutionCtx) -> vortex_error::VortexResult<()>
1512+
1513+
pub fn vortex_array::aggregate_fn::fns::all_non_nan::AllNonNan::coerce_args(&self, &Self::Options, &vortex_array::dtype::DType) -> vortex_error::VortexResult<vortex_array::dtype::DType>
1514+
1515+
pub fn vortex_array::aggregate_fn::fns::all_non_nan::AllNonNan::combine_partials(&self, &mut Self::Partial, vortex_array::scalar::Scalar) -> vortex_error::VortexResult<()>
1516+
1517+
pub fn vortex_array::aggregate_fn::fns::all_non_nan::AllNonNan::deserialize(&self, &[u8], &vortex_session::VortexSession) -> vortex_error::VortexResult<Self::Options>
1518+
1519+
pub fn vortex_array::aggregate_fn::fns::all_non_nan::AllNonNan::empty_partial(&self, &Self::Options, &vortex_array::dtype::DType) -> vortex_error::VortexResult<Self::Partial>
1520+
1521+
pub fn vortex_array::aggregate_fn::fns::all_non_nan::AllNonNan::finalize(&self, vortex_array::ArrayRef) -> vortex_error::VortexResult<vortex_array::ArrayRef>
1522+
1523+
pub fn vortex_array::aggregate_fn::fns::all_non_nan::AllNonNan::finalize_scalar(&self, &Self::Partial) -> vortex_error::VortexResult<vortex_array::scalar::Scalar>
1524+
1525+
pub fn vortex_array::aggregate_fn::fns::all_non_nan::AllNonNan::id(&self) -> vortex_array::aggregate_fn::AggregateFnId
1526+
1527+
pub fn vortex_array::aggregate_fn::fns::all_non_nan::AllNonNan::is_saturated(&self, &Self::Partial) -> bool
1528+
1529+
pub fn vortex_array::aggregate_fn::fns::all_non_nan::AllNonNan::partial_dtype(&self, &Self::Options, &vortex_array::dtype::DType) -> core::option::Option<vortex_array::dtype::DType>
1530+
1531+
pub fn vortex_array::aggregate_fn::fns::all_non_nan::AllNonNan::reset(&self, &mut Self::Partial)
1532+
1533+
pub fn vortex_array::aggregate_fn::fns::all_non_nan::AllNonNan::return_dtype(&self, &Self::Options, &vortex_array::dtype::DType) -> core::option::Option<vortex_array::dtype::DType>
1534+
1535+
pub fn vortex_array::aggregate_fn::fns::all_non_nan::AllNonNan::serialize(&self, &Self::Options) -> vortex_error::VortexResult<core::option::Option<alloc::vec::Vec<u8>>>
1536+
1537+
pub fn vortex_array::aggregate_fn::fns::all_non_nan::AllNonNan::to_scalar(&self, &Self::Partial) -> vortex_error::VortexResult<vortex_array::scalar::Scalar>
1538+
1539+
pub fn vortex_array::aggregate_fn::fns::all_non_nan::AllNonNan::try_accumulate(&self, &mut Self::Partial, &vortex_array::ArrayRef, &mut vortex_array::ExecutionCtx) -> vortex_error::VortexResult<bool>
1540+
13731541
impl vortex_array::aggregate_fn::AggregateFnVTable for vortex_array::aggregate_fn::fns::all_non_null::AllNonNull
13741542

13751543
pub type vortex_array::aggregate_fn::fns::all_non_null::AllNonNull::Options = vortex_array::aggregate_fn::EmptyOptions
@@ -20106,6 +20274,10 @@ pub fn vortex_array::scalar_fn::fns::stat::StatOptions::hash<__H: core::hash::Ha
2010620274

2010720275
impl core::marker::StructuralPartialEq for vortex_array::scalar_fn::fns::stat::StatOptions
2010820276

20277+
pub fn vortex_array::stats::expr::all_nan(vortex_array::expr::Expression) -> vortex_array::expr::Expression
20278+
20279+
pub fn vortex_array::stats::expr::all_non_nan(vortex_array::expr::Expression) -> vortex_array::expr::Expression
20280+
2010920281
pub fn vortex_array::stats::expr::all_non_null(vortex_array::expr::Expression) -> vortex_array::expr::Expression
2011020282

2011120283
pub fn vortex_array::stats::expr::all_null(vortex_array::expr::Expression) -> vortex_array::expr::Expression
@@ -20128,7 +20300,7 @@ pub struct vortex_array::stats::session::StatsRewriteSession
2012820300

2012920301
impl core::default::Default for vortex_array::stats::StatsRewriteSession
2013020302

20131-
pub fn vortex_array::stats::StatsRewriteSession::default() -> vortex_array::stats::StatsRewriteSession
20303+
pub fn vortex_array::stats::StatsRewriteSession::default() -> Self
2013220304

2013320305
impl core::fmt::Debug for vortex_array::stats::StatsRewriteSession
2013420306

@@ -20204,7 +20376,7 @@ pub struct vortex_array::stats::StatsRewriteSession
2020420376

2020520377
impl core::default::Default for vortex_array::stats::StatsRewriteSession
2020620378

20207-
pub fn vortex_array::stats::StatsRewriteSession::default() -> vortex_array::stats::StatsRewriteSession
20379+
pub fn vortex_array::stats::StatsRewriteSession::default() -> Self
2020820380

2020920381
impl core::fmt::Debug for vortex_array::stats::StatsRewriteSession
2021020382

@@ -20384,6 +20556,10 @@ pub fn vortex_array::stats::TypedStatsSetRef<'_, '_>::len(&self) -> usize
2038420556

2038520557
pub const vortex_array::stats::PRUNING_STATS: &[vortex_array::expr::stats::Stat]
2038620558

20559+
pub fn vortex_array::stats::all_nan(vortex_array::expr::Expression) -> vortex_array::expr::Expression
20560+
20561+
pub fn vortex_array::stats::all_non_nan(vortex_array::expr::Expression) -> vortex_array::expr::Expression
20562+
2038720563
pub fn vortex_array::stats::all_non_null(vortex_array::expr::Expression) -> vortex_array::expr::Expression
2038820564

2038920565
pub fn vortex_array::stats::all_null(vortex_array::expr::Expression) -> vortex_array::expr::Expression

0 commit comments

Comments
 (0)