@itwin/core-backend 4.2.0-dev.8 → 4.3.0-dev.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.
Files changed (40) hide show
  1. package/CHANGELOG.md +57 -1
  2. package/lib/cjs/BlobContainerService.d.ts +6 -2
  3. package/lib/cjs/BlobContainerService.d.ts.map +1 -1
  4. package/lib/cjs/BlobContainerService.js.map +1 -1
  5. package/lib/cjs/BriefcaseManager.d.ts.map +1 -1
  6. package/lib/cjs/BriefcaseManager.js +5 -1
  7. package/lib/cjs/BriefcaseManager.js.map +1 -1
  8. package/lib/cjs/CheckpointManager.d.ts.map +1 -1
  9. package/lib/cjs/CheckpointManager.js +6 -3
  10. package/lib/cjs/CheckpointManager.js.map +1 -1
  11. package/lib/cjs/CloudSqlite.d.ts +79 -34
  12. package/lib/cjs/CloudSqlite.d.ts.map +1 -1
  13. package/lib/cjs/CloudSqlite.js +7 -9
  14. package/lib/cjs/CloudSqlite.js.map +1 -1
  15. package/lib/cjs/IModelDb.d.ts +23 -4
  16. package/lib/cjs/IModelDb.d.ts.map +1 -1
  17. package/lib/cjs/IModelDb.js +171 -42
  18. package/lib/cjs/IModelDb.js.map +1 -1
  19. package/lib/cjs/SQLiteDb.js +1 -1
  20. package/lib/cjs/SQLiteDb.js.map +1 -1
  21. package/lib/cjs/SchemaSync.d.ts +41 -0
  22. package/lib/cjs/SchemaSync.d.ts.map +1 -0
  23. package/lib/cjs/SchemaSync.js +77 -0
  24. package/lib/cjs/SchemaSync.js.map +1 -0
  25. package/lib/cjs/SchemaUtils.d.ts.map +1 -1
  26. package/lib/cjs/SchemaUtils.js +3 -3
  27. package/lib/cjs/SchemaUtils.js.map +1 -1
  28. package/lib/cjs/TileStorage.d.ts +16 -5
  29. package/lib/cjs/TileStorage.d.ts.map +1 -1
  30. package/lib/cjs/TileStorage.js +34 -3
  31. package/lib/cjs/TileStorage.js.map +1 -1
  32. package/lib/cjs/TxnManager.d.ts +41 -0
  33. package/lib/cjs/TxnManager.d.ts.map +1 -1
  34. package/lib/cjs/TxnManager.js +38 -0
  35. package/lib/cjs/TxnManager.js.map +1 -1
  36. package/lib/cjs/core-backend.d.ts +1 -0
  37. package/lib/cjs/core-backend.d.ts.map +1 -1
  38. package/lib/cjs/core-backend.js +1 -0
  39. package/lib/cjs/core-backend.js.map +1 -1
  40. package/package.json +18 -15
@@ -4,7 +4,7 @@
4
4
  import { AccessToken, Constructor, GuidString, OpenMode, Optional, PickAsyncMethods, PickMethods } from "@itwin/core-bentley";
5
5
  import { LocalDirName, LocalFileName } from "@itwin/core-common";
6
6
  import { BlobContainer } from "./BlobContainerService";
7
- import type { VersionedSqliteDb } from "./SQLiteDb";
7
+ import type { SQLiteDb, VersionedSqliteDb } from "./SQLiteDb";
8
8
  /**
9
9
  * Types for accessing SQLite databases stored in cloud containers.
10
10
  * @beta
@@ -14,19 +14,19 @@ export declare namespace CloudSqlite {
14
14
  * Request a new AccessToken for a cloud container using the [[BlobContainer]] service.
15
15
  * If the service is unavailable or returns an error, an empty token is returned.
16
16
  */
17
- function requestToken(args: Optional<BlobContainer.RequestTokenProps, "userToken">): Promise<AccessToken>;
17
+ export function requestToken(args: Optional<BlobContainer.RequestTokenProps, "userToken">): Promise<AccessToken>;
18
18
  /**
19
19
  * Create a new CloudContainer from a ContainerAccessProps. For non-public containers, a valid accessToken must be provided before the container
20
20
  * can be used (e.g. via [[CloudSqlite.requestToken]]).
21
21
  * @note After the container is successfully connected to a CloudCache, it will begin auto-refreshing its accessToken every `tokenRefreshSeconds` seconds (default is 1 hour)
22
22
  * until it is disconnected. However, if the container is public, or if `tokenRefreshSeconds` is <=0, auto-refresh is not enabled.
23
23
  */
24
- function createCloudContainer(args: ContainerAccessProps & {
24
+ export function createCloudContainer(args: ContainerAccessProps & {
25
25
  accessLevel?: BlobContainer.RequestAccessLevel;
26
26
  }): CloudContainer;
27
27
  /** Begin prefetching all blocks for a database in a CloudContainer in the background. */
28
- function startCloudPrefetch(container: CloudContainer, dbName: string, args?: PrefetchProps): CloudPrefetch;
29
- interface ContainerProps {
28
+ export function startCloudPrefetch(container: CloudContainer, dbName: string, args?: PrefetchProps): CloudPrefetch;
29
+ export interface ContainerProps {
30
30
  /** The type of storage provider. */
31
31
  storageType: "azure" | "google";
32
32
  /** The base URI for the container. */
@@ -37,7 +37,7 @@ export declare namespace CloudSqlite {
37
37
  isPublic?: boolean;
38
38
  }
39
39
  /** Properties to access a CloudContainer. */
40
- interface ContainerAccessProps extends ContainerProps {
40
+ export interface ContainerAccessProps extends ContainerProps {
41
41
  /** an alias for the container. Defaults to `containerId` */
42
42
  alias?: string;
43
43
  /** SAS token that grants access to the container. */
@@ -54,7 +54,7 @@ export declare namespace CloudSqlite {
54
54
  tokenRefreshSeconds?: number;
55
55
  }
56
56
  /** Returned from `CloudContainer.queryDatabase` describing one database in the container */
57
- interface CachedDbProps {
57
+ export interface CachedDbProps {
58
58
  /** The total number of blocks in the database. */
59
59
  readonly totalBlocks: number;
60
60
  /** the number of blocks of the database that have been downloaded into the CloudCache */
@@ -65,11 +65,15 @@ export declare namespace CloudSqlite {
65
65
  readonly transactions: boolean;
66
66
  /** the state of this database. Indicates whether the database is new or deleted since last upload */
67
67
  readonly state: "" | "copied" | "deleted";
68
+ /** current number of clients that have this database open. */
69
+ readonly nClient: number;
70
+ /** current number of ongoing prefetches on this database. */
71
+ readonly nPrefetch: number;
68
72
  }
69
73
  /** Filter options passed to CloudContainer.queryHttpLog
70
74
  * @internal
71
75
  */
72
- interface BcvHttpLogFilterOptions {
76
+ export interface BcvHttpLogFilterOptions {
73
77
  /** only return rows whose ID is >= the provided id */
74
78
  startFromId?: number;
75
79
  /** only return rows whose endTime is null OR >= the provided endTime. */
@@ -80,7 +84,7 @@ export declare namespace CloudSqlite {
80
84
  /** Returned from 'CloudContainer.queryHttpLog' describing a row in the bcv_http_log table.
81
85
  * @internal
82
86
  */
83
- interface BcvHttpLog {
87
+ export interface BcvHttpLog {
84
88
  /** Unique, monotonically increasing id value */
85
89
  readonly id: number;
86
90
  /** Time request was made, as iso-8601 */
@@ -98,35 +102,64 @@ export declare namespace CloudSqlite {
98
102
  /** HTTP response code (e.g. 200) */
99
103
  readonly httpcode: number;
100
104
  }
105
+ /** Filter options passed to 'CloudContainer.queryBcvStats'
106
+ * @internal
107
+ */
108
+ interface BcvStatsFilterOptions {
109
+ /** if true, adds activeClients, totalClients, ongoingPrefetches, and attachedContainers to the result. */
110
+ addClientInformation?: boolean;
111
+ }
112
+ /** Returned from 'CloudContainer.queryBcvStats' describing the rows in the bcv_stat table.
113
+ * Also gathers additional statistics using the other virtual tables bcv_container, bcv_database such as totalClients, ongoingPrefetches, activeClients and attachedContainers.
114
+ * @internal
115
+ */
116
+ export interface BcvStats {
117
+ /** The total number of cache slots that are currently in use or 'locked' by ongoing client read transactions. In daemonless mode, this value is always 0.
118
+ * A locked cache slot implies that it is not eligible for eviction in the event of a full cachefile.
119
+ */
120
+ readonly lockedCacheslots: number;
121
+ /** The current number of slots with data in them in the cache. */
122
+ readonly populatedCacheslots: number;
123
+ /** The configured size of the cache, in number of slots. */
124
+ readonly totalCacheslots: number;
125
+ /** The total number of clients opened on this cache */
126
+ readonly totalClients?: number;
127
+ /** The total number of ongoing prefetches on this cache */
128
+ readonly ongoingPrefetches?: number;
129
+ /** The total number of active clients on this cache. An active client is one which has an open read txn. */
130
+ readonly activeClients?: number;
131
+ /** The total number of attached containers on this cache. */
132
+ readonly attachedContainers?: number;
133
+ }
101
134
  /** The name of a CloudSqlite database within a CloudContainer. */
102
- interface DbNameProp {
135
+ export interface DbNameProp {
103
136
  /** the name of the database within the CloudContainer.
104
137
  * @note names of databases within a CloudContainer are always **case sensitive** on all platforms.*/
105
138
  dbName: string;
106
139
  }
107
140
  /** Properties for accessing a database within a CloudContainer */
108
- interface DbProps extends DbNameProp {
141
+ export interface DbProps extends DbNameProp {
109
142
  /** the name of the local file to access the database. */
110
143
  localFileName: LocalFileName;
111
144
  }
112
- type TransferDirection = "upload" | "download";
113
- interface TransferProgress {
145
+ export type TransferDirection = "upload" | "download";
146
+ export interface TransferProgress {
114
147
  /** a user-supplied progress function called during the transfer operation. Return a non-0 value to abort the transfer. */
115
148
  onProgress?: (loaded: number, total: number) => number;
116
149
  }
117
- interface CloudHttpProps {
150
+ export interface CloudHttpProps {
118
151
  /** The number of simultaneous HTTP requests. Default is 6. */
119
152
  nRequests?: number;
120
153
  }
121
- interface PrefetchProps extends CloudHttpProps {
154
+ export interface PrefetchProps extends CloudHttpProps {
122
155
  /** timeout between requests, in milliseconds. Default is 100. */
123
156
  timeout?: number;
124
157
  /** The number of prefetch requests to issue while there is foreground activity. Default is 3. */
125
158
  minRequests?: number;
126
159
  }
127
- type TransferDbProps = DbProps & TransferProgress & CloudHttpProps;
160
+ export type TransferDbProps = DbProps & TransferProgress & CloudHttpProps;
128
161
  /** Properties for creating a CloudCache. */
129
- interface CacheProps extends CloudHttpProps {
162
+ export interface CacheProps extends CloudHttpProps {
130
163
  /** full path of directory for cache to store its files. Must be on a (preferably fast) local drive, and must be empty when the cache is first created. */
131
164
  rootDir: string;
132
165
  /** name of this cache. It is possible to have more than one CloudCache in the same session, but each must have a unique name. */
@@ -137,7 +170,7 @@ export declare namespace CloudSqlite {
137
170
  curlDiagnostics?: boolean;
138
171
  }
139
172
  /** Parameters used to obtain the write lock on a cloud container */
140
- interface ObtainLockParams {
173
+ export interface ObtainLockParams {
141
174
  /** a string that identifies me to others if I hold the lock while they attempt to acquire it. */
142
175
  user?: string;
143
176
  /** number of times to retry in the event the lock currently held by someone else.
@@ -153,7 +186,7 @@ export declare namespace CloudSqlite {
153
186
  onFailure?: WriteLockBusyHandler;
154
187
  }
155
188
  /** @internal */
156
- interface LockAndOpenArgs {
189
+ export interface LockAndOpenArgs extends SQLiteDb.WithOpenDbArgs {
157
190
  /** a string that identifies me to others if I hold the lock while they attempt to acquire it. */
158
191
  user: string;
159
192
  /** the name of the database within the container */
@@ -162,9 +195,11 @@ export declare namespace CloudSqlite {
162
195
  container: CloudContainer;
163
196
  /** if present, function called when the write lock is currently held by another user. */
164
197
  busyHandler?: WriteLockBusyHandler;
198
+ /** if present, open mode for Db. Default is ReadWrite */
199
+ openMode?: OpenMode;
165
200
  }
166
201
  /** Logging categories for `CloudCache.setLogMask` */
167
- enum LoggingMask {
202
+ export enum LoggingMask {
168
203
  /** log all HTTP requests and responses */
169
204
  HTTP = 1,
170
205
  /** log as blocks become dirty and must be uploaded */
@@ -197,7 +232,7 @@ export declare namespace CloudSqlite {
197
232
  * - The contents of the cache directory are entirely controlled by CloudSqlite and should be empty when the cache is
198
233
  * first created and never modified directly thereafter.
199
234
  */
200
- interface CloudCache {
235
+ export interface CloudCache {
201
236
  /** `true` if this CloudCache is connected to a daemon process */
202
237
  get isDaemon(): boolean;
203
238
  /** The name for this CloudCache. */
@@ -235,7 +270,7 @@ export declare namespace CloudSqlite {
235
270
  * - when a CloudContainer is created, it may either be readonly or writeable. If a container is never meant to be used for writes,
236
271
  * it is slightly more efficient to indicate that by passing `writeable: false`
237
272
  */
238
- interface CloudContainer {
273
+ export interface CloudContainer {
239
274
  onConnect?: (container: CloudContainer, cache: CloudCache) => void;
240
275
  onConnected?: (container: CloudContainer) => void;
241
276
  onDisconnect?: (container: CloudContainer, detach: boolean) => void;
@@ -251,6 +286,10 @@ export declare namespace CloudSqlite {
251
286
  get alias(): string;
252
287
  /** The logId. */
253
288
  get logId(): string;
289
+ /** The time that the write lock expires. Of the form 'YYYY-MM-DDTHH:MM:SS.000Z' in UTC.
290
+ * Returns empty string if write lock is not held.
291
+ */
292
+ get writeLockExpires(): string;
254
293
  /** true if this CloudContainer is currently connected to a CloudCache via the `connect` method. */
255
294
  get isConnected(): boolean;
256
295
  /** true if this CloudContainer was created with the `writeable` flag (and its `accessToken` supplies write access). */
@@ -380,6 +419,11 @@ export declare namespace CloudSqlite {
380
419
  * @internal
381
420
  */
382
421
  queryHttpLog(filterOptions?: BcvHttpLogFilterOptions): CloudSqlite.BcvHttpLog[];
422
+ /**
423
+ * query the bcv_stat table.
424
+ * @internal
425
+ */
426
+ queryBcvStats(filterOptions?: BcvStatsFilterOptions): CloudSqlite.BcvStats;
383
427
  /**
384
428
  * Get the SHA1 hash of the content of a database.
385
429
  * @param dbName the name of the database of interest
@@ -391,7 +435,7 @@ export declare namespace CloudSqlite {
391
435
  * Object returned by [[CloudSqlite.startCloudPrefetch]].
392
436
  * It holds a promise that is fulfilled when a Prefetch is completed. May also be used to cancel an in-progress prefetch.
393
437
  */
394
- interface CloudPrefetch {
438
+ export interface CloudPrefetch {
395
439
  readonly cloudContainer: CloudContainer;
396
440
  readonly dbName: string;
397
441
  /** Cancel a currently pending prefetch. The promise will be resolved immediately after this call. */
@@ -408,13 +452,13 @@ export declare namespace CloudSqlite {
408
452
  promise: Promise<boolean>;
409
453
  }
410
454
  /** @internal */
411
- function transferDb(direction: TransferDirection, container: CloudContainer, props: TransferDbProps): Promise<void>;
455
+ export function transferDb(direction: TransferDirection, container: CloudContainer, props: TransferDbProps): Promise<void>;
412
456
  /** Upload a local SQLite database file into a CloudContainer.
413
457
  * @param container the CloudContainer holding the database. Must be connected.
414
458
  * @param props the properties that describe the database to be downloaded, plus optionally an `onProgress` function.
415
459
  * @note this function requires that the write lock be held on the container
416
460
  */
417
- function uploadDb(container: CloudContainer, props: TransferDbProps): Promise<void>;
461
+ export function uploadDb(container: CloudContainer, props: TransferDbProps): Promise<void>;
418
462
  /** Download a database from a CloudContainer.
419
463
  * @param container the CloudContainer holding the database. Must be connected.
420
464
  * @param props the properties that describe the database to be downloaded, plus optionally an `onProgress` function.
@@ -422,30 +466,30 @@ export declare namespace CloudSqlite {
422
466
  * @note the download is "restartable." If the transfer is aborted and then re-requested, it will continue from where
423
467
  * it left off rather than re-downloading the entire file.
424
468
  */
425
- function downloadDb(container: CloudContainer, props: TransferDbProps): Promise<void>;
469
+ export function downloadDb(container: CloudContainer, props: TransferDbProps): Promise<void>;
426
470
  /** Optional method to be called when an attempt to acquire the write lock fails because another user currently holds it.
427
471
  * @param lockedBy The identifier supplied by the application/user that currently holds the lock.
428
472
  * @param expires a stringified Date (in local time) indicating when the lock will expire.
429
473
  * @return "stop" to give up and stop retrying. Generally, it's a good idea to wait for some time before returning.
430
474
  */
431
- type WriteLockBusyHandler = (lockedBy: string, expires: string) => Promise<void | "stop">;
475
+ export type WriteLockBusyHandler = (lockedBy: string, expires: string) => Promise<void | "stop">;
432
476
  /**
433
477
  * Attempt to acquire the write lock for a container, with retries.
434
478
  * If write lock is held by another user, call busyHandler if supplied. If no busyHandler, or handler returns "stop", throw. Otherwise try again.
435
- * @note if write lock is already held, this function does nothing.
479
+ * @note if write lock is already held by the same user, this function will refresh the write lock's expiry time.
436
480
  * @param user the name to be displayed to other users in the event they attempt to obtain the lock while it is held by us
437
481
  * @param container the CloudContainer for which the lock is to be acquired
438
482
  * @param busyHandler if present, function called when the write lock is currently held by another user.
439
483
  * @throws if [[container]] is not connected to a CloudCache.
440
484
  */
441
- function acquireWriteLock(args: {
485
+ export function acquireWriteLock(args: {
442
486
  user: string;
443
487
  container: CloudContainer;
444
488
  busyHandler?: WriteLockBusyHandler;
445
489
  }): Promise<void>;
446
490
  /**
447
491
  * Perform an asynchronous write operation on a CloudContainer with the write lock held.
448
- * 1. if write lock is already held by the current user, call operation and return.
492
+ * 1. if write lock is already held by the current user, refresh write lock's expiry time, call operation and return.
449
493
  * 2. attempt to acquire the write lock, with retries. Throw if unable to obtain write lock.
450
494
  * 3. perform the operation
451
495
  * 3.a if the operation throws, abandon all changes and re-throw
@@ -457,13 +501,13 @@ export declare namespace CloudSqlite {
457
501
  * @param busyHandler if present, function called when the write lock is currently held by another user.
458
502
  * @returns a Promise with the result of `operation`
459
503
  */
460
- function withWriteLock<T>(args: {
504
+ export function withWriteLock<T>(args: {
461
505
  user: string;
462
506
  container: CloudContainer;
463
507
  busyHandler?: WriteLockBusyHandler;
464
508
  }, operation: () => Promise<T>): Promise<T>;
465
509
  /** Arguments to create or find a CloudCache */
466
- interface CreateCloudCacheArg {
510
+ export interface CreateCloudCacheArg {
467
511
  /** The name of the CloudCache. CloudCache names must be unique. */
468
512
  cacheName: string;
469
513
  /** A string that specifies the maximum size of the CloudCache. It should be a number followed by "K",
@@ -475,7 +519,7 @@ export declare namespace CloudSqlite {
475
519
  cacheDir?: string;
476
520
  }
477
521
  /** The collection of currently extant `CloudCache`s, by name. */
478
- class CloudCaches {
522
+ export class CloudCaches {
479
523
  private static readonly cloudCaches;
480
524
  /** create a new CloudCache */
481
525
  private static makeCache;
@@ -491,7 +535,7 @@ export declare namespace CloudSqlite {
491
535
  static getCache(args: CreateCloudCacheArg): CloudCache;
492
536
  }
493
537
  /** Class that provides convenient local access to a SQLite database in a CloudContainer. */
494
- class DbAccess<DbType extends VersionedSqliteDb, ReadMethods = DbType, WriteMethods = DbType> {
538
+ export class DbAccess<DbType extends VersionedSqliteDb, ReadMethods = DbType, WriteMethods = DbType> {
495
539
  /** The name of the database within the cloud container. */
496
540
  readonly dbName: string;
497
541
  /** Parameters for obtaining the write lock for this container. */
@@ -597,5 +641,6 @@ export declare namespace CloudSqlite {
597
641
  */
598
642
  get reader(): PickMethods<ReadMethods>;
599
643
  }
644
+ export {};
600
645
  }
601
646
  //# sourceMappingURL=CloudSqlite.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"CloudSqlite.d.ts","sourceRoot":"","sources":["../../src/CloudSqlite.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"CloudSqlite.d.ts","sourceRoot":"","sources":["../../src/CloudSqlite.ts"],"names":[],"mappings":"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"}
@@ -48,7 +48,7 @@ var CloudSqlite;
48
48
  container.lockExpireSeconds = args.lockExpireSeconds ?? 60 * 60; // default is 1 hour
49
49
  // don't refresh tokens for public containers or if refreshSeconds<=0
50
50
  if (!args.isPublic && refreshSeconds > 0) {
51
- const tokenProps = { baseUri: args.baseUri, containerId: args.containerId, storageType: args.storageType, accessLevel: args.accessLevel };
51
+ const tokenProps = { baseUri: args.baseUri, containerId: args.containerId, accessLevel: args.accessLevel };
52
52
  const doRefresh = async () => {
53
53
  let newToken;
54
54
  const url = `[${tokenProps.baseUri}/${tokenProps.containerId}]`;
@@ -156,7 +156,7 @@ var CloudSqlite;
156
156
  /**
157
157
  * Attempt to acquire the write lock for a container, with retries.
158
158
  * If write lock is held by another user, call busyHandler if supplied. If no busyHandler, or handler returns "stop", throw. Otherwise try again.
159
- * @note if write lock is already held, this function does nothing.
159
+ * @note if write lock is already held by the same user, this function will refresh the write lock's expiry time.
160
160
  * @param user the name to be displayed to other users in the event they attempt to obtain the lock while it is held by us
161
161
  * @param container the CloudContainer for which the lock is to be acquired
162
162
  * @param busyHandler if present, function called when the write lock is currently held by another user.
@@ -167,8 +167,9 @@ var CloudSqlite;
167
167
  while (true) {
168
168
  try {
169
169
  if (container.hasWriteLock) {
170
- if (container.writeLockHeldBy === args.user)
171
- return; // current user already has the lock
170
+ if (container.writeLockHeldBy === args.user) {
171
+ return container.acquireWriteLock(args.user); // refresh the write lock's expiry time.
172
+ }
172
173
  const err = new Error(); // lock held by another user within this process
173
174
  err.errorNumber = 5;
174
175
  err.lockedBy = container.writeLockHeldBy;
@@ -187,7 +188,7 @@ var CloudSqlite;
187
188
  CloudSqlite.acquireWriteLock = acquireWriteLock;
188
189
  /**
189
190
  * Perform an asynchronous write operation on a CloudContainer with the write lock held.
190
- * 1. if write lock is already held by the current user, call operation and return.
191
+ * 1. if write lock is already held by the current user, refresh write lock's expiry time, call operation and return.
191
192
  * 2. attempt to acquire the write lock, with retries. Throw if unable to obtain write lock.
192
193
  * 3. perform the operation
193
194
  * 3.a if the operation throws, abandon all changes and re-throw
@@ -206,18 +207,15 @@ var CloudSqlite;
206
207
  if (containerInternal.writeLockHeldBy === args.user) // If the user already had the write lock, then don't release it.
207
208
  return await operation();
208
209
  containerInternal.writeLockHeldBy = args.user;
209
- containerInternal.writeLockExpires = new Date(Date.now() + 1000 * containerInternal.lockExpireSeconds).toLocaleString();
210
210
  // eslint-disable-next-line @typescript-eslint/await-thenable
211
211
  const val = await operation(); // wait for work to finish or fail
212
212
  containerInternal.releaseWriteLock();
213
213
  containerInternal.writeLockHeldBy = undefined;
214
- containerInternal.writeLockExpires = undefined;
215
214
  return val;
216
215
  }
217
216
  catch (e) {
218
217
  args.container.abandonChanges(); // if operation threw, abandon all changes
219
218
  containerInternal.writeLockHeldBy = undefined;
220
- containerInternal.writeLockExpires = undefined;
221
219
  throw e;
222
220
  }
223
221
  }
@@ -385,7 +383,7 @@ var CloudSqlite;
385
383
  let lockObtained = false;
386
384
  const operationName = args.operationName;
387
385
  try {
388
- return await this._cloudDb.withLockedContainer({ user, dbName: this.dbName, container: this.container, busyHandler }, async () => {
386
+ return await this._cloudDb.withLockedContainer({ user, dbName: this.dbName, container: this.container, busyHandler, openMode: args.openMode }, async () => {
389
387
  lockObtained = true;
390
388
  logInfo(`lock acquired by ${cacheGuid} for ${operationName} ${showMs()}`);
391
389
  return operation();