evalExpr evaluates the entql expression and returns a new SQL predicate to be applied on the database.
(context *Node, selector *sql.Selector, expr entql.Expr)
| 159 | |
| 160 | // evalExpr evaluates the entql expression and returns a new SQL predicate to be applied on the database. |
| 161 | func evalExpr(context *Node, selector *sql.Selector, expr entql.Expr) (p *sql.Predicate, err error) { |
| 162 | ex := &state{ |
| 163 | context: context, |
| 164 | selector: selector, |
| 165 | } |
| 166 | defer catch(&err) |
| 167 | p = ex.evalExpr(expr) |
| 168 | return |
| 169 | } |
| 170 | |
| 171 | // evalExpr evaluates any expression. |
| 172 | func (e *state) evalExpr(expr entql.Expr) *sql.Predicate { |