Skip to content

Commit 5e166c9

Browse files
committed
Implement contains API in PruningPredicate
1 parent 9bc61b3 commit 5e166c9

File tree

3 files changed

+856
-236
lines changed

3 files changed

+856
-236
lines changed

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 contained(
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};
@@ -340,6 +341,14 @@ impl<'a> PruningStatistics for RowGroupPruningStatistics<'a> {
340341
let scalar = ScalarValue::UInt64(Some(c.statistics()?.null_count()));
341342
scalar.to_array().ok()
342343
}
344+
345+
fn contained(
346+
&self,
347+
_column: &Column,
348+
_values: &HashSet<ScalarValue>,
349+
) -> Option<BooleanArray> {
350+
None
351+
}
343352
}
344353

345354
#[cfg(test)]

0 commit comments

Comments
 (0)