From a96f034ceefdd6db41f1c0eb34ab5a0ec675da81 Mon Sep 17 00:00:00 2001 From: Tim Saucer Date: Tue, 11 Nov 2025 07:01:39 -0500 Subject: [PATCH 1/2] Correct regression on table type when calling into_view --- datafusion/core/src/dataframe/mod.rs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/datafusion/core/src/dataframe/mod.rs b/datafusion/core/src/dataframe/mod.rs index 98804e424b40..b43c9c671f7d 100644 --- a/datafusion/core/src/dataframe/mod.rs +++ b/datafusion/core/src/dataframe/mod.rs @@ -1655,7 +1655,7 @@ impl DataFrame { pub fn into_view(self) -> Arc { Arc::new(DataFrameTableProvider { plan: self.plan, - table_type: TableType::Temporary, + table_type: TableType::View, }) } From f9e5517b283543130bd9871f07ad35428402de61 Mon Sep 17 00:00:00 2001 From: Tim Saucer Date: Tue, 11 Nov 2025 07:08:35 -0500 Subject: [PATCH 2/2] Add test coverage for view type --- datafusion/core/tests/dataframe/mod.rs | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/datafusion/core/tests/dataframe/mod.rs b/datafusion/core/tests/dataframe/mod.rs index 05f5a204c096..e221edb7c54b 100644 --- a/datafusion/core/tests/dataframe/mod.rs +++ b/datafusion/core/tests/dataframe/mod.rs @@ -1627,7 +1627,9 @@ async fn register_table() -> Result<()> { let df_impl = DataFrame::new(ctx.state(), df.logical_plan().clone()); // register a dataframe as a table - ctx.register_table("test_table", df_impl.clone().into_view())?; + let table_provider = df_impl.clone().into_view(); + assert_eq!(table_provider.table_type(), TableType::View); + ctx.register_table("test_table", table_provider)?; // pull the table out let table = ctx.table("test_table").await?;