@rulvar/store-postgres 1.62.0 → 1.64.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (2) hide show
  1. package/dist/index.js +4 -2
  2. package/package.json +3 -3
package/dist/index.js CHANGED
@@ -22,7 +22,10 @@ import { ConfigError, JournalOrderViolation, LeaseHeldError, metaMatchesFilter }
22
22
  * commit as ONE serialized unit, so a takeover from another process or
23
23
  * HOST cannot land between the check and the write. The lock is
24
24
  * per-run, so unrelated runs never queue behind each other.
25
- * - Fencing: the epoch is monotonic per run for the store's lifetime; an
25
+ * - Fencing: the epoch is monotonic per runId for the store's lifetime
26
+ * INCLUDING across deleteRun and recreate (the epochs row is a
27
+ * tombstone deletion preserves, so a zombie lease from a deleted
28
+ * incarnation can never fence green against a recreated run); an
26
29
  * append carrying a stale or released lease rejects with the typed
27
30
  * LeaseHeldError and the entry never becomes visible. `fencedWrites:
28
31
  * true` on both the journal side and the transcript twin: putMeta,
@@ -292,7 +295,6 @@ var PostgresStore = class {
292
295
  await client.query(`DELETE FROM ${this.table("entries")} WHERE run_id = $1`, [runId]);
293
296
  await client.query(`DELETE FROM ${this.table("meta")} WHERE run_id = $1`, [runId]);
294
297
  await client.query(`DELETE FROM ${this.table("leases")} WHERE run_id = $1`, [runId]);
295
- await client.query(`DELETE FROM ${this.table("epochs")} WHERE run_id = $1`, [runId]);
296
298
  }
297
299
  async delete(runId, lease) {
298
300
  if (lease !== void 0) {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@rulvar/store-postgres",
3
- "version": "1.62.0",
3
+ "version": "1.64.0",
4
4
  "description": "Rulvar PostgreSQL store implementing JournalStore and LeasableStore with a fencing epoch, for multi-process and multi-host deployments.",
5
5
  "type": "module",
6
6
  "license": "Apache-2.0",
@@ -23,14 +23,14 @@
23
23
  },
24
24
  "dependencies": {
25
25
  "pg": "^8.22.0",
26
- "@rulvar/core": "1.62.0"
26
+ "@rulvar/core": "1.64.0"
27
27
  },
28
28
  "devDependencies": {
29
29
  "@types/node": "^22.20.0",
30
30
  "@types/pg": "^8.16.0",
31
31
  "tsdown": "^0.22.3",
32
32
  "typescript": "~6.0.3",
33
- "@rulvar/store-conformance": "1.62.0"
33
+ "@rulvar/store-conformance": "1.64.0"
34
34
  },
35
35
  "repository": {
36
36
  "type": "git",