Recursively remove all the ['OuterReferenceColumn'] and return the inside Column in the expression tree.
(expr: Expr)
| 203 | /// Recursively remove all the ['OuterReferenceColumn'] and return the inside Column |
| 204 | /// in the expression tree. |
| 205 | pub fn strip_outer_reference(expr: Expr) -> Expr { |
| 206 | expr.transform(|expr| { |
| 207 | Ok({ |
| 208 | if let Expr::OuterReferenceColumn(_, col) = expr { |
| 209 | Transformed::yes(Expr::Column(col)) |
| 210 | } else { |
| 211 | Transformed::no(expr) |
| 212 | } |
| 213 | }) |
| 214 | }) |
| 215 | .data() |
| 216 | .expect("strip_outer_reference is infallible") |
| 217 | } |
| 218 | |
| 219 | /// Returns plan with expressions coerced to types compatible with |
| 220 | /// schema types |
no test coverage detected
searching dependent graphs…