symfonic.memory.backends.postgres_bulk_dedup¶
postgres_bulk_dedup ¶
Private PostgreSQL BulkDedupPlan apply; never a public admission proof.
Both graph tables take SHARE ROW EXCLUSIVE locks for this short transaction. That blocks all tenants' writers, including v0 edge inserts that do not lock endpoint rows. It does not protect the earlier read/planning pass or later result read, so the public PostgreSQL bulk gate must stay closed.
apply
async
¶
Own a short transaction for standalone private apply.
Source code in src/symfonic/memory/backends/postgres_bulk_dedup.py
apply_locked
async
¶
Apply a validated plan while the caller holds both table locks.
Source code in src/symfonic/memory/backends/postgres_bulk_dedup.py
lock_graph_tables
async
¶
Exclude node and edge writers before a private graph read.