@cruba/crubal-postgres 0.2.0 → 0.3.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.
- package/dist/src/border.js +8 -4
- package/dist/src/border.js.map +1 -1
- package/dist/src/definitions.js +28 -2
- package/dist/src/definitions.js.map +1 -1
- package/dist/src/projector.d.ts +1 -1
- package/dist/src/projector.js +2 -2
- package/dist/src/projector.js.map +1 -1
- package/dist/src/schema.sql +8 -0
- package/dist/src/store.d.ts +80 -2
- package/dist/src/store.js +204 -14
- package/dist/src/store.js.map +1 -1
- package/dist/src/working.d.ts +2 -0
- package/dist/src/working.js +32 -5
- package/dist/src/working.js.map +1 -1
- package/package.json +2 -2
package/dist/src/border.js
CHANGED
|
@@ -112,6 +112,7 @@ export class PgBorder {
|
|
|
112
112
|
const counts = await this.idCounts();
|
|
113
113
|
const { out } = await this.store.commitFrom((draft) => {
|
|
114
114
|
const ex = new Exchange(this.o.dict, this.o.contracts, this.o.roles ?? [], this.o.rules ?? []);
|
|
115
|
+
ex.owner = this.owner;
|
|
115
116
|
// Ids are minted from the owner's highest per prefix, afresh each pass (the function may run more than once).
|
|
116
117
|
const next = { ...counts };
|
|
117
118
|
ex.mint = (level) => {
|
|
@@ -247,15 +248,17 @@ export class PgBorder {
|
|
|
247
248
|
}
|
|
248
249
|
/** The owner's offer (7.8), with the signed log entries its values came from, for another owner's take. */
|
|
249
250
|
async offer(name, only) {
|
|
250
|
-
const state = await this.store.state();
|
|
251
251
|
const ex = new Exchange(this.o.dict, this.o.contracts, this.o.roles ?? [], this.o.rules ?? []);
|
|
252
|
-
ex.
|
|
253
|
-
|
|
252
|
+
ex.owner = this.owner;
|
|
253
|
+
// An offer that names what it is `for` is answered by target; one that doesn't walks the owner's records
|
|
254
|
+
// (name `for:` on a large owner), and a request for named ids walks nothing.
|
|
255
|
+
const walks = !only && !this.contracts.get(name)?.parts.for;
|
|
256
|
+
const o = await this.store.read((s) => { ex.records = s.records; return ex.offer(name, this.owner, only); }, walks ? { allowAll: true } : {});
|
|
254
257
|
// The wrapper names the package version the records were written under (3.8, 10.1): the installed
|
|
255
258
|
// bundle that declares the offer contract.
|
|
256
259
|
// The latest installed version of each package: the install log keeps every version it took.
|
|
257
260
|
const latest = new Map();
|
|
258
|
-
for (const i of
|
|
261
|
+
for (const i of await this.store.installed()) {
|
|
259
262
|
const pkg = String(i.package);
|
|
260
263
|
const version = String(i.version);
|
|
261
264
|
if ((latest.get(pkg) ?? "") < version)
|
|
@@ -283,6 +286,7 @@ export class PgBorder {
|
|
|
283
286
|
async expire(now, at) {
|
|
284
287
|
const { out } = await this.store.commitFrom((draft) => {
|
|
285
288
|
const ex = new Exchange(this.o.dict, this.o.contracts, this.o.roles ?? [], this.o.rules ?? []);
|
|
289
|
+
ex.owner = this.owner;
|
|
286
290
|
ex.records = draft.records;
|
|
287
291
|
const ids = ex.expire(now);
|
|
288
292
|
return { by: { take: "expired", at: now }, extra: [], out: ids };
|
package/dist/src/border.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"border.js","sourceRoot":"","sources":["../../src/border.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"border.js","sourceRoot":"","sources":["../../src/border.ts"],"names":[],"mappings":"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"}
|
package/dist/src/definitions.js
CHANGED
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { createHash } from "node:crypto";
|
|
1
2
|
// definitions.ts: what the engine runs with, built from the store (docs/design/publishing.md): the installed
|
|
2
3
|
// bundles in install order (extended before extending, because a dependency is installed first), then the
|
|
3
4
|
// owner's working package, every `define` write as the member now stands. The publish checks run on the
|
|
@@ -53,10 +54,31 @@ export function workingBundle(owner, definitions) {
|
|
|
53
54
|
}
|
|
54
55
|
return b;
|
|
55
56
|
}
|
|
57
|
+
/**
|
|
58
|
+
* Parsed definitions shared across stores that hold the same packages and the same working package
|
|
59
|
+
* (brief 18 step 1: a host of a thousand deployments on one package set parses it once, not a thousand
|
|
60
|
+
* times, and keeps one copy). Keyed by the installed versions and a hash of the define writes; a trial
|
|
61
|
+
* (`extra`) is never cached. The object is read-only to its callers, as a store's own cache already was.
|
|
62
|
+
*/
|
|
63
|
+
const parsedShared = new Map();
|
|
64
|
+
const PARSED_SHARED_MAX = 64;
|
|
56
65
|
/** Build the definitions in force: installed bundles in order, then the working package. */
|
|
57
66
|
export async function definitionsOf(client, owner, extra = []) {
|
|
58
|
-
const base = emptyParsed();
|
|
59
67
|
const installed = (await client.query("select json from installed where owner = $1 order by ord", [owner])).rows;
|
|
68
|
+
const defs = (await client.query("select json from definitions where owner = $1 order by ord", [owner])).rows;
|
|
69
|
+
const key = extra.length ? undefined : `${installed.map((r) => `${r.json.package}/${r.json.version}`).join(",")}|${createHash("sha256").update(JSON.stringify(defs.map((r) => r.json))).digest("hex")}`;
|
|
70
|
+
const shared = key ? parsedShared.get(key) : undefined;
|
|
71
|
+
if (shared) {
|
|
72
|
+
parsedShared.delete(key);
|
|
73
|
+
parsedShared.set(key, shared);
|
|
74
|
+
// The process units table follows the owner read last, for the facet-only readers (see below).
|
|
75
|
+
const measures = shared.units ?? [];
|
|
76
|
+
resetUnits();
|
|
77
|
+
if (measures.length)
|
|
78
|
+
extendUnits(unitsExtensionText(measures));
|
|
79
|
+
return shared;
|
|
80
|
+
}
|
|
81
|
+
const base = emptyParsed();
|
|
60
82
|
for (const row of installed) {
|
|
61
83
|
const w = row.json;
|
|
62
84
|
const { rows } = await client.query("select json from bundles where owner = $1 and package = $2 and version = $3", [owner, String(w.package), String(w.version)]);
|
|
@@ -65,7 +87,6 @@ export async function definitionsOf(client, owner, extra = []) {
|
|
|
65
87
|
throw new Error(`${w.package} /${w.version} is installed but its bundle is missing`);
|
|
66
88
|
readBundleOnto(bundle, base);
|
|
67
89
|
}
|
|
68
|
-
const defs = (await client.query("select json from definitions where owner = $1 order by ord", [owner])).rows;
|
|
69
90
|
// `extra`: define writes not yet committed, so a trial (store.define) is checked as the package would stand.
|
|
70
91
|
const working = [...defs.map((r) => r.json), ...extra];
|
|
71
92
|
if (working.length)
|
|
@@ -80,6 +101,11 @@ export async function definitionsOf(client, owner, extra = []) {
|
|
|
80
101
|
if (measures.length)
|
|
81
102
|
extendUnits(unitsExtensionText(measures));
|
|
82
103
|
base.units = measures;
|
|
104
|
+
if (key) {
|
|
105
|
+
parsedShared.set(key, base);
|
|
106
|
+
while (parsedShared.size > PARSED_SHARED_MAX)
|
|
107
|
+
parsedShared.delete(parsedShared.keys().next().value);
|
|
108
|
+
}
|
|
83
109
|
return base;
|
|
84
110
|
}
|
|
85
111
|
/** Every publish check (11.5) over a set of definitions. Throws the first problem. */
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"definitions.js","sourceRoot":"","sources":["../../src/definitions.ts"],"names":[],"mappings":"AAAA,6GAA6G;AAC7G,0GAA0G;AAC1G,wGAAwG;AACxG,+EAA+E;AAE/E,OAAO,EAAE,gBAAgB,EAAE,MAAM,eAAe,CAAC;AACjD,OAAO,EAAE,WAAW,EAAe,cAAc,EAAE,MAAM,eAAe,CAAC;AACzE,OAAO,EAAE,YAAY,EAAE,MAAM,eAAe,CAAC;AAC7C,OAAO,EAAE,cAAc,EAAE,MAAM,eAAe,CAAC;AAE/C,OAAO,EAAE,kBAAkB,EAAE,MAAM,eAAe,CAAC;AACnD,OAAO,EAAE,WAAW,EAAE,UAAU,EAAE,cAAc,EAAE,MAAM,eAAe,CAAC;AACxE,OAAO,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAC3C,OAAO,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAK3C,yGAAyG;AACzG,8EAA8E;AAC9E,MAAM,UAAU,gBAAgB,CAAC,WAAiC;IAChE,IAAI,QAAQ,GAAiB,EAAE,CAAC;IAChC,KAAK,MAAM,CAAC,IAAI,WAAW;QAAE,IAAI,CAAC,CAAC,KAAK,KAAK,WAAW,IAAI,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,QAAQ,CAAC;YAAE,QAAQ,GAAG,CAAC,CAAC,QAAwB,CAAC;IAC7H,OAAO,QAAQ,CAAC;AAClB,CAAC;AAED,MAAM,UAAU,aAAa,CAAC,KAAa,EAAE,WAAiC;IAC5E,0GAA0G;IAC1G,wEAAwE;IACxE,MAAM,QAAQ,GAAiC,EAAE,MAAM,EAAE,SAAS,EAAE,IAAI,EAAE,OAAO,EAAE,QAAQ,EAAE,WAAW,EAAE,KAAK,EAAE,QAAQ,EAAE,KAAK,EAAE,SAAS,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,QAAQ,EAAE,CAAC;IAC7L,MAAM,CAAC,GAAe,EAAE,MAAM,EAAE,GAAG,EAAE,OAAO,EAAE,SAAS,EAAE,OAAO,EAAE,SAAS,EAAE,KAAK,EAAE,EAAE,EAAE,GAAG,KAAK,UAAU,EAAE,CAAC;IAC7G,qGAAqG;IACrG,4FAA4F;IAC5F,MAAM,OAAO,GAAG,IAAI,GAAG,EAAgD,CAAC;IACxE,KAAK,MAAM,CAAC,IAAI,WAAW,EAAE,CAAC;QAC5B,MAAM,MAAM,GAAG,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,KAAK,QAAQ,CAAC,CAAC;QAC3E,IAAI,MAAM,EAAE,CAAC;YACX,MAAM,GAAG,GAAG,GAAG,MAAM,IAAI,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC;YAC7C,IAAI,CAAC,CAAC,OAAO,KAAK,IAAI;gBAAE,OAAO,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;;gBACvC,OAAO,CAAC,GAAG,CAAC,GAAG,EAAE,EAAE,OAAO,EAAE,QAAQ,CAAC,MAAM,CAAW,EAAE,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC;YACvE,SAAS;QACX,CAAC;QACD,IAAI,OAAO,CAAC,CAAC,WAAW,KAAK,QAAQ,EAAE,CAAC;YACtC,IAAI,CAAC,CAAC,OAAO,KAAK,IAAI;gBAAE,OAAO,CAAC,CAAC,WAAW,CAAC;;gBACxC,CAAC,CAAC,WAAW,GAAG,CAAC,CAAC;QACzB,CAAC;QACD,IAAI,CAAC,CAAC,SAAS,KAAK,SAAS;YAAE,CAAC,CAAC,SAAS,GAAG,CAAC,CAAC,SAAS,CAAC;IAC3D,CAAC;IACD,KAAK,MAAM,EAAE,OAAO,EAAE,GAAG,EAAE,IAAI,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC;QAChD,MAAM,IAAI,GAAI,CAAC,CAAC,OAAO,CAA8B,IAAI,EAAE,CAAC;QAC5D,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QACf,CAAC,CAAC,OAAO,CAAC,GAAG,IAAI,CAAC;IACpB,CAAC;IACD,OAAO,CAAC,CAAC;AACX,CAAC;AAED,4FAA4F;AAC5F,MAAM,CAAC,KAAK,UAAU,aAAa,CAAC,MAAc,EAAE,KAAa,EAAE,QAAsB,EAAE;IACzF,MAAM,IAAI,GAAG,
|
|
1
|
+
{"version":3,"file":"definitions.js","sourceRoot":"","sources":["../../src/definitions.ts"],"names":[],"mappings":"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"}
|
package/dist/src/projector.d.ts
CHANGED
|
@@ -21,4 +21,4 @@ export declare function markStale(client: Client, owner: string, p: Projecting,
|
|
|
21
21
|
*/
|
|
22
22
|
export declare function publish(client: Client, owner: string, p: Projecting, name: string, audience?: string): Promise<StreamEntry[]>;
|
|
23
23
|
/** The stream entries of a view for an audience after `seq`, for an index resuming from its cursor. */
|
|
24
|
-
export declare function entriesSince(client: Client, owner: string, p: Projecting, name: string, seq: number, audience?: string): Promise<StreamEntry[]>;
|
|
24
|
+
export declare function entriesSince(client: Client, owner: string, p: Projecting, name: string, seq: number, audience?: string, limit?: number): Promise<StreamEntry[]>;
|
package/dist/src/projector.js
CHANGED
|
@@ -132,11 +132,11 @@ export async function publish(client, owner, p, name, audience) {
|
|
|
132
132
|
return entries;
|
|
133
133
|
}
|
|
134
134
|
/** The stream entries of a view for an audience after `seq`, for an index resuming from its cursor. */
|
|
135
|
-
export async function entriesSince(client, owner, p, name, seq, audience) {
|
|
135
|
+
export async function entriesSince(client, owner, p, name, seq, audience, limit) {
|
|
136
136
|
const v = p.views.views.get(name);
|
|
137
137
|
if (!v)
|
|
138
138
|
throw new Error(`no view ${name}`);
|
|
139
|
-
const rows = (await client.query(
|
|
139
|
+
const rows = (await client.query(`select json from projection_stream where owner = $1 and view = $2 and audience = $3 and version = $4 and seq > $5 order by seq${limit ? ` limit ${Math.max(1, Math.floor(limit))}` : ""}`, [owner, name, audience ?? v.show, v.version ?? "", seq])).rows;
|
|
140
140
|
return rows.map((r) => r.json);
|
|
141
141
|
}
|
|
142
142
|
function chunks(list, size) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"projector.js","sourceRoot":"","sources":["../../src/projector.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"projector.js","sourceRoot":"","sources":["../../src/projector.ts"],"names":[],"mappings":"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"}
|
package/dist/src/schema.sql
CHANGED
|
@@ -46,10 +46,15 @@ create table if not exists records (
|
|
|
46
46
|
primary key (owner, id)
|
|
47
47
|
);
|
|
48
48
|
create index if not exists records_level on records (owner, level);
|
|
49
|
+
-- A level's or a kind's rows in log order with a limit, served from the index alone (the probe: a seq scan over a million rows otherwise).
|
|
50
|
+
create index if not exists records_level_ord on records (owner, level, ord);
|
|
51
|
+
create index if not exists records_kind_ord on records (owner, kind, ord);
|
|
49
52
|
create index if not exists records_of on records (owner, "of");
|
|
50
53
|
create index if not exists records_within on records (owner, within);
|
|
51
54
|
create index if not exists records_ancestors on records using gin (ancestors);
|
|
52
55
|
create index if not exists records_values on records using gin ((doc -> 'values'));
|
|
56
|
+
create index if not exists records_kind on records (owner, kind);
|
|
57
|
+
create index if not exists records_wears on records using gin (wears);
|
|
53
58
|
|
|
54
59
|
create table if not exists definitions (
|
|
55
60
|
owner text not null,
|
|
@@ -108,6 +113,7 @@ create table if not exists review (
|
|
|
108
113
|
json jsonb not null,
|
|
109
114
|
primary key (owner, ord)
|
|
110
115
|
);
|
|
116
|
+
create index if not exists review_key on review (owner, (json ->> 'key'));
|
|
111
117
|
|
|
112
118
|
create table if not exists runs (
|
|
113
119
|
owner text not null,
|
|
@@ -123,6 +129,8 @@ create table if not exists observations (
|
|
|
123
129
|
json jsonb not null,
|
|
124
130
|
primary key (owner, ord)
|
|
125
131
|
);
|
|
132
|
+
create index if not exists observations_on on observations (owner, (json ->> 'on'));
|
|
133
|
+
create index if not exists observations_supports on observations (owner, (json ->> 'supports'));
|
|
126
134
|
|
|
127
135
|
create table if not exists reads (
|
|
128
136
|
owner text not null,
|
package/dist/src/store.d.ts
CHANGED
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import { type Draft, type Entry, type State } from "@cruba/crubal";
|
|
2
|
+
import { type Edge } from "@cruba/crubal";
|
|
2
3
|
import type { View } from "@cruba/crubal";
|
|
3
|
-
import type { JsonObject, Record } from "@cruba/crubal";
|
|
4
|
+
import type { Json, JsonObject, Record } from "@cruba/crubal";
|
|
4
5
|
import { verifyChain, type Keys } from "@cruba/crubal";
|
|
5
6
|
import { type Pool } from "./db.ts";
|
|
6
7
|
import { type Parsed } from "@cruba/crubal";
|
|
@@ -10,6 +11,12 @@ import { type Projecting } from "./projector.ts";
|
|
|
10
11
|
import { Needs } from "./working.ts";
|
|
11
12
|
import type { StreamEntry } from "@cruba/crubal";
|
|
12
13
|
export type StoreOptions = {
|
|
14
|
+
/**
|
|
15
|
+
* Whether `state()` and `records.all()` may load an owner's whole state. `refuse` is for a host serving
|
|
16
|
+
* requests: nothing on a request path may be proportional to the catalog (brief 18, the scale rule);
|
|
17
|
+
* rebuild, erase and an install's restamp read whole regardless, since they are what they are.
|
|
18
|
+
*/
|
|
19
|
+
wholeState?: "allow" | "refuse";
|
|
13
20
|
chain?: string;
|
|
14
21
|
/** Definitions handed in instead of read from the store's installed bundles and define writes (tests). */
|
|
15
22
|
projecting?: Projecting;
|
|
@@ -41,10 +48,31 @@ export declare class PgStore {
|
|
|
41
48
|
/** The head of a view's stream for an audience (12.6.2): the last sequence number published, 0 when none. */
|
|
42
49
|
streamHead(view: string, audience?: string): Promise<number>;
|
|
43
50
|
/** The entries of a view's stream after `seq` (12.6.2). */
|
|
44
|
-
entriesSince(view: string, seq: number, audience?: string): Promise<StreamEntry[]>;
|
|
51
|
+
entriesSince(view: string, seq: number, audience?: string, limit?: number): Promise<StreamEntry[]>;
|
|
45
52
|
/** After a persist: mark what the entry made stale, inside the same transaction. */
|
|
46
53
|
private afterPersist;
|
|
47
54
|
private freshen;
|
|
55
|
+
/** Set while a bulk load runs: the per-commit publish waits for the one publish at the end. */
|
|
56
|
+
private quiet;
|
|
57
|
+
/** A bulk load that republishes at the end marks nothing stale per batch (load, `stale: false`). */
|
|
58
|
+
private skipStale;
|
|
59
|
+
/**
|
|
60
|
+
* Load many records as the owner's own, in batches: one entry per batch, each record set whole with its
|
|
61
|
+
* `sources` (or the `origin` given), the checks, rules and stale marks of a commit applying to every one;
|
|
62
|
+
* the views publish once at the end. For a conversion or a migration (brief 18 step 1): a million rows
|
|
63
|
+
* in an afternoon, not a day per hundred thousand through arrivals.
|
|
64
|
+
*/
|
|
65
|
+
load(records: Record[], by: JsonObject, opts?: {
|
|
66
|
+
batch?: number;
|
|
67
|
+
at?: string;
|
|
68
|
+
origin?: string;
|
|
69
|
+
publish?: boolean;
|
|
70
|
+
stale?: boolean;
|
|
71
|
+
}): Promise<{
|
|
72
|
+
entries: string[];
|
|
73
|
+
records: number;
|
|
74
|
+
published: number;
|
|
75
|
+
}>;
|
|
48
76
|
private defsCache;
|
|
49
77
|
/** The definitions in force: installed bundles in order, then the owner's define writes. Cached per chain head. */
|
|
50
78
|
definitions(fresh?: boolean): Promise<Parsed>;
|
|
@@ -127,6 +155,54 @@ export declare class PgStore {
|
|
|
127
155
|
* with a draft. (G6: Cashierfu carried this around the store until 0.1.15.)
|
|
128
156
|
*/
|
|
129
157
|
state(): Promise<State>;
|
|
158
|
+
/**
|
|
159
|
+
* The whole state regardless of the option: for a rebuild, an erase, an install's restamp, an export and a
|
|
160
|
+
* test's assertions. Never on a request path: `state()` is the guarded door, this one says what it is.
|
|
161
|
+
*/
|
|
162
|
+
wholeState(): Promise<State>;
|
|
163
|
+
/**
|
|
164
|
+
* A read on a working set: `fn` runs on a state whose records, bindings and runs load as it asks for them
|
|
165
|
+
* (by id, level, parent, target or key), and runs again until it asked for nothing new; edges,
|
|
166
|
+
* instructions and the working package are loaded whole (they are small). The lists (reviews,
|
|
167
|
+
* observations, installed, reads) are not loaded here: the readers below serve them. `fn` MUST be pure.
|
|
168
|
+
*/
|
|
169
|
+
read<T>(fn: (s: State) => T, opts?: {
|
|
170
|
+
allowAll?: boolean;
|
|
171
|
+
}): Promise<T>;
|
|
172
|
+
/** Records by level, kind, parent, placement or one key's value, in log order; paged by `ord`. */
|
|
173
|
+
records(where?: {
|
|
174
|
+
level?: string;
|
|
175
|
+
kind?: string;
|
|
176
|
+
of?: string;
|
|
177
|
+
within?: string;
|
|
178
|
+
key?: [string, Json];
|
|
179
|
+
}, opts?: {
|
|
180
|
+
limit?: number;
|
|
181
|
+
after?: number;
|
|
182
|
+
archived?: boolean;
|
|
183
|
+
}): Promise<Record[]>;
|
|
184
|
+
/** Every edge of the owner (small: people and their grants). */
|
|
185
|
+
edges(): Promise<Edge[]>;
|
|
186
|
+
/** The install log: every version taken, in order. */
|
|
187
|
+
installed(): Promise<JsonObject[]>;
|
|
188
|
+
/** The record a binding (`contract|ref`) names, if any. */
|
|
189
|
+
binding(key: string): Promise<string | undefined>;
|
|
190
|
+
/** The owner's working package (11.4): `<member>:<name>` → the definition as it now stands. */
|
|
191
|
+
defines(): Promise<Map<string, JsonObject>>;
|
|
192
|
+
/** Every review item ever written, decided or not, in order (9.5); `review()` is the open ones. */
|
|
193
|
+
reviews(): Promise<JsonObject[]>;
|
|
194
|
+
/** The records several bindings name, by key: one query for an import's references. */
|
|
195
|
+
bindings(keys: string[]): Promise<Map<string, string>>;
|
|
196
|
+
/** The log of reads under an emergency edge (14.13), in order. */
|
|
197
|
+
emergencyReads(): Promise<JsonObject[]>;
|
|
198
|
+
/** The observations on one record, or on or supporting any of several (9.7). */
|
|
199
|
+
observationsOn(id: string | string[]): Promise<JsonObject[]>;
|
|
200
|
+
/** Observations by what they are on or support, their evidence type and their address (9.7); never all of them unasked. */
|
|
201
|
+
observations(where: {
|
|
202
|
+
on?: string | string[];
|
|
203
|
+
evidenceType?: string;
|
|
204
|
+
address?: string;
|
|
205
|
+
}): Promise<JsonObject[]>;
|
|
130
206
|
private keptState;
|
|
131
207
|
/** Forget the kept state: after a rewrite of history that moves no head (an erase, a rebuild). */
|
|
132
208
|
forgetState(): void;
|
|
@@ -151,6 +227,8 @@ export declare class PgStore {
|
|
|
151
227
|
private base;
|
|
152
228
|
/** What the last operation loaded, for tests and for watching a store's cost. */
|
|
153
229
|
trace: Needs | undefined;
|
|
230
|
+
/** Set while an install restamps: its commit walks the package's records by design, whatever `wholeState` says. */
|
|
231
|
+
private walking;
|
|
154
232
|
/**
|
|
155
233
|
* One operation, one entry (8.5): the engine runs on a draft of the state, what it changed becomes the
|
|
156
234
|
* entry's writes (plus `extra` writes the diff can't see), and the entry is applied and persisted in the
|
package/dist/src/store.js
CHANGED
|
@@ -60,8 +60,10 @@ export class PgStore {
|
|
|
60
60
|
throw new Error("the store has no views to project");
|
|
61
61
|
const names = view ? [view] : [...p.views.views.values()].filter((v) => !only || only(v)).map((v) => v.name);
|
|
62
62
|
const out = [];
|
|
63
|
+
// Appended one by one: a first publish of a large view is hundreds of thousands of entries, more than a spread takes.
|
|
63
64
|
for (const name of names)
|
|
64
|
-
|
|
65
|
+
for (const e of await transaction(this.pool, (client) => publish(client, this.owner, p, name, audience)))
|
|
66
|
+
out.push(e);
|
|
65
67
|
return out;
|
|
66
68
|
}
|
|
67
69
|
/**
|
|
@@ -88,13 +90,13 @@ export class PgStore {
|
|
|
88
90
|
return Number(rows[0].seq);
|
|
89
91
|
}
|
|
90
92
|
/** The entries of a view's stream after `seq` (12.6.2). */
|
|
91
|
-
async entriesSince(view, seq, audience) {
|
|
93
|
+
async entriesSince(view, seq, audience, limit) {
|
|
92
94
|
const p = await this.projecting();
|
|
93
95
|
if (!p)
|
|
94
96
|
throw new Error("the store has no views");
|
|
95
97
|
const client = await this.pool.connect();
|
|
96
98
|
try {
|
|
97
|
-
return await entriesSince(client, this.owner, p, view, seq, audience);
|
|
99
|
+
return await entriesSince(client, this.owner, p, view, seq, audience, limit);
|
|
98
100
|
}
|
|
99
101
|
finally {
|
|
100
102
|
client.release();
|
|
@@ -103,14 +105,56 @@ export class PgStore {
|
|
|
103
105
|
/** After a persist: mark what the entry made stale, inside the same transaction. */
|
|
104
106
|
async afterPersist(client, before, after, seq, parsed) {
|
|
105
107
|
const p = this.options.projecting ?? (parsed ? projectingOf(parsed) : await this.projectingFrom(client));
|
|
106
|
-
if (p?.views.views.size)
|
|
108
|
+
if (p?.views.views.size && !this.skipStale)
|
|
107
109
|
await markStale(client, this.owner, p, before, after, seq);
|
|
108
110
|
}
|
|
109
111
|
async freshen() {
|
|
112
|
+
if (this.quiet)
|
|
113
|
+
return;
|
|
110
114
|
// Views with `fresh: write` publish now (12.6); a view with a delay waits for the loop.
|
|
111
115
|
if (this.options.fresh === "write" && (await this.projecting())?.views.views.size)
|
|
112
116
|
await this.project(undefined, undefined, (v) => v.fresh === "write");
|
|
113
117
|
}
|
|
118
|
+
/** Set while a bulk load runs: the per-commit publish waits for the one publish at the end. */
|
|
119
|
+
quiet = false;
|
|
120
|
+
/** A bulk load that republishes at the end marks nothing stale per batch (load, `stale: false`). */
|
|
121
|
+
skipStale = false;
|
|
122
|
+
/**
|
|
123
|
+
* Load many records as the owner's own, in batches: one entry per batch, each record set whole with its
|
|
124
|
+
* `sources` (or the `origin` given), the checks, rules and stale marks of a commit applying to every one;
|
|
125
|
+
* the views publish once at the end. For a conversion or a migration (brief 18 step 1): a million rows
|
|
126
|
+
* in an afternoon, not a day per hundred thousand through arrivals.
|
|
127
|
+
*/
|
|
128
|
+
async load(records, by, opts = {}) {
|
|
129
|
+
const size = Math.max(1, Math.floor(opts.batch ?? 500));
|
|
130
|
+
const entries = [];
|
|
131
|
+
this.quiet = true;
|
|
132
|
+
// `stale: false` marks nothing stale per batch: a conversion republishes every view at the end (12.6), and
|
|
133
|
+
// marking a million rows one write at a time is the slowest thing a bulk load would do.
|
|
134
|
+
this.skipStale = opts.stale === false;
|
|
135
|
+
try {
|
|
136
|
+
for (let i = 0; i < records.length; i += size) {
|
|
137
|
+
const slice = records.slice(i, i + size);
|
|
138
|
+
// Each record's values cite the entry that lands them (8.5), unless the record brings its own sources.
|
|
139
|
+
const { rows } = await this.pool.query("select head_seq from chains where owner = $1 and chain = $2", [this.owner, this.chain]);
|
|
140
|
+
const via = `L-${(rows.length ? Number(rows[0].head_seq) : 0) + 1}`;
|
|
141
|
+
const e = await this.commit(by, (d) => {
|
|
142
|
+
for (const r of slice) {
|
|
143
|
+
const sources = r.sources ?? { "*": { origin: opts.origin ?? "reported", via } };
|
|
144
|
+
d.records.set(r.id, { ...r, owner: r.owner ?? this.owner, sources });
|
|
145
|
+
}
|
|
146
|
+
}, opts.at);
|
|
147
|
+
if (e)
|
|
148
|
+
entries.push(String(e.log));
|
|
149
|
+
}
|
|
150
|
+
}
|
|
151
|
+
finally {
|
|
152
|
+
this.quiet = false;
|
|
153
|
+
this.skipStale = false;
|
|
154
|
+
}
|
|
155
|
+
const published = opts.publish === false ? 0 : (await this.project()).length;
|
|
156
|
+
return { entries, records: records.length, published };
|
|
157
|
+
}
|
|
114
158
|
// ─── Definitions from the store (docs/design/publishing.md) ────────────────
|
|
115
159
|
defsCache;
|
|
116
160
|
/** The definitions in force: installed bundles in order, then the owner's define writes. Cached per chain head. */
|
|
@@ -166,7 +210,7 @@ export class PgStore {
|
|
|
166
210
|
throw new Error(`${bundle.id}: the bundle doesn't verify (${v.reason})`);
|
|
167
211
|
if (Number(bundle.crubal ?? 2) > 2)
|
|
168
212
|
throw new Error(`${bundle.id} is written in CRUBAL ${bundle.crubal}, above this store's`);
|
|
169
|
-
const installed =
|
|
213
|
+
const installed = await this.installed();
|
|
170
214
|
const have = (pkg) => installed.filter((i) => i.package === pkg).map((i) => String(i.version));
|
|
171
215
|
for (const e of bundle.extends ?? []) {
|
|
172
216
|
// Named by short name within the bundle's own publisher, or by id across publishers.
|
|
@@ -210,7 +254,7 @@ export class PgStore {
|
|
|
210
254
|
const gone = new Set([...was.presets.keys(), ...was.menu.keys()].filter((n) => !own.presets.has(n) && !own.menu.has(n)));
|
|
211
255
|
if (gone.size) {
|
|
212
256
|
const now = at ?? new Date().toISOString();
|
|
213
|
-
const holding = [...installed.length ? (await this.
|
|
257
|
+
const holding = [...installed.length ? (await this.edges()) : []].filter((e) => (!e.until || String(e.until) > now) && e.grants?.some((g) => gone.has(g)));
|
|
214
258
|
if (holding.length)
|
|
215
259
|
throw new Error(`${bundle.id} /${bundle.version} drops ${[...gone].join(", ")}, which ${holding.map((e) => String(e.edge)).join(", ")} still grant; lapse or regrant them first`);
|
|
216
260
|
}
|
|
@@ -218,6 +262,7 @@ export class PgStore {
|
|
|
218
262
|
// The bundle goes in first: the entry's own transaction rebuilds definitions from it. A refused install takes it out again.
|
|
219
263
|
await this.pool.query("insert into bundles (owner, package, version, hash, json) values ($1, $2, $3, $4, $5) on conflict (owner, package, version) do update set hash = excluded.hash, json = excluded.json", [this.owner, bundle.id, bundle.version, bundle.hash, bundle]);
|
|
220
264
|
let result;
|
|
265
|
+
this.walking = true;
|
|
221
266
|
try {
|
|
222
267
|
result = await this.commitFrom((draft) => {
|
|
223
268
|
const extra = [{ install: { package: String(bundle.id), version: String(bundle.version), hash: String(bundle.hash) } }];
|
|
@@ -250,6 +295,9 @@ export class PgStore {
|
|
|
250
295
|
await this.pool.query("delete from bundles where owner = $1 and package = $2 and version = $3", [this.owner, bundle.id, bundle.version]);
|
|
251
296
|
throw e;
|
|
252
297
|
}
|
|
298
|
+
finally {
|
|
299
|
+
this.walking = false;
|
|
300
|
+
}
|
|
253
301
|
if (!result.entry)
|
|
254
302
|
throw new Error("the install wrote nothing");
|
|
255
303
|
this.defsCache = undefined;
|
|
@@ -390,7 +438,8 @@ export class PgStore {
|
|
|
390
438
|
}
|
|
391
439
|
/** The review items still open (9.5). */
|
|
392
440
|
async review() {
|
|
393
|
-
|
|
441
|
+
const { rows } = await this.pool.query("select json from review where owner = $1 order by ord", [this.owner]);
|
|
442
|
+
return openItems(rows.map((r) => r.json));
|
|
394
443
|
}
|
|
395
444
|
/**
|
|
396
445
|
* A review decision (9.5, 11.9, 14.7, runs.md): one entry holding the review write and what it causes;
|
|
@@ -460,26 +509,39 @@ export class PgStore {
|
|
|
460
509
|
*/
|
|
461
510
|
async drain(rate = 100, at) {
|
|
462
511
|
const dict = (await this.definitions()).dict;
|
|
463
|
-
|
|
464
|
-
|
|
465
|
-
|
|
512
|
+
// The records with an instruction still to apply, found by the tables (lifecycle.ts issuersFor: the
|
|
513
|
+
// parent's instructions, a kind's, a class's worn by the record or its parent), oldest first; never a
|
|
514
|
+
// walk of the catalog (brief 18, the scale rule).
|
|
515
|
+
const waitingSql = `
|
|
516
|
+
with ins as (select issuer, count(*)::int as n from instructions where owner = $1 group by issuer)
|
|
517
|
+
select r.id, r.ord from records r
|
|
518
|
+
where r.owner = $1 and coalesce(r.status ->> 'state', '') <> 'archived' and exists (
|
|
519
|
+
select 1 from ins i where coalesce((r.applied ->> i.issuer)::int, 0) < i.n and (
|
|
520
|
+
i.issuer = r."of"
|
|
521
|
+
or (i.issuer like 'kind:%' and split_part(substr(i.issuer, 6), '/', 1) = r.kind)
|
|
522
|
+
or (i.issuer like 'class:%' and (
|
|
523
|
+
split_part(substr(i.issuer, 7), '/', 1) = any(r.wears)
|
|
524
|
+
or split_part(substr(i.issuer, 7), '/', 1) = any(coalesce((select p.wears from records p where p.owner = r.owner and p.id = r."of"), '{}'::text[]))))))`;
|
|
525
|
+
const { rows } = await this.pool.query(`${waitingSql} order by r.ord limit $2`, [this.owner, rate]);
|
|
466
526
|
const applied = [];
|
|
467
|
-
for (const
|
|
527
|
+
for (const row of rows) {
|
|
528
|
+
const id = String(row.id);
|
|
468
529
|
const entry = await this.commit({ migration: "drain" }, (d) => { apply(d, id, dict); }, at);
|
|
469
530
|
if (entry)
|
|
470
531
|
applied.push(id);
|
|
471
532
|
}
|
|
472
|
-
|
|
533
|
+
const left = (await this.pool.query(`select count(*)::int as n from (${waitingSql}) w`, [this.owner])).rows[0];
|
|
534
|
+
return { applied, remaining: Number(left.n) };
|
|
473
535
|
}
|
|
474
536
|
/** What installing a version would restamp (10.4): per recipe and step, how many values change and how many go to review. */
|
|
475
537
|
async dryRun(bundle) {
|
|
476
|
-
const installed =
|
|
538
|
+
const installed = await this.installed();
|
|
477
539
|
const previous = installed.filter((i) => i.package === bundle.id).map((i) => String(i.version)).at(-1);
|
|
478
540
|
if (!previous)
|
|
479
541
|
return { recipes: [], records: 0 };
|
|
480
542
|
const next = readBundleOnto(bundle, await this.definitions(true));
|
|
481
543
|
const own = readBundle(bundle);
|
|
482
|
-
const records = (await this.
|
|
544
|
+
const records = (await this.wholeState()).records.all().filter((r) => ownRecord(own, r));
|
|
483
545
|
const recipes = recipesBetween(next.recipes, String(bundle.package), previous, String(bundle.version)).map((r) => { const d = dryRun(records, r, next.dict); return { from: r.from, to: r.to, steps: d.steps, review: d.review }; });
|
|
484
546
|
return { recipes, records: records.length };
|
|
485
547
|
}
|
|
@@ -506,6 +568,15 @@ export class PgStore {
|
|
|
506
568
|
* with a draft. (G6: Cashierfu carried this around the store until 0.1.15.)
|
|
507
569
|
*/
|
|
508
570
|
async state() {
|
|
571
|
+
if (this.options.wholeState === "refuse")
|
|
572
|
+
throw new Error(`${this.owner}: the whole state is refused on a request path; read what is needed with read(), records(), installed(), edges() or openReview()`);
|
|
573
|
+
return this.wholeState();
|
|
574
|
+
}
|
|
575
|
+
/**
|
|
576
|
+
* The whole state regardless of the option: for a rebuild, an erase, an install's restamp, an export and a
|
|
577
|
+
* test's assertions. Never on a request path: `state()` is the guarded door, this one says what it is.
|
|
578
|
+
*/
|
|
579
|
+
async wholeState() {
|
|
509
580
|
const client = await this.pool.connect();
|
|
510
581
|
try {
|
|
511
582
|
const { rows } = await client.query("select head_seq from chains where owner = $1 and chain = $2", [this.owner, this.chain]);
|
|
@@ -542,6 +613,112 @@ export class PgStore {
|
|
|
542
613
|
client.release();
|
|
543
614
|
}
|
|
544
615
|
}
|
|
616
|
+
// ─── Reads that never load the whole state (brief 18, the scale rule) ─────
|
|
617
|
+
/**
|
|
618
|
+
* A read on a working set: `fn` runs on a state whose records, bindings and runs load as it asks for them
|
|
619
|
+
* (by id, level, parent, target or key), and runs again until it asked for nothing new; edges,
|
|
620
|
+
* instructions and the working package are loaded whole (they are small). The lists (reviews,
|
|
621
|
+
* observations, installed, reads) are not loaded here: the readers below serve them. `fn` MUST be pure.
|
|
622
|
+
*/
|
|
623
|
+
async read(fn, opts = {}) {
|
|
624
|
+
const client = await this.pool.connect();
|
|
625
|
+
try {
|
|
626
|
+
const needs = new Needs();
|
|
627
|
+
if (this.options.wholeState === "refuse" && !opts.allowAll)
|
|
628
|
+
needs.refuseAll = `${this.owner}: records.all() asks for the whole catalog on a request path; ask by level, parent, target or key`;
|
|
629
|
+
const base = workingState(needs);
|
|
630
|
+
await loadWhole(client, this.owner, base);
|
|
631
|
+
const { out } = await settle(client, this.owner, base, fn);
|
|
632
|
+
return out;
|
|
633
|
+
}
|
|
634
|
+
finally {
|
|
635
|
+
client.release();
|
|
636
|
+
}
|
|
637
|
+
}
|
|
638
|
+
/** Records by level, kind, parent, placement or one key's value, in log order; paged by `ord`. */
|
|
639
|
+
async records(where = {}, opts = {}) {
|
|
640
|
+
const conds = ["owner = $1"];
|
|
641
|
+
const params = [this.owner];
|
|
642
|
+
const add = (sql, v) => { params.push(v); conds.push(sql.replace("?", `$${params.length}`)); };
|
|
643
|
+
if (where.level)
|
|
644
|
+
add("level = ?", where.level);
|
|
645
|
+
if (where.kind)
|
|
646
|
+
add("kind = ?", where.kind);
|
|
647
|
+
if (where.of)
|
|
648
|
+
add('"of" = ?', where.of);
|
|
649
|
+
if (where.within)
|
|
650
|
+
add("within = ?", where.within);
|
|
651
|
+
// Containment, so the GIN on the values document answers (an equality on `->` would not).
|
|
652
|
+
if (where.key)
|
|
653
|
+
add("doc -> 'values' @> ?::jsonb", JSON.stringify({ [where.key[0]]: where.key[1] }));
|
|
654
|
+
if (opts.archived === false)
|
|
655
|
+
add("coalesce(status ->> 'state', '') <> ?", "archived");
|
|
656
|
+
if (opts.after !== undefined)
|
|
657
|
+
add("ord > ?", opts.after);
|
|
658
|
+
const limit = opts.limit ? ` limit ${Math.max(1, Math.floor(opts.limit))}` : "";
|
|
659
|
+
const { rows } = await this.pool.query(`select * from records where ${conds.join(" and ")} order by ord${limit}`, params);
|
|
660
|
+
return rows.map((r) => recordOf(r));
|
|
661
|
+
}
|
|
662
|
+
/** Every edge of the owner (small: people and their grants). */
|
|
663
|
+
async edges() {
|
|
664
|
+
const { rows } = await this.pool.query("select json from edges where owner = $1 order by ord", [this.owner]);
|
|
665
|
+
return rows.map((r) => r.json);
|
|
666
|
+
}
|
|
667
|
+
/** The install log: every version taken, in order. */
|
|
668
|
+
async installed() {
|
|
669
|
+
const { rows } = await this.pool.query("select json from installed where owner = $1 order by ord", [this.owner]);
|
|
670
|
+
return rows.map((r) => r.json);
|
|
671
|
+
}
|
|
672
|
+
/** The record a binding (`contract|ref`) names, if any. */
|
|
673
|
+
async binding(key) {
|
|
674
|
+
const { rows } = await this.pool.query("select record from bindings where owner = $1 and key = $2", [this.owner, key]);
|
|
675
|
+
return rows[0] ? String(rows[0].record) : undefined;
|
|
676
|
+
}
|
|
677
|
+
/** The owner's working package (11.4): `<member>:<name>` → the definition as it now stands. */
|
|
678
|
+
async defines() {
|
|
679
|
+
const { rows } = await this.pool.query("select key, json from definitions where owner = $1 order by ord", [this.owner]);
|
|
680
|
+
return new Map(rows.map((r) => [String(r.key), r.json]));
|
|
681
|
+
}
|
|
682
|
+
/** Every review item ever written, decided or not, in order (9.5); `review()` is the open ones. */
|
|
683
|
+
async reviews() {
|
|
684
|
+
const { rows } = await this.pool.query("select json from review where owner = $1 order by ord", [this.owner]);
|
|
685
|
+
return rows.map((r) => r.json);
|
|
686
|
+
}
|
|
687
|
+
/** The records several bindings name, by key: one query for an import's references. */
|
|
688
|
+
async bindings(keys) {
|
|
689
|
+
if (!keys.length)
|
|
690
|
+
return new Map();
|
|
691
|
+
const { rows } = await this.pool.query("select key, record from bindings where owner = $1 and key = any($2)", [this.owner, keys]);
|
|
692
|
+
return new Map(rows.map((r) => [String(r.key), String(r.record)]));
|
|
693
|
+
}
|
|
694
|
+
/** The log of reads under an emergency edge (14.13), in order. */
|
|
695
|
+
async emergencyReads() {
|
|
696
|
+
const { rows } = await this.pool.query("select json from reads where owner = $1 order by ord", [this.owner]);
|
|
697
|
+
return rows.map((r) => r.json);
|
|
698
|
+
}
|
|
699
|
+
/** The observations on one record, or on or supporting any of several (9.7). */
|
|
700
|
+
async observationsOn(id) {
|
|
701
|
+
return this.observations({ on: id });
|
|
702
|
+
}
|
|
703
|
+
/** Observations by what they are on or support, their evidence type and their address (9.7); never all of them unasked. */
|
|
704
|
+
async observations(where) {
|
|
705
|
+
const conds = ["owner = $1"];
|
|
706
|
+
const params = [this.owner];
|
|
707
|
+
const add = (sql, v) => { params.push(v); conds.push(sql.replace("?", `$${params.length}`)); };
|
|
708
|
+
if (where.on !== undefined) {
|
|
709
|
+
const ids = Array.isArray(where.on) ? where.on : [where.on];
|
|
710
|
+
params.push(ids);
|
|
711
|
+
conds.push(`(json ->> 'on' = any($${params.length}) or json ->> 'supports' = any($${params.length}))`);
|
|
712
|
+
}
|
|
713
|
+
if (where.evidenceType)
|
|
714
|
+
add("json ->> 'evidence-type' = ?", where.evidenceType);
|
|
715
|
+
if (where.address)
|
|
716
|
+
add("json ->> 'address' = ?", where.address);
|
|
717
|
+
if (conds.length === 1)
|
|
718
|
+
throw new Error(`${this.owner}: observations() wants what they are on, their evidence type or their address`);
|
|
719
|
+
const { rows } = await this.pool.query(`select json from observations where ${conds.join(" and ")} order by ord`, params);
|
|
720
|
+
return rows.map((r) => r.json);
|
|
721
|
+
}
|
|
545
722
|
keptState;
|
|
546
723
|
/** Forget the kept state: after a rewrite of history that moves no head (an erase, a rebuild). */
|
|
547
724
|
forgetState() {
|
|
@@ -626,6 +803,8 @@ export class PgStore {
|
|
|
626
803
|
/** An empty working state with the whole small tables in it; records, bindings and runs load as needed. */
|
|
627
804
|
async base(client) {
|
|
628
805
|
const needs = new Needs();
|
|
806
|
+
if (this.options.wholeState === "refuse" && !this.walking)
|
|
807
|
+
needs.refuseAll = `${this.owner}: records.all() asks for the whole catalog inside a commit on a request path; ask by level, parent, target or key`;
|
|
629
808
|
this.trace = needs;
|
|
630
809
|
const base = workingState(needs);
|
|
631
810
|
await loadWhole(client, this.owner, base);
|
|
@@ -633,6 +812,8 @@ export class PgStore {
|
|
|
633
812
|
}
|
|
634
813
|
/** What the last operation loaded, for tests and for watching a store's cost. */
|
|
635
814
|
trace;
|
|
815
|
+
/** Set while an install restamps: its commit walks the package's records by design, whatever `wholeState` says. */
|
|
816
|
+
walking = false;
|
|
636
817
|
/**
|
|
637
818
|
* One operation, one entry (8.5): the engine runs on a draft of the state, what it changed becomes the
|
|
638
819
|
* entry's writes (plus `extra` writes the diff can't see), and the entry is applied and persisted in the
|
|
@@ -647,8 +828,13 @@ export class PgStore {
|
|
|
647
828
|
*/
|
|
648
829
|
async commitFrom(run, at, mark = {}) {
|
|
649
830
|
return transaction(this.pool, async (client) => {
|
|
831
|
+
// CRUBAL_TRACE_COMMIT=1 prints each phase's time to stderr, for a probe or a slow commit in the field.
|
|
832
|
+
const T0 = Date.now();
|
|
833
|
+
const tr = (label) => { if (process.env.CRUBAL_TRACE_COMMIT)
|
|
834
|
+
console.error(`commit ${this.owner} ${label} ${Date.now() - T0} ms`); };
|
|
650
835
|
const head = await this.lockChain(client);
|
|
651
836
|
const before = await this.base(client);
|
|
837
|
+
tr("base");
|
|
652
838
|
const needs = before.records;
|
|
653
839
|
// The operation runs until the working set holds everything it asked for (working.ts); so does the
|
|
654
840
|
// entry's application. Both run on copies of the same base, so the draft and the applied state
|
|
@@ -658,6 +844,7 @@ export class PgStore {
|
|
|
658
844
|
let entry;
|
|
659
845
|
let result;
|
|
660
846
|
const p = await this.definitionsFrom(client, false);
|
|
847
|
+
tr("definitions");
|
|
661
848
|
for (;;) {
|
|
662
849
|
const had = needs.needs.loaded.size;
|
|
663
850
|
({ draft, result } = (await settle(client, this.owner, before, (s) => { const d = draftOf(s); const r = run(d); this.derive(p, before, d); return { draft: d, result: r }; })).out);
|
|
@@ -671,12 +858,15 @@ export class PgStore {
|
|
|
671
858
|
if (needs.needs.loaded.size === had)
|
|
672
859
|
break;
|
|
673
860
|
}
|
|
861
|
+
tr(`settled, ${needs.needs.loaded.size} records loaded`);
|
|
674
862
|
const { entry: linked, hosted } = await this.linkSplit(client, entry, head, after);
|
|
675
863
|
const problem = differs(after, draft);
|
|
676
864
|
if (problem)
|
|
677
865
|
throw new Error(`the log doesn't describe the change: ${problem}`);
|
|
678
866
|
await persist(client, this.owner, before, after);
|
|
867
|
+
tr("persisted");
|
|
679
868
|
await this.afterPersist(client, before, after, head.seq + (linked ? 1 : 0), p);
|
|
869
|
+
tr("stale marked");
|
|
680
870
|
// The definitions in force are unchanged by an entry with no define write (an install clears the
|
|
681
871
|
// cache itself), so the cache follows the head: parsing them again cost every commit, and the first
|
|
682
872
|
// read after it, ~110 ms on ME.
|
package/dist/src/store.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"store.js","sourceRoot":"","sources":["../../src/store.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"store.js","sourceRoot":"","sources":["../../src/store.ts"],"names":[],"mappings":"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"}
|
package/dist/src/working.d.ts
CHANGED
|
@@ -11,6 +11,8 @@ export declare class Needs {
|
|
|
11
11
|
readonly absent: Set<string>;
|
|
12
12
|
/** Every ID loaded, for the trace. */
|
|
13
13
|
readonly loaded: Set<string>;
|
|
14
|
+
/** When set, `all()` throws this message instead of asking for the whole catalog (a store with `wholeState: refuse`). */
|
|
15
|
+
refuseAll: string | undefined;
|
|
14
16
|
want(key: string): void;
|
|
15
17
|
}
|
|
16
18
|
/** A record set that notes what it lacks. Scans answer from what is loaded and note the question. */
|
package/dist/src/working.js
CHANGED
|
@@ -16,6 +16,8 @@ export class Needs {
|
|
|
16
16
|
absent = new Set();
|
|
17
17
|
/** Every ID loaded, for the trace. */
|
|
18
18
|
loaded = new Set();
|
|
19
|
+
/** When set, `all()` throws this message instead of asking for the whole catalog (a store with `wholeState: refuse`). */
|
|
20
|
+
refuseAll;
|
|
19
21
|
want(key) {
|
|
20
22
|
if (!this.answered.has(key))
|
|
21
23
|
this.pending.add(key);
|
|
@@ -38,6 +40,8 @@ export class WorkingRecords extends MemoryRecords {
|
|
|
38
40
|
return this.get(id) !== undefined;
|
|
39
41
|
}
|
|
40
42
|
all() {
|
|
43
|
+
if (this.needs.refuseAll)
|
|
44
|
+
throw new Error(this.needs.refuseAll);
|
|
41
45
|
this.needs.want("all");
|
|
42
46
|
return super.all();
|
|
43
47
|
}
|
|
@@ -137,10 +141,14 @@ export function copyWorking(base) {
|
|
|
137
141
|
s.instructions.set(k, structuredClone(v));
|
|
138
142
|
for (const [k, v] of base.definitions)
|
|
139
143
|
s.definitions.set(k, structuredClone(v));
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
+
for (const x of base.observations)
|
|
145
|
+
s.observations.push(structuredClone(x));
|
|
146
|
+
for (const x of base.reviews)
|
|
147
|
+
s.reviews.push(structuredClone(x));
|
|
148
|
+
for (const x of base.installed)
|
|
149
|
+
s.installed.push(structuredClone(x));
|
|
150
|
+
for (const x of base.reads)
|
|
151
|
+
s.reads.push(structuredClone(x));
|
|
144
152
|
return s;
|
|
145
153
|
}
|
|
146
154
|
/** Load the small, whole tables an operation always needs: edges, instructions and definitions. */
|
|
@@ -173,12 +181,25 @@ export async function loadNeeds(client, owner, needs, into) {
|
|
|
173
181
|
// kind: a view's shape reading each row's parent asked 11,299 single-row questions on ME's offers.
|
|
174
182
|
const byId = [];
|
|
175
183
|
const children = new Map();
|
|
184
|
+
// Key lookups (a unique check per record, a shared part's linkers) asked many times in one run are fetched
|
|
185
|
+
// in one containment query per level and facet: a bulk load of 2,000 records with three unique facets
|
|
186
|
+
// asked 6,000 single-row questions per batch.
|
|
187
|
+
const keyGroups = new Map();
|
|
176
188
|
for (const key of [...needs.pending]) {
|
|
177
189
|
if (needs.answered.has(key)) {
|
|
178
190
|
needs.pending.delete(key);
|
|
179
191
|
continue;
|
|
180
192
|
}
|
|
181
193
|
const [kind, ...rest] = key.split(":");
|
|
194
|
+
if (kind === "key") {
|
|
195
|
+
const [level, facet, ...valueParts] = rest;
|
|
196
|
+
const g = keyGroups.get(`${level}|${facet}`) ?? { level, facet, values: [] };
|
|
197
|
+
g.values.push(valueParts.join(":"));
|
|
198
|
+
keyGroups.set(`${level}|${facet}`, g);
|
|
199
|
+
needs.pending.delete(key);
|
|
200
|
+
needs.answered.add(key);
|
|
201
|
+
continue;
|
|
202
|
+
}
|
|
182
203
|
if (kind === "record") {
|
|
183
204
|
byId.push(rest.join(":"));
|
|
184
205
|
needs.pending.delete(key);
|
|
@@ -193,6 +214,11 @@ export async function loadNeeds(client, owner, needs, into) {
|
|
|
193
214
|
needs.answered.add(key);
|
|
194
215
|
}
|
|
195
216
|
}
|
|
217
|
+
for (const g of keyGroups.values()) {
|
|
218
|
+
const docs = g.values.map((v) => JSON.stringify({ [g.facet]: JSON.parse(v) }));
|
|
219
|
+
const rows = (await client.query(`${sel}${g.level ? " and level = $3" : ""} and doc -> 'values' @> any($2::jsonb[]) order by ord`, g.level ? [owner, docs, g.level] : [owner, docs])).rows;
|
|
220
|
+
put(rows);
|
|
221
|
+
}
|
|
196
222
|
if (byId.length) {
|
|
197
223
|
const rows = (await client.query(`${sel} and id = any($2) order by ord`, [owner, byId])).rows;
|
|
198
224
|
const found = new Set(rows.map((r) => String(r.id)));
|
|
@@ -223,7 +249,8 @@ export async function loadNeeds(client, owner, needs, into) {
|
|
|
223
249
|
else if (kind === "key") {
|
|
224
250
|
const [level, facet, ...valueParts] = rest;
|
|
225
251
|
const value = valueParts.join(":");
|
|
226
|
-
|
|
252
|
+
// Containment, so the GIN on the values document answers.
|
|
253
|
+
put((await client.query(`${sel}${level ? " and level = $3" : ""} and doc -> 'values' @> $2::jsonb order by ord`, level ? [owner, JSON.stringify({ [facet]: JSON.parse(value) }), level] : [owner, JSON.stringify({ [facet]: JSON.parse(value) })])).rows);
|
|
227
254
|
}
|
|
228
255
|
else if (kind === "binding") {
|
|
229
256
|
const map = into.bindings;
|
package/dist/src/working.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"working.js","sourceRoot":"","sources":["../../src/working.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"working.js","sourceRoot":"","sources":["../../src/working.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@cruba/crubal-postgres",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.3.0",
|
|
4
4
|
"description": "The persistent CRUBAL store on Postgres: the log as the truth, every other table a cache rebuilt from it.",
|
|
5
5
|
"license": "Apache-2.0",
|
|
6
6
|
"type": "module",
|
|
@@ -26,7 +26,7 @@
|
|
|
26
26
|
"prepublishOnly": "npm run typecheck && npm run build"
|
|
27
27
|
},
|
|
28
28
|
"dependencies": {
|
|
29
|
-
"@cruba/crubal": "0.
|
|
29
|
+
"@cruba/crubal": "0.3.0",
|
|
30
30
|
"pg": "^8.13.0"
|
|
31
31
|
},
|
|
32
32
|
"devDependencies": {
|