@memberjunction/core 6.2.0-edge.5 → 6.2.0-edge.6
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/generic/BaseEntitySaveQueue.d.ts +15 -0
- package/dist/generic/BaseEntitySaveQueue.d.ts.map +1 -1
- package/dist/generic/BaseEntitySaveQueue.js +21 -0
- package/dist/generic/BaseEntitySaveQueue.js.map +1 -1
- package/dist/generic/alternateBaseViews.d.ts +119 -0
- package/dist/generic/alternateBaseViews.d.ts.map +1 -0
- package/dist/generic/alternateBaseViews.js +223 -0
- package/dist/generic/alternateBaseViews.js.map +1 -0
- package/dist/generic/baseEngine.d.ts +53 -9
- package/dist/generic/baseEngine.d.ts.map +1 -1
- package/dist/generic/baseEngine.js +194 -35
- package/dist/generic/baseEngine.js.map +1 -1
- package/dist/generic/baseEngineRegistry.d.ts.map +1 -1
- package/dist/generic/baseEngineRegistry.js +2 -1
- package/dist/generic/baseEngineRegistry.js.map +1 -1
- package/dist/generic/baseEntity.d.ts +153 -17
- package/dist/generic/baseEntity.d.ts.map +1 -1
- package/dist/generic/baseEntity.js +345 -46
- package/dist/generic/baseEntity.js.map +1 -1
- package/dist/generic/contextTokens.d.ts +136 -0
- package/dist/generic/contextTokens.d.ts.map +1 -0
- package/dist/generic/contextTokens.js +319 -0
- package/dist/generic/contextTokens.js.map +1 -0
- package/dist/generic/databaseProviderBase.d.ts +66 -5
- package/dist/generic/databaseProviderBase.d.ts.map +1 -1
- package/dist/generic/databaseProviderBase.js +159 -12
- package/dist/generic/databaseProviderBase.js.map +1 -1
- package/dist/generic/embeddedRecord.d.ts +6 -0
- package/dist/generic/embeddedRecord.d.ts.map +1 -1
- package/dist/generic/embeddedRecord.js +15 -1
- package/dist/generic/embeddedRecord.js.map +1 -1
- package/dist/generic/entityCompanion.d.ts +7 -0
- package/dist/generic/entityCompanion.d.ts.map +1 -1
- package/dist/generic/entityCompanion.js +8 -0
- package/dist/generic/entityCompanion.js.map +1 -1
- package/dist/generic/entityInfo.d.ts +228 -9
- package/dist/generic/entityInfo.d.ts.map +1 -1
- package/dist/generic/entityInfo.js +574 -65
- package/dist/generic/entityInfo.js.map +1 -1
- package/dist/generic/entityValueFieldSecurity.d.ts +139 -0
- package/dist/generic/entityValueFieldSecurity.d.ts.map +1 -0
- package/dist/generic/entityValueFieldSecurity.js +250 -0
- package/dist/generic/entityValueFieldSecurity.js.map +1 -0
- package/dist/generic/fieldSecuritySQLGate.d.ts +350 -0
- package/dist/generic/fieldSecuritySQLGate.d.ts.map +1 -0
- package/dist/generic/fieldSecuritySQLGate.js +898 -0
- package/dist/generic/fieldSecuritySQLGate.js.map +1 -0
- package/dist/generic/indexRestrictedFields.d.ts +47 -0
- package/dist/generic/indexRestrictedFields.d.ts.map +1 -0
- package/dist/generic/indexRestrictedFields.js +129 -0
- package/dist/generic/indexRestrictedFields.js.map +1 -0
- package/dist/generic/interfaces.d.ts +14 -1
- package/dist/generic/interfaces.d.ts.map +1 -1
- package/dist/generic/interfaces.js.map +1 -1
- package/dist/generic/localCacheManager.d.ts +80 -11
- package/dist/generic/localCacheManager.d.ts.map +1 -1
- package/dist/generic/localCacheManager.js +209 -38
- package/dist/generic/localCacheManager.js.map +1 -1
- package/dist/generic/logging.d.ts.map +1 -1
- package/dist/generic/logging.js +7 -1
- package/dist/generic/logging.js.map +1 -1
- package/dist/generic/metadata.d.ts +3 -2
- package/dist/generic/metadata.d.ts.map +1 -1
- package/dist/generic/metadata.js +5 -2
- package/dist/generic/metadata.js.map +1 -1
- package/dist/generic/platformSQL.d.ts +54 -0
- package/dist/generic/platformSQL.d.ts.map +1 -1
- package/dist/generic/platformSQL.js +55 -0
- package/dist/generic/platformSQL.js.map +1 -1
- package/dist/generic/providerBase.d.ts +254 -56
- package/dist/generic/providerBase.d.ts.map +1 -1
- package/dist/generic/providerBase.js +698 -195
- package/dist/generic/providerBase.js.map +1 -1
- package/dist/generic/queryInfo.d.ts +13 -0
- package/dist/generic/queryInfo.d.ts.map +1 -1
- package/dist/generic/queryInfo.js +13 -0
- package/dist/generic/queryInfo.js.map +1 -1
- package/dist/generic/queryInfoInterfaces.d.ts +8 -0
- package/dist/generic/queryInfoInterfaces.d.ts.map +1 -1
- package/dist/generic/queryTemplateContext.d.ts +49 -0
- package/dist/generic/queryTemplateContext.d.ts.map +1 -0
- package/dist/generic/queryTemplateContext.js +113 -0
- package/dist/generic/queryTemplateContext.js.map +1 -0
- package/dist/generic/recordChangeFieldSecurity.d.ts.map +1 -1
- package/dist/generic/recordChangeFieldSecurity.js +13 -2
- package/dist/generic/recordChangeFieldSecurity.js.map +1 -1
- package/dist/generic/relatedRecordCollection.d.ts +13 -0
- package/dist/generic/relatedRecordCollection.d.ts.map +1 -1
- package/dist/generic/relatedRecordCollection.js +44 -5
- package/dist/generic/relatedRecordCollection.js.map +1 -1
- package/dist/generic/runQuery.d.ts +42 -0
- package/dist/generic/runQuery.d.ts.map +1 -1
- package/dist/generic/runQuery.js +14 -0
- package/dist/generic/runQuery.js.map +1 -1
- package/dist/generic/runQuerySQLFilterImplementations.d.ts.map +1 -1
- package/dist/generic/runQuerySQLFilterImplementations.js +38 -2
- package/dist/generic/runQuerySQLFilterImplementations.js.map +1 -1
- package/dist/generic/saveEntityGraphOperation.d.ts.map +1 -1
- package/dist/generic/saveEntityGraphOperation.js +3 -0
- package/dist/generic/saveEntityGraphOperation.js.map +1 -1
- package/dist/generic/securityInfo.d.ts +11 -0
- package/dist/generic/securityInfo.d.ts.map +1 -1
- package/dist/generic/securityInfo.js +15 -0
- package/dist/generic/securityInfo.js.map +1 -1
- package/dist/generic/telemetryManager.d.ts +9 -0
- package/dist/generic/telemetryManager.d.ts.map +1 -1
- package/dist/generic/telemetryManager.js +5 -1
- package/dist/generic/telemetryManager.js.map +1 -1
- package/dist/index.d.ts +7 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +7 -0
- package/dist/index.js.map +1 -1
- package/dist/views/runView.d.ts +89 -0
- package/dist/views/runView.d.ts.map +1 -1
- package/dist/views/runView.js +36 -0
- package/dist/views/runView.js.map +1 -1
- package/dist/views/viewProperties.d.ts +55 -0
- package/dist/views/viewProperties.d.ts.map +1 -0
- package/dist/views/viewProperties.js +258 -0
- package/dist/views/viewProperties.js.map +1 -0
- package/package.json +3 -3
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"localCacheManager.d.ts","sourceRoot":"","sources":["../../src/generic/localCacheManager.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"localCacheManager.d.ts","sourceRoot":"","sources":["../../src/generic/localCacheManager.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,5 +1,7 @@
|
|
|
1
1
|
import { BaseSingleton, MJGlobal, MJEventType } from "@memberjunction/global";
|
|
2
|
-
import { IsMaterializedDataSource } from "../views/runView.js";
|
|
2
|
+
import { IsMaterializedDataSource, NormalizeAlternateBaseViewName } from "../views/runView.js";
|
|
3
|
+
import { GetEffectiveAlternateBaseViewName } from "./alternateBaseViews.js";
|
|
4
|
+
import { ViewPropertyValuesKey } from "../views/viewProperties.js";
|
|
3
5
|
import { LogError, LogStatusEx, LogWarning } from "./logging.js";
|
|
4
6
|
import { BaseEntity } from "./baseEntity.js";
|
|
5
7
|
import { Metadata } from "./metadata.js";
|
|
@@ -156,6 +158,7 @@ export class LocalCacheManager extends BaseSingleton {
|
|
|
156
158
|
*/
|
|
157
159
|
this._sharesReferences = false;
|
|
158
160
|
this._registry = new Map();
|
|
161
|
+
this._lastVerifiedAt = new Map();
|
|
159
162
|
this._initialized = false;
|
|
160
163
|
this._initializePromise = null;
|
|
161
164
|
this._stats = { hits: 0, misses: 0 };
|
|
@@ -567,6 +570,9 @@ export class LocalCacheManager extends BaseSingleton {
|
|
|
567
570
|
* segment is built. Same misclassification, worse consequence: a save by
|
|
568
571
|
* user A was upserted into user B's RLS-scoped slot, injecting a row B's
|
|
569
572
|
* predicate excludes. That is an RLS bypass.
|
|
573
|
+
* - `fls:<h>` — the slot holds only the columns one permission class may read. Upserting a
|
|
574
|
+
* saver's row would put columns into it that its readers may not see (or
|
|
575
|
+
* take away ones they may), so it is invalidated like the two above.
|
|
570
576
|
*
|
|
571
577
|
* ## Why it is written as a DENY-by-default allowlist
|
|
572
578
|
* Enumerating the narrowing segments would repeat the original mistake: the next segment
|
|
@@ -590,6 +596,9 @@ export class LocalCacheManager extends BaseSingleton {
|
|
|
590
596
|
if (!seg) {
|
|
591
597
|
continue;
|
|
592
598
|
}
|
|
599
|
+
if (seg.startsWith('abv:')) {
|
|
600
|
+
return true; // alternate base view applies a canonical WHERE/JOIN — never maintain in place on save
|
|
601
|
+
}
|
|
593
602
|
if (seg.startsWith('imr:')) {
|
|
594
603
|
continue; // widens the set — safe to maintain
|
|
595
604
|
}
|
|
@@ -1327,11 +1336,12 @@ export class LocalCacheManager extends BaseSingleton {
|
|
|
1327
1336
|
}
|
|
1328
1337
|
const snapshot = [...fingerprints];
|
|
1329
1338
|
const nowISO = new Date().toISOString();
|
|
1339
|
+
const savesComplete = LocalCacheManager.everySavedRowComplete(changes); // per change, not per slot
|
|
1330
1340
|
const BATCH_SIZE = 8;
|
|
1331
1341
|
for (let i = 0; i < snapshot.length; i += BATCH_SIZE) {
|
|
1332
1342
|
await Promise.all(snapshot.slice(i, i + BATCH_SIZE).map(async (fingerprint) => {
|
|
1333
1343
|
try {
|
|
1334
|
-
await this.applyEntityChangesToSlot(fingerprint, changes, nowISO);
|
|
1344
|
+
await this.applyEntityChangesToSlot(fingerprint, changes, nowISO, savesComplete);
|
|
1335
1345
|
}
|
|
1336
1346
|
catch (err) {
|
|
1337
1347
|
LogError(`LocalCacheManager: failed to apply batched changes to "${fingerprint}": ${err.message}`);
|
|
@@ -1343,12 +1353,14 @@ export class LocalCacheManager extends BaseSingleton {
|
|
|
1343
1353
|
* One slot, several changes: the same decisions {@link processEntityEventForFingerprint} makes
|
|
1344
1354
|
* per event, made once for the whole list.
|
|
1345
1355
|
*/
|
|
1346
|
-
async applyEntityChangesToSlot(fingerprint, changes, nowISO) {
|
|
1356
|
+
async applyEntityChangesToSlot(fingerprint, changes, nowISO, savesComplete = LocalCacheManager.everySavedRowComplete(changes)) {
|
|
1347
1357
|
const hasSave = changes.some(c => c.Type === 'save');
|
|
1348
1358
|
// Subset and aggregate slots cannot be maintained in place; filtered slots cannot take an
|
|
1349
1359
|
// upsert (the new row may not match the filter) but can drop deleted rows.
|
|
1360
|
+
// A saved row missing columns cannot replace a full-width row either (see RowHasEveryField).
|
|
1350
1361
|
if (this.isSubsetFingerprint(fingerprint) || this.hasAggregates(fingerprint.split('|'))
|
|
1351
|
-
|| (hasSave && this.isFilteredFingerprint(fingerprint))
|
|
1362
|
+
|| (hasSave && this.isFilteredFingerprint(fingerprint))
|
|
1363
|
+
|| !savesComplete) {
|
|
1352
1364
|
await this.InvalidateRunViewResult(fingerprint);
|
|
1353
1365
|
return;
|
|
1354
1366
|
}
|
|
@@ -1445,11 +1457,12 @@ export class LocalCacheManager extends BaseSingleton {
|
|
|
1445
1457
|
if (key.KeyValuePairs.some(kv => kv.Value == null))
|
|
1446
1458
|
return;
|
|
1447
1459
|
LogStatusVerbose(`LocalCacheManager: remote-invalidate (save) for "${entityName}" PK=${key.ToConcatenatedString()}, updating ${fingerprints.size} cached fingerprint(s)`);
|
|
1460
|
+
const rowComplete = LocalCacheManager.RowHasEveryField(entityInfo, recordData); // per row, not per slot
|
|
1448
1461
|
for (const fingerprint of fingerprintSnapshot) {
|
|
1449
1462
|
try {
|
|
1450
1463
|
// Subset slot (MaxRows/StartRow): upserting would grow the slot past the
|
|
1451
1464
|
// caller's own row limit. Invalidate, same as a filtered slot.
|
|
1452
|
-
if (!this.isFilteredFingerprint(fingerprint) && !this.isSubsetFingerprint(fingerprint)) {
|
|
1465
|
+
if (rowComplete && !this.isFilteredFingerprint(fingerprint) && !this.isSubsetFingerprint(fingerprint)) {
|
|
1453
1466
|
await this.UpsertSingleEntity(fingerprint, recordData, key, nowISO);
|
|
1454
1467
|
}
|
|
1455
1468
|
else {
|
|
@@ -1567,9 +1580,14 @@ export class LocalCacheManager extends BaseSingleton {
|
|
|
1567
1580
|
await this.invalidateIfNotMaintained(fingerprint, maintained);
|
|
1568
1581
|
}
|
|
1569
1582
|
else if (!this.isFilteredFingerprint(fingerprint)) {
|
|
1570
|
-
// Unfiltered cache: update the record in place
|
|
1571
|
-
LogStatusVerbose(`LocalCacheManager: Upserting entity ${keyStr} in unfiltered cache "${fingerprint.substring(0, 60)}"`);
|
|
1583
|
+
// Unfiltered cache: update the record in place, unless the saved row is missing columns
|
|
1572
1584
|
const entityData = baseEntity.GetAll();
|
|
1585
|
+
if (!LocalCacheManager.RowHasEveryField(baseEntity.EntityInfo, entityData)) {
|
|
1586
|
+
LogStatusVerbose(`LocalCacheManager: Invalidating "${fingerprint.substring(0, 60)}" — the saved row is missing columns`);
|
|
1587
|
+
await this.InvalidateRunViewResult(fingerprint);
|
|
1588
|
+
return;
|
|
1589
|
+
}
|
|
1590
|
+
LogStatusVerbose(`LocalCacheManager: Upserting entity ${keyStr} in unfiltered cache "${fingerprint.substring(0, 60)}"`);
|
|
1573
1591
|
const maintained = await this.UpsertSingleEntity(fingerprint, entityData, key, nowISO);
|
|
1574
1592
|
await this.invalidateIfNotMaintained(fingerprint, maintained);
|
|
1575
1593
|
}
|
|
@@ -1579,6 +1597,58 @@ export class LocalCacheManager extends BaseSingleton {
|
|
|
1579
1597
|
await this.InvalidateRunViewResult(fingerprint);
|
|
1580
1598
|
}
|
|
1581
1599
|
}
|
|
1600
|
+
/**
|
|
1601
|
+
* True when `row` has a key for every non-binary field of `entity`, so it may replace the
|
|
1602
|
+
* cached copy of its record in place.
|
|
1603
|
+
*
|
|
1604
|
+
* A save event carries the saver's own values (`GetAll()`), and an object leaves out every
|
|
1605
|
+
* field it does not hold: one its user may not read, or one that was never loaded. Upserting
|
|
1606
|
+
* such a row into a full-width slot would replace a complete cached row with a partial one,
|
|
1607
|
+
* and every later reader of that slot, including users entitled to the missing columns, would
|
|
1608
|
+
* be served the row without them. A partial row therefore clears the slot instead, and the
|
|
1609
|
+
* next read refills it from the database. Binary fields are not required, because slots
|
|
1610
|
+
* leave them out unless asked for.
|
|
1611
|
+
*
|
|
1612
|
+
* A row is judged against the entity's field list, so without one (no entity metadata on
|
|
1613
|
+
* the event, which a real entity always carries) there is nothing to compare and the row is
|
|
1614
|
+
* accepted, as before this check existed.
|
|
1615
|
+
*
|
|
1616
|
+
* @param entity - The saved record's entity
|
|
1617
|
+
* @param row - The values the event carries
|
|
1618
|
+
*/
|
|
1619
|
+
static RowHasEveryField(entity, row) {
|
|
1620
|
+
if (!row || typeof row !== 'object') {
|
|
1621
|
+
return false;
|
|
1622
|
+
}
|
|
1623
|
+
const fields = entity?.Fields;
|
|
1624
|
+
if (!Array.isArray(fields) || fields.length === 0) {
|
|
1625
|
+
return true;
|
|
1626
|
+
}
|
|
1627
|
+
for (const field of fields) {
|
|
1628
|
+
if (!field.IsBinaryFieldType && !Object.prototype.hasOwnProperty.call(row, field.Name)) {
|
|
1629
|
+
return false;
|
|
1630
|
+
}
|
|
1631
|
+
}
|
|
1632
|
+
return true;
|
|
1633
|
+
}
|
|
1634
|
+
/** Whether every saved row among `changes` carries every column ({@link RowHasEveryField}). */
|
|
1635
|
+
static everySavedRowComplete(changes) {
|
|
1636
|
+
return changes.every(c => c.Type !== 'save' || LocalCacheManager.RowHasEveryField(c.EntityInfo, c.Record));
|
|
1637
|
+
}
|
|
1638
|
+
/**
|
|
1639
|
+
* True when a saved row may be written into `fingerprint`'s slot in place: the slot is neither
|
|
1640
|
+
* filtered (including row-security and field-security segments) nor a subset, and the row
|
|
1641
|
+
* carries every column ({@link RowHasEveryField}). Otherwise the slot must be invalidated.
|
|
1642
|
+
*
|
|
1643
|
+
* @param fingerprint - The slot to maintain
|
|
1644
|
+
* @param entity - The saved record's entity
|
|
1645
|
+
* @param row - The values the save carries
|
|
1646
|
+
*/
|
|
1647
|
+
CanUpsertRowIntoSlot(fingerprint, entity, row) {
|
|
1648
|
+
return !this.isFilteredFingerprint(fingerprint)
|
|
1649
|
+
&& !this.isSubsetFingerprint(fingerprint)
|
|
1650
|
+
&& LocalCacheManager.RowHasEveryField(entity, row);
|
|
1651
|
+
}
|
|
1582
1652
|
/**
|
|
1583
1653
|
* Handles a save/delete that could not be applied to a slot this process indexed — in practice
|
|
1584
1654
|
* because the slot expired or was removed by someone else.
|
|
@@ -1867,16 +1937,12 @@ export class LocalCacheManager extends BaseSingleton {
|
|
|
1867
1937
|
* what goes in it, and `ProviderBase.ComputeRunViewFLSFingerprintKey` is the single place
|
|
1868
1938
|
* that decision lives so the two tiers cannot drift.
|
|
1869
1939
|
*
|
|
1870
|
-
* **
|
|
1871
|
-
*
|
|
1872
|
-
*
|
|
1873
|
-
*
|
|
1874
|
-
*
|
|
1875
|
-
*
|
|
1876
|
-
* never projected on read, so the field set has to be part of slot identity: without it a
|
|
1877
|
-
* user whose access is tightened keeps being served their persisted IndexedDB slot, because
|
|
1878
|
-
* the currency check compares only `maxUpdatedAt` and `rowCount` and neither notices a
|
|
1879
|
-
* column.
|
|
1940
|
+
* **Both tiers pass it.** Each slot holds the rows of one permission class: the provider
|
|
1941
|
+
* fetches only the columns the reading user may see, so the field set has to be part of slot
|
|
1942
|
+
* identity on the server exactly as it is in the browser, where rows are stored as the server
|
|
1943
|
+
* returned them and never projected on read. Users with the same allowed set share a slot;
|
|
1944
|
+
* users with different sets never do. That also keeps a user search's row set apart, since
|
|
1945
|
+
* which rows match depends on which columns the reader may search.
|
|
1880
1946
|
*
|
|
1881
1947
|
* Keyed on the ALLOWED set rather than the denied one deliberately: once client metadata is
|
|
1882
1948
|
* filtered for restricted users ([#3485](https://github.com/MemberJunction/MJ/issues/3485))
|
|
@@ -1887,7 +1953,7 @@ export class LocalCacheManager extends BaseSingleton {
|
|
|
1887
1953
|
* Empty for unrestricted users and non-FLS entities, which appends no segment at all — so
|
|
1888
1954
|
* their fingerprints stay byte-identical and keep sharing slots (the `rls:` rule). A
|
|
1889
1955
|
* permission change produces a new hash → fresh slot; slots keyed to the old hash strand
|
|
1890
|
-
* until eviction (memory cost, not a leak).
|
|
1956
|
+
* until eviction (memory cost, not a leak). Hashed with {@link HashSecuritySegment}.
|
|
1891
1957
|
* @param datasetSegment - Namespace for dataset-item slots (see the `ds:` append below): keeps
|
|
1892
1958
|
* `GetDatasetByName` item caching from colliding with a plain unfiltered read of the same
|
|
1893
1959
|
* entity. Appended only when supplied, so ordinary reads keep their pre-existing key.
|
|
@@ -1952,6 +2018,14 @@ export class LocalCacheManager extends BaseSingleton {
|
|
|
1952
2018
|
if (params.IncludeBinaryFields === true) {
|
|
1953
2019
|
parts.push('bin:1');
|
|
1954
2020
|
}
|
|
2021
|
+
// SkipTotalRowCount segment. A call that skips the fallback COUNT stores a result whose
|
|
2022
|
+
// TotalRowCount was never counted, so it must not share a slot with the otherwise
|
|
2023
|
+
// identical counted call (each would be served the other's TotalRowCount). Appended only
|
|
2024
|
+
// when true, so every existing fingerprint stays byte-for-byte identical. Not allowlisted
|
|
2025
|
+
// in hasNarrowingSegment, so such a slot is invalidated on save rather than maintained.
|
|
2026
|
+
if (params.SkipTotalRowCount === true) {
|
|
2027
|
+
parts.push('strc:1');
|
|
2028
|
+
}
|
|
1955
2029
|
// DataSource segment. RunViewParams.DataSource:'Materialized' routes the read to the entity's
|
|
1956
2030
|
// materialized snapshot view (GetEffectiveBaseView), a DIFFERENT physical source than the default
|
|
1957
2031
|
// live base view — so a Live read and a Materialized read of the same entity/filter/orderBy MUST
|
|
@@ -1961,6 +2035,15 @@ export class LocalCacheManager extends BaseSingleton {
|
|
|
1961
2035
|
if (IsMaterializedDataSource(params.DataSource)) {
|
|
1962
2036
|
parts.push('ds:materialized');
|
|
1963
2037
|
}
|
|
2038
|
+
// AlternateBaseView segment. Routing a read through an alternate base view (explicitly via
|
|
2039
|
+
// params.AlternateBaseView or pinned inside a loaded params.ViewEntity's DisplayState JSON)
|
|
2040
|
+
// targets a different physical SQL view with its own canonical WHERE/JOIN, so it MUST NOT
|
|
2041
|
+
// share a cache slot with the entity's canonical BaseView or another alternate view.
|
|
2042
|
+
// Appended only when non-empty so canonical reads keep their exact pre-existing fingerprint.
|
|
2043
|
+
const effectiveAbv = NormalizeAlternateBaseViewName(GetEffectiveAlternateBaseViewName(params));
|
|
2044
|
+
if (effectiveAbv.length > 0) {
|
|
2045
|
+
parts.push(`abv:${effectiveAbv}`);
|
|
2046
|
+
}
|
|
1964
2047
|
// Keyset (AfterKey) seek cursor MUST be part of the fingerprint. Each keyset page
|
|
1965
2048
|
// sends a different AfterKey but otherwise-identical params; without this, sequential
|
|
1966
2049
|
// pages collide on the same fingerprint and the dedup/linger layer hands page N+1 the
|
|
@@ -1978,25 +2061,24 @@ export class LocalCacheManager extends BaseSingleton {
|
|
|
1978
2061
|
// substitutions) hash differently and therefore never collide.
|
|
1979
2062
|
const rls = (rlsWhereClause ?? '').trim();
|
|
1980
2063
|
if (rls.length > 0) {
|
|
1981
|
-
parts.push(`rls:${this.
|
|
2064
|
+
parts.push(`rls:${this.HashSecuritySegment(rls)}`);
|
|
1982
2065
|
}
|
|
1983
|
-
// Field-Level-Security segment — the column counterpart of `rls
|
|
2066
|
+
// Field-Level-Security segment — the column counterpart of `rls:`.
|
|
1984
2067
|
//
|
|
1985
|
-
// A
|
|
1986
|
-
//
|
|
1987
|
-
//
|
|
1988
|
-
//
|
|
1989
|
-
//
|
|
1990
|
-
//
|
|
1991
|
-
//
|
|
1992
|
-
//
|
|
1993
|
-
// ProviderBase.ComputeRunViewFLSFingerprintKey is where that split is decided.
|
|
2068
|
+
// A slot holds the columns one permission class may read, on both tiers: the server
|
|
2069
|
+
// fetches only the reader's allowed columns, and a browser stores rows exactly as the
|
|
2070
|
+
// server returned them. So the field set is part of slot identity, and a user is only
|
|
2071
|
+
// ever served a slot filled for the same allowed set. Without it, a user whose access is
|
|
2072
|
+
// tightened keeps being served a slot with the column in it (the currency check compares
|
|
2073
|
+
// maxUpdatedAt and rowCount only, neither of which notices a column), and a restricted
|
|
2074
|
+
// reader's narrow rows would be served to an unrestricted one.
|
|
2075
|
+
// ProviderBase.ComputeRunViewFLSFingerprintKey decides what the key contains.
|
|
1994
2076
|
//
|
|
1995
2077
|
// Appended ONLY when non-empty, so unrestricted users and non-FLS entities keep
|
|
1996
2078
|
// byte-identical fingerprints and shared slots (the rls: rule).
|
|
1997
2079
|
const fls = (flsFieldsKey ?? '').trim();
|
|
1998
2080
|
if (fls.length > 0) {
|
|
1999
|
-
parts.push(`fls:${this.
|
|
2081
|
+
parts.push(`fls:${this.HashSecuritySegment(fls)}`);
|
|
2000
2082
|
}
|
|
2001
2083
|
// Stored-view identity. A saved view's WhereClause/OrderBy live on the view, not in
|
|
2002
2084
|
// params.ExtraFilter, so a view run and a plain entity read (or a different view) can
|
|
@@ -2009,6 +2091,17 @@ export class LocalCacheManager extends BaseSingleton {
|
|
|
2009
2091
|
if (viewKey.length > 0) {
|
|
2010
2092
|
parts.push(`vw:${viewKey}`);
|
|
2011
2093
|
}
|
|
2094
|
+
// View-property segment. A stored view's property values (RunViewParams.Properties and
|
|
2095
|
+
// ServerProperties) each add a predicate the provider builds, so one chapter's run must
|
|
2096
|
+
// never be served another chapter's slot. On the server the provider has already replaced
|
|
2097
|
+
// both with the resolved values (token defaults included) before this runs. The values go
|
|
2098
|
+
// in as canonical JSON rather than a hash: a 32-bit hash of values a client partly chooses
|
|
2099
|
+
// could be steered onto another run's slot. Appended ONLY when a value is present, so every
|
|
2100
|
+
// run without properties keeps its exact fingerprint.
|
|
2101
|
+
const propertyKey = ViewPropertyValuesKey(params.Properties, params.ServerProperties);
|
|
2102
|
+
if (propertyKey.length > 0) {
|
|
2103
|
+
parts.push(`vp:${propertyKey}`);
|
|
2104
|
+
}
|
|
2012
2105
|
// Dataset namespace. `GetDatasetByName` caches each dataset ITEM's rows through this same
|
|
2013
2106
|
// builder, supplying only entity + the item's WhereClause — and every shipped item has a
|
|
2014
2107
|
// NULL WhereClause, so without this segment a dataset item emits the identical fingerprint
|
|
@@ -2091,6 +2184,39 @@ export class LocalCacheManager extends BaseSingleton {
|
|
|
2091
2184
|
}
|
|
2092
2185
|
return reordered;
|
|
2093
2186
|
}
|
|
2187
|
+
/**
|
|
2188
|
+
* A 128-bit hash, as 32 hex characters, of a security key that becomes part of a slot's
|
|
2189
|
+
* identity: the `rls:` and `fls:` fingerprint segments, and the field-security key a browser
|
|
2190
|
+
* sends with its cache status.
|
|
2191
|
+
*
|
|
2192
|
+
* These keys decide which users may share a slot, so two different keys must not land on the
|
|
2193
|
+
* same value. The 32-bit {@link simpleHash} used for the other segments is too short for that:
|
|
2194
|
+
* at a few tens of thousands of distinct row filters a collision becomes likely, and a
|
|
2195
|
+
* collision here serves one user's rows to another. Four independent 32-bit multiply-xor lanes
|
|
2196
|
+
* keep it synchronous, deterministic and identical in Node and the browser.
|
|
2197
|
+
*
|
|
2198
|
+
* @param str - The security key
|
|
2199
|
+
* @returns 32 lowercase hex characters
|
|
2200
|
+
*/
|
|
2201
|
+
HashSecuritySegment(str) {
|
|
2202
|
+
let h1 = 1779033703, h2 = 3144134277, h3 = 1013904242, h4 = 2773480762;
|
|
2203
|
+
for (let i = 0; i < str.length; i++) {
|
|
2204
|
+
const k = str.charCodeAt(i);
|
|
2205
|
+
h1 = h2 ^ Math.imul(h1 ^ k, 597399067);
|
|
2206
|
+
h2 = h3 ^ Math.imul(h2 ^ k, 2869860233);
|
|
2207
|
+
h3 = h4 ^ Math.imul(h3 ^ k, 951274213);
|
|
2208
|
+
h4 = h1 ^ Math.imul(h4 ^ k, 2716044179);
|
|
2209
|
+
}
|
|
2210
|
+
h1 = Math.imul(h3 ^ (h1 >>> 18), 597399067);
|
|
2211
|
+
h2 = Math.imul(h4 ^ (h2 >>> 22), 2869860233);
|
|
2212
|
+
h3 = Math.imul(h1 ^ (h3 >>> 17), 951274213);
|
|
2213
|
+
h4 = Math.imul(h2 ^ (h4 >>> 19), 2716044179);
|
|
2214
|
+
h1 ^= (h2 ^ h3 ^ h4);
|
|
2215
|
+
h2 ^= h1;
|
|
2216
|
+
h3 ^= h1;
|
|
2217
|
+
h4 ^= h1;
|
|
2218
|
+
return [h1, h2, h3, h4].map(h => (h >>> 0).toString(16).padStart(8, '0')).join('');
|
|
2219
|
+
}
|
|
2094
2220
|
/**
|
|
2095
2221
|
* Simple hash function for creating short fingerprints from strings.
|
|
2096
2222
|
* Not cryptographic, just for deduplication/fingerprinting purposes.
|
|
@@ -2295,7 +2421,8 @@ export class LocalCacheManager extends BaseSingleton {
|
|
|
2295
2421
|
maxUpdatedAt = coerced;
|
|
2296
2422
|
}
|
|
2297
2423
|
// Persist results, maxUpdatedAt, aggregateResults, totalRowCount, and schemaHash
|
|
2298
|
-
const
|
|
2424
|
+
const initialNow = Date.now();
|
|
2425
|
+
const data = { results, maxUpdatedAt, cachedAt: initialNow, lastVerifiedAt: initialNow };
|
|
2299
2426
|
if (options?.ProviderInternalScaffolding) {
|
|
2300
2427
|
// Persisted so event-driven in-place maintenance carries the exemption forward.
|
|
2301
2428
|
data.providerInternalScaffolding = true;
|
|
@@ -2352,8 +2479,10 @@ export class LocalCacheManager extends BaseSingleton {
|
|
|
2352
2479
|
await this.evictIfNeeded(sizeBytes);
|
|
2353
2480
|
try {
|
|
2354
2481
|
// Native object storage — IDB structured-clones, localStorage / Redis serialize internally.
|
|
2355
|
-
const
|
|
2482
|
+
const writeNow = Date.now();
|
|
2483
|
+
const expiresAt = ttlMs ? writeNow + ttlMs : undefined;
|
|
2356
2484
|
await this._storageProvider.SetItem(fingerprint, data, CacheCategory.RunViewCache, this.runViewWriteOptions(fingerprint, expiresAt));
|
|
2485
|
+
this._lastVerifiedAt.set(fingerprint, writeNow);
|
|
2357
2486
|
this.registerEntry({
|
|
2358
2487
|
key: fingerprint,
|
|
2359
2488
|
type: 'runview',
|
|
@@ -2367,8 +2496,9 @@ export class LocalCacheManager extends BaseSingleton {
|
|
|
2367
2496
|
MaxRows: params.MaxRows,
|
|
2368
2497
|
HasAggregates: (params.Aggregates?.length ?? 0) > 0
|
|
2369
2498
|
},
|
|
2370
|
-
cachedAt:
|
|
2371
|
-
lastAccessedAt:
|
|
2499
|
+
cachedAt: writeNow,
|
|
2500
|
+
lastAccessedAt: writeNow,
|
|
2501
|
+
lastVerifiedAt: writeNow,
|
|
2372
2502
|
accessCount: 1,
|
|
2373
2503
|
sizeBytes,
|
|
2374
2504
|
maxUpdatedAt,
|
|
@@ -2493,6 +2623,11 @@ export class LocalCacheManager extends BaseSingleton {
|
|
|
2493
2623
|
this.indexSlotThisProcessDidNotWrite(fingerprint);
|
|
2494
2624
|
this._stats.hits++;
|
|
2495
2625
|
const results = parsed.results || [];
|
|
2626
|
+
const cachedAt = registryEntry?.cachedAt ?? parsed.cachedAt;
|
|
2627
|
+
const lastVerifiedAt = this._lastVerifiedAt.get(fingerprint)
|
|
2628
|
+
?? registryEntry?.lastVerifiedAt
|
|
2629
|
+
?? parsed.lastVerifiedAt
|
|
2630
|
+
?? cachedAt;
|
|
2496
2631
|
const result = {
|
|
2497
2632
|
results,
|
|
2498
2633
|
maxUpdatedAt: parsed.maxUpdatedAt,
|
|
@@ -2503,12 +2638,31 @@ export class LocalCacheManager extends BaseSingleton {
|
|
|
2503
2638
|
schemaStamp: parsed.schemaStamp,
|
|
2504
2639
|
// Same carry-forward rationale: a maintained scaffolding slot must stay exempt.
|
|
2505
2640
|
providerInternalScaffolding: parsed.providerInternalScaffolding,
|
|
2641
|
+
cachedAt,
|
|
2642
|
+
lastVerifiedAt,
|
|
2506
2643
|
};
|
|
2507
2644
|
if (parsed.aggregateResults) {
|
|
2508
2645
|
result.aggregateResults = parsed.aggregateResults;
|
|
2509
2646
|
}
|
|
2510
2647
|
return result;
|
|
2511
2648
|
}
|
|
2649
|
+
/**
|
|
2650
|
+
* Updates the `lastVerifiedAt` timestamp for a cached RunView slot in O(1) time
|
|
2651
|
+
* without re-cloning, re-freezing, or rewriting its stored row array.
|
|
2652
|
+
*
|
|
2653
|
+
* Used by server-side smart-cache verification after a lightweight SQL status probe
|
|
2654
|
+
* (`MAX(__mj_UpdatedAt)`, `COUNT(*)`) confirms that a cached slot is still current.
|
|
2655
|
+
*
|
|
2656
|
+
* @param fingerprint - The cache fingerprint to touch
|
|
2657
|
+
* @param timestamp - Verification timestamp in epoch ms (defaults to `Date.now()`)
|
|
2658
|
+
*/
|
|
2659
|
+
TouchRunViewResultVerifiedAt(fingerprint, timestamp = Date.now()) {
|
|
2660
|
+
this._lastVerifiedAt.set(fingerprint, timestamp);
|
|
2661
|
+
const entry = this._registry.get(fingerprint);
|
|
2662
|
+
if (entry) {
|
|
2663
|
+
entry.lastVerifiedAt = timestamp;
|
|
2664
|
+
}
|
|
2665
|
+
}
|
|
2512
2666
|
/**
|
|
2513
2667
|
* Records a slot this process READ, so a later save can still find it once it has expired.
|
|
2514
2668
|
*
|
|
@@ -2669,11 +2823,16 @@ export class LocalCacheManager extends BaseSingleton {
|
|
|
2669
2823
|
// Note: If aggregateResults not provided, cached aggregates are cleared (they'd be stale)
|
|
2670
2824
|
await this.SetRunViewResult(fingerprint, params, mergedResults, newMaxUpdatedAt, aggregateResults, mergedTotalRowCount, provider);
|
|
2671
2825
|
// Return with rowCount derived from merged results and aggregates if provided
|
|
2826
|
+
const verifiedNow = this._lastVerifiedAt.get(fingerprint) ?? Date.now();
|
|
2827
|
+
this._lastVerifiedAt.set(fingerprint, verifiedNow);
|
|
2828
|
+
const registryEntry = this._registry.get(fingerprint);
|
|
2672
2829
|
const result = {
|
|
2673
2830
|
results: mergedResults,
|
|
2674
2831
|
maxUpdatedAt: newMaxUpdatedAt,
|
|
2675
2832
|
rowCount: mergedResults.length,
|
|
2676
|
-
totalRowCount: mergedTotalRowCount
|
|
2833
|
+
totalRowCount: mergedTotalRowCount,
|
|
2834
|
+
cachedAt: registryEntry?.cachedAt ?? verifiedNow,
|
|
2835
|
+
lastVerifiedAt: verifiedNow
|
|
2677
2836
|
};
|
|
2678
2837
|
if (aggregateResults) {
|
|
2679
2838
|
result.aggregateResults = aggregateResults;
|
|
@@ -2851,9 +3010,13 @@ export class LocalCacheManager extends BaseSingleton {
|
|
|
2851
3010
|
// reports for the same rows (the client smart-cache check compares the two). The caller's
|
|
2852
3011
|
// value (the event time) is used only when the rows carry no timestamp column.
|
|
2853
3012
|
const maxUpdatedAt = LocalCacheManager.MaxUpdatedAtOfRows(updatedResults) ?? newMaxUpdatedAt;
|
|
3013
|
+
const now = Date.now();
|
|
3014
|
+
const existingEntry = this._registry.get(fingerprint);
|
|
2854
3015
|
const data = {
|
|
2855
3016
|
results: updatedResults,
|
|
2856
|
-
maxUpdatedAt
|
|
3017
|
+
maxUpdatedAt,
|
|
3018
|
+
cachedAt: existingEntry?.cachedAt ?? now,
|
|
3019
|
+
lastVerifiedAt: now
|
|
2857
3020
|
};
|
|
2858
3021
|
// Carry the schemaHash FORWARD — never recompute it here (B38).
|
|
2859
3022
|
//
|
|
@@ -2895,13 +3058,14 @@ export class LocalCacheManager extends BaseSingleton {
|
|
|
2895
3058
|
if (!prior?.providerInternalScaffolding) {
|
|
2896
3059
|
this.freezeRowDataIfProviderSharesReferences(data);
|
|
2897
3060
|
}
|
|
2898
|
-
const existingEntry = this._registry.get(fingerprint);
|
|
2899
3061
|
await this._storageProvider.SetItem(fingerprint, data, CacheCategory.RunViewCache, this.runViewWriteOptions(fingerprint, existingEntry?.expiresAt));
|
|
3062
|
+
this._lastVerifiedAt.set(fingerprint, now);
|
|
2900
3063
|
if (existingEntry) {
|
|
2901
3064
|
existingEntry.maxUpdatedAt = maxUpdatedAt;
|
|
2902
3065
|
existingEntry.rowCount = updatedResults.length;
|
|
2903
3066
|
existingEntry.sizeBytes = sizeBytes;
|
|
2904
|
-
existingEntry.lastAccessedAt =
|
|
3067
|
+
existingEntry.lastAccessedAt = now;
|
|
3068
|
+
existingEntry.lastVerifiedAt = now;
|
|
2905
3069
|
this.debouncedPersistRegistry();
|
|
2906
3070
|
}
|
|
2907
3071
|
return true;
|
|
@@ -2924,6 +3088,7 @@ export class LocalCacheManager extends BaseSingleton {
|
|
|
2924
3088
|
try {
|
|
2925
3089
|
await this._storageProvider.Remove(key, CacheCategory.RunViewCache);
|
|
2926
3090
|
this._registry.delete(key);
|
|
3091
|
+
this._lastVerifiedAt.delete(key);
|
|
2927
3092
|
this.removeFromEntityIndex(key);
|
|
2928
3093
|
}
|
|
2929
3094
|
catch (e) {
|
|
@@ -3338,6 +3503,7 @@ export class LocalCacheManager extends BaseSingleton {
|
|
|
3338
3503
|
await this._storageProvider.Remove(entry.key + '_date', category);
|
|
3339
3504
|
}
|
|
3340
3505
|
this._registry.delete(entry.key);
|
|
3506
|
+
this._lastVerifiedAt.delete(entry.key);
|
|
3341
3507
|
}
|
|
3342
3508
|
catch (e) {
|
|
3343
3509
|
LogError(`LocalCacheManager.ClearByType failed for key ${entry.key}: ${e}`);
|
|
@@ -3368,6 +3534,7 @@ export class LocalCacheManager extends BaseSingleton {
|
|
|
3368
3534
|
}
|
|
3369
3535
|
}
|
|
3370
3536
|
this._registry.clear();
|
|
3537
|
+
this._lastVerifiedAt.clear();
|
|
3371
3538
|
this._stats = { hits: 0, misses: 0 };
|
|
3372
3539
|
await this.persistRegistry();
|
|
3373
3540
|
return count;
|
|
@@ -3418,6 +3585,7 @@ export class LocalCacheManager extends BaseSingleton {
|
|
|
3418
3585
|
*/
|
|
3419
3586
|
unregisterEntry(key) {
|
|
3420
3587
|
this._registry.delete(key);
|
|
3588
|
+
this._lastVerifiedAt.delete(key);
|
|
3421
3589
|
this.debouncedPersistRegistry();
|
|
3422
3590
|
}
|
|
3423
3591
|
/**
|
|
@@ -3675,6 +3843,7 @@ export class LocalCacheManager extends BaseSingleton {
|
|
|
3675
3843
|
this.removeFromEntityIndex(entry.fingerprint);
|
|
3676
3844
|
}
|
|
3677
3845
|
this._registry.delete(key);
|
|
3846
|
+
this._lastVerifiedAt.delete(key);
|
|
3678
3847
|
}
|
|
3679
3848
|
catch (e) {
|
|
3680
3849
|
// Continue evicting other entries
|
|
@@ -3727,6 +3896,7 @@ export class LocalCacheManager extends BaseSingleton {
|
|
|
3727
3896
|
this.removeFromEntityIndex(entry.key);
|
|
3728
3897
|
bytesToFree -= entry.sizeBytes;
|
|
3729
3898
|
this._registry.delete(entry.key);
|
|
3899
|
+
this._lastVerifiedAt.delete(entry.key);
|
|
3730
3900
|
}
|
|
3731
3901
|
catch {
|
|
3732
3902
|
// Continue evicting
|
|
@@ -3831,6 +4001,7 @@ export class LocalCacheManager extends BaseSingleton {
|
|
|
3831
4001
|
this.removeFromEntityIndex(entry.fingerprint);
|
|
3832
4002
|
}
|
|
3833
4003
|
this._registry.delete(key);
|
|
4004
|
+
this._lastVerifiedAt.delete(key);
|
|
3834
4005
|
}
|
|
3835
4006
|
}
|
|
3836
4007
|
//# sourceMappingURL=localCacheManager.js.map
|