(in *nodes.Node)
| 96 | } |
| 97 | |
| 98 | func parseRelation(in *nodes.Node) (*relation, error) { |
| 99 | switch n := in.Node.(type) { |
| 100 | case *nodes.Node_List: |
| 101 | return parseRelationFromNodes(n.List.Items) |
| 102 | case *nodes.Node_RangeVar: |
| 103 | return parseRelationFromRangeVar(n.RangeVar), nil |
| 104 | case *nodes.Node_TypeName: |
| 105 | return parseRelationFromNodes(n.TypeName.Names) |
| 106 | default: |
| 107 | return nil, fmt.Errorf("unexpected node type: %T", n) |
| 108 | } |
| 109 | } |
| 110 | |
| 111 | func parseColName(node *nodes.Node) (*ast.ColumnRef, *ast.TableName, error) { |
| 112 | switch n := node.Node.(type) { |
no test coverage detected