Skip to content

Commit fcef3e6

Browse files
authored
parser: Correctly handle single files (#119)
1 parent b93d0fe commit fcef3e6

1 file changed

Lines changed: 19 additions & 15 deletions

File tree

internal/dinosql/parser.go

Lines changed: 19 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -63,26 +63,28 @@ func ParseCatalog(schema string) (core.Catalog, error) {
6363
return core.Catalog{}, fmt.Errorf("path %s does not exist", schema)
6464
}
6565

66-
var files []os.FileInfo
66+
var files []string
6767
if f.IsDir() {
68-
files, err = ioutil.ReadDir(schema)
68+
listing, err := ioutil.ReadDir(schema)
6969
if err != nil {
7070
return core.Catalog{}, err
7171
}
72+
for _, f := range listing {
73+
files = append(files, filepath.Join(schema, f.Name()))
74+
}
7275
} else {
73-
files = append(files, f)
76+
files = append(files, schema)
7477
}
7578

7679
merr := NewParserErr()
7780
c := core.NewCatalog()
78-
for _, f := range files {
79-
if !strings.HasSuffix(f.Name(), ".sql") {
81+
for _, filename := range files {
82+
if !strings.HasSuffix(filename, ".sql") {
8083
continue
8184
}
82-
if strings.HasPrefix(f.Name(), ".") {
85+
if strings.HasPrefix(filepath.Base(filename), ".") {
8386
continue
8487
}
85-
filename := filepath.Join(schema, f.Name())
8688
blob, err := ioutil.ReadFile(filename)
8789
if err != nil {
8890
merr.Add(filename, "", 0, err)
@@ -174,26 +176,28 @@ func ParseQueries(c core.Catalog, settings GenerateSettings, pkg PackageSettings
174176
return nil, fmt.Errorf("path %s does not exist", pkg.Queries)
175177
}
176178

177-
var files []os.FileInfo
179+
var files []string
178180
if f.IsDir() {
179-
files, err = ioutil.ReadDir(pkg.Queries)
181+
listing, err := ioutil.ReadDir(pkg.Queries)
180182
if err != nil {
181183
return nil, err
182184
}
185+
for _, f := range listing {
186+
files = append(files, filepath.Join(pkg.Queries, f.Name()))
187+
}
183188
} else {
184-
files = append(files, f)
189+
files = append(files, pkg.Queries)
185190
}
186191

187192
merr := NewParserErr()
188193
var q []*Query
189-
for _, f := range files {
190-
if !strings.HasSuffix(f.Name(), ".sql") {
194+
for _, filename := range files {
195+
if !strings.HasSuffix(filename, ".sql") {
191196
continue
192197
}
193-
if strings.HasPrefix(f.Name(), ".") {
198+
if strings.HasPrefix(filepath.Base(filename), ".") {
194199
continue
195200
}
196-
filename := filepath.Join(pkg.Queries, f.Name())
197201
blob, err := ioutil.ReadFile(filename)
198202
if err != nil {
199203
merr.Add(filename, "", 0, err)
@@ -212,7 +216,7 @@ func ParseQueries(c core.Catalog, settings GenerateSettings, pkg PackageSettings
212216
merr.Add(filename, source, location(stmt), err)
213217
continue
214218
}
215-
query.Filename = f.Name()
219+
query.Filename = filepath.Base(filename)
216220
if query != nil {
217221
q = append(q, query)
218222
}

0 commit comments

Comments
 (0)