@spine-event-engine/storage-datastore 2.0.0-snapshot.25 → 2.0.0-snapshot.28
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/README.md +0 -13
- package/REFERENCE.md +13 -7
- package/dist/datastore/entity-history.d.ts +2 -2
- package/dist/datastore/entity-history.js +2 -2
- package/dist/datastore/record-indexes.d.ts +21 -0
- package/dist/datastore/record-indexes.d.ts.map +1 -0
- package/dist/datastore/record-indexes.js +43 -0
- package/dist/datastore/record-indexes.js.map +1 -0
- package/dist/datastore/record-storage.d.ts +9 -0
- package/dist/datastore/record-storage.d.ts.map +1 -1
- package/dist/datastore/record-storage.js +52 -18
- package/dist/datastore/record-storage.js.map +1 -1
- package/dist/datastore/storage-factory.d.ts +14 -0
- package/dist/datastore/storage-factory.d.ts.map +1 -1
- package/dist/datastore/storage-factory.js +24 -1
- package/dist/datastore/storage-factory.js.map +1 -1
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/package.json +4 -5
package/README.md
CHANGED
|
@@ -262,19 +262,6 @@ policy for its workload, and keep Google credentials outside source control.
|
|
|
262
262
|
This adapter does not provide an unlimited scan mode or a Datastore-specific
|
|
263
263
|
cursor API.
|
|
264
264
|
|
|
265
|
-
Before starting this corrected layout in an existing project, inventory every
|
|
266
|
-
native namespace and kind:
|
|
267
|
-
|
|
268
|
-
```sh
|
|
269
|
-
pnpm --dir packages/storage-datastore inventory:legacy -- --project my-project
|
|
270
|
-
```
|
|
271
|
-
|
|
272
|
-
The command exits nonzero if discovery fails or it finds an old `_scope`
|
|
273
|
-
property or scope-derived key name. Do not start the corrected runtime until it
|
|
274
|
-
passes. Old rows are invisible to direct keys; move them offline, and stop if
|
|
275
|
-
rows from old Bounded Context partitions would become the same namespace,
|
|
276
|
-
kind, and key. The runtime never chooses a winner.
|
|
277
|
-
|
|
278
265
|
## 🔗 Learn more
|
|
279
266
|
|
|
280
267
|
- [Storage API](https://github.com/SpineEventEngine/spine-ts/blob/master/packages/storage/README.md)
|
package/REFERENCE.md
CHANGED
|
@@ -64,6 +64,19 @@ The callback and creator must share application-managed readiness: after a
|
|
|
64
64
|
successful `check`, later ordinary use must not auto-create the checked
|
|
65
65
|
structures. A `create` callback verifies its result. Each callback cleans up
|
|
66
66
|
resources it partially acquires if preparation fails.
|
|
67
|
+
|
|
68
|
+
Native record preparation validates local `RecordSpec.indexes` shapes limited
|
|
69
|
+
to the storage ID and one declared single-valued property (optionally followed
|
|
70
|
+
by the ID). It does not deploy Datastore indexes or prove cloud index readiness.
|
|
71
|
+
Fixed byte columns retain exact-width stored and query validation. A supported
|
|
72
|
+
equality-plus-ID page pushes equality, ascending key order, continuation, and
|
|
73
|
+
requested limit to Datastore without the local scan overflow sentinel.
|
|
74
|
+
|
|
75
|
+
`createRecordStorage(..., undefined, { prepareOnAccess: false })` rejects when
|
|
76
|
+
record resolution selects a custom creator, even if that creator has an explicit
|
|
77
|
+
preparation callback. Only native Datastore record handles support skipped
|
|
78
|
+
access preparation.
|
|
79
|
+
|
|
67
80
|
The built-in Entity provider writes its record families independently; custom
|
|
68
81
|
record creators do not join a combined Entity transaction.
|
|
69
82
|
Custom Entity bundles return a `Promise<void>` from `close()` and provide synchronous
|
|
@@ -175,13 +188,6 @@ converts only namespaces recognized by its `NamespaceConverter`. `keep()`
|
|
|
175
188
|
stores no `TenantId` row or other discovery record; Datastore exposes native
|
|
176
189
|
metadata after an application entity is written in that namespace.
|
|
177
190
|
|
|
178
|
-
Before deployment to an existing project, run `pnpm --dir
|
|
179
|
-
packages/storage-datastore inventory:legacy -- --project <project-id>`. It
|
|
180
|
-
enumerates native namespaces and kinds and fails closed on discovery errors,
|
|
181
|
-
an old `_scope` property, or a scope-derived key name. Passing the inventory is
|
|
182
|
-
a startup prerequisite; the application performs migration offline, with no
|
|
183
|
-
dual-layout reads or automatic conflict winner.
|
|
184
|
-
|
|
185
191
|
## Agent live persistence
|
|
186
192
|
|
|
187
193
|
`AgentHistoryStorage.appendAll()` saves one complete immutable audit group
|
|
@@ -70,7 +70,7 @@ export declare class DatastoreEntityCommitStorage implements EntityCommitStorage
|
|
|
70
70
|
/**
|
|
71
71
|
* Writes histories and delivery Events before the current Entity record.
|
|
72
72
|
*
|
|
73
|
-
* A failed save may leave a completed prefix. One transient retry
|
|
73
|
+
* A failed save may leave a completed prefix. One transient retry repeats
|
|
74
74
|
* captured records with the same versions and Event IDs.
|
|
75
75
|
*
|
|
76
76
|
* @typeParam I Entity identifier type.
|
|
@@ -257,7 +257,7 @@ export declare class DatastoreEntityCommitStorage implements EntityCommitStorage
|
|
|
257
257
|
* Determines whether a Datastore abort occurred through provider error causes.
|
|
258
258
|
*
|
|
259
259
|
* @param error Supplies the operation failure.
|
|
260
|
-
* @returns Whether one captured
|
|
260
|
+
* @returns Whether one retry of the captured input is safe.
|
|
261
261
|
*/
|
|
262
262
|
private retryable;
|
|
263
263
|
/**
|
|
@@ -136,7 +136,7 @@ export class DatastoreEntityCommitStorage {
|
|
|
136
136
|
/**
|
|
137
137
|
* Writes histories and delivery Events before the current Entity record.
|
|
138
138
|
*
|
|
139
|
-
* A failed save may leave a completed prefix. One transient retry
|
|
139
|
+
* A failed save may leave a completed prefix. One transient retry repeats
|
|
140
140
|
* captured records with the same versions and Event IDs.
|
|
141
141
|
*
|
|
142
142
|
* @typeParam I Entity identifier type.
|
|
@@ -559,7 +559,7 @@ export class DatastoreEntityCommitStorage {
|
|
|
559
559
|
* Determines whether a Datastore abort occurred through provider error causes.
|
|
560
560
|
*
|
|
561
561
|
* @param error Supplies the operation failure.
|
|
562
|
-
* @returns Whether one captured
|
|
562
|
+
* @returns Whether one retry of the captured input is safe.
|
|
563
563
|
*/
|
|
564
564
|
retryable(error) {
|
|
565
565
|
let current = error;
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import type { RecordIndex } from "@spine-event-engine/storage";
|
|
2
|
+
/**
|
|
3
|
+
* Validates local Datastore record-index declarations and exact equality shapes.
|
|
4
|
+
*/
|
|
5
|
+
export declare const DatastoreRecordIndexes: Readonly<{
|
|
6
|
+
/**
|
|
7
|
+
* Rejects a declaration outside automatic property and key index shapes.
|
|
8
|
+
*
|
|
9
|
+
* @param indexes Complete record-family requirements.
|
|
10
|
+
*/
|
|
11
|
+
validate(indexes: readonly RecordIndex[]): void;
|
|
12
|
+
/**
|
|
13
|
+
* Checks whether a declared property supports equality and key ordering.
|
|
14
|
+
*
|
|
15
|
+
* @param indexes Complete record-family requirements.
|
|
16
|
+
* @param column Equality property.
|
|
17
|
+
* @returns Whether exact provider paging can use the declaration.
|
|
18
|
+
*/
|
|
19
|
+
hasEquality(indexes: readonly RecordIndex[], column: string): boolean;
|
|
20
|
+
}>;
|
|
21
|
+
//# sourceMappingURL=record-indexes.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"record-indexes.d.ts","sourceRoot":"","sources":["../../src/datastore/record-indexes.ts"],"names":[],"mappings":"AAcA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,6BAA6B,CAAC;AAE/D;;GAEG;AACH,eAAO,MAAM,sBAAsB,EAAE,QAAQ,CAAC;IAC5C;;;;OAIG;IACH,QAAQ,CAAC,OAAO,EAAE,SAAS,WAAW,EAAE,GAAG,IAAI,CAAC;IAEhD;;;;;;OAMG;IACH,WAAW,CAAC,OAAO,EAAE,SAAS,WAAW,EAAE,EAAE,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC;CACvE,CAiCC,CAAC"}
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
/*
|
|
2
|
+
* Copyright 2026, CodeMatters. All rights reserved.
|
|
3
|
+
*
|
|
4
|
+
* Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except
|
|
5
|
+
* in compliance with the License. You may obtain a copy of the License at
|
|
6
|
+
*
|
|
7
|
+
* https://www.apache.org/licenses/LICENSE-2.0
|
|
8
|
+
*
|
|
9
|
+
* Unless required by applicable law or agreed to in writing, software distributed under the License
|
|
10
|
+
* is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express
|
|
11
|
+
* or implied. See the License for the specific language governing permissions and limitations under
|
|
12
|
+
* the License.
|
|
13
|
+
*/
|
|
14
|
+
/**
|
|
15
|
+
* Validates local Datastore record-index declarations and exact equality shapes.
|
|
16
|
+
*/
|
|
17
|
+
export const DatastoreRecordIndexes = Object.freeze({
|
|
18
|
+
/**
|
|
19
|
+
* Rejects a declaration outside automatic property and key index shapes.
|
|
20
|
+
*
|
|
21
|
+
* @param indexes Complete record-family requirements.
|
|
22
|
+
*/
|
|
23
|
+
validate(indexes) {
|
|
24
|
+
for (const index of indexes) {
|
|
25
|
+
const columns = index.columns;
|
|
26
|
+
if (columns.length > 2 ||
|
|
27
|
+
(columns.length === 2 && (columns[0] === "id" || columns[1] !== "id")))
|
|
28
|
+
throw new Error(`Datastore record index "${index.name}" requires a property and optional id.`);
|
|
29
|
+
}
|
|
30
|
+
},
|
|
31
|
+
/**
|
|
32
|
+
* Checks whether a declared property has the automatic equality/key ordering shape.
|
|
33
|
+
*
|
|
34
|
+
* @param indexes Complete record-family requirements.
|
|
35
|
+
* @param column Equality property.
|
|
36
|
+
* @returns Whether exact provider paging can use the declaration.
|
|
37
|
+
*/
|
|
38
|
+
hasEquality(indexes, column) {
|
|
39
|
+
return indexes.some((index) => index.columns[0] === column &&
|
|
40
|
+
(index.columns.length === 1 || (index.columns.length === 2 && index.columns[1] === "id")));
|
|
41
|
+
},
|
|
42
|
+
});
|
|
43
|
+
//# sourceMappingURL=record-indexes.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"record-indexes.js","sourceRoot":"","sources":["../../src/datastore/record-indexes.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAIH;;GAEG;AACH,MAAM,CAAC,MAAM,sBAAsB,GAgB9B,MAAM,CAAC,MAAM,CAAC;IACjB;;;;OAIG;IACH,QAAQ,CAAC,OAA+B;QACtC,KAAK,MAAM,KAAK,IAAI,OAAO,EAAE,CAAC;YAC5B,MAAM,OAAO,GAAG,KAAK,CAAC,OAAO,CAAC;YAC9B,IACE,OAAO,CAAC,MAAM,GAAG,CAAC;gBAClB,CAAC,OAAO,CAAC,MAAM,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK,IAAI,IAAI,OAAO,CAAC,CAAC,CAAC,KAAK,IAAI,CAAC,CAAC;gBAEtE,MAAM,IAAI,KAAK,CACb,2BAA2B,KAAK,CAAC,IAAI,wCAAwC,CAC9E,CAAC;QACN,CAAC;IACH,CAAC;IAED;;;;;;OAMG;IACH,WAAW,CAAC,OAA+B,EAAE,MAAc;QACzD,OAAO,OAAO,CAAC,IAAI,CACjB,CAAC,KAAK,EAAE,EAAE,CACR,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK,MAAM;YAC3B,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,KAAK,CAAC,IAAI,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK,IAAI,CAAC,CAAC,CAC5F,CAAC;IACJ,CAAC;CACF,CAAC,CAAC"}
|
|
@@ -45,6 +45,8 @@ export interface DatastorePageQuery {
|
|
|
45
45
|
readonly cursor?: DatastorePageCursor;
|
|
46
46
|
/**
|
|
47
47
|
* Limits the number of rows decoded for this page.
|
|
48
|
+
*
|
|
49
|
+
* @param indexes Declared lookup index requirements.
|
|
48
50
|
*/
|
|
49
51
|
readonly limit: number;
|
|
50
52
|
}
|
|
@@ -186,6 +188,13 @@ export declare class DatastoreRecordStorage<I, R extends Message> extends Record
|
|
|
186
188
|
* @returns The matching storage entries.
|
|
187
189
|
*/
|
|
188
190
|
protected queryRecordEntries(_query: RecordQuery<I>): Promise<readonly RecordEntry<I, R>[]>;
|
|
191
|
+
/**
|
|
192
|
+
* Returns the safe native row limit for one record query.
|
|
193
|
+
*
|
|
194
|
+
* @param query Requested record query.
|
|
195
|
+
* @returns Exact page size or configured candidate limit.
|
|
196
|
+
*/
|
|
197
|
+
private queryPageLimit;
|
|
189
198
|
/**
|
|
190
199
|
* Returns the supported Datastore query capabilities.
|
|
191
200
|
*
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"record-storage.d.ts","sourceRoot":"","sources":["../../src/datastore/record-storage.ts"],"names":[],"mappings":"AAcA,OAAO,EAAwB,KAAK,OAAO,EAAE,MAAM,oBAAoB,CAAC;AACxE,OAAO,EAAO,SAAS,EAAsB,MAAM,yBAAyB,CAAC;AAC7E,OAAO,EAA8B,mBAAmB,EAAE,MAAM,0BAA0B,CAAC;AAE3F,OAAO,EAGL,aAAa,EACb,KAAK,mBAAmB,EAExB,KAAK,WAAW,EAChB,KAAK,WAAW,EAChB,KAAK,UAAU,
|
|
1
|
+
{"version":3,"file":"record-storage.d.ts","sourceRoot":"","sources":["../../src/datastore/record-storage.ts"],"names":[],"mappings":"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"}
|
|
@@ -19,6 +19,7 @@ import { ColumnMappings, defaultQueryCandidateLimit, RecordStorage, } from "@spi
|
|
|
19
19
|
import { TenantBoundary } from "@spine-event-engine/storage/provider";
|
|
20
20
|
import { StorageQueryValues } from "@spine-event-engine/storage/provider";
|
|
21
21
|
import { DatastoreColumnMapping } from "./column-mapping.js";
|
|
22
|
+
import { DatastoreRecordIndexes } from "./record-indexes.js";
|
|
22
23
|
import { RecordKinds } from "./record-kind.js";
|
|
23
24
|
import { DatastoreIdColumn } from "./id-column.js";
|
|
24
25
|
import { DefaultNamespaceConverter, NamespaceAssignments, } from "./namespace.js";
|
|
@@ -58,6 +59,7 @@ class FlatEntityCodec {
|
|
|
58
59
|
this.recordSpec = recordSpec;
|
|
59
60
|
this.maxClientSideScan = maxClientSideScan;
|
|
60
61
|
this.group = group;
|
|
62
|
+
DatastoreRecordIndexes.validate(recordSpec.indexes);
|
|
61
63
|
this.#kind =
|
|
62
64
|
kind ?? RecordKinds.of(recordSpec.sourceType.typeName, recordSpec.recordType.typeName, group);
|
|
63
65
|
if (this.#kind.trim().length === 0 || Buffer.byteLength(this.#kind, "utf8") > 1_500)
|
|
@@ -453,11 +455,14 @@ export class DatastoreRecordStorage extends RecordStorage {
|
|
|
453
455
|
*/
|
|
454
456
|
async queryRecordEntries(_query) {
|
|
455
457
|
const query = this.#codec.createQuery(this.client);
|
|
456
|
-
const
|
|
457
|
-
|
|
458
|
+
const exactPage = DatastoreRecordQuery.isKeysetPage(_query, this.recordSpec.indexes);
|
|
459
|
+
const providerLimit = this.queryPageLimit(_query);
|
|
460
|
+
DatastoreQueryPushdown.translate(query, _query, (id) => this.#codec.key(this.client, id), (column) => this.#codec.columnProperty(column), (column, value) => this.#codec.columnValue(column, value), exactPage);
|
|
458
461
|
query.limit(providerLimit);
|
|
459
462
|
const entities = DatastoreResults.entities(await this.provider(() => this.client.runQuery(query, wrappedReadOptions)));
|
|
460
|
-
if (
|
|
463
|
+
if (!exactPage &&
|
|
464
|
+
providerLimit === this.#codec.queryLimit() &&
|
|
465
|
+
entities.length >= providerLimit) {
|
|
461
466
|
throw new DatastoreQueryLimitError(providerLimit - 1);
|
|
462
467
|
}
|
|
463
468
|
const entries = entities.map((entity) => ({
|
|
@@ -465,10 +470,19 @@ export class DatastoreRecordStorage extends RecordStorage {
|
|
|
465
470
|
record: this.#codec.decode(entity),
|
|
466
471
|
columns: this.#codec.columns(entity),
|
|
467
472
|
}));
|
|
468
|
-
if (
|
|
473
|
+
if (exactPage)
|
|
469
474
|
return entries.map(({ id, record }) => ({ id, record }));
|
|
470
475
|
return LocalQueryResults.apply(entries, _query);
|
|
471
476
|
}
|
|
477
|
+
/**
|
|
478
|
+
* Returns the safe native row limit for one record query.
|
|
479
|
+
*
|
|
480
|
+
* @param query Requested record query.
|
|
481
|
+
* @returns Exact page size or configured candidate limit.
|
|
482
|
+
*/
|
|
483
|
+
queryPageLimit(query) {
|
|
484
|
+
return DatastoreRecordQuery.limit(query, this.#codec.queryLimit(), this.recordSpec.indexes);
|
|
485
|
+
}
|
|
472
486
|
/**
|
|
473
487
|
* Returns the supported Datastore query capabilities.
|
|
474
488
|
*
|
|
@@ -793,8 +807,30 @@ class DatastoreQueryPushdownHelper {
|
|
|
793
807
|
* @param keyFor Converts a record ID to a Datastore key.
|
|
794
808
|
* @param columnProperty Resolves a declared column to a property name.
|
|
795
809
|
* @param columnValue Converts a column value for the provider.
|
|
810
|
+
* @param exactPage Whether the requested keyset page is fully pushed down.
|
|
796
811
|
*/
|
|
797
|
-
translate(query, recordQuery, keyFor, columnProperty, columnValue) {
|
|
812
|
+
translate(query, recordQuery, keyFor, columnProperty, columnValue, exactPage) {
|
|
813
|
+
this.translateFilters(query, recordQuery, keyFor, columnProperty, columnValue);
|
|
814
|
+
for (const order of recordQuery.sort ?? []) {
|
|
815
|
+
query.order(order.field === "id" ? "__key__" : columnProperty(order.field), {
|
|
816
|
+
descending: order.direction === "desc",
|
|
817
|
+
});
|
|
818
|
+
}
|
|
819
|
+
if (!(recordQuery.sort ?? []).some((order) => order.field === "id"))
|
|
820
|
+
query.order("__key__");
|
|
821
|
+
if (recordQuery.after !== undefined && exactPage)
|
|
822
|
+
query.filter(new PropertyFilter("__key__", ">", keyFor(recordQuery.after.id)));
|
|
823
|
+
}
|
|
824
|
+
/**
|
|
825
|
+
* Applies legacy ID and column filters to one native query.
|
|
826
|
+
* @typeParam I Record identifier type.
|
|
827
|
+
* @param query Mutable Datastore query.
|
|
828
|
+
* @param recordQuery Legacy record query.
|
|
829
|
+
* @param keyFor Converts a record ID to a Datastore key.
|
|
830
|
+
* @param columnProperty Resolves a declared column to a property name.
|
|
831
|
+
* @param columnValue Converts a column value for the provider.
|
|
832
|
+
*/
|
|
833
|
+
translateFilters(query, recordQuery, keyFor, columnProperty, columnValue) {
|
|
798
834
|
if (recordQuery.ids !== undefined && recordQuery.ids.length > 0) {
|
|
799
835
|
const keys = recordQuery.ids.map(keyFor);
|
|
800
836
|
const first = recordQuery.ids[0];
|
|
@@ -810,15 +846,6 @@ class DatastoreQueryPushdownHelper {
|
|
|
810
846
|
: values.map((value) => columnValue(filter.column, value));
|
|
811
847
|
query.filter(new PropertyFilter(filter.column === "id" ? "__key__" : columnProperty(filter.column), values.length === 1 ? "=" : "IN", values.length === 1 ? providerValues[0] : providerValues));
|
|
812
848
|
}
|
|
813
|
-
for (const order of recordQuery.sort ?? []) {
|
|
814
|
-
query.order(order.field === "id" ? "__key__" : columnProperty(order.field), {
|
|
815
|
-
descending: order.direction === "desc",
|
|
816
|
-
});
|
|
817
|
-
}
|
|
818
|
-
if (!(recordQuery.sort ?? []).some((order) => order.field === "id"))
|
|
819
|
-
query.order("__key__");
|
|
820
|
-
if (recordQuery.after !== undefined && DatastoreRecordQuery.isKeysetPage(recordQuery))
|
|
821
|
-
query.filter(new PropertyFilter("__key__", ">", keyFor(recordQuery.after.id)));
|
|
822
849
|
}
|
|
823
850
|
/**
|
|
824
851
|
* Applies the all-or-nothing legal portion of a normalized query plan.
|
|
@@ -960,11 +987,12 @@ class DatastoreRecordQueryMethods {
|
|
|
960
987
|
* @typeParam I Record identifier type in the legacy query.
|
|
961
988
|
* @param query Supplies the requested record query.
|
|
962
989
|
* @param scanLimit Supplies the configured materialization limit.
|
|
990
|
+
* @param indexes Declared native-compatible equality indexes.
|
|
963
991
|
* @returns The finite provider row bound.
|
|
964
992
|
*/
|
|
965
|
-
limit(query, scanLimit) {
|
|
993
|
+
limit(query, scanLimit, indexes) {
|
|
966
994
|
const requestedLimit = query.limit;
|
|
967
|
-
if (requestedLimit !== undefined && this.isKeysetPage(query))
|
|
995
|
+
if (requestedLimit !== undefined && this.isKeysetPage(query, indexes))
|
|
968
996
|
return requestedLimit;
|
|
969
997
|
if (query.limit !== undefined &&
|
|
970
998
|
query.ids === undefined &&
|
|
@@ -980,15 +1008,21 @@ class DatastoreRecordQueryMethods {
|
|
|
980
1008
|
*
|
|
981
1009
|
* @typeParam I Record identifier type in the legacy query.
|
|
982
1010
|
* @param query The record query to classify.
|
|
1011
|
+
* @param indexes Declared native-compatible equality indexes.
|
|
983
1012
|
* @returns `true` when Datastore can apply its limit and continuation completely.
|
|
984
1013
|
*/
|
|
985
|
-
isKeysetPage(query) {
|
|
1014
|
+
isKeysetPage(query, indexes) {
|
|
986
1015
|
const order = query.sort;
|
|
987
1016
|
const continuation = query.after;
|
|
988
1017
|
const continuationValue = continuation?.values[0];
|
|
989
1018
|
return (query.limit !== undefined &&
|
|
990
1019
|
query.ids === undefined &&
|
|
991
|
-
query.filters === undefined
|
|
1020
|
+
(query.filters === undefined ||
|
|
1021
|
+
(query.filters.length === 1 &&
|
|
1022
|
+
query.filters[0] !== undefined &&
|
|
1023
|
+
query.filters[0].column !== "id" &&
|
|
1024
|
+
!Array.isArray(query.filters[0].value) &&
|
|
1025
|
+
DatastoreRecordIndexes.hasEquality(indexes, query.filters[0].column))) &&
|
|
992
1026
|
query.offset === undefined &&
|
|
993
1027
|
order?.length === 1 &&
|
|
994
1028
|
order[0]?.field === "id" &&
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"record-storage.js","sourceRoot":"","sources":["../../src/datastore/record-storage.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"record-storage.js","sourceRoot":"","sources":["../../src/datastore/record-storage.ts"],"names":[],"mappings":"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"}
|
|
@@ -455,6 +455,20 @@ export declare class DatastoreStorageFactory extends StorageFactory implements T
|
|
|
455
455
|
* @returns The created Datastore record storage.
|
|
456
456
|
*/
|
|
457
457
|
protected onCreateRecordStorage<I, R extends Message>(context: StorageContext, recordSpec: RecordSpec<I, R>, group?: StorageGroup): RecordStorage<I, R>;
|
|
458
|
+
/**
|
|
459
|
+
* Opens a native record handle without a remote metadata probe. Local mapping,
|
|
460
|
+
* declaration, and collision validation still apply.
|
|
461
|
+
*
|
|
462
|
+
* Custom registered creators cannot promise this policy and reject explicitly.
|
|
463
|
+
*
|
|
464
|
+
* @param context The storage context.
|
|
465
|
+
* @param recordSpec The physical record declaration.
|
|
466
|
+
* @param group The optional physical family.
|
|
467
|
+
* @returns The native record handle.
|
|
468
|
+
* @typeParam I Record identifier type.
|
|
469
|
+
* @typeParam R Stored Protobuf message type.
|
|
470
|
+
*/
|
|
471
|
+
protected onCreateUnprepared<I, R extends Message>(context: StorageContext, recordSpec: RecordSpec<I, R>, group?: StorageGroup): RecordStorage<I, R>;
|
|
458
472
|
/**
|
|
459
473
|
* Acquires the built-in record provider for generated Entity families.
|
|
460
474
|
*
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"storage-factory.d.ts","sourceRoot":"","sources":["../../src/datastore/storage-factory.ts"],"names":[],"mappings":"AAcA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,oBAAoB,CAAC;AAClD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,8BAA8B,CAAC;AAC/D,OAAO,EAAO,SAAS,EAAkB,MAAM,yBAAyB,CAAC;AACzE,OAAO,EAA8B,mBAAmB,EAAE,MAAM,0BAA0B,CAAC;AAC3F,OAAO,EACL,aAAa,EACb,cAAc,EACd,KAAK,UAAU,EACf,KAAK,cAAc,EACnB,KAAK,YAAY,EAClB,MAAM,6BAA6B,CAAC;AACrC,OAAO,EACL,KAAK,aAAa,EAClB,KAAK,qBAAqB,EAI1B,KAAK,6BAA6B,EAClC,KAAK,sBAAsB,EAC5B,MAAM,sCAAsC,CAAC;AAS9C,OAAO,KAAK,EACV,mBAAmB,EACnB,sBAAsB,EACtB,mBAAmB,EACnB,sBAAsB,EACtB,kBAAkB,EACnB,MAAM,sCAAsC,CAAC;
|
|
1
|
+
{"version":3,"file":"storage-factory.d.ts","sourceRoot":"","sources":["../../src/datastore/storage-factory.ts"],"names":[],"mappings":"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"}
|