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

Function DBInsert

pkg/wstore/wstore_dbops.go:345–362  ·  view source on GitHub ↗
(ctx context.Context, val waveobj.WaveObj)

Source from the content-addressed store, hash-verified

343}
344
345func DBInsert(ctx context.Context, val waveobj.WaveObj) error {
346 oid := waveobj.GetOID(val)
347 if oid == "" {
348 return fmt.Errorf("cannot insert %T value with empty id", val)
349 }
350 jsonData, err := waveobj.ToJson(val)
351 if err != nil {
352 return err
353 }
354 return WithTx(ctx, func(tx *TxWrap) error {
355 table := waveObjTableName(val)
356 waveobj.SetVersion(val, 1)
357 query := fmt.Sprintf("INSERT INTO %s (oid, version, data) VALUES (?, ?, ?)", table)
358 tx.Exec(query, oid, 1, jsonData)
359 waveobj.ContextAddUpdate(ctx, waveobj.WaveObjUpdate{UpdateType: waveobj.UpdateType_Update, OType: val.GetOType(), OID: oid, Obj: val})
360 return nil
361 })
362}
363
364func DBFindTabForBlockId(ctx context.Context, blockId string) (string, error) {
365 return WithTxRtn(ctx, func(tx *TxWrap) (string, error) {

Callers 8

StartJobFunction · 0.92
CreateWorkspaceFunction · 0.92
createTabObjFunction · 0.92
CreateWindowFunction · 0.92
CreateClientFunction · 0.92
InitMainServerFunction · 0.92
createSubBlockObjFunction · 0.92
createBlockObjFunction · 0.92

Calls 7

GetOIDFunction · 0.92
ToJsonFunction · 0.92
SetVersionFunction · 0.92
ContextAddUpdateFunction · 0.92
waveObjTableNameFunction · 0.85
WithTxFunction · 0.70
GetOTypeMethod · 0.65

Tested by

no test coverage detected