Skip to content

Commit e44a0ed

Browse files
committed
make decode follow query
1 parent a74aaa1 commit e44a0ed

1 file changed

Lines changed: 13 additions & 11 deletions

File tree

cmd/codeql_qdriver/main.go

Lines changed: 13 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -61,14 +61,15 @@ func main() {
6161
}
6262
for grpi, grp := range cfg.QueryGrps {
6363
fmt.Printf("Grp %d: Executing queries\n", grpi)
64-
queriesExec(cfg, grp)
64+
queriesExec(cfg, grp, targetDecodeFmt)
6565
}
66+
} else {
67+
fmt.Println("Decoding results")
68+
if _, err := config.ArchiveCurrentIfExist(cfg, "decode"); err != nil {
69+
log.Fatalf("Failed to archive current log dir: %v", err)
70+
}
71+
decodeResults(cfg, targetDecodeFmt)
6672
}
67-
fmt.Println("Decoding results")
68-
if _, err := config.ArchiveCurrentIfExist(cfg, "decode"); err != nil {
69-
log.Fatalf("Failed to archive current log dir: %v", err)
70-
}
71-
decodeResults(cfg, targetDecodeFmt)
7273
if doCollect && targetDecodeFmt == "csv" {
7374
fmt.Println("Collecting CSVs")
7475
collectCSVs(cfg)
@@ -90,7 +91,7 @@ first remove all content in ${config.OutResultRoot}/${qScriptNameNoExt}
9091
dump error log for ${db} in ${config.OutResultRoot}/${qScriptNameNoExt}/error.log
9192
dump stdout/stderr for ${db} in ${config.OutResultRoot}/${qScriptNameNoExt}/log/${db}.log
9293
*/
93-
func queriesExec(cfg *config.Artifact, grp config.QueryGroup) {
94+
func queriesExec(cfg *config.Artifact, grp config.QueryGroup, tgtFmt string) {
9495
dbs := cfg.ConvStrSliceToDBSlice(grp.QueryDBs)
9596
bar := progressbar.Default(int64(len(dbs) * len(grp.Queries)))
9697
for _, qScript := range grp.Queries {
@@ -100,11 +101,11 @@ func queriesExec(cfg *config.Artifact, grp config.QueryGroup) {
100101
utils.MkdirAll(queryLogDir)
101102
utils.Remkdir(query.DirPath(cfg.ResultRoot))
102103

103-
var wg sync.WaitGroup
104+
var dbWg sync.WaitGroup
104105
for _, db := range dbs {
105-
wg.Add(1)
106+
dbWg.Add(1)
106107
go func(db config.DB, query config.Query) {
107-
defer wg.Done()
108+
defer dbWg.Done()
108109
queryForOneDB(cfg, db, query)
109110
bar.Describe(fmt.Sprintf("query: %-15s db: %-15s exts: %-15s", query.Name(), db.Name, query.ExternalsSingleString()))
110111
bar.Add(1)
@@ -115,7 +116,8 @@ func queriesExec(cfg *config.Artifact, grp config.QueryGroup) {
115116
`codeql database run-queries` supports multiple queries.
116117
But work to collect results from codeql-db/<db>/results is needed
117118
*/
118-
wg.Wait()
119+
dbWg.Wait()
120+
decodeFilesInDir(cfg, tgtFmt, query)
119121
}
120122
bar.Close()
121123
}

0 commit comments

Comments
 (0)