@@ -148,24 +148,24 @@ func ParseQueries(c core.Catalog, queriesPaths []string, opts ParserOpts) (*Resu
148148 merr .Add (filename , "" , 0 , err )
149149 continue
150150 }
151- source := string (blob )
152- tree , err := pg .Parse (source )
151+ src := string (blob )
152+ tree , err := pg .Parse (src )
153153 if err != nil {
154- merr .Add (filename , source , 0 , err )
154+ merr .Add (filename , src , 0 , err )
155155 continue
156156 }
157157 for _ , stmt := range tree .Statements {
158- query , err := parseQuery (c , stmt , source , opts .UsePositionalParameters )
158+ query , err := parseQuery (c , stmt , src , opts .UsePositionalParameters )
159159 if err == errUnsupportedStatementType {
160160 continue
161161 }
162162 if err != nil {
163- merr .Add (filename , source , location (stmt ), err )
163+ merr .Add (filename , src , location (stmt ), err )
164164 continue
165165 }
166166 if query .Name != "" {
167167 if _ , exists := set [query .Name ]; exists {
168- merr .Add (filename , source , location (stmt ), fmt .Errorf ("duplicate query name: %s" , query .Name ))
168+ merr .Add (filename , src , location (stmt ), fmt .Errorf ("duplicate query name: %s" , query .Name ))
169169 continue
170170 }
171171 set [query .Name ] = struct {}{}
@@ -198,12 +198,6 @@ func location(node nodes.Node) int {
198198 return 0
199199}
200200
201- func pluckQuery (source string , n nodes.RawStmt ) (string , error ) {
202- head := n .StmtLocation
203- tail := n .StmtLocation + n .StmtLen
204- return source [head :tail ], nil
205- }
206-
207201func rangeVars (root nodes.Node ) []nodes.RangeVar {
208202 var vars []nodes.RangeVar
209203 find := ast .VisitorFunc (func (node nodes.Node ) {
@@ -303,7 +297,7 @@ func validateCmd(n nodes.Node, name, cmd string) error {
303297
304298var errUnsupportedStatementType = errors .New ("parseQuery: unsupported statement type" )
305299
306- func parseQuery (c core.Catalog , stmt nodes.Node , source string , rewriteParameters bool ) (* Query , error ) {
300+ func parseQuery (c core.Catalog , stmt nodes.Node , src string , rewriteParameters bool ) (* Query , error ) {
307301 if err := validate .ParamStyle (stmt ); err != nil {
308302 return nil , err
309303 }
@@ -327,7 +321,7 @@ func parseQuery(c core.Catalog, stmt nodes.Node, source string, rewriteParameter
327321 return nil , errUnsupportedStatementType
328322 }
329323
330- rawSQL , err := pluckQuery ( source , raw )
324+ rawSQL , err := source . Pluck ( src , raw . StmtLocation , raw . StmtLen )
331325 if err != nil {
332326 return nil , err
333327 }
0 commit comments