Returns the innermost [Expr] that is provably null if `expr` is null.
(expr: &Expr)
| 744 | |
| 745 | /// Returns the innermost [Expr] that is provably null if `expr` is null. |
| 746 | fn unwrap_certainly_null_expr(expr: &Expr) -> &Expr { |
| 747 | match expr { |
| 748 | Expr::Not(e) => unwrap_certainly_null_expr(e), |
| 749 | Expr::Negative(e) => unwrap_certainly_null_expr(e), |
| 750 | Expr::Cast(e) => unwrap_certainly_null_expr(e.expr.as_ref()), |
| 751 | _ => expr, |
| 752 | } |
| 753 | } |
| 754 | |
| 755 | /// Cast subquery in InSubquery/ScalarSubquery to a given type. |
| 756 | /// |