@@ -31,7 +31,6 @@ use datafusion::arrow::util::pretty;
3131use datafusion:: common:: UnnestOptions ;
3232use datafusion:: config:: { CsvOptions , ParquetColumnOptions , ParquetOptions , TableParquetOptions } ;
3333use datafusion:: dataframe:: { DataFrame , DataFrameWriteOptions } ;
34- use datafusion:: datasource:: TableProvider ;
3534use datafusion:: error:: DataFusionError ;
3635use datafusion:: execution:: SendableRecordBatchStream ;
3736use datafusion:: parquet:: basic:: { BrotliLevel , Compression , GzipLevel , ZstdLevel } ;
@@ -268,8 +267,9 @@ impl PyDataFrame {
268267 }
269268 }
270269
271- pub ( crate ) fn to_view_provider ( & self ) -> Arc < dyn TableProvider > {
272- self . df . as_ref ( ) . clone ( ) . into_view ( )
270+ /// Return a clone of the inner Arc<DataFrame> for crate-local callers.
271+ pub ( crate ) fn inner_df ( & self ) -> Arc < DataFrame > {
272+ Arc :: clone ( & self . df )
273273 }
274274
275275 fn prepare_repr_string ( & mut self , py : Python , as_html : bool ) -> PyDataFusionResult < String > {
@@ -407,7 +407,7 @@ impl PyDataFrame {
407407 // Call the underlying Rust DataFrame::into_view method.
408408 // Note that the Rust method consumes self; here we clone the inner Arc<DataFrame>
409409 // so that we don't invalidate this PyDataFrame.
410- let table_provider = self . to_view_provider ( ) ;
410+ let table_provider = self . df . as_ref ( ) . clone ( ) . into_view ( ) ;
411411 Ok ( PyTableProvider :: new ( table_provider) )
412412 }
413413
0 commit comments