MCPcopy Create free account
hub / github.com/auxten/postgresql-parser / Eval

Method Eval

pkg/sql/sem/tree/eval.go:4202–4219  ·  view source on GitHub ↗

Eval implements the TypedExpr interface.

(ctx *EvalContext)

Source from the content-addressed store, hash-verified

4200
4201// Eval implements the TypedExpr interface.
4202func (expr *NullIfExpr) Eval(ctx *EvalContext) (Datum, error) {
4203 expr1, err := expr.Expr1.(TypedExpr).Eval(ctx)
4204 if err != nil {
4205 return nil, err
4206 }
4207 expr2, err := expr.Expr2.(TypedExpr).Eval(ctx)
4208 if err != nil {
4209 return nil, err
4210 }
4211 cond, err := evalComparison(ctx, EQ, expr1, expr2)
4212 if err != nil {
4213 return nil, err
4214 }
4215 if cond == DBoolTrue {
4216 return DNull, nil
4217 }
4218 return expr1, nil
4219}
4220
4221// Eval implements the TypedExpr interface.
4222func (expr *OrExpr) Eval(ctx *EvalContext) (Datum, error) {

Callers

nothing calls this directly

Calls 2

evalComparisonFunction · 0.85
EvalMethod · 0.65

Tested by

no test coverage detected