solid-objects 0.14.5 → 0.14.6

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.
@@ -1 +1 @@
1
- {"version":3,"file":"schema.d.ts","sourceRoot":"","sources":["../src/schema.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,kBAAkB,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAA;AAW7E,wBAAsB,aAAa,CAAC,OAAO,EAAE;IAC3C,UAAU,EAAE,kBAAkB,CAAA;IAC9B,MAAM,EAAE,cAAc,CAAA;IACtB,MAAM,EAAE,MAAM,CAAA;IACd,cAAc,EAAE,MAAM,CAAA;CACvB,GAAG,OAAO,CAAC,IAAI,CAAC,CAiShB"}
1
+ {"version":3,"file":"schema.d.ts","sourceRoot":"","sources":["../src/schema.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,kBAAkB,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAA;AAY7E,wBAAsB,aAAa,CAAC,OAAO,EAAE;IAC3C,UAAU,EAAE,kBAAkB,CAAA;IAC9B,MAAM,EAAE,cAAc,CAAA;IACtB,MAAM,EAAE,MAAM,CAAA;IACd,cAAc,EAAE,MAAM,CAAA;CACvB,GAAG,OAAO,CAAC,IAAI,CAAC,CAyThB"}
package/dist/schema.js CHANGED
@@ -6,7 +6,8 @@ const PROCESS_IDENTITY_VERSION = 4;
6
6
  const PROCESS_DRAINING_VERSION = 5;
7
7
  const OBSERVABLE_INVALIDATIONS_VERSION = 6;
8
8
  const KEYED_REMINDERS_VERSION = 7;
9
- const LATEST_VERSION = KEYED_REMINDERS_VERSION;
9
+ const POLLING_INDEXES_VERSION = 8;
10
+ const LATEST_VERSION = POLLING_INDEXES_VERSION;
10
11
  export async function installSchema(options) {
11
12
  const { connection, family, prefix, schemaIdentity } = options;
12
13
  if (family !== "sqlite" && family !== "postgresql" && family !== "mysql") {
@@ -241,14 +242,37 @@ export async function installSchema(options) {
241
242
  schemaIdentity,
242
243
  });
243
244
  }
244
- if (installedVersions.has(OBSERVABLE_INVALIDATIONS_VERSION))
245
+ if (!installedVersions.has(OBSERVABLE_INVALIDATIONS_VERSION)) {
246
+ await connection.run(`ALTER TABLE ${table("broadcasts")} ADD COLUMN ${family === "postgresql" ? "IF NOT EXISTS " : ""}invalidations ${family === "mysql" ? "LONGTEXT" : "TEXT"}`);
247
+ await connection.run(`UPDATE ${table("broadcasts")} SET invalidations = ? WHERE invalidations IS NULL`, ["[]"]);
248
+ await recordMigration({
249
+ connection,
250
+ table: table("schema_migrations"),
251
+ version: OBSERVABLE_INVALIDATIONS_VERSION,
252
+ schemaIdentity,
253
+ });
254
+ }
255
+ if (installedVersions.has(POLLING_INDEXES_VERSION))
245
256
  return;
246
- await connection.run(`ALTER TABLE ${table("broadcasts")} ADD COLUMN ${family === "postgresql" ? "IF NOT EXISTS " : ""}invalidations ${family === "mysql" ? "LONGTEXT" : "TEXT"}`);
247
- await connection.run(`UPDATE ${table("broadcasts")} SET invalidations = ? WHERE invalidations IS NULL`, ["[]"]);
257
+ const pollingIndexes = [
258
+ ["effects", `${prefix}effects_poll`, "status, available_at_ms, id"],
259
+ ["reminders", `${prefix}reminders_due`, "status, run_at_ms, id"],
260
+ ["broadcasts", `${prefix}broadcasts_poll`, "status, available_at_ms, id"],
261
+ ["broadcasts", `${prefix}broadcasts_instance_revision`, "instance_id, state_revision, status"],
262
+ ];
263
+ for (const [tableName, name, columns] of pollingIndexes) {
264
+ await createIndex({
265
+ connection,
266
+ family,
267
+ table: table(tableName),
268
+ name,
269
+ columns,
270
+ });
271
+ }
248
272
  await recordMigration({
249
273
  connection,
250
274
  table: table("schema_migrations"),
251
- version: OBSERVABLE_INVALIDATIONS_VERSION,
275
+ version: POLLING_INDEXES_VERSION,
252
276
  schemaIdentity,
253
277
  });
254
278
  }
@@ -1 +1 @@
1
- {"version":3,"file":"schema.js","sourceRoot":"","sources":["../src/schema.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"schema.js","sourceRoot":"","sources":["../src/schema.ts"],"names":[],"mappings":"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"}
package/dist/version.d.ts CHANGED
@@ -1,2 +1,2 @@
1
- export declare const VERSION = "0.14.5";
1
+ export declare const VERSION = "0.14.6";
2
2
  //# sourceMappingURL=version.d.ts.map
package/dist/version.js CHANGED
@@ -1,2 +1,2 @@
1
- export const VERSION = "0.14.5";
1
+ export const VERSION = "0.14.6";
2
2
  //# sourceMappingURL=version.js.map
package/docs/api.md CHANGED
@@ -206,8 +206,12 @@ rows for `preview()` and rows actually deleted for `prune()`.
206
206
  `InstrumentationEvent` type the host integration contract. `JsonPrimitive`,
207
207
  `JsonValue`, `JsonObject`, `DeepReadonly`, `ActorIdentifier`, `MessageContext`,
208
208
  `MessageStatus`, and `Logger` are shared types. `Database`,
209
- `DatabaseConnection`, `DatabaseFamily`, and `RunResult` support custom database
210
- and commit-action integration.
209
+ `DatabaseConnection`, `DatabaseFamily`, `DatabaseTransactionOptions`, and
210
+ `RunResult` support custom database and commit-action integration. A custom
211
+ PostgreSQL or MySQL adapter must honor
212
+ `transaction(callback, { isolationLevel: "read_committed" })`; outbox claiming
213
+ uses that isolation with row locks to avoid InnoDB gap-lock contention. SQLite
214
+ adapters may treat the option as their ordinary serialized transaction.
211
215
 
212
216
  `BroadcastEvent.observables` contains changed value-broadcast projections.
213
217
  `BroadcastEvent.invalidations` contains changed invalidation-only names. The
package/docs/parity.md CHANGED
@@ -80,15 +80,15 @@ such boundary between a gem and its dependents.
80
80
 
81
81
  ## Databases and wake-up
82
82
 
83
- | Capability | Status | TypeScript shape or remaining work |
84
- | ------------------------ | ------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
85
- | SQLite | Native | Uses built-in `node:sqlite`, serialized process-local access, bounded transient writer retries, foreign keys, strict tables, database time, and deadline-bounded access and lock waits. |
86
- | PostgreSQL | Native | Optional `pg` 8.23 peer, bounded pooling, 64-bit schema, row-locked sequences, server checks, and deadline-bounded pool, statement, and lock waits. |
87
- | MySQL | Native | Optional `mysql2` 3.23 peer, bounded pooling, InnoDB schema, row-locked sequences, scoped deadlock retry, and deadline-bounded pool, query, and lock waits. Ruby also tests a second client, `trilogy`; Node has no comparable second MySQL client, so only `mysql2` is tracked here. |
88
- | Durable polling fallback | Native | Every role progresses without a notification service. |
89
- | In-process wake-up | Native | A generation-based default adapter prevents claim-to-wait signal loss; commits wake role-specific waiters and polling remains the fallback. |
90
- | PostgreSQL wake-up | Native | `database.wakeUp()` uses one dedicated event-driven client, role-specific `LISTEN/NOTIFY`, generation fencing, reconnectable listeners, and durable polling fallback. |
91
- | Redis wake-up | Native | An optional `redis` peer provides role-specific Pub/Sub over separate lazy publisher/subscriber connections, with bounded failures and durable polling fallback. |
83
+ | Capability | Status | TypeScript shape or remaining work |
84
+ | ------------------------ | ------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
85
+ | SQLite | Native | Uses built-in `node:sqlite`, serialized process-local access, bounded transient writer retries, foreign keys, strict tables, database time, and deadline-bounded access and lock waits. |
86
+ | PostgreSQL | Native | Optional `pg` 8.23 peer, bounded pooling, 64-bit schema, row-locked sequences, server checks, and deadline-bounded pool, statement, and lock waits. |
87
+ | MySQL | Native | Optional `mysql2` 3.23 peer, bounded pooling, InnoDB schema, row-locked sequences, scoped deadlock retry, and deadline-bounded pool, query, and lock waits. Ruby also tests a second client, `trilogy`; Node has no comparable second MySQL client, so only `mysql2` is tracked here. |
88
+ | Durable polling fallback | Native | Every role progresses without a notification service. Effects, reminders, and broadcasts use canonical ordered polling indexes; PostgreSQL and MySQL lock only the selected row with `FOR UPDATE SKIP LOCKED`. Broadcasts and reminders compare separate available and stale-recovery probes, preserve the oldest-first choice, and retry past candidates locked by another claimant. |
89
+ | In-process wake-up | Native | A generation-based default adapter prevents claim-to-wait signal loss; commits wake role-specific waiters and polling remains the fallback. |
90
+ | PostgreSQL wake-up | Native | `database.wakeUp()` uses one dedicated event-driven client, role-specific `LISTEN/NOTIFY`, generation fencing, reconnectable listeners, and durable polling fallback. |
91
+ | Redis wake-up | Native | An optional `redis` peer provides role-specific Pub/Sub over separate lazy publisher/subscriber connections, with bounded failures and durable polling fallback. |
92
92
 
93
93
  Every wake-up adapter above is opt-in. Neither runtime selects one
94
94
  automatically. An application that configures nothing keeps polling. Each
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "solid-objects",
3
- "version": "0.14.5",
3
+ "version": "0.14.6",
4
4
  "description": "Race-free realtime state per application identity, backed by your SQL database",
5
5
  "type": "module",
6
6
  "license": "MIT",