@sixb/sqlite 0.1.9 → 0.1.10
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 +408 -182
- package/dist/index.js.map +12 -10
- 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/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 +3 -3
- package/src/migrations/038-projection-source-roots.sql +44 -0
- package/src/migrations/039-connector-optional-pkce.sql +52 -0
- package/src/migrations.ts +9 -0
- package/src/ontology-storage/materialization-state.ts +56 -91
- package/src/ontology-storage/materializations.ts +7 -1
- 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;AAkG3B,eAAO,MAAM,yBAAyB,sBAAsB,CAAA;AAC5D,eAAO,MAAM,mBAAmB,mBAAmB,CAAA;AAEnD,eAAO,MAAM,uBAAuB,wBA8ElC,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"}
|
|
@@ -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.10",
|
|
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.10"
|
|
40
40
|
},
|
|
41
41
|
"devDependencies": {
|
|
42
|
-
"@sixb/core": "0.1.
|
|
42
|
+
"@sixb/core": "0.1.10",
|
|
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,
|
|
@@ -411,7 +411,7 @@ function authorizationAttemptFromRow(
|
|
|
411
411
|
slot: row.slot,
|
|
412
412
|
initiatedByExecutionId: row.initiated_by_execution_id,
|
|
413
413
|
stateHash: row.state_hash,
|
|
414
|
-
codeVerifier: parseJson(row.code_verifier),
|
|
414
|
+
...(row.code_verifier === null ? {} : { codeVerifier: parseJson(row.code_verifier) }),
|
|
415
415
|
redirectUri: row.redirect_uri,
|
|
416
416
|
...(row.connection_run_id === null ? {} : { connectionRunId: row.connection_run_id }),
|
|
417
417
|
...(row.return_to === null ? {} : { returnTo: row.return_to }),
|
|
@@ -706,7 +706,7 @@ interface SqliteAuthorizationAttemptRow {
|
|
|
706
706
|
readonly slot: string
|
|
707
707
|
readonly initiated_by_execution_id: string
|
|
708
708
|
readonly state_hash: string
|
|
709
|
-
readonly code_verifier: string
|
|
709
|
+
readonly code_verifier: string | null
|
|
710
710
|
readonly redirect_uri: string
|
|
711
711
|
readonly connection_run_id: string | null
|
|
712
712
|
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);
|
package/src/migrations.ts
CHANGED
|
@@ -90,6 +90,9 @@ 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
|
+
}
|
|
93
96
|
|
|
94
97
|
const MIGRATIONS_TABLE_SQL = `
|
|
95
98
|
CREATE TABLE IF NOT EXISTS sixb_migrations (
|
|
@@ -182,6 +185,8 @@ export const sqliteStorageMigrations = defineMigrations({
|
|
|
182
185
|
sqliteSql("035-share-grants", shareGrantsSql),
|
|
183
186
|
sqliteSql("036-share-sessions", shareSessionsSql),
|
|
184
187
|
sqliteSql("037-execution-requester-groups", executionRequesterGroupsSql),
|
|
188
|
+
sqliteSql("038-projection-source-roots", projectionSourceRootsSql),
|
|
189
|
+
sqliteSql("039-connector-optional-pkce", connectorOptionalPkceSql),
|
|
185
190
|
],
|
|
186
191
|
})
|
|
187
192
|
|
|
@@ -401,3 +406,7 @@ function rollbackQuietly(db: Database): void {
|
|
|
401
406
|
import executionRequesterGroupsSql from "./migrations/037-execution-requester-groups.sql" with {
|
|
402
407
|
type: "text",
|
|
403
408
|
}
|
|
409
|
+
|
|
410
|
+
import connectorOptionalPkceSql from "./migrations/039-connector-optional-pkce.sql" with {
|
|
411
|
+
type: "text",
|
|
412
|
+
}
|
|
@@ -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,
|
|
@@ -65,6 +65,7 @@ import {
|
|
|
65
65
|
type SqliteOntologyCommitRow,
|
|
66
66
|
type SqliteOntologySourceRow,
|
|
67
67
|
} from "./shared"
|
|
68
|
+
import { activateSourceRoots } from "./source-roots"
|
|
68
69
|
|
|
69
70
|
export class SqliteOntologyMaterializationStorage implements OntologyMaterializationStorage {
|
|
70
71
|
private readonly sessions: SqliteMaterializationSessions
|
|
@@ -192,6 +193,7 @@ export class SqliteOntologyMaterializationStorage implements OntologyMaterializa
|
|
|
192
193
|
sourceId: replacement.sourceId,
|
|
193
194
|
candidateMaterializationId: replacement.candidateMaterializationId,
|
|
194
195
|
previousMaterializationId: replacement.previousMaterializationId,
|
|
196
|
+
incremental: replacement.incremental,
|
|
195
197
|
kind: "object",
|
|
196
198
|
pageRows: input.pageRows,
|
|
197
199
|
})) {
|
|
@@ -236,6 +238,7 @@ export class SqliteOntologyMaterializationStorage implements OntologyMaterializa
|
|
|
236
238
|
sourceId: replacement.sourceId,
|
|
237
239
|
candidateMaterializationId: replacement.candidateMaterializationId,
|
|
238
240
|
previousMaterializationId: replacement.previousMaterializationId,
|
|
241
|
+
incremental: replacement.incremental,
|
|
239
242
|
kind: "link",
|
|
240
243
|
pageRows: input.pageRows,
|
|
241
244
|
})) {
|
|
@@ -250,7 +253,8 @@ export class SqliteOntologyMaterializationStorage implements OntologyMaterializa
|
|
|
250
253
|
replacement.sourceId,
|
|
251
254
|
replacement.candidateMaterializationId,
|
|
252
255
|
materializationIds,
|
|
253
|
-
linkIdentities
|
|
256
|
+
linkIdentities,
|
|
257
|
+
replacement.incremental
|
|
254
258
|
)
|
|
255
259
|
yield { objects: [], links }
|
|
256
260
|
}
|
|
@@ -359,6 +363,7 @@ export class SqliteOntologyMaterializationStorage implements OntologyMaterializa
|
|
|
359
363
|
sourceId: input.source.projectionId,
|
|
360
364
|
candidateMaterializationId: input.candidateMaterializationId,
|
|
361
365
|
previousMaterializationId: previous?.materialization_id ?? null,
|
|
366
|
+
incremental: candidate.base_materialization_id !== null,
|
|
362
367
|
projectionKind: candidate.projection_kind,
|
|
363
368
|
objectStreamStarted: false,
|
|
364
369
|
objectStreamCompleted: false,
|
|
@@ -627,6 +632,7 @@ export class SqliteOntologyMaterializationStorage implements OntologyMaterializa
|
|
|
627
632
|
invalidCorrelation("Source activation does not match its ready candidate identity.")
|
|
628
633
|
}
|
|
629
634
|
this.assertSource(activation.expected, commit.projectId)
|
|
635
|
+
activateSourceRoots(this.db, commit.projectId, candidate, activation)
|
|
630
636
|
const previous = this.getActiveSource(commit.projectId, activation.source.projectionId)
|
|
631
637
|
if (previous) {
|
|
632
638
|
assertPinnedDatasetWatermark(
|