@nicia-ai/typegraph 0.42.1 → 0.43.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/backend/postgres/pglite-store.cjs +4 -4
- package/dist/backend/postgres/pglite-store.d.cts +1 -1
- package/dist/backend/postgres/pglite-store.d.ts +1 -1
- package/dist/backend/postgres/pglite-store.js +3 -3
- package/dist/backend/sqlite/local-store.cjs +4 -4
- package/dist/backend/sqlite/local-store.d.cts +1 -1
- package/dist/backend/sqlite/local-store.d.ts +1 -1
- package/dist/backend/sqlite/local-store.js +3 -3
- package/dist/{chunk-5P6IPIT6.cjs → chunk-64LERBFM.cjs} +17 -17
- package/dist/{chunk-5P6IPIT6.cjs.map → chunk-64LERBFM.cjs.map} +1 -1
- package/dist/{chunk-K2HHCWZO.cjs → chunk-BLBG2VZ5.cjs} +51 -51
- package/dist/{chunk-K2HHCWZO.cjs.map → chunk-BLBG2VZ5.cjs.map} +1 -1
- package/dist/{chunk-EVFL2ZY5.js → chunk-CTWZPYJW.js} +2 -2
- package/dist/chunk-CTWZPYJW.js.map +1 -0
- package/dist/{chunk-DP7KC6CL.js → chunk-JNXZQBN3.js} +72 -25
- package/dist/chunk-JNXZQBN3.js.map +1 -0
- package/dist/{chunk-2SO5I5AI.cjs → chunk-KDRF3NR2.cjs} +2 -2
- package/dist/chunk-KDRF3NR2.cjs.map +1 -0
- package/dist/{chunk-WYQILW5V.js → chunk-L2BYRYHC.js} +4 -4
- package/dist/{chunk-WYQILW5V.js.map → chunk-L2BYRYHC.js.map} +1 -1
- package/dist/{chunk-6NB73BXV.js → chunk-L5AUCL5P.js} +3 -3
- package/dist/{chunk-6NB73BXV.js.map → chunk-L5AUCL5P.js.map} +1 -1
- package/dist/{chunk-277UZV7X.cjs → chunk-NDQLPKBX.cjs} +315 -268
- package/dist/chunk-NDQLPKBX.cjs.map +1 -0
- package/dist/graph-merge/index.cjs +25 -25
- package/dist/graph-merge/index.d.cts +1 -1
- package/dist/graph-merge/index.d.ts +1 -1
- package/dist/graph-merge/index.js +4 -4
- package/dist/index.cjs +49 -49
- package/dist/index.d.cts +2 -2
- package/dist/index.d.ts +2 -2
- package/dist/index.js +3 -3
- package/dist/interchange/index.cjs +22 -22
- package/dist/interchange/index.d.cts +1 -1
- package/dist/interchange/index.d.ts +1 -1
- package/dist/interchange/index.js +3 -3
- package/dist/profiler/index.d.cts +1 -1
- package/dist/profiler/index.d.ts +1 -1
- package/dist/provenance/index.cjs +10 -10
- package/dist/provenance/index.d.cts +1 -1
- package/dist/provenance/index.d.ts +1 -1
- package/dist/provenance/index.js +1 -1
- package/dist/{store-view-CNcOG8bQ.d.cts → store-view-D1F6KqsE.d.cts} +18 -1
- package/dist/{store-view-6C2vTWqf.d.ts → store-view-DdwBNjZQ.d.ts} +18 -1
- package/package.json +1 -1
- package/dist/chunk-277UZV7X.cjs.map +0 -1
- package/dist/chunk-2SO5I5AI.cjs.map +0 -1
- package/dist/chunk-DP7KC6CL.js.map +0 -1
- package/dist/chunk-EVFL2ZY5.js.map +0 -1
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
3
|
var chunkAQR6BHB3_cjs = require('./chunk-AQR6BHB3.cjs');
|
|
4
|
-
var
|
|
5
|
-
var
|
|
4
|
+
var chunkBLBG2VZ5_cjs = require('./chunk-BLBG2VZ5.cjs');
|
|
5
|
+
var chunkKDRF3NR2_cjs = require('./chunk-KDRF3NR2.cjs');
|
|
6
6
|
var chunkZDH3DX3C_cjs = require('./chunk-ZDH3DX3C.cjs');
|
|
7
7
|
var chunkCVK4T34X_cjs = require('./chunk-CVK4T34X.cjs');
|
|
8
8
|
var chunkECU53PMN_cjs = require('./chunk-ECU53PMN.cjs');
|
|
@@ -315,17 +315,17 @@ function pinnedEdgeCollectionsFor(store, coordinate, wrap) {
|
|
|
315
315
|
}
|
|
316
316
|
function recordedNodeCollection(store, kind, live, coordinate) {
|
|
317
317
|
const reads = {
|
|
318
|
-
getById: (id) =>
|
|
319
|
-
getByIds: (ids) =>
|
|
320
|
-
scan: (options) =>
|
|
318
|
+
getById: (id) => chunkKDRF3NR2_cjs.storeRuntime(store).recordedNodeGetById(kind, id, coordinate),
|
|
319
|
+
getByIds: (ids) => chunkKDRF3NR2_cjs.storeRuntime(store).recordedNodeGetByIds(kind, ids, coordinate),
|
|
320
|
+
scan: (options) => chunkKDRF3NR2_cjs.storeRuntime(store).recordedNodeScan(kind, coordinate, options)
|
|
321
321
|
};
|
|
322
322
|
return recordedCollectionProxy(reads, live, coordinate, "node");
|
|
323
323
|
}
|
|
324
324
|
function recordedEdgeCollection(store, kind, live, coordinate) {
|
|
325
325
|
const reads = {
|
|
326
|
-
getById: (id) =>
|
|
327
|
-
getByIds: (ids) =>
|
|
328
|
-
scan: (options) =>
|
|
326
|
+
getById: (id) => chunkKDRF3NR2_cjs.storeRuntime(store).recordedEdgeGetById(kind, id, coordinate),
|
|
327
|
+
getByIds: (ids) => chunkKDRF3NR2_cjs.storeRuntime(store).recordedEdgeGetByIds(kind, ids, coordinate),
|
|
328
|
+
scan: (options) => chunkKDRF3NR2_cjs.storeRuntime(store).recordedEdgeScan(kind, coordinate, options)
|
|
329
329
|
};
|
|
330
330
|
return recordedCollectionProxy(reads, live, coordinate, "edge");
|
|
331
331
|
}
|
|
@@ -425,10 +425,10 @@ var CoordinatePinnedView = class {
|
|
|
425
425
|
* view's coordinate cannot be overridden on a per-query basis.
|
|
426
426
|
*/
|
|
427
427
|
query() {
|
|
428
|
-
return
|
|
428
|
+
return chunkKDRF3NR2_cjs.storeRuntime(this.store).sealedQuery(this.coordinate);
|
|
429
429
|
}
|
|
430
430
|
internalAlgorithms() {
|
|
431
|
-
this.#internalAlgorithms ??=
|
|
431
|
+
this.#internalAlgorithms ??= chunkKDRF3NR2_cjs.storeRuntime(
|
|
432
432
|
this.store
|
|
433
433
|
).algorithmsAtCoordinate(this.coordinate);
|
|
434
434
|
return this.#internalAlgorithms;
|
|
@@ -455,7 +455,7 @@ var CoordinatePinnedView = class {
|
|
|
455
455
|
...options,
|
|
456
456
|
...withCoordinate(this.coordinate)
|
|
457
457
|
};
|
|
458
|
-
return
|
|
458
|
+
return chunkKDRF3NR2_cjs.storeRuntime(this.store).subgraphAtCoordinate(
|
|
459
459
|
rootId,
|
|
460
460
|
internalOptions
|
|
461
461
|
);
|
|
@@ -1119,7 +1119,7 @@ function markSelectiveFieldAsRequired(requiredColumnsByAlias, field2) {
|
|
|
1119
1119
|
addRequiredColumn(requiredColumnsByAlias, field2.alias, "props");
|
|
1120
1120
|
}
|
|
1121
1121
|
function getTopLevelPropsFieldName(field2) {
|
|
1122
|
-
const pointer =
|
|
1122
|
+
const pointer = chunkKDRF3NR2_cjs.getFieldPointer(field2);
|
|
1123
1123
|
if (pointer === void 0) return void 0;
|
|
1124
1124
|
const segments = chunkTDXIBCGY_cjs.parseJsonPointer(pointer);
|
|
1125
1125
|
return segments.length === 1 ? segments[0] : void 0;
|
|
@@ -1220,11 +1220,11 @@ function buildStandardStartCte(input) {
|
|
|
1220
1220
|
const alias = ast.start.alias;
|
|
1221
1221
|
const kinds = ast.start.kinds;
|
|
1222
1222
|
const cteMaterialization = ctx.dialect.capabilities.emitNotMaterializedHint ? chunkX2XOQZT3_cjs.sql`NOT MATERIALIZED ` : chunkX2XOQZT3_cjs.sql``;
|
|
1223
|
-
const kindFilter =
|
|
1223
|
+
const kindFilter = chunkKDRF3NR2_cjs.compileKindFilter(chunkX2XOQZT3_cjs.sql.raw("kind"), kinds);
|
|
1224
1224
|
const temporalFilter = input.temporalFilterPass.forAlias();
|
|
1225
1225
|
const cteContext = { ...ctx, cteColumnPrefix: "" };
|
|
1226
|
-
const predicateClauses =
|
|
1227
|
-
|
|
1226
|
+
const predicateClauses = chunkKDRF3NR2_cjs.compilePredicateClauses(
|
|
1227
|
+
chunkKDRF3NR2_cjs.getPredicatesForAlias(predicateIndex, alias, "node"),
|
|
1228
1228
|
cteContext
|
|
1229
1229
|
);
|
|
1230
1230
|
const whereClauses = [
|
|
@@ -1271,27 +1271,27 @@ function buildStandardTraversalCte(input) {
|
|
|
1271
1271
|
} = input;
|
|
1272
1272
|
const traversal = chunk764JHTLT_cjs.requireDefined(ast.traversals[traversalIndex]);
|
|
1273
1273
|
const traversalLimitValue = traversalIndex === ast.traversals.length - 1 ? traversalLimit : void 0;
|
|
1274
|
-
const previousNodeKinds =
|
|
1274
|
+
const previousNodeKinds = chunkKDRF3NR2_cjs.getNodeKindsForAlias(ast, traversal.joinFromAlias);
|
|
1275
1275
|
const directEdgeKinds = [...new Set(traversal.edgeKinds)];
|
|
1276
1276
|
const inverseEdgeKinds = traversal.inverseEdgeKinds === void 0 ? [] : [...new Set(traversal.inverseEdgeKinds)];
|
|
1277
1277
|
const nodeKinds = traversal.nodeKinds;
|
|
1278
|
-
const nodeKindFilter =
|
|
1278
|
+
const nodeKindFilter = chunkKDRF3NR2_cjs.compileKindFilter(chunkX2XOQZT3_cjs.sql.raw("n.kind"), nodeKinds);
|
|
1279
1279
|
const edgeTemporalFilter = temporalFilterPass.forAlias("e");
|
|
1280
1280
|
const nodeTemporalFilter = temporalFilterPass.forAlias("n");
|
|
1281
1281
|
const nodeCteContext = {
|
|
1282
1282
|
...ctx,
|
|
1283
1283
|
cteColumnPrefix: "n"
|
|
1284
1284
|
};
|
|
1285
|
-
const nodePredicateClauses =
|
|
1286
|
-
|
|
1285
|
+
const nodePredicateClauses = chunkKDRF3NR2_cjs.compilePredicateClauses(
|
|
1286
|
+
chunkKDRF3NR2_cjs.getPredicatesForAlias(predicateIndex, traversal.nodeAlias, "node"),
|
|
1287
1287
|
nodeCteContext
|
|
1288
1288
|
);
|
|
1289
1289
|
const edgeCteContext = {
|
|
1290
1290
|
...ctx,
|
|
1291
1291
|
cteColumnPrefix: "e"
|
|
1292
1292
|
};
|
|
1293
|
-
const edgePredicateClauses =
|
|
1294
|
-
|
|
1293
|
+
const edgePredicateClauses = chunkKDRF3NR2_cjs.compilePredicateClauses(
|
|
1294
|
+
chunkKDRF3NR2_cjs.getPredicatesForAlias(predicateIndex, traversal.edgeAlias, "edge"),
|
|
1295
1295
|
edgeCteContext
|
|
1296
1296
|
);
|
|
1297
1297
|
const baseWhereClauses = [
|
|
@@ -1332,12 +1332,12 @@ function buildStandardTraversalCte(input) {
|
|
|
1332
1332
|
function compileTraversalBranch(branch) {
|
|
1333
1333
|
const whereClauses = [
|
|
1334
1334
|
...baseWhereClauses,
|
|
1335
|
-
|
|
1336
|
-
|
|
1335
|
+
chunkKDRF3NR2_cjs.compileKindFilter(chunkX2XOQZT3_cjs.sql.raw("e.kind"), branch.edgeKinds),
|
|
1336
|
+
chunkKDRF3NR2_cjs.compileKindFilter(
|
|
1337
1337
|
chunkX2XOQZT3_cjs.sql.raw(`e.${branch.joinKindField}`),
|
|
1338
1338
|
previousNodeKinds
|
|
1339
1339
|
),
|
|
1340
|
-
|
|
1340
|
+
chunkKDRF3NR2_cjs.compileKindFilter(chunkX2XOQZT3_cjs.sql.raw(`e.${branch.targetKindField}`), nodeKinds)
|
|
1341
1341
|
];
|
|
1342
1342
|
if (branch.duplicateGuard !== void 0) {
|
|
1343
1343
|
whereClauses.push(branch.duplicateGuard);
|
|
@@ -1388,7 +1388,7 @@ function buildStandardTraversalCte(input) {
|
|
|
1388
1388
|
const overlappingKinds = inverseEdgeKinds.filter(
|
|
1389
1389
|
(kind) => directEdgeKinds.includes(kind)
|
|
1390
1390
|
);
|
|
1391
|
-
const duplicateGuard = overlappingKinds.length > 0 ? chunkX2XOQZT3_cjs.sql`NOT (e.from_id = e.to_id AND ${
|
|
1391
|
+
const duplicateGuard = overlappingKinds.length > 0 ? chunkX2XOQZT3_cjs.sql`NOT (e.from_id = e.to_id AND ${chunkKDRF3NR2_cjs.compileKindFilter(
|
|
1392
1392
|
chunkX2XOQZT3_cjs.sql.raw("e.kind"),
|
|
1393
1393
|
overlappingKinds
|
|
1394
1394
|
)})` : void 0;
|
|
@@ -1431,7 +1431,7 @@ function compileAggregateExprFromSource(expr, dialect) {
|
|
|
1431
1431
|
case "min":
|
|
1432
1432
|
case "max": {
|
|
1433
1433
|
const cteAlias = `cte_${field2.alias}`;
|
|
1434
|
-
const column =
|
|
1434
|
+
const column = chunkKDRF3NR2_cjs.compileFieldValue(
|
|
1435
1435
|
field2,
|
|
1436
1436
|
dialect,
|
|
1437
1437
|
field2.valueType,
|
|
@@ -1454,7 +1454,7 @@ function compileProjectedSource(field2, dialect) {
|
|
|
1454
1454
|
return compileAggregateExprFromSource(field2.source, dialect);
|
|
1455
1455
|
}
|
|
1456
1456
|
const cteAlias = field2.cteAlias ?? `cte_${field2.source.alias}`;
|
|
1457
|
-
return
|
|
1457
|
+
return chunkKDRF3NR2_cjs.compileFieldValue(
|
|
1458
1458
|
field2.source,
|
|
1459
1459
|
dialect,
|
|
1460
1460
|
field2.source.valueType,
|
|
@@ -1510,10 +1510,10 @@ function compileOrderFieldValue(ast, field2, dialect, cteAlias) {
|
|
|
1510
1510
|
if (selectiveField !== void 0) {
|
|
1511
1511
|
return chunkX2XOQZT3_cjs.sql`${chunkX2XOQZT3_cjs.sql.raw(cteAlias)}.${quoteIdentifier(selectivePropsCteColumnName(selectiveField))}`;
|
|
1512
1512
|
}
|
|
1513
|
-
return
|
|
1513
|
+
return chunkKDRF3NR2_cjs.compileFieldValue(field2, dialect, field2.valueType, cteAlias);
|
|
1514
1514
|
}
|
|
1515
1515
|
function buildRelevanceJoins(vectorPredicate, fulltextPredicate) {
|
|
1516
|
-
const hybridTargetAlias =
|
|
1516
|
+
const hybridTargetAlias = chunkKDRF3NR2_cjs.getHybridTargetAlias(
|
|
1517
1517
|
vectorPredicate,
|
|
1518
1518
|
fulltextPredicate
|
|
1519
1519
|
);
|
|
@@ -1754,7 +1754,7 @@ function buildStandardGroupBy(input) {
|
|
|
1754
1754
|
}
|
|
1755
1755
|
const aliasToCte = buildAliasToCteMap(ast);
|
|
1756
1756
|
const parts = allFields.map(
|
|
1757
|
-
(field2) =>
|
|
1757
|
+
(field2) => chunkKDRF3NR2_cjs.compileFieldValue(
|
|
1758
1758
|
field2,
|
|
1759
1759
|
dialect,
|
|
1760
1760
|
field2.valueType,
|
|
@@ -1768,7 +1768,7 @@ function buildStandardHaving(input) {
|
|
|
1768
1768
|
if (!ast.having) {
|
|
1769
1769
|
return void 0;
|
|
1770
1770
|
}
|
|
1771
|
-
const condition =
|
|
1771
|
+
const condition = chunkKDRF3NR2_cjs.compilePredicateExpression(ast.having, ctx);
|
|
1772
1772
|
return chunkX2XOQZT3_cjs.sql`HAVING ${condition}`;
|
|
1773
1773
|
}
|
|
1774
1774
|
function buildStandardEmbeddingsCte(input) {
|
|
@@ -1922,7 +1922,7 @@ function buildStandardFulltextCte(input) {
|
|
|
1922
1922
|
);
|
|
1923
1923
|
const conditions = [
|
|
1924
1924
|
chunkX2XOQZT3_cjs.sql`${qualifyColumn(tableName, "graph_id")} = ${graphId}`,
|
|
1925
|
-
|
|
1925
|
+
chunkKDRF3NR2_cjs.compileKindFilter(qualifyColumn(tableName, "node_kind"), nodeKinds),
|
|
1926
1926
|
matchCondition
|
|
1927
1927
|
];
|
|
1928
1928
|
if (minScore !== void 0) {
|
|
@@ -2040,7 +2040,7 @@ function buildLimitOffsetClause(input) {
|
|
|
2040
2040
|
|
|
2041
2041
|
// src/query/compiler/passes/fulltext.ts
|
|
2042
2042
|
function runFulltextPredicatePass(ast, dialect) {
|
|
2043
|
-
const fulltextPredicates =
|
|
2043
|
+
const fulltextPredicates = chunkKDRF3NR2_cjs.extractFulltextMatchPredicates(ast.predicates);
|
|
2044
2044
|
if (fulltextPredicates.length > 1) {
|
|
2045
2045
|
throw new chunkKTBTSHU6_cjs.UnsupportedPredicateError(
|
|
2046
2046
|
"Multiple fulltext match predicates in a single query are not supported"
|
|
@@ -2137,11 +2137,11 @@ function runCompilerPass(state, pass) {
|
|
|
2137
2137
|
|
|
2138
2138
|
// src/query/compiler/passes/temporal.ts
|
|
2139
2139
|
function createTemporalFilterPass(ast, readInstant = "literal") {
|
|
2140
|
-
const currentTimestamp =
|
|
2140
|
+
const currentTimestamp = chunkKDRF3NR2_cjs.currentReadInstantFor(readInstant);
|
|
2141
2141
|
return {
|
|
2142
2142
|
forAlias(tableAlias) {
|
|
2143
|
-
return
|
|
2144
|
-
...
|
|
2143
|
+
return chunkKDRF3NR2_cjs.compileTemporalFilter({
|
|
2144
|
+
...chunkKDRF3NR2_cjs.extractTemporalOptions(ast, tableAlias),
|
|
2145
2145
|
currentTimestamp
|
|
2146
2146
|
});
|
|
2147
2147
|
}
|
|
@@ -2150,7 +2150,7 @@ function createTemporalFilterPass(ast, readInstant = "literal") {
|
|
|
2150
2150
|
|
|
2151
2151
|
// src/query/compiler/passes/vector.ts
|
|
2152
2152
|
function runVectorPredicatePass(ast, dialect, vectorStrategy) {
|
|
2153
|
-
const vectorPredicates =
|
|
2153
|
+
const vectorPredicates = chunkKDRF3NR2_cjs.extractVectorSimilarityPredicates(ast.predicates);
|
|
2154
2154
|
if (vectorPredicates.length > 1) {
|
|
2155
2155
|
throw new chunkKTBTSHU6_cjs.UnsupportedPredicateError(
|
|
2156
2156
|
"Multiple vector similarity predicates in a single query are not supported"
|
|
@@ -2563,8 +2563,8 @@ function assertRecordedQueryDoesNotUseCurrentIndexes(ast, vectorPredicate, fullt
|
|
|
2563
2563
|
}
|
|
2564
2564
|
function assertRecordedQueryAstDoesNotUseCurrentIndexes(ast) {
|
|
2565
2565
|
if (ast.recordedAsOf === void 0) return;
|
|
2566
|
-
const vectorPredicates =
|
|
2567
|
-
const fulltextPredicates =
|
|
2566
|
+
const vectorPredicates = chunkKDRF3NR2_cjs.extractVectorSimilarityPredicates(ast.predicates);
|
|
2567
|
+
const fulltextPredicates = chunkKDRF3NR2_cjs.extractFulltextMatchPredicates(ast.predicates);
|
|
2568
2568
|
assertRecordedQueryHasNoCurrentIndexUsage(ast, {
|
|
2569
2569
|
usesVectorPredicate: vectorPredicates.length > 0,
|
|
2570
2570
|
usesFulltextPredicate: fulltextPredicates.length > 0
|
|
@@ -2927,13 +2927,13 @@ function compileRecursiveCte(ast, traversal, graphId, ctx, requiredColumnsByAlia
|
|
|
2927
2927
|
`;
|
|
2928
2928
|
}
|
|
2929
2929
|
function compileKindFilter2(kinds, columnExpr) {
|
|
2930
|
-
return
|
|
2930
|
+
return chunkKDRF3NR2_cjs.compileKindFilter(chunkX2XOQZT3_cjs.sql.raw(columnExpr), kinds);
|
|
2931
2931
|
}
|
|
2932
2932
|
function compileNodePredicates(ast, alias, ctx) {
|
|
2933
|
-
return ast.predicates.filter((p) => p.targetAlias === alias && p.targetType !== "edge").map((p) =>
|
|
2933
|
+
return ast.predicates.filter((p) => p.targetAlias === alias && p.targetType !== "edge").map((p) => chunkKDRF3NR2_cjs.compilePredicateExpression(p.expression, ctx));
|
|
2934
2934
|
}
|
|
2935
2935
|
function compileEdgePredicates(ast, edgeAlias, ctx) {
|
|
2936
|
-
return ast.predicates.filter((p) => p.targetAlias === edgeAlias && p.targetType === "edge").map((p) =>
|
|
2936
|
+
return ast.predicates.filter((p) => p.targetAlias === edgeAlias && p.targetType === "edge").map((p) => chunkKDRF3NR2_cjs.compilePredicateExpression(p.expression, ctx));
|
|
2937
2937
|
}
|
|
2938
2938
|
function collectRequiredColumnsByAlias(ast, traversal) {
|
|
2939
2939
|
const selectiveFields = ast.selectiveFields;
|
|
@@ -3052,7 +3052,7 @@ function compileRecursiveOrderBy(ast, dialect) {
|
|
|
3052
3052
|
"Ordering by JSON arrays or objects is not supported"
|
|
3053
3053
|
);
|
|
3054
3054
|
}
|
|
3055
|
-
const field2 =
|
|
3055
|
+
const field2 = chunkKDRF3NR2_cjs.compileFieldValue(orderSpec.field, dialect, valueType);
|
|
3056
3056
|
const direction = chunkX2XOQZT3_cjs.sql.raw(orderSpec.direction.toUpperCase());
|
|
3057
3057
|
const nulls = orderSpec.nulls ?? (orderSpec.direction === "asc" ? "last" : "first");
|
|
3058
3058
|
const nullsDirection = chunkX2XOQZT3_cjs.sql.raw(nulls === "first" ? "DESC" : "ASC");
|
|
@@ -3134,19 +3134,19 @@ function decodeByValueType(value, valueType) {
|
|
|
3134
3134
|
// src/store/recursive-cte.ts
|
|
3135
3135
|
function buildReachableCte(options) {
|
|
3136
3136
|
const trackPath = options.cyclePolicy === "prevent" || options.includePath;
|
|
3137
|
-
const edgeKindFilter =
|
|
3137
|
+
const edgeKindFilter = chunkKDRF3NR2_cjs.compileKindFilter(
|
|
3138
3138
|
chunkX2XOQZT3_cjs.sql.raw("e.kind"),
|
|
3139
3139
|
options.edgeKinds
|
|
3140
3140
|
);
|
|
3141
|
-
const currentTimestamp =
|
|
3142
|
-
const nodeTemporalFilter =
|
|
3141
|
+
const currentTimestamp = chunkKDRF3NR2_cjs.currentReadInstant();
|
|
3142
|
+
const nodeTemporalFilter = chunkKDRF3NR2_cjs.compileTemporalFilter({
|
|
3143
3143
|
mode: options.temporalMode,
|
|
3144
3144
|
asOf: options.asOf,
|
|
3145
3145
|
recordedAsOf: options.recordedAsOf,
|
|
3146
3146
|
tableAlias: "n",
|
|
3147
3147
|
currentTimestamp
|
|
3148
3148
|
});
|
|
3149
|
-
const edgeTemporalFilter =
|
|
3149
|
+
const edgeTemporalFilter = chunkKDRF3NR2_cjs.compileTemporalFilter({
|
|
3150
3150
|
mode: options.temporalMode,
|
|
3151
3151
|
asOf: options.asOf,
|
|
3152
3152
|
recordedAsOf: options.recordedAsOf,
|
|
@@ -3457,7 +3457,7 @@ function dedupeStrings(values) {
|
|
|
3457
3457
|
function buildIncludedIdsCte(ctx) {
|
|
3458
3458
|
const filters = [];
|
|
3459
3459
|
if (ctx.includeKinds !== void 0 && ctx.includeKinds.length > 0) {
|
|
3460
|
-
filters.push(
|
|
3460
|
+
filters.push(chunkKDRF3NR2_cjs.compileKindFilter(chunkX2XOQZT3_cjs.sql.raw("kind"), ctx.includeKinds));
|
|
3461
3461
|
}
|
|
3462
3462
|
if (ctx.excludeRoot) {
|
|
3463
3463
|
filters.push(chunkX2XOQZT3_cjs.sql`id != ${ctx.rootId}`);
|
|
@@ -3480,12 +3480,12 @@ async function fetchIncludedIds(ctx, reachableCte, includedIdsCte) {
|
|
|
3480
3480
|
return rows.map((row) => row.id);
|
|
3481
3481
|
}
|
|
3482
3482
|
async function fetchSubgraphNodes(ctx, membership, projectionPlan) {
|
|
3483
|
-
const nodeTemporalFilter =
|
|
3483
|
+
const nodeTemporalFilter = chunkKDRF3NR2_cjs.compileTemporalFilter({
|
|
3484
3484
|
mode: ctx.temporalMode,
|
|
3485
3485
|
asOf: ctx.asOf,
|
|
3486
3486
|
recordedAsOf: ctx.recordedAsOf,
|
|
3487
3487
|
tableAlias: "n",
|
|
3488
|
-
currentTimestamp:
|
|
3488
|
+
currentTimestamp: chunkKDRF3NR2_cjs.currentReadInstant()
|
|
3489
3489
|
});
|
|
3490
3490
|
const columns = [
|
|
3491
3491
|
chunkX2XOQZT3_cjs.sql`n.kind`,
|
|
@@ -3508,13 +3508,13 @@ async function fetchSubgraphNodes(ctx, membership, projectionPlan) {
|
|
|
3508
3508
|
);
|
|
3509
3509
|
}
|
|
3510
3510
|
async function fetchSubgraphEdges(ctx, membership, projectionPlan) {
|
|
3511
|
-
const edgeKindFilter =
|
|
3512
|
-
const edgeTemporalFilter =
|
|
3511
|
+
const edgeKindFilter = chunkKDRF3NR2_cjs.compileKindFilter(chunkX2XOQZT3_cjs.sql.raw("e.kind"), ctx.edgeKinds);
|
|
3512
|
+
const edgeTemporalFilter = chunkKDRF3NR2_cjs.compileTemporalFilter({
|
|
3513
3513
|
mode: ctx.temporalMode,
|
|
3514
3514
|
asOf: ctx.asOf,
|
|
3515
3515
|
recordedAsOf: ctx.recordedAsOf,
|
|
3516
3516
|
tableAlias: "e",
|
|
3517
|
-
currentTimestamp:
|
|
3517
|
+
currentTimestamp: chunkKDRF3NR2_cjs.currentReadInstant()
|
|
3518
3518
|
});
|
|
3519
3519
|
const columns = [
|
|
3520
3520
|
chunkX2XOQZT3_cjs.sql`e.id`,
|
|
@@ -3553,7 +3553,7 @@ function buildMetadataColumns(alias, plan, columns) {
|
|
|
3553
3553
|
if (metaKinds.length === plan.fullKinds.length + plan.projectedKinds.size) {
|
|
3554
3554
|
return columns.map((col) => chunkX2XOQZT3_cjs.sql`${chunkX2XOQZT3_cjs.sql.raw(`${alias}.${col}`)}`);
|
|
3555
3555
|
}
|
|
3556
|
-
const filter =
|
|
3556
|
+
const filter = chunkKDRF3NR2_cjs.compileKindFilter(chunkX2XOQZT3_cjs.sql.raw(`${alias}.kind`), metaKinds);
|
|
3557
3557
|
return columns.map(
|
|
3558
3558
|
(col) => chunkX2XOQZT3_cjs.sql`CASE WHEN ${filter} THEN ${chunkX2XOQZT3_cjs.sql.raw(`${alias}.${col}`)} ELSE NULL END AS ${chunkX2XOQZT3_cjs.sql.raw(col)}`
|
|
3559
3559
|
);
|
|
@@ -3565,7 +3565,7 @@ function buildFullPropsColumn(alias, plan) {
|
|
|
3565
3565
|
if (plan.fullKinds.length === 0) {
|
|
3566
3566
|
return chunkX2XOQZT3_cjs.sql`NULL AS props`;
|
|
3567
3567
|
}
|
|
3568
|
-
const filter =
|
|
3568
|
+
const filter = chunkKDRF3NR2_cjs.compileKindFilter(chunkX2XOQZT3_cjs.sql.raw(`${alias}.kind`), plan.fullKinds);
|
|
3569
3569
|
return chunkX2XOQZT3_cjs.sql`CASE WHEN ${filter} THEN ${chunkX2XOQZT3_cjs.sql.raw(`${alias}.props`)} ELSE NULL END AS props`;
|
|
3570
3570
|
}
|
|
3571
3571
|
function buildProjectedPropertyColumns(alias, plan, dialect) {
|
|
@@ -3609,7 +3609,7 @@ function applyProjectedFields(target, row, kindPlan) {
|
|
|
3609
3609
|
function mapSubgraphNodeRow(row, projectionPlan) {
|
|
3610
3610
|
const kindPlan = projectionPlan.projectedKinds.get(row.kind);
|
|
3611
3611
|
if (kindPlan === void 0) {
|
|
3612
|
-
return
|
|
3612
|
+
return chunkBLBG2VZ5_cjs.rowToNode({
|
|
3613
3613
|
...row,
|
|
3614
3614
|
props: normalizeProps(row.props)
|
|
3615
3615
|
});
|
|
@@ -3619,7 +3619,7 @@ function mapSubgraphNodeRow(row, projectionPlan) {
|
|
|
3619
3619
|
id: row.id
|
|
3620
3620
|
};
|
|
3621
3621
|
if (kindPlan.includeMeta) {
|
|
3622
|
-
projectedNode["meta"] =
|
|
3622
|
+
projectedNode["meta"] = chunkBLBG2VZ5_cjs.rowToNodeMeta(row);
|
|
3623
3623
|
}
|
|
3624
3624
|
applyProjectedFields(projectedNode, row, kindPlan);
|
|
3625
3625
|
return projectedNode;
|
|
@@ -3627,7 +3627,7 @@ function mapSubgraphNodeRow(row, projectionPlan) {
|
|
|
3627
3627
|
function mapSubgraphEdgeRow(row, projectionPlan) {
|
|
3628
3628
|
const kindPlan = projectionPlan.projectedKinds.get(row.kind);
|
|
3629
3629
|
if (kindPlan === void 0) {
|
|
3630
|
-
return
|
|
3630
|
+
return chunkBLBG2VZ5_cjs.rowToEdge({
|
|
3631
3631
|
...row,
|
|
3632
3632
|
props: normalizeProps(row.props)
|
|
3633
3633
|
});
|
|
@@ -3641,7 +3641,7 @@ function mapSubgraphEdgeRow(row, projectionPlan) {
|
|
|
3641
3641
|
toId: row.to_id
|
|
3642
3642
|
};
|
|
3643
3643
|
if (kindPlan.includeMeta) {
|
|
3644
|
-
projectedEdge["meta"] =
|
|
3644
|
+
projectedEdge["meta"] = chunkBLBG2VZ5_cjs.rowToEdgeMeta(row);
|
|
3645
3645
|
}
|
|
3646
3646
|
applyProjectedFields(projectedEdge, row, kindPlan);
|
|
3647
3647
|
return projectedEdge;
|
|
@@ -3967,7 +3967,7 @@ function hasIdEqualityPredicate(expression, alias) {
|
|
|
3967
3967
|
}
|
|
3968
3968
|
}
|
|
3969
3969
|
function isStartAliasBoundToSingleId(ast, predicateIndex) {
|
|
3970
|
-
return
|
|
3970
|
+
return chunkKDRF3NR2_cjs.getPredicatesForAlias(predicateIndex, ast.start.alias, "node").some(
|
|
3971
3971
|
(predicate) => hasIdEqualityPredicate(predicate.expression, ast.start.alias)
|
|
3972
3972
|
);
|
|
3973
3973
|
}
|
|
@@ -4051,7 +4051,7 @@ function runStandardQueryPassPipeline(ast, graphId, ctx) {
|
|
|
4051
4051
|
fulltextPredicate: void 0,
|
|
4052
4052
|
fusion: void 0,
|
|
4053
4053
|
logicalPlan: void 0,
|
|
4054
|
-
predicateIndex:
|
|
4054
|
+
predicateIndex: chunkKDRF3NR2_cjs.buildPredicateIndex(ast),
|
|
4055
4055
|
requiredColumnsByAlias: void 0,
|
|
4056
4056
|
shouldCollapseSelectiveTraversalRowset: false,
|
|
4057
4057
|
temporalFilterPass: void 0,
|
|
@@ -4291,7 +4291,7 @@ function compileSetOperation2(op, graphId, options = "sqlite") {
|
|
|
4291
4291
|
}
|
|
4292
4292
|
return compiled;
|
|
4293
4293
|
};
|
|
4294
|
-
const combined =
|
|
4294
|
+
const combined = chunkKDRF3NR2_cjs.withPinnedReadInstant(
|
|
4295
4295
|
() => compileSetOperation(op, graphId, adapter, compileOperand, options_.vectorStrategy)
|
|
4296
4296
|
);
|
|
4297
4297
|
if (annIndexTypes.size > 0) {
|
|
@@ -4431,7 +4431,7 @@ function compileCountAggregateFastPath(ast, graphId, ctx, logicalPlan, requiredC
|
|
|
4431
4431
|
const nodeCountDistinctColumn = `${traversal.nodeAlias}_count_distinct`;
|
|
4432
4432
|
const edgeCountColumn = `${traversal.edgeAlias}_count`;
|
|
4433
4433
|
const edgeCountDistinctColumn = `${traversal.edgeAlias}_count_distinct`;
|
|
4434
|
-
const previousNodeKinds =
|
|
4434
|
+
const previousNodeKinds = chunkKDRF3NR2_cjs.getNodeKindsForAlias(ast, traversal.joinFromAlias);
|
|
4435
4435
|
const edgeKinds = [...new Set(traversal.edgeKinds)];
|
|
4436
4436
|
const nodeKinds = traversal.nodeKinds;
|
|
4437
4437
|
const edgeTemporalFilter = temporalFilterPass.forAlias("e");
|
|
@@ -4440,16 +4440,16 @@ function compileCountAggregateFastPath(ast, graphId, ctx, logicalPlan, requiredC
|
|
|
4440
4440
|
...ctx,
|
|
4441
4441
|
cteColumnPrefix: "n"
|
|
4442
4442
|
};
|
|
4443
|
-
const nodePredicateClauses =
|
|
4444
|
-
|
|
4443
|
+
const nodePredicateClauses = chunkKDRF3NR2_cjs.compilePredicateClauses(
|
|
4444
|
+
chunkKDRF3NR2_cjs.getPredicatesForAlias(predicateIndex, traversal.nodeAlias, "node"),
|
|
4445
4445
|
nodePredicateContext
|
|
4446
4446
|
);
|
|
4447
4447
|
const edgePredicateContext = {
|
|
4448
4448
|
...ctx,
|
|
4449
4449
|
cteColumnPrefix: "e"
|
|
4450
4450
|
};
|
|
4451
|
-
const edgePredicateClauses =
|
|
4452
|
-
|
|
4451
|
+
const edgePredicateClauses = chunkKDRF3NR2_cjs.compilePredicateClauses(
|
|
4452
|
+
chunkKDRF3NR2_cjs.getPredicatesForAlias(predicateIndex, traversal.edgeAlias, "edge"),
|
|
4453
4453
|
edgePredicateContext
|
|
4454
4454
|
);
|
|
4455
4455
|
const joinField = traversal.direction === "out" ? "from_id" : "to_id";
|
|
@@ -4461,14 +4461,14 @@ function compileCountAggregateFastPath(ast, graphId, ctx, logicalPlan, requiredC
|
|
|
4461
4461
|
const useInnerJoin = hasNodePredicates;
|
|
4462
4462
|
const whereClauses = [
|
|
4463
4463
|
chunkX2XOQZT3_cjs.sql`e.graph_id = ${graphId}`,
|
|
4464
|
-
|
|
4465
|
-
|
|
4466
|
-
|
|
4464
|
+
chunkKDRF3NR2_cjs.compileKindFilter(chunkX2XOQZT3_cjs.sql.raw("e.kind"), edgeKinds),
|
|
4465
|
+
chunkKDRF3NR2_cjs.compileKindFilter(chunkX2XOQZT3_cjs.sql.raw(`e.${joinKindField}`), previousNodeKinds),
|
|
4466
|
+
chunkKDRF3NR2_cjs.compileKindFilter(chunkX2XOQZT3_cjs.sql.raw(`e.${targetKindField}`), nodeKinds),
|
|
4467
4467
|
edgeTemporalFilter,
|
|
4468
4468
|
...edgePredicateClauses,
|
|
4469
4469
|
// INNER JOIN mode: node-side filters in WHERE constrain every aggregate.
|
|
4470
4470
|
...requiresNodeJoin && useInnerJoin ? [
|
|
4471
|
-
|
|
4471
|
+
chunkKDRF3NR2_cjs.compileKindFilter(chunkX2XOQZT3_cjs.sql.raw("n.kind"), nodeKinds),
|
|
4472
4472
|
nodeTemporalFilter,
|
|
4473
4473
|
...nodePredicateClauses
|
|
4474
4474
|
] : []
|
|
@@ -4484,7 +4484,7 @@ function compileCountAggregateFastPath(ast, graphId, ctx, logicalPlan, requiredC
|
|
|
4484
4484
|
chunkX2XOQZT3_cjs.sql`n.graph_id = e.graph_id`,
|
|
4485
4485
|
chunkX2XOQZT3_cjs.sql`n.id = e.${chunkX2XOQZT3_cjs.sql.raw(targetField)}`,
|
|
4486
4486
|
chunkX2XOQZT3_cjs.sql`n.kind = e.${chunkX2XOQZT3_cjs.sql.raw(targetKindField)}`,
|
|
4487
|
-
|
|
4487
|
+
chunkKDRF3NR2_cjs.compileKindFilter(chunkX2XOQZT3_cjs.sql.raw("n.kind"), nodeKinds),
|
|
4488
4488
|
nodeTemporalFilter
|
|
4489
4489
|
] : [];
|
|
4490
4490
|
const aggregateColumns = [];
|
|
@@ -4544,7 +4544,7 @@ function compileCountAggregateFastPath(ast, graphId, ctx, logicalPlan, requiredC
|
|
|
4544
4544
|
ast.projection.fields.map((projectedField) => {
|
|
4545
4545
|
const source = projectedField.source;
|
|
4546
4546
|
if (!isAggregateExpr(source)) {
|
|
4547
|
-
const value =
|
|
4547
|
+
const value = chunkKDRF3NR2_cjs.compileFieldValue(
|
|
4548
4548
|
source,
|
|
4549
4549
|
dialect,
|
|
4550
4550
|
source.valueType,
|
|
@@ -4877,7 +4877,7 @@ function compileStandardQueryWithCteStrategy(ast, graphId, ctx) {
|
|
|
4877
4877
|
traversalLimit: traversalCteLimit
|
|
4878
4878
|
});
|
|
4879
4879
|
if (vectorPredicate) {
|
|
4880
|
-
const nodeKinds =
|
|
4880
|
+
const nodeKinds = chunkKDRF3NR2_cjs.getNodeKindsForAlias(ast, vectorPredicate.field.alias);
|
|
4881
4881
|
ctes.push(
|
|
4882
4882
|
buildStandardEmbeddingsCte({
|
|
4883
4883
|
ctx,
|
|
@@ -4888,7 +4888,7 @@ function compileStandardQueryWithCteStrategy(ast, graphId, ctx) {
|
|
|
4888
4888
|
);
|
|
4889
4889
|
}
|
|
4890
4890
|
if (fulltextPredicate) {
|
|
4891
|
-
const nodeKinds =
|
|
4891
|
+
const nodeKinds = chunkKDRF3NR2_cjs.getNodeKindsForAlias(ast, fulltextPredicate.field.alias);
|
|
4892
4892
|
ctes.push(
|
|
4893
4893
|
buildStandardFulltextCte({
|
|
4894
4894
|
ctx,
|
|
@@ -4898,7 +4898,7 @@ function compileStandardQueryWithCteStrategy(ast, graphId, ctx) {
|
|
|
4898
4898
|
})
|
|
4899
4899
|
);
|
|
4900
4900
|
}
|
|
4901
|
-
if (
|
|
4901
|
+
if (chunkKDRF3NR2_cjs.getHybridTargetAlias(vectorPredicate, fulltextPredicate) !== void 0) {
|
|
4902
4902
|
ctes.push(buildStandardHybridCandidateCte());
|
|
4903
4903
|
}
|
|
4904
4904
|
const projection = buildStandardProjection({
|
|
@@ -5828,7 +5828,7 @@ function createGuardedProxy(target, debugPath) {
|
|
|
5828
5828
|
// src/query/builder/read-instant-template.ts
|
|
5829
5829
|
function templateHasReadInstant(template) {
|
|
5830
5830
|
return template.params.some(
|
|
5831
|
-
(parameter) => chunkX2XOQZT3_cjs.isSqlPlaceholder(parameter) && parameter.name ===
|
|
5831
|
+
(parameter) => chunkX2XOQZT3_cjs.isSqlPlaceholder(parameter) && parameter.name === chunkKDRF3NR2_cjs.CURRENT_READ_INSTANT_PLACEHOLDER
|
|
5832
5832
|
);
|
|
5833
5833
|
}
|
|
5834
5834
|
function queryAstNeedsCurrentReadInstant(ast) {
|
|
@@ -5866,7 +5866,7 @@ function fillTemplateParams(params, bindings, dialect) {
|
|
|
5866
5866
|
return params.map((parameter) => {
|
|
5867
5867
|
if (!chunkX2XOQZT3_cjs.isSqlPlaceholder(parameter)) return parameter;
|
|
5868
5868
|
const name = parameter.name;
|
|
5869
|
-
if (name ===
|
|
5869
|
+
if (name === chunkKDRF3NR2_cjs.CURRENT_READ_INSTANT_PLACEHOLDER) {
|
|
5870
5870
|
readInstant ??= chunkZBV4LQD2_cjs.nowIso();
|
|
5871
5871
|
return readInstant;
|
|
5872
5872
|
}
|
|
@@ -5908,7 +5908,7 @@ function toLiteral(value) {
|
|
|
5908
5908
|
function substitutePredicateExpression(expr, bindings) {
|
|
5909
5909
|
switch (expr.__type) {
|
|
5910
5910
|
case "comparison": {
|
|
5911
|
-
if (
|
|
5911
|
+
if (chunkKDRF3NR2_cjs.isParameterRef(expr.right)) {
|
|
5912
5912
|
const value = bindings[expr.right.name];
|
|
5913
5913
|
if (value === void 0) {
|
|
5914
5914
|
throw new chunkKTBTSHU6_cjs.ConfigurationError(
|
|
@@ -5924,7 +5924,7 @@ function substitutePredicateExpression(expr, bindings) {
|
|
|
5924
5924
|
return expr;
|
|
5925
5925
|
}
|
|
5926
5926
|
case "string_op": {
|
|
5927
|
-
if (
|
|
5927
|
+
if (chunkKDRF3NR2_cjs.isParameterRef(expr.pattern)) {
|
|
5928
5928
|
const value = bindings[expr.pattern.name];
|
|
5929
5929
|
if (value === void 0) {
|
|
5930
5930
|
throw new chunkKTBTSHU6_cjs.ConfigurationError(
|
|
@@ -5946,8 +5946,8 @@ function substitutePredicateExpression(expr, bindings) {
|
|
|
5946
5946
|
return expr;
|
|
5947
5947
|
}
|
|
5948
5948
|
case "between": {
|
|
5949
|
-
const lowerIsParam =
|
|
5950
|
-
const upperIsParam =
|
|
5949
|
+
const lowerIsParam = chunkKDRF3NR2_cjs.isParameterRef(expr.lower);
|
|
5950
|
+
const upperIsParam = chunkKDRF3NR2_cjs.isParameterRef(expr.upper);
|
|
5951
5951
|
if (!lowerIsParam && !upperIsParam) return expr;
|
|
5952
5952
|
const lower = lowerIsParam ? toLiteral(resolveBinding(bindings, expr.lower.name)) : expr.lower;
|
|
5953
5953
|
const upper = upperIsParam ? toLiteral(resolveBinding(bindings, expr.upper.name)) : expr.upper;
|
|
@@ -6182,23 +6182,23 @@ function collectParameterMetadataFromAst(ast, names, stringOpParameters) {
|
|
|
6182
6182
|
function collectParameterMetadataFromExpression(expression, names, stringOpParameters) {
|
|
6183
6183
|
switch (expression.__type) {
|
|
6184
6184
|
case "comparison": {
|
|
6185
|
-
if (
|
|
6185
|
+
if (chunkKDRF3NR2_cjs.isParameterRef(expression.right)) {
|
|
6186
6186
|
names.add(expression.right.name);
|
|
6187
6187
|
}
|
|
6188
6188
|
return;
|
|
6189
6189
|
}
|
|
6190
6190
|
case "string_op": {
|
|
6191
|
-
if (
|
|
6191
|
+
if (chunkKDRF3NR2_cjs.isParameterRef(expression.pattern)) {
|
|
6192
6192
|
names.add(expression.pattern.name);
|
|
6193
6193
|
stringOpParameters.add(expression.pattern.name);
|
|
6194
6194
|
}
|
|
6195
6195
|
return;
|
|
6196
6196
|
}
|
|
6197
6197
|
case "between": {
|
|
6198
|
-
if (
|
|
6198
|
+
if (chunkKDRF3NR2_cjs.isParameterRef(expression.lower)) {
|
|
6199
6199
|
names.add(expression.lower.name);
|
|
6200
6200
|
}
|
|
6201
|
-
if (
|
|
6201
|
+
if (chunkKDRF3NR2_cjs.isParameterRef(expression.upper)) {
|
|
6202
6202
|
names.add(expression.upper.name);
|
|
6203
6203
|
}
|
|
6204
6204
|
return;
|
|
@@ -6716,10 +6716,10 @@ var ExecutableQuery = class _ExecutableQuery {
|
|
|
6716
6716
|
}
|
|
6717
6717
|
}
|
|
6718
6718
|
const orderSpec = isSystem ? {
|
|
6719
|
-
field:
|
|
6719
|
+
field: chunkKDRF3NR2_cjs.fieldRef(alias, [field2], { valueType: "string" }),
|
|
6720
6720
|
direction
|
|
6721
6721
|
} : {
|
|
6722
|
-
field:
|
|
6722
|
+
field: chunkKDRF3NR2_cjs.fieldRef(alias, ["props"], {
|
|
6723
6723
|
jsonPointer: chunkTDXIBCGY_cjs.jsonPointer([field2]),
|
|
6724
6724
|
valueType: typeInfo?.valueType,
|
|
6725
6725
|
elementType: typeInfo?.elementType
|
|
@@ -7832,12 +7832,12 @@ function createDynamicFieldBuilder(introspector, alias, name, kindNames, entity)
|
|
|
7832
7832
|
if (typeInfo === void 0) {
|
|
7833
7833
|
throw new Error(`Property "${name}" is not declared on ${where}.`);
|
|
7834
7834
|
}
|
|
7835
|
-
const ref =
|
|
7835
|
+
const ref = chunkKDRF3NR2_cjs.fieldRef(alias, ["props"], {
|
|
7836
7836
|
jsonPointer: chunkTDXIBCGY_cjs.jsonPointer([name]),
|
|
7837
7837
|
valueType: typeInfo.valueType,
|
|
7838
7838
|
elementType: typeInfo.elementType
|
|
7839
7839
|
});
|
|
7840
|
-
const base =
|
|
7840
|
+
const base = chunkKDRF3NR2_cjs.buildFieldBuilderForTypeInfo(ref, typeInfo);
|
|
7841
7841
|
const expect = (asserted) => {
|
|
7842
7842
|
if (typeInfo.valueType !== asserted) {
|
|
7843
7843
|
throw new TypeError(
|
|
@@ -8009,17 +8009,17 @@ var TraversalBuilder = class _TraversalBuilder {
|
|
|
8009
8009
|
(kind) => !this.#edgeKinds.includes(kind)
|
|
8010
8010
|
)
|
|
8011
8011
|
];
|
|
8012
|
-
const idAccessor =
|
|
8013
|
-
|
|
8012
|
+
const idAccessor = chunkKDRF3NR2_cjs.stringField(
|
|
8013
|
+
chunkKDRF3NR2_cjs.fieldRef(alias, ["id"], { valueType: "string" })
|
|
8014
8014
|
);
|
|
8015
|
-
const kindAccessor =
|
|
8016
|
-
|
|
8015
|
+
const kindAccessor = chunkKDRF3NR2_cjs.stringField(
|
|
8016
|
+
chunkKDRF3NR2_cjs.fieldRef(alias, ["kind"], { valueType: "string" })
|
|
8017
8017
|
);
|
|
8018
|
-
const fromIdAccessor =
|
|
8019
|
-
|
|
8018
|
+
const fromIdAccessor = chunkKDRF3NR2_cjs.stringField(
|
|
8019
|
+
chunkKDRF3NR2_cjs.fieldRef(alias, ["from_id"], { valueType: "string" })
|
|
8020
8020
|
);
|
|
8021
|
-
const toIdAccessor =
|
|
8022
|
-
|
|
8021
|
+
const toIdAccessor = chunkKDRF3NR2_cjs.stringField(
|
|
8022
|
+
chunkKDRF3NR2_cjs.fieldRef(alias, ["to_id"], { valueType: "string" })
|
|
8023
8023
|
);
|
|
8024
8024
|
const buildFieldAccessor = (propertyName) => {
|
|
8025
8025
|
const typeInfo = this.#config.schemaIntrospector.getSharedEdgeFieldTypeInfo(
|
|
@@ -8028,34 +8028,34 @@ var TraversalBuilder = class _TraversalBuilder {
|
|
|
8028
8028
|
);
|
|
8029
8029
|
const valueType = typeInfo?.valueType;
|
|
8030
8030
|
const elementType = typeInfo?.elementType;
|
|
8031
|
-
const ref =
|
|
8031
|
+
const ref = chunkKDRF3NR2_cjs.fieldRef(alias, ["props"], {
|
|
8032
8032
|
jsonPointer: chunkTDXIBCGY_cjs.jsonPointer([propertyName]),
|
|
8033
8033
|
valueType,
|
|
8034
8034
|
elementType
|
|
8035
8035
|
});
|
|
8036
8036
|
switch (valueType) {
|
|
8037
8037
|
case "string": {
|
|
8038
|
-
return
|
|
8038
|
+
return chunkKDRF3NR2_cjs.stringField(ref);
|
|
8039
8039
|
}
|
|
8040
8040
|
case "number": {
|
|
8041
|
-
return
|
|
8041
|
+
return chunkKDRF3NR2_cjs.numberField(ref);
|
|
8042
8042
|
}
|
|
8043
8043
|
case "boolean": {
|
|
8044
|
-
return
|
|
8044
|
+
return chunkKDRF3NR2_cjs.baseField(ref);
|
|
8045
8045
|
}
|
|
8046
8046
|
case "date": {
|
|
8047
|
-
return
|
|
8047
|
+
return chunkKDRF3NR2_cjs.dateField(ref);
|
|
8048
8048
|
}
|
|
8049
8049
|
case "array": {
|
|
8050
|
-
return
|
|
8050
|
+
return chunkKDRF3NR2_cjs.arrayField(ref);
|
|
8051
8051
|
}
|
|
8052
8052
|
case "object": {
|
|
8053
|
-
return
|
|
8053
|
+
return chunkKDRF3NR2_cjs.objectField(ref);
|
|
8054
8054
|
}
|
|
8055
8055
|
case "embedding":
|
|
8056
8056
|
case "unknown":
|
|
8057
8057
|
case void 0: {
|
|
8058
|
-
return
|
|
8058
|
+
return chunkKDRF3NR2_cjs.baseField(ref);
|
|
8059
8059
|
}
|
|
8060
8060
|
}
|
|
8061
8061
|
};
|
|
@@ -8200,39 +8200,39 @@ function buildNodeFields(alias) {
|
|
|
8200
8200
|
return [
|
|
8201
8201
|
{
|
|
8202
8202
|
outputName: `${alias}_id`,
|
|
8203
|
-
source:
|
|
8203
|
+
source: chunkKDRF3NR2_cjs.fieldRef(alias, ["id"])
|
|
8204
8204
|
},
|
|
8205
8205
|
{
|
|
8206
8206
|
outputName: `${alias}_kind`,
|
|
8207
|
-
source:
|
|
8207
|
+
source: chunkKDRF3NR2_cjs.fieldRef(alias, ["kind"])
|
|
8208
8208
|
},
|
|
8209
8209
|
{
|
|
8210
8210
|
outputName: `${alias}_props`,
|
|
8211
|
-
source:
|
|
8211
|
+
source: chunkKDRF3NR2_cjs.fieldRef(alias, ["props"])
|
|
8212
8212
|
},
|
|
8213
8213
|
{
|
|
8214
8214
|
outputName: `${alias}_version`,
|
|
8215
|
-
source:
|
|
8215
|
+
source: chunkKDRF3NR2_cjs.fieldRef(alias, ["version"])
|
|
8216
8216
|
},
|
|
8217
8217
|
{
|
|
8218
8218
|
outputName: `${alias}_valid_from`,
|
|
8219
|
-
source:
|
|
8219
|
+
source: chunkKDRF3NR2_cjs.fieldRef(alias, ["valid_from"])
|
|
8220
8220
|
},
|
|
8221
8221
|
{
|
|
8222
8222
|
outputName: `${alias}_valid_to`,
|
|
8223
|
-
source:
|
|
8223
|
+
source: chunkKDRF3NR2_cjs.fieldRef(alias, ["valid_to"])
|
|
8224
8224
|
},
|
|
8225
8225
|
{
|
|
8226
8226
|
outputName: `${alias}_created_at`,
|
|
8227
|
-
source:
|
|
8227
|
+
source: chunkKDRF3NR2_cjs.fieldRef(alias, ["created_at"])
|
|
8228
8228
|
},
|
|
8229
8229
|
{
|
|
8230
8230
|
outputName: `${alias}_updated_at`,
|
|
8231
|
-
source:
|
|
8231
|
+
source: chunkKDRF3NR2_cjs.fieldRef(alias, ["updated_at"])
|
|
8232
8232
|
},
|
|
8233
8233
|
{
|
|
8234
8234
|
outputName: `${alias}_deleted_at`,
|
|
8235
|
-
source:
|
|
8235
|
+
source: chunkKDRF3NR2_cjs.fieldRef(alias, ["deleted_at"])
|
|
8236
8236
|
}
|
|
8237
8237
|
];
|
|
8238
8238
|
}
|
|
@@ -8241,52 +8241,52 @@ function buildEdgeFields(edgeAlias, nodeCteAlias) {
|
|
|
8241
8241
|
return [
|
|
8242
8242
|
{
|
|
8243
8243
|
outputName: `${edgeAlias}_id`,
|
|
8244
|
-
source:
|
|
8244
|
+
source: chunkKDRF3NR2_cjs.fieldRef(edgeAlias, ["id"]),
|
|
8245
8245
|
cteAlias
|
|
8246
8246
|
},
|
|
8247
8247
|
{
|
|
8248
8248
|
outputName: `${edgeAlias}_kind`,
|
|
8249
|
-
source:
|
|
8249
|
+
source: chunkKDRF3NR2_cjs.fieldRef(edgeAlias, ["kind"]),
|
|
8250
8250
|
cteAlias
|
|
8251
8251
|
},
|
|
8252
8252
|
{
|
|
8253
8253
|
outputName: `${edgeAlias}_from_id`,
|
|
8254
|
-
source:
|
|
8254
|
+
source: chunkKDRF3NR2_cjs.fieldRef(edgeAlias, ["from_id"]),
|
|
8255
8255
|
cteAlias
|
|
8256
8256
|
},
|
|
8257
8257
|
{
|
|
8258
8258
|
outputName: `${edgeAlias}_to_id`,
|
|
8259
|
-
source:
|
|
8259
|
+
source: chunkKDRF3NR2_cjs.fieldRef(edgeAlias, ["to_id"]),
|
|
8260
8260
|
cteAlias
|
|
8261
8261
|
},
|
|
8262
8262
|
{
|
|
8263
8263
|
outputName: `${edgeAlias}_props`,
|
|
8264
|
-
source:
|
|
8264
|
+
source: chunkKDRF3NR2_cjs.fieldRef(edgeAlias, ["props"]),
|
|
8265
8265
|
cteAlias
|
|
8266
8266
|
},
|
|
8267
8267
|
{
|
|
8268
8268
|
outputName: `${edgeAlias}_valid_from`,
|
|
8269
|
-
source:
|
|
8269
|
+
source: chunkKDRF3NR2_cjs.fieldRef(edgeAlias, ["valid_from"]),
|
|
8270
8270
|
cteAlias
|
|
8271
8271
|
},
|
|
8272
8272
|
{
|
|
8273
8273
|
outputName: `${edgeAlias}_valid_to`,
|
|
8274
|
-
source:
|
|
8274
|
+
source: chunkKDRF3NR2_cjs.fieldRef(edgeAlias, ["valid_to"]),
|
|
8275
8275
|
cteAlias
|
|
8276
8276
|
},
|
|
8277
8277
|
{
|
|
8278
8278
|
outputName: `${edgeAlias}_created_at`,
|
|
8279
|
-
source:
|
|
8279
|
+
source: chunkKDRF3NR2_cjs.fieldRef(edgeAlias, ["created_at"]),
|
|
8280
8280
|
cteAlias
|
|
8281
8281
|
},
|
|
8282
8282
|
{
|
|
8283
8283
|
outputName: `${edgeAlias}_updated_at`,
|
|
8284
|
-
source:
|
|
8284
|
+
source: chunkKDRF3NR2_cjs.fieldRef(edgeAlias, ["updated_at"]),
|
|
8285
8285
|
cteAlias
|
|
8286
8286
|
},
|
|
8287
8287
|
{
|
|
8288
8288
|
outputName: `${edgeAlias}_deleted_at`,
|
|
8289
|
-
source:
|
|
8289
|
+
source: chunkKDRF3NR2_cjs.fieldRef(edgeAlias, ["deleted_at"]),
|
|
8290
8290
|
cteAlias
|
|
8291
8291
|
}
|
|
8292
8292
|
];
|
|
@@ -8599,10 +8599,10 @@ var QueryBuilder = class _QueryBuilder {
|
|
|
8599
8599
|
field2
|
|
8600
8600
|
) : this.#getOrderByTypeInfo(alias, field2);
|
|
8601
8601
|
const orderSpec = isSystem ? {
|
|
8602
|
-
field:
|
|
8602
|
+
field: chunkKDRF3NR2_cjs.fieldRef(alias, [field2], { valueType: "string" }),
|
|
8603
8603
|
direction
|
|
8604
8604
|
} : {
|
|
8605
|
-
field:
|
|
8605
|
+
field: chunkKDRF3NR2_cjs.fieldRef(alias, ["props"], {
|
|
8606
8606
|
jsonPointer: chunkTDXIBCGY_cjs.jsonPointer([field2]),
|
|
8607
8607
|
valueType: typeInfo?.valueType,
|
|
8608
8608
|
elementType: typeInfo?.elementType
|
|
@@ -8778,7 +8778,7 @@ var QueryBuilder = class _QueryBuilder {
|
|
|
8778
8778
|
kindNames,
|
|
8779
8779
|
property
|
|
8780
8780
|
) : void 0;
|
|
8781
|
-
const ref =
|
|
8781
|
+
const ref = chunkKDRF3NR2_cjs.fieldRef(alias, ["props"], {
|
|
8782
8782
|
jsonPointer: chunkTDXIBCGY_cjs.jsonPointer([property]),
|
|
8783
8783
|
valueType: typeInfo?.valueType,
|
|
8784
8784
|
elementType: typeInfo?.elementType
|
|
@@ -8786,17 +8786,17 @@ var QueryBuilder = class _QueryBuilder {
|
|
|
8786
8786
|
return this.#buildFieldBuilderForTypeInfo(ref, typeInfo);
|
|
8787
8787
|
}
|
|
8788
8788
|
#buildFieldBuilderForTypeInfo(ref, typeInfo) {
|
|
8789
|
-
return
|
|
8789
|
+
return chunkKDRF3NR2_cjs.buildFieldBuilderForTypeInfo(ref, typeInfo);
|
|
8790
8790
|
}
|
|
8791
8791
|
#createNodeAccessor(alias) {
|
|
8792
8792
|
const kindNames = this.#getKindNamesForAlias(alias);
|
|
8793
|
-
const idAccessor =
|
|
8794
|
-
|
|
8793
|
+
const idAccessor = chunkKDRF3NR2_cjs.stringField(
|
|
8794
|
+
chunkKDRF3NR2_cjs.fieldRef(alias, ["id"], { valueType: "string" })
|
|
8795
8795
|
);
|
|
8796
|
-
const kindAccessor =
|
|
8797
|
-
|
|
8796
|
+
const kindAccessor = chunkKDRF3NR2_cjs.stringField(
|
|
8797
|
+
chunkKDRF3NR2_cjs.fieldRef(alias, ["kind"], { valueType: "string" })
|
|
8798
8798
|
);
|
|
8799
|
-
const fulltextAccessor =
|
|
8799
|
+
const fulltextAccessor = chunkKDRF3NR2_cjs.createFulltextAccessor(
|
|
8800
8800
|
alias,
|
|
8801
8801
|
() => this.#hasSearchableField(kindNames)
|
|
8802
8802
|
);
|
|
@@ -8871,7 +8871,7 @@ var QueryBuilder = class _QueryBuilder {
|
|
|
8871
8871
|
edgeKindNames,
|
|
8872
8872
|
property
|
|
8873
8873
|
) : void 0;
|
|
8874
|
-
const ref =
|
|
8874
|
+
const ref = chunkKDRF3NR2_cjs.fieldRef(alias, ["props"], {
|
|
8875
8875
|
jsonPointer: chunkTDXIBCGY_cjs.jsonPointer([property]),
|
|
8876
8876
|
valueType: typeInfo?.valueType,
|
|
8877
8877
|
elementType: typeInfo?.elementType
|
|
@@ -8880,17 +8880,17 @@ var QueryBuilder = class _QueryBuilder {
|
|
|
8880
8880
|
}
|
|
8881
8881
|
#createEdgeAccessor(alias) {
|
|
8882
8882
|
const edgeKindNames = this.#getEdgeKindNamesForAlias(alias);
|
|
8883
|
-
const idAccessor =
|
|
8884
|
-
|
|
8883
|
+
const idAccessor = chunkKDRF3NR2_cjs.stringField(
|
|
8884
|
+
chunkKDRF3NR2_cjs.fieldRef(alias, ["id"], { valueType: "string" })
|
|
8885
8885
|
);
|
|
8886
|
-
const kindAccessor =
|
|
8887
|
-
|
|
8886
|
+
const kindAccessor = chunkKDRF3NR2_cjs.stringField(
|
|
8887
|
+
chunkKDRF3NR2_cjs.fieldRef(alias, ["kind"], { valueType: "string" })
|
|
8888
8888
|
);
|
|
8889
|
-
const fromIdAccessor =
|
|
8890
|
-
|
|
8889
|
+
const fromIdAccessor = chunkKDRF3NR2_cjs.stringField(
|
|
8890
|
+
chunkKDRF3NR2_cjs.fieldRef(alias, ["from_id"], { valueType: "string" })
|
|
8891
8891
|
);
|
|
8892
|
-
const toIdAccessor =
|
|
8893
|
-
|
|
8892
|
+
const toIdAccessor = chunkKDRF3NR2_cjs.stringField(
|
|
8893
|
+
chunkKDRF3NR2_cjs.fieldRef(alias, ["to_id"], { valueType: "string" })
|
|
8894
8894
|
);
|
|
8895
8895
|
if (this.#state.dynamicEdgeAliases.has(alias)) {
|
|
8896
8896
|
return {
|
|
@@ -9567,7 +9567,7 @@ function processPage(schema, rows) {
|
|
|
9567
9567
|
skippedIds.push(row.id);
|
|
9568
9568
|
continue;
|
|
9569
9569
|
}
|
|
9570
|
-
const computed =
|
|
9570
|
+
const computed = chunkKDRF3NR2_cjs.computeFulltextContent(schema, parsed);
|
|
9571
9571
|
if (computed === void 0) {
|
|
9572
9572
|
toDelete.push(row.id);
|
|
9573
9573
|
} else {
|
|
@@ -9648,7 +9648,7 @@ async function fetchNodesForRows(backend, graphId, rows) {
|
|
|
9648
9648
|
function tryResolveSearchSlot(ctx, nodeKind, fieldPath) {
|
|
9649
9649
|
const nodeType = ctx.registry.getNodeType(nodeKind);
|
|
9650
9650
|
if (nodeType === void 0) return void 0;
|
|
9651
|
-
const fields =
|
|
9651
|
+
const fields = chunkKDRF3NR2_cjs.getEmbeddingFields(nodeType.schema);
|
|
9652
9652
|
const field2 = fields.find((entry2) => entry2.fieldPath === fieldPath);
|
|
9653
9653
|
if (field2 === void 0) return void 0;
|
|
9654
9654
|
return {
|
|
@@ -9958,7 +9958,7 @@ async function executeHybridSearch(ctx, nodeKind, options) {
|
|
|
9958
9958
|
...candidates === void 0 ? {} : { candidates }
|
|
9959
9959
|
});
|
|
9960
9960
|
return rows.map((row, index) => {
|
|
9961
|
-
const typedNode =
|
|
9961
|
+
const typedNode = chunkBLBG2VZ5_cjs.rowToNode(row.node);
|
|
9962
9962
|
return {
|
|
9963
9963
|
node: typedNode,
|
|
9964
9964
|
score: row.fusedScore,
|
|
@@ -10222,13 +10222,13 @@ async function fetchNodesByIds(backend, graphId, nodeKind, ids) {
|
|
|
10222
10222
|
const rows = await backend.getNodes(graphId, nodeKind, ids);
|
|
10223
10223
|
for (const row of rows) {
|
|
10224
10224
|
if (row.deleted_at !== void 0) continue;
|
|
10225
|
-
map.set(row.id,
|
|
10225
|
+
map.set(row.id, chunkBLBG2VZ5_cjs.rowToNode(row));
|
|
10226
10226
|
}
|
|
10227
10227
|
return map;
|
|
10228
10228
|
}
|
|
10229
10229
|
for (const id of ids) {
|
|
10230
10230
|
const row = await backend.getNode(graphId, nodeKind, id);
|
|
10231
|
-
if (row && row.deleted_at === void 0) map.set(row.id,
|
|
10231
|
+
if (row && row.deleted_at === void 0) map.set(row.id, chunkBLBG2VZ5_cjs.rowToNode(row));
|
|
10232
10232
|
}
|
|
10233
10233
|
return map;
|
|
10234
10234
|
}
|
|
@@ -10919,9 +10919,9 @@ function resolveTemporalFilter(ctx, options, tableAlias) {
|
|
|
10919
10919
|
asOf: resolved.asOf,
|
|
10920
10920
|
recordedAsOf: resolved.recordedAsOf,
|
|
10921
10921
|
tableAlias,
|
|
10922
|
-
currentTimestamp:
|
|
10922
|
+
currentTimestamp: chunkKDRF3NR2_cjs.currentReadInstant()
|
|
10923
10923
|
};
|
|
10924
|
-
return
|
|
10924
|
+
return chunkKDRF3NR2_cjs.compileTemporalFilter(filterOptions);
|
|
10925
10925
|
}
|
|
10926
10926
|
function resolveMaxHops(rawMaxHops, fallback, optionName) {
|
|
10927
10927
|
const value = rawMaxHops ?? fallback;
|
|
@@ -10965,7 +10965,7 @@ function assertEdgeKinds(edges) {
|
|
|
10965
10965
|
}
|
|
10966
10966
|
function compileNodeKindSeedFilter(nodeKinds) {
|
|
10967
10967
|
if (nodeKinds === void 0) return chunkX2XOQZT3_cjs.sql`TRUE`;
|
|
10968
|
-
return
|
|
10968
|
+
return chunkKDRF3NR2_cjs.compileKindFilter(chunkX2XOQZT3_cjs.sql.raw("n.kind"), nodeKinds);
|
|
10969
10969
|
}
|
|
10970
10970
|
function normalizeNodeKinds(nodeKinds) {
|
|
10971
10971
|
if (nodeKinds === void 0) return void 0;
|
|
@@ -11003,7 +11003,7 @@ async function executeDegree(ctx, nodeId, options = {}) {
|
|
|
11003
11003
|
compileDirectionFilter(ctx, direction, nodeId, schema.nodesTable)
|
|
11004
11004
|
];
|
|
11005
11005
|
if (options.edges !== void 0) {
|
|
11006
|
-
whereClauses.push(
|
|
11006
|
+
whereClauses.push(chunkKDRF3NR2_cjs.compileKindFilter(chunkX2XOQZT3_cjs.sql.raw("kind"), options.edges));
|
|
11007
11007
|
}
|
|
11008
11008
|
const countExpr = direction === "both" ? chunkX2XOQZT3_cjs.sql`COUNT(DISTINCT id)` : chunkX2XOQZT3_cjs.sql`COUNT(*)`;
|
|
11009
11009
|
const query = chunkX2XOQZT3_cjs.sql`SELECT ${countExpr} AS count FROM ${schema.edgesTable} WHERE ${chunkX2XOQZT3_cjs.sql.join(whereClauses, chunkX2XOQZT3_cjs.sql` AND `)}`;
|
|
@@ -11105,7 +11105,7 @@ async function runIterativeGraphOperation(ctx, options, plan) {
|
|
|
11105
11105
|
};
|
|
11106
11106
|
return ctx.backend.transaction(async (backend) => {
|
|
11107
11107
|
const temporaryBackend = requireTemporaryStatements(backend);
|
|
11108
|
-
const runId =
|
|
11108
|
+
const runId = chunkKDRF3NR2_cjs.generateId();
|
|
11109
11109
|
const workingTable = chunkX2XOQZT3_cjs.sql.identifier(
|
|
11110
11110
|
`typegraph_iterative_${runId.replaceAll("-", "_")}`
|
|
11111
11111
|
);
|
|
@@ -11203,7 +11203,7 @@ async function cleanupWorkingTables(context, cleanup, operationFailure) {
|
|
|
11203
11203
|
async function fetchVisibleWorkingNodes(operation, nodeIds) {
|
|
11204
11204
|
const nodes = /* @__PURE__ */ new Map();
|
|
11205
11205
|
for (const chunk2 of chunkValues(nodeIds, operation.maxWorkingSetSize)) {
|
|
11206
|
-
const query = chunkX2XOQZT3_cjs.sql`SELECT n.id, n.kind FROM ${operation.schema.nodesTable} n WHERE n.graph_id = ${operation.ctx.graphId} AND n.id IN (${
|
|
11206
|
+
const query = chunkX2XOQZT3_cjs.sql`SELECT n.id, n.kind FROM ${operation.schema.nodesTable} n WHERE n.graph_id = ${operation.ctx.graphId} AND n.id IN (${chunkKDRF3NR2_cjs.sqlValueList(chunk2)}) AND ${operation.nodeTemporalFilter}`;
|
|
11207
11207
|
const rows = await operation.backend.execute(
|
|
11208
11208
|
chunkX2XOQZT3_cjs.asCompiledRowsSql(query)
|
|
11209
11209
|
);
|
|
@@ -11350,7 +11350,7 @@ function compileDirectionalExpansion(operation, workingRelation, sourceFilter, e
|
|
|
11350
11350
|
return chunkX2XOQZT3_cjs.sql`SELECT expanded.source_id, expanded.source_kind, n.id AS target_id, n.kind AS target_kind${weightColumn} FROM (${edgeExpansion}) expanded JOIN ${operation.schema.nodesTable} n ON n.graph_id = ${operation.ctx.graphId} AND n.id = expanded.target_id AND n.kind = expanded.target_kind WHERE ${operation.nodeTemporalFilter}`;
|
|
11351
11351
|
}
|
|
11352
11352
|
function compileDirectionalEdgeExpansion(operation, workingRelation, sourceFilter, edgeKinds, joinField, joinKindField, targetField, targetKindField, sourceProjection) {
|
|
11353
|
-
const edgeKindFilter =
|
|
11353
|
+
const edgeKindFilter = chunkKDRF3NR2_cjs.compileKindFilter(chunkX2XOQZT3_cjs.sql.raw("e.kind"), edgeKinds);
|
|
11354
11354
|
const weightColumn = operation.weightExpression === void 0 ? chunkX2XOQZT3_cjs.sql`` : chunkX2XOQZT3_cjs.sql`, ${operation.weightExpression} AS weight`;
|
|
11355
11355
|
const sourceColumns = sourceProjection === void 0 ? chunkX2XOQZT3_cjs.sql`` : chunkX2XOQZT3_cjs.sql`, ${sourceProjection}`;
|
|
11356
11356
|
return chunkX2XOQZT3_cjs.sql`SELECT w.node_id AS source_id, w.node_kind AS source_kind${sourceColumns}, e.${chunkX2XOQZT3_cjs.sql.raw(targetField)} AS target_id, e.${chunkX2XOQZT3_cjs.sql.raw(targetKindField)} AS target_kind${weightColumn} FROM ${workingRelation} w JOIN ${operation.schema.edgesTable} e ON e.${chunkX2XOQZT3_cjs.sql.raw(joinField)} = w.node_id AND e.${chunkX2XOQZT3_cjs.sql.raw(joinKindField)} = w.node_kind AND e.graph_id = ${operation.ctx.graphId} WHERE ${sourceFilter} AND ${edgeKindFilter} AND ${operation.edgeTemporalFilter}`;
|
|
@@ -11364,15 +11364,15 @@ function chunkValues(values, chunkSize) {
|
|
|
11364
11364
|
}
|
|
11365
11365
|
function createOperation(ctx, options, backend) {
|
|
11366
11366
|
const temporal = resolveTemporalOptions(ctx, options);
|
|
11367
|
-
const currentTimestamp =
|
|
11368
|
-
const nodeTemporalFilter =
|
|
11367
|
+
const currentTimestamp = chunkKDRF3NR2_cjs.currentReadInstant();
|
|
11368
|
+
const nodeTemporalFilter = chunkKDRF3NR2_cjs.compileTemporalFilter({
|
|
11369
11369
|
mode: temporal.temporalMode,
|
|
11370
11370
|
...temporal.asOf === void 0 ? {} : { asOf: temporal.asOf },
|
|
11371
11371
|
...temporal.recordedAsOf === void 0 ? {} : { recordedAsOf: temporal.recordedAsOf },
|
|
11372
11372
|
tableAlias: "n",
|
|
11373
11373
|
currentTimestamp
|
|
11374
11374
|
});
|
|
11375
|
-
const edgeTemporalFilter =
|
|
11375
|
+
const edgeTemporalFilter = chunkKDRF3NR2_cjs.compileTemporalFilter({
|
|
11376
11376
|
mode: temporal.temporalMode,
|
|
11377
11377
|
...temporal.asOf === void 0 ? {} : { asOf: temporal.asOf },
|
|
11378
11378
|
...temporal.recordedAsOf === void 0 ? {} : { recordedAsOf: temporal.recordedAsOf },
|
|
@@ -12998,7 +12998,7 @@ async function assertValidEdgeWeights(operation, weightProperty, defaultWeight)
|
|
|
12998
12998
|
const negativeViolation = chunkX2XOQZT3_cjs.sql`audited.is_number = 1 AND audited.weight_number < 0`;
|
|
12999
12999
|
const outOfRangeViolation = chunkX2XOQZT3_cjs.sql`audited.is_number = 1 AND (ABS(audited.weight_number) > CAST(${MAX_EDGE_WEIGHT} AS NUMERIC) OR (audited.weight_number <> 0 AND ABS(audited.weight_number) < CAST(${MIN_EDGE_WEIGHT} AS NUMERIC)))`;
|
|
13000
13000
|
for (const edgeKinds of operation.edgeKindChunks) {
|
|
13001
|
-
const edgeKindFilter =
|
|
13001
|
+
const edgeKindFilter = chunkKDRF3NR2_cjs.compileKindFilter(chunkX2XOQZT3_cjs.sql.raw("e.kind"), edgeKinds);
|
|
13002
13002
|
const rows = await operation.backend.execute(
|
|
13003
13003
|
chunkX2XOQZT3_cjs.asCompiledRowsSql(chunkX2XOQZT3_cjs.sql`
|
|
13004
13004
|
SELECT audited.edge_id, audited.edge_kind, audited.weight_text,
|
|
@@ -13601,7 +13601,7 @@ function createEdgeCollection(config) {
|
|
|
13601
13601
|
},
|
|
13602
13602
|
async getByIds(ids, options) {
|
|
13603
13603
|
if (ids.length === 0) return [];
|
|
13604
|
-
const rowsById = await
|
|
13604
|
+
const rowsById = await chunkKDRF3NR2_cjs.getEdgeRowsByIds(backend, graphId, ids);
|
|
13605
13605
|
const matches = temporalRowMatcher(options);
|
|
13606
13606
|
return ids.map((id) => {
|
|
13607
13607
|
const row = rowsById.get(id);
|
|
@@ -13703,7 +13703,7 @@ function createEdgeCollection(config) {
|
|
|
13703
13703
|
if (items.length === 0) return [];
|
|
13704
13704
|
const upsertAll = async (target) => {
|
|
13705
13705
|
const ids = items.map((item) => item.id);
|
|
13706
|
-
const existingMap = await
|
|
13706
|
+
const existingMap = await chunkKDRF3NR2_cjs.getEdgeRowsByIds(target, graphId, ids);
|
|
13707
13707
|
const results2 = Array.from({ length: items.length });
|
|
13708
13708
|
const toCreate = [];
|
|
13709
13709
|
const toUpdate = [];
|
|
@@ -13832,11 +13832,18 @@ function createEdgeCollection(config) {
|
|
|
13832
13832
|
return result === void 0 ? void 0 : narrowEdge(result);
|
|
13833
13833
|
},
|
|
13834
13834
|
async getOrCreateByEndpoints(from, to, props, options) {
|
|
13835
|
-
const getOrCreateOptions = {
|
|
13836
|
-
|
|
13837
|
-
|
|
13838
|
-
|
|
13839
|
-
|
|
13835
|
+
const getOrCreateOptions = {
|
|
13836
|
+
...options?.matchOn !== void 0 && {
|
|
13837
|
+
matchOn: options.matchOn
|
|
13838
|
+
},
|
|
13839
|
+
...options?.ifExists !== void 0 && {
|
|
13840
|
+
ifExists: options.ifExists
|
|
13841
|
+
},
|
|
13842
|
+
...options?.validFrom !== void 0 && {
|
|
13843
|
+
validFrom: options.validFrom
|
|
13844
|
+
},
|
|
13845
|
+
...options?.validTo !== void 0 && { validTo: options.validTo }
|
|
13846
|
+
};
|
|
13840
13847
|
const result = await config.executeGetOrCreateByEndpoints(
|
|
13841
13848
|
kind,
|
|
13842
13849
|
from.kind,
|
|
@@ -13856,13 +13863,18 @@ function createEdgeCollection(config) {
|
|
|
13856
13863
|
fromId: item.from.id,
|
|
13857
13864
|
toKind: item.to.kind,
|
|
13858
13865
|
toId: item.to.id,
|
|
13859
|
-
props: item.props
|
|
13866
|
+
props: item.props,
|
|
13867
|
+
...item.validFrom !== void 0 && { validFrom: item.validFrom },
|
|
13868
|
+
...item.validTo !== void 0 && { validTo: item.validTo }
|
|
13860
13869
|
}));
|
|
13861
|
-
const getOrCreateOptions = {
|
|
13862
|
-
|
|
13863
|
-
|
|
13864
|
-
|
|
13865
|
-
|
|
13870
|
+
const getOrCreateOptions = {
|
|
13871
|
+
...options?.matchOn !== void 0 && {
|
|
13872
|
+
matchOn: options.matchOn
|
|
13873
|
+
},
|
|
13874
|
+
...options?.ifExists !== void 0 && {
|
|
13875
|
+
ifExists: options.ifExists
|
|
13876
|
+
}
|
|
13877
|
+
};
|
|
13866
13878
|
const getOrCreateAll = async (target) => {
|
|
13867
13879
|
const results = await config.executeBulkGetOrCreateByEndpoints(
|
|
13868
13880
|
kind,
|
|
@@ -13960,7 +13972,7 @@ function createNodeCollection(config) {
|
|
|
13960
13972
|
},
|
|
13961
13973
|
async getByIds(ids, options) {
|
|
13962
13974
|
if (ids.length === 0) return [];
|
|
13963
|
-
const rowsById = await
|
|
13975
|
+
const rowsById = await chunkKDRF3NR2_cjs.getNodeRowsByIds(backend, graphId, kind, ids);
|
|
13964
13976
|
const matches = temporalRowMatcher(options);
|
|
13965
13977
|
return ids.map((id) => {
|
|
13966
13978
|
const row = rowsById.get(id);
|
|
@@ -14393,7 +14405,7 @@ var HISTORY_STORE_BACKEND_KEYS = [
|
|
|
14393
14405
|
];
|
|
14394
14406
|
function createHistoryStoreBackendProjection(backend) {
|
|
14395
14407
|
return Object.freeze(
|
|
14396
|
-
|
|
14408
|
+
chunkKDRF3NR2_cjs.projectBackendMembers(backend, HISTORY_STORE_BACKEND_KEYS)
|
|
14397
14409
|
);
|
|
14398
14410
|
}
|
|
14399
14411
|
|
|
@@ -14958,7 +14970,7 @@ async function preloadExistingTables(backend, tableNames) {
|
|
|
14958
14970
|
chunkX2XOQZT3_cjs.asCompiledRowsSql(chunkX2XOQZT3_cjs.sql`
|
|
14959
14971
|
SELECT c.relname AS name
|
|
14960
14972
|
FROM pg_class c
|
|
14961
|
-
WHERE c.relname IN (${
|
|
14973
|
+
WHERE c.relname IN (${chunkKDRF3NR2_cjs.sqlValueList(tableNames)})
|
|
14962
14974
|
AND c.relkind IN ('r', 'p')
|
|
14963
14975
|
AND pg_catalog.pg_table_is_visible(c.oid)
|
|
14964
14976
|
`)
|
|
@@ -14971,7 +14983,7 @@ async function preloadExistingTables(backend, tableNames) {
|
|
|
14971
14983
|
SELECT name
|
|
14972
14984
|
FROM sqlite_master
|
|
14973
14985
|
WHERE type = 'table'
|
|
14974
|
-
AND name IN (${
|
|
14986
|
+
AND name IN (${chunkKDRF3NR2_cjs.sqlValueList(tableNames)})
|
|
14975
14987
|
`)
|
|
14976
14988
|
);
|
|
14977
14989
|
return new Set(rows.map((row) => row.name));
|
|
@@ -14992,7 +15004,7 @@ async function preloadPhysicalIndexStates(backend, physicalIndexNames) {
|
|
|
14992
15004
|
SELECT c.relname AS name, i.indisvalid AS valid
|
|
14993
15005
|
FROM pg_class c
|
|
14994
15006
|
JOIN pg_index i ON i.indexrelid = c.oid
|
|
14995
|
-
WHERE c.relname IN (${
|
|
15007
|
+
WHERE c.relname IN (${chunkKDRF3NR2_cjs.sqlValueList(physicalIndexNames)})
|
|
14996
15008
|
AND pg_catalog.pg_table_is_visible(c.oid)
|
|
14997
15009
|
`)
|
|
14998
15010
|
);
|
|
@@ -15005,7 +15017,7 @@ async function preloadPhysicalIndexStates(backend, physicalIndexNames) {
|
|
|
15005
15017
|
SELECT name
|
|
15006
15018
|
FROM sqlite_master
|
|
15007
15019
|
WHERE type = 'index'
|
|
15008
|
-
AND name IN (${
|
|
15020
|
+
AND name IN (${chunkKDRF3NR2_cjs.sqlValueList(physicalIndexNames)})
|
|
15009
15021
|
`)
|
|
15010
15022
|
);
|
|
15011
15023
|
for (const row of rows) valid.add(row.name);
|
|
@@ -15363,7 +15375,7 @@ async function closeRecordedAndDeleteLiveRows(ctx, row) {
|
|
|
15363
15375
|
const recordedSchema = ctx.recordedSchema;
|
|
15364
15376
|
try {
|
|
15365
15377
|
await ctx.backend.transaction(async (target) => {
|
|
15366
|
-
await
|
|
15378
|
+
await chunkKDRF3NR2_cjs.closeRecordedHardDeletedKind(
|
|
15367
15379
|
target,
|
|
15368
15380
|
recordedSchema,
|
|
15369
15381
|
ctx.graphId,
|
|
@@ -15688,7 +15700,7 @@ async function validateAndPrepareEdgeCreate(ctx, input, id, backend) {
|
|
|
15688
15700
|
const toKind = input.toKind;
|
|
15689
15701
|
const registration = getEdgeRegistration(ctx.graph, kind);
|
|
15690
15702
|
const edgeKind = registration.type;
|
|
15691
|
-
const endpointError =
|
|
15703
|
+
const endpointError = chunkKDRF3NR2_cjs.validateEdgeEndpoints(
|
|
15692
15704
|
kind,
|
|
15693
15705
|
fromKind,
|
|
15694
15706
|
toKind,
|
|
@@ -15729,7 +15741,7 @@ async function validateAndPrepareEdgeCreate(ctx, input, id, backend) {
|
|
|
15729
15741
|
registry: ctx.registry,
|
|
15730
15742
|
backend
|
|
15731
15743
|
};
|
|
15732
|
-
await
|
|
15744
|
+
await chunkBLBG2VZ5_cjs.checkCardinalityConstraint(
|
|
15733
15745
|
constraintContext,
|
|
15734
15746
|
kind,
|
|
15735
15747
|
cardinality,
|
|
@@ -15757,16 +15769,16 @@ async function validateAndPrepareEdgeCreate(ctx, input, id, backend) {
|
|
|
15757
15769
|
}
|
|
15758
15770
|
async function executeEdgeCreateInternal(ctx, input, backend, options) {
|
|
15759
15771
|
const kind = input.kind;
|
|
15760
|
-
const id = input.id ??
|
|
15772
|
+
const id = input.id ?? chunkKDRF3NR2_cjs.generateId();
|
|
15761
15773
|
const opContext = ctx.createOperationContext("create", "edge", kind, id);
|
|
15762
|
-
return
|
|
15774
|
+
return chunkBLBG2VZ5_cjs.runHookedWriteOperation(ctx, opContext, backend, async (target) => {
|
|
15763
15775
|
const prepared = await validateAndPrepareEdgeCreate(ctx, input, id, target);
|
|
15764
15776
|
let row;
|
|
15765
15777
|
{
|
|
15766
15778
|
row = await target.insertEdge(prepared.insertParams);
|
|
15767
15779
|
}
|
|
15768
15780
|
if (row === void 0) return;
|
|
15769
|
-
return
|
|
15781
|
+
return chunkBLBG2VZ5_cjs.rowToEdge(row);
|
|
15770
15782
|
});
|
|
15771
15783
|
}
|
|
15772
15784
|
async function executeEdgeCreate(ctx, input, backend) {
|
|
@@ -15809,7 +15821,7 @@ async function prepareEdgeBatchCreates(ctx, inputs, backend) {
|
|
|
15809
15821
|
await primeEdgeBatchValidationCache(ctx, inputs, backend, seedEndpointRow);
|
|
15810
15822
|
const preparedCreates = [];
|
|
15811
15823
|
for (const input of inputs) {
|
|
15812
|
-
const id = input.id ??
|
|
15824
|
+
const id = input.id ?? chunkKDRF3NR2_cjs.generateId();
|
|
15813
15825
|
const prepared = await validateAndPrepareEdgeCreate(
|
|
15814
15826
|
ctx,
|
|
15815
15827
|
input,
|
|
@@ -15831,30 +15843,30 @@ async function executeEdgeCreateNoReturnBatch(ctx, inputs, backend) {
|
|
|
15831
15843
|
if (inputs.length === 0) {
|
|
15832
15844
|
return;
|
|
15833
15845
|
}
|
|
15834
|
-
await
|
|
15846
|
+
await chunkBLBG2VZ5_cjs.runInWriteTransaction(ctx, backend, async (target) => {
|
|
15835
15847
|
const { batchInsertParams } = await prepareEdgeBatchCreates(
|
|
15836
15848
|
ctx,
|
|
15837
15849
|
inputs,
|
|
15838
15850
|
target
|
|
15839
15851
|
);
|
|
15840
|
-
await
|
|
15852
|
+
await chunkKDRF3NR2_cjs.runInsertBatch(chunkKDRF3NR2_cjs.edgeInsertDispatch(target), batchInsertParams);
|
|
15841
15853
|
});
|
|
15842
15854
|
}
|
|
15843
15855
|
async function executeEdgeCreateBatch(ctx, inputs, backend) {
|
|
15844
15856
|
if (inputs.length === 0) {
|
|
15845
15857
|
return [];
|
|
15846
15858
|
}
|
|
15847
|
-
return
|
|
15859
|
+
return chunkBLBG2VZ5_cjs.runInWriteTransaction(ctx, backend, async (target) => {
|
|
15848
15860
|
const { batchInsertParams } = await prepareEdgeBatchCreates(
|
|
15849
15861
|
ctx,
|
|
15850
15862
|
inputs,
|
|
15851
15863
|
target
|
|
15852
15864
|
);
|
|
15853
|
-
const rows = await
|
|
15854
|
-
|
|
15865
|
+
const rows = await chunkKDRF3NR2_cjs.runInsertBatchReturning(
|
|
15866
|
+
chunkKDRF3NR2_cjs.edgeInsertDispatch(target),
|
|
15855
15867
|
batchInsertParams
|
|
15856
15868
|
);
|
|
15857
|
-
return rows.map((row) =>
|
|
15869
|
+
return rows.map((row) => chunkBLBG2VZ5_cjs.rowToEdge(row));
|
|
15858
15870
|
});
|
|
15859
15871
|
}
|
|
15860
15872
|
function computeEdgeUpdate(ctx, kind, id, existingProps, inputProps) {
|
|
@@ -15905,7 +15917,7 @@ async function performEdgeUpdate(ctx, input, target, options) {
|
|
|
15905
15917
|
if (validTo !== void 0) updateParams.validTo = validTo;
|
|
15906
15918
|
if (options?.clearDeleted) updateParams.clearDeleted = true;
|
|
15907
15919
|
const row = await target.updateEdge(updateParams);
|
|
15908
|
-
return
|
|
15920
|
+
return chunkBLBG2VZ5_cjs.rowToEdge(row);
|
|
15909
15921
|
}
|
|
15910
15922
|
async function executeEdgeUpdate(ctx, input, backend) {
|
|
15911
15923
|
const id = input.id;
|
|
@@ -15914,7 +15926,7 @@ async function executeEdgeUpdate(ctx, input, backend) {
|
|
|
15914
15926
|
throw new chunkKTBTSHU6_cjs.EdgeNotFoundError("unknown", id);
|
|
15915
15927
|
}
|
|
15916
15928
|
const opContext = ctx.createOperationContext("update", "edge", gate.kind, id);
|
|
15917
|
-
return
|
|
15929
|
+
return chunkBLBG2VZ5_cjs.runHookedWriteOperation(
|
|
15918
15930
|
ctx,
|
|
15919
15931
|
opContext,
|
|
15920
15932
|
backend,
|
|
@@ -15922,7 +15934,7 @@ async function executeEdgeUpdate(ctx, input, backend) {
|
|
|
15922
15934
|
);
|
|
15923
15935
|
}
|
|
15924
15936
|
async function executeEdgeUpsertUpdate(ctx, input, backend, options) {
|
|
15925
|
-
return
|
|
15937
|
+
return chunkBLBG2VZ5_cjs.runInWriteTransaction(
|
|
15926
15938
|
ctx,
|
|
15927
15939
|
backend,
|
|
15928
15940
|
(target) => performEdgeUpdate(ctx, input, target, options)
|
|
@@ -15932,7 +15944,7 @@ async function executeEdgeDelete(ctx, id, backend) {
|
|
|
15932
15944
|
const gate = await backend.getEdge(ctx.graphId, id);
|
|
15933
15945
|
if (!gate || gate.deleted_at) return;
|
|
15934
15946
|
const opContext = ctx.createOperationContext("delete", "edge", gate.kind, id);
|
|
15935
|
-
return
|
|
15947
|
+
return chunkBLBG2VZ5_cjs.runHookedWriteOperation(ctx, opContext, backend, async (target) => {
|
|
15936
15948
|
await target.deleteEdge({
|
|
15937
15949
|
graphId: ctx.graphId,
|
|
15938
15950
|
id
|
|
@@ -15943,7 +15955,7 @@ async function executeEdgeHardDelete(ctx, id, backend) {
|
|
|
15943
15955
|
const gate = await backend.getEdge(ctx.graphId, id);
|
|
15944
15956
|
if (!gate) return;
|
|
15945
15957
|
const opContext = ctx.createOperationContext("delete", "edge", gate.kind, id);
|
|
15946
|
-
return
|
|
15958
|
+
return chunkBLBG2VZ5_cjs.runHookedWriteOperation(ctx, opContext, backend, async (target) => {
|
|
15947
15959
|
await target.hardDeleteEdge({
|
|
15948
15960
|
graphId: ctx.graphId,
|
|
15949
15961
|
id
|
|
@@ -16050,9 +16062,9 @@ async function executeEdgeFindByEndpoints(ctx, kind, fromKind, fromId, toKind, t
|
|
|
16050
16062
|
...options?.asOf !== void 0 && { asOf: options.asOf }
|
|
16051
16063
|
});
|
|
16052
16064
|
if (candidateRows.length === 0) return void 0;
|
|
16053
|
-
if (matchOn.length === 0) return
|
|
16065
|
+
if (matchOn.length === 0) return chunkBLBG2VZ5_cjs.rowToEdge(chunk764JHTLT_cjs.requireDefined(candidateRows[0]));
|
|
16054
16066
|
const { liveRow } = findMatchingEdge(candidateRows, matchOn, props);
|
|
16055
|
-
return liveRow === void 0 ? void 0 :
|
|
16067
|
+
return liveRow === void 0 ? void 0 : chunkBLBG2VZ5_cjs.rowToEdge(liveRow);
|
|
16056
16068
|
}
|
|
16057
16069
|
async function executeEdgeGetOrCreateByEndpoints(ctx, kind, fromKind, fromId, toKind, toId, props, backend, options) {
|
|
16058
16070
|
const ifExists = options?.ifExists ?? "return";
|
|
@@ -16064,6 +16076,11 @@ async function executeEdgeGetOrCreateByEndpoints(ctx, kind, fromKind, fromId, to
|
|
|
16064
16076
|
operation: "create"
|
|
16065
16077
|
});
|
|
16066
16078
|
validateMatchOnFields(edgeKind.schema, matchOn, kind);
|
|
16079
|
+
const validFrom = chunkZBV4LQD2_cjs.validateOptionalCanonicalIsoDate(
|
|
16080
|
+
options?.validFrom,
|
|
16081
|
+
"validFrom"
|
|
16082
|
+
);
|
|
16083
|
+
const validTo = chunkZBV4LQD2_cjs.validateOptionalCanonicalIsoDate(options?.validTo, "validTo");
|
|
16067
16084
|
if (ifExists === "return") {
|
|
16068
16085
|
const probeRows = await backend.findEdgesByKind({
|
|
16069
16086
|
graphId: ctx.graphId,
|
|
@@ -16081,7 +16098,7 @@ async function executeEdgeGetOrCreateByEndpoints(ctx, kind, fromKind, fromId, to
|
|
|
16081
16098
|
validatedProps
|
|
16082
16099
|
);
|
|
16083
16100
|
if (probedLiveRow !== void 0) {
|
|
16084
|
-
return { edge:
|
|
16101
|
+
return { edge: chunkBLBG2VZ5_cjs.rowToEdge(probedLiveRow), action: "found" };
|
|
16085
16102
|
}
|
|
16086
16103
|
}
|
|
16087
16104
|
async function attempt() {
|
|
@@ -16107,18 +16124,24 @@ async function executeEdgeGetOrCreateByEndpoints(ctx, kind, fromKind, fromId, to
|
|
|
16107
16124
|
fromId,
|
|
16108
16125
|
toKind,
|
|
16109
16126
|
toId,
|
|
16110
|
-
props: validatedProps
|
|
16127
|
+
props: validatedProps,
|
|
16128
|
+
...validFrom !== void 0 && { validFrom },
|
|
16129
|
+
...validTo !== void 0 && { validTo }
|
|
16111
16130
|
};
|
|
16112
16131
|
const edge2 = await executeEdgeCreate(ctx, input, backend);
|
|
16113
16132
|
return { edge: edge2, action: "created" };
|
|
16114
16133
|
}
|
|
16115
16134
|
if (liveRow !== void 0) {
|
|
16116
16135
|
if (ifExists === "return") {
|
|
16117
|
-
return { edge:
|
|
16136
|
+
return { edge: chunkBLBG2VZ5_cjs.rowToEdge(liveRow), action: "found" };
|
|
16118
16137
|
}
|
|
16119
16138
|
const edge2 = await executeEdgeUpsertUpdate(
|
|
16120
16139
|
ctx,
|
|
16121
|
-
{
|
|
16140
|
+
{
|
|
16141
|
+
id: liveRow.id,
|
|
16142
|
+
props: validatedProps,
|
|
16143
|
+
...validTo !== void 0 && { validTo }
|
|
16144
|
+
},
|
|
16122
16145
|
backend
|
|
16123
16146
|
);
|
|
16124
16147
|
return { edge: edge2, action: "updated" };
|
|
@@ -16128,13 +16151,13 @@ async function executeEdgeGetOrCreateByEndpoints(ctx, kind, fromKind, fromId, to
|
|
|
16128
16151
|
throw new Error("Expected deletedRow to be defined");
|
|
16129
16152
|
}
|
|
16130
16153
|
const matchedDeletedRow = deletedRow;
|
|
16131
|
-
const effectiveValidTo = matchedDeletedRow.valid_to;
|
|
16154
|
+
const effectiveValidTo = validTo ?? matchedDeletedRow.valid_to;
|
|
16132
16155
|
const constraintContext = {
|
|
16133
16156
|
graphId: ctx.graphId,
|
|
16134
16157
|
registry: ctx.registry,
|
|
16135
16158
|
backend
|
|
16136
16159
|
};
|
|
16137
|
-
await
|
|
16160
|
+
await chunkBLBG2VZ5_cjs.checkCardinalityConstraint(
|
|
16138
16161
|
constraintContext,
|
|
16139
16162
|
kind,
|
|
16140
16163
|
cardinality,
|
|
@@ -16146,7 +16169,11 @@ async function executeEdgeGetOrCreateByEndpoints(ctx, kind, fromKind, fromId, to
|
|
|
16146
16169
|
);
|
|
16147
16170
|
const edge = await executeEdgeUpsertUpdate(
|
|
16148
16171
|
ctx,
|
|
16149
|
-
{
|
|
16172
|
+
{
|
|
16173
|
+
id: matchedDeletedRow.id,
|
|
16174
|
+
props: validatedProps,
|
|
16175
|
+
...validTo !== void 0 && { validTo }
|
|
16176
|
+
},
|
|
16150
16177
|
backend,
|
|
16151
16178
|
{ clearDeleted: true }
|
|
16152
16179
|
);
|
|
@@ -16173,6 +16200,11 @@ async function executeEdgeBulkGetOrCreateByEndpoints(ctx, kind, items, backend,
|
|
|
16173
16200
|
kind,
|
|
16174
16201
|
operation: "create"
|
|
16175
16202
|
});
|
|
16203
|
+
const validFrom = chunkZBV4LQD2_cjs.validateOptionalCanonicalIsoDate(
|
|
16204
|
+
item.validFrom,
|
|
16205
|
+
"validFrom"
|
|
16206
|
+
);
|
|
16207
|
+
const validTo = chunkZBV4LQD2_cjs.validateOptionalCanonicalIsoDate(item.validTo, "validTo");
|
|
16176
16208
|
const compositeKey = buildEdgeCompositeKey(
|
|
16177
16209
|
item.fromKind,
|
|
16178
16210
|
item.fromId,
|
|
@@ -16194,7 +16226,9 @@ async function executeEdgeBulkGetOrCreateByEndpoints(ctx, kind, items, backend,
|
|
|
16194
16226
|
toId: item.toId,
|
|
16195
16227
|
validatedProps,
|
|
16196
16228
|
compositeKey,
|
|
16197
|
-
endpointKey
|
|
16229
|
+
endpointKey,
|
|
16230
|
+
...validFrom !== void 0 && { validFrom },
|
|
16231
|
+
...validTo !== void 0 && { validTo }
|
|
16198
16232
|
});
|
|
16199
16233
|
}
|
|
16200
16234
|
const uniqueEndpoints = /* @__PURE__ */ new Map();
|
|
@@ -16252,7 +16286,11 @@ async function executeEdgeBulkGetOrCreateByEndpoints(ctx, kind, items, backend,
|
|
|
16252
16286
|
fromId: entry2.fromId,
|
|
16253
16287
|
toKind: entry2.toKind,
|
|
16254
16288
|
toId: entry2.toId,
|
|
16255
|
-
props: entry2.validatedProps
|
|
16289
|
+
props: entry2.validatedProps,
|
|
16290
|
+
...entry2.validFrom !== void 0 && {
|
|
16291
|
+
validFrom: entry2.validFrom
|
|
16292
|
+
},
|
|
16293
|
+
...entry2.validTo !== void 0 && { validTo: entry2.validTo }
|
|
16256
16294
|
}
|
|
16257
16295
|
});
|
|
16258
16296
|
} else {
|
|
@@ -16268,7 +16306,8 @@ async function executeEdgeBulkGetOrCreateByEndpoints(ctx, kind, items, backend,
|
|
|
16268
16306
|
fromKind: entry2.fromKind,
|
|
16269
16307
|
fromId: entry2.fromId,
|
|
16270
16308
|
toKind: entry2.toKind,
|
|
16271
|
-
toId: entry2.toId
|
|
16309
|
+
toId: entry2.toId,
|
|
16310
|
+
...entry2.validTo !== void 0 && { validTo: entry2.validTo }
|
|
16272
16311
|
});
|
|
16273
16312
|
}
|
|
16274
16313
|
}
|
|
@@ -16280,7 +16319,7 @@ async function executeEdgeBulkGetOrCreateByEndpoints(ctx, kind, items, backend,
|
|
|
16280
16319
|
if (allFoundLive) {
|
|
16281
16320
|
const found = Array.from({ length: items.length });
|
|
16282
16321
|
for (const entry2 of probe.toFetch) {
|
|
16283
|
-
found[entry2.index] = { edge:
|
|
16322
|
+
found[entry2.index] = { edge: chunkBLBG2VZ5_cjs.rowToEdge(entry2.row), action: "found" };
|
|
16284
16323
|
}
|
|
16285
16324
|
for (const { index, sourceIndex } of probe.duplicateOf) {
|
|
16286
16325
|
found[index] = {
|
|
@@ -16291,7 +16330,7 @@ async function executeEdgeBulkGetOrCreateByEndpoints(ctx, kind, items, backend,
|
|
|
16291
16330
|
return found;
|
|
16292
16331
|
}
|
|
16293
16332
|
}
|
|
16294
|
-
return
|
|
16333
|
+
return chunkBLBG2VZ5_cjs.runInWriteTransaction(ctx, backend, async (target) => {
|
|
16295
16334
|
const { toCreate, toFetch, duplicateOf } = partitionEntries(
|
|
16296
16335
|
await fetchRowsByEndpoint(target)
|
|
16297
16336
|
);
|
|
@@ -16312,13 +16351,13 @@ async function executeEdgeBulkGetOrCreateByEndpoints(ctx, kind, items, backend,
|
|
|
16312
16351
|
}
|
|
16313
16352
|
for (const entry2 of toFetch) {
|
|
16314
16353
|
if (entry2.isDeleted) {
|
|
16315
|
-
const effectiveValidTo = entry2.row.valid_to;
|
|
16354
|
+
const effectiveValidTo = entry2.validTo ?? entry2.row.valid_to;
|
|
16316
16355
|
const constraintContext = {
|
|
16317
16356
|
graphId: ctx.graphId,
|
|
16318
16357
|
registry: ctx.registry,
|
|
16319
16358
|
backend: target
|
|
16320
16359
|
};
|
|
16321
|
-
await
|
|
16360
|
+
await chunkBLBG2VZ5_cjs.checkCardinalityConstraint(
|
|
16322
16361
|
constraintContext,
|
|
16323
16362
|
kind,
|
|
16324
16363
|
cardinality,
|
|
@@ -16330,7 +16369,11 @@ async function executeEdgeBulkGetOrCreateByEndpoints(ctx, kind, items, backend,
|
|
|
16330
16369
|
);
|
|
16331
16370
|
const edge = await executeEdgeUpsertUpdate(
|
|
16332
16371
|
ctx,
|
|
16333
|
-
{
|
|
16372
|
+
{
|
|
16373
|
+
id: entry2.row.id,
|
|
16374
|
+
props: entry2.validatedProps,
|
|
16375
|
+
...entry2.validTo !== void 0 && { validTo: entry2.validTo }
|
|
16376
|
+
},
|
|
16334
16377
|
target,
|
|
16335
16378
|
{ clearDeleted: true }
|
|
16336
16379
|
);
|
|
@@ -16338,12 +16381,16 @@ async function executeEdgeBulkGetOrCreateByEndpoints(ctx, kind, items, backend,
|
|
|
16338
16381
|
} else if (ifExists === "update") {
|
|
16339
16382
|
const edge = await executeEdgeUpsertUpdate(
|
|
16340
16383
|
ctx,
|
|
16341
|
-
{
|
|
16384
|
+
{
|
|
16385
|
+
id: entry2.row.id,
|
|
16386
|
+
props: entry2.validatedProps,
|
|
16387
|
+
...entry2.validTo !== void 0 && { validTo: entry2.validTo }
|
|
16388
|
+
},
|
|
16342
16389
|
target
|
|
16343
16390
|
);
|
|
16344
16391
|
results[entry2.index] = { edge, action: "updated" };
|
|
16345
16392
|
} else {
|
|
16346
|
-
results[entry2.index] = { edge:
|
|
16393
|
+
results[entry2.index] = { edge: chunkBLBG2VZ5_cjs.rowToEdge(entry2.row), action: "found" };
|
|
16347
16394
|
}
|
|
16348
16395
|
}
|
|
16349
16396
|
for (const { index, sourceIndex } of duplicateOf) {
|
|
@@ -16358,7 +16405,7 @@ async function executeEdgeBulkGetOrCreateByEndpoints(ctx, kind, items, backend,
|
|
|
16358
16405
|
var RECORDED_POINT_READ_FIXED_BIND_PARAMS = 8;
|
|
16359
16406
|
var RECORDED_SCAN_LIMIT = 1e3;
|
|
16360
16407
|
function recordedPointReadIdChunk(backend) {
|
|
16361
|
-
const budget =
|
|
16408
|
+
const budget = chunkKDRF3NR2_cjs.recordedBindParamBudget(backend);
|
|
16362
16409
|
return Math.max(1, budget - RECORDED_POINT_READ_FIXED_BIND_PARAMS);
|
|
16363
16410
|
}
|
|
16364
16411
|
function recordedRelationErrorDetails(backend, surface) {
|
|
@@ -16371,7 +16418,7 @@ function withRelationsPrecondition(backend, promise, surface) {
|
|
|
16371
16418
|
);
|
|
16372
16419
|
}
|
|
16373
16420
|
function createRecordedReadBackend(backend, surface) {
|
|
16374
|
-
const projectedBackend =
|
|
16421
|
+
const projectedBackend = chunkKDRF3NR2_cjs.createGraphBackendProjection(backend);
|
|
16375
16422
|
return chunkECU53PMN_cjs.createBackendOverlay(projectedBackend, {
|
|
16376
16423
|
execute: (query) => withRelationsPrecondition(backend, backend.execute(query), surface),
|
|
16377
16424
|
...backend.executeRaw === void 0 ? {} : {
|
|
@@ -16391,12 +16438,12 @@ function recordedTemporalFilter(backend, coordinate, tableAlias) {
|
|
|
16391
16438
|
{ code: "RECORDED_POINT_READ_MISSING_COORDINATE" }
|
|
16392
16439
|
);
|
|
16393
16440
|
}
|
|
16394
|
-
return
|
|
16441
|
+
return chunkKDRF3NR2_cjs.compileTemporalFilter({
|
|
16395
16442
|
mode: coordinate.valid.mode,
|
|
16396
16443
|
asOf: coordinate.valid.asOf,
|
|
16397
16444
|
recordedAsOf,
|
|
16398
16445
|
tableAlias,
|
|
16399
|
-
currentTimestamp:
|
|
16446
|
+
currentTimestamp: chunkKDRF3NR2_cjs.currentReadInstant()
|
|
16400
16447
|
});
|
|
16401
16448
|
}
|
|
16402
16449
|
function recordedRelationInvariantError(params) {
|
|
@@ -16497,7 +16544,7 @@ function createRecordedReadService(params) {
|
|
|
16497
16544
|
SELECT * FROM ${table} ${aliasSql}
|
|
16498
16545
|
WHERE ${aliasSql}.graph_id = ${graphId}
|
|
16499
16546
|
AND ${aliasSql}.kind = ${kind}
|
|
16500
|
-
AND ${aliasSql}.id IN (${
|
|
16547
|
+
AND ${aliasSql}.id IN (${chunkKDRF3NR2_cjs.sqlValueList(idChunk)})
|
|
16501
16548
|
AND ${temporalFilter}
|
|
16502
16549
|
ORDER BY ${aliasSql}.recorded_from
|
|
16503
16550
|
`)
|
|
@@ -16576,7 +16623,7 @@ function createRecordedReadService(params) {
|
|
|
16576
16623
|
kind,
|
|
16577
16624
|
ids,
|
|
16578
16625
|
coordinate,
|
|
16579
|
-
toEntity: (row) =>
|
|
16626
|
+
toEntity: (row) => chunkBLBG2VZ5_cjs.rowToNode(mapRecordedNodeRow(row))
|
|
16580
16627
|
});
|
|
16581
16628
|
}
|
|
16582
16629
|
function edgeGetByIds(kind, ids, coordinate) {
|
|
@@ -16588,7 +16635,7 @@ function createRecordedReadService(params) {
|
|
|
16588
16635
|
kind,
|
|
16589
16636
|
ids,
|
|
16590
16637
|
coordinate,
|
|
16591
|
-
toEntity: (row) =>
|
|
16638
|
+
toEntity: (row) => chunkBLBG2VZ5_cjs.rowToEdge(mapRecordedEdgeRow(row))
|
|
16592
16639
|
});
|
|
16593
16640
|
}
|
|
16594
16641
|
function nodeScan(kind, coordinate, options) {
|
|
@@ -16600,7 +16647,7 @@ function createRecordedReadService(params) {
|
|
|
16600
16647
|
kind,
|
|
16601
16648
|
coordinate,
|
|
16602
16649
|
options,
|
|
16603
|
-
toEntity: (row) =>
|
|
16650
|
+
toEntity: (row) => chunkBLBG2VZ5_cjs.rowToNode(mapRecordedNodeRow(row))
|
|
16604
16651
|
});
|
|
16605
16652
|
}
|
|
16606
16653
|
function edgeScan(kind, coordinate, options) {
|
|
@@ -16612,7 +16659,7 @@ function createRecordedReadService(params) {
|
|
|
16612
16659
|
kind,
|
|
16613
16660
|
coordinate,
|
|
16614
16661
|
options,
|
|
16615
|
-
toEntity: (row) =>
|
|
16662
|
+
toEntity: (row) => chunkBLBG2VZ5_cjs.rowToEdge(mapRecordedEdgeRow(row))
|
|
16616
16663
|
});
|
|
16617
16664
|
}
|
|
16618
16665
|
return {
|
|
@@ -16870,7 +16917,7 @@ function syncStoreReplacementRef(ref, replacement) {
|
|
|
16870
16917
|
ref.current = replacement;
|
|
16871
16918
|
}
|
|
16872
16919
|
var StoreImplementation = class _StoreImplementation {
|
|
16873
|
-
[
|
|
16920
|
+
[chunkKDRF3NR2_cjs.STORE_RUNTIME];
|
|
16874
16921
|
#graph;
|
|
16875
16922
|
/**
|
|
16876
16923
|
* Bare backend for DDL, vector-storage, and bulk-materialization work that must
|
|
@@ -16905,7 +16952,7 @@ var StoreImplementation = class _StoreImplementation {
|
|
|
16905
16952
|
this.#captureEnabled = options?.history === true;
|
|
16906
16953
|
this.#revisionTrackingEnabled = this.#captureEnabled || options?.revisionTracking === true;
|
|
16907
16954
|
if (this.#revisionTrackingEnabled) {
|
|
16908
|
-
|
|
16955
|
+
chunkKDRF3NR2_cjs.assertRevisionTrackableBackend(backend);
|
|
16909
16956
|
}
|
|
16910
16957
|
const explicitSchema = options?.schema === void 0 ? void 0 : chunkCVK4T34X_cjs.requireSqlSchema(options.schema, "store schema");
|
|
16911
16958
|
const resolvedSchema = explicitSchema ?? (backend.tableNames ? chunkCVK4T34X_cjs.createSqlSchema(backend.tableNames) : void 0);
|
|
@@ -16923,7 +16970,7 @@ var StoreImplementation = class _StoreImplementation {
|
|
|
16923
16970
|
options?.recordedRead
|
|
16924
16971
|
);
|
|
16925
16972
|
this.#recordedReadBinding = this.#captureEnabled ? chunkCVK4T34X_cjs.createRecordedReadBinding(readSchema) : externalRecordedRead;
|
|
16926
|
-
this.#backend = this.#captureEnabled ? asGraphWriteBackend(
|
|
16973
|
+
this.#backend = this.#captureEnabled ? asGraphWriteBackend(chunkKDRF3NR2_cjs.createRecordedBackend(backend, resolvedSchema)) : asGraphWriteBackend(backend);
|
|
16927
16974
|
this.#schema = resolvedSchema;
|
|
16928
16975
|
const rowMapperConfig = rowMapperConfigFor(this.#backend);
|
|
16929
16976
|
this.#recordedReads = createRecordedReadService({
|
|
@@ -16938,7 +16985,7 @@ var StoreImplementation = class _StoreImplementation {
|
|
|
16938
16985
|
this.#defaultTraversalExpansion = options?.queryDefaults?.traversalExpansion ?? "inverse";
|
|
16939
16986
|
this.#options = options;
|
|
16940
16987
|
this.#schemaMetadata = schemaMetadata ?? UNKNOWN_SCHEMA_METADATA;
|
|
16941
|
-
this[
|
|
16988
|
+
this[chunkKDRF3NR2_cjs.STORE_RUNTIME] = {
|
|
16942
16989
|
backend: this.#backend,
|
|
16943
16990
|
sealedQuery: (coordinate) => this.sealedQuery(coordinate),
|
|
16944
16991
|
recordedNodeGetById: (kind, id, coordinate) => this.recordedNodeGetById(kind, id, coordinate),
|
|
@@ -16950,7 +16997,7 @@ var StoreImplementation = class _StoreImplementation {
|
|
|
16950
16997
|
subgraphAtCoordinate: (rootId, subgraphOptions) => this.subgraphAtCoordinate(rootId, subgraphOptions),
|
|
16951
16998
|
algorithmsAtCoordinate: (coordinate) => this.algorithmsAtCoordinate(coordinate)
|
|
16952
16999
|
};
|
|
16953
|
-
Object.defineProperty(this,
|
|
17000
|
+
Object.defineProperty(this, chunkKDRF3NR2_cjs.STORE_RUNTIME, {
|
|
16954
17001
|
configurable: false,
|
|
16955
17002
|
enumerable: false,
|
|
16956
17003
|
writable: false
|
|
@@ -17305,7 +17352,7 @@ var StoreImplementation = class _StoreImplementation {
|
|
|
17305
17352
|
async #maybeRefreshStatisticsAfterBulk(rowCount) {
|
|
17306
17353
|
const configured = this.#options?.autoRefreshStatistics;
|
|
17307
17354
|
if (configured === false) return;
|
|
17308
|
-
const threshold = configured ??
|
|
17355
|
+
const threshold = configured ?? chunkKDRF3NR2_cjs.AUTO_REFRESH_STATISTICS_ROW_THRESHOLD;
|
|
17309
17356
|
if (rowCount < threshold) return;
|
|
17310
17357
|
try {
|
|
17311
17358
|
await this.refreshStatistics();
|
|
@@ -17319,13 +17366,13 @@ var StoreImplementation = class _StoreImplementation {
|
|
|
17319
17366
|
#buildNodeOperations(ctx) {
|
|
17320
17367
|
return {
|
|
17321
17368
|
defaultTemporalMode: this.#graph.defaults.temporalMode,
|
|
17322
|
-
rowToNode: (row) =>
|
|
17369
|
+
rowToNode: (row) => chunkBLBG2VZ5_cjs.rowToNode(row),
|
|
17323
17370
|
maybeRefreshStatisticsAfterBulk: (rowCount) => this.#maybeRefreshStatisticsAfterBulk(rowCount),
|
|
17324
|
-
executeCreate: (input, backend) =>
|
|
17325
|
-
executeCreateBatch: (inputs, backend) =>
|
|
17326
|
-
executeCreateNoReturnBatch: (inputs, backend) =>
|
|
17327
|
-
executeUpdate: (input, backend, options) =>
|
|
17328
|
-
executeUpsertUpdate: (input, backend, options) =>
|
|
17371
|
+
executeCreate: (input, backend) => chunkBLBG2VZ5_cjs.executeNodeCreate(ctx, input, backend),
|
|
17372
|
+
executeCreateBatch: (inputs, backend) => chunkBLBG2VZ5_cjs.executeNodeCreateBatch(ctx, inputs, backend),
|
|
17373
|
+
executeCreateNoReturnBatch: (inputs, backend) => chunkBLBG2VZ5_cjs.executeNodeCreateNoReturnBatch(ctx, inputs, backend),
|
|
17374
|
+
executeUpdate: (input, backend, options) => chunkBLBG2VZ5_cjs.executeNodeUpdate(ctx, { ...input, id: input.id }, backend, options),
|
|
17375
|
+
executeUpsertUpdate: (input, backend, options) => chunkBLBG2VZ5_cjs.executeNodeUpsertUpdate(
|
|
17329
17376
|
ctx,
|
|
17330
17377
|
{ ...input, id: input.id },
|
|
17331
17378
|
backend,
|
|
@@ -17333,13 +17380,13 @@ var StoreImplementation = class _StoreImplementation {
|
|
|
17333
17380
|
),
|
|
17334
17381
|
// Present only when opted in; its absence is the coalesce off switch.
|
|
17335
17382
|
...this.#options?.coalesceUnchangedUpserts === true && {
|
|
17336
|
-
upsertDirtyCheck: (kind, id, existingProps, inputProps) =>
|
|
17383
|
+
upsertDirtyCheck: (kind, id, existingProps, inputProps) => chunkBLBG2VZ5_cjs.nodeUpsertDirtyCheck(ctx, kind, id, existingProps, inputProps)
|
|
17337
17384
|
},
|
|
17338
|
-
executeDelete: (kind, id, backend) =>
|
|
17339
|
-
executeHardDelete: (kind, id, backend) =>
|
|
17385
|
+
executeDelete: (kind, id, backend) => chunkBLBG2VZ5_cjs.executeNodeDelete(ctx, kind, id, backend),
|
|
17386
|
+
executeHardDelete: (kind, id, backend) => chunkBLBG2VZ5_cjs.executeNodeHardDelete(ctx, kind, id, backend),
|
|
17340
17387
|
temporalRowMatcher: (options) => this.#temporalRowMatcher(options),
|
|
17341
17388
|
createQuery: () => this.query(),
|
|
17342
|
-
executeGetOrCreateByConstraint: (kind, constraintName, props, backend, options) =>
|
|
17389
|
+
executeGetOrCreateByConstraint: (kind, constraintName, props, backend, options) => chunkBLBG2VZ5_cjs.executeNodeGetOrCreateByConstraint(
|
|
17343
17390
|
ctx,
|
|
17344
17391
|
kind,
|
|
17345
17392
|
constraintName,
|
|
@@ -17347,7 +17394,7 @@ var StoreImplementation = class _StoreImplementation {
|
|
|
17347
17394
|
backend,
|
|
17348
17395
|
options
|
|
17349
17396
|
),
|
|
17350
|
-
executeBulkGetOrCreateByConstraint: (kind, constraintName, items, backend, options) =>
|
|
17397
|
+
executeBulkGetOrCreateByConstraint: (kind, constraintName, items, backend, options) => chunkBLBG2VZ5_cjs.executeNodeBulkGetOrCreateByConstraint(
|
|
17351
17398
|
ctx,
|
|
17352
17399
|
kind,
|
|
17353
17400
|
constraintName,
|
|
@@ -17355,15 +17402,15 @@ var StoreImplementation = class _StoreImplementation {
|
|
|
17355
17402
|
backend,
|
|
17356
17403
|
options
|
|
17357
17404
|
),
|
|
17358
|
-
executeFindByConstraint: (kind, constraintName, props, backend) =>
|
|
17359
|
-
executeBulkFindByConstraint: (kind, constraintName, items, backend) =>
|
|
17405
|
+
executeFindByConstraint: (kind, constraintName, props, backend) => chunkBLBG2VZ5_cjs.executeNodeFindByConstraint(ctx, kind, constraintName, props, backend),
|
|
17406
|
+
executeBulkFindByConstraint: (kind, constraintName, items, backend) => chunkBLBG2VZ5_cjs.executeNodeBulkFindByConstraint(
|
|
17360
17407
|
ctx,
|
|
17361
17408
|
kind,
|
|
17362
17409
|
constraintName,
|
|
17363
17410
|
items,
|
|
17364
17411
|
backend
|
|
17365
17412
|
),
|
|
17366
|
-
executeBulkFindByIndex: (kind, indexName, items, backend, options) =>
|
|
17413
|
+
executeBulkFindByIndex: (kind, indexName, items, backend, options) => chunkBLBG2VZ5_cjs.executeNodeBulkFindByIndex(
|
|
17367
17414
|
ctx,
|
|
17368
17415
|
kind,
|
|
17369
17416
|
indexName,
|
|
@@ -17382,7 +17429,7 @@ var StoreImplementation = class _StoreImplementation {
|
|
|
17382
17429
|
#buildEdgeOperations(ctx) {
|
|
17383
17430
|
return {
|
|
17384
17431
|
defaultTemporalMode: this.#graph.defaults.temporalMode,
|
|
17385
|
-
rowToEdge: (row) =>
|
|
17432
|
+
rowToEdge: (row) => chunkBLBG2VZ5_cjs.rowToEdge(row),
|
|
17386
17433
|
maybeRefreshStatisticsAfterBulk: (rowCount) => this.#maybeRefreshStatisticsAfterBulk(rowCount),
|
|
17387
17434
|
executeCreate: (input, backend) => executeEdgeCreate(ctx, input, backend),
|
|
17388
17435
|
executeCreateBatch: (inputs, backend) => executeEdgeCreateBatch(ctx, inputs, backend),
|
|
@@ -17593,7 +17640,7 @@ var StoreImplementation = class _StoreImplementation {
|
|
|
17593
17640
|
);
|
|
17594
17641
|
}
|
|
17595
17642
|
const recordedAt = await chunkAO2WPYFZ_cjs.withRecordedRelationsPrecondition(
|
|
17596
|
-
|
|
17643
|
+
chunkKDRF3NR2_cjs.readRecordedClock(this.#backend, this.#sqlSchema(), this.graphId),
|
|
17597
17644
|
{ dialect: this.#backend.dialect, surface: "recorded-now" }
|
|
17598
17645
|
);
|
|
17599
17646
|
return recordedAt === void 0 ? void 0 : chunkFSCJOTHF_cjs.asRecordedInstant(recordedAt);
|
|
@@ -17608,7 +17655,7 @@ var StoreImplementation = class _StoreImplementation {
|
|
|
17608
17655
|
*/
|
|
17609
17656
|
async revisionNow() {
|
|
17610
17657
|
if (!this.#revisionTrackingEnabled) return void 0;
|
|
17611
|
-
return
|
|
17658
|
+
return chunkKDRF3NR2_cjs.readRecordedClock(this.#backend, this.#sqlSchema(), this.graphId);
|
|
17612
17659
|
}
|
|
17613
17660
|
/**
|
|
17614
17661
|
* Returns the durable random namespace for this graph's revision clock. A
|
|
@@ -17625,7 +17672,7 @@ var StoreImplementation = class _StoreImplementation {
|
|
|
17625
17672
|
{ code: "REVISION_ORIGIN_REQUIRES_TRACKING" }
|
|
17626
17673
|
);
|
|
17627
17674
|
}
|
|
17628
|
-
const pendingOrigin = this.#revisionOrigin ??
|
|
17675
|
+
const pendingOrigin = this.#revisionOrigin ?? chunkKDRF3NR2_cjs.ensureRevisionOrigin(this.#baseBackend, this.#sqlSchema(), this.graphId);
|
|
17629
17676
|
this.#revisionOrigin = pendingOrigin;
|
|
17630
17677
|
try {
|
|
17631
17678
|
return await pendingOrigin;
|
|
@@ -17879,7 +17926,7 @@ var StoreImplementation = class _StoreImplementation {
|
|
|
17879
17926
|
// No real transaction: `tx.sql` is absent and there is no atomicity.
|
|
17880
17927
|
sqlAvailability: "unavailable",
|
|
17881
17928
|
backend: chunkECU53PMN_cjs.createTransactionReadBackend(this.#backend),
|
|
17882
|
-
[
|
|
17929
|
+
[chunkKDRF3NR2_cjs.TRANSACTION_RUNTIME]: {
|
|
17883
17930
|
backend: this.#backend,
|
|
17884
17931
|
runNodeOperationHooks: (operation, kind, id, hookedFunction) => this.#withOperationHooks(
|
|
17885
17932
|
this.#createOperationContext(operation, "node", kind, id),
|
|
@@ -17888,7 +17935,7 @@ var StoreImplementation = class _StoreImplementation {
|
|
|
17888
17935
|
},
|
|
17889
17936
|
getNodeCollection: (kind) => this.#resolveDynamicNodeCollection(nodes, kind)
|
|
17890
17937
|
};
|
|
17891
|
-
Object.defineProperty(fallbackContext,
|
|
17938
|
+
Object.defineProperty(fallbackContext, chunkKDRF3NR2_cjs.TRANSACTION_RUNTIME, {
|
|
17892
17939
|
configurable: false,
|
|
17893
17940
|
enumerable: false,
|
|
17894
17941
|
writable: false
|
|
@@ -17901,7 +17948,7 @@ var StoreImplementation = class _StoreImplementation {
|
|
|
17901
17948
|
const pending = [];
|
|
17902
17949
|
const runHooks = this.#createBufferedHookRunner(pending);
|
|
17903
17950
|
let recordedByGraph;
|
|
17904
|
-
const transactionOptions = receiptRecorder !== void 0 && this.#captureEnabled ?
|
|
17951
|
+
const transactionOptions = receiptRecorder !== void 0 && this.#captureEnabled ? chunkKDRF3NR2_cjs.withRecordedFlushObserver(backendOptions, (instants) => {
|
|
17905
17952
|
recordedByGraph = instants;
|
|
17906
17953
|
}) : backendOptions;
|
|
17907
17954
|
try {
|
|
@@ -18010,7 +18057,7 @@ var StoreImplementation = class _StoreImplementation {
|
|
|
18010
18057
|
*/
|
|
18011
18058
|
withTransaction(externalTx) {
|
|
18012
18059
|
if (this.#captureEnabled) {
|
|
18013
|
-
throw
|
|
18060
|
+
throw chunkKDRF3NR2_cjs.recordedCaptureRequiresCallbackTransactionError();
|
|
18014
18061
|
}
|
|
18015
18062
|
const adopt = this.#adapterBackend?.adoptTransaction;
|
|
18016
18063
|
if (adopt === void 0) {
|
|
@@ -18034,14 +18081,14 @@ var StoreImplementation = class _StoreImplementation {
|
|
|
18034
18081
|
}
|
|
18035
18082
|
const txBackend = adopt(externalTx);
|
|
18036
18083
|
if (this.#captureEnabled) {
|
|
18037
|
-
await
|
|
18084
|
+
await chunkKDRF3NR2_cjs.assertRecordedCaptureTransactionIsolation(txBackend);
|
|
18038
18085
|
}
|
|
18039
|
-
const scope = this.#captureEnabled ?
|
|
18086
|
+
const scope = this.#captureEnabled ? chunkKDRF3NR2_cjs.createRecordedTransactionScope(txBackend, this.#sqlSchema()) : {
|
|
18040
18087
|
backend: txBackend,
|
|
18041
18088
|
flush: () => Promise.resolve(EMPTY_RECORDED_FLUSH_INSTANTS)
|
|
18042
18089
|
};
|
|
18043
18090
|
if (this.#captureEnabled) {
|
|
18044
|
-
await
|
|
18091
|
+
await chunkKDRF3NR2_cjs.lockRecordedGraphWrite(scope.backend, this.graphId);
|
|
18045
18092
|
}
|
|
18046
18093
|
const receiptRecorder = createTransactionReceiptRecorder();
|
|
18047
18094
|
const invoke = fn;
|
|
@@ -18144,7 +18191,7 @@ var StoreImplementation = class _StoreImplementation {
|
|
|
18144
18191
|
nodes,
|
|
18145
18192
|
edges,
|
|
18146
18193
|
backend: chunkECU53PMN_cjs.createTransactionReadBackend(txBackend),
|
|
18147
|
-
[
|
|
18194
|
+
[chunkKDRF3NR2_cjs.TRANSACTION_RUNTIME]: { backend: txBackend, runNodeOperationHooks },
|
|
18148
18195
|
getNodeCollection
|
|
18149
18196
|
};
|
|
18150
18197
|
let withSql;
|
|
@@ -18153,7 +18200,7 @@ var StoreImplementation = class _StoreImplementation {
|
|
|
18153
18200
|
...base,
|
|
18154
18201
|
sqlAvailability: "history"
|
|
18155
18202
|
};
|
|
18156
|
-
defineUnavailableSqlGuard(withSql, () =>
|
|
18203
|
+
defineUnavailableSqlGuard(withSql, () => chunkKDRF3NR2_cjs.throwHistoryUnsafeSqlAccess());
|
|
18157
18204
|
} else if (this.#revisionTrackingEnabled) {
|
|
18158
18205
|
withSql = {
|
|
18159
18206
|
...base,
|
|
@@ -18161,14 +18208,14 @@ var StoreImplementation = class _StoreImplementation {
|
|
|
18161
18208
|
};
|
|
18162
18209
|
defineUnavailableSqlGuard(
|
|
18163
18210
|
withSql,
|
|
18164
|
-
() =>
|
|
18211
|
+
() => chunkKDRF3NR2_cjs.throwRevisionTrackingUnsafeSqlAccess()
|
|
18165
18212
|
);
|
|
18166
18213
|
} else if (sql2 === void 0) {
|
|
18167
18214
|
withSql = { ...base, sqlAvailability: "unavailable" };
|
|
18168
18215
|
} else {
|
|
18169
18216
|
withSql = { ...base, sql: sql2, sqlAvailability: "available" };
|
|
18170
18217
|
}
|
|
18171
|
-
Object.defineProperty(withSql,
|
|
18218
|
+
Object.defineProperty(withSql, chunkKDRF3NR2_cjs.TRANSACTION_RUNTIME, {
|
|
18172
18219
|
configurable: false,
|
|
18173
18220
|
enumerable: false,
|
|
18174
18221
|
writable: false
|
|
@@ -18188,12 +18235,12 @@ var StoreImplementation = class _StoreImplementation {
|
|
|
18188
18235
|
async clear() {
|
|
18189
18236
|
const doClear = async (target) => {
|
|
18190
18237
|
if (this.#revisionTrackingEnabled) {
|
|
18191
|
-
await
|
|
18238
|
+
await chunkKDRF3NR2_cjs.lockRecordedGraphWrite(target, this.graphId);
|
|
18192
18239
|
}
|
|
18193
|
-
const previousRevision = this.#revisionTrackingEnabled && !this.#captureEnabled ? await
|
|
18240
|
+
const previousRevision = this.#revisionTrackingEnabled && !this.#captureEnabled ? await chunkKDRF3NR2_cjs.readRecordedClock(target, this.#sqlSchema(), this.graphId) : void 0;
|
|
18194
18241
|
await target.clearGraph(this.graphId);
|
|
18195
18242
|
if (this.#revisionTrackingEnabled && !this.#captureEnabled) {
|
|
18196
|
-
await
|
|
18243
|
+
await chunkKDRF3NR2_cjs.advanceRevisionClock(
|
|
18197
18244
|
target,
|
|
18198
18245
|
this.#sqlSchema(),
|
|
18199
18246
|
this.graphId,
|
|
@@ -18910,7 +18957,7 @@ var StoreImplementation = class _StoreImplementation {
|
|
|
18910
18957
|
// === Internal: Hook Helpers ===
|
|
18911
18958
|
#createHookContext() {
|
|
18912
18959
|
return {
|
|
18913
|
-
operationId:
|
|
18960
|
+
operationId: chunkKDRF3NR2_cjs.generateId(),
|
|
18914
18961
|
graphId: this.graphId,
|
|
18915
18962
|
startedAt: /* @__PURE__ */ new Date()
|
|
18916
18963
|
};
|
|
@@ -19011,8 +19058,8 @@ var AdapterStoreImplementation = class _AdapterStoreImplementation extends Store
|
|
|
19011
19058
|
backend;
|
|
19012
19059
|
constructor(graph, backend, options, schemaMetadata) {
|
|
19013
19060
|
super(graph, backend, options, schemaMetadata, backend);
|
|
19014
|
-
this.backend = options?.history === true ? createHistoryStoreBackendProjection(this[
|
|
19015
|
-
|
|
19061
|
+
this.backend = options?.history === true ? createHistoryStoreBackendProjection(this[chunkKDRF3NR2_cjs.STORE_RUNTIME].backend) : Object.freeze(
|
|
19062
|
+
chunkKDRF3NR2_cjs.createGraphBackendProjection(this[chunkKDRF3NR2_cjs.STORE_RUNTIME].backend)
|
|
19016
19063
|
);
|
|
19017
19064
|
}
|
|
19018
19065
|
/**
|
|
@@ -19205,7 +19252,7 @@ async function createStoreWithSchema(graph, backend, options) {
|
|
|
19205
19252
|
async function assertHistorySchemaOnOpen(backend, options) {
|
|
19206
19253
|
if (options?.history !== true) return;
|
|
19207
19254
|
const schema = options.schema === void 0 ? chunkCVK4T34X_cjs.createSqlSchema(backend.tableNames) : chunkCVK4T34X_cjs.requireSqlSchema(options.schema, "store schema");
|
|
19208
|
-
await
|
|
19255
|
+
await chunkKDRF3NR2_cjs.assertCurrentRecordedSchema(backend, schema);
|
|
19209
19256
|
}
|
|
19210
19257
|
async function prepareStoreWithSchema(graph, backend, options) {
|
|
19211
19258
|
const {
|
|
@@ -19345,5 +19392,5 @@ exports.min = min;
|
|
|
19345
19392
|
exports.offsetFragment = offsetFragment;
|
|
19346
19393
|
exports.orderByFragment = orderByFragment;
|
|
19347
19394
|
exports.sum = sum;
|
|
19348
|
-
//# sourceMappingURL=chunk-
|
|
19349
|
-
//# sourceMappingURL=chunk-
|
|
19395
|
+
//# sourceMappingURL=chunk-NDQLPKBX.cjs.map
|
|
19396
|
+
//# sourceMappingURL=chunk-NDQLPKBX.cjs.map
|