@@ -219,6 +219,9 @@ func ParseQueries(c core.Catalog, settings GenerateSettings, pkg PackageSettings
219219 for _ , stmt := range tree .Statements {
220220 // line, col := location(source, stmt)
221221 query , err := parseQuery (c , stmt , source )
222+ if err == errUnsupportedStatementType {
223+ continue
224+ }
222225 if err != nil {
223226 merr .Add (filename , source , location (stmt ), err )
224227 continue
@@ -229,11 +232,12 @@ func ParseQueries(c core.Catalog, settings GenerateSettings, pkg PackageSettings
229232 }
230233 }
231234 }
232-
235+ if len (q ) == 0 {
236+ return nil , fmt .Errorf ("path %s contains no queries" , pkg .Queries )
237+ }
233238 if len (merr .Errs ) > 0 {
234239 return nil , merr
235240 }
236-
237241 return & Result {Catalog : c , Queries : q , Settings : settings }, nil
238242}
239243
@@ -365,6 +369,8 @@ func validateCmd(n nodes.Node, name, cmd string) error {
365369 return nil
366370}
367371
372+ var errUnsupportedStatementType = errors .New ("parseQuery: unsupported statement type" )
373+
368374func parseQuery (c core.Catalog , stmt nodes.Node , source string ) (* Query , error ) {
369375 if err := validateParamRef (stmt ); err != nil {
370376 return nil , err
@@ -382,7 +388,7 @@ func parseQuery(c core.Catalog, stmt nodes.Node, source string) (*Query, error)
382388 }
383389 case nodes.UpdateStmt :
384390 default :
385- return nil , fmt . Errorf ( "parseQuery: unsupported statement type: %T" , n )
391+ return nil , errUnsupportedStatementType
386392 }
387393
388394 rawSQL , err := pluckQuery (source , raw )
0 commit comments