Skip to content

Commit b28e3da

Browse files
authored
Fix ast walk (#509)
* Actually call parseQuery * sql/ast: Do not call Walk with nil value
1 parent 4520bff commit b28e3da

File tree

3 files changed

+1607
-544
lines changed

3 files changed

+1607
-544
lines changed

internal/compiler/compile.go

Lines changed: 9 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -96,14 +96,18 @@ func parseQueries(p Parser, c *catalog.Catalog, queries []string) (*Result, erro
9696
merr.Add(filename, "", 0, err)
9797
continue
9898
}
99-
source := string(blob)
100-
stmts, err := p.Parse(strings.NewReader(source))
99+
src := string(blob)
100+
stmts, err := p.Parse(strings.NewReader(src))
101101
if err != nil {
102-
merr.Add(filename, source, 0, err)
102+
merr.Add(filename, src, 0, err)
103103
continue
104104
}
105105
for _, stmt := range stmts {
106-
fmt.Println(stmt)
106+
_, err := parseQuery(p, c, stmt.Raw, src, false)
107+
if err != nil {
108+
merr.Add(filename, src, stmt.Raw.Pos(), err)
109+
continue
110+
}
107111
}
108112
}
109113
if len(merr.Errs()) > 0 {
@@ -112,6 +116,7 @@ func parseQueries(p Parser, c *catalog.Catalog, queries []string) (*Result, erro
112116
return &Result{}, nil
113117
}
114118

119+
// Deprecated.
115120
func buildResult(c *catalog.Catalog) (*Result, error) {
116121
var structs []dinosql.GoStruct
117122
var enums []dinosql.GoEnum

internal/compiler/runtime/parse.go renamed to internal/compiler/parse.go

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
package runtime
1+
package compiler
22

33
import (
44
"errors"
@@ -17,7 +17,7 @@ type Query struct {
1717

1818
var ErrUnsupportedStatementType = errors.New("parseQuery: unsupported statement type")
1919

20-
func parseQuery(c *catalog.Catalog, stmt ast.Node, src string, rewriteParameters bool) (*Query, error) {
20+
func parseQuery(p Parser, c *catalog.Catalog, stmt ast.Node, src string, rewriteParameters bool) (*Query, error) {
2121
if err := validate.ParamStyle(stmt); err != nil {
2222
return nil, err
2323
}

0 commit comments

Comments
 (0)