Strip table qualifiers from column references in an expression. This is needed because DML filter expressions contain qualified column names (e.g., "table.column") but the TableProvider's schema only has simple names.
(expr: Expr)
| 2321 | /// This is needed because DML filter expressions contain qualified column names |
| 2322 | /// (e.g., "table.column") but the TableProvider's schema only has simple names. |
| 2323 | fn strip_column_qualifiers(expr: Expr) -> Result<Expr> { |
| 2324 | expr.transform(|e| { |
| 2325 | if let Expr::Column(col) = &e |
| 2326 | && col.relation.is_some() |
| 2327 | { |
| 2328 | // Strip the qualifier |
| 2329 | return Ok(Transformed::yes(Expr::Column(Column::new_unqualified( |
| 2330 | col.name.clone(), |
| 2331 | )))); |
| 2332 | } |
| 2333 | Ok(Transformed::no(e)) |
| 2334 | }) |
| 2335 | .map(|t| t.data) |
| 2336 | } |
| 2337 | |
| 2338 | /// Extract column assignments from an UPDATE input plan. |
| 2339 | /// For UPDATE statements, the SQL planner encodes assignments as a projection |
no test coverage detected
searching dependent graphs…