@@ -202,6 +202,7 @@ func ParseQueries(c core.Catalog, settings GenerateSettings, pkg PackageSettings
202
202
203
203
merr := NewParserErr ()
204
204
var q []* Query
205
+ set := map [string ]struct {}{}
205
206
for _ , filename := range files {
206
207
if ! strings .HasSuffix (filename , ".sql" ) {
207
208
continue
@@ -221,7 +222,6 @@ func ParseQueries(c core.Catalog, settings GenerateSettings, pkg PackageSettings
221
222
continue
222
223
}
223
224
for _ , stmt := range tree .Statements {
224
- // line, col := location(source, stmt)
225
225
query , err := parseQuery (c , stmt , source )
226
226
if err == errUnsupportedStatementType {
227
227
continue
@@ -230,6 +230,13 @@ func ParseQueries(c core.Catalog, settings GenerateSettings, pkg PackageSettings
230
230
merr .Add (filename , source , location (stmt ), err )
231
231
continue
232
232
}
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
+ }
233
240
query .Filename = filepath .Base (filename )
234
241
if query != nil {
235
242
q = append (q , query )
0 commit comments