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

Function DBGetORef

pkg/wstore/wstore_dbops.go:151–167  ·  view source on GitHub ↗
(ctx context.Context, oref waveobj.ORef)

Source from the content-addressed store, hash-verified

149}
150
151func DBGetORef(ctx context.Context, oref waveobj.ORef) (waveobj.WaveObj, error) {
152 return WithTxRtn(ctx, func(tx *TxWrap) (waveobj.WaveObj, error) {
153 table := tableNameFromOType(oref.OType)
154 query := fmt.Sprintf("SELECT oid, version, data FROM %s WHERE oid = ?", table)
155 var row idDataType
156 found := tx.Get(&row, query, oref.OID)
157 if !found {
158 return nil, nil
159 }
160 rtn, err := waveobj.FromJson(row.Data)
161 if err != nil {
162 return rtn, err
163 }
164 waveobj.SetVersion(rtn, row.Version)
165 return rtn, nil
166 })
167}
168
169func dbSelectOIDs(ctx context.Context, otype string, oids []string) ([]waveobj.WaveObj, error) {
170 return WithTxRtn(ctx, func(tx *TxWrap) ([]waveobj.WaveObj, error) {

Callers 6

GetMetaCommandMethod · 0.92
GetObjectMethod · 0.92
SendWaveObjUpdateFunction · 0.92
UpdateObjectMetaFunction · 0.85
DBGetFunction · 0.85
DBMustGetFunction · 0.85

Calls 5

FromJsonFunction · 0.92
SetVersionFunction · 0.92
tableNameFromOTypeFunction · 0.85
WithTxRtnFunction · 0.70
GetMethod · 0.45

Tested by

no test coverage detected