MCPcopy
hub / github.com/codedogQBY/ReadAny / rememberRemoteTombstone

Function rememberRemoteTombstone

packages/core/src/sync/simple-sync.ts:467–494  ·  view source on GitHub ↗
(
  db: Awaited<ReturnType<typeof getDB>>,
  tableName: string,
  id: string,
  deletedAt: number,
  deviceId: string,
)

Source from the content-addressed store, hash-verified

465}
466
467async function rememberRemoteTombstone(
468 db: Awaited<ReturnType<typeof getDB>>,
469 tableName: string,
470 id: string,
471 deletedAt: number,
472 deviceId: string,
473): Promise<void> {
474 try {
475 await db.execute(
476 `INSERT INTO sync_tombstones (id, table_name, deleted_at, device_id)
477 VALUES (?, ?, ?, ?)
478 ON CONFLICT(id, table_name) DO UPDATE SET
479 deleted_at = CASE
480 WHEN excluded.deleted_at > sync_tombstones.deleted_at
481 THEN excluded.deleted_at
482 ELSE sync_tombstones.deleted_at
483 END,
484 device_id = CASE
485 WHEN excluded.deleted_at > sync_tombstones.deleted_at
486 THEN excluded.device_id
487 ELSE sync_tombstones.device_id
488 END`,
489 [id, tableName, deletedAt, deviceId],
490 );
491 } catch {
492 // sync_tombstones may not exist on older schema variants.
493 }
494}
495
496async function loadExistingRecordStates(
497 db: Awaited<ReturnType<typeof getDB>>,

Callers 1

applyChangesFunction · 0.85

Calls 1

executeMethod · 0.65

Tested by

no test coverage detected