Skip to content

Commit 7c29979

Browse files
committed
Implement contains API in PruningPredicate
1 parent e1df3fe commit 7c29979

3 files changed

Lines changed: 751 additions & 236 deletions

File tree

datafusion/core/src/datasource/physical_plan/parquet/page_filter.rs

Lines changed: 10 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,7 @@ use arrow::array::{
2323
};
2424
use arrow::datatypes::DataType;
2525
use arrow::{array::ArrayRef, datatypes::SchemaRef, error::ArrowError};
26-
use datafusion_common::{DataFusionError, Result};
26+
use datafusion_common::{DataFusionError, Result, ScalarValue};
2727
use datafusion_physical_expr::expressions::Column;
2828
use datafusion_physical_expr::{split_conjunction, PhysicalExpr};
2929
use log::{debug, trace};
@@ -37,6 +37,7 @@ use parquet::{
3737
},
3838
format::PageLocation,
3939
};
40+
use std::collections::HashSet;
4041
use std::sync::Arc;
4142

4243
use crate::datasource::physical_plan::parquet::parquet_to_arrow_decimal_type;
@@ -554,4 +555,12 @@ impl<'a> PruningStatistics for PagesPruningStatistics<'a> {
554555
))),
555556
}
556557
}
558+
559+
fn contains(
560+
&self,
561+
_column: &datafusion_common::Column,
562+
_values: &HashSet<ScalarValue>,
563+
) -> Option<BooleanArray> {
564+
None
565+
}
557566
}

datafusion/core/src/datasource/physical_plan/parquet/row_groups.rs

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,7 @@
1616
// under the License.
1717

1818
use arrow::{array::ArrayRef, datatypes::Schema};
19+
use arrow_array::BooleanArray;
1920
use arrow_schema::FieldRef;
2021
use datafusion_common::tree_node::{TreeNode, VisitRecursion};
2122
use datafusion_common::{Column, DataFusionError, Result, ScalarValue};
@@ -339,6 +340,14 @@ impl<'a> PruningStatistics for RowGroupPruningStatistics<'a> {
339340
let scalar = ScalarValue::UInt64(Some(c.statistics()?.null_count()));
340341
scalar.to_array().ok()
341342
}
343+
344+
fn contains(
345+
&self,
346+
_column: &Column,
347+
_values: &HashSet<ScalarValue>,
348+
) -> Option<BooleanArray> {
349+
None
350+
}
342351
}
343352

344353
#[cfg(test)]

0 commit comments

Comments
 (0)