@loradb/lora-node 0.14.0 → 0.16.2
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.
- package/README.md +148 -12
- package/dist/decode.d.ts.map +1 -1
- package/dist/decode.js +20 -8
- package/dist/decode.js.map +1 -1
- package/dist/index.d.ts +128 -5
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +486 -17
- package/dist/index.js.map +1 -1
- package/dist/native.js +1 -1
- package/dist/native.js.map +1 -1
- package/dist/types.d.ts +61 -3
- package/dist/types.d.ts.map +1 -1
- package/dist/types.js +3 -0
- package/dist/types.js.map +1 -1
- package/package.json +10 -6
- package/ts/native.d.ts +64 -1
- package/ts/native.js +1 -1
package/README.md
CHANGED
|
@@ -15,14 +15,16 @@ dedicated vitest).
|
|
|
15
15
|
|
|
16
16
|
## Install (local dev)
|
|
17
17
|
|
|
18
|
+
From the repository root:
|
|
19
|
+
|
|
18
20
|
```bash
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
21
|
+
corepack enable
|
|
22
|
+
yarn install --immutable
|
|
23
|
+
yarn workspace @loradb/lora-node build # Rust cdylib + TypeScript declarations
|
|
24
|
+
yarn workspace @loradb/lora-node test # vitest suite
|
|
23
25
|
```
|
|
24
26
|
|
|
25
|
-
The `
|
|
27
|
+
The `build:native` step uses [`@napi-rs/cli`](https://napi.rs/) and
|
|
26
28
|
produces a platform-specific `lora-node.<platform>-<arch>.node` artifact next
|
|
27
29
|
to `package.json`.
|
|
28
30
|
|
|
@@ -46,6 +48,123 @@ for (const row of res.rows) {
|
|
|
46
48
|
}
|
|
47
49
|
```
|
|
48
50
|
|
|
51
|
+
### Timeouts and cancellation
|
|
52
|
+
|
|
53
|
+
Every `execute()`, `stream()` and `transaction()` call takes an optional
|
|
54
|
+
third argument. A query that runs out of time or is cancelled stops at its
|
|
55
|
+
next check point, rolls back any writes, releases its locks, and rejects:
|
|
56
|
+
with a `LoraError` coded `LORA_TIMEOUT` for `timeoutMs`, or with the
|
|
57
|
+
signal's reason (an `AbortError`) for `signal`.
|
|
58
|
+
|
|
59
|
+
```ts
|
|
60
|
+
await db.execute(query, params, { timeoutMs: 250 });
|
|
61
|
+
|
|
62
|
+
const controller = new AbortController();
|
|
63
|
+
const pending = db.execute(query, params, { signal: controller.signal });
|
|
64
|
+
controller.abort(); // rejects with AbortError
|
|
65
|
+
|
|
66
|
+
// Database-wide default; a call can override it, and `timeoutMs: 0` opts out.
|
|
67
|
+
const bounded = await createDatabase("app", { queryTimeoutMs: 1000 });
|
|
68
|
+
```
|
|
69
|
+
|
|
70
|
+
### Interactive transactions
|
|
71
|
+
|
|
72
|
+
`db.begin()` opens a transaction you can drive statement by statement,
|
|
73
|
+
with application logic in between. A `read_write` transaction holds the
|
|
74
|
+
writer lock until it commits or rolls back, so no other write interleaves
|
|
75
|
+
(other writers wait; keep it short). A failed statement rolls it back, and
|
|
76
|
+
an unfinished transaction rolls back when disposed.
|
|
77
|
+
|
|
78
|
+
```ts
|
|
79
|
+
await using tx = await db.begin("read_write");
|
|
80
|
+
const { rows } = await tx.execute("MATCH (t:Trip {key: $k}) RETURN t.free AS free", { k });
|
|
81
|
+
if ((rows[0].free as number) > 0) {
|
|
82
|
+
await tx.execute("MATCH (t:Trip {key: $k}) SET t.free = t.free - 1", { k });
|
|
83
|
+
}
|
|
84
|
+
await tx.commit();
|
|
85
|
+
```
|
|
86
|
+
|
|
87
|
+
`tx.executeMany()` runs several statements in one native call and returns
|
|
88
|
+
their results in order, saving the round trip each `execute()` costs
|
|
89
|
+
(about 0.1 ms per statement down to 0.03 ms). Each statement sees the
|
|
90
|
+
writes before it. The first failing statement stops the batch and rolls
|
|
91
|
+
the transaction back; its error message ends with `(statement i of n)`.
|
|
92
|
+
`timeoutMs` and `signal` bound the whole batch.
|
|
93
|
+
|
|
94
|
+
```ts
|
|
95
|
+
const [created, total] = await tx.executeMany([
|
|
96
|
+
{ query: "CREATE (:Item {k: $k})", params: { k } },
|
|
97
|
+
{ query: "MATCH (i:Item) RETURN count(i) AS c" },
|
|
98
|
+
]);
|
|
99
|
+
```
|
|
100
|
+
|
|
101
|
+
Schema commands (`CREATE CONSTRAINT`, `CREATE INDEX`, `DROP ...`) work
|
|
102
|
+
inside `transaction()` and `db.begin()` and commit or roll back together
|
|
103
|
+
with the data statements.
|
|
104
|
+
|
|
105
|
+
### Change feed
|
|
106
|
+
|
|
107
|
+
`db.changes()` yields one `LoraChangeBatch` per committed write, in commit
|
|
108
|
+
order. Every write path counts: `execute()`, `stream()`, `transaction()`,
|
|
109
|
+
`db.begin()` / `executeMany()`, imports, `clear()` and `loadSnapshot()`.
|
|
110
|
+
Rolled-back work never appears.
|
|
111
|
+
|
|
112
|
+
```ts
|
|
113
|
+
const feed = db.changes({ fromLsn: savedLsn }); // omit fromLsn to start now
|
|
114
|
+
await feed.ready; // optional: every commit after this point is delivered
|
|
115
|
+
for await (const batch of feed) {
|
|
116
|
+
for (const change of batch.changes) {
|
|
117
|
+
if (change.kind === "nodeUpdated" && change.labels.includes("User")) {
|
|
118
|
+
invalidate(change.properties.id, change.setKeys);
|
|
119
|
+
}
|
|
120
|
+
}
|
|
121
|
+
savedLsn = batch.lsn;
|
|
122
|
+
}
|
|
123
|
+
```
|
|
124
|
+
|
|
125
|
+
A batch is `{ lsn, changes }`. `lsn` is a strictly increasing resume
|
|
126
|
+
token. Each change reports the net effect of the write on one entity, in
|
|
127
|
+
the order the write first touched it:
|
|
128
|
+
|
|
129
|
+
| `kind` | Fields |
|
|
130
|
+
| -------------------------------------------- | -------------------------------------------------------------------------------------- |
|
|
131
|
+
| `nodeCreated`, `nodeDeleted` | `id`, `labels`, `properties` |
|
|
132
|
+
| `nodeUpdated` | `id`, `labels`, `properties`, `setKeys`, `removedKeys`, `addedLabels`, `removedLabels` |
|
|
133
|
+
| `relationshipCreated`, `relationshipDeleted` | `id`, `type`, `startId`, `endId`, `properties` |
|
|
134
|
+
| `relationshipUpdated` | the relationship fields plus `setKeys`, `removedKeys` |
|
|
135
|
+
| `reset` | none: the whole graph was replaced (`clear()`, `loadSnapshot()`) |
|
|
136
|
+
|
|
137
|
+
Created and updated entities carry their state after the commit. Deleted
|
|
138
|
+
entities carry their last committed state, so a consumer can still read
|
|
139
|
+
their keys. An entity created and deleted in the same write is left out.
|
|
140
|
+
When a write touches a key or label more than once, the last operation
|
|
141
|
+
decides whether it is listed as set or removed.
|
|
142
|
+
|
|
143
|
+
Resuming:
|
|
144
|
+
|
|
145
|
+
- In-memory databases number commits with a process-local counter and keep
|
|
146
|
+
the last 1024 batches. `fromLsn` works within that window.
|
|
147
|
+
- WAL-backed databases (`databaseName`, `openWalDatabase`) use the WAL's
|
|
148
|
+
commit LSN. `fromLsn` resumes across restarts for as far back as the WAL
|
|
149
|
+
holds history: the feed rebuilds older batches by replaying the WAL from
|
|
150
|
+
an empty graph or a managed checkpoint snapshot, so an old resume point
|
|
151
|
+
costs a replay.
|
|
152
|
+
- An LSN the database no longer retains fails with
|
|
153
|
+
`LORA_CHANGES_TRUNCATED`: start a new feed and re-read current state.
|
|
154
|
+
|
|
155
|
+
Writers never wait for a feed. Each feed buffers up to `bufferSize` batches
|
|
156
|
+
(default 1024); a consumer that falls further behind receives the buffered
|
|
157
|
+
batches and then `LORA_CHANGES_LAGGED`, and should resume with
|
|
158
|
+
`fromLsn: feed.lastLsn`. `break`, `feed.close()`, an aborted `signal`
|
|
159
|
+
(`next()` rejects with its reason) and `db.dispose()` end the feed. An open
|
|
160
|
+
feed does not keep the process alive on its own.
|
|
161
|
+
|
|
162
|
+
Capture starts with the first `changes()` call on a database and stays on
|
|
163
|
+
until it closes. It costs about 0.5 µs per single-row write in the engine
|
|
164
|
+
(and about 35% on bulk `UNWIND` writes) plus the consumer's own work.
|
|
165
|
+
Snapshot restores on a WAL-backed database appear in the live feed as
|
|
166
|
+
`reset` but are not part of the WAL history a later resume replays.
|
|
167
|
+
|
|
49
168
|
### Explain & Profile
|
|
50
169
|
|
|
51
170
|
`db.explain()` and `db.profile()` are first-class methods alongside
|
|
@@ -173,6 +292,7 @@ await db.loadSnapshot(new URL("https://example.com/graph.lorasnap"));
|
|
|
173
292
|
| TS type | Runtime shape |
|
|
174
293
|
|-------------------------|-------------------------------------------------------------------------------|
|
|
175
294
|
| `null`/`boolean`/`number`/`string` | pass-through JS primitives |
|
|
295
|
+
| `bigint` | integers outside `Number.MIN_SAFE_INTEGER..MAX_SAFE_INTEGER` (exact 64-bit) |
|
|
176
296
|
| `LoraValue[]` / object | homogeneous arrays and nested records |
|
|
177
297
|
| `LoraNode` | `{ kind: "node", id, labels, properties }` |
|
|
178
298
|
| `LoraRelationship` | `{ kind: "relationship", id, startId, endId, type, properties }` |
|
|
@@ -189,6 +309,14 @@ await db.loadSnapshot(new URL("https://example.com/graph.lorasnap"));
|
|
|
189
309
|
| `{ kind: "point", srid: 4326, crs: "WGS-84-2D", x, y, longitude, latitude }` | WGS-84 2D |
|
|
190
310
|
| `{ kind: "point", srid: 4979, crs: "WGS-84-3D", x, y, z, longitude, latitude, height }` | WGS-84 3D |
|
|
191
311
|
|
|
312
|
+
Point parameters accept the same shape reads return: `{ kind: "point",
|
|
313
|
+
latitude, longitude[, height] }` (WGS-84 unless `srid` says otherwise) or
|
|
314
|
+
`{ kind: "point", srid, x, y[, z] }`.
|
|
315
|
+
|
|
316
|
+
Integer parameters outside the safe range must be passed as `bigint`; an
|
|
317
|
+
integer-valued `number` past 2^53 is rejected with `LORA_INVALID_PARAMS`
|
|
318
|
+
because JavaScript has already rounded it.
|
|
319
|
+
|
|
192
320
|
Helper constructors (`date("2025-01-15")`, `cartesian(1, 2)`, `cartesian3d(1, 2, 3)`,
|
|
193
321
|
`wgs84(lon, lat)`, `wgs84_3d(lon, lat, height)`, `duration("P1M")`, …) and
|
|
194
322
|
narrowing guards (`isNode`, `isRelationship`, `isPath`, `isPoint`, `isTemporal`)
|
|
@@ -235,12 +363,21 @@ Common ones:
|
|
|
235
363
|
- `LORA_PARSE` — Cypher syntax could not be parsed
|
|
236
364
|
- `LORA_SEMANTIC` — analysis failure (unknown variable, label, type mismatch, …)
|
|
237
365
|
- `LORA_INVALID_PARAMS` — a parameter value could not be coerced to a `LoraValue`
|
|
366
|
+
- `LORA_READ_ONLY` — mutating statement issued in a read-only context
|
|
367
|
+
- `LORA_NOT_FOUND` — a named entity does not exist
|
|
368
|
+
- `LORA_CONSTRAINT`, `LORA_UNIQUE_CONSTRAINT`, `LORA_NOT_NULL_CONSTRAINT`,
|
|
369
|
+
`LORA_FOREIGN_KEY`, `LORA_TRANSACTION` — graph constraint or transaction failure
|
|
238
370
|
- `LORA_INVALID_VECTOR` — vector value failed dimension / coordinate-type validation
|
|
239
371
|
- `LORA_TIMEOUT` — query exceeded its cooperative deadline
|
|
240
372
|
- `LORA_DATABASE_NAME` — logical database name violates the portable-path rules
|
|
241
|
-
- `
|
|
373
|
+
- `LORA_CONFIG`, `LORA_VALIDATION` — configuration or validation failure
|
|
374
|
+
- `LORA_IO`, `LORA_CONNECTION`, `LORA_WAL_CORRUPTION`, `LORA_WAL_POISONED` — storage failures
|
|
242
375
|
- `LORA_SNAPSHOT_CODEC`, `LORA_SNAPSHOT_CRYPTO` — snapshot codec / crypto failures
|
|
376
|
+
- `LORA_LOCKED` — the database directory is locked by another process
|
|
377
|
+
- `LORA_CHANGES_TRUNCATED`, `LORA_CHANGES_LAGGED`: a change feed cannot
|
|
378
|
+
resume from its `fromLsn`, or fell behind its buffer (see Change feed)
|
|
243
379
|
- `LORA_INTERNAL` — last-resort fallback when the engine cannot classify the failure
|
|
380
|
+
- `UNKNOWN` — catch-all for messages without a recognized code
|
|
244
381
|
|
|
245
382
|
See `ts/types.ts` (`LoraErrorCode`) for the full list.
|
|
246
383
|
|
|
@@ -252,14 +389,13 @@ See `ts/types.ts` (`LoraErrorCode`) for the full list.
|
|
|
252
389
|
`Database` (e.g. 2 000 parallel `CREATE`s via `Promise.all`) works but
|
|
253
390
|
queues behind that write lock. Prefer `await`-in-a-loop or a single batched
|
|
254
391
|
query for heavy write workloads.
|
|
255
|
-
- **
|
|
256
|
-
|
|
257
|
-
|
|
258
|
-
- **Cancellation.** The napi `Task` abstraction does not support
|
|
259
|
-
cancellation once dispatched; a runaway query runs to completion.
|
|
392
|
+
- **Stream timeouts.** `stream()` checks its deadline between rows, so a
|
|
393
|
+
single pull that does a lot of work (a large aggregation) finishes before
|
|
394
|
+
the check fires. `execute()` and `transaction()` check throughout.
|
|
260
395
|
- **WAL surface.** Node persistence exposes container-backed initialization,
|
|
261
396
|
`syncMode: "groupSync"`, and `db.sync()`. Checkpoint, truncate,
|
|
262
397
|
and status controls are not exposed yet.
|
|
263
398
|
- **Archive ownership.** One archive can only be open by one writer process at a
|
|
264
399
|
time. Multiple Node handles in the same process share the same live engine;
|
|
265
|
-
a second process is rejected while the first holds the
|
|
400
|
+
a second process is rejected with `LORA_LOCKED` while the first holds the
|
|
401
|
+
archive lock, which `dispose()` releases.
|
package/dist/decode.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"decode.d.ts","sourceRoot":"","sources":["../ts/decode.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;GAmBG;
|
|
1
|
+
{"version":3,"file":"decode.d.ts","sourceRoot":"","sources":["../ts/decode.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;GAmBG;AAgUH;;;GAGG;AACH,wBAAgB,YAAY,CAAC,GAAG,EAAE,UAAU,GAAG;IAC7C,OAAO,EAAE,MAAM,EAAE,CAAC;IAClB,IAAI,EAAE,KAAK,CAAC,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC,CAAC;CAClC,CA4BA"}
|
package/dist/decode.js
CHANGED
|
@@ -32,6 +32,7 @@ const TAG_FALSE = 0x01;
|
|
|
32
32
|
const TAG_TRUE = 0x02;
|
|
33
33
|
const TAG_I32 = 0x03;
|
|
34
34
|
const TAG_I64 = 0x04;
|
|
35
|
+
const MAX_SAFE = BigInt(Number.MAX_SAFE_INTEGER);
|
|
35
36
|
const TAG_F64 = 0x05;
|
|
36
37
|
const TAG_STRING = 0x06;
|
|
37
38
|
const TAG_LIST = 0x07;
|
|
@@ -98,15 +99,26 @@ class Reader {
|
|
|
98
99
|
return v;
|
|
99
100
|
}
|
|
100
101
|
/**
|
|
101
|
-
* Reads an i64 LE
|
|
102
|
-
* `
|
|
103
|
-
*
|
|
104
|
-
* need exact representation of large ints should use a separate
|
|
105
|
-
* binding-side path; this is a hot loop.
|
|
102
|
+
* Reads an i64 LE. Values inside the safe-integer range come back as a
|
|
103
|
+
* JS `number`; anything outside it comes back as a `bigint` so it is
|
|
104
|
+
* never silently rounded.
|
|
106
105
|
*/
|
|
106
|
+
i64() {
|
|
107
|
+
const lo = this.view.getUint32(this.off, true);
|
|
108
|
+
const hi = this.view.getInt32(this.off + 4, true);
|
|
109
|
+
// |hi| < 2^21 means |value| < 2^53: exactly representable. Two
|
|
110
|
+
// getInt32 calls beat getBigInt64 + Number(BigInt) by ~3x in V8, so
|
|
111
|
+
// only the rare out-of-range value pays for the BigInt read.
|
|
112
|
+
if (hi >= -0x20_0000 && hi < 0x20_0000) {
|
|
113
|
+
this.off += 8;
|
|
114
|
+
return hi * 0x1_0000_0000 + lo;
|
|
115
|
+
}
|
|
116
|
+
const big = this.view.getBigInt64(this.off, true);
|
|
117
|
+
this.off += 8;
|
|
118
|
+
return big >= -MAX_SAFE && big <= MAX_SAFE ? Number(big) : big;
|
|
119
|
+
}
|
|
120
|
+
/** i64 that is known to be a small id (node/relationship ids). */
|
|
107
121
|
i64AsNumber() {
|
|
108
|
-
// Two getInt32 calls beat getBigInt64 + Number(BigInt) by ~3× in V8.
|
|
109
|
-
// Manual reconstruction is exact for the |x| < 2^53 range.
|
|
110
122
|
const lo = this.view.getUint32(this.off, true);
|
|
111
123
|
const hi = this.view.getInt32(this.off + 4, true);
|
|
112
124
|
this.off += 8;
|
|
@@ -141,7 +153,7 @@ function readValue(r) {
|
|
|
141
153
|
case TAG_I32:
|
|
142
154
|
return r.i32();
|
|
143
155
|
case TAG_I64:
|
|
144
|
-
return r.
|
|
156
|
+
return r.i64();
|
|
145
157
|
case TAG_F64:
|
|
146
158
|
return r.f64();
|
|
147
159
|
case TAG_STRING:
|
package/dist/decode.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"decode.js","sourceRoot":"","sources":["../ts/decode.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"decode.js","sourceRoot":"","sources":["../ts/decode.ts"],"names":[],"mappings":"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"}
|
package/dist/index.d.ts
CHANGED
|
@@ -14,7 +14,7 @@
|
|
|
14
14
|
*/
|
|
15
15
|
import { Buffer } from "node:buffer";
|
|
16
16
|
import { Readable } from "node:stream";
|
|
17
|
-
import type { LoraParams, LoraQueryPlan, LoraQueryProfile, LoraValue, QueryResult } from "./types.js";
|
|
17
|
+
import type { LoraChangeBatch, LoraParams, LoraQueryPlan, LoraQueryProfile, LoraValue, QueryResult } from "./types.js";
|
|
18
18
|
declare const NativeDatabase: typeof import("./native.js").Database;
|
|
19
19
|
export * from "./types.js";
|
|
20
20
|
/**
|
|
@@ -91,6 +91,30 @@ export interface CreateDatabaseOptions {
|
|
|
91
91
|
* Defaults to 1000. Must be greater than zero.
|
|
92
92
|
*/
|
|
93
93
|
groupSyncIntervalMs?: number;
|
|
94
|
+
/**
|
|
95
|
+
* Default timeout, in milliseconds, for every `execute()`, `stream()`
|
|
96
|
+
* and `transaction()` call on this database that does not pass its own
|
|
97
|
+
* `timeoutMs`. A query that runs past it rejects with `LORA_TIMEOUT`,
|
|
98
|
+
* rolls back, and releases its locks. Omit or pass 0 for no default.
|
|
99
|
+
*/
|
|
100
|
+
queryTimeoutMs?: number;
|
|
101
|
+
}
|
|
102
|
+
/**
|
|
103
|
+
* Per-call limits for `execute()`, `stream()` and `transaction()`.
|
|
104
|
+
*/
|
|
105
|
+
export interface QueryOptions {
|
|
106
|
+
/**
|
|
107
|
+
* Abort the query after this many milliseconds. It rejects with a
|
|
108
|
+
* `LoraError` coded `LORA_TIMEOUT`; writes are rolled back and locks
|
|
109
|
+
* released. Overrides the database-wide `queryTimeoutMs`; 0 disables it.
|
|
110
|
+
*/
|
|
111
|
+
timeoutMs?: number;
|
|
112
|
+
/**
|
|
113
|
+
* Cancel the query when this signal aborts. The query stops at its next
|
|
114
|
+
* check point, rolls back, releases its locks, and the call rejects with
|
|
115
|
+
* the signal's reason (an `AbortError` by default).
|
|
116
|
+
*/
|
|
117
|
+
signal?: AbortSignal;
|
|
94
118
|
}
|
|
95
119
|
export interface WalDatabaseOptions {
|
|
96
120
|
/**
|
|
@@ -125,6 +149,38 @@ export interface RowStream<T extends Record<string, LoraValue> = Record<string,
|
|
|
125
149
|
toArray(): Promise<T[]>;
|
|
126
150
|
close(): void;
|
|
127
151
|
}
|
|
152
|
+
/** Options for `db.changes()`. */
|
|
153
|
+
export interface ChangesOptions {
|
|
154
|
+
/**
|
|
155
|
+
* Resume after this LSN: the feed first yields every retained batch with
|
|
156
|
+
* a greater LSN, then live batches. Omit to start with the next commit.
|
|
157
|
+
* An LSN the database no longer retains rejects with
|
|
158
|
+
* `LORA_CHANGES_TRUNCATED`.
|
|
159
|
+
*/
|
|
160
|
+
fromLsn?: number | bigint;
|
|
161
|
+
/** Stop the feed when this signal aborts; `next()` rejects with its reason. */
|
|
162
|
+
signal?: AbortSignal;
|
|
163
|
+
/**
|
|
164
|
+
* Undelivered batches the feed may hold before it ends with
|
|
165
|
+
* `LORA_CHANGES_LAGGED`. Defaults to 1024.
|
|
166
|
+
*/
|
|
167
|
+
bufferSize?: number;
|
|
168
|
+
}
|
|
169
|
+
/**
|
|
170
|
+
* Committed changes, one batch per committed write, in commit order.
|
|
171
|
+
* Iterate with `for await`; `break` (or `close()`) unsubscribes.
|
|
172
|
+
*/
|
|
173
|
+
export interface ChangeFeed extends AsyncIterableIterator<LoraChangeBatch> {
|
|
174
|
+
/**
|
|
175
|
+
* Resolves once the feed is subscribed: every commit that finishes after
|
|
176
|
+
* this point is delivered. Rejects with the open error (for example
|
|
177
|
+
* `LORA_CHANGES_TRUNCATED`), which `next()` also surfaces.
|
|
178
|
+
*/
|
|
179
|
+
readonly ready: Promise<void>;
|
|
180
|
+
/** LSN of the last batch delivered, or `fromLsn` before the first one. */
|
|
181
|
+
readonly lastLsn: number | undefined;
|
|
182
|
+
close(): void;
|
|
183
|
+
}
|
|
128
184
|
/**
|
|
129
185
|
* Lora graph database instance.
|
|
130
186
|
*
|
|
@@ -147,7 +203,7 @@ declare class DatabaseImpl {
|
|
|
147
203
|
* with a narrowed `code` from the `LoraErrorCode` union (e.g.
|
|
148
204
|
* `LORA_PARSE`, `LORA_INVALID_PARAMS`, `LORA_INTERNAL`).
|
|
149
205
|
*/
|
|
150
|
-
execute<T extends Record<string, LoraValue> = Record<string, LoraValue>>(query: string, params?: LoraParams): Promise<QueryResult<T>>;
|
|
206
|
+
execute<T extends Record<string, LoraValue> = Record<string, LoraValue>>(query: string, params?: LoraParams, options?: QueryOptions): Promise<QueryResult<T>>;
|
|
151
207
|
/**
|
|
152
208
|
* Compile a query and return its execution plan without running it.
|
|
153
209
|
*
|
|
@@ -174,9 +230,9 @@ declare class DatabaseImpl {
|
|
|
174
230
|
* Rows are materialized by the native `execute()` promise today, then
|
|
175
231
|
* yielded one at a time to JS consumers.
|
|
176
232
|
*/
|
|
177
|
-
stream<T extends Record<string, LoraValue> = Record<string, LoraValue>>(query: string, params?: LoraParams): RowStream<T>;
|
|
233
|
+
stream<T extends Record<string, LoraValue> = Record<string, LoraValue>>(query: string, params?: LoraParams, options?: QueryOptions): RowStream<T>;
|
|
178
234
|
/** Alias for `stream()`, useful when naming the row-level API explicitly. */
|
|
179
|
-
rows<T extends Record<string, LoraValue> = Record<string, LoraValue>>(query: string, params?: LoraParams): RowStream<T>;
|
|
235
|
+
rows<T extends Record<string, LoraValue> = Record<string, LoraValue>>(query: string, params?: LoraParams, options?: QueryOptions): RowStream<T>;
|
|
180
236
|
/**
|
|
181
237
|
* Execute a statement batch inside one native transaction.
|
|
182
238
|
*
|
|
@@ -184,7 +240,21 @@ declare class DatabaseImpl {
|
|
|
184
240
|
* native transaction is dropped before commit and all prior writes in the
|
|
185
241
|
* batch are rolled back.
|
|
186
242
|
*/
|
|
187
|
-
|
|
243
|
+
/**
|
|
244
|
+
* Begin an interactive transaction: run statements, decide in JS, then
|
|
245
|
+
* `commit()` or `rollback()`.
|
|
246
|
+
*
|
|
247
|
+
* A `read_write` transaction holds the database's writer lock from
|
|
248
|
+
* `begin()` until it finishes, so no other write can interleave with it
|
|
249
|
+
* (other writers wait). Reads outside the transaction keep seeing the
|
|
250
|
+
* last committed state. A statement that fails rolls the transaction
|
|
251
|
+
* back. An unfinished transaction rolls back when the handle is disposed
|
|
252
|
+
* (`await using tx = await db.begin()`), when the database is disposed,
|
|
253
|
+
* or when the process exits. Keep transactions short: while one is open,
|
|
254
|
+
* writers queue behind it.
|
|
255
|
+
*/
|
|
256
|
+
begin(mode?: TransactionMode): Promise<Transaction>;
|
|
257
|
+
transaction<T extends Record<string, LoraValue> = Record<string, LoraValue>>(statements: TransactionStatement[], mode?: TransactionMode, options?: QueryOptions): Promise<Array<QueryResult<T>>>;
|
|
188
258
|
/**
|
|
189
259
|
* Force pending WAL bytes and container updates to disk.
|
|
190
260
|
*
|
|
@@ -207,6 +277,25 @@ declare class DatabaseImpl {
|
|
|
207
277
|
* process. New operations after disposal reject with `database is closed`.
|
|
208
278
|
*/
|
|
209
279
|
dispose(): void;
|
|
280
|
+
/**
|
|
281
|
+
* Subscribe to committed changes: one `LoraChangeBatch` per committed
|
|
282
|
+
* write (auto-commit query, transaction, streamed write, `clear()`,
|
|
283
|
+
* snapshot restore), in commit order. Rolled-back work never appears.
|
|
284
|
+
*
|
|
285
|
+
* ```ts
|
|
286
|
+
* for await (const batch of db.changes({ fromLsn: saved })) {
|
|
287
|
+
* for (const change of batch.changes) handle(change);
|
|
288
|
+
* saved = batch.lsn;
|
|
289
|
+
* }
|
|
290
|
+
* ```
|
|
291
|
+
*
|
|
292
|
+
* Writers never wait for the feed. A consumer that falls more than
|
|
293
|
+
* `bufferSize` batches behind gets `LORA_CHANGES_LAGGED` after the
|
|
294
|
+
* buffered batches and should resume with `fromLsn: feed.lastLsn`.
|
|
295
|
+
* `dispose()` ends every feed. An open feed does not keep the process
|
|
296
|
+
* alive on its own.
|
|
297
|
+
*/
|
|
298
|
+
changes(options?: ChangesOptions): ChangeFeed;
|
|
210
299
|
saveSnapshot(): Promise<Buffer>;
|
|
211
300
|
saveSnapshot(options: SnapshotCodecOptions): Promise<Buffer>;
|
|
212
301
|
saveSnapshot(path: string | URL): Promise<SnapshotMeta>;
|
|
@@ -250,6 +339,40 @@ declare class DatabaseImpl {
|
|
|
250
339
|
* ```
|
|
251
340
|
*/
|
|
252
341
|
export type Database = DatabaseImpl;
|
|
342
|
+
/**
|
|
343
|
+
* An open interactive transaction from `Database.begin()`.
|
|
344
|
+
*/
|
|
345
|
+
export declare class Transaction {
|
|
346
|
+
#private;
|
|
347
|
+
/** @internal */
|
|
348
|
+
constructor(inner: InstanceType<typeof NativeDatabase>, id: number);
|
|
349
|
+
/** Whether the transaction can still run statements. */
|
|
350
|
+
get isOpen(): boolean;
|
|
351
|
+
/**
|
|
352
|
+
* Run one statement inside the transaction. It sees the transaction's
|
|
353
|
+
* own uncommitted writes. If it fails, the transaction is rolled back.
|
|
354
|
+
*/
|
|
355
|
+
execute<T extends Record<string, LoraValue> = Record<string, LoraValue>>(query: string, params?: LoraParams, options?: QueryOptions): Promise<QueryResult<T>>;
|
|
356
|
+
/**
|
|
357
|
+
* Run several statements inside the transaction in one native call and
|
|
358
|
+
* return their results in order. Each statement sees the writes of the
|
|
359
|
+
* ones before it. This saves the per-call round trip of calling
|
|
360
|
+
* `execute()` once per statement.
|
|
361
|
+
*
|
|
362
|
+
* The batch stops at the first failing statement: the transaction is
|
|
363
|
+
* rolled back (as with a failed `execute()`) and the promise rejects
|
|
364
|
+
* with that statement's error, whose message ends with
|
|
365
|
+
* `(statement i of n)`. `options.timeoutMs` and `options.signal` bound
|
|
366
|
+
* the whole batch.
|
|
367
|
+
*/
|
|
368
|
+
executeMany<T extends Record<string, LoraValue> = Record<string, LoraValue>>(statements: TransactionStatement[], options?: QueryOptions): Promise<Array<QueryResult<T>>>;
|
|
369
|
+
/** Commit every write made in the transaction and release the writer lock. */
|
|
370
|
+
commit(): Promise<void>;
|
|
371
|
+
/** Discard every write made in the transaction and release the writer lock. */
|
|
372
|
+
rollback(): Promise<void>;
|
|
373
|
+
/** Roll back if still open. Lets `await using tx = await db.begin()` clean up. */
|
|
374
|
+
[Symbol.asyncDispose](): Promise<void>;
|
|
375
|
+
}
|
|
253
376
|
/**
|
|
254
377
|
* Create and initialize a new LoraDB instance.
|
|
255
378
|
*
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../ts/index.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../ts/index.ts"],"names":[],"mappings":"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"}
|