@spine-event-engine/storage-mysql 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 CHANGED
@@ -226,6 +226,11 @@ MySQL compares the materialized column, then Spine decodes each matching
226
226
  authoritative `bytes` payload. The adapter does not create an index for
227
227
  `board`; add application indexes for production query patterns.
228
228
 
229
+ An unrestricted `BLOB` byte column can have a MySQL sort-prefix limit. For a bounded normalized
230
+ query ordered by that column, Spine fetches through its existing record-evaluation budget and applies
231
+ full byte ordering after decoding. An oversized set of matching records returns the normal budget error;
232
+ fixed-width `VARBINARY` ordering keeps its usual limited SQL query.
233
+
229
234
  ## 🧪 Verify with a disposable database
230
235
 
231
236
  Run the opt-in integration suite against a disposable MySQL database:
@@ -242,7 +247,7 @@ operations plan.
242
247
  ## ⚠️ Before production
243
248
 
244
249
  Use a dedicated database and account, protect the connection URL, configure
245
- TLS, and plan backups, monitoring, and migrations. Indexed `bigint` values must
250
+ TLS, and plan backups and monitoring. Indexed `bigint` values must
246
251
  fit the exact signed 64-bit MySQL range. PostgreSQL is provided separately by
247
252
  [`@spine-event-engine/storage-postgres`](https://github.com/SpineEventEngine/spine-ts/blob/master/packages/storage-postgres/README.md).
248
253
 
package/REFERENCE.md CHANGED
@@ -31,6 +31,14 @@ mode reads physical metadata without creating tables or indexes. Its `create`
31
31
  mode creates missing structures and verifies their complete layout. Both modes
32
32
  reuse a bound runtime pool or release temporary pools, and compatible results
33
33
  are shared with later ordinary use. A failed attempt remains retryable.
34
+
35
+ Both preparation modes also verify declared `RecordSpec.indexes`: each is a complete non-unique,
36
+ ascending B-tree index with no prefix, expression, or hidden component. Indexed
37
+ fixed byte columns use the declared `VARBINARY(width)`; stored and queried byte
38
+ values must have that exact width. An incompatible existing index rejects
39
+ without alteration. A record handle with `prepareOnAccess: false` performs no
40
+ index metadata probe or DDL on ordinary data operations.
41
+
34
42
  The default shared registry converts message-valued IDs and ordinary message
35
43
  columns using generated descriptors registered on module import.
36
44
  `setStringifierRegistry(registry)` accepts a custom registry; the builder
@@ -62,10 +70,8 @@ one-byte binary collation, such as `latin1_bin`, and can store only IDs
62
70
  representable in that character set. An `utf8mb4` ID of that declared width
63
71
  cannot be converted to MyISAM.
64
72
 
65
- The optional `inventory:legacy` command remains available for operators
66
- examining older layouts. Factory build and `checkConnection()` do not scan
67
- unrelated tables or perform an upgrade-layout inventory. Requested record
68
- families are checked when normal storage operations first use them.
73
+ Factory build and `checkConnection()` do not scan unrelated tables. Requested
74
+ record families are checked when normal storage operations first use them.
69
75
 
70
76
  ## Lifecycle and tenancy
71
77
 
@@ -137,6 +143,13 @@ MySQL accepts at most 1,000 bound parameters including its provider limit;
137
143
  oversized ID sets or composite predicate bind work reject before a connection is
138
144
  acquired.
139
145
 
146
+ For a limited non-exhaustive plan ordered by an unrestricted `BLOB` byte column, MySQL may sort
147
+ only a configured byte prefix. The adapter therefore fetches through the existing record-evaluation
148
+ budget plus one before applying full unsigned byte order and the requested result limit in the
149
+ shared evaluator. If the set of matching records exceeds that budget, the existing record-evaluation budget error
150
+ is returned instead of an inaccurate prefix. Fixed-width `VARBINARY` columns and exhaustive reads
151
+ retain their prior planning behavior.
152
+
140
153
  ## Entity history seam
141
154
 
142
155
  The provider/framework Entity handle returns current records plus immutable
@@ -70,6 +70,7 @@ export declare class MysqlRecordStorage<I, R extends Message> extends RecordStor
70
70
  private readonly onClose;
71
71
  private readonly createOperation?;
72
72
  private readonly publicHandle;
73
+ private readonly prepareOnAccess;
73
74
  /**
74
75
  * Declares support for atomic compare-and-set operations.
75
76
  */
@@ -114,8 +115,9 @@ export declare class MysqlRecordStorage<I, R extends Message> extends RecordStor
114
115
  * @param tableSpec Supplies the canonical table layout.
115
116
  * @param stringifiers The schema-bound message stringifiers.
116
117
  * @param publicHandle Whether this is a public factory record handle.
118
+ * @param prepareOnAccess Whether data access prepares this handle's table.
117
119
  */
118
- constructor(context: StorageContext, recordSpec: RecordSpec<I, R>, table: MysqlResolvedTable, lifecycle: MysqlRecordLifecycle, onClose: () => void, createOperation?: (() => string) | undefined, tableSpec?: MysqlTableSpec<I, R>, stringifiers?: StringifierRegistry, publicHandle?: boolean);
120
+ constructor(context: StorageContext, recordSpec: RecordSpec<I, R>, table: MysqlResolvedTable, lifecycle: MysqlRecordLifecycle, onClose: () => void, createOperation?: (() => string) | undefined, tableSpec?: MysqlTableSpec<I, R>, stringifiers?: StringifierRegistry, publicHandle?: boolean, prepareOnAccess?: boolean);
119
121
  private readonly tableSpec;
120
122
  /**
121
123
  * Closes this record-family storage handle.
@@ -420,6 +422,13 @@ export declare class MysqlRecordStorage<I, R extends Message> extends RecordStor
420
422
  * @returns The SQL statement and bound values.
421
423
  */
422
424
  private planSql;
425
+ /**
426
+ * Calculates the SQL bound before full byte ordering by the shared evaluator.
427
+ *
428
+ * @param plan Validated normalized query plan.
429
+ * @returns Exact or candidate-budget SQL bound.
430
+ */
431
+ private planResultBound;
423
432
  /**
424
433
  * Builds provider ordering with a deterministic ID tie-break.
425
434
  *
@@ -597,6 +606,15 @@ export declare class MysqlTableInitializer<I, R extends Message> {
597
606
  * @param actual Native column metadata.
598
607
  */
599
608
  private assertCompatibleColumn;
609
+ /**
610
+ * Creates a missing lookup index and verifies its complete native definition.
611
+ * @param connection Preparation connection.
612
+ * @param name Table-scoped physical name.
613
+ * @param columns Ordered complete columns.
614
+ * @param mode Creation or check mode.
615
+ * @returns Completion after the required index is verified compatible.
616
+ */
617
+ private ensureRecordIndex;
600
618
  /**
601
619
  * Creates or checks one complete native Agent history index.
602
620
  *
@@ -1 +1 @@
1
- {"version":3,"file":"record-storage.d.ts","sourceRoot":"","sources":["../../src/mysql/record-storage.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"record-storage.d.ts","sourceRoot":"","sources":["../../src/mysql/record-storage.ts"],"names":[],"mappings":"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"}
@@ -32,6 +32,7 @@ export class MysqlRecordStorage extends RecordStorage {
32
32
  onClose;
33
33
  createOperation;
34
34
  publicHandle;
35
+ prepareOnAccess;
35
36
  // prettier-ignore
36
37
  /**
37
38
  * Declares support for atomic compare-and-set operations.
@@ -105,14 +106,16 @@ export class MysqlRecordStorage extends RecordStorage {
105
106
  * @param tableSpec Supplies the canonical table layout.
106
107
  * @param stringifiers The schema-bound message stringifiers.
107
108
  * @param publicHandle Whether this is a public factory record handle.
109
+ * @param prepareOnAccess Whether data access prepares this handle's table.
108
110
  */
109
- constructor(context, recordSpec, table, lifecycle, onClose, createOperation, tableSpec, stringifiers = defaultStringifierRegistry, publicHandle = false) {
111
+ constructor(context, recordSpec, table, lifecycle, onClose, createOperation, tableSpec, stringifiers = defaultStringifierRegistry, publicHandle = false, prepareOnAccess = true) {
110
112
  super(context, recordSpec);
111
113
  this.table = table;
112
114
  this.lifecycle = lifecycle;
113
115
  this.onClose = onClose;
114
116
  this.createOperation = createOperation;
115
117
  this.publicHandle = publicHandle;
118
+ this.prepareOnAccess = prepareOnAccess;
116
119
  this.#idColumn = new MysqlIdColumn(recordSpec.idType, stringifiers);
117
120
  this.#columnMapping = new MysqlColumnMapping(stringifiers);
118
121
  this.tableSpec =
@@ -123,6 +126,7 @@ export class MysqlRecordStorage extends RecordStorage {
123
126
  recordType: recordSpec.recordType,
124
127
  idType: recordSpec.idType,
125
128
  declaredColumns: recordSpec.columns,
129
+ declaredIndexes: recordSpec.indexes,
126
130
  });
127
131
  }
128
132
  tableSpec;
@@ -504,7 +508,7 @@ export class MysqlRecordStorage extends RecordStorage {
504
508
  if (bound !== undefined) {
505
509
  return work(bound);
506
510
  }
507
- if (this.lifecycle.prepare !== undefined)
511
+ if (this.prepareOnAccess && this.lifecycle.prepare !== undefined)
508
512
  await this.lifecycle.prepare();
509
513
  const connection = await this.lifecycle.acquire();
510
514
  try {
@@ -525,7 +529,7 @@ export class MysqlRecordStorage extends RecordStorage {
525
529
  * @returns Resolves when the table is ready.
526
530
  */
527
531
  async ready(connection) {
528
- if (this.lifecycle.prepare !== undefined)
532
+ if (!this.prepareOnAccess || this.lifecycle.prepare !== undefined)
529
533
  return;
530
534
  this.#ready ??= new MysqlTableInitializer(this.table, this.tableSpec, this.createOperation)
531
535
  .prepare(connection, "create")
@@ -810,10 +814,7 @@ export class MysqlRecordStorage extends RecordStorage {
810
814
  if (values.length >= maximumNormalizedPlanBinds) {
811
815
  throw new MysqlStorageOperationError(`MySQL normalized query exceeds the ${String(maximumNormalizedPlanBinds)}-parameter bind budget.`);
812
816
  }
813
- const candidateLimit = plan.candidateLimit ?? defaultQueryCandidateLimit;
814
- const limit = plan.exhaustive
815
- ? plan.limit
816
- : Math.min(plan.limit ?? Number.MAX_SAFE_INTEGER, candidateLimit + 1);
817
+ const limit = this.planResultBound(plan);
817
818
  const exactLimit = !plan.exhaustive ||
818
819
  (!scanAll && safePredicate === plan.predicate && this.exhaustiveOrderMatches(plan));
819
820
  if (limit !== undefined && exactLimit)
@@ -827,6 +828,22 @@ export class MysqlRecordStorage extends RecordStorage {
827
828
  values,
828
829
  };
829
830
  }
831
+ /**
832
+ * Calculates the SQL bound before full byte ordering by the shared evaluator.
833
+ *
834
+ * @param plan Validated normalized query plan.
835
+ * @returns Exact or candidate-budget SQL bound.
836
+ */
837
+ planResultBound(plan) {
838
+ if (plan.exhaustive)
839
+ return plan.limit;
840
+ const variableBytesOrder = (plan.order ?? []).some(({ column }) => {
841
+ const type = this.recordSpec.columns.find((candidate) => candidate.name === column)?.type;
842
+ return (type?.kind === "scalar" && type.scalar === ScalarType.BYTES && type.byteLength === undefined);
843
+ });
844
+ const candidateLimit = plan.candidateLimit ?? defaultQueryCandidateLimit;
845
+ return Math.min(variableBytesOrder ? Number.MAX_SAFE_INTEGER : (plan.limit ?? Number.MAX_SAFE_INTEGER), candidateLimit + 1);
846
+ }
830
847
  /**
831
848
  * Builds provider ordering with a deterministic ID tie-break.
832
849
  *
@@ -1121,6 +1138,8 @@ export class MysqlTableInitializer {
1121
1138
  await this.inspectPrimary(connection, nativeMetadata);
1122
1139
  await this.inspectUnique(connection);
1123
1140
  await this.inspectEngine(connection);
1141
+ for (const index of this.spec.indexes ?? [])
1142
+ await this.ensureRecordIndex(connection, index.name, index.columns, mode);
1124
1143
  }
1125
1144
  /**
1126
1145
  * Builds default table creation SQL.
@@ -1219,6 +1238,36 @@ export class MysqlTableInitializer {
1219
1238
  actual.collation_name !== null)
1220
1239
  throw new Error(`MySQL table ${this.table.tableName} has incompatible ${expected.name} collation.`);
1221
1240
  }
1241
+ /**
1242
+ * Creates a missing lookup index and verifies its complete native definition.
1243
+ * @param connection Preparation connection.
1244
+ * @param name Table-scoped physical name.
1245
+ * @param columns Ordered complete columns.
1246
+ * @param mode Creation or check mode.
1247
+ * @returns Completion after the required index is verified compatible.
1248
+ */
1249
+ async ensureRecordIndex(connection, name, columns, mode) {
1250
+ let rows = await this.historyIndex(connection, name);
1251
+ if (rows.length === 0) {
1252
+ if (mode === "check")
1253
+ throw new MysqlStorageSchemaError("MySQL record index is missing.");
1254
+ const quoted = columns.map((column) => `\`${column.replaceAll("`", "``")}\``).join(", ");
1255
+ try {
1256
+ await connection.query(`CREATE INDEX \`${name.replaceAll("`", "``")}\` ` +
1257
+ `ON \`${this.table.tableName.replaceAll("`", "``")}\` (${quoted})`);
1258
+ }
1259
+ catch (error) {
1260
+ if (error.code !== "ER_DUP_KEYNAME")
1261
+ throw error;
1262
+ }
1263
+ rows = await this.historyIndex(connection, name);
1264
+ }
1265
+ this.assertHistoryIndex(rows, columns);
1266
+ if (rows.some((row) => row.is_visible === "NO" ||
1267
+ row.ignored === "YES" ||
1268
+ (row.expression !== null && row.expression !== undefined)))
1269
+ throw new MysqlStorageSchemaError("MySQL record index is incompatible.");
1270
+ }
1222
1271
  /**
1223
1272
  * Creates or checks one complete native Agent history index.
1224
1273
  *
@@ -1256,9 +1305,18 @@ export class MysqlTableInitializer {
1256
1305
  * @returns Ordered native index components.
1257
1306
  */
1258
1307
  async historyIndex(connection, name) {
1308
+ const [available] = await connection.query("SELECT column_name AS column_name FROM information_schema.columns WHERE table_schema='information_schema' " +
1309
+ "AND table_name='STATISTICS' AND column_name IN ('IS_VISIBLE', 'IGNORED', 'EXPRESSION')");
1310
+ const fields = new Set(available.map(({ column_name }) => column_name.toUpperCase()));
1311
+ const optional = [
1312
+ ...(fields.has("IS_VISIBLE") ? ["is_visible AS is_visible"] : []),
1313
+ ...(fields.has("IGNORED") ? ["ignored AS ignored"] : []),
1314
+ ...(fields.has("EXPRESSION") ? ["expression AS expression"] : []),
1315
+ ];
1259
1316
  const [rows] = await connection.query("SELECT index_name AS index_name, non_unique AS non_unique, " +
1260
1317
  "column_name AS column_name, seq_in_index AS seq_in_index, " +
1261
- "sub_part AS sub_part, collation AS collation, index_type AS index_type " +
1318
+ "sub_part AS sub_part, collation AS collation, index_type AS index_type" +
1319
+ (optional.length === 0 ? " " : `, ${optional.join(", ")} `) +
1262
1320
  "FROM information_schema.statistics WHERE table_schema=DATABASE() AND table_name=? " +
1263
1321
  "AND index_name=? ORDER BY seq_in_index", [this.table.tableName, name]);
1264
1322
  return rows;
@@ -1303,7 +1361,9 @@ function compatibleMysqlType(expected, actual) {
1303
1361
  if (expectedCapacity !== null)
1304
1362
  return (actualCapacity !== null &&
1305
1363
  actualCapacity[1] === expectedCapacity[1] &&
1306
- Number(actualCapacity[2]) >= Number(expectedCapacity[2]));
1364
+ (expectedCapacity[1] === "varbinary"
1365
+ ? Number(actualCapacity[2]) === Number(expectedCapacity[2])
1366
+ : Number(actualCapacity[2]) >= Number(expectedCapacity[2])));
1307
1367
  if (normalizedExpected === "blob")
1308
1368
  return ["blob", "mediumblob", "longblob"].includes(normalizedActual);
1309
1369
  return normalizedExpected === normalizedActual;
@@ -1 +1 @@
1
- {"version":3,"file":"record-storage.js","sourceRoot":"","sources":["../../src/mysql/record-storage.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"record-storage.js","sourceRoot":"","sources":["../../src/mysql/record-storage.ts"],"names":[],"mappings":"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"}
@@ -261,6 +261,17 @@ export declare class MysqlStorageFactory extends StorageFactory {
261
261
  * @returns The record-family storage handle.
262
262
  */
263
263
  protected onCreateRecordStorage<I, R extends Message>(context: StorageContext, spec: RecordSpec<I, R>, group?: StorageGroup): RecordStorage<I, R>;
264
+ /**
265
+ * Opens a record handle whose operations leave table preparation explicit.
266
+ *
267
+ * @param context Provides the storage context.
268
+ * @param spec Describes the record family.
269
+ * @param group Identifies an optional storage group.
270
+ * @returns The unprepared MySQL record handle.
271
+ * @typeParam I Record identifier type.
272
+ * @typeParam R Stored Protobuf message type.
273
+ */
274
+ protected onCreateUnprepared<I, R extends Message>(context: StorageContext, spec: RecordSpec<I, R>, group?: StorageGroup): RecordStorage<I, R>;
264
275
  /**
265
276
  * Creates a record-family handle for its tenant database.
266
277
  *
@@ -273,6 +284,7 @@ export declare class MysqlStorageFactory extends StorageFactory {
273
284
  * @returns The opened MySQL record-storage handle.
274
285
  * @param tracked Whether the factory tracks this public handle.
275
286
  * @param publicHandle Whether calls use the public intake fence.
287
+ * @param prepareOnAccess Whether this handle prepares its table on access.
276
288
  */
277
289
  private createMysqlRecordStorage;
278
290
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"storage-factory.d.ts","sourceRoot":"","sources":["../../src/mysql/storage-factory.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"storage-factory.d.ts","sourceRoot":"","sources":["../../src/mysql/storage-factory.ts"],"names":[],"mappings":"AAeA,OAAO,EAAmB,KAAK,OAAO,EAAE,MAAM,oBAAoB,CAAC;AAOnE,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,8BAA8B,CAAC;AAC/D,OAAO,EAA8B,mBAAmB,EAAE,MAAM,0BAA0B,CAAC;AAC3F,OAAO,EACL,cAAc,EACd,KAAK,aAAa,EAClB,KAAK,UAAU,EACf,KAAK,cAAc,EACnB,KAAK,YAAY,EAClB,MAAM,6BAA6B,CAAC;AACrC,OAAO,EAML,KAAK,aAAa,EAOnB,MAAM,sCAAsC,CAAC;AAgB9C,OAAO,KAAK,EAAS,QAAQ,EAAE,MAAM,2BAA2B,CAAC;AAejE,OAAO,EAA0B,KAAK,cAAc,EAAE,MAAM,iBAAiB,CAAC;AAG9E,YAAY,EAAE,eAAe,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAC;AAEvE;;GAEG;AACH,MAAM,WAAW,mBAAmB;IAGlC;;OAEG;IACH,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;IAErB;;OAEG;IACH,QAAQ,CAAC,eAAe,CAAC,EAAE,MAAM,CAAC;IAElC;;OAEG;IACH,QAAQ,CAAC,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAEnC;;OAEG;IACH,QAAQ,CAAC,GAAG,CAAC,EAAE;QAGb;;WAEG;QACH,QAAQ,CAAC,EAAE,CAAC,EAAE,MAAM,CAAC;QAErB;;WAEG;QACH,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,CAAC;QAEvB;;WAEG;QACH,QAAQ,CAAC,GAAG,CAAC,EAAE,MAAM,CAAC;QAEtB;;WAEG;QACH,QAAQ,CAAC,kBAAkB,CAAC,EAAE,OAAO,CAAC;KACvC,CAAC;CACH;AAED;;GAEG;AACH,MAAM,WAAW,yBAAyB;IAGxC;;OAEG;IACH,QAAQ,CAAC,QAAQ,EAAE,QAAQ,CAAC;IAE5B;;OAEG;IACH,QAAQ,CAAC,OAAO,EAAE,mBAAmB,CAAC;CACvC;AAED;;;;;GAKG;AACH,MAAM,MAAM,mBAAmB,GAAG,CAChC,QAAQ,EAAE,QAAQ,KACf,mBAAmB,GAAG,OAAO,CAAC,mBAAmB,CAAC,CAAC;AAExD;;GAEG;AACH,MAAM,WAAW,oBAAoB;IAGnC;;OAEG;IACH,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;CACtB;AAED;;;;;;;GAOG;AACH,MAAM,MAAM,sBAAsB,GAAG,CAAC,CAAC,EAAE,CAAC,SAAS,OAAO,EACxD,KAAK,EAAE,cAAc,CAAC,CAAC,EAAE,CAAC,CAAC,KACxB,oBAAoB,CAAC;AAE1B;;GAEG;AACH,MAAM,WAAW,0BAA0B;IAGzC;;;;;OAKG;IACH,UAAU,CAAC,OAAO,EAAE,mBAAmB,GAAG,IAAI,CAAC;IAE/C;;;;;OAKG;IACH,gBAAgB,CAAC,OAAO,EAAE,SAAS,yBAAyB,EAAE,GAAG,IAAI,CAAC;IAEtE;;;;;OAKG;IACH,iBAAiB,CAAC,QAAQ,EAAE,mBAAmB,GAAG,IAAI,CAAC;IAEvD;;;;;OAKG;IACH,sBAAsB,CAAC,QAAQ,EAAE,mBAAmB,GAAG,IAAI,CAAC;IAE5D;;;;;;;OAOG;IACH,kBAAkB,CAChB,kBAAkB,EAAE,MAAM,EAC1B,SAAS,EAAE,MAAM,EACjB,IAAI,CAAC,EAAE,QAAQ,GAAG,QAAQ,GACzB,IAAI,CAAC;IAER;;;;;;;;;;OAUG;IACH,YAAY,CAAC,CAAC,SAAS,OAAO,EAAE,UAAU,EAAE,UAAU,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;IAE/E;;;;;;;;;OASG;IACH,YAAY,CAAC,CAAC,SAAS,OAAO,EAAE,CAAC,SAAS,OAAO,EAC/C,UAAU,EAAE,UAAU,CAAC,CAAC,CAAC,EACzB,UAAU,EAAE,UAAU,CAAC,CAAC,CAAC,EACzB,IAAI,EAAE,MAAM,GACX,IAAI,CAAC;IAER;;;;;OAKG;IACH,mBAAmB,CAAC,OAAO,EAAE,sBAAsB,GAAG,IAAI,CAAC;IAE3D;;;;OAIG;IACH,KAAK,IAAI,OAAO,CAAC,mBAAmB,CAAC,CAAC;CACvC;AAED;;GAEG;AACH,qBAAa,8BAA+B,SAAQ,KAAK;CAAG;AAE5D;;GAEG;AACH,qBAAa,2BAA4B,SAAQ,KAAK;CAAG;AAEzD;;GAEG;AACH,OAAO,EAAE,uBAAuB,EAAE,MAAM,aAAa,CAAC;AAEtD;;GAEG;AACH,OAAO,EAAE,qBAAqB,EAAE,MAAM,aAAa,CAAC;AAEpD;;GAEG;AACH,OAAO,EAAE,0BAA0B,EAAE,MAAM,aAAa,CAAC;AAiIzD;;GAEG;AACH,qBAAa,mBAAoB,SAAQ,cAAc;;IA6CnD,OAAO,CAAC,QAAQ,CAAC,cAAc;IAE/B,OAAO,CAAC,QAAQ,CAAC,eAAe,CAAC;IACjC,OAAO,CAAC,QAAQ,CAAC,YAAY;IAd/B;;;;;;;;OAQG;IACH,OAAO;IA2BP;;OAEG;IACH,OAAO,CAAC,oBAAoB;IAoB5B;;;;OAIG;IACH,MAAM,CAAC,UAAU,IAAI,0BAA0B;IAO/C;;;;OAIG;IACH,aAAa,IAAI,aAAa;IAI9B;;;;OAIG;IACM,eAAe,IAAI,OAAO,CAAC,IAAI,CAAC;IAezC;;;;;OAKG;YACW,WAAW;IAkBzB;;;;;;OAMG;YACW,gBAAgB;IAa9B;;;;OAIG;IACM,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IAO/B;;;;;OAKG;YACW,KAAK;IAyBnB;;;;;;;;;OASG;cACgB,qBAAqB,CAAC,CAAC,EAAE,CAAC,SAAS,OAAO,EAC3D,OAAO,EAAE,cAAc,EACvB,IAAI,EAAE,UAAU,CAAC,CAAC,EAAE,CAAC,CAAC,EACtB,KAAK,CAAC,EAAE,YAAY,GACnB,aAAa,CAAC,CAAC,EAAE,CAAC,CAAC;IAItB;;;;;;;;;OASG;cACgB,kBAAkB,CAAC,CAAC,EAAE,CAAC,SAAS,OAAO,EACxD,OAAO,EAAE,cAAc,EACvB,IAAI,EAAE,UAAU,CAAC,CAAC,EAAE,CAAC,CAAC,EACtB,KAAK,CAAC,EAAE,YAAY,GACnB,aAAa,CAAC,CAAC,EAAE,CAAC,CAAC;IAYtB;;;;;;;;;;;;;OAaG;IACH,OAAO,CAAC,wBAAwB;IA6BhC;;;;;;;OAOG;IACH,OAAO,CAAC,SAAS;IAsBjB;;;;;;;;;OASG;IACH,OAAO,CAAC,aAAa;IASrB;;;;;;;;;OASG;IACH,OAAO,CAAC,qBAAqB;IAS7B;;;;;;;OAOG;IACH,OAAO,CAAC,aAAa;IAyBrB;;;;;;OAMG;IACH,OAAO,CAAC,iBAAiB;IAiBzB;;;;;;OAMG;IACH,OAAO,CAAC,mBAAmB;IAgB3B;;;;;;;OAOG;IACH,OAAO,CAAC,kBAAkB;IAqB1B;;;;;;OAMG;IACH,OAAO,CAAC,UAAU;IA0BlB;;;;;;;;;OASG;IACH,OAAO,CAAC,mBAAmB;IAmB3B;;;;;;;;OAQG;IACH,OAAO,CAAC,yBAAyB;IAUjC;;;;;;;;OAQG;IACH,OAAO,CAAC,qBAAqB;IA8B7B;;;;;;OAMG;IACH,OAAO,CAAC,kBAAkB;IAU1B;;;;;;;;OAQG;IACH,OAAO,CAAC,WAAW;IA8BnB;;;;;;;;;OASG;IACH,OAAO,CAAC,YAAY;IAiBpB;;;;;;;;;;;OAWG;IACH,OAAO,CAAC,iBAAiB;IAuBzB;;;;;;;;OAQG;IACH,OAAO,CAAC,kBAAkB;IAgC1B;;;;;;;OAOG;IACH,OAAO,CAAC,cAAc;IAoBtB;;;;;;;OAOG;YACW,kBAAkB;IAmBhC;;;;;;;;OAQG;YACW,kBAAkB;IA0BhC;;;;;;OAMG;IACH,OAAO,CAAC,KAAK;IASb;;;;;;OAMG;IACH,OAAO,CAAC,WAAW,CAUjB;IAEF;;;;;OAKG;IACH,OAAO,CAAC,QAAQ;IAShB;;;;;OAKG;IACH,OAAO,CAAC,eAAe;IAgBvB;;;;OAIG;IACH,OAAO,CAAC,cAAc;IAmBtB;;;;OAIG;YACW,aAAa;IA0B3B;;;;;OAKG;YACW,SAAS;IAQvB;;;;;OAKG;YACW,YAAY;IAkC1B;;;;;OAKG;IACH,OAAO,CAAC,mBAAmB;IAY3B;;;;;;OAMG;IACH,OAAO,CAAC,YAAY;CAOrB"}
@@ -215,6 +215,7 @@ export class MysqlStorageFactory extends StorageFactory {
215
215
  createEntityCommitStorage: (input) => this.createEntityCommitStorage(input),
216
216
  });
217
217
  StoragePreparations.register(this, {
218
+ supportsRecordIndexes: true,
218
219
  prepareRecord: (context, spec, group, mode) => this.prepareRecord(context, spec, group, mode),
219
220
  prepareEntity: (input, mode) => this.prepareEntity(input, mode),
220
221
  prepareAgentHistory: (input, mode) => this.prepareAgentHistory(input, mode),
@@ -375,6 +376,19 @@ export class MysqlStorageFactory extends StorageFactory {
375
376
  onCreateRecordStorage(context, spec, group) {
376
377
  return this.createMysqlRecordStorage(context, spec, group, this.database(context), true, true);
377
378
  }
379
+ /**
380
+ * Opens a record handle whose operations leave table preparation explicit.
381
+ *
382
+ * @param context Provides the storage context.
383
+ * @param spec Describes the record family.
384
+ * @param group Identifies an optional storage group.
385
+ * @returns The unprepared MySQL record handle.
386
+ * @typeParam I Record identifier type.
387
+ * @typeParam R Stored Protobuf message type.
388
+ */
389
+ onCreateUnprepared(context, spec, group) {
390
+ return this.createMysqlRecordStorage(context, spec, group, this.database(context), true, true, false);
391
+ }
378
392
  /**
379
393
  * Creates a record-family handle for its tenant database.
380
394
  *
@@ -387,13 +401,14 @@ export class MysqlStorageFactory extends StorageFactory {
387
401
  * @returns The opened MySQL record-storage handle.
388
402
  * @param tracked Whether the factory tracks this public handle.
389
403
  * @param publicHandle Whether calls use the public intake fence.
404
+ * @param prepareOnAccess Whether this handle prepares its table on access.
390
405
  */
391
- createMysqlRecordStorage(context, spec, group, boundary = this.database(context), tracked = true, publicHandle = false) {
406
+ createMysqlRecordStorage(context, spec, group, boundary = this.database(context), tracked = true, publicHandle = false, prepareOnAccess = true) {
392
407
  const tableSpec = this.tableSpec(spec, group);
393
408
  const table = { tableName: tableSpec.tableName };
394
409
  const operation = this.createOperation;
395
410
  const create = operation === undefined ? undefined : () => operation(tableSpec).sql;
396
- const handle = new MysqlRecordStorage(context, spec, table, this.connections(boundary, tableSpec), () => this.#handles.delete(handle), create, tableSpec, this.stringifiers, publicHandle);
411
+ const handle = new MysqlRecordStorage(context, spec, table, this.connections(boundary, tableSpec), () => this.#handles.delete(handle), create, tableSpec, this.stringifiers, publicHandle, prepareOnAccess);
397
412
  if (tracked)
398
413
  this.#handles.add(handle);
399
414
  return handle;
@@ -414,6 +429,7 @@ export class MysqlStorageFactory extends StorageFactory {
414
429
  recordType: spec.recordType,
415
430
  idType: spec.idType,
416
431
  declaredColumns: spec.columns,
432
+ declaredIndexes: spec.indexes,
417
433
  ...(group === undefined ? {} : { groupName: group.name }),
418
434
  });
419
435
  }
@@ -729,6 +745,7 @@ export class MysqlStorageFactory extends StorageFactory {
729
745
  typeof id === "string" ? id : id.typeName,
730
746
  table.groupName ?? null,
731
747
  table.primaryKey,
748
+ table.indexes ?? [],
732
749
  [...table.columns]
733
750
  .sort((a, b) => a.name.localeCompare(b.name))
734
751
  .map((column) => [