@@ -202,6 +202,7 @@ func ParseQueries(c core.Catalog, settings GenerateSettings, pkg PackageSettings
202202
203203 merr := NewParserErr ()
204204 var q []* Query
205+ set := map [string ]struct {}{}
205206 for _ , filename := range files {
206207 if ! strings .HasSuffix (filename , ".sql" ) {
207208 continue
@@ -221,7 +222,6 @@ func ParseQueries(c core.Catalog, settings GenerateSettings, pkg PackageSettings
221222 continue
222223 }
223224 for _ , stmt := range tree .Statements {
224- // line, col := location(source, stmt)
225225 query , err := parseQuery (c , stmt , source )
226226 if err == errUnsupportedStatementType {
227227 continue
@@ -230,6 +230,13 @@ func ParseQueries(c core.Catalog, settings GenerateSettings, pkg PackageSettings
230230 merr .Add (filename , source , location (stmt ), err )
231231 continue
232232 }
233+ if query .Name != "" {
234+ if _ , exists := set [query .Name ]; exists {
235+ merr .Add (filename , source , location (stmt ), fmt .Errorf ("duplicate query name: %s" , query .Name ))
236+ continue
237+ }
238+ set [query .Name ] = struct {}{}
239+ }
233240 query .Filename = filepath .Base (filename )
234241 if query != nil {
235242 q = append (q , query )
0 commit comments