MCPcopy Index your code
hub / github.com/wavetermdev/waveterm / DBDelete

Function DBDelete

pkg/wstore/wstore_dbops.go:274–299  ·  view source on GitHub ↗
(ctx context.Context, otype string, id string)

Source from the content-addressed store, hash-verified

272}
273
274func DBDelete(ctx context.Context, otype string, id string) error {
275 err := WithTx(ctx, func(tx *TxWrap) error {
276 table := tableNameFromOType(otype)
277 query := fmt.Sprintf("DELETE FROM %s WHERE oid = ?", table)
278 tx.Exec(query, id)
279 waveobj.ContextAddUpdate(ctx, waveobj.WaveObjUpdate{UpdateType: waveobj.UpdateType_Delete, OType: otype, OID: id})
280 return nil
281 })
282 if err != nil {
283 return err
284 }
285 go func() {
286 defer func() {
287 panichandler.PanicHandler("DBDelete:filestore.DeleteZone", recover())
288 }()
289 // we spawn a go routine here because we don't want to reuse the DB connection
290 // since DBDelete is called in a transaction from DeleteTab
291 deleteCtx, cancelFn := context.WithTimeout(context.Background(), 2*time.Second)
292 defer cancelFn()
293 err := filestore.WFS.DeleteZone(deleteCtx, id)
294 if err != nil {
295 log.Printf("error deleting filestore zone (after deleting block): %v", err)
296 }
297 }()
298 return nil
299}
300
301func DBUpdate(ctx context.Context, val waveobj.WaveObj) error {
302 oid := waveobj.GetOID(val)

Callers 5

DeleteJobFunction · 0.92
DeleteWorkspaceFunction · 0.92
DeleteTabFunction · 0.92
CloseWindowFunction · 0.92
deleteBlockObjFunction · 0.92

Calls 5

ContextAddUpdateFunction · 0.92
PanicHandlerFunction · 0.92
tableNameFromOTypeFunction · 0.85
DeleteZoneMethod · 0.80
WithTxFunction · 0.70

Tested by

no test coverage detected