(node *pgquery.Node)
| 163 | } |
| 164 | |
| 165 | func (p PostgresParser) parseStmt(node *pgquery.Node) (parser.Statement, error) { |
| 166 | switch stmt := node.Node.(type) { |
| 167 | case *pgquery.Node_CreateStmt: |
| 168 | return p.parseCreateStmt(stmt.CreateStmt) |
| 169 | case *pgquery.Node_IndexStmt: |
| 170 | return p.parseIndexStmt(stmt.IndexStmt) |
| 171 | case *pgquery.Node_ViewStmt: |
| 172 | return p.parseViewStmt(stmt.ViewStmt) |
| 173 | case *pgquery.Node_CommentStmt: |
| 174 | return p.parseCommentStmt(stmt.CommentStmt) |
| 175 | case *pgquery.Node_CreateExtensionStmt: |
| 176 | return p.parseExtensionStmt(stmt.CreateExtensionStmt) |
| 177 | case *pgquery.Node_AlterTableStmt: |
| 178 | return p.parseAlterTableStmt(stmt.AlterTableStmt) |
| 179 | case *pgquery.Node_CreateSchemaStmt: |
| 180 | return p.parseCreateSchemaStmt(stmt.CreateSchemaStmt) |
| 181 | case *pgquery.Node_CreatePolicyStmt: |
| 182 | return p.parseCreatePolicyStmt(stmt.CreatePolicyStmt) |
| 183 | case *pgquery.Node_GrantStmt: |
| 184 | return p.parseGrantStmt(stmt.GrantStmt) |
| 185 | case *pgquery.Node_CreateFunctionStmt: |
| 186 | // In pgquery parser, CreateFunctionStmt is ignored. |
| 187 | return &parser.Ignore{}, nil |
| 188 | default: |
| 189 | return nil, fmt.Errorf("unknown node in parseStmt: %#v", stmt) |
| 190 | } |
| 191 | } |
| 192 | |
| 193 | func (p PostgresParser) parseCreateStmt(stmt *pgquery.CreateStmt) (parser.Statement, error) { |
| 194 | if stmt.Constraints != nil { |
no test coverage detected