Skip to content

Commit 2018a4a

Browse files
committed
Ensure error checking is performed when generating statistics template
1 parent ec30ced commit 2018a4a

File tree

1 file changed

+11
-10
lines changed

1 file changed

+11
-10
lines changed

go/libraries/doltcore/sqle/statspro/worker.go

Lines changed: 11 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -437,25 +437,26 @@ func (sc *StatsController) updateTable(ctx *sql.Context, newStats *rootStats, ta
437437
var err error
438438
var prollyMap prolly.Map
439439
var template stats.Statistic
440-
if sc.sq.DoSync(ctx, func() (err error) {
440+
err = sc.sq.DoSync(ctx, func() (e error) {
441441
if strings.EqualFold(sqlIdx.ID(), "PRIMARY") {
442-
idx, err = dTab.GetRowData(ctx)
442+
idx, e = dTab.GetRowData(ctx)
443443
} else {
444-
idx, err = dTab.GetIndexRowData(ctx, sqlIdx.ID())
444+
idx, e = dTab.GetIndexRowData(ctx, sqlIdx.ID())
445445
}
446-
if err == nil {
447-
prollyMap, err = durable.ProllyMapFromIndex(idx)
448-
if err != nil {
449-
return err
446+
if e == nil {
447+
prollyMap, e = durable.ProllyMapFromIndex(idx)
448+
if e != nil {
449+
return e
450450
}
451451
}
452452

453-
_, template, err = sc.getTemplate(ctx, sqlTable, sqlIdx)
454-
if err != nil {
453+
_, template, e = sc.getTemplate(ctx, sqlTable, sqlIdx)
454+
if e != nil {
455455
return errors.Join(err, fmt.Errorf("stats collection failed to generate a statistic template: %s.%s.%s:%T", sqlDb.RevisionQualifiedName(), tableName, sqlIdx.ID(), sqlIdx))
456456
}
457457
return nil
458-
}); err != nil {
458+
})
459+
if err != nil {
459460
return err
460461
} else if template.Fds == nil || template.Fds.Empty() {
461462
return fmt.Errorf("failed to creat template for %s/%s/%s/%s", sqlDb.Revision(), sqlDb.AliasedName(), tableName, sqlIdx.ID())

0 commit comments

Comments
 (0)