()
| 265 | // Issue #17359: https://github.com/apache/datafusion/issues/17359 |
| 266 | #[tokio::test] |
| 267 | async fn unparse_cross_join() -> Result<()> { |
| 268 | let ctx = SessionContext::new(); |
| 269 | |
| 270 | let j1_schema = Arc::new(Schema::new(vec![ |
| 271 | Field::new("j1_id", DataType::Int32, true), |
| 272 | Field::new("j1_string", DataType::Utf8, true), |
| 273 | ])); |
| 274 | let j2_schema = Arc::new(Schema::new(vec![ |
| 275 | Field::new("j2_id", DataType::Int32, true), |
| 276 | Field::new("j2_string", DataType::Utf8, true), |
| 277 | ])); |
| 278 | |
| 279 | ctx.register_table("j1", Arc::new(MemTable::try_new(j1_schema, vec![vec![]])?))?; |
| 280 | ctx.register_table("j2", Arc::new(MemTable::try_new(j2_schema, vec![vec![]])?))?; |
| 281 | |
| 282 | let df = ctx |
| 283 | .sql( |
| 284 | r#" |
| 285 | select j1.j1_id, j2.j2_string |
| 286 | from j1, j2 |
| 287 | where j2.j2_id = 0 |
| 288 | "#, |
| 289 | ) |
| 290 | .await?; |
| 291 | |
| 292 | let unopt_sql = plan_to_sql(df.logical_plan())?; |
| 293 | assert_snapshot!(unopt_sql, @"SELECT j1.j1_id, j2.j2_string FROM j1 CROSS JOIN j2 WHERE (j2.j2_id = 0)"); |
| 294 | |
| 295 | let optimized_plan = df.into_optimized_plan()?; |
| 296 | |
| 297 | let opt_sql = plan_to_sql(&optimized_plan)?; |
| 298 | assert_snapshot!(opt_sql, @"SELECT j1.j1_id, j2.j2_string FROM j1 CROSS JOIN j2 WHERE (j2.j2_id = 0)"); |
| 299 | |
| 300 | Ok(()) |
| 301 | } |
nothing calls this directly
no test coverage detected
searching dependent graphs…