From 9f1714087a0acc48ec7d1320e3fb1b5c3f609fe6 Mon Sep 17 00:00:00 2001 From: Kyle Conroy Date: Wed, 25 Dec 2019 13:53:59 -0800 Subject: [PATCH] dinosql/internal: Ignore alter sequence commands sqlc does not support sequence DDL currently. Ignore DDL that touches sequences. --- internal/catalog/build.go | 23 +++++++++++++++++++++++ 1 file changed, 23 insertions(+) diff --git a/internal/catalog/build.go b/internal/catalog/build.go index 6931a2ea13..830472c721 100644 --- a/internal/catalog/build.go +++ b/internal/catalog/build.go @@ -68,6 +68,7 @@ func Update(c *pg.Catalog, stmt nodes.Node) error { if !ok { return fmt.Errorf("expected RawStmt; got %T", stmt) } + switch n := raw.Stmt.(type) { case nodes.AlterObjectSchemaStmt: @@ -97,6 +98,28 @@ func Update(c *pg.Catalog, stmt nodes.Node) error { } case nodes.AlterTableStmt: + var implemented bool + for _, item := range n.Cmds.Items { + switch cmd := item.(type) { + case nodes.AlterTableCmd: + switch cmd.Subtype { + case nodes.AT_AddColumn: + implemented = true + case nodes.AT_AlterColumnType: + implemented = true + case nodes.AT_DropColumn: + implemented = true + case nodes.AT_DropNotNull: + implemented = true + case nodes.AT_SetNotNull: + implemented = true + } + } + } + + if !implemented { + return nil + } fqn, err := ParseRange(n.Relation) if err != nil { return err