Skip to content

Commit 12f060b

Browse files
committed
TMP: Updates for newer DataFusion
1 parent 33d6a42 commit 12f060b

File tree

5 files changed

+10
-12
lines changed

5 files changed

+10
-12
lines changed

src/common/data_type.rs

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -347,6 +347,7 @@ impl DataTypeMap {
347347
ScalarValue::Map(_) => Err(PyNotImplementedError::new_err(
348348
"ScalarValue::Map".to_string(),
349349
)),
350+
ScalarValue::RunEndEncoded(_, _, _) => todo!(),
350351
}
351352
}
352353
}

src/context.rs

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -44,7 +44,7 @@ use datafusion::execution::options::ReadOptions;
4444
use datafusion::execution::runtime_env::RuntimeEnvBuilder;
4545
use datafusion::execution::session_state::SessionStateBuilder;
4646
use datafusion::prelude::{
47-
AvroReadOptions, CsvReadOptions, DataFrame, NdJsonReadOptions, ParquetReadOptions,
47+
AvroReadOptions, CsvReadOptions, DataFrame, JsonReadOptions, ParquetReadOptions,
4848
};
4949
use datafusion_ffi::catalog_provider::FFI_CatalogProvider;
5050
use datafusion_ffi::catalog_provider_list::FFI_CatalogProviderList;
@@ -815,7 +815,7 @@ impl PySessionContext {
815815
.to_str()
816816
.ok_or_else(|| PyValueError::new_err("Unable to convert path to a string"))?;
817817

818-
let mut options = NdJsonReadOptions::default()
818+
let mut options = JsonReadOptions::default()
819819
.file_compression_type(parse_file_compression_type(file_compression_type)?)
820820
.table_partition_cols(
821821
table_partition_cols
@@ -976,7 +976,7 @@ impl PySessionContext {
976976
let path = path
977977
.to_str()
978978
.ok_or_else(|| PyValueError::new_err("Unable to convert path to a string"))?;
979-
let mut options = NdJsonReadOptions::default()
979+
let mut options = JsonReadOptions::default()
980980
.table_partition_cols(
981981
table_partition_cols
982982
.into_iter()

src/dataset_exec.rs

Lines changed: 2 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -31,7 +31,7 @@ use datafusion::physical_plan::execution_plan::{Boundedness, EmissionType};
3131
use datafusion::physical_plan::stream::RecordBatchStreamAdapter;
3232
use datafusion::physical_plan::{
3333
DisplayAs, DisplayFormatType, ExecutionPlan, ExecutionPlanProperties, Partitioning,
34-
SendableRecordBatchStream, Statistics,
34+
SendableRecordBatchStream,
3535
};
3636
use futures::{TryStreamExt, stream};
3737
/// Implements a Datafusion physical ExecutionPlan that delegates to a PyArrow Dataset
@@ -70,7 +70,6 @@ pub(crate) struct DatasetExec {
7070
fragments: Py<PyList>,
7171
columns: Option<Vec<String>>,
7272
filter_expr: Option<Py<PyAny>>,
73-
projected_statistics: Statistics,
7473
plan_properties: datafusion::physical_plan::PlanProperties,
7574
}
7675

@@ -111,7 +110,7 @@ impl DatasetExec {
111110

112111
let scanner = dataset.call_method("scanner", (), Some(&kwargs))?;
113112

114-
let schema = Arc::new(
113+
let schema: SchemaRef = Arc::new(
115114
scanner
116115
.getattr("projected_schema")?
117116
.extract::<PyArrowType<_>>()?
@@ -130,7 +129,6 @@ impl DatasetExec {
130129
let fragments_iter = pylist.call1((fragments_iterator,))?;
131130
let fragments = fragments_iter.downcast::<PyList>().map_err(PyErr::from)?;
132131

133-
let projected_statistics = Statistics::new_unknown(&schema);
134132
let plan_properties = datafusion::physical_plan::PlanProperties::new(
135133
EquivalenceProperties::new(schema.clone()),
136134
Partitioning::UnknownPartitioning(fragments.len()),
@@ -144,7 +142,6 @@ impl DatasetExec {
144142
fragments: fragments.clone().unbind(),
145143
columns,
146144
filter_expr,
147-
projected_statistics,
148145
plan_properties,
149146
})
150147
}
@@ -235,10 +232,6 @@ impl ExecutionPlan for DatasetExec {
235232
})
236233
}
237234

238-
fn statistics(&self) -> DFResult<Statistics> {
239-
Ok(self.projected_statistics.clone())
240-
}
241-
242235
fn properties(&self) -> &datafusion::physical_plan::PlanProperties {
243236
&self.plan_properties
244237
}

src/expr.rs

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -210,6 +210,7 @@ impl PyExpr {
210210
Expr::Unnest(value) => {
211211
Ok(unnest_expr::PyUnnestExpr::from(value.clone()).into_bound_py_any(py)?)
212212
}
213+
Expr::SetComparison(_) => todo!(),
213214
})
214215
}
215216

@@ -382,6 +383,7 @@ impl PyExpr {
382383
Expr::Wildcard { .. } => {
383384
return Err(py_unsupported_variant_err("Expr::Wildcard is unsupported"));
384385
}
386+
Expr::SetComparison(_) => todo!(),
385387
})
386388
}
387389

@@ -518,6 +520,7 @@ impl PyExpr {
518520
Expr::Wildcard { .. } => {
519521
Err(py_unsupported_variant_err("Expr::Wildcard is unsupported"))
520522
}
523+
Expr::SetComparison(_) => todo!(),
521524
}
522525
}
523526

src/expr/dml.rs

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -110,6 +110,7 @@ impl From<WriteOp> for PyWriteOp {
110110
WriteOp::Update => PyWriteOp::Update,
111111
WriteOp::Delete => PyWriteOp::Delete,
112112
WriteOp::Ctas => PyWriteOp::Ctas,
113+
WriteOp::Truncate => todo!(),
113114
}
114115
}
115116
}

0 commit comments

Comments
 (0)