@sixb/sqlite 0.1.9 → 0.1.11
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/index.js +449 -195
- package/dist/index.js.map +13 -11
- package/dist/migrations.d.ts.map +1 -1
- package/dist/ontology-storage/materialization-state.d.ts +2 -1
- package/dist/ontology-storage/materialization-state.d.ts.map +1 -1
- package/dist/ontology-storage/materializations.d.ts.map +1 -1
- package/dist/ontology-storage/outbox.d.ts.map +1 -1
- package/dist/ontology-storage/shared.d.ts +2 -0
- package/dist/ontology-storage/shared.d.ts.map +1 -1
- package/dist/ontology-storage/source-cleanup.d.ts +4 -0
- package/dist/ontology-storage/source-cleanup.d.ts.map +1 -0
- package/dist/ontology-storage/source-roots.d.ts +27 -0
- package/dist/ontology-storage/source-roots.d.ts.map +1 -0
- package/dist/ontology-storage/sources.d.ts.map +1 -1
- package/dist/projection-run-storage.d.ts.map +1 -1
- package/package.json +3 -3
- package/src/connector-connection-storage.ts +13 -3
- package/src/migrations/038-projection-source-roots.sql +44 -0
- package/src/migrations/039-connector-optional-pkce.sql +52 -0
- package/src/migrations/040-outbox-publication-order.sql +8 -0
- package/src/migrations.ts +13 -0
- package/src/ontology-storage/materialization-state.ts +56 -91
- package/src/ontology-storage/materializations.ts +7 -1
- package/src/ontology-storage/outbox.ts +33 -16
- package/src/ontology-storage/shared.ts +10 -0
- package/src/ontology-storage/source-cleanup.ts +59 -0
- package/src/ontology-storage/source-roots.ts +230 -0
- package/src/ontology-storage/sources.ts +25 -78
- package/src/projection-run-storage.ts +11 -3
package/dist/migrations.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"migrations.d.ts","sourceRoot":"","sources":["../src/migrations.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAA;AAIrC,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,YAAY,CAAA;AACjD,OAAO,KAAK,EAGV,YAAY,EACZ,aAAa,EACb,oBAAoB,EACrB,MAAM,oBAAoB,CAAA;
|
|
1
|
+
{"version":3,"file":"migrations.d.ts","sourceRoot":"","sources":["../src/migrations.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAA;AAIrC,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,YAAY,CAAA;AACjD,OAAO,KAAK,EAGV,YAAY,EACZ,aAAa,EACb,oBAAoB,EACrB,MAAM,oBAAoB,CAAA;AAqG3B,eAAO,MAAM,yBAAyB,sBAAsB,CAAA;AAC5D,eAAO,MAAM,mBAAmB,mBAAmB,CAAA;AAEnD,eAAO,MAAM,uBAAuB,wBA+ElC,CAAA;AAEF,wBAAgB,iBAAiB,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,CAE1D;AAED,wBAAgB,SAAS,CAAC,EAAE,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,aAAa,CAAC,QAAQ,CAAC,CAQ9E;AAED,wBAAgB,UAAU,CACxB,EAAE,EAAE,MAAM,EACV,EAAE,EAAE,CAAC,EAAE,EAAE,QAAQ,KAAK,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,EAC1C,OAAO,GAAE,oBAAyB,GACjC,aAAa,CAAC,QAAQ,CAAC,CAEzB;AAED,wBAAgB,wBAAwB,CAAC,EAAE,EAAE,QAAQ,GAAG,IAAI,CAS3D;AAED,wBAAgB,4BAA4B,CAAC,QAAQ,EAAE,MAAM,GAAG,SAAS,eAAe,EAAE,CAOzF;AAED,wBAAgB,oBAAoB,CAAC,MAAM,EAAE;IAC3C,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAA;IACrB,QAAQ,CAAC,UAAU,EAAE,YAAY,CAAC,QAAQ,CAAC,CAAA;CAC5C,GAAG,eAAe,CAoBlB;AAED,wBAAsB,oBAAoB,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAM1E"}
|
|
@@ -15,6 +15,7 @@ export type ReplacementIdentity = {
|
|
|
15
15
|
readonly diffRequired: boolean;
|
|
16
16
|
};
|
|
17
17
|
interface ReplacementIdentityInput {
|
|
18
|
+
readonly incremental?: boolean;
|
|
18
19
|
readonly sessionId: string;
|
|
19
20
|
readonly sourceId: string;
|
|
20
21
|
readonly candidateMaterializationId: string;
|
|
@@ -49,7 +50,7 @@ export declare class SqliteMaterializationStateReader {
|
|
|
49
50
|
replacementObjectStates(sourceId: string, candidateMaterializationId: string, refs: readonly OntologyObjectRef[]): readonly SourceReplacementObjectState[];
|
|
50
51
|
replacementLinkStates(sourceId: string, candidateMaterializationId: string, materializationIds: readonly string[], identities: readonly Extract<ReplacementIdentity, {
|
|
51
52
|
readonly kind: "link";
|
|
52
|
-
}>[]): readonly SourceReplacementLinkState[];
|
|
53
|
+
}>[], incremental?: boolean): readonly SourceReplacementLinkState[];
|
|
53
54
|
effectiveObjectRevision(ref: OntologyObjectRef): {
|
|
54
55
|
readonly version: number;
|
|
55
56
|
readonly lastCommitId: string | null;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"materialization-state.d.ts","sourceRoot":"","sources":["../../src/ontology-storage/materialization-state.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAA;AAC1C,OAAO,KAAK,EAGV,eAAe,EACf,iBAAiB,EAEjB,kBAAkB,EACnB,MAAM,qCAAqC,CAAA;AAe5C,OAAO,KAAK,EACV,gCAAgC,EAChC,6BAA6B,EAC7B,wBAAwB,EACxB,0BAA0B,EAC1B,0BAA0B,EAC1B,4BAA4B,EAO5B,oBAAoB,EACrB,MAAM,oBAAoB,CAAA;
|
|
1
|
+
{"version":3,"file":"materialization-state.d.ts","sourceRoot":"","sources":["../../src/ontology-storage/materialization-state.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"materializations.d.ts","sourceRoot":"","sources":["../../src/ontology-storage/materializations.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAA;AA2B1C,OAAO,KAAK,EACV,8BAA8B,EAC9B,0BAA0B,EAC1B,4BAA4B,EAC5B,8BAA8B,EAC9B,yBAAyB,EACzB,sBAAsB,EACtB,wBAAwB,EACxB,uBAAuB,EAEvB,8BAA8B,EAC9B,uCAAuC,EAEvC,0BAA0B,EAC1B,6BAA6B,EAC7B,+BAA+B,EAC/B,8BAA8B,EAC9B,iCAAiC,EAClC,MAAM,oBAAoB,CAAA;AAE3B,OAAO,EAGL,KAAK,gCAAgC,EACtC,MAAM,2BAA2B,CAAA;
|
|
1
|
+
{"version":3,"file":"materializations.d.ts","sourceRoot":"","sources":["../../src/ontology-storage/materializations.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAA;AA2B1C,OAAO,KAAK,EACV,8BAA8B,EAC9B,0BAA0B,EAC1B,4BAA4B,EAC5B,8BAA8B,EAC9B,yBAAyB,EACzB,sBAAsB,EACtB,wBAAwB,EACxB,uBAAuB,EAEvB,8BAA8B,EAC9B,uCAAuC,EAEvC,0BAA0B,EAC1B,6BAA6B,EAC7B,+BAA+B,EAC/B,8BAA8B,EAC9B,iCAAiC,EAClC,MAAM,oBAAoB,CAAA;AAE3B,OAAO,EAGL,KAAK,gCAAgC,EACtC,MAAM,2BAA2B,CAAA;AAkBlC,qBAAa,oCAAqC,YAAW,8BAA8B;IAKvF,OAAO,CAAC,QAAQ,CAAC,EAAE;IAJrB,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAA+B;IACxD,OAAO,CAAC,QAAQ,CAAC,MAAM,CAA6B;gBAGjC,EAAE,EAAE,QAAQ,EAC7B,OAAO,EAAE,gCAAgC,GAAG,IAAI;IAM5C,KAAK,CAAC,KAAK,EAAE,yBAAyB,GAAG,OAAO,CAAC,sBAAsB,CAAC;IAmCvE,WAAW,CAChB,KAAK,EAAE,+BAA+B,GACrC,aAAa,CAAC,wBAAwB,CAAC;IAmDnC,4BAA4B,CACjC,KAAK,EAAE,iCAAiC,GACvC,aAAa,CAAC,0BAA0B,CAAC;IA6FtC,SAAS,CAAC,KAAK,EAAE,6BAA6B,GAAG,OAAO,CAAC,IAAI,CAAC;IAKpE,UAAU,CAAC,KAAK,EAAE,8BAA8B,GAAG,aAAa,CAAC,uBAAuB,CAAC;IAKnF,mBAAmB,CACvB,KAAK,EAAE,uCAAuC,GAC7C,OAAO,CAAC,SAAS,8BAA8B,EAAE,CAAC;IAK/C,UAAU,CAAC,KAAK,EAAE,8BAA8B,GAAG,OAAO,CAAC,IAAI,CAAC;IAkBhE,QAAQ,CAAC,KAAK,EAAE,4BAA4B,GAAG,OAAO,CAAC,0BAA0B,CAAC;IAYxF,kBAAkB,IAAI,IAAI;IAI1B,OAAO,CAAC,kBAAkB;IA4D1B,OAAO,CAAC,kBAAkB;IA+C1B,OAAO,CAAC,YAAY;IAgBpB,OAAO,CAAC,YAAY;IAsBpB,OAAO,CAAC,UAAU;YAsBJ,kBAAkB;IAwDhC,OAAO,CAAC,sBAAsB;IAwD9B,OAAO,CAAC,cAAc;IAsGtB,OAAO,CAAC,YAAY;IAmDpB,OAAO,CAAC,eAAe;IASvB,OAAO,CAAC,SAAS;CAYlB"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"outbox.d.ts","sourceRoot":"","sources":["../../src/ontology-storage/outbox.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAA;AAM1C,OAAO,KAAK,EACV,wBAAwB,EACxB,wBAAwB,EACxB,gCAAgC,EAChC,qBAAqB,EACrB,qBAAqB,EACrB,iCAAiC,EACjC,kCAAkC,EAClC,4BAA4B,EAC7B,MAAM,oBAAoB,CAAA;AAE3B,OAAO,EAML,KAAK,mBAAmB,EACzB,MAAM,UAAU,CAAA;AAEjB,qBAAa,2BAA4B,YAAW,qBAAqB;IAErE,OAAO,CAAC,QAAQ,CAAC,EAAE;IACnB,OAAO,CAAC,QAAQ,CAAC,gBAAgB;gBADhB,EAAE,EAAE,QAAQ,EACZ,gBAAgB,EAAE,mBAAmB;IAGlD,KAAK,CAAC,KAAK,EAAE,wBAAwB,GAAG,OAAO,CAAC,SAAS,wBAAwB,EAAE,CAAC;
|
|
1
|
+
{"version":3,"file":"outbox.d.ts","sourceRoot":"","sources":["../../src/ontology-storage/outbox.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAA;AAM1C,OAAO,KAAK,EACV,wBAAwB,EACxB,wBAAwB,EACxB,gCAAgC,EAChC,qBAAqB,EACrB,qBAAqB,EACrB,iCAAiC,EACjC,kCAAkC,EAClC,4BAA4B,EAC7B,MAAM,oBAAoB,CAAA;AAE3B,OAAO,EAML,KAAK,mBAAmB,EACzB,MAAM,UAAU,CAAA;AAEjB,qBAAa,2BAA4B,YAAW,qBAAqB;IAErE,OAAO,CAAC,QAAQ,CAAC,EAAE;IACnB,OAAO,CAAC,QAAQ,CAAC,gBAAgB;gBADhB,EAAE,EAAE,QAAQ,EACZ,gBAAgB,EAAE,mBAAmB;IAGlD,KAAK,CAAC,KAAK,EAAE,wBAAwB,GAAG,OAAO,CAAC,SAAS,wBAAwB,EAAE,CAAC;IAwEpF,aAAa,CAAC,KAAK,EAAE,gCAAgC,GAAG,OAAO,CAAC,IAAI,CAAC;IAsCrE,UAAU,CAAC,KAAK,EAAE,kCAAkC,GAAG,OAAO,CAAC,IAAI,CAAC;IA4CpE,cAAc,CAAC,KAAK,EAAE,iCAAiC,GAAG,OAAO,CAAC,MAAM,CAAC;IAqBzE,SAAS,CAAC,KAAK,EAAE,4BAA4B,GAAG,OAAO,CAAC,qBAAqB,CAAC;CA4BrF"}
|
|
@@ -37,6 +37,8 @@ export interface SqliteOntologySourceRow {
|
|
|
37
37
|
readonly ownership_hash: string;
|
|
38
38
|
readonly ontology_revision: string;
|
|
39
39
|
readonly root_count: number | null;
|
|
40
|
+
readonly base_materialization_id: string | null;
|
|
41
|
+
readonly base_commit_id: string | null;
|
|
40
42
|
readonly assertion_count: number | null;
|
|
41
43
|
readonly created_at: string;
|
|
42
44
|
readonly ready_at: string | null;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"shared.d.ts","sourceRoot":"","sources":["../../src/ontology-storage/shared.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"shared.d.ts","sourceRoot":"","sources":["../../src/ontology-storage/shared.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
import type { Database } from "bun:sqlite";
|
|
2
|
+
import type { CleanupTerminalSourceMaterializationsInput, CleanupTerminalSourceMaterializationsResult } from "@sixb/core/storage";
|
|
3
|
+
export declare function cleanupSourceVersions(db: Database, input: CleanupTerminalSourceMaterializationsInput): CleanupTerminalSourceMaterializationsResult;
|
|
4
|
+
//# sourceMappingURL=source-cleanup.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"source-cleanup.d.ts","sourceRoot":"","sources":["../../src/ontology-storage/source-cleanup.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAA;AAC1C,OAAO,KAAK,EACV,0CAA0C,EAC1C,2CAA2C,EAC5C,MAAM,oBAAoB,CAAA;AAE3B,wBAAgB,qBAAqB,CACnC,EAAE,EAAE,QAAQ,EACZ,KAAK,EAAE,0CAA0C,GAChD,2CAA2C,CAiD7C"}
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
import type { Database } from "bun:sqlite";
|
|
2
|
+
import type { ProjectionEntityRef } from "@sixb/core/internal/materialization";
|
|
3
|
+
import type { SourceActivationWrite, StageSourceRowsInput } from "@sixb/core/storage";
|
|
4
|
+
import type { SqliteOntologySourceAssertionRow } from "./shared";
|
|
5
|
+
import { type SqliteOntologySourceRow } from "./shared";
|
|
6
|
+
export declare function replacementSourceRows(input: {
|
|
7
|
+
readonly projectId: string;
|
|
8
|
+
readonly sourceId: string;
|
|
9
|
+
readonly materializationId: string;
|
|
10
|
+
readonly incremental: boolean;
|
|
11
|
+
}): {
|
|
12
|
+
readonly sql: string;
|
|
13
|
+
readonly values: readonly string[];
|
|
14
|
+
};
|
|
15
|
+
export declare function stageSourceRoots(db: Database, manifest: SqliteOntologySourceRow, input: StageSourceRowsInput): void;
|
|
16
|
+
export declare function activateSourceRoots(db: Database, projectId: string, candidate: SqliteOntologySourceRow, activation: SourceActivationWrite): void;
|
|
17
|
+
export declare function assertSourceRootCoverage(db: Database, manifest: SqliteOntologySourceRow): void;
|
|
18
|
+
export declare function activeSourceRows(db: Database, projectId: string, refs: readonly ProjectionEntityRef[]): SqliteOntologySourceAssertionRow[];
|
|
19
|
+
export declare function replacementAssertionRows(db: Database, input: {
|
|
20
|
+
projectId: string;
|
|
21
|
+
sourceId: string;
|
|
22
|
+
materializationId: string;
|
|
23
|
+
incremental: boolean;
|
|
24
|
+
includePrevious: boolean;
|
|
25
|
+
refs: readonly ProjectionEntityRef[];
|
|
26
|
+
}): SqliteOntologySourceAssertionRow[];
|
|
27
|
+
//# sourceMappingURL=source-roots.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"source-roots.d.ts","sourceRoot":"","sources":["../../src/ontology-storage/source-roots.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAA;AAC1C,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,qCAAqC,CAAA;AAO9E,OAAO,KAAK,EAAE,qBAAqB,EAAE,oBAAoB,EAAE,MAAM,oBAAoB,CAAA;AACrF,OAAO,KAAK,EAAE,gCAAgC,EAAE,MAAM,UAAU,CAAA;AAChE,OAAO,EAAiB,KAAK,uBAAuB,EAAE,MAAM,UAAU,CAAA;AAEtE,wBAAgB,qBAAqB,CAAC,KAAK,EAAE;IAC3C,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAA;IAC1B,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAA;IACzB,QAAQ,CAAC,iBAAiB,EAAE,MAAM,CAAA;IAClC,QAAQ,CAAC,WAAW,EAAE,OAAO,CAAA;CAC9B,GAAG;IAAE,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,MAAM,EAAE,SAAS,MAAM,EAAE,CAAA;CAAE,CAyB/D;AAED,wBAAgB,gBAAgB,CAC9B,EAAE,EAAE,QAAQ,EACZ,QAAQ,EAAE,uBAAuB,EACjC,KAAK,EAAE,oBAAoB,GAC1B,IAAI,CAuCN;AAED,wBAAgB,mBAAmB,CACjC,EAAE,EAAE,QAAQ,EACZ,SAAS,EAAE,MAAM,EACjB,SAAS,EAAE,uBAAuB,EAClC,UAAU,EAAE,qBAAqB,GAChC,IAAI,CAiCN;AAED,wBAAgB,wBAAwB,CAAC,EAAE,EAAE,QAAQ,EAAE,QAAQ,EAAE,uBAAuB,GAAG,IAAI,CAc9F;AAED,wBAAgB,gBAAgB,CAC9B,EAAE,EAAE,QAAQ,EACZ,SAAS,EAAE,MAAM,EACjB,IAAI,EAAE,SAAS,mBAAmB,EAAE,GACnC,gCAAgC,EAAE,CAuBpC;AAED,wBAAgB,wBAAwB,CACtC,EAAE,EAAE,QAAQ,EACZ,KAAK,EAAE;IACL,SAAS,EAAE,MAAM,CAAA;IACjB,QAAQ,EAAE,MAAM,CAAA;IAChB,iBAAiB,EAAE,MAAM,CAAA;IACzB,WAAW,EAAE,OAAO,CAAA;IACpB,eAAe,EAAE,OAAO,CAAA;IACxB,IAAI,EAAE,SAAS,mBAAmB,EAAE,CAAA;CACrC,GACA,gCAAgC,EAAE,CA6CpC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sources.d.ts","sourceRoot":"","sources":["../../src/ontology-storage/sources.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAA;AAkB1C,OAAO,KAAK,EACV,0CAA0C,EAG1C,+BAA+B,EAC/B,0CAA0C,EAC1C,2CAA2C,EAC3C,4BAA4B,EAC5B,mCAAmC,EACnC,oBAAoB,EACpB,qBAAqB,EACrB,iCAAiC,EACjC,oBAAoB,EACpB,qBAAqB,EACrB,4CAA4C,EAC5C,oCAAoC,EACrC,MAAM,oBAAoB,CAAA;AAE3B,OAAO,EASL,KAAK,mBAAmB,EAGzB,MAAM,UAAU,CAAA;
|
|
1
|
+
{"version":3,"file":"sources.d.ts","sourceRoot":"","sources":["../../src/ontology-storage/sources.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAA;AAkB1C,OAAO,KAAK,EACV,0CAA0C,EAG1C,+BAA+B,EAC/B,0CAA0C,EAC1C,2CAA2C,EAC3C,4BAA4B,EAC5B,mCAAmC,EACnC,oBAAoB,EACpB,qBAAqB,EACrB,iCAAiC,EACjC,oBAAoB,EACpB,qBAAqB,EACrB,4CAA4C,EAC5C,oCAAoC,EACrC,MAAM,oBAAoB,CAAA;AAE3B,OAAO,EASL,KAAK,mBAAmB,EAGzB,MAAM,UAAU,CAAA;AAIjB,qBAAa,2BAA4B,YAAW,qBAAqB;IAErE,OAAO,CAAC,QAAQ,CAAC,EAAE;IACnB,OAAO,CAAC,QAAQ,CAAC,gBAAgB;gBADhB,EAAE,EAAE,QAAQ,EACZ,gBAAgB,EAAE,mBAAmB;IAGlD,oBAAoB,CACxB,KAAK,EAAE,+BAA+B,GACrC,OAAO,CAAC,oBAAoB,CAAC;IAuE1B,SAAS,CAAC,KAAK,EAAE,oBAAoB,GAAG,OAAO,CAAC,qBAAqB,CAAC;IA2BtE,SAAS,CAAC,KAAK,EAAE,mCAAmC,GAAG,OAAO,CAAC,oBAAoB,CAAC;IA8DpF,SAAS,CAAC,KAAK,EAAE,4BAA4B,GAAG,OAAO,CAAC,oBAAoB,GAAG,IAAI,CAAC;IAepF,OAAO,CAAC,KAAK,EAAE,0CAA0C,GAAG,OAAO,CAAC,oBAAoB,CAAC;IACzF,OAAO,CAAC,KAAK,EAAE,iCAAiC,GAAG,OAAO,CAAC,oBAAoB,GAAG,IAAI,CAAC;IAavF,eAAe,CACnB,KAAK,EAAE,0CAA0C,GAChD,OAAO,CAAC,2CAA2C,CAAC;IASjD,iBAAiB,CACrB,KAAK,EAAE,4CAA4C,GAClD,OAAO,CAAC,oCAAoC,CAAC;IAsBhD,OAAO,CAAC,gBAAgB;IAuBxB,OAAO,CAAC,iBAAiB;IA6BzB,OAAO,CAAC,qBAAqB;IA0C7B,OAAO,CAAC,gBAAgB;IAgFxB,OAAO,CAAC,aAAa;IA+BrB,OAAO,CAAC,eAAe;IAwEvB,OAAO,CAAC,eAAe;IAiBvB,OAAO,CAAC,WAAW;IAenB,OAAO,CAAC,eAAe;CASxB"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"projection-run-storage.d.ts","sourceRoot":"","sources":["../src/projection-run-storage.ts"],"names":[],"mappings":"AA8BA,OAAO,KAAK,EACV,yCAAyC,EACzC,gBAAgB,EAChB,6BAA6B,EAC7B,wBAAwB,EACxB,6BAA6B,EAC7B,8BAA8B,EAC9B,uBAAuB,EACvB,wBAAwB,EACxB,wCAAwC,EAExC,kBAAkB,EAElB,mBAAmB,EAEnB,oBAAoB,EACpB,uBAAuB,EACvB,kCAAkC,EAClC,gCAAgC,EAChC,4BAA4B,EAC5B,wBAAwB,EACzB,MAAM,oBAAoB,CAAA;AAI3B,OAAO,EAIL,KAAK,qBAAqB,EAC3B,MAAM,gBAAgB,CAAA;AAEvB,MAAM,WAAW,iCAAiC;IAChD,8DAA8D;IAC9D,UAAU,EAAE,gBAAgB,CAAA;IAC5B,mFAAmF;IACnF,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,gEAAgE;IAChE,UAAU,CAAC,EAAE,qBAAqB,CAAA;CACnC;AAED,qBAAa,0BAA2B,YAAW,oBAAoB;IACrE,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAuB;IAClD,OAAO,CAAC,QAAQ,CAAC,EAAE,CAAU;IAC7B,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAkB;gBAEjC,OAAO,EAAE,iCAAiC;IAUhD,KAAK,CAAC,KAAK,EAAE,uBAAuB,GAAG,OAAO,CAAC,mBAAmB,CAAC;IA0DnE,cAAc,CAAC,KAAK,EAAE,gCAAgC,GAAG,OAAO,CAAC,kBAAkB,CAAC;IAyDpF,WAAW,CAAC,KAAK,EAAE,6BAA6B,GAAG,OAAO,CAAC,mBAAmB,CAAC;IA0B/E,sBAAsB,CAC1B,KAAK,EAAE,wCAAwC,GAC9C,OAAO,CAAC,mBAAmB,CAAC;IAIzB,MAAM,CAAC,KAAK,EAAE,wBAAwB,GAAG,OAAO,CAAC,mBAAmB,CAAC;IAYrE,MAAM,CAAC,KAAK,EAAE,wBAAwB,GAAG,OAAO,CAAC,mBAAmB,CAAC;
|
|
1
|
+
{"version":3,"file":"projection-run-storage.d.ts","sourceRoot":"","sources":["../src/projection-run-storage.ts"],"names":[],"mappings":"AA8BA,OAAO,KAAK,EACV,yCAAyC,EACzC,gBAAgB,EAChB,6BAA6B,EAC7B,wBAAwB,EACxB,6BAA6B,EAC7B,8BAA8B,EAC9B,uBAAuB,EACvB,wBAAwB,EACxB,wCAAwC,EAExC,kBAAkB,EAElB,mBAAmB,EAEnB,oBAAoB,EACpB,uBAAuB,EACvB,kCAAkC,EAClC,gCAAgC,EAChC,4BAA4B,EAC5B,wBAAwB,EACzB,MAAM,oBAAoB,CAAA;AAI3B,OAAO,EAIL,KAAK,qBAAqB,EAC3B,MAAM,gBAAgB,CAAA;AAEvB,MAAM,WAAW,iCAAiC;IAChD,8DAA8D;IAC9D,UAAU,EAAE,gBAAgB,CAAA;IAC5B,mFAAmF;IACnF,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,gEAAgE;IAChE,UAAU,CAAC,EAAE,qBAAqB,CAAA;CACnC;AAED,qBAAa,0BAA2B,YAAW,oBAAoB;IACrE,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAuB;IAClD,OAAO,CAAC,QAAQ,CAAC,EAAE,CAAU;IAC7B,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAkB;gBAEjC,OAAO,EAAE,iCAAiC;IAUhD,KAAK,CAAC,KAAK,EAAE,uBAAuB,GAAG,OAAO,CAAC,mBAAmB,CAAC;IA0DnE,cAAc,CAAC,KAAK,EAAE,gCAAgC,GAAG,OAAO,CAAC,kBAAkB,CAAC;IAyDpF,WAAW,CAAC,KAAK,EAAE,6BAA6B,GAAG,OAAO,CAAC,mBAAmB,CAAC;IA0B/E,sBAAsB,CAC1B,KAAK,EAAE,wCAAwC,GAC9C,OAAO,CAAC,mBAAmB,CAAC;IAIzB,MAAM,CAAC,KAAK,EAAE,wBAAwB,GAAG,OAAO,CAAC,mBAAmB,CAAC;IAYrE,MAAM,CAAC,KAAK,EAAE,wBAAwB,GAAG,OAAO,CAAC,mBAAmB,CAAC;IAuCrE,0BAA0B,CAC9B,KAAK,EAAE,yCAAyC,GAC/C,OAAO,CAAC,4BAA4B,CAAC;IAsClC,mBAAmB,CACvB,KAAK,EAAE,kCAAkC,GACxC,OAAO,CAAC,4BAA4B,CAAC;IAmClC,OAAO,CAAC,MAAM,EAAE;QAAE,SAAS,EAAE,MAAM,CAAC;QAAC,EAAE,EAAE,MAAM,CAAA;KAAE,GAAG,OAAO,CAAC,mBAAmB,GAAG,IAAI,CAAC;IAKvF,IAAI,CAAC,KAAK,EAAE,uBAAuB,GAAG,OAAO,CAAC,wBAAwB,CAAC;IAmFvE,yBAAyB,CAC7B,KAAK,EAAE,6BAA6B,GACnC,OAAO,CAAC,8BAA8B,CAAC;IAY1C,KAAK,IAAI,IAAI;IAIb,OAAO,CAAC,+BAA+B;IAoBvC,OAAO,CAAC,YAAY;IA2CpB,OAAO,CAAC,cAAc;IA6BtB,OAAO,CAAC,+BAA+B;IAQvC,OAAO,CAAC,cAAc;IAMtB,OAAO,CAAC,OAAO;IAMf,OAAO,CAAC,UAAU;CAOnB"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@sixb/sqlite",
|
|
3
|
-
"version": "0.1.
|
|
3
|
+
"version": "0.1.11",
|
|
4
4
|
"description": "SQLite storage provider for Sixb",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"sixb",
|
|
@@ -36,10 +36,10 @@
|
|
|
36
36
|
"prepack": "bun run build"
|
|
37
37
|
},
|
|
38
38
|
"peerDependencies": {
|
|
39
|
-
"@sixb/core": "0.1.
|
|
39
|
+
"@sixb/core": "0.1.11"
|
|
40
40
|
},
|
|
41
41
|
"devDependencies": {
|
|
42
|
-
"@sixb/core": "0.1.
|
|
42
|
+
"@sixb/core": "0.1.11",
|
|
43
43
|
"@types/bun": "latest",
|
|
44
44
|
"typescript": "^5.7.0"
|
|
45
45
|
},
|
|
@@ -87,7 +87,7 @@ class SqliteConnectorConnectionPersistence implements ConnectorConnectionPersist
|
|
|
87
87
|
record.slot,
|
|
88
88
|
record.initiatedByExecutionId,
|
|
89
89
|
record.stateHash,
|
|
90
|
-
json(record.codeVerifier),
|
|
90
|
+
record.codeVerifier === undefined ? null : json(record.codeVerifier),
|
|
91
91
|
record.redirectUri,
|
|
92
92
|
record.connectionRunId ?? null,
|
|
93
93
|
record.returnTo ?? null,
|
|
@@ -143,6 +143,16 @@ class SqliteConnectorConnectionPersistence implements ConnectorConnectionPersist
|
|
|
143
143
|
}
|
|
144
144
|
}
|
|
145
145
|
|
|
146
|
+
async listPendingConnectionRuns(): Promise<readonly ConnectorConnectionRunRecord[]> {
|
|
147
|
+
if (!this.scope.connectorId) return []
|
|
148
|
+
const rows = this.db
|
|
149
|
+
.query(`SELECT * FROM connector_connection_runs
|
|
150
|
+
WHERE project_id = ? AND connector_id = ?
|
|
151
|
+
AND (status = 'running' OR (status = 'waiting' AND waiting_for = 'account_selection'))`)
|
|
152
|
+
.all(this.scope.projectId, this.scope.connectorId) as SqliteConnectionRunRow[]
|
|
153
|
+
return rows.map(connectionRunFromRow)
|
|
154
|
+
}
|
|
155
|
+
|
|
146
156
|
async getConnectionRun(id: string): Promise<ConnectorConnectionRunRecord | null> {
|
|
147
157
|
const row = this.getById<SqliteConnectionRunRow>("connector_connection_runs", id)
|
|
148
158
|
return row ? connectionRunFromRow(row) : null
|
|
@@ -411,7 +421,7 @@ function authorizationAttemptFromRow(
|
|
|
411
421
|
slot: row.slot,
|
|
412
422
|
initiatedByExecutionId: row.initiated_by_execution_id,
|
|
413
423
|
stateHash: row.state_hash,
|
|
414
|
-
codeVerifier: parseJson(row.code_verifier),
|
|
424
|
+
...(row.code_verifier === null ? {} : { codeVerifier: parseJson(row.code_verifier) }),
|
|
415
425
|
redirectUri: row.redirect_uri,
|
|
416
426
|
...(row.connection_run_id === null ? {} : { connectionRunId: row.connection_run_id }),
|
|
417
427
|
...(row.return_to === null ? {} : { returnTo: row.return_to }),
|
|
@@ -706,7 +716,7 @@ interface SqliteAuthorizationAttemptRow {
|
|
|
706
716
|
readonly slot: string
|
|
707
717
|
readonly initiated_by_execution_id: string
|
|
708
718
|
readonly state_hash: string
|
|
709
|
-
readonly code_verifier: string
|
|
719
|
+
readonly code_verifier: string | null
|
|
710
720
|
readonly redirect_uri: string
|
|
711
721
|
readonly connection_run_id: string | null
|
|
712
722
|
readonly return_to: string | null
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
ALTER TABLE ontology_sources ADD COLUMN base_materialization_id TEXT;
|
|
2
|
+
ALTER TABLE ontology_sources ADD COLUMN base_commit_id TEXT
|
|
3
|
+
CHECK ((base_materialization_id IS NULL) = (base_commit_id IS NULL));
|
|
4
|
+
|
|
5
|
+
CREATE TABLE ontology_source_roots (
|
|
6
|
+
project_id TEXT NOT NULL,
|
|
7
|
+
source_id TEXT NOT NULL,
|
|
8
|
+
materialization_id TEXT NOT NULL,
|
|
9
|
+
root_sort_key TEXT NOT NULL,
|
|
10
|
+
root_kind TEXT NOT NULL CHECK (root_kind IN ('object', 'link')),
|
|
11
|
+
root_key TEXT NOT NULL CHECK (json_valid(root_key)),
|
|
12
|
+
root TEXT NOT NULL CHECK (json_valid(root)),
|
|
13
|
+
staging_ordinal INTEGER NOT NULL CHECK (staging_ordinal >= 0),
|
|
14
|
+
deleted INTEGER NOT NULL DEFAULT 0 CHECK (deleted IN (0, 1)),
|
|
15
|
+
active INTEGER NOT NULL DEFAULT 0 CHECK (active IN (0, 1)),
|
|
16
|
+
retired_at TEXT,
|
|
17
|
+
PRIMARY KEY (project_id, source_id, materialization_id, root_sort_key),
|
|
18
|
+
UNIQUE (project_id, source_id, materialization_id, staging_ordinal),
|
|
19
|
+
FOREIGN KEY (project_id, source_id, materialization_id)
|
|
20
|
+
REFERENCES ontology_sources(project_id, source_id, materialization_id) ON DELETE RESTRICT,
|
|
21
|
+
CHECK (active = 0 OR (deleted = 0 AND retired_at IS NULL))
|
|
22
|
+
);
|
|
23
|
+
CREATE UNIQUE INDEX idx_ontology_source_roots_active
|
|
24
|
+
ON ontology_source_roots (project_id, source_id, root_sort_key) WHERE active = 1;
|
|
25
|
+
CREATE INDEX idx_ontology_source_roots_lookup
|
|
26
|
+
ON ontology_source_roots (project_id, root_sort_key, source_id) WHERE active = 1;
|
|
27
|
+
CREATE INDEX idx_ontology_source_roots_cleanup
|
|
28
|
+
ON ontology_source_roots (project_id, retired_at, source_id, materialization_id, root_sort_key)
|
|
29
|
+
WHERE active = 0 AND retired_at IS NOT NULL;
|
|
30
|
+
|
|
31
|
+
INSERT INTO ontology_source_roots (
|
|
32
|
+
project_id, source_id, materialization_id, root_sort_key, root_kind, root_key, root,
|
|
33
|
+
staging_ordinal, active, retired_at
|
|
34
|
+
)
|
|
35
|
+
SELECT DISTINCT rows.project_id, rows.source_id, rows.materialization_id,
|
|
36
|
+
rows.root_sort_key, rows.root_kind, rows.root_key, rows.root, rows.staging_ordinal,
|
|
37
|
+
sources.status = 'active', sources.terminal_at
|
|
38
|
+
FROM ontology_source_rows AS rows
|
|
39
|
+
JOIN ontology_sources AS sources USING (project_id, source_id, materialization_id);
|
|
40
|
+
|
|
41
|
+
ANALYZE ontology_source_roots;
|
|
42
|
+
|
|
43
|
+
ALTER TABLE projection_runs ADD COLUMN source_changes_read INTEGER
|
|
44
|
+
CHECK (source_changes_read IS NULL OR source_changes_read >= 0);
|
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
-- Rebuild to remove NOT NULL while preserving existing attempts and their constraints.
|
|
2
|
+
CREATE TABLE connector_authorization_attempts_optional_pkce (
|
|
3
|
+
project_id TEXT NOT NULL,
|
|
4
|
+
connector_id TEXT NOT NULL,
|
|
5
|
+
id TEXT NOT NULL,
|
|
6
|
+
slot TEXT NOT NULL,
|
|
7
|
+
initiated_by_execution_id TEXT NOT NULL,
|
|
8
|
+
state_hash TEXT NOT NULL,
|
|
9
|
+
code_verifier TEXT CHECK (
|
|
10
|
+
code_verifier IS NULL
|
|
11
|
+
OR (json_valid(code_verifier) AND json_type(code_verifier) = 'object')
|
|
12
|
+
),
|
|
13
|
+
redirect_uri TEXT NOT NULL,
|
|
14
|
+
connection_run_id TEXT,
|
|
15
|
+
return_to TEXT,
|
|
16
|
+
callback_binding_hash TEXT,
|
|
17
|
+
reauthorization_id TEXT,
|
|
18
|
+
reauthorization_revision INTEGER CHECK (
|
|
19
|
+
reauthorization_revision IS NULL OR reauthorization_revision >= 0
|
|
20
|
+
),
|
|
21
|
+
reauthorization_connection_ids TEXT CHECK (
|
|
22
|
+
reauthorization_connection_ids IS NULL
|
|
23
|
+
OR (json_valid(reauthorization_connection_ids) AND json_type(reauthorization_connection_ids) = 'array')
|
|
24
|
+
),
|
|
25
|
+
created_at TEXT NOT NULL,
|
|
26
|
+
expires_at TEXT NOT NULL,
|
|
27
|
+
PRIMARY KEY (project_id, connector_id, id),
|
|
28
|
+
UNIQUE (project_id, id),
|
|
29
|
+
UNIQUE (project_id, connector_id, connection_run_id),
|
|
30
|
+
FOREIGN KEY (project_id, connector_id, connection_run_id)
|
|
31
|
+
REFERENCES connector_connection_runs (project_id, connector_id, id)
|
|
32
|
+
ON DELETE RESTRICT,
|
|
33
|
+
CHECK (
|
|
34
|
+
(connection_run_id IS NULL AND return_to IS NULL AND callback_binding_hash IS NULL)
|
|
35
|
+
OR
|
|
36
|
+
(connection_run_id IS NOT NULL AND return_to IS NOT NULL AND callback_binding_hash IS NOT NULL)
|
|
37
|
+
),
|
|
38
|
+
CHECK (
|
|
39
|
+
(reauthorization_id IS NULL AND reauthorization_revision IS NULL AND reauthorization_connection_ids IS NULL)
|
|
40
|
+
OR
|
|
41
|
+
(reauthorization_id IS NOT NULL AND reauthorization_revision IS NOT NULL AND reauthorization_connection_ids IS NOT NULL)
|
|
42
|
+
)
|
|
43
|
+
);
|
|
44
|
+
|
|
45
|
+
INSERT INTO connector_authorization_attempts_optional_pkce
|
|
46
|
+
SELECT * FROM connector_authorization_attempts;
|
|
47
|
+
|
|
48
|
+
DROP TABLE connector_authorization_attempts;
|
|
49
|
+
ALTER TABLE connector_authorization_attempts_optional_pkce RENAME TO connector_authorization_attempts;
|
|
50
|
+
|
|
51
|
+
CREATE INDEX idx_connector_attempts_expiry
|
|
52
|
+
ON connector_authorization_attempts (project_id, connector_id, expires_at);
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
-- Match the bounded claim order without sorting the entire unpublished backlog.
|
|
2
|
+
-- Cover every selection predicate so new databases also benefit before ANALYZE.
|
|
3
|
+
CREATE INDEX idx_ontology_outbox_publication_order
|
|
4
|
+
ON ontology_outbox(
|
|
5
|
+
project_id, published_at, created_at, commit_id, commit_ordinal,
|
|
6
|
+
available_at, lease_expires_at
|
|
7
|
+
)
|
|
8
|
+
WHERE published_at IS NULL;
|
package/src/migrations.ts
CHANGED
|
@@ -90,6 +90,12 @@ import deviceAuthorizationsSql from "./migrations/034-device-authorizations.sql"
|
|
|
90
90
|
}
|
|
91
91
|
import shareGrantsSql from "./migrations/035-share-grants.sql" with { type: "text" }
|
|
92
92
|
import shareSessionsSql from "./migrations/036-share-sessions.sql" with { type: "text" }
|
|
93
|
+
import projectionSourceRootsSql from "./migrations/038-projection-source-roots.sql" with {
|
|
94
|
+
type: "text",
|
|
95
|
+
}
|
|
96
|
+
import outboxPublicationOrderSql from "./migrations/040-outbox-publication-order.sql" with {
|
|
97
|
+
type: "text",
|
|
98
|
+
}
|
|
93
99
|
|
|
94
100
|
const MIGRATIONS_TABLE_SQL = `
|
|
95
101
|
CREATE TABLE IF NOT EXISTS sixb_migrations (
|
|
@@ -182,6 +188,9 @@ export const sqliteStorageMigrations = defineMigrations({
|
|
|
182
188
|
sqliteSql("035-share-grants", shareGrantsSql),
|
|
183
189
|
sqliteSql("036-share-sessions", shareSessionsSql),
|
|
184
190
|
sqliteSql("037-execution-requester-groups", executionRequesterGroupsSql),
|
|
191
|
+
sqliteSql("038-projection-source-roots", projectionSourceRootsSql),
|
|
192
|
+
sqliteSql("039-connector-optional-pkce", connectorOptionalPkceSql),
|
|
193
|
+
sqliteSql("040-outbox-publication-order", outboxPublicationOrderSql),
|
|
185
194
|
],
|
|
186
195
|
})
|
|
187
196
|
|
|
@@ -401,3 +410,7 @@ function rollbackQuietly(db: Database): void {
|
|
|
401
410
|
import executionRequesterGroupsSql from "./migrations/037-execution-requester-groups.sql" with {
|
|
402
411
|
type: "text",
|
|
403
412
|
}
|
|
413
|
+
|
|
414
|
+
import connectorOptionalPkceSql from "./migrations/039-connector-optional-pkce.sql" with {
|
|
415
|
+
type: "text",
|
|
416
|
+
}
|
|
@@ -44,6 +44,7 @@ import {
|
|
|
44
44
|
type SqliteOntologySourceAssertionRow,
|
|
45
45
|
type SqliteStoredOverrideRow,
|
|
46
46
|
} from "./shared"
|
|
47
|
+
import { activeSourceRows, replacementAssertionRows, replacementSourceRows } from "./source-roots"
|
|
47
48
|
|
|
48
49
|
export const SQLITE_MATERIALIZATION_WORK_TABLE = "ontology_materialization_work"
|
|
49
50
|
export const SQLITE_REPLACEMENT_WORK_TABLE = "ontology_replacement_work"
|
|
@@ -142,6 +143,7 @@ export type ReplacementIdentity =
|
|
|
142
143
|
}
|
|
143
144
|
|
|
144
145
|
interface ReplacementIdentityInput {
|
|
146
|
+
readonly incremental?: boolean
|
|
145
147
|
readonly sessionId: string
|
|
146
148
|
readonly sourceId: string
|
|
147
149
|
readonly candidateMaterializationId: string
|
|
@@ -195,22 +197,11 @@ export class SqliteMaterializationStateReader {
|
|
|
195
197
|
AND objects.primary_id = requested.primary_id`
|
|
196
198
|
)
|
|
197
199
|
.all(requested, this.projectId) as EffectiveObjectRow[]
|
|
198
|
-
const sourceRows =
|
|
199
|
-
.
|
|
200
|
-
|
|
201
|
-
|
|
202
|
-
|
|
203
|
-
ON rows.project_id = ?
|
|
204
|
-
AND rows.entity_kind = 'object'
|
|
205
|
-
AND rows.object_type_id = requested.object_type_id
|
|
206
|
-
AND rows.primary_id = requested.primary_id
|
|
207
|
-
JOIN ontology_sources AS sources
|
|
208
|
-
ON sources.project_id = rows.project_id
|
|
209
|
-
AND sources.source_id = rows.source_id
|
|
210
|
-
AND sources.materialization_id = rows.materialization_id
|
|
211
|
-
WHERE sources.status = 'active'`
|
|
212
|
-
)
|
|
213
|
-
.all(requested, this.projectId) as SqliteOntologySourceAssertionRow[]
|
|
200
|
+
const sourceRows = activeSourceRows(
|
|
201
|
+
this.db,
|
|
202
|
+
this.projectId,
|
|
203
|
+
refs.map((ref) => ({ kind: "object", ref }))
|
|
204
|
+
)
|
|
214
205
|
const overrideRows = this.db
|
|
215
206
|
.query(
|
|
216
207
|
`WITH requested AS (${requestedObjects})
|
|
@@ -321,25 +312,11 @@ export class SqliteMaterializationStateReader {
|
|
|
321
312
|
AND links.target_id = requested.target_id`
|
|
322
313
|
)
|
|
323
314
|
.all(requested, this.projectId) as EffectiveLinkRow[]
|
|
324
|
-
const sourceRows =
|
|
325
|
-
.
|
|
326
|
-
|
|
327
|
-
|
|
328
|
-
|
|
329
|
-
ON rows.project_id = ?
|
|
330
|
-
AND rows.entity_kind = 'link'
|
|
331
|
-
AND rows.source_type_id = requested.source_type_id
|
|
332
|
-
AND rows.source_primary_id = requested.source_primary_id
|
|
333
|
-
AND rows.link_id = requested.link_id
|
|
334
|
-
AND rows.target_type_id = requested.target_type_id
|
|
335
|
-
AND rows.target_primary_id = requested.target_primary_id
|
|
336
|
-
JOIN ontology_sources AS sources
|
|
337
|
-
ON sources.project_id = rows.project_id
|
|
338
|
-
AND sources.source_id = rows.source_id
|
|
339
|
-
AND sources.materialization_id = rows.materialization_id
|
|
340
|
-
WHERE sources.status = 'active'`
|
|
341
|
-
)
|
|
342
|
-
.all(requested, this.projectId) as SqliteOntologySourceAssertionRow[]
|
|
315
|
+
const sourceRows = activeSourceRows(
|
|
316
|
+
this.db,
|
|
317
|
+
this.projectId,
|
|
318
|
+
refs.map((ref) => ({ kind: "link", ref }))
|
|
319
|
+
)
|
|
343
320
|
const overrideRows = this.db
|
|
344
321
|
.query(
|
|
345
322
|
`WITH requested AS (${sourceRequest})
|
|
@@ -468,11 +445,12 @@ export class SqliteMaterializationStateReader {
|
|
|
468
445
|
AND rows.source_type_id = requested.source_type_id
|
|
469
446
|
AND rows.source_primary_id = requested.source_primary_id
|
|
470
447
|
AND rows.link_id = requested.link_id
|
|
471
|
-
JOIN
|
|
448
|
+
JOIN ontology_source_roots AS sources
|
|
472
449
|
ON sources.project_id = rows.project_id
|
|
473
450
|
AND sources.source_id = rows.source_id
|
|
474
451
|
AND sources.materialization_id = rows.materialization_id
|
|
475
|
-
|
|
452
|
+
AND sources.root_sort_key = rows.root_sort_key
|
|
453
|
+
WHERE sources.active = 1`
|
|
476
454
|
)
|
|
477
455
|
.all(requestedJson, this.projectId) as SqliteOntologySourceAssertionRow[]
|
|
478
456
|
const slotOverrideRows = this.db
|
|
@@ -592,11 +570,12 @@ export class SqliteMaterializationStateReader {
|
|
|
592
570
|
SELECT rows.source_type_id, rows.source_primary_id, rows.link_id,
|
|
593
571
|
rows.target_type_id, rows.target_primary_id
|
|
594
572
|
FROM ontology_source_rows AS rows
|
|
595
|
-
JOIN
|
|
573
|
+
JOIN ontology_source_roots AS sources
|
|
596
574
|
ON sources.project_id = rows.project_id
|
|
597
575
|
AND sources.source_id = rows.source_id
|
|
598
576
|
AND sources.materialization_id = rows.materialization_id
|
|
599
|
-
|
|
577
|
+
AND sources.root_sort_key = rows.root_sort_key
|
|
578
|
+
WHERE rows.project_id = ? AND rows.entity_kind = 'link' AND sources.active = 1
|
|
600
579
|
), selected AS (
|
|
601
580
|
SELECT DISTINCT links.*,
|
|
602
581
|
${linkSortExpression("links")} AS sort_key
|
|
@@ -671,14 +650,16 @@ export class SqliteMaterializationStateReader {
|
|
|
671
650
|
sourceId: string,
|
|
672
651
|
candidateMaterializationId: string,
|
|
673
652
|
materializationIds: readonly string[],
|
|
674
|
-
identities: readonly Extract<ReplacementIdentity, { readonly kind: "link" }>[]
|
|
653
|
+
identities: readonly Extract<ReplacementIdentity, { readonly kind: "link" }>[],
|
|
654
|
+
incremental = false
|
|
675
655
|
): readonly SourceReplacementLinkState[] {
|
|
676
656
|
const refs = identities.map((identity) => identity.ref)
|
|
677
657
|
const base = this.linkStates(refs)
|
|
678
658
|
const replacements = this.replacementSources(
|
|
679
659
|
sourceId,
|
|
680
660
|
materializationIds,
|
|
681
|
-
refs.map((ref) => ({ kind: "link" as const, ref }))
|
|
661
|
+
refs.map((ref) => ({ kind: "link" as const, ref })),
|
|
662
|
+
incremental
|
|
682
663
|
)
|
|
683
664
|
const candidate = replacements.byMaterialization.get(candidateMaterializationId)
|
|
684
665
|
return base.map((state, index) => {
|
|
@@ -735,39 +716,20 @@ export class SqliteMaterializationStateReader {
|
|
|
735
716
|
private replacementSources(
|
|
736
717
|
sourceId: string,
|
|
737
718
|
materializationIds: readonly string[],
|
|
738
|
-
refs: readonly ProjectionEntityRef[]
|
|
719
|
+
refs: readonly ProjectionEntityRef[],
|
|
720
|
+
incremental = false
|
|
739
721
|
): ReplacementSources {
|
|
740
722
|
if (materializationIds.length === 0 || refs.length === 0) {
|
|
741
723
|
return { owned: new Set(), byMaterialization: new Map() }
|
|
742
724
|
}
|
|
743
|
-
const
|
|
744
|
-
|
|
745
|
-
|
|
746
|
-
|
|
747
|
-
|
|
748
|
-
.
|
|
749
|
-
|
|
750
|
-
|
|
751
|
-
json_extract(value, '$.entityKey') AS entity_key
|
|
752
|
-
FROM json_each(?)
|
|
753
|
-
), requested_materializations AS (
|
|
754
|
-
SELECT value AS materialization_id FROM json_each(?)
|
|
755
|
-
)
|
|
756
|
-
SELECT rows.* FROM requested_materializations
|
|
757
|
-
CROSS JOIN requested_entities
|
|
758
|
-
CROSS JOIN ontology_source_rows AS rows
|
|
759
|
-
ON rows.project_id = ?
|
|
760
|
-
AND rows.source_id = ?
|
|
761
|
-
AND rows.materialization_id = requested_materializations.materialization_id
|
|
762
|
-
AND rows.entity_kind = requested_entities.entity_kind
|
|
763
|
-
AND rows.entity_key = requested_entities.entity_key`
|
|
764
|
-
)
|
|
765
|
-
.all(
|
|
766
|
-
requestedEntities,
|
|
767
|
-
requestedMaterializations,
|
|
768
|
-
this.projectId,
|
|
769
|
-
sourceId
|
|
770
|
-
) as SqliteOntologySourceAssertionRow[]
|
|
725
|
+
const rows = replacementAssertionRows(this.db, {
|
|
726
|
+
projectId: this.projectId,
|
|
727
|
+
sourceId,
|
|
728
|
+
materializationId: materializationIds[0]!,
|
|
729
|
+
incremental,
|
|
730
|
+
includePrevious: materializationIds.length > 1,
|
|
731
|
+
refs,
|
|
732
|
+
})
|
|
771
733
|
const owned = new Set<string>()
|
|
772
734
|
const byMaterialization = new Map<string, Map<string, StoredSourceAssertion>>()
|
|
773
735
|
for (const row of rows) {
|
|
@@ -790,6 +752,12 @@ export class SqliteMaterializationStateReader {
|
|
|
790
752
|
}
|
|
791
753
|
|
|
792
754
|
private prepareReplacementObjects(input: ReplacementIdentityInput): void {
|
|
755
|
+
const rows = replacementSourceRows({
|
|
756
|
+
projectId: this.projectId,
|
|
757
|
+
sourceId: input.sourceId,
|
|
758
|
+
materializationId: input.candidateMaterializationId,
|
|
759
|
+
incremental: input.incremental ?? false,
|
|
760
|
+
})
|
|
793
761
|
this.db
|
|
794
762
|
.query(
|
|
795
763
|
`
|
|
@@ -798,22 +766,21 @@ export class SqliteMaterializationStateReader {
|
|
|
798
766
|
)
|
|
799
767
|
SELECT ?, 'object', json_array(object_type_id, primary_id),
|
|
800
768
|
MIN(entity_sort_key), 1
|
|
801
|
-
FROM
|
|
802
|
-
WHERE
|
|
803
|
-
AND materialization_id IN (?, COALESCE(?, ''))
|
|
769
|
+
FROM (${rows.sql}) AS rows
|
|
770
|
+
WHERE entity_kind = 'object'
|
|
804
771
|
GROUP BY object_type_id, primary_id
|
|
805
772
|
`
|
|
806
773
|
)
|
|
807
|
-
.run(
|
|
808
|
-
input.sessionId,
|
|
809
|
-
this.projectId,
|
|
810
|
-
input.sourceId,
|
|
811
|
-
input.candidateMaterializationId,
|
|
812
|
-
input.previousMaterializationId
|
|
813
|
-
)
|
|
774
|
+
.run(input.sessionId, ...rows.values)
|
|
814
775
|
}
|
|
815
776
|
|
|
816
777
|
private prepareReplacementLinks(input: ReplacementIdentityInput): void {
|
|
778
|
+
const rows = replacementSourceRows({
|
|
779
|
+
projectId: this.projectId,
|
|
780
|
+
sourceId: input.sourceId,
|
|
781
|
+
materializationId: input.candidateMaterializationId,
|
|
782
|
+
incremental: input.incremental ?? false,
|
|
783
|
+
})
|
|
817
784
|
this.db
|
|
818
785
|
.query(
|
|
819
786
|
`
|
|
@@ -826,9 +793,8 @@ export class SqliteMaterializationStateReader {
|
|
|
826
793
|
), replacement_links AS (
|
|
827
794
|
SELECT source_type_id, source_primary_id AS source_id, link_id,
|
|
828
795
|
target_type_id, target_primary_id AS target_id
|
|
829
|
-
FROM
|
|
830
|
-
WHERE
|
|
831
|
-
AND materialization_id IN (?, COALESCE(?, ''))
|
|
796
|
+
FROM (${rows.sql}) AS rows
|
|
797
|
+
WHERE entity_kind = 'link'
|
|
832
798
|
), incident_links AS (
|
|
833
799
|
SELECT links.source_type_id, links.source_id, links.link_id,
|
|
834
800
|
links.target_type_id, links.target_id
|
|
@@ -869,28 +835,30 @@ export class SqliteMaterializationStateReader {
|
|
|
869
835
|
SELECT rows.source_type_id, rows.source_primary_id AS source_id,
|
|
870
836
|
rows.link_id, rows.target_type_id, rows.target_primary_id AS target_id
|
|
871
837
|
FROM ontology_source_rows AS rows
|
|
872
|
-
JOIN
|
|
838
|
+
JOIN ontology_source_roots AS sources
|
|
873
839
|
ON sources.project_id = rows.project_id
|
|
874
840
|
AND sources.source_id = rows.source_id
|
|
875
841
|
AND sources.materialization_id = rows.materialization_id
|
|
842
|
+
AND sources.root_sort_key = rows.root_sort_key
|
|
876
843
|
JOIN incident_objects
|
|
877
844
|
ON incident_objects.object_type_id = rows.source_type_id
|
|
878
845
|
AND incident_objects.primary_id = rows.source_primary_id
|
|
879
846
|
WHERE rows.project_id = ? AND rows.entity_kind = 'link'
|
|
880
|
-
AND sources.
|
|
847
|
+
AND sources.active = 1
|
|
881
848
|
UNION
|
|
882
849
|
SELECT rows.source_type_id, rows.source_primary_id AS source_id,
|
|
883
850
|
rows.link_id, rows.target_type_id, rows.target_primary_id AS target_id
|
|
884
851
|
FROM ontology_source_rows AS rows
|
|
885
|
-
JOIN
|
|
852
|
+
JOIN ontology_source_roots AS sources
|
|
886
853
|
ON sources.project_id = rows.project_id
|
|
887
854
|
AND sources.source_id = rows.source_id
|
|
888
855
|
AND sources.materialization_id = rows.materialization_id
|
|
856
|
+
AND sources.root_sort_key = rows.root_sort_key
|
|
889
857
|
JOIN incident_objects
|
|
890
858
|
ON incident_objects.object_type_id = rows.target_type_id
|
|
891
859
|
AND incident_objects.primary_id = rows.target_primary_id
|
|
892
860
|
WHERE rows.project_id = ? AND rows.entity_kind = 'link'
|
|
893
|
-
AND sources.
|
|
861
|
+
AND sources.active = 1
|
|
894
862
|
), diff_links AS (
|
|
895
863
|
SELECT * FROM replacement_links
|
|
896
864
|
UNION SELECT * FROM incident_links
|
|
@@ -932,10 +900,7 @@ export class SqliteMaterializationStateReader {
|
|
|
932
900
|
)
|
|
933
901
|
.run(
|
|
934
902
|
input.sessionId,
|
|
935
|
-
|
|
936
|
-
input.sourceId,
|
|
937
|
-
input.candidateMaterializationId,
|
|
938
|
-
input.previousMaterializationId,
|
|
903
|
+
...rows.values,
|
|
939
904
|
this.projectId,
|
|
940
905
|
this.projectId,
|
|
941
906
|
this.projectId,
|