work in progress: Container.Get(), .Query()
This commit is contained in:
parent
48e60dc721
commit
22245a2c3a
2 changed files with 35 additions and 4 deletions
|
@ -73,6 +73,20 @@ func (tr *track) SetTimeStamp(ts *time.Time) {
|
|||
}
|
||||
|
||||
func (tr *track) Update(h lib.StrSlice, d lib.Map, ts *time.Time) {
|
||||
for i, k := range tr.container.HeadFields {
|
||||
if i >= len(h) {
|
||||
break
|
||||
}
|
||||
if h[i] != "" {
|
||||
tr.head[k] = h[i]
|
||||
}
|
||||
}
|
||||
if d != nil {
|
||||
tr.data = d
|
||||
}
|
||||
if ts != nil {
|
||||
tr.timeStamp = ts
|
||||
}
|
||||
}
|
||||
|
||||
// basic container implementation
|
||||
|
@ -93,6 +107,21 @@ func Tracks(db *sql.Storage) *Container {
|
|||
return &Container{container_definition, db}
|
||||
}
|
||||
|
||||
func (cont *Container) Get(id lib.Ident) Track {
|
||||
db := cont.Storage
|
||||
qu := lib.Map{
|
||||
"schema": db.Schema,
|
||||
"tablename": cont.TableName,
|
||||
"scols": append(cont.HeadFields, "timestamp", "data"),
|
||||
"qucols": lib.StrSlice{"taskid"},
|
||||
}
|
||||
sql := storage.BuildSql(SqlSelect, qu)
|
||||
print(sql)
|
||||
var h []string
|
||||
tr := cont.ItemFactory(cont, h...)
|
||||
return tr
|
||||
}
|
||||
|
||||
func (cont *Container) Query(headValues lib.StrSlice) Track {
|
||||
db := cont.Storage
|
||||
data := lib.Map{
|
||||
|
@ -103,7 +132,8 @@ func (cont *Container) Query(headValues lib.StrSlice) Track {
|
|||
"ordcols": lib.StrSlice{"timestamp"},
|
||||
}
|
||||
sql := storage.BuildSql(SqlSelect, data)
|
||||
print(sql)
|
||||
//print(sql)
|
||||
_ = sql
|
||||
tr := cont.ItemFactory(cont)
|
||||
return tr
|
||||
}
|
||||
|
@ -111,7 +141,7 @@ func (cont *Container) Query(headValues lib.StrSlice) Track {
|
|||
func (cont *Container) NewTrack(h []string, data lib.Map) Track {
|
||||
tr := cont.ItemFactory(cont, h...)
|
||||
//tr.SetData(data)
|
||||
cont.insert(tr)
|
||||
cont.Insert(tr)
|
||||
return tr
|
||||
}
|
||||
|
||||
|
@ -119,7 +149,7 @@ func (cont *Container) Save(t Track) lib.Ident {
|
|||
return 0
|
||||
}
|
||||
|
||||
func (cont *Container) insert(tr Track) lib.Ident {
|
||||
func (cont *Container) Insert(tr Track) lib.Ident {
|
||||
var columns []string
|
||||
var values []any
|
||||
head := tr.Head()
|
||||
|
|
|
@ -72,7 +72,8 @@ func TrackingTest(t *testing.T, cfg *sql.Cfg, db *sql.Storage) {
|
|||
t.AssertEqual(track.TrackId(), lib.Ident(1))
|
||||
t.AssertEqual(track.TimeStamp().Year(), time.Now().Year())
|
||||
//fmt.Printf("%+v\n", track.TimeStamp())
|
||||
tr2 := cont.Query(lib.StrSlice{"", "john"})
|
||||
tr2 := cont.Get(1)
|
||||
//tr2 := cont.Query(lib.StrSlice{"", "john"})
|
||||
_ = tr2
|
||||
}
|
||||
|
||||
|
|
Loading…
Add table
Reference in a new issue