effect-dynamodb 1.24.0 → 1.25.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/Aggregate.d.ts +5 -2
- package/dist/Aggregate.d.ts.map +1 -1
- package/dist/Aggregate.js +136 -53
- package/dist/Aggregate.js.map +1 -1
- package/dist/Batch.d.ts +14 -5
- package/dist/Batch.d.ts.map +1 -1
- package/dist/Batch.js +184 -119
- package/dist/Batch.js.map +1 -1
- package/dist/Collection.d.ts.map +1 -1
- package/dist/Collection.js +2 -4
- package/dist/Collection.js.map +1 -1
- package/dist/DynamoClient.d.ts.map +1 -1
- package/dist/DynamoClient.js +42 -14
- package/dist/DynamoClient.js.map +1 -1
- package/dist/Entity.d.ts +19 -13
- package/dist/Entity.d.ts.map +1 -1
- package/dist/Entity.js +287 -226
- package/dist/Entity.js.map +1 -1
- package/dist/EventStore.d.ts +416 -73
- package/dist/EventStore.d.ts.map +1 -1
- package/dist/EventStore.js +525 -181
- package/dist/EventStore.js.map +1 -1
- package/dist/Query.d.ts +47 -14
- package/dist/Query.d.ts.map +1 -1
- package/dist/Query.js +190 -68
- package/dist/Query.js.map +1 -1
- package/dist/Table.d.ts +56 -6
- package/dist/Table.d.ts.map +1 -1
- package/dist/Table.js +134 -54
- package/dist/Table.js.map +1 -1
- package/dist/Transaction.d.ts +8 -0
- package/dist/Transaction.d.ts.map +1 -1
- package/dist/Transaction.js +67 -22
- package/dist/Transaction.js.map +1 -1
- package/dist/VectorSearchEmulation.d.ts +3 -2
- package/dist/VectorSearchEmulation.d.ts.map +1 -1
- package/dist/VectorSearchEmulation.js +14 -2
- package/dist/VectorSearchEmulation.js.map +1 -1
- package/dist/internal/BoundQuery.d.ts +3 -2
- package/dist/internal/BoundQuery.d.ts.map +1 -1
- package/dist/internal/BoundQuery.js.map +1 -1
- package/dist/internal/BoundVectorQuery.d.ts +5 -1
- package/dist/internal/BoundVectorQuery.d.ts.map +1 -1
- package/dist/internal/BoundVectorQuery.js +17 -5
- package/dist/internal/BoundVectorQuery.js.map +1 -1
- package/dist/internal/EntityCombinators.d.ts +8 -5
- package/dist/internal/EntityCombinators.d.ts.map +1 -1
- package/dist/internal/EntityCombinators.js +8 -5
- package/dist/internal/EntityCombinators.js.map +1 -1
- package/dist/internal/EntityOps.d.ts +1 -1
- package/dist/internal/Expr.d.ts +4 -0
- package/dist/internal/Expr.d.ts.map +1 -1
- package/dist/internal/Expr.js +6 -4
- package/dist/internal/Expr.js.map +1 -1
- package/dist/internal/ExpressionLimits.d.ts +45 -0
- package/dist/internal/ExpressionLimits.d.ts.map +1 -0
- package/dist/internal/ExpressionLimits.js +89 -0
- package/dist/internal/ExpressionLimits.js.map +1 -0
- package/dist/internal/Hydrate.d.ts +62 -0
- package/dist/internal/Hydrate.d.ts.map +1 -0
- package/dist/internal/Hydrate.js +191 -0
- package/dist/internal/Hydrate.js.map +1 -0
- package/dist/internal/ItemSize.d.ts +60 -24
- package/dist/internal/ItemSize.d.ts.map +1 -1
- package/dist/internal/ItemSize.js +122 -39
- package/dist/internal/ItemSize.js.map +1 -1
- package/dist/internal/TransactWriteOps.d.ts +22 -46
- package/dist/internal/TransactWriteOps.d.ts.map +1 -1
- package/dist/internal/TransactWriteOps.js +26 -95
- package/dist/internal/TransactWriteOps.js.map +1 -1
- package/dist/internal/WriteDiagnosis.d.ts +353 -0
- package/dist/internal/WriteDiagnosis.d.ts.map +1 -0
- package/dist/internal/WriteDiagnosis.js +1028 -0
- package/dist/internal/WriteDiagnosis.js.map +1 -0
- package/dist/internal/sparse_check.js +43 -79
- package/dist/internal/sparse_check.js.map +1 -1
- package/package.json +2 -2
package/dist/Query.js
CHANGED
|
@@ -12,7 +12,9 @@ import * as Projection from "@effect-dynamodb/schema/Projection.js";
|
|
|
12
12
|
import { Effect, Function, Option, Pipeable, Stream } from "effect";
|
|
13
13
|
import { DynamoClient } from "./DynamoClient.js";
|
|
14
14
|
import { compileExpr, ExprTag, emptyPartProblem, isEmptyExpr } from "./internal/Expr.js";
|
|
15
|
+
import { batchGetRaw } from "./internal/Hydrate.js";
|
|
15
16
|
import { compilePath } from "./internal/PathBuilder.js";
|
|
17
|
+
import { diagnoseFailure, explainDiagnosis, withCause } from "./internal/WriteDiagnosis.js";
|
|
16
18
|
import { fromAttributeMap, toAttributeValue } from "./Marshaller.js";
|
|
17
19
|
/** @internal Dedupe + drop absent entries from a caller-supplied key field list. */
|
|
18
20
|
const normalizeKeyFields = (fields) => {
|
|
@@ -46,6 +48,8 @@ export const make = (config) => new QueryImpl({
|
|
|
46
48
|
liveRows: config.liveRows,
|
|
47
49
|
prepare: config.prepare,
|
|
48
50
|
keepRow: undefined,
|
|
51
|
+
hydration: config.hydration,
|
|
52
|
+
keyConditionDiagnosis: config.keyConditionDiagnosis,
|
|
49
53
|
tableName: config.tableName,
|
|
50
54
|
indexName: config.indexName,
|
|
51
55
|
pkField: config.pkField,
|
|
@@ -60,7 +64,6 @@ export const make = (config) => new QueryImpl({
|
|
|
60
64
|
maxPagesValue: undefined,
|
|
61
65
|
scanForward: true,
|
|
62
66
|
consistentRead: false,
|
|
63
|
-
globalIndex: config.globalIndex ?? false,
|
|
64
67
|
ignoreOwnershipFlag: false,
|
|
65
68
|
exclusiveStartKey: undefined,
|
|
66
69
|
isScan: false,
|
|
@@ -79,6 +82,8 @@ export const makeScan = (config) => new QueryImpl({
|
|
|
79
82
|
liveRows: config.liveRows,
|
|
80
83
|
prepare: config.prepare,
|
|
81
84
|
keepRow: undefined,
|
|
85
|
+
hydration: undefined,
|
|
86
|
+
keyConditionDiagnosis: undefined,
|
|
82
87
|
tableName: config.tableName,
|
|
83
88
|
indexName: config.indexName,
|
|
84
89
|
pkField: "",
|
|
@@ -93,7 +98,6 @@ export const makeScan = (config) => new QueryImpl({
|
|
|
93
98
|
maxPagesValue: undefined,
|
|
94
99
|
scanForward: true,
|
|
95
100
|
consistentRead: false,
|
|
96
|
-
globalIndex: config.globalIndex ?? false,
|
|
97
101
|
ignoreOwnershipFlag: false,
|
|
98
102
|
exclusiveStartKey: undefined,
|
|
99
103
|
isScan: true,
|
|
@@ -160,9 +164,10 @@ export const reverse = (self) => new QueryImpl({
|
|
|
160
164
|
scanForward: false,
|
|
161
165
|
});
|
|
162
166
|
/**
|
|
163
|
-
* Enable consistent reads for this query (or scan).
|
|
164
|
-
*
|
|
165
|
-
*
|
|
167
|
+
* Enable consistent reads for this query (or scan). Sent as asked: DynamoDB
|
|
168
|
+
* rejects it on a global secondary index, which it reads only eventually
|
|
169
|
+
* consistently, and the query fails with a `ValidationError`
|
|
170
|
+
* (`operation: "query.consistentRead"`) naming the index (#144).
|
|
166
171
|
*/
|
|
167
172
|
export const consistentRead = Function.dual((args) => isQuery(args[0]), (self) => new QueryImpl({
|
|
168
173
|
...self._state,
|
|
@@ -468,9 +473,90 @@ const buildDynamoCommand = (state, tableName, overrides, extraProjectionFields =
|
|
|
468
473
|
ConsistentRead: input.ConsistentRead,
|
|
469
474
|
Limit: computeRequestLimit(state, state.limitValue),
|
|
470
475
|
ScanIndexForward: state.isScan ? undefined : state.scanForward,
|
|
476
|
+
// An LSI that does not project the items: DynamoDB fetches them from the
|
|
477
|
+
// table. Not with a ProjectionExpression, which DynamoDB rejects beside
|
|
478
|
+
// `Select: ALL_ATTRIBUTES` (and which fetches the named attributes itself).
|
|
479
|
+
...(state.hydration?._tag === "Fetch" && input.ProjectionExpression === undefined
|
|
480
|
+
? { Select: "ALL_ATTRIBUTES" }
|
|
481
|
+
: {}),
|
|
471
482
|
...overrides,
|
|
472
483
|
};
|
|
473
484
|
};
|
|
485
|
+
/**
|
|
486
|
+
* @internal The state the index request is built from. A `BatchGet`-hydrated
|
|
487
|
+
* query sends its projection on the `BatchGetItem`, not on the index query
|
|
488
|
+
* (whose rows only carry keys).
|
|
489
|
+
*/
|
|
490
|
+
const indexQueryState = (state) => state.hydration?._tag === "BatchGet"
|
|
491
|
+
? { ...state, projection: undefined, projectionPaths: undefined }
|
|
492
|
+
: state;
|
|
493
|
+
/**
|
|
494
|
+
* @internal Replace index rows with the table items they refer to, for a
|
|
495
|
+
* `BatchGet`-hydrated query (see {@link QueryHydration}); any other query's
|
|
496
|
+
* rows are returned as they are. The result is in `rows` order, `undefined`
|
|
497
|
+
* for an item that no longer exists (it is dropped like an excluded row).
|
|
498
|
+
*/
|
|
499
|
+
const hydrateRows = (client, tableName, state, rows) => {
|
|
500
|
+
const hydration = state.hydration;
|
|
501
|
+
if (hydration?._tag !== "BatchGet" || rows.length === 0)
|
|
502
|
+
return Effect.succeed(rows);
|
|
503
|
+
return Effect.gen(function* () {
|
|
504
|
+
const [pkName, skName] = hydration.tableKey;
|
|
505
|
+
const requests = [];
|
|
506
|
+
for (const row of rows) {
|
|
507
|
+
const pk = row[pkName];
|
|
508
|
+
const sk = row[skName];
|
|
509
|
+
if (pk === undefined || sk === undefined) {
|
|
510
|
+
// Table keys are always projected into a secondary index.
|
|
511
|
+
return yield* Effect.die(new Error(`Query hydration: an index row of "${state.indexName}" lacks the table key ` +
|
|
512
|
+
`attribute "${pk === undefined ? pkName : skName}".`));
|
|
513
|
+
}
|
|
514
|
+
requests.push({ tableName, key: { [pkName]: pk, [skName]: sk } });
|
|
515
|
+
}
|
|
516
|
+
const ownership = !state.ignoreOwnershipFlag && state.entityTypes.length > 0;
|
|
517
|
+
// A `select` moves here: the projection, plus what matching (the table
|
|
518
|
+
// key) and the ownership check read — stripped again unless selected.
|
|
519
|
+
const names = {};
|
|
520
|
+
const projected = new Set([
|
|
521
|
+
...(state.projection ?? []),
|
|
522
|
+
...(state.projectionPaths ?? []).map((segments) => String(segments[0])),
|
|
523
|
+
]);
|
|
524
|
+
const borrowed = projected.size === 0
|
|
525
|
+
? []
|
|
526
|
+
: [pkName, skName, ...(ownership ? ["__edd_e__"] : [])].filter((field) => !projected.has(field));
|
|
527
|
+
const expression = buildProjection(state, names, borrowed);
|
|
528
|
+
const fetched = yield* batchGetRaw(client, requests, {
|
|
529
|
+
projection: expression === undefined ? undefined : { expression, names },
|
|
530
|
+
rereadMissing: true,
|
|
531
|
+
});
|
|
532
|
+
const hydrated = [];
|
|
533
|
+
for (const item of fetched) {
|
|
534
|
+
if (item === undefined) {
|
|
535
|
+
hydrated.push(undefined);
|
|
536
|
+
continue;
|
|
537
|
+
}
|
|
538
|
+
if (ownership) {
|
|
539
|
+
const owner = item.__edd_e__?.S;
|
|
540
|
+
if (owner === undefined || !state.entityTypes.includes(owner)) {
|
|
541
|
+
// The index row passed the same `__edd_e__` filter: a defect.
|
|
542
|
+
return yield* Effect.die(new Error(`Query hydration: an item fetched through index "${state.indexName}" has ` +
|
|
543
|
+
`__edd_e__ ${JSON.stringify(owner)}, not ` +
|
|
544
|
+
`${state.entityTypes.map((t) => JSON.stringify(t)).join(" or ")}, although ` +
|
|
545
|
+
"its index row passed the same filter."));
|
|
546
|
+
}
|
|
547
|
+
}
|
|
548
|
+
if (borrowed.length === 0) {
|
|
549
|
+
hydrated.push(item);
|
|
550
|
+
continue;
|
|
551
|
+
}
|
|
552
|
+
const stripped = { ...item };
|
|
553
|
+
for (const field of borrowed)
|
|
554
|
+
delete stripped[field];
|
|
555
|
+
hydrated.push(stripped);
|
|
556
|
+
}
|
|
557
|
+
return hydrated;
|
|
558
|
+
});
|
|
559
|
+
};
|
|
474
560
|
// ---------------------------------------------------------------------------
|
|
475
561
|
// Internal: limit / pageSize execution helpers
|
|
476
562
|
// ---------------------------------------------------------------------------
|
|
@@ -546,15 +632,7 @@ const refuseEmptyFilterParts = (state) => {
|
|
|
546
632
|
*/
|
|
547
633
|
const prepared = (state, tableName) => {
|
|
548
634
|
// A consistent read of a GSI — which DynamoDB only reads eventually
|
|
549
|
-
// consistently — is
|
|
550
|
-
if (state.consistentRead && state.globalIndex) {
|
|
551
|
-
return Effect.fail(new ValidationError({
|
|
552
|
-
entityType: state.entityTypes.join(", ") || "unknown",
|
|
553
|
-
operation: "query.consistentRead",
|
|
554
|
-
cause: `consistentRead: index "${state.indexName}" is a global secondary index, which ` +
|
|
555
|
-
"DynamoDB reads only eventually consistently. Nothing was sent.",
|
|
556
|
-
}));
|
|
557
|
-
}
|
|
635
|
+
// consistently — is DynamoDB's to reject: diagnosed by `send` (#144).
|
|
558
636
|
// A filter with an empty part where none may be is refused before
|
|
559
637
|
// anything is sent (#133).
|
|
560
638
|
const filterRefusal = refuseEmptyFilterParts(state);
|
|
@@ -576,6 +654,38 @@ const prepared = (state, tableName) => {
|
|
|
576
654
|
};
|
|
577
655
|
});
|
|
578
656
|
};
|
|
657
|
+
/**
|
|
658
|
+
* @internal Send one request of a terminal. DynamoDB's rejection of what the
|
|
659
|
+
* library does not pre-check (#144) is diagnosed against the request sent, on
|
|
660
|
+
* failure only: a consistent read of a GSI, the key condition's rules (an
|
|
661
|
+
* empty key value, a reversed `BETWEEN`) and an `isIn()` with no values in the
|
|
662
|
+
* filter, named as {@link KeyConditionDiagnosis} says. Anything else passes
|
|
663
|
+
* through.
|
|
664
|
+
*/
|
|
665
|
+
const send = (client, state, cmd) => {
|
|
666
|
+
const request = state.isScan ? client.scan(cmd) : client.query(cmd);
|
|
667
|
+
return request.pipe(diagnoseFailure({
|
|
668
|
+
sent: () => ({ _tag: "Read", scan: state.isScan, input: cmd }),
|
|
669
|
+
only: ["ConsistentReadOnGsi", "EmptyKeyBound", "BetweenReversed", "EmptyIn"],
|
|
670
|
+
rewrite: (diagnosis, original) => {
|
|
671
|
+
const entityType = state.entityTypes.join(", ") || "unknown";
|
|
672
|
+
const naming = state.keyConditionDiagnosis ?? {
|
|
673
|
+
operation: "query",
|
|
674
|
+
label: `query of ${entityType}`,
|
|
675
|
+
};
|
|
676
|
+
const [operation, label] = diagnosis._tag === "ConsistentReadOnGsi"
|
|
677
|
+
? ["query.consistentRead", "query"]
|
|
678
|
+
: diagnosis._tag === "EmptyIn"
|
|
679
|
+
? ["query.filter", naming.label]
|
|
680
|
+
: [naming.operation, naming.label];
|
|
681
|
+
return new ValidationError({
|
|
682
|
+
entityType,
|
|
683
|
+
operation,
|
|
684
|
+
cause: withCause(explainDiagnosis(diagnosis, label), original),
|
|
685
|
+
});
|
|
686
|
+
},
|
|
687
|
+
}));
|
|
688
|
+
};
|
|
579
689
|
/** @internal Does the decoded item pass every client-side predicate? */
|
|
580
690
|
const accepts = (state, item) => {
|
|
581
691
|
for (const predicate of state.predicates) {
|
|
@@ -629,6 +739,50 @@ forCursor) => {
|
|
|
629
739
|
borrowed.add(attr);
|
|
630
740
|
return [...borrowed].filter((field) => !projected.has(field));
|
|
631
741
|
};
|
|
742
|
+
/**
|
|
743
|
+
* @internal Examine one response's rows in order, as `execute` and `paginate`
|
|
744
|
+
* both do: drop excluded rows, hydrate (see {@link QueryHydration}), decode,
|
|
745
|
+
* apply the client predicates, and stop once `budget` items are accepted.
|
|
746
|
+
*
|
|
747
|
+
* Without a client predicate every row is accepted, so only the rows the
|
|
748
|
+
* budget can still take are hydrated and decoded; a row dropped after
|
|
749
|
+
* hydration (its item gone) widens the window by one. With a predicate,
|
|
750
|
+
* acceptance is only known after decode, so the whole response is examined
|
|
751
|
+
* (#122). `stoppedAt` is the index of the row that filled the budget, or -1.
|
|
752
|
+
*/
|
|
753
|
+
const examinePage = (client, tableName, state, returned, budget, borrowedFields) => Effect.gen(function* () {
|
|
754
|
+
const hasPredicate = state.predicates.length > 0 || dropsRows(state);
|
|
755
|
+
const items = [];
|
|
756
|
+
let next = 0;
|
|
757
|
+
while (next < returned.length) {
|
|
758
|
+
const end = budget === undefined || hasPredicate
|
|
759
|
+
? returned.length
|
|
760
|
+
: Math.min(returned.length, next + (budget - items.length));
|
|
761
|
+
const positions = [];
|
|
762
|
+
for (let i = next; i < end; i++) {
|
|
763
|
+
if (!isExcludedRow(state, returned[i]))
|
|
764
|
+
positions.push(i);
|
|
765
|
+
}
|
|
766
|
+
const sources = yield* hydrateRows(client, tableName, state, positions.map((i) => returned[i]));
|
|
767
|
+
for (let k = 0; k < positions.length; k++) {
|
|
768
|
+
const source = sources[k];
|
|
769
|
+
if (source === undefined)
|
|
770
|
+
continue;
|
|
771
|
+
const raw = fromAttributeMap(source);
|
|
772
|
+
for (const field of borrowedFields)
|
|
773
|
+
delete raw[field];
|
|
774
|
+
const item = yield* state.decoder(raw);
|
|
775
|
+
if (hasPredicate && !accepts(state, item))
|
|
776
|
+
continue;
|
|
777
|
+
items.push(item);
|
|
778
|
+
if (budget !== undefined && items.length >= budget) {
|
|
779
|
+
return { items, stoppedAt: positions[k] };
|
|
780
|
+
}
|
|
781
|
+
}
|
|
782
|
+
next = end;
|
|
783
|
+
}
|
|
784
|
+
return { items, stoppedAt: -1 };
|
|
785
|
+
});
|
|
632
786
|
// ---------------------------------------------------------------------------
|
|
633
787
|
// Terminals
|
|
634
788
|
// ---------------------------------------------------------------------------
|
|
@@ -666,14 +820,14 @@ export const execute = (self) => Effect.gen(function* () {
|
|
|
666
820
|
? yield* self._state.resolveTableName
|
|
667
821
|
: self._state.tableName;
|
|
668
822
|
const state = yield* prepared(self._state, tableName);
|
|
823
|
+
const indexState = indexQueryState(state);
|
|
669
824
|
const limitValue = state.limitValue;
|
|
670
825
|
if (limitValue !== undefined && limitValue <= 0) {
|
|
671
826
|
return { items: [], cursor: null };
|
|
672
827
|
}
|
|
673
828
|
// Key attributes borrowed into an active projection so an over-reading
|
|
674
829
|
// request can still rebuild a cursor. Stripped again before decoding.
|
|
675
|
-
const borrowedFields = cursorProjectionFields(
|
|
676
|
-
const hasPredicate = state.predicates.length > 0 || dropsRows(state);
|
|
830
|
+
const borrowedFields = cursorProjectionFields(indexState, true);
|
|
677
831
|
const items = [];
|
|
678
832
|
let startKey = state.exclusiveStartKey;
|
|
679
833
|
let pageCount = 0;
|
|
@@ -681,34 +835,14 @@ export const execute = (self) => Effect.gen(function* () {
|
|
|
681
835
|
while (true) {
|
|
682
836
|
pageCount++;
|
|
683
837
|
const remaining = limitValue === undefined ? undefined : limitValue - items.length;
|
|
684
|
-
const cmd = buildDynamoCommand(
|
|
685
|
-
const result =
|
|
838
|
+
const cmd = buildDynamoCommand(indexState, tableName, { ExclusiveStartKey: startKey, Limit: computeRequestLimit(state, remaining, pageCount) }, borrowedFields);
|
|
839
|
+
const result = yield* send(client, state, cmd);
|
|
686
840
|
const returned = (result.Items ?? []);
|
|
687
841
|
const lastEvaluatedKey = result.LastEvaluatedKey;
|
|
688
|
-
//
|
|
689
|
-
|
|
690
|
-
|
|
691
|
-
|
|
692
|
-
const take = remaining === undefined || hasPredicate
|
|
693
|
-
? returned.length
|
|
694
|
-
: Math.min(remaining, returned.length);
|
|
695
|
-
/** Index of the last row examined when the limit was reached, else -1. */
|
|
696
|
-
let stoppedAt = -1;
|
|
697
|
-
for (let i = 0; i < take; i++) {
|
|
698
|
-
if (isExcludedRow(state, returned[i]))
|
|
699
|
-
continue;
|
|
700
|
-
const raw = fromAttributeMap(returned[i]);
|
|
701
|
-
for (const field of borrowedFields)
|
|
702
|
-
delete raw[field];
|
|
703
|
-
const item = yield* state.decoder(raw);
|
|
704
|
-
if (hasPredicate && !accepts(state, item))
|
|
705
|
-
continue;
|
|
706
|
-
items.push(item);
|
|
707
|
-
if (limitValue !== undefined && items.length >= limitValue) {
|
|
708
|
-
stoppedAt = i;
|
|
709
|
-
break;
|
|
710
|
-
}
|
|
711
|
-
}
|
|
842
|
+
// Index of the last row examined when the limit was reached, else -1.
|
|
843
|
+
const page = yield* examinePage(client, tableName, state, returned, remaining, borrowedFields);
|
|
844
|
+
items.push(...page.items);
|
|
845
|
+
const stoppedAt = page.stoppedAt;
|
|
712
846
|
// Stopped inside the page: the surplus was discarded, so the cursor has
|
|
713
847
|
// to be rebuilt from the last item handed back rather than from
|
|
714
848
|
// LastEvaluatedKey. `stoppedAt` is the last row ACCEPTED, which is what
|
|
@@ -759,30 +893,15 @@ const pageStream = (client, tableName, state) => {
|
|
|
759
893
|
}, (pageState) => Effect.gen(function* () {
|
|
760
894
|
const pageCount = pageState.pageCount + 1;
|
|
761
895
|
const remaining = limitValue === undefined ? undefined : limitValue - pageState.emitted;
|
|
762
|
-
const
|
|
763
|
-
const
|
|
896
|
+
const indexState = indexQueryState(state);
|
|
897
|
+
const borrowedFields = cursorProjectionFields(indexState, false);
|
|
898
|
+
const cmd = buildDynamoCommand(indexState, tableName, {
|
|
764
899
|
ExclusiveStartKey: pageState.key,
|
|
765
900
|
Limit: computeRequestLimit(state, remaining, pageCount),
|
|
766
901
|
}, borrowedFields);
|
|
767
|
-
const result =
|
|
902
|
+
const result = yield* send(client, state, cmd);
|
|
768
903
|
const returned = (result.Items ?? []);
|
|
769
|
-
|
|
770
|
-
// the budget cannot bound the examine window, only the accepted one.
|
|
771
|
-
const hasPredicate = state.predicates.length > 0 || dropsRows(state);
|
|
772
|
-
const take = remaining === undefined || hasPredicate
|
|
773
|
-
? returned.length
|
|
774
|
-
: Math.min(remaining, returned.length);
|
|
775
|
-
const examined = yield* Effect.forEach(returned
|
|
776
|
-
.slice(0, take)
|
|
777
|
-
.filter((item) => !isExcludedRow(state, item))
|
|
778
|
-
.map((item) => {
|
|
779
|
-
const raw = fromAttributeMap(item);
|
|
780
|
-
for (const field of borrowedFields)
|
|
781
|
-
delete raw[field];
|
|
782
|
-
return raw;
|
|
783
|
-
}), (raw) => state.decoder(raw));
|
|
784
|
-
const kept = hasPredicate ? examined.filter((item) => accepts(state, item)) : examined;
|
|
785
|
-
const decoded = remaining === undefined ? kept : kept.slice(0, remaining);
|
|
904
|
+
const { items: decoded } = yield* examinePage(client, tableName, state, returned, remaining, borrowedFields);
|
|
786
905
|
const emitted = pageState.emitted + decoded.length;
|
|
787
906
|
const hasMorePages = result.LastEvaluatedKey != null;
|
|
788
907
|
const maxPagesReached = state.maxPagesValue != null && pageCount >= state.maxPagesValue;
|
|
@@ -811,7 +930,9 @@ export const count = (self) => Effect.gen(function* () {
|
|
|
811
930
|
const tableName = self._state.resolveTableName
|
|
812
931
|
? yield* self._state.resolveTableName
|
|
813
932
|
: self._state.tableName;
|
|
814
|
-
|
|
933
|
+
// A hydrated query counts index rows: nothing is fetched (and a `select`
|
|
934
|
+
// projection, which hydration would send on the fetch, is not sent).
|
|
935
|
+
const state = indexQueryState(yield* prepared(self._state, tableName));
|
|
815
936
|
const limitValue = state.limitValue;
|
|
816
937
|
if (limitValue !== undefined && limitValue <= 0)
|
|
817
938
|
return 0;
|
|
@@ -846,7 +967,7 @@ export const count = (self) => Effect.gen(function* () {
|
|
|
846
967
|
ExclusiveStartKey: start,
|
|
847
968
|
Limit: computeRequestLimit(state, remaining, pages),
|
|
848
969
|
});
|
|
849
|
-
const result =
|
|
970
|
+
const result = yield* send(client, state, cmd);
|
|
850
971
|
const rows = (result.Items ?? []);
|
|
851
972
|
counted += rows.filter((row) => !isExcludedRow(state, row)).length;
|
|
852
973
|
start = result.LastEvaluatedKey;
|
|
@@ -868,7 +989,7 @@ export const count = (self) => Effect.gen(function* () {
|
|
|
868
989
|
Select: "COUNT",
|
|
869
990
|
Limit: computeRequestLimit(state, remaining),
|
|
870
991
|
});
|
|
871
|
-
const result =
|
|
992
|
+
const result = yield* send(client, state, cmd);
|
|
872
993
|
total += result.Count ?? 0;
|
|
873
994
|
exclusiveStartKey = result.LastEvaluatedKey;
|
|
874
995
|
if (limitValue !== undefined && total >= limitValue)
|
|
@@ -882,8 +1003,7 @@ export const count = (self) => Effect.gen(function* () {
|
|
|
882
1003
|
* Return the built DynamoDB command input without executing.
|
|
883
1004
|
* Useful for debugging, logging, or passing to DynamoClient directly.
|
|
884
1005
|
* Fails with a `ValidationError` for a filter the query would refuse to send
|
|
885
|
-
* (an empty part under `or` / `not`, an `or()` with no parts
|
|
886
|
-
* no values).
|
|
1006
|
+
* (an empty part under `or` / `not`, an `or()` with no parts).
|
|
887
1007
|
*/
|
|
888
1008
|
export const asParams = (self) => Effect.gen(function* () {
|
|
889
1009
|
const state = self._state;
|
|
@@ -891,7 +1011,9 @@ export const asParams = (self) => Effect.gen(function* () {
|
|
|
891
1011
|
if (refusal !== undefined)
|
|
892
1012
|
return yield* refusal;
|
|
893
1013
|
const tableName = state.resolveTableName ? yield* state.resolveTableName : state.tableName;
|
|
894
|
-
|
|
1014
|
+
// A `BatchGet`-hydrated query shows its index query; the `BatchGetItem`
|
|
1015
|
+
// that follows each page is not part of these parameters.
|
|
1016
|
+
return buildDynamoCommand(indexQueryState(state), tableName);
|
|
895
1017
|
});
|
|
896
1018
|
// ---------------------------------------------------------------------------
|
|
897
1019
|
// Type guard
|
package/dist/Query.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Query.js","sourceRoot":"","sources":["../src/Query.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"Query.js","sourceRoot":"","sources":["../src/Query.ts"],"names":[],"mappings":"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"}
|
package/dist/Table.d.ts
CHANGED
|
@@ -105,6 +105,12 @@ export interface Table<TEntities extends Record<string, EntityLike> = Record<str
|
|
|
105
105
|
*
|
|
106
106
|
* Entities are automatically configured with the table's schema and tag.
|
|
107
107
|
*
|
|
108
|
+
* Members are checked against each other at definition time: entities sharing a
|
|
109
|
+
* physical vector index must agree on its settings (EDD-9035), every member
|
|
110
|
+
* declaring one physical secondary index must agree on its key attributes and
|
|
111
|
+
* GSI/LSI classification, and every entity must declare the same primary-key
|
|
112
|
+
* fields (EDD-9069).
|
|
113
|
+
*
|
|
108
114
|
* @example
|
|
109
115
|
* ```typescript
|
|
110
116
|
* const MainTable = Table.make({
|
|
@@ -130,13 +136,12 @@ export declare const make: <const TEntities extends Record<string, EntityLike> =
|
|
|
130
136
|
* by physical index name, validating that all sharers agree.
|
|
131
137
|
*
|
|
132
138
|
* Sharing a physical vector index across entities is the norm in single-table
|
|
133
|
-
* designs — the quota is 5 per table — and it is safe precisely because the
|
|
139
|
+
* designs — the default quota is 5 per table — and it is safe precisely because the
|
|
134
140
|
* composed `__edd_vp_<name>__` partition value carries the entity type, so a
|
|
135
141
|
* search never crosses entity boundaries (see `DESIGN.md §14`).
|
|
136
142
|
*
|
|
137
143
|
* @throws when two entities disagree on `dimensions` or `distance` (EDD-9035),
|
|
138
|
-
* or
|
|
139
|
-
* indexes are declared (EDD-9034).
|
|
144
|
+
* or on a shared filter attribute's type (EDD-9040).
|
|
140
145
|
*/
|
|
141
146
|
export declare const mergeVectorIndexes: (entities: Record<string, EntityLike>) => Map<string, MergedVectorIndex>;
|
|
142
147
|
/** A physical vector index resolved across every entity that declares it. */
|
|
@@ -145,6 +150,8 @@ export interface MergedVectorIndex {
|
|
|
145
150
|
readonly definition: VectorIndexDefinition;
|
|
146
151
|
/** Entity type of the first declarer, used in conflict messages. */
|
|
147
152
|
readonly owner: string;
|
|
153
|
+
/** Entity type of every entity declaring the index, in registration order. */
|
|
154
|
+
readonly sharers: ReadonlyArray<string>;
|
|
148
155
|
/** Union of every sharer's declared `filters` (domain names). */
|
|
149
156
|
readonly filters: ReadonlyArray<string>;
|
|
150
157
|
/** Stored-name resolver for the first declarer's `storedAs` renames. */
|
|
@@ -235,18 +242,57 @@ export interface TableDefinition {
|
|
|
235
242
|
readonly VectorIndexes?: Array<VectorIndexSpec> | undefined;
|
|
236
243
|
}
|
|
237
244
|
/**
|
|
238
|
-
* Resolve the table's primary PK/SK field names from the
|
|
239
|
-
*
|
|
240
|
-
*
|
|
245
|
+
* Resolve the table's primary PK/SK field names from the entities' primary
|
|
246
|
+
* indexes. Aggregates are skipped — they borrow the table's primary key rather
|
|
247
|
+
* than declaring one.
|
|
241
248
|
*
|
|
242
249
|
* Returns `undefined` when no entity declares a primary index (a table registering
|
|
243
250
|
* only aggregates). Callers that require the primary key must treat that as an error;
|
|
244
251
|
* callers performing best-effort validation should skip their check instead.
|
|
252
|
+
*
|
|
253
|
+
* @throws when two entities declare different primary-key fields (EDD-9069). A
|
|
254
|
+
* table has one key schema; an entity keyed by other attributes would write
|
|
255
|
+
* items lacking the table's key attributes.
|
|
245
256
|
*/
|
|
246
257
|
export declare const resolvePrimaryKey: (entities: Record<string, EntityLike>) => {
|
|
247
258
|
readonly pk: string;
|
|
248
259
|
readonly sk: string | undefined;
|
|
249
260
|
} | undefined;
|
|
261
|
+
/** A physical secondary index resolved across every member that declares it. */
|
|
262
|
+
export interface MergedSecondaryIndex {
|
|
263
|
+
/**
|
|
264
|
+
* `"gsi"` or `"lsi"`; `undefined` only for an aggregate collection index on a
|
|
265
|
+
* table with no entity primary key, where the classification is unknown.
|
|
266
|
+
*/
|
|
267
|
+
readonly kind: "gsi" | "lsi" | undefined;
|
|
268
|
+
readonly pk: string;
|
|
269
|
+
readonly sk: string;
|
|
270
|
+
/** The first declarer, as named in conflict messages. */
|
|
271
|
+
readonly owner: string;
|
|
272
|
+
}
|
|
273
|
+
/**
|
|
274
|
+
* Merge every member's secondary index declarations into one map keyed by
|
|
275
|
+
* physical index name, refusing members that disagree on its key schema.
|
|
276
|
+
*
|
|
277
|
+
* Declarers:
|
|
278
|
+
* - every non-primary entity index (the auto-generated `_cascade_<field>`
|
|
279
|
+
* indexes included) — always a GSI;
|
|
280
|
+
* - an aggregate's `collection.index` — an LSI when the aggregate's `pkField` is
|
|
281
|
+
* the table's primary partition key, a GSI otherwise (unknown when `primary`
|
|
282
|
+
* is `undefined`);
|
|
283
|
+
* - an aggregate's list index — always a GSI.
|
|
284
|
+
*
|
|
285
|
+
* Several members sharing one physical index is the norm in single-table
|
|
286
|
+
* designs (index overloading). They must agree on its key attributes and its
|
|
287
|
+
* GSI/LSI classification: DynamoDB keys a physical index one way, and a member
|
|
288
|
+
* writing other attributes would never appear in it.
|
|
289
|
+
*
|
|
290
|
+
* @throws on a disagreement (EDD-9069), naming both declarers and both shapes.
|
|
291
|
+
*/
|
|
292
|
+
export declare const mergeSecondaryIndexes: (entities: Record<string, EntityLike>, aggregates: Record<string, AggregateLike>, primary: {
|
|
293
|
+
readonly pk: string;
|
|
294
|
+
readonly sk: string | undefined;
|
|
295
|
+
} | undefined) => Map<string, MergedSecondaryIndex>;
|
|
250
296
|
/**
|
|
251
297
|
* Derive CreateTable input from a table's registered members.
|
|
252
298
|
*
|
|
@@ -266,6 +312,10 @@ export declare const resolvePrimaryKey: (entities: Record<string, EntityLike>) =
|
|
|
266
312
|
* entity's primary index). This matches DynamoDB semantics — any index that shares
|
|
267
313
|
* the base table's partition key IS an LSI — and makes `lsi1`..`lsi5`-style indexes
|
|
268
314
|
* on aggregates work transparently with `db.tables.*.create()`.
|
|
315
|
+
*
|
|
316
|
+
* @throws when members disagree on one physical secondary index's key attributes or
|
|
317
|
+
* GSI/LSI classification, or entities disagree on the primary-key fields (EDD-9069,
|
|
318
|
+
* see {@link mergeSecondaryIndexes}). {@link make} refuses the same tables.
|
|
269
319
|
*/
|
|
270
320
|
export declare const definition: (table: Table) => TableDefinition;
|
|
271
321
|
/** Options for table creation. */
|