@itwin/core-backend 3.4.0-dev.9 → 3.4.1

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 (270) hide show
  1. package/CHANGELOG.md +97 -1
  2. package/lib/cjs/AliCloudStorageService.d.ts +23 -17
  3. package/lib/cjs/AliCloudStorageService.d.ts.map +1 -1
  4. package/lib/cjs/AliCloudStorageService.js +71 -68
  5. package/lib/cjs/AliCloudStorageService.js.map +1 -1
  6. package/lib/cjs/BackendHubAccess.d.ts +224 -224
  7. package/lib/cjs/BackendHubAccess.d.ts.map +1 -1
  8. package/lib/cjs/BackendHubAccess.js +41 -41
  9. package/lib/cjs/BackendHubAccess.js.map +1 -1
  10. package/lib/cjs/BackendLoggerCategory.d.ts +91 -87
  11. package/lib/cjs/BackendLoggerCategory.d.ts.map +1 -1
  12. package/lib/cjs/BackendLoggerCategory.js +99 -95
  13. package/lib/cjs/BackendLoggerCategory.js.map +1 -1
  14. package/lib/cjs/BisCoreSchema.d.ts +21 -21
  15. package/lib/cjs/BisCoreSchema.js +60 -60
  16. package/lib/cjs/BisCoreSchema.js.map +1 -1
  17. package/lib/cjs/BriefcaseManager.d.ts +165 -165
  18. package/lib/cjs/BriefcaseManager.js +405 -405
  19. package/lib/cjs/BriefcaseManager.js.map +1 -1
  20. package/lib/cjs/Category.d.ts +153 -153
  21. package/lib/cjs/Category.js +243 -243
  22. package/lib/cjs/Category.js.map +1 -1
  23. package/lib/cjs/ChangeSummaryManager.d.ts +187 -187
  24. package/lib/cjs/ChangeSummaryManager.js +445 -445
  25. package/lib/cjs/ChangeSummaryManager.js.map +1 -1
  26. package/lib/cjs/ChangedElementsDb.d.ts +99 -98
  27. package/lib/cjs/ChangedElementsDb.d.ts.map +1 -1
  28. package/lib/cjs/ChangedElementsDb.js +165 -165
  29. package/lib/cjs/ChangedElementsDb.js.map +1 -1
  30. package/lib/cjs/ChangedElementsManager.d.ts +39 -39
  31. package/lib/cjs/ChangedElementsManager.js +88 -88
  32. package/lib/cjs/ChangedElementsManager.js.map +1 -1
  33. package/lib/cjs/CheckpointManager.d.ts +120 -122
  34. package/lib/cjs/CheckpointManager.d.ts.map +1 -1
  35. package/lib/cjs/CheckpointManager.js +343 -354
  36. package/lib/cjs/CheckpointManager.js.map +1 -1
  37. package/lib/cjs/ClassRegistry.d.ts +72 -71
  38. package/lib/cjs/ClassRegistry.d.ts.map +1 -1
  39. package/lib/cjs/ClassRegistry.js +243 -213
  40. package/lib/cjs/ClassRegistry.js.map +1 -1
  41. package/lib/cjs/CloudSqlite.d.ts +350 -0
  42. package/lib/cjs/CloudSqlite.d.ts.map +1 -0
  43. package/lib/cjs/CloudSqlite.js +152 -0
  44. package/lib/cjs/CloudSqlite.js.map +1 -0
  45. package/lib/cjs/CloudStorageBackend.d.ts +58 -46
  46. package/lib/cjs/CloudStorageBackend.d.ts.map +1 -1
  47. package/lib/cjs/CloudStorageBackend.js +173 -164
  48. package/lib/cjs/CloudStorageBackend.js.map +1 -1
  49. package/lib/cjs/CodeService.d.ts +397 -0
  50. package/lib/cjs/CodeService.d.ts.map +1 -0
  51. package/lib/cjs/CodeService.js +64 -0
  52. package/lib/cjs/CodeService.js.map +1 -0
  53. package/lib/cjs/CodeSpecs.d.ts +50 -50
  54. package/lib/cjs/CodeSpecs.js +112 -112
  55. package/lib/cjs/CodeSpecs.js.map +1 -1
  56. package/lib/cjs/ConcurrentQuery.d.ts +11 -11
  57. package/lib/cjs/ConcurrentQuery.js +30 -30
  58. package/lib/cjs/ConcurrentQuery.js.map +1 -1
  59. package/lib/cjs/CustomViewState3dCreator.d.ts +32 -32
  60. package/lib/cjs/CustomViewState3dCreator.d.ts.map +1 -1
  61. package/lib/cjs/CustomViewState3dCreator.js +113 -98
  62. package/lib/cjs/CustomViewState3dCreator.js.map +1 -1
  63. package/lib/cjs/DevTools.d.ts +71 -71
  64. package/lib/cjs/DevTools.d.ts.map +1 -1
  65. package/lib/cjs/DevTools.js +154 -154
  66. package/lib/cjs/DevTools.js.map +1 -1
  67. package/lib/cjs/DisplayStyle.d.ts +106 -106
  68. package/lib/cjs/DisplayStyle.d.ts.map +1 -1
  69. package/lib/cjs/DisplayStyle.js +256 -256
  70. package/lib/cjs/DisplayStyle.js.map +1 -1
  71. package/lib/cjs/ECDb.d.ts +191 -191
  72. package/lib/cjs/ECDb.js +350 -350
  73. package/lib/cjs/ECDb.js.map +1 -1
  74. package/lib/cjs/ECSchemaXmlContext.d.ts +18 -18
  75. package/lib/cjs/ECSchemaXmlContext.js +41 -41
  76. package/lib/cjs/ECSchemaXmlContext.js.map +1 -1
  77. package/lib/cjs/ECSqlStatement.d.ts +466 -466
  78. package/lib/cjs/ECSqlStatement.js +791 -791
  79. package/lib/cjs/ECSqlStatement.js.map +1 -1
  80. package/lib/cjs/Element.d.ts +1120 -1109
  81. package/lib/cjs/Element.d.ts.map +1 -1
  82. package/lib/cjs/Element.js +1438 -1417
  83. package/lib/cjs/Element.js.map +1 -1
  84. package/lib/cjs/ElementAspect.d.ts +158 -156
  85. package/lib/cjs/ElementAspect.d.ts.map +1 -1
  86. package/lib/cjs/ElementAspect.js +186 -178
  87. package/lib/cjs/ElementAspect.js.map +1 -1
  88. package/lib/cjs/ElementGraphics.d.ts +9 -9
  89. package/lib/cjs/ElementGraphics.js +41 -41
  90. package/lib/cjs/ElementGraphics.js.map +1 -1
  91. package/lib/cjs/ElementTreeWalker.d.ts +162 -162
  92. package/lib/cjs/ElementTreeWalker.d.ts.map +1 -1
  93. package/lib/cjs/ElementTreeWalker.js +409 -409
  94. package/lib/cjs/ElementTreeWalker.js.map +1 -1
  95. package/lib/cjs/Entity.d.ts +106 -76
  96. package/lib/cjs/Entity.d.ts.map +1 -1
  97. package/lib/cjs/Entity.js +134 -82
  98. package/lib/cjs/Entity.js.map +1 -1
  99. package/lib/cjs/EntityReferences.d.ts +46 -0
  100. package/lib/cjs/EntityReferences.d.ts.map +1 -0
  101. package/lib/cjs/EntityReferences.js +92 -0
  102. package/lib/cjs/EntityReferences.js.map +1 -0
  103. package/lib/cjs/ExportGraphics.d.ts +317 -317
  104. package/lib/cjs/ExportGraphics.d.ts.map +1 -1
  105. package/lib/cjs/ExportGraphics.js +208 -208
  106. package/lib/cjs/ExportGraphics.js.map +1 -1
  107. package/lib/cjs/ExternalSource.d.ts +96 -94
  108. package/lib/cjs/ExternalSource.d.ts.map +1 -1
  109. package/lib/cjs/ExternalSource.js +131 -125
  110. package/lib/cjs/ExternalSource.js.map +1 -1
  111. package/lib/cjs/GeoCoordConfig.d.ts +19 -13
  112. package/lib/cjs/GeoCoordConfig.d.ts.map +1 -1
  113. package/lib/cjs/GeoCoordConfig.js +82 -73
  114. package/lib/cjs/GeoCoordConfig.js.map +1 -1
  115. package/lib/cjs/GeometrySummary.d.ts +4 -4
  116. package/lib/cjs/GeometrySummary.js +380 -380
  117. package/lib/cjs/GeometrySummary.js.map +1 -1
  118. package/lib/cjs/HubMock.d.ts +93 -93
  119. package/lib/cjs/HubMock.d.ts.map +1 -1
  120. package/lib/cjs/HubMock.js +190 -190
  121. package/lib/cjs/HubMock.js.map +1 -1
  122. package/lib/cjs/IModelCloneContext.d.ts +89 -85
  123. package/lib/cjs/IModelCloneContext.d.ts.map +1 -1
  124. package/lib/cjs/IModelCloneContext.js +159 -150
  125. package/lib/cjs/IModelCloneContext.js.map +1 -1
  126. package/lib/cjs/IModelDb.d.ts +1164 -1151
  127. package/lib/cjs/IModelDb.d.ts.map +1 -1
  128. package/lib/cjs/IModelDb.js +2324 -2286
  129. package/lib/cjs/IModelDb.js.map +1 -1
  130. package/lib/cjs/IModelHost.d.ts +361 -347
  131. package/lib/cjs/IModelHost.d.ts.map +1 -1
  132. package/lib/cjs/IModelHost.js +489 -455
  133. package/lib/cjs/IModelHost.js.map +1 -1
  134. package/lib/cjs/IModelJsFs.d.ts +62 -62
  135. package/lib/cjs/IModelJsFs.d.ts.map +1 -1
  136. package/lib/cjs/IModelJsFs.js +140 -140
  137. package/lib/cjs/IModelJsFs.js.map +1 -1
  138. package/lib/cjs/IpcHost.d.ts +98 -98
  139. package/lib/cjs/IpcHost.js +234 -234
  140. package/lib/cjs/IpcHost.js.map +1 -1
  141. package/lib/cjs/LineStyle.d.ts +311 -311
  142. package/lib/cjs/LineStyle.js +295 -295
  143. package/lib/cjs/LineStyle.js.map +1 -1
  144. package/lib/cjs/LocalHub.d.ts +162 -162
  145. package/lib/cjs/LocalHub.js +587 -587
  146. package/lib/cjs/LocalHub.js.map +1 -1
  147. package/lib/cjs/LocalhostIpcHost.d.ts +20 -20
  148. package/lib/cjs/LocalhostIpcHost.js +81 -81
  149. package/lib/cjs/LocalhostIpcHost.js.map +1 -1
  150. package/lib/cjs/Material.d.ts +103 -101
  151. package/lib/cjs/Material.d.ts.map +1 -1
  152. package/lib/cjs/Material.js +147 -145
  153. package/lib/cjs/Material.js.map +1 -1
  154. package/lib/cjs/Model.d.ts +388 -386
  155. package/lib/cjs/Model.d.ts.map +1 -1
  156. package/lib/cjs/Model.js +479 -468
  157. package/lib/cjs/Model.js.map +1 -1
  158. package/lib/cjs/NativeAppStorage.d.ts +51 -51
  159. package/lib/cjs/NativeAppStorage.js +202 -202
  160. package/lib/cjs/NativeAppStorage.js.map +1 -1
  161. package/lib/cjs/NativeHost.d.ts +52 -52
  162. package/lib/cjs/NativeHost.js +168 -168
  163. package/lib/cjs/NativeHost.js.map +1 -1
  164. package/lib/cjs/NavigationRelationship.d.ts +156 -156
  165. package/lib/cjs/NavigationRelationship.js +225 -225
  166. package/lib/cjs/NavigationRelationship.js.map +1 -1
  167. package/lib/cjs/PromiseMemoizer.d.ts +51 -51
  168. package/lib/cjs/PromiseMemoizer.d.ts.map +1 -1
  169. package/lib/cjs/PromiseMemoizer.js +101 -95
  170. package/lib/cjs/PromiseMemoizer.js.map +1 -1
  171. package/lib/cjs/PropertyStore.d.ts +133 -0
  172. package/lib/cjs/PropertyStore.d.ts.map +1 -0
  173. package/lib/cjs/PropertyStore.js +12 -0
  174. package/lib/cjs/PropertyStore.js.map +1 -0
  175. package/lib/cjs/Relationship.d.ts +416 -400
  176. package/lib/cjs/Relationship.d.ts.map +1 -1
  177. package/lib/cjs/Relationship.js +494 -465
  178. package/lib/cjs/Relationship.js.map +1 -1
  179. package/lib/cjs/RpcBackend.d.ts +28 -28
  180. package/lib/cjs/RpcBackend.js +126 -126
  181. package/lib/cjs/RpcBackend.js.map +1 -1
  182. package/lib/cjs/SQLiteDb.d.ts +219 -173
  183. package/lib/cjs/SQLiteDb.d.ts.map +1 -1
  184. package/lib/cjs/SQLiteDb.js +214 -211
  185. package/lib/cjs/SQLiteDb.js.map +1 -1
  186. package/lib/cjs/Schema.d.ts +55 -55
  187. package/lib/cjs/Schema.js +83 -83
  188. package/lib/cjs/Schema.js.map +1 -1
  189. package/lib/cjs/ServerBasedLocks.d.ts +57 -57
  190. package/lib/cjs/ServerBasedLocks.js +168 -168
  191. package/lib/cjs/ServerBasedLocks.js.map +1 -1
  192. package/lib/cjs/SqliteStatement.d.ts +283 -271
  193. package/lib/cjs/SqliteStatement.d.ts.map +1 -1
  194. package/lib/cjs/SqliteStatement.js +448 -426
  195. package/lib/cjs/SqliteStatement.js.map +1 -1
  196. package/lib/cjs/Texture.d.ts +58 -58
  197. package/lib/cjs/Texture.js +82 -82
  198. package/lib/cjs/Texture.js.map +1 -1
  199. package/lib/cjs/TileStorage.d.ts +19 -0
  200. package/lib/cjs/TileStorage.d.ts.map +1 -0
  201. package/lib/cjs/TileStorage.js +91 -0
  202. package/lib/cjs/TileStorage.js.map +1 -0
  203. package/lib/cjs/TxnManager.d.ts +202 -202
  204. package/lib/cjs/TxnManager.d.ts.map +1 -1
  205. package/lib/cjs/TxnManager.js +356 -353
  206. package/lib/cjs/TxnManager.js.map +1 -1
  207. package/lib/cjs/ViewDefinition.d.ts +439 -435
  208. package/lib/cjs/ViewDefinition.d.ts.map +1 -1
  209. package/lib/cjs/ViewDefinition.js +646 -629
  210. package/lib/cjs/ViewDefinition.js.map +1 -1
  211. package/lib/cjs/ViewStateHydrator.d.ts +13 -13
  212. package/lib/cjs/ViewStateHydrator.js +103 -103
  213. package/lib/cjs/ViewStateHydrator.js.map +1 -1
  214. package/lib/cjs/assets/IModelChange.02.00.00.ecschema.xml +90 -90
  215. package/lib/cjs/assets/Settings/Schemas/Cloud.Schema.json +67 -67
  216. package/lib/cjs/assets/Settings/Schemas/Gcs.schema.json +31 -21
  217. package/lib/cjs/assets/Settings/Schemas/Workspace.Schema.json +52 -52
  218. package/lib/cjs/assets/Settings/backend.setting.json5 +138 -138
  219. package/lib/cjs/core-backend.d.ts +183 -175
  220. package/lib/cjs/core-backend.d.ts.map +1 -1
  221. package/lib/cjs/core-backend.js +203 -195
  222. package/lib/cjs/core-backend.js.map +1 -1
  223. package/lib/cjs/domains/FunctionalElements.d.ts +101 -101
  224. package/lib/cjs/domains/FunctionalElements.js +145 -145
  225. package/lib/cjs/domains/FunctionalElements.js.map +1 -1
  226. package/lib/cjs/domains/FunctionalSchema.d.ts +13 -13
  227. package/lib/cjs/domains/FunctionalSchema.js +40 -40
  228. package/lib/cjs/domains/FunctionalSchema.js.map +1 -1
  229. package/lib/cjs/domains/GenericElements.d.ts +177 -177
  230. package/lib/cjs/domains/GenericElements.js +263 -263
  231. package/lib/cjs/domains/GenericElements.js.map +1 -1
  232. package/lib/cjs/domains/GenericSchema.d.ts +10 -10
  233. package/lib/cjs/domains/GenericSchema.js +28 -28
  234. package/lib/cjs/domains/GenericSchema.js.map +1 -1
  235. package/lib/cjs/rpc-impl/DevToolsRpcImpl.d.ts +15 -15
  236. package/lib/cjs/rpc-impl/DevToolsRpcImpl.js +32 -32
  237. package/lib/cjs/rpc-impl/DevToolsRpcImpl.js.map +1 -1
  238. package/lib/cjs/rpc-impl/IModelReadRpcImpl.d.ts +45 -45
  239. package/lib/cjs/rpc-impl/IModelReadRpcImpl.js +262 -262
  240. package/lib/cjs/rpc-impl/IModelReadRpcImpl.js.map +1 -1
  241. package/lib/cjs/rpc-impl/IModelTileRpcImpl.d.ts +22 -20
  242. package/lib/cjs/rpc-impl/IModelTileRpcImpl.d.ts.map +1 -1
  243. package/lib/cjs/rpc-impl/IModelTileRpcImpl.js +204 -195
  244. package/lib/cjs/rpc-impl/IModelTileRpcImpl.js.map +1 -1
  245. package/lib/cjs/rpc-impl/RpcBriefcaseUtility.d.ts +36 -36
  246. package/lib/cjs/rpc-impl/RpcBriefcaseUtility.d.ts.map +1 -1
  247. package/lib/cjs/rpc-impl/RpcBriefcaseUtility.js +168 -165
  248. package/lib/cjs/rpc-impl/RpcBriefcaseUtility.js.map +1 -1
  249. package/lib/cjs/rpc-impl/SnapshotIModelRpcImpl.d.ts +16 -16
  250. package/lib/cjs/rpc-impl/SnapshotIModelRpcImpl.js +43 -43
  251. package/lib/cjs/rpc-impl/SnapshotIModelRpcImpl.js.map +1 -1
  252. package/lib/cjs/rpc-impl/WipRpcImpl.d.ts +15 -15
  253. package/lib/cjs/rpc-impl/WipRpcImpl.js +37 -37
  254. package/lib/cjs/rpc-impl/WipRpcImpl.js.map +1 -1
  255. package/lib/cjs/workspace/Settings.d.ts +186 -186
  256. package/lib/cjs/workspace/Settings.d.ts.map +1 -1
  257. package/lib/cjs/workspace/Settings.js +155 -152
  258. package/lib/cjs/workspace/Settings.js.map +1 -1
  259. package/lib/cjs/workspace/SettingsSchemas.d.ts +75 -75
  260. package/lib/cjs/workspace/SettingsSchemas.js +191 -191
  261. package/lib/cjs/workspace/SettingsSchemas.js.map +1 -1
  262. package/lib/cjs/workspace/Workspace.d.ts +414 -401
  263. package/lib/cjs/workspace/Workspace.d.ts.map +1 -1
  264. package/lib/cjs/workspace/Workspace.js +543 -534
  265. package/lib/cjs/workspace/Workspace.js.map +1 -1
  266. package/package.json +20 -20
  267. package/lib/cjs/IModelSchemaLoader.d.ts +0 -26
  268. package/lib/cjs/IModelSchemaLoader.d.ts.map +0 -1
  269. package/lib/cjs/IModelSchemaLoader.js +0 -122
  270. package/lib/cjs/IModelSchemaLoader.js.map +0 -1
@@ -1,174 +1,220 @@
1
- /** @packageDocumentation
2
- * @module SQLiteDb
3
- */
4
- import { CloudSqlite, IModelJsNative } from "@bentley/imodeljs-native";
5
- import { DbResult, IDisposable, OpenMode } from "@itwin/core-bentley";
6
- import { LocalFileName } from "@itwin/core-common";
7
- import { SqliteStatement } from "./SqliteStatement";
8
- /** A SQLiteDb file
9
- * @public
10
- */
11
- export declare class SQLiteDb implements IDisposable {
12
- /** @internal */
13
- readonly nativeDb: IModelJsNative.SQLiteDb;
14
- private _sqliteStatementCache;
15
- /** @internal */
16
- static createCloudContainer(args: CloudSqlite.ContainerAccessProps): SQLiteDb.CloudContainer;
17
- /** @internal */
18
- static createCloudCache(args: CloudSqlite.CacheProps): SQLiteDb.CloudCache;
19
- /** @internal */
20
- static startCloudPrefetch(container: SQLiteDb.CloudContainer, dbName: string, args?: CloudSqlite.PrefetchProps): SQLiteDb.CloudPrefetch;
21
- /** @internal */
22
- static createBlobIO(): SQLiteDb.BlobIO;
23
- /** alias for closeDb. */
24
- dispose(): void;
25
- /** Create a SQLiteDb
26
- * @param dbName The path to the SQLiteDb file to create.
27
- */
28
- createDb(dbName: string, container?: SQLiteDb.CloudContainer, params?: SQLiteDb.CreateParams): void;
29
- /** Open a SQLiteDb.
30
- * @param dbName The path to the SQLiteDb file to open
31
- */
32
- openDb(dbName: string, openMode: OpenMode | SQLiteDb.OpenParams): void;
33
- /**
34
- * @param container optional CloudContainer holding database
35
- * @internal
36
- */
37
- openDb(dbName: string, openMode: OpenMode | SQLiteDb.OpenParams, container?: SQLiteDb.CloudContainer): void;
38
- /** Close SQLiteDb.
39
- * @param saveChanges if true, call `saveChanges` before closing db.
40
- */
41
- closeDb(saveChanges?: boolean): void;
42
- /** Returns true if the SQLiteDb is open */
43
- get isOpen(): boolean;
44
- /**
45
- * 1. open a database
46
- * 2. call a function supplying the open SQliteDb as argument. If it is async, await its return.
47
- * 3. close the database (even if exceptions are thrown)
48
- */
49
- static withOpenDb<T>(args: {
50
- /** The name of the database to open */
51
- dbName: string;
52
- /** either an object with the open parameters or just OpenMode value. */
53
- openMode?: OpenMode | SQLiteDb.OpenParams;
54
- /** @internal */
55
- container?: SQLiteDb.CloudContainer;
56
- }, operation: (db: SQLiteDb) => T): T;
57
- /**
58
- * 1. acquire the write lock on a CloudContainer
59
- * 2. open a ReadWrite database in the container
60
- * 3. call a function with the opened database as an argument
61
- * 4. close the database
62
- * 5. release the write lock and upload changes.
63
- * @internal
64
- */
65
- static withLockedContainer(args: {
66
- /** the name to be displayed in the event of lock collisions */
67
- user: string;
68
- /** the name of the database within the container */
69
- dbName: string;
70
- /** the CloudContainer on which the operation will be performed */
71
- container: SQLiteDb.CloudContainer;
72
- /** if present, function called when the write lock is currently held by another user. */
73
- busyHandler?: CloudSqlite.WriteLockBusyHandler;
74
- },
75
- /** an asynchronous operation performed on the database with the write lock held. */
76
- operation: (db: SQLiteDb) => Promise<void>): Promise<void>;
77
- /** vacuum this database
78
- * @see https://www.sqlite.org/lang_vacuum.html
79
- */
80
- vacuum(args?: {
81
- /** new page size
82
- * @see https://www.sqlite.org/pragma.html#pragma_page_size
83
- */
84
- pageSize?: number;
85
- /** if present, name of new file to vacuum into */
86
- into?: LocalFileName;
87
- }): void;
88
- /** Commit the outermost transaction, writing changes to the file. Then, restart the transaction. */
89
- saveChanges(): void;
90
- /** Abandon (cancel) the outermost transaction, discarding all changes since last save. Then, restart the transaction. */
91
- abandonChanges(): void;
92
- /**
93
- * Use a prepared SQL statement, potentially from the statement cache. If the requested statement doesn't exist
94
- * in the statement cache, a new statement is prepared. After the callback completes, the statement is reset and saved
95
- * in the statement cache so it can be reused in the future. Use this method for SQL statements that will be
96
- * reused often and are expensive to prepare. The statement cache holds the most recently used statements, discarding
97
- * the oldest statements as it fills. For statements you don't intend to reuse, instead use [[withSqliteStatement]].
98
- * @param sql The SQLite SQL statement to execute
99
- * @param callback the callback to invoke on the prepared statement
100
- * @returns the value returned by `callback`.
101
- */
102
- withPreparedSqliteStatement<T>(sql: string, callback: (stmt: SqliteStatement) => T): T;
103
- /**
104
- * Prepared and execute a callback on a SQL statement. After the callback completes the statement is disposed.
105
- * Use this method for SQL statements are either not expected to be reused, or are not expensive to prepare.
106
- * For statements that will be reused often, instead use [[withPreparedSqliteStatement]].
107
- * @param sql The SQLite SQL statement to execute
108
- * @param callback the callback to invoke on the prepared statement
109
- * @returns the value returned by `callback`.
110
- */
111
- withSqliteStatement<T>(sql: string, callback: (stmt: SqliteStatement) => T): T;
112
- /** Prepare an SQL statement.
113
- * @param sql The SQLite SQL statement to prepare
114
- * @param logErrors Determine if errors are logged or not
115
- * @internal
116
- */
117
- prepareSqliteStatement(sql: string, logErrors?: boolean): SqliteStatement;
118
- /** execute an SQL statement */
119
- executeSQL(sql: string): DbResult;
120
- }
121
- /** @public */
122
- export declare namespace SQLiteDb {
123
- /** A CloudSqlite container that may be connected to a CloudCache.
124
- * @internal
125
- */
126
- type CloudContainer = IModelJsNative.CloudContainer;
127
- /** @internal */
128
- type CloudCache = IModelJsNative.CloudCache;
129
- /** @internal */
130
- type CloudPrefetch = IModelJsNative.CloudPrefetch;
131
- /** Incremental IO for blobs
132
- * @internal
133
- */
134
- type BlobIO = IModelJsNative.BlobIO;
135
- /** Default transaction mode for SQLiteDbs.
136
- * @see https://www.sqlite.org/lang_transaction.html
137
- */
138
- enum DefaultTxnMode {
139
- /** no default transaction is started. You must use BEGIN/COMMIT or SQLite will use implicit transactions */
140
- None = 0,
141
- /** A deferred transaction is started when the file is first opened. This is the default. */
142
- Deferred = 1,
143
- /** An immediate transaction is started when the file is first opened. */
144
- Immediate = 2,
145
- /** An exclusive transaction is started when the file is first opened. */
146
- Exclusive = 3
147
- }
148
- /** parameters common to opening or creating a new SQLiteDb */
149
- interface OpenOrCreateParams {
150
- /** If true, do not require that the `be_Prop` table exist */
151
- rawSQLite?: boolean;
152
- /** @see immutable option at https://www.sqlite.org/c3ref/open.html */
153
- immutable?: boolean;
154
- /** Do not attempt to verify that the file is a valid sQLite file before opening. */
155
- skipFileCheck?: boolean;
156
- /** the default transaction mode
157
- * @see [[SQLiteDb.DefaultTxnMode]]
158
- */
159
- defaultTxn?: 0 | 1 | 2 | 3;
160
- /** see query parameters from 'URI Filenames' in https://www.sqlite.org/c3ref/open.html */
161
- queryParam?: string;
162
- }
163
- /** Parameters for opening an existing SQLiteDb */
164
- interface OpenParams extends OpenOrCreateParams {
165
- /** use OpenMode.ReadWrite to open the file with write access */
166
- openMode: OpenMode;
167
- }
168
- /** Parameters for creating a new SQLiteDb */
169
- interface CreateParams extends OpenOrCreateParams {
170
- /** see https://www.sqlite.org/pragma.html#pragma_page_size */
171
- pageSize?: number;
172
- }
173
- }
1
+ /** @packageDocumentation
2
+ * @module SQLiteDb
3
+ */
4
+ import { IModelJsNative } from "@bentley/imodeljs-native";
5
+ import { DbResult, IDisposable, OpenMode } from "@itwin/core-bentley";
6
+ import { LocalFileName } from "@itwin/core-common";
7
+ import { CloudSqlite } from "./CloudSqlite";
8
+ import { SqliteStatement } from "./SqliteStatement";
9
+ /** A SQLiteDb file
10
+ * @public
11
+ */
12
+ export declare class SQLiteDb implements IDisposable {
13
+ /** @internal */
14
+ readonly nativeDb: IModelJsNative.SQLiteDb;
15
+ private _sqliteStatementCache;
16
+ /** @internal */
17
+ static createBlobIO(): SQLiteDb.BlobIO;
18
+ /** alias for closeDb. */
19
+ dispose(): void;
20
+ /** Create a SQLiteDb
21
+ * @param dbName The path to the SQLiteDb file to create.
22
+ */
23
+ createDb(dbName: string): void;
24
+ /** @beta */
25
+ createDb(dbName: string, container?: CloudSqlite.CloudContainer, params?: SQLiteDb.CreateParams): void;
26
+ /** Open a SQLiteDb.
27
+ * @param dbName The path to the SQLiteDb file to open
28
+ */
29
+ openDb(dbName: string, openMode: OpenMode | SQLiteDb.OpenParams): void;
30
+ /**
31
+ * @param container optional CloudContainer holding database
32
+ * @beta
33
+ */
34
+ openDb(dbName: string, openMode: OpenMode | SQLiteDb.OpenParams, container?: CloudSqlite.CloudContainer): void;
35
+ /** Close SQLiteDb.
36
+ * @param saveChanges if true, call `saveChanges` before closing db. Otherwise unsaved changes are abandoned.
37
+ */
38
+ closeDb(saveChanges?: boolean): void;
39
+ /** Returns true if this SQLiteDb is open */
40
+ get isOpen(): boolean;
41
+ /** Returns true if this SQLiteDb is open readonly */
42
+ get isReadonly(): boolean;
43
+ /**
44
+ * Open a database, perform an operation, then close the database.
45
+ *
46
+ * Details:
47
+ * - if database is open, throw an error
48
+ * - open a database
49
+ * - call a function with the database opened. If it is async, await its return.
50
+ * - if function throws, abandon all changes, close database, and rethrow
51
+ * - save all changes
52
+ * - close the database
53
+ * @return value from operation
54
+ */
55
+ withOpenDb<T>(args: SQLiteDb.WithOpenDbArgs, operation: () => T): T;
56
+ /**
57
+ * Perform an operation on a database in a CloudContainer with the write lock held.
58
+ *
59
+ * Details:
60
+ * - acquire the write lock on a CloudContainer
61
+ * - call `withOpenDb` with openMode `ReadWrite`
62
+ * - upload changes
63
+ * - release the write lock
64
+ * @param args arguments to lock the container and open the database
65
+ * @param operation an operation performed on the database with the write lock held.
66
+ * @return value from operation
67
+ * @internal
68
+ */
69
+ withLockedContainer<T>(args: CloudSqlite.LockAndOpenArgs, operation: () => T): Promise<T>;
70
+ /** vacuum this database
71
+ * @see https://www.sqlite.org/lang_vacuum.html
72
+ */
73
+ vacuum(args?: SQLiteDb.VacuumDbArgs): void;
74
+ /** Commit the outermost transaction, writing changes to the file. Then, restart the transaction. */
75
+ saveChanges(): void;
76
+ /** Abandon (cancel) the outermost transaction, discarding all changes since last save. Then, restart the transaction. */
77
+ abandonChanges(): void;
78
+ /**
79
+ * Use a prepared SQL statement, potentially from the statement cache. If the requested statement doesn't exist
80
+ * in the statement cache, a new statement is prepared. After the callback completes, the statement is reset and saved
81
+ * in the statement cache so it can be reused in the future. Use this method for SQL statements that will be
82
+ * reused often and are expensive to prepare. The statement cache holds the most recently used statements, discarding
83
+ * the oldest statements as it fills. For statements you don't intend to reuse, instead use [[withSqliteStatement]].
84
+ * @param sql The SQLite SQL statement to execute
85
+ * @param callback the callback to invoke on the prepared statement
86
+ * @returns the value returned by `callback`.
87
+ */
88
+ withPreparedSqliteStatement<T>(sql: string, callback: (stmt: SqliteStatement) => T): T;
89
+ /**
90
+ * Prepared and execute a callback on a SQL statement. After the callback completes the statement is disposed.
91
+ * Use this method for SQL statements are either not expected to be reused, or are not expensive to prepare.
92
+ * For statements that will be reused often, instead use [[withPreparedSqliteStatement]].
93
+ * @param sql The SQLite SQL statement to execute
94
+ * @param callback the callback to invoke on the prepared statement
95
+ * @returns the value returned by `callback`.
96
+ */
97
+ withSqliteStatement<T>(sql: string, callback: (stmt: SqliteStatement) => T): T;
98
+ /**
99
+ * Perform an operation on this database within a [savepoint](https://www.sqlite.org/lang_savepoint.html). If the operation completes successfully, the
100
+ * changes remain in the current transaction. If the operation throws an exception, the savepoint is rolled back
101
+ * and all changes to the database from this method are reversed, leaving the transaction exactly as it was before this method.
102
+ */
103
+ withSavePoint(savePointName: string, operation: () => void): void;
104
+ /** Prepare an SQL statement.
105
+ * @param sql The SQLite SQL statement to prepare
106
+ * @param logErrors Determine if errors are logged or not
107
+ * @internal
108
+ */
109
+ prepareSqliteStatement(sql: string, logErrors?: boolean): SqliteStatement;
110
+ /** execute an SQL statement */
111
+ executeSQL(sql: string): DbResult;
112
+ }
113
+ /** @public */
114
+ export declare namespace SQLiteDb {
115
+ /** interface for reading and writing to a blob in a SQLiteDb
116
+ * @internal
117
+ */
118
+ interface BlobIO {
119
+ /** Close this BlobIO if it is opened.
120
+ * @note this BlobIO *may* be reused after this call by calling `open` again.
121
+ */
122
+ close(): void;
123
+ /** get the total number of bytes in the blob */
124
+ getNumBytes(): number;
125
+ /** @return true if this BlobIO was successfully opened and may be use to read or write the blob */
126
+ isValid(): boolean;
127
+ /** Open this BlobIO against a table/row/column in a Db */
128
+ open(
129
+ /** The database for the blob */
130
+ db: IModelJsNative.AnyDb, args: {
131
+ /** the name of the table for the blob*/
132
+ tableName: string;
133
+ /** the name of the column for the blob */
134
+ columnName: string;
135
+ /** The rowId of the blob */
136
+ row: number;
137
+ /** If true, open this BlobIO for write access */
138
+ writeable?: boolean;
139
+ }): void;
140
+ /** Read from a blob
141
+ * @returns the contents of the requested byte range
142
+ */
143
+ read(args: {
144
+ /** The number of bytes to read */
145
+ numBytes: number;
146
+ /** starting offset within the blob to read */
147
+ offset: number;
148
+ /** If present and of sufficient size, use this ArrayBuffer for the value. */
149
+ blob?: ArrayBuffer;
150
+ }): Uint8Array;
151
+ /** Reposition this BlobIO to a new rowId
152
+ * @note this BlobIO must be valid when this methods is called.
153
+ */
154
+ changeRow(row: number): void;
155
+ /** Write to a blob */
156
+ write(args: {
157
+ /** The number of bytes to write */
158
+ numBytes: number;
159
+ /** starting offset within the blob to write */
160
+ offset: number;
161
+ /** the value to write */
162
+ blob: ArrayBuffer;
163
+ }): void;
164
+ }
165
+ /** Default transaction mode for SQLiteDbs.
166
+ * @see https://www.sqlite.org/lang_transaction.html
167
+ */
168
+ enum DefaultTxnMode {
169
+ /** no default transaction is started. You must use BEGIN/COMMIT or SQLite will use implicit transactions */
170
+ None = 0,
171
+ /** A deferred transaction is started when the file is first opened. This is the default. */
172
+ Deferred = 1,
173
+ /** An immediate transaction is started when the file is first opened. */
174
+ Immediate = 2,
175
+ /** An exclusive transaction is started when the file is first opened. */
176
+ Exclusive = 3
177
+ }
178
+ /** parameters common to opening or creating a new SQLiteDb */
179
+ interface OpenOrCreateParams {
180
+ /** If true, do not require that the `be_Prop` table exist */
181
+ rawSQLite?: boolean;
182
+ /** @see immutable option at https://www.sqlite.org/c3ref/open.html */
183
+ immutable?: boolean;
184
+ /** Do not attempt to verify that the file is a valid sQLite file before opening. */
185
+ skipFileCheck?: boolean;
186
+ /** the default transaction mode
187
+ * @see [[SQLiteDb.DefaultTxnMode]]
188
+ */
189
+ defaultTxn?: 0 | 1 | 2 | 3;
190
+ /** see query parameters from 'URI Filenames' in https://www.sqlite.org/c3ref/open.html */
191
+ queryParam?: string;
192
+ }
193
+ /** Parameters for opening an existing SQLiteDb */
194
+ interface OpenParams extends OpenOrCreateParams {
195
+ /** use OpenMode.ReadWrite to open the file with write access */
196
+ openMode: OpenMode;
197
+ }
198
+ /** Size of a SQLiteDb page in bytes */
199
+ interface PageSize {
200
+ /** see https://www.sqlite.org/pragma.html#pragma_page_size */
201
+ pageSize?: number;
202
+ }
203
+ /** Parameters for creating a new SQLiteDb */
204
+ type CreateParams = OpenOrCreateParams & PageSize;
205
+ /** Arguments for `SqliteDb.withOpenDb` */
206
+ interface WithOpenDbArgs {
207
+ /** The name of the database to open */
208
+ dbName: string;
209
+ /** either an object with the open parameters or just OpenMode value. */
210
+ openMode?: OpenMode | SQLiteDb.OpenParams;
211
+ /** @internal */
212
+ container?: CloudSqlite.CloudContainer;
213
+ }
214
+ /** Arguments for `SQLiteDb.vacuum` */
215
+ interface VacuumDbArgs extends PageSize {
216
+ /** if present, name of new file to [vacuum into](https://www.sqlite.org/lang_vacuum.html) */
217
+ into?: LocalFileName;
218
+ }
219
+ }
174
220
  //# sourceMappingURL=SQLiteDb.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"SQLiteDb.d.ts","sourceRoot":"","sources":["../../src/SQLiteDb.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"SQLiteDb.d.ts","sourceRoot":"","sources":["../../src/SQLiteDb.ts"],"names":[],"mappings":"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"}