MCPcopy
hub / github.com/wavetermdev/waveterm / dbSelectOIDs

Function dbSelectOIDs

pkg/wstore/wstore_dbops.go:169–186  ·  view source on GitHub ↗
(ctx context.Context, otype string, oids []string)

Source from the content-addressed store, hash-verified

167}
168
169func dbSelectOIDs(ctx context.Context, otype string, oids []string) ([]waveobj.WaveObj, error) {
170 return WithTxRtn(ctx, func(tx *TxWrap) ([]waveobj.WaveObj, error) {
171 table := tableNameFromOType(otype)
172 query := fmt.Sprintf("SELECT oid, version, data FROM %s WHERE oid IN (SELECT value FROM json_each(?))", table)
173 var rows []idDataType
174 tx.Select(&rows, query, dbutil.QuickJson(oids))
175 rtn := make([]waveobj.WaveObj, 0, len(rows))
176 for _, row := range rows {
177 waveObj, err := waveobj.FromJson(row.Data)
178 if err != nil {
179 return nil, err
180 }
181 waveobj.SetVersion(waveObj, row.Version)
182 rtn = append(rtn, waveObj)
183 }
184 return rtn, nil
185 })
186}
187
188func DBSelectORefs(ctx context.Context, orefs []waveobj.ORef) ([]waveobj.WaveObj, error) {
189 oidsByType := make(map[string][]string)

Callers 2

DBSelectORefsFunction · 0.85
DBSelectMapFunction · 0.85

Calls 5

QuickJsonFunction · 0.92
FromJsonFunction · 0.92
SetVersionFunction · 0.92
tableNameFromOTypeFunction · 0.85
WithTxRtnFunction · 0.70

Tested by

no test coverage detected