bug fixes in Scan() results and conference list template

This commit is contained in:
2025-12-28 23:40:50 -07:00
parent 99dd8e78b9
commit 98a74487c2
8 changed files with 78 additions and 27 deletions
+17 -5
View File
@@ -17,6 +17,7 @@ import (
"sync"
"git.erbosoft.com/amy/amsterdam/util"
log "github.com/sirupsen/logrus"
)
// Category is the structure defining a category.
@@ -71,7 +72,10 @@ func loadCategories(ctx context.Context) error {
return errors.New("internal error loading categories")
}
var ncats int32
rs.Scan(&ncats)
err = rs.Scan(&ncats)
if err != nil {
return err
}
allCategories = make([]Category, 0, ncats)
err = amdb.SelectContext(ctx, &allCategories, "SELECT * FROM refcategory ORDER BY parent, name")
if err != nil {
@@ -243,7 +247,10 @@ func AmSearchCategories(ctx context.Context, oper int, term string, offset int,
return nil, -1, errors.New("internal error getting category total")
}
var total int
rs.Scan(&total)
err = rs.Scan(&total)
if err != nil {
return nil, total, err
}
if total == 0 {
return make([]*Category, 0), 0, nil
}
@@ -258,10 +265,15 @@ func AmSearchCategories(ctx context.Context, oper int, term string, offset int,
rc := make([]*Category, 0, min(max, 1000))
for rs.Next() {
var catid int32
rs.Scan(&catid)
c, err := AmGetCategory(ctx, catid)
err = rs.Scan(&catid)
if err == nil {
rc = append(rc, c)
c, err := AmGetCategory(ctx, catid)
if err == nil {
rc = append(rc, c)
}
}
if err != nil {
log.Errorf("AmSearchCategoris scan error: %v", err)
}
}
return rc, total, nil