Eval implements the TypedExpr interface.
(ctx *EvalContext)
| 4184 | |
| 4185 | // Eval implements the TypedExpr interface. |
| 4186 | func (expr *NotExpr) Eval(ctx *EvalContext) (Datum, error) { |
| 4187 | d, err := expr.Expr.(TypedExpr).Eval(ctx) |
| 4188 | if err != nil { |
| 4189 | return nil, err |
| 4190 | } |
| 4191 | if d == DNull { |
| 4192 | return DNull, nil |
| 4193 | } |
| 4194 | v, err := GetBool(d) |
| 4195 | if err != nil { |
| 4196 | return nil, err |
| 4197 | } |
| 4198 | return MakeDBool(!v), nil |
| 4199 | } |
| 4200 | |
| 4201 | // Eval implements the TypedExpr interface. |
| 4202 | func (expr *NullIfExpr) Eval(ctx *EvalContext) (Datum, error) { |