nodeWhere handles *tree.Where nodes.
(ctx *Context, node *tree.Where)
| 24 | |
| 25 | // nodeWhere handles *tree.Where nodes. |
| 26 | func nodeWhere(ctx *Context, node *tree.Where) (*vitess.Where, error) { |
| 27 | if node == nil { |
| 28 | return nil, nil |
| 29 | } |
| 30 | expr, err := nodeExpr(ctx, node.Expr) |
| 31 | if err != nil { |
| 32 | return nil, err |
| 33 | } |
| 34 | var whereType string |
| 35 | switch node.Type { |
| 36 | case tree.AstWhere: |
| 37 | whereType = vitess.WhereStr |
| 38 | case tree.AstHaving: |
| 39 | whereType = vitess.HavingStr |
| 40 | default: |
| 41 | return nil, errors.Errorf("WHERE-type statement not yet supported: `%s`", node.Type) |
| 42 | } |
| 43 | return &vitess.Where{ |
| 44 | Type: whereType, |
| 45 | Expr: expr, |
| 46 | }, nil |
| 47 | } |
no test coverage detected