cruddl 4.2.3 → 5.0.0-0.deploytest.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/.github/workflows/ci.yml +5 -3
- package/.husky/pre-commit +1 -0
- package/README.md +0 -1
- package/dist/src/authorization/move-errors-to-output-nodes.js +1 -0
- package/dist/src/authorization/move-errors-to-output-nodes.js.map +1 -1
- package/dist/src/authorization/transformers/traversal.js +13 -2
- package/dist/src/authorization/transformers/traversal.js.map +1 -1
- package/dist/src/cruddl-version.js +1 -1
- package/dist/src/database/arangodb/aql-generator.js +856 -185
- package/dist/src/database/arangodb/aql-generator.js.map +1 -1
- package/dist/src/database/arangodb/arangodb-adapter.js +30 -10
- package/dist/src/database/arangodb/arangodb-adapter.js.map +1 -1
- package/dist/src/database/arangodb/config.js +3 -8
- package/dist/src/database/arangodb/config.js.map +1 -1
- package/dist/src/database/arangodb/traversal-helpers.d.ts +10 -0
- package/dist/src/database/arangodb/traversal-helpers.js +52 -0
- package/dist/src/database/arangodb/traversal-helpers.js.map +1 -0
- package/dist/src/database/inmemory/inmemory-adapter.js +3 -7
- package/dist/src/database/inmemory/inmemory-adapter.js.map +1 -1
- package/dist/src/database/inmemory/js-generator.js +75 -55
- package/dist/src/database/inmemory/js-generator.js.map +1 -1
- package/dist/src/execution/runtime-errors.d.ts +1 -0
- package/dist/src/execution/runtime-errors.js +3 -3
- package/dist/src/execution/runtime-errors.js.map +1 -1
- package/dist/src/model/implementation/indices.js +17 -1
- package/dist/src/model/implementation/indices.js.map +1 -1
- package/dist/src/query-tree/queries.d.ts +102 -7
- package/dist/src/query-tree/queries.js +77 -10
- package/dist/src/query-tree/queries.js.map +1 -1
- package/dist/src/schema/schema-builder.js +5 -1
- package/dist/src/schema/schema-builder.js.map +1 -1
- package/dist/src/schema-generation/field-nodes.d.ts +10 -5
- package/dist/src/schema-generation/field-nodes.js +32 -4
- package/dist/src/schema-generation/field-nodes.js.map +1 -1
- package/dist/src/schema-generation/filter-augmentation.js +0 -1
- package/dist/src/schema-generation/filter-augmentation.js.map +1 -1
- package/dist/src/schema-generation/flex-search-post-filter-augmentation.js +0 -1
- package/dist/src/schema-generation/flex-search-post-filter-augmentation.js.map +1 -1
- package/dist/src/schema-generation/order-by-and-pagination-augmentation.js +41 -22
- package/dist/src/schema-generation/order-by-and-pagination-augmentation.js.map +1 -1
- package/dist/src/schema-generation/output-type-generator.js +5 -3
- package/dist/src/schema-generation/output-type-generator.js.map +1 -1
- package/dist/src/schema-generation/query-node-object-type/context.d.ts +1 -1
- package/dist/src/schema-generation/query-node-object-type/context.js +1 -1
- package/dist/src/schema-generation/query-node-object-type/query-node-generator.js +37 -3
- package/dist/src/schema-generation/query-node-object-type/query-node-generator.js.map +1 -1
- package/dist/src/schema-generation/root-field-helper.d.ts +3 -23
- package/dist/src/schema-generation/root-field-helper.js +9 -109
- package/dist/src/schema-generation/root-field-helper.js.map +1 -1
- package/dist/src/schema-generation/utils/filtering.d.ts +1 -2
- package/dist/src/schema-generation/utils/filtering.js +28 -6
- package/dist/src/schema-generation/utils/filtering.js.map +1 -1
- package/dist/src/schema-generation/utils/relations.js +0 -1
- package/dist/src/schema-generation/utils/relations.js.map +1 -1
- package/dist/src/utils/util-types.d.ts +6 -0
- package/knip.json +6 -1
- package/package.json +6 -11
- package/tsconfig.json +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"inmemory-adapter.js","sourceRoot":"","sources":["../../../../src/database/inmemory/inmemory-adapter.ts"],"names":[],"mappings":";;;AAAA,gDAAoD;
|
|
1
|
+
{"version":3,"file":"inmemory-adapter.js","sourceRoot":"","sources":["../../../../src/database/inmemory/inmemory-adapter.ts"],"names":[],"mappings":"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"}
|
|
@@ -43,9 +43,9 @@ class QueryContext {
|
|
|
43
43
|
/**
|
|
44
44
|
* Creates a new QueryContext that is identical to this one but has one additional variable binding
|
|
45
45
|
* @param variableNode the variable token as it is referenced in the query tree
|
|
46
|
-
* @param jsVariable the
|
|
46
|
+
* @param jsVariable the token as it will be available within the JS fragment
|
|
47
47
|
*/
|
|
48
|
-
|
|
48
|
+
newNestedContextWithVariableBinding(variableNode, jsVariable) {
|
|
49
49
|
if (this.variableMap.has(variableNode)) {
|
|
50
50
|
throw new Error(`Variable ${variableNode} is introduced twice`);
|
|
51
51
|
}
|
|
@@ -58,14 +58,21 @@ class QueryContext {
|
|
|
58
58
|
/**
|
|
59
59
|
* Creates a new QueryContext that is identical to this one but has one additional variable binding
|
|
60
60
|
*
|
|
61
|
-
*
|
|
61
|
+
* If aqlFrag is omitted, a new JSVariable will be created using the name of the variableNode.
|
|
62
62
|
*
|
|
63
|
-
*
|
|
64
|
-
*
|
|
63
|
+
* For jsFrag, you can specify a JSVariable or a different JSFragment (e.g. a field access).
|
|
64
|
+
* Do not specify complex expressions because they would be repeated for every use of the
|
|
65
|
+
* variable.
|
|
66
|
+
*
|
|
67
|
+
* @param variableNode the variable as referenced in the query tree
|
|
68
|
+
* @param jsFrag the fragment representing the variable in javascript
|
|
69
|
+
* @returns the new context
|
|
65
70
|
*/
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
71
|
+
bindVariable(variableNode, jsFrag = new js_1.JSVariable(variableNode.label)) {
|
|
72
|
+
if (this.variableMap.has(variableNode)) {
|
|
73
|
+
throw new Error(`Variable ${variableNode} is introduced twice`);
|
|
74
|
+
}
|
|
75
|
+
return this.newNestedContextWithVariableBinding(variableNode, jsFrag);
|
|
69
76
|
}
|
|
70
77
|
/**
|
|
71
78
|
* Creates a new QueryContext that includes an additional transaction step and adds resultVariable to the scope
|
|
@@ -83,7 +90,7 @@ class QueryContext {
|
|
|
83
90
|
let newContext;
|
|
84
91
|
if (resultVariable) {
|
|
85
92
|
resultVar = new js_1.JSQueryResultVariable(resultVariable.label);
|
|
86
|
-
newContext = this.
|
|
93
|
+
newContext = this.newNestedContextWithVariableBinding(resultVariable, resultVar);
|
|
87
94
|
}
|
|
88
95
|
else {
|
|
89
96
|
resultVar = undefined;
|
|
@@ -182,7 +189,7 @@ register(query_tree_1.VariableQueryNode, (node, context) => {
|
|
|
182
189
|
return context.getVariable(node);
|
|
183
190
|
});
|
|
184
191
|
register(query_tree_1.VariableAssignmentQueryNode, (node, context) => {
|
|
185
|
-
const newContext = context.
|
|
192
|
+
const newContext = context.bindVariable(node.variableNode);
|
|
186
193
|
const tmpVar = newContext.getVariable(node.variableNode);
|
|
187
194
|
return jsExt.executingFunction((0, js_1.js) `const ${tmpVar} = ${processNode(node.variableValueNode, newContext)};`, (0, js_1.js) `return ${processNode(node.resultNode, newContext)}`);
|
|
188
195
|
});
|
|
@@ -231,8 +238,17 @@ register(query_tree_1.DynamicPropertyAccessQueryNode, (node, context) => {
|
|
|
231
238
|
register(query_tree_1.RootEntityIDQueryNode, (node, context) => {
|
|
232
239
|
return getPropertyAccessFrag('id', processNode(node.objectNode, context));
|
|
233
240
|
});
|
|
241
|
+
function getPaginationFrag({ maxCount = undefined, skip = 0, }) {
|
|
242
|
+
if (maxCount != undefined) {
|
|
243
|
+
return (0, js_1.js) `.slice(${skip}, ${skip + maxCount})`;
|
|
244
|
+
}
|
|
245
|
+
if (skip > 0) {
|
|
246
|
+
return (0, js_1.js) `.slice(${skip})`;
|
|
247
|
+
}
|
|
248
|
+
return (0, js_1.js) ``;
|
|
249
|
+
}
|
|
234
250
|
register(query_tree_1.TransformListQueryNode, (node, context) => {
|
|
235
|
-
let itemContext = context.
|
|
251
|
+
let itemContext = context.bindVariable(node.itemVariable);
|
|
236
252
|
const itemVar = itemContext.getVariable(node.itemVariable);
|
|
237
253
|
function lambda(exprNode) {
|
|
238
254
|
return jsExt.lambda(itemVar, processNode(exprNode, itemContext));
|
|
@@ -242,18 +258,8 @@ register(query_tree_1.TransformListQueryNode, (node, context) => {
|
|
|
242
258
|
: getComparatorForOrderSpecification(node.orderBy, itemVar, itemContext);
|
|
243
259
|
const isFiltered = !(node.filterNode instanceof query_tree_1.ConstBoolQueryNode) || node.filterNode.value != true;
|
|
244
260
|
const isMapped = node.innerNode != node.itemVariable;
|
|
245
|
-
let sliceClause;
|
|
246
|
-
if (node.maxCount != undefined) {
|
|
247
|
-
sliceClause = (0, js_1.js) `.slice(${node.skip}, ${node.skip + node.maxCount})`;
|
|
248
|
-
}
|
|
249
|
-
else if (node.skip > 0) {
|
|
250
|
-
sliceClause = (0, js_1.js) `.slice(${node.skip})`;
|
|
251
|
-
}
|
|
252
|
-
else {
|
|
253
|
-
sliceClause = (0, js_1.js) ``;
|
|
254
|
-
}
|
|
255
261
|
return js_1.js.lines(processNode(node.listNode, context), js_1.js.indent(js_1.js.lines(isFiltered ? (0, js_1.js) `.filter(${lambda(node.filterNode)})` : (0, js_1.js) ``, comparator ? (0, js_1.js) `.slice().sort(${comparator})` : (0, js_1.js) ``, // need slice() to not replace something in-place
|
|
256
|
-
|
|
262
|
+
getPaginationFrag(node), isMapped ? (0, js_1.js) `.map(${lambda(node.innerNode)})` : (0, js_1.js) ``)));
|
|
257
263
|
});
|
|
258
264
|
register(query_tree_1.CountQueryNode, (node, context) => {
|
|
259
265
|
// in arangodb LENGTH(null) is 0, which can be useful sometimes, so let's just mimick the behavior
|
|
@@ -325,7 +331,7 @@ register(query_tree_1.UpdateChildEntitiesQueryNode, (node, context) => {
|
|
|
325
331
|
return processNode(node.originalList, context);
|
|
326
332
|
}
|
|
327
333
|
const itemsVar = js_1.js.variable('items');
|
|
328
|
-
const childContext = context.
|
|
334
|
+
const childContext = context.bindVariable(node.dictionaryVar);
|
|
329
335
|
const dictVar = childContext.getVariable(node.dictionaryVar);
|
|
330
336
|
const updatedDictVar = js_1.js.variable('updatedDict');
|
|
331
337
|
const itemVar = js_1.js.variable('item');
|
|
@@ -490,7 +496,9 @@ function getFollowEdgeFragment(relationSide, sourceIDFrag, context) {
|
|
|
490
496
|
const targetIDOnEdge = relationSide.isFromSide ? (0, js_1.js) `${edgeVar}._to` : (0, js_1.js) `${edgeVar}._from`;
|
|
491
497
|
const idOnItem = (0, js_1.js) `${itemVar}.${js_1.js.identifier(ID_FIELD_NAME)}`;
|
|
492
498
|
const idOnItemEqualsTargetIDOnEdge = (0, js_1.js) `${idOnItem} === ${targetIDOnEdge}`;
|
|
493
|
-
return js_1.js.lines((0, js_1.js)
|
|
499
|
+
return js_1.js.lines((0, js_1.js) `(${edgeColl}`, js_1.js.indent(js_1.js.lines(
|
|
500
|
+
// arangodb edge traversal seems to be newest-first. Replicate this here for regression tests that do not sort
|
|
501
|
+
(0, js_1.js) `.slice().reverse()`, (0, js_1.js) `.filter(${jsExt.lambda(edgeVar, (0, js_1.js) `${sourceIDOnEdge} == ${sourceIDFrag}`)})`, (0, js_1.js) `.map(${jsExt.lambda(edgeVar, (0, js_1.js) `${targetColl}.find(${jsExt.lambda(itemVar, idOnItemEqualsTargetIDOnEdge)})`)})`, (0, js_1.js) `.filter(${jsExt.lambda(itemVar, itemVar)})`)), (0, js_1.js) `)`);
|
|
494
502
|
}
|
|
495
503
|
register(query_tree_1.TraversalQueryNode, (node, context) => {
|
|
496
504
|
let currentFrag = processNode(node.sourceEntityNode, context);
|
|
@@ -507,23 +515,23 @@ register(query_tree_1.TraversalQueryNode, (node, context) => {
|
|
|
507
515
|
}
|
|
508
516
|
const nodeVar = js_1.js.variable('node');
|
|
509
517
|
const idFrag = isAlreadyID ? nodeVar : (0, js_1.js) `${nodeVar}.${js_1.js.identifier(ID_FIELD_NAME)}`;
|
|
518
|
+
const treatAsListSegment = segment.isListSegment ||
|
|
519
|
+
(segmentIndex === node.relationSegments.length - 1 && node.alwaysProduceList);
|
|
510
520
|
if (isList) {
|
|
511
|
-
|
|
512
|
-
|
|
513
|
-
|
|
514
|
-
|
|
521
|
+
let edgeListFragment = (0, js_1.js) `${nodeVar} ? ${getFollowEdgeFragment(segment.relationSide, idFrag, context)} : []`;
|
|
522
|
+
if (treatAsListSegment) {
|
|
523
|
+
currentFrag = (0, js_1.js) `${currentFrag}.flatMap(${jsExt.lambda(nodeVar, edgeListFragment)})`;
|
|
524
|
+
}
|
|
525
|
+
else {
|
|
515
526
|
// to-1 relations can be nullable and we need to keep the NULL values (and not just pretend the source didn't exist)
|
|
516
|
-
|
|
517
|
-
edgeListFragment = jsExt.evaluatingLambda(edgeListVar, (0, js_1.js) `${edgeListVar}.length ? ${edgeListVar} : [null]`, edgeListFragment);
|
|
527
|
+
currentFrag = (0, js_1.js) `${currentFrag}.map(${jsExt.lambda(nodeVar, (0, js_1.js) `(${edgeListFragment})?.[0] || null`)})`;
|
|
518
528
|
}
|
|
519
|
-
const reducer = (0, js_1.js) `(${accVar}, ${nodeVar}) => ${accVar}.concat(${edgeListFragment})`;
|
|
520
|
-
currentFrag = (0, js_1.js) `${currentFrag}.reduce(${reducer}, [])`;
|
|
521
529
|
}
|
|
522
530
|
else {
|
|
523
|
-
currentFrag = jsExt.evaluatingLambda(nodeVar, (0, js_1.js) `${nodeVar} ? ${getFollowEdgeFragment(segment.relationSide, idFrag, context)} :
|
|
524
|
-
if (!
|
|
525
|
-
//
|
|
526
|
-
currentFrag = (0, js_1.js) `(${currentFrag}[0] || null)`;
|
|
531
|
+
currentFrag = jsExt.evaluatingLambda(nodeVar, (0, js_1.js) `${nodeVar} ? ${getFollowEdgeFragment(segment.relationSide, idFrag, context)} : []`, currentFrag);
|
|
532
|
+
if (!treatAsListSegment) {
|
|
533
|
+
// if there is no related entity, currentFrag is []. We want to convert that to null.
|
|
534
|
+
currentFrag = (0, js_1.js) `((${currentFrag})[0] || null)`;
|
|
527
535
|
}
|
|
528
536
|
}
|
|
529
537
|
if (segment.minDepth !== 1 || segment.maxDepth !== 1) {
|
|
@@ -534,13 +542,15 @@ register(query_tree_1.TraversalQueryNode, (node, context) => {
|
|
|
534
542
|
}
|
|
535
543
|
segmentIndex++;
|
|
536
544
|
}
|
|
537
|
-
//
|
|
545
|
+
// The root needs to available in innerNode, but we need to apply that last (after filter and sort)
|
|
546
|
+
// Therefore, we capture both item and root:
|
|
538
547
|
// source.rel1.flatMap(o => o.rel2).flatMap(o2 => o2.rel3).flatMap(root => { root, obj: root.field1.flatMap(o => o.field2) })
|
|
539
|
-
// if the relations don't return a list, call the mapper directly
|
|
540
548
|
const relationTraversalReturnsList = isList;
|
|
541
549
|
let rootVar;
|
|
542
550
|
let relationFrag;
|
|
543
|
-
|
|
551
|
+
let isRootCaptured = false;
|
|
552
|
+
if (node.fieldSegments.some((s) => s.isListSegment)) {
|
|
553
|
+
isRootCaptured = true;
|
|
544
554
|
relationFrag = currentFrag;
|
|
545
555
|
rootVar = js_1.js.variable('root');
|
|
546
556
|
currentFrag = rootVar;
|
|
@@ -550,11 +560,10 @@ register(query_tree_1.TraversalQueryNode, (node, context) => {
|
|
|
550
560
|
if (isList) {
|
|
551
561
|
if (segment.isListSegment) {
|
|
552
562
|
const nodeVar = js_1.js.variable('node');
|
|
553
|
-
const
|
|
554
|
-
|
|
555
|
-
|
|
556
|
-
|
|
557
|
-
currentFrag = jsExt.evaluatingLambda(safeListVar, (0, js_1.js) `${safeListVar}.reduce(${reducer}, [])`, (0, js_1.js) `${currentFrag} || []`);
|
|
563
|
+
const mapper = jsExt.lambda(nodeVar,
|
|
564
|
+
// || [] so that null or undefined don't end up in the final list
|
|
565
|
+
(0, js_1.js) `${getPropertyAccessFrag(segment.field.name, nodeVar)} || []`);
|
|
566
|
+
currentFrag = (0, js_1.js) `(${currentFrag} || []).flatMap(${mapper})`;
|
|
558
567
|
}
|
|
559
568
|
else {
|
|
560
569
|
const nodeVar = js_1.js.variable('node');
|
|
@@ -569,18 +578,13 @@ register(query_tree_1.TraversalQueryNode, (node, context) => {
|
|
|
569
578
|
isList = true;
|
|
570
579
|
}
|
|
571
580
|
}
|
|
572
|
-
if (relationFrag && rootVar
|
|
581
|
+
if (relationFrag && rootVar) {
|
|
573
582
|
if (relationTraversalReturnsList) {
|
|
574
583
|
if (node.fieldSegments.some((f) => f.isListSegment)) {
|
|
575
|
-
|
|
576
|
-
const objVar = js_1.js.variable('obj');
|
|
577
|
-
const mapper = (0, js_1.js) `${objVar} => ({ obj: ${objVar}, root: ${rootVar} })`;
|
|
578
|
-
const reducer = (0, js_1.js) `(${accVar}, ${rootVar}) => ${accVar}.concat((${currentFrag}).map(${mapper}))`;
|
|
579
|
-
currentFrag = (0, js_1.js) `${relationFrag}.reduce(${reducer}, [])`;
|
|
584
|
+
currentFrag = (0, js_1.js) `${relationFrag}.flatMap(${rootVar} => (${currentFrag}).map(obj => ({ obj: obj, root: ${rootVar} })))`;
|
|
580
585
|
}
|
|
581
586
|
else {
|
|
582
|
-
|
|
583
|
-
currentFrag = (0, js_1.js) `${relationFrag}.map(${mapper})`;
|
|
587
|
+
currentFrag = (0, js_1.js) `${relationFrag}.map(${rootVar} => ({ obj: ${currentFrag}, root: ${rootVar} }))`;
|
|
584
588
|
}
|
|
585
589
|
}
|
|
586
590
|
else {
|
|
@@ -598,7 +602,23 @@ register(query_tree_1.TraversalQueryNode, (node, context) => {
|
|
|
598
602
|
const resultVar = js_1.js.variable('result');
|
|
599
603
|
currentFrag = jsExt.evaluatingLambda(resultVar, (0, js_1.js) `${currentFrag} == null ? [] : [ ${currentFrag} ]`, currentFrag);
|
|
600
604
|
}
|
|
601
|
-
|
|
605
|
+
if (!isList) {
|
|
606
|
+
return currentFrag;
|
|
607
|
+
}
|
|
608
|
+
const loopVar = js_1.js.variable(`item`);
|
|
609
|
+
const itemFrag = isRootCaptured ? (0, js_1.js) `${loopVar}.obj` : loopVar;
|
|
610
|
+
const itemContext = context
|
|
611
|
+
.bindVariable(node.itemVariable, itemFrag)
|
|
612
|
+
.bindVariable(node.rootEntityVariable, (0, js_1.js) `${loopVar}.root`);
|
|
613
|
+
const filterFrag = node.filterNode
|
|
614
|
+
? (0, js_1.js) `.filter(${jsExt.lambda(loopVar, processNode(node.filterNode, itemContext))})`
|
|
615
|
+
: (0, js_1.js) ``;
|
|
616
|
+
const orderFrag = node.orderBy.isUnordered()
|
|
617
|
+
? (0, js_1.js) ``
|
|
618
|
+
: (0, js_1.js) `.slice().sort(${getComparatorForOrderSpecification(node.orderBy, loopVar, itemContext)})`;
|
|
619
|
+
const mapFrag = (0, js_1.js) `.map(${jsExt.lambda(loopVar, node.innerNode ? processNode(node.innerNode, itemContext) : itemFrag)})`;
|
|
620
|
+
const paginationFrag = getPaginationFrag(node);
|
|
621
|
+
return (0, js_1.js) `${currentFrag}\n${js_1.js.indent(js_1.js.lines(filterFrag, orderFrag, paginationFrag, mapFrag))}`;
|
|
602
622
|
});
|
|
603
623
|
register(query_tree_1.CreateEntityQueryNode, (node, context) => {
|
|
604
624
|
const objVar = js_1.js.variable('obj');
|
|
@@ -615,7 +635,7 @@ register(query_tree_1.CreateEntitiesQueryNode, (node, context) => {
|
|
|
615
635
|
return processNode(transformedNode, context);
|
|
616
636
|
});
|
|
617
637
|
register(query_tree_1.UpdateEntitiesQueryNode, (node, context) => {
|
|
618
|
-
const newContext = context.
|
|
638
|
+
const newContext = context.bindVariable(node.currentEntityVariable);
|
|
619
639
|
const entityVar = newContext.getVariable(node.currentEntityVariable);
|
|
620
640
|
function lambda(inner) {
|
|
621
641
|
return jsExt.lambda(entityVar, inner);
|
|
@@ -724,7 +744,7 @@ register(query_tree_1.OperatorWithAnalyzerQueryNode, (node, context) => {
|
|
|
724
744
|
return (0, js_1.js) `${lhsArray}.some(${itemVar} => ${opFrag})`;
|
|
725
745
|
});
|
|
726
746
|
register(flex_search_2.FlexSearchQueryNode, (node, context) => {
|
|
727
|
-
let itemContext = context.
|
|
747
|
+
let itemContext = context.bindVariable(node.itemVariable);
|
|
728
748
|
const itemVar = itemContext.getVariable(node.itemVariable);
|
|
729
749
|
function lambda(exprNode) {
|
|
730
750
|
return jsExt.lambda(itemVar, processNode(exprNode, itemContext));
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"js-generator.js","sourceRoot":"","sources":["../../../../src/database/inmemory/js-generator.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"js-generator.js","sourceRoot":"","sources":["../../../../src/database/inmemory/js-generator.ts"],"names":[],"mappings":"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"}
|
|
@@ -17,6 +17,7 @@ export declare class TransactionCancelledError extends Error {
|
|
|
17
17
|
export declare class ConflictRetriesExhaustedError extends ErrorWithCause {
|
|
18
18
|
static readonly CODE = "CONFLICT_RETRIES_EXHAUSTED";
|
|
19
19
|
readonly code = "CONFLICT_RETRIES_EXHAUSTED";
|
|
20
|
+
readonly retries: number;
|
|
20
21
|
constructor({ causedBy, retries }: {
|
|
21
22
|
causedBy: unknown;
|
|
22
23
|
retries: number;
|
|
@@ -27,10 +27,10 @@ exports.TransactionCancelledError = TransactionCancelledError;
|
|
|
27
27
|
class ConflictRetriesExhaustedError extends error_with_cause_1.ErrorWithCause {
|
|
28
28
|
static CODE = 'CONFLICT_RETRIES_EXHAUSTED';
|
|
29
29
|
code = ConflictRetriesExhaustedError.CODE;
|
|
30
|
+
retries;
|
|
30
31
|
constructor({ causedBy, retries }) {
|
|
31
|
-
super(`Operation detected conflicts and was aborted after ${retries} retries`,
|
|
32
|
-
|
|
33
|
-
});
|
|
32
|
+
super(`Operation detected conflicts and was aborted after ${retries} retries`, causedBy);
|
|
33
|
+
this.retries = retries;
|
|
34
34
|
}
|
|
35
35
|
}
|
|
36
36
|
exports.ConflictRetriesExhaustedError = ConflictRetriesExhaustedError;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"runtime-errors.js","sourceRoot":"","sources":["../../../src/execution/runtime-errors.ts"],"names":[],"mappings":";;;AAAA;;GAEG;AACH,gEAA2D;AAE3D,MAAa,uBAAwB,SAAQ,KAAK;IACrC,SAAS,CAAqB;IAEvC,YAAY,EAAE,SAAS,KAAsC,EAAE;QAC3D,KAAK,CACD,+BACI,SAAS,CAAC,CAAC,CAAC,MAAM,GAAG,SAAS,CAAC,CAAC,CAAC,EACrC,sBAAsB,CACzB,CAAC;QACF,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC;QAClC,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC;IAC/B,CAAC;CACJ;AAZD,0DAYC;AAED;;GAEG;AACH,MAAa,yBAA0B,SAAQ,KAAK;IAChD;QACI,KAAK,CAAC,oDAAoD,CAAC,CAAC;QAC5D,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC;IACtC,CAAC;CACJ;AALD,8DAKC;AAED,MAAa,6BAA8B,SAAQ,iCAAc;IAC7D,MAAM,CAAU,IAAI,GAAG,4BAA4B,CAAC;IAE3C,IAAI,GAAG,6BAA6B,CAAC,IAAI,CAAC;
|
|
1
|
+
{"version":3,"file":"runtime-errors.js","sourceRoot":"","sources":["../../../src/execution/runtime-errors.ts"],"names":[],"mappings":";;;AAAA;;GAEG;AACH,gEAA2D;AAE3D,MAAa,uBAAwB,SAAQ,KAAK;IACrC,SAAS,CAAqB;IAEvC,YAAY,EAAE,SAAS,KAAsC,EAAE;QAC3D,KAAK,CACD,+BACI,SAAS,CAAC,CAAC,CAAC,MAAM,GAAG,SAAS,CAAC,CAAC,CAAC,EACrC,sBAAsB,CACzB,CAAC;QACF,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC;QAClC,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC;IAC/B,CAAC;CACJ;AAZD,0DAYC;AAED;;GAEG;AACH,MAAa,yBAA0B,SAAQ,KAAK;IAChD;QACI,KAAK,CAAC,oDAAoD,CAAC,CAAC;QAC5D,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC;IACtC,CAAC;CACJ;AALD,8DAKC;AAED,MAAa,6BAA8B,SAAQ,iCAAc;IAC7D,MAAM,CAAU,IAAI,GAAG,4BAA4B,CAAC;IAE3C,IAAI,GAAG,6BAA6B,CAAC,IAAI,CAAC;IAC1C,OAAO,CAAS;IAEzB,YAAY,EAAE,QAAQ,EAAE,OAAO,EAA0C;QACrE,KAAK,CAAC,sDAAsD,OAAO,UAAU,EAAE,QAAQ,CAAC,CAAC;QACzF,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;IAC3B,CAAC;;AATL,sEAUC"}
|
|
@@ -1,9 +1,11 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.Index = exports.IndexField = void 0;
|
|
4
|
+
const tslib_1 = require("tslib");
|
|
4
5
|
const config_1 = require("../config");
|
|
5
6
|
const validation_1 = require("../validation");
|
|
6
7
|
const constants_1 = require("../../schema/constants");
|
|
8
|
+
const memorize_decorator_1 = tslib_1.__importDefault(require("memorize-decorator"));
|
|
7
9
|
class IndexField {
|
|
8
10
|
dotSeparatedPath;
|
|
9
11
|
declaringType;
|
|
@@ -62,7 +64,7 @@ class IndexField {
|
|
|
62
64
|
return undefined;
|
|
63
65
|
}
|
|
64
66
|
if (nextField.type.kind === config_1.TypeKind.ROOT_ENTITY) {
|
|
65
|
-
addMessage(validation_1.ValidationMessage.error(`Field "${type.name}.${nextField.name}" resolves to a root entity, but indices
|
|
67
|
+
addMessage(validation_1.ValidationMessage.error(`Field "${type.name}.${nextField.name}" resolves to a root entity, but indices cannot cross root entity boundaries.`, this.astNode));
|
|
66
68
|
return undefined;
|
|
67
69
|
}
|
|
68
70
|
field = nextField;
|
|
@@ -80,10 +82,24 @@ class IndexField {
|
|
|
80
82
|
addMessage(validation_1.ValidationMessage.error(`Indices can not be defined on scalar fields of type "JSON", but the type of "${field.declaringType.name}.${field.name}" is "JSON".`, this.astNode));
|
|
81
83
|
return undefined;
|
|
82
84
|
}
|
|
85
|
+
// https://docs.arangodb.com/3.12/index-and-search/indexing/basics/#indexing-array-values
|
|
86
|
+
// https://github.com/arangodb/arangodb/blob/0005e46aa971fce177833747c3f66bb182bb1c3c/lib/Basics/AttributeNameParser.cpp#L136
|
|
87
|
+
const listFields = fieldsInPath.filter((f) => f.isList);
|
|
88
|
+
if (listFields.length > 1) {
|
|
89
|
+
const desc = listFields.map((f) => `"${f.declaringType.name}.${f.name}"`).join(', ');
|
|
90
|
+
addMessage(validation_1.ValidationMessage.error(`Index paths with more than one list field are not supported by ArangoDB (list fields: ${desc}).`, this.astNode));
|
|
91
|
+
return undefined;
|
|
92
|
+
}
|
|
83
93
|
return { field, fieldsInPath };
|
|
84
94
|
}
|
|
85
95
|
}
|
|
86
96
|
exports.IndexField = IndexField;
|
|
97
|
+
tslib_1.__decorate([
|
|
98
|
+
(0, memorize_decorator_1.default)()
|
|
99
|
+
], IndexField.prototype, "field", null);
|
|
100
|
+
tslib_1.__decorate([
|
|
101
|
+
(0, memorize_decorator_1.default)()
|
|
102
|
+
], IndexField.prototype, "fieldsInPath", null);
|
|
87
103
|
class Index {
|
|
88
104
|
input;
|
|
89
105
|
declaringType;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"indices.js","sourceRoot":"","sources":["../../../../src/model/implementation/indices.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"indices.js","sourceRoot":"","sources":["../../../../src/model/implementation/indices.ts"],"names":[],"mappings":"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"}
|