ViewStore.CloudAccess Class

Provides access to a cloud-based ViewDb

Extends

Methods

Name Description
constructor(props: ViewStore.ViewStoreCtorProps): ViewStore.CloudAccess    
initializeDb(props: CloudSqlite.ContainerAccessProps): Promise<void> Static Initialize a cloud container for use as a ViewDb.  

Inherited methods

Name Inherited from Description
close(): void CloudSqlite.DbAccess<ViewStore.ViewDb, ViewStore.ReadMethods, ViewStoreRpc.Writer> Close the database for this DbAccess if it is opened, and disconnect this `DbAccess from its CloudContainer.
closeDb(): void CloudSqlite.DbAccess<ViewStore.ViewDb, ViewStore.ReadMethods, ViewStoreRpc.Writer> Close the database for this DbAccess, if it is open
openForRead(): ViewStore.ViewDb CloudSqlite.DbAccess<ViewStore.ViewDb, ViewStore.ReadMethods, ViewStoreRpc.Writer> Ensure that the database controlled by this DbAccess is open for read access and return the database object.
startPrefetch(): CloudSqlite.CloudPrefetch CloudSqlite.DbAccess<ViewStore.ViewDb, ViewStore.ReadMethods, ViewStoreRpc.Writer> Start a prefetch operation to download all the blocks for the VersionedSqliteDb
synchronizeWithCloud(): void CloudSqlite.DbAccess<ViewStore.ViewDb, ViewStore.ReadMethods, ViewStoreRpc.Writer> Synchronize the local cache of this database with any changes by made by others.
withLockedDb<T>(args: { openMode?: OpenMode, operationName: string, user?: string }, operation: () => Promise<T>): Promise<T> CloudSqlite.DbAccess<ViewStore.ViewDb, ViewStore.ReadMethods, ViewStoreRpc.Writer> Perform an operation on this database with the lock held and the database opened for write
_initializeDb(args: { blockSize?: "64K" | "4M", dbName: string, dbType: undefined, props: CloudSqlite.ContainerAccessProps }): Promise<void> ProtectedStatic CloudSqlite.DbAccess<ViewStore.ViewDb, ViewStore.ReadMethods, ViewStoreRpc.Writer> Initialize a cloud container to hold a Cloud SQliteDb.

Inherited properties

Name Type Inherited from Description
_cacheName ProtectedStatic string CloudSqlite.DbAccess<ViewStore.ViewDb, ViewStore.ReadMethods, ViewStoreRpc.Writer>  
_cloudDb Protected ViewStore.ViewDb CloudSqlite.DbAccess<ViewStore.ViewDb, ViewStore.ReadMethods, ViewStoreRpc.Writer>  
_container Protected CloudSqlite.CloudContainer CloudSqlite.DbAccess<ViewStore.ViewDb, ViewStore.ReadMethods, ViewStoreRpc.Writer>  
container Accessor ReadOnly CloudSqlite.CloudContainer CloudSqlite.DbAccess<ViewStore.ViewDb, ViewStore.ReadMethods, ViewStoreRpc.Writer> the container for this DbAccess. It is automatically connected to the CloudCache whenever it is accessed.
dbName Readonly string CloudSqlite.DbAccess<ViewStore.ViewDb, ViewStore.ReadMethods, ViewStoreRpc.Writer> The name of the database within the cloud container.
lockParams Readonly CloudSqlite.ObtainLockParams CloudSqlite.DbAccess<ViewStore.ViewDb, ViewStore.ReadMethods, ViewStoreRpc.Writer> Parameters for obtaining the write lock for this container.
reader Accessor ReadOnly PickMethods<ReadMethods> CloudSqlite.DbAccess<ViewStore.ViewDb, ViewStore.ReadMethods, ViewStoreRpc.Writer> A Proxy Object to call a synchronous readonly method on the database controlled by this DbAccess.
Whenever a method is called through this Proxy, it will first ensure that the database is opened for at least read access.
sasToken Accessor string CloudSqlite.DbAccess<ViewStore.ViewDb, ViewStore.ReadMethods, ViewStoreRpc.Writer> The token that grants access to the cloud container for this DbAccess. If it does not grant write permissions, all
write operations will fail. It should be refreshed (via a timer) before it expires.
writeLocker Accessor ReadOnly PickAsyncMethods<WriteMethods> CloudSqlite.DbAccess<ViewStore.ViewDb, ViewStore.ReadMethods, ViewStoreRpc.Writer> A Proxy Object to call a writeable async method on the cloud database controlled by this DbAccess.

Whenever a method is called through this Proxy, it will:
- attempt to acquire the write lock on the container
- open the database for write
- call the method
- close the database
- upload changes
- release the write lock.

Defined in

Last Updated: 16 April, 2024