From 4df0a39bf09ed8bb9b485c7062e6b78181a128fa Mon Sep 17 00:00:00 2001 From: Helmut Merz Date: Thu, 11 Apr 2024 21:41:45 +0200 Subject: [PATCH] Container.Get(): clean-up, improvements --- storage/tracking/tracking.go | 26 +++++++++----------------- 1 file changed, 9 insertions(+), 17 deletions(-) diff --git a/storage/tracking/tracking.go b/storage/tracking/tracking.go index 3d010d6..1fe09f9 100644 --- a/storage/tracking/tracking.go +++ b/storage/tracking/tracking.go @@ -61,10 +61,8 @@ func (tr *Track) ScanP(rows *sql.Rows) error { var hv string d = append(d, &hv) } - var ts string - d = append(d, &ts) - var rd string - d = append(d, &rd) + var ts, rd string + d = append(d, &ts, &rd, &tr.trackId) err := rows.Scan(d...) for i, k := range tr.container.HeadFields { tr.Head[k] = *d[i].(*string) @@ -74,7 +72,6 @@ func (tr *Track) ScanP(rows *sql.Rows) error { if err != nil { log.Error(err).Msg("storage.tracking.ScanP") } - fmt.Printf("%+v, %v, %v\n", tr.Head, tr.TimeStamp, tr.Data) return err } @@ -98,27 +95,22 @@ func Tracks(db *sql.Storage) *Container { func (cont *Container) Get(id lib.Ident) *Track { db := cont.Storage - var trs []*Track - processTracks := func(r *sql.Rows) error { + var tr *Track + proc := func(r *sql.Rows) error { tr := cont.ItemFactory(cont) - err := tr.ScanP(r) - trs = append(trs, tr) - return err + return tr.ScanP(r) } qu := lib.Map{ "schema": db.Schema, "tablename": cont.TableName, - "scols": append(cont.HeadFields, "timestamp", "data"), + "scols": append(cont.HeadFields, "timestamp", "data", "trackid"), "qucols": lib.StrSlice{"trackid"}, } sql := storage.BuildSql(SqlSelect, qu) print(sql) - //tr := cont.ItemFactory(cont) - db.Query(processTracks, sql, id) - if len(trs) > 0 { - return trs[0] - } - return nil + db.Query(proc, sql, id) + fmt.Printf("%+v\n", *tr) + return tr } func (cont *Container) Query(headValues lib.StrSlice) *Track {