@itwin/core-backend 5.9.0-dev.1 → 5.9.0-dev.11

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 (752) hide show
  1. package/CHANGELOG.md +30 -1
  2. package/lib/cjs/BackendHubAccess.d.ts +38 -0
  3. package/lib/cjs/BackendHubAccess.d.ts.map +1 -1
  4. package/lib/cjs/BackendHubAccess.js.map +1 -1
  5. package/lib/cjs/BackendLoggerCategory.js.map +1 -1
  6. package/lib/cjs/BisCoreSchema.js.map +1 -1
  7. package/lib/cjs/BlobContainerService.js.map +1 -1
  8. package/lib/cjs/BriefcaseManager.js +3 -3
  9. package/lib/cjs/BriefcaseManager.js.map +1 -1
  10. package/lib/cjs/CatalogDb.js.map +1 -1
  11. package/lib/cjs/Category.d.ts +37 -7
  12. package/lib/cjs/Category.d.ts.map +1 -1
  13. package/lib/cjs/Category.js +33 -42
  14. package/lib/cjs/Category.js.map +1 -1
  15. package/lib/cjs/ChangeSummaryManager.js +2 -2
  16. package/lib/cjs/ChangeSummaryManager.js.map +1 -1
  17. package/lib/cjs/ChangedElementsDb.js.map +1 -1
  18. package/lib/cjs/ChangesetECAdaptor.d.ts.map +1 -1
  19. package/lib/cjs/ChangesetECAdaptor.js +253 -250
  20. package/lib/cjs/ChangesetECAdaptor.js.map +1 -1
  21. package/lib/cjs/ChannelControl.d.ts +29 -0
  22. package/lib/cjs/ChannelControl.d.ts.map +1 -1
  23. package/lib/cjs/ChannelControl.js.map +1 -1
  24. package/lib/cjs/CheckpointManager.js +1 -1
  25. package/lib/cjs/CheckpointManager.js.map +1 -1
  26. package/lib/cjs/ClassRegistry.js +5 -5
  27. package/lib/cjs/ClassRegistry.js.map +1 -1
  28. package/lib/cjs/CloudSqlite.d.ts +1 -1
  29. package/lib/cjs/CloudSqlite.d.ts.map +1 -1
  30. package/lib/cjs/CloudSqlite.js +68 -13
  31. package/lib/cjs/CloudSqlite.js.map +1 -1
  32. package/lib/cjs/CodeService.js.map +1 -1
  33. package/lib/cjs/CodeSpecs.d.ts +32 -3
  34. package/lib/cjs/CodeSpecs.d.ts.map +1 -1
  35. package/lib/cjs/CodeSpecs.js +48 -20
  36. package/lib/cjs/CodeSpecs.js.map +1 -1
  37. package/lib/cjs/ConcurrentQuery.js.map +1 -1
  38. package/lib/cjs/CustomViewState3dCreator.js.map +1 -1
  39. package/lib/cjs/DevTools.js.map +1 -1
  40. package/lib/cjs/DisplayStyle.d.ts +18 -3
  41. package/lib/cjs/DisplayStyle.d.ts.map +1 -1
  42. package/lib/cjs/DisplayStyle.js +10 -21
  43. package/lib/cjs/DisplayStyle.js.map +1 -1
  44. package/lib/cjs/ECDb.js.map +1 -1
  45. package/lib/cjs/ECSchemaXmlContext.js.map +1 -1
  46. package/lib/cjs/ECSqlRowExecutor.js.map +1 -1
  47. package/lib/cjs/ECSqlStatement.js.map +1 -1
  48. package/lib/cjs/ECSqlSyncReader.js.map +1 -1
  49. package/lib/cjs/EditTxn.d.ts +262 -0
  50. package/lib/cjs/EditTxn.d.ts.map +1 -0
  51. package/lib/cjs/EditTxn.js +548 -0
  52. package/lib/cjs/EditTxn.js.map +1 -0
  53. package/lib/cjs/Element.d.ts +74 -5
  54. package/lib/cjs/Element.d.ts.map +1 -1
  55. package/lib/cjs/Element.js +63 -75
  56. package/lib/cjs/Element.js.map +1 -1
  57. package/lib/cjs/ElementAspect.d.ts +10 -0
  58. package/lib/cjs/ElementAspect.d.ts.map +1 -1
  59. package/lib/cjs/ElementAspect.js +21 -12
  60. package/lib/cjs/ElementAspect.js.map +1 -1
  61. package/lib/cjs/ElementGraphics.js.map +1 -1
  62. package/lib/cjs/ElementTreeWalker.d.ts +56 -3
  63. package/lib/cjs/ElementTreeWalker.d.ts.map +1 -1
  64. package/lib/cjs/ElementTreeWalker.js +53 -40
  65. package/lib/cjs/ElementTreeWalker.js.map +1 -1
  66. package/lib/cjs/Entity.js.map +1 -1
  67. package/lib/cjs/EntityReferences.js.map +1 -1
  68. package/lib/cjs/ExportGraphics.js.map +1 -1
  69. package/lib/cjs/ExternalSource.d.ts +11 -2
  70. package/lib/cjs/ExternalSource.d.ts.map +1 -1
  71. package/lib/cjs/ExternalSource.js +10 -8
  72. package/lib/cjs/ExternalSource.js.map +1 -1
  73. package/lib/cjs/FontFile.js.map +1 -1
  74. package/lib/cjs/GeoCoordConfig.js.map +1 -1
  75. package/lib/cjs/GeographicCRSServices.js.map +1 -1
  76. package/lib/cjs/GeometrySummary.js +47 -47
  77. package/lib/cjs/GeometrySummary.js.map +1 -1
  78. package/lib/cjs/IModelDb.d.ts +74 -23
  79. package/lib/cjs/IModelDb.d.ts.map +1 -1
  80. package/lib/cjs/IModelDb.js +193 -297
  81. package/lib/cjs/IModelDb.js.map +1 -1
  82. package/lib/cjs/IModelDbFonts.js.map +1 -1
  83. package/lib/cjs/IModelElementCloneContext.js.map +1 -1
  84. package/lib/cjs/IModelHost.d.ts +58 -1
  85. package/lib/cjs/IModelHost.d.ts.map +1 -1
  86. package/lib/cjs/IModelHost.js +89 -0
  87. package/lib/cjs/IModelHost.js.map +1 -1
  88. package/lib/cjs/IModelIncrementalSchemaLocater.js.map +1 -1
  89. package/lib/cjs/IModelJsFs.js.map +1 -1
  90. package/lib/cjs/ImageSourceConversion.js.map +1 -1
  91. package/lib/cjs/IpcHost.d.ts.map +1 -1
  92. package/lib/cjs/IpcHost.js +35 -15
  93. package/lib/cjs/IpcHost.js.map +1 -1
  94. package/lib/cjs/LineStyle.d.ts +47 -7
  95. package/lib/cjs/LineStyle.d.ts.map +1 -1
  96. package/lib/cjs/LineStyle.js +38 -33
  97. package/lib/cjs/LineStyle.js.map +1 -1
  98. package/lib/cjs/LocalHub.js +1 -1
  99. package/lib/cjs/LocalHub.js.map +1 -1
  100. package/lib/cjs/LocalhostIpcHost.js.map +1 -1
  101. package/lib/cjs/LockControl.d.ts +85 -1
  102. package/lib/cjs/LockControl.d.ts.map +1 -1
  103. package/lib/cjs/LockControl.js.map +1 -1
  104. package/lib/cjs/Material.d.ts +8 -1
  105. package/lib/cjs/Material.d.ts.map +1 -1
  106. package/lib/cjs/Material.js +6 -12
  107. package/lib/cjs/Material.js.map +1 -1
  108. package/lib/cjs/Model.d.ts +59 -20
  109. package/lib/cjs/Model.d.ts.map +1 -1
  110. package/lib/cjs/Model.js +38 -80
  111. package/lib/cjs/Model.js.map +1 -1
  112. package/lib/cjs/NativeAppStorage.js.map +1 -1
  113. package/lib/cjs/NativeHost.js.map +1 -1
  114. package/lib/cjs/NavigationRelationship.js.map +1 -1
  115. package/lib/cjs/PromiseMemoizer.js.map +1 -1
  116. package/lib/cjs/PropertyStore.js.map +1 -1
  117. package/lib/cjs/Relationship.d.ts +72 -7
  118. package/lib/cjs/Relationship.d.ts.map +1 -1
  119. package/lib/cjs/Relationship.js +39 -21
  120. package/lib/cjs/Relationship.js.map +1 -1
  121. package/lib/cjs/RpcBackend.js.map +1 -1
  122. package/lib/cjs/SQLiteDb.js.map +1 -1
  123. package/lib/cjs/Schema.js.map +1 -1
  124. package/lib/cjs/SchemaSync.js +4 -4
  125. package/lib/cjs/SchemaSync.js.map +1 -1
  126. package/lib/cjs/SchemaUtils.js.map +1 -1
  127. package/lib/cjs/SheetIndex.d.ts +9 -0
  128. package/lib/cjs/SheetIndex.d.ts.map +1 -1
  129. package/lib/cjs/SheetIndex.js +38 -35
  130. package/lib/cjs/SheetIndex.js.map +1 -1
  131. package/lib/cjs/SqliteChangesetReader.js.map +1 -1
  132. package/lib/cjs/SqliteStatement.js.map +1 -1
  133. package/lib/cjs/StashManager.js +1 -1
  134. package/lib/cjs/StashManager.js.map +1 -1
  135. package/lib/cjs/Texture.d.ts +6 -0
  136. package/lib/cjs/Texture.d.ts.map +1 -1
  137. package/lib/cjs/Texture.js +6 -14
  138. package/lib/cjs/Texture.js.map +1 -1
  139. package/lib/cjs/TileStorage.js.map +1 -1
  140. package/lib/cjs/TxnManager.d.ts +105 -9
  141. package/lib/cjs/TxnManager.d.ts.map +1 -1
  142. package/lib/cjs/TxnManager.js +194 -15
  143. package/lib/cjs/TxnManager.js.map +1 -1
  144. package/lib/cjs/ViewDefinition.d.ts +21 -1
  145. package/lib/cjs/ViewDefinition.d.ts.map +1 -1
  146. package/lib/cjs/ViewDefinition.js +27 -66
  147. package/lib/cjs/ViewDefinition.js.map +1 -1
  148. package/lib/cjs/ViewStateHydrator.js.map +1 -1
  149. package/lib/cjs/ViewStore.js.map +1 -1
  150. package/lib/cjs/annotations/ElementDrivesTextAnnotation.d.ts +14 -6
  151. package/lib/cjs/annotations/ElementDrivesTextAnnotation.d.ts.map +1 -1
  152. package/lib/cjs/annotations/ElementDrivesTextAnnotation.js +33 -27
  153. package/lib/cjs/annotations/ElementDrivesTextAnnotation.js.map +1 -1
  154. package/lib/cjs/annotations/FrameGeometry.js.map +1 -1
  155. package/lib/cjs/annotations/LeaderGeometry.js.map +1 -1
  156. package/lib/cjs/annotations/TextAnnotationElement.d.ts.map +1 -1
  157. package/lib/cjs/annotations/TextAnnotationElement.js +6 -5
  158. package/lib/cjs/annotations/TextAnnotationElement.js.map +1 -1
  159. package/lib/cjs/annotations/TextAnnotationGeometry.js.map +1 -1
  160. package/lib/cjs/annotations/TextBlockGeometry.js.map +1 -1
  161. package/lib/cjs/annotations/TextBlockLayout.js.map +1 -1
  162. package/lib/cjs/assets/IModelChange.02.00.00.ecschema.xml +90 -90
  163. package/lib/cjs/assets/Settings/Schemas/Base.Schema.json +32 -32
  164. package/lib/cjs/assets/Settings/Schemas/Gcs.schema.json +27 -27
  165. package/lib/cjs/assets/Settings/Schemas/Workspace.Schema.json +94 -94
  166. package/lib/cjs/assets/Settings/backend.setting.json5 +21 -21
  167. package/lib/cjs/core-backend.d.ts +1 -0
  168. package/lib/cjs/core-backend.d.ts.map +1 -1
  169. package/lib/cjs/core-backend.js +1 -0
  170. package/lib/cjs/core-backend.js.map +1 -1
  171. package/lib/cjs/domains/FunctionalElements.d.ts +6 -2
  172. package/lib/cjs/domains/FunctionalElements.d.ts.map +1 -1
  173. package/lib/cjs/domains/FunctionalElements.js +8 -13
  174. package/lib/cjs/domains/FunctionalElements.js.map +1 -1
  175. package/lib/cjs/domains/FunctionalSchema.js.map +1 -1
  176. package/lib/cjs/domains/GenericElements.d.ts +11 -4
  177. package/lib/cjs/domains/GenericElements.d.ts.map +1 -1
  178. package/lib/cjs/domains/GenericElements.js +13 -24
  179. package/lib/cjs/domains/GenericElements.js.map +1 -1
  180. package/lib/cjs/domains/GenericSchema.js.map +1 -1
  181. package/lib/cjs/internal/ChangesetConflictArgs.js.map +1 -1
  182. package/lib/cjs/internal/ChannelAdmin.d.ts +15 -0
  183. package/lib/cjs/internal/ChannelAdmin.d.ts.map +1 -1
  184. package/lib/cjs/internal/ChannelAdmin.js +5 -3
  185. package/lib/cjs/internal/ChannelAdmin.js.map +1 -1
  186. package/lib/cjs/internal/ElementLRUCache.js.map +1 -1
  187. package/lib/cjs/internal/FontFileImpl.js.map +1 -1
  188. package/lib/cjs/internal/HubMock.d.ts +2 -0
  189. package/lib/cjs/internal/HubMock.d.ts.map +1 -1
  190. package/lib/cjs/internal/HubMock.js +7 -0
  191. package/lib/cjs/internal/HubMock.js.map +1 -1
  192. package/lib/cjs/internal/IModelDbFontsImpl.js.map +1 -1
  193. package/lib/cjs/internal/IntegrityCheck.js.map +1 -1
  194. package/lib/cjs/internal/NativePlatform.js.map +1 -1
  195. package/lib/cjs/internal/NoLocks.d.ts.map +1 -1
  196. package/lib/cjs/internal/NoLocks.js +6 -0
  197. package/lib/cjs/internal/NoLocks.js.map +1 -1
  198. package/lib/cjs/internal/OnlineStatus.js.map +1 -1
  199. package/lib/cjs/internal/ServerBasedLocks.d.ts +12 -0
  200. package/lib/cjs/internal/ServerBasedLocks.d.ts.map +1 -1
  201. package/lib/cjs/internal/ServerBasedLocks.js +285 -4
  202. package/lib/cjs/internal/ServerBasedLocks.js.map +1 -1
  203. package/lib/cjs/internal/Symbols.d.ts +4 -0
  204. package/lib/cjs/internal/Symbols.d.ts.map +1 -1
  205. package/lib/cjs/internal/Symbols.js +5 -1
  206. package/lib/cjs/internal/Symbols.js.map +1 -1
  207. package/lib/cjs/internal/annotations/fields.d.ts +3 -2
  208. package/lib/cjs/internal/annotations/fields.d.ts.map +1 -1
  209. package/lib/cjs/internal/annotations/fields.js +7 -6
  210. package/lib/cjs/internal/annotations/fields.js.map +1 -1
  211. package/lib/cjs/internal/cross-package.js.map +1 -1
  212. package/lib/cjs/internal/workspace/SettingsEditorImpl.d.ts +18 -3
  213. package/lib/cjs/internal/workspace/SettingsEditorImpl.d.ts.map +1 -1
  214. package/lib/cjs/internal/workspace/SettingsEditorImpl.js +49 -242
  215. package/lib/cjs/internal/workspace/SettingsEditorImpl.js.map +1 -1
  216. package/lib/cjs/internal/workspace/SettingsImpl.d.ts.map +1 -1
  217. package/lib/cjs/internal/workspace/SettingsImpl.js.map +1 -1
  218. package/lib/cjs/internal/workspace/SettingsSchemasImpl.js.map +1 -1
  219. package/lib/cjs/internal/workspace/WorkspaceImpl.d.ts +0 -1
  220. package/lib/cjs/internal/workspace/WorkspaceImpl.d.ts.map +1 -1
  221. package/lib/cjs/internal/workspace/WorkspaceImpl.js +70 -41
  222. package/lib/cjs/internal/workspace/WorkspaceImpl.js.map +1 -1
  223. package/lib/cjs/internal/workspace/WorkspaceSqliteDb.js.map +1 -1
  224. package/lib/cjs/rpc/multipart.js.map +1 -1
  225. package/lib/cjs/rpc/tracing.js.map +1 -1
  226. package/lib/cjs/rpc/web/logging.js.map +1 -1
  227. package/lib/cjs/rpc/web/request.js.map +1 -1
  228. package/lib/cjs/rpc/web/response.js.map +1 -1
  229. package/lib/cjs/rpc-impl/DevToolsRpcImpl.js.map +1 -1
  230. package/lib/cjs/rpc-impl/IModelReadRpcImpl.js.map +1 -1
  231. package/lib/cjs/rpc-impl/IModelTileRpcImpl.js.map +1 -1
  232. package/lib/cjs/rpc-impl/RpcBriefcaseUtility.d.ts.map +1 -1
  233. package/lib/cjs/rpc-impl/RpcBriefcaseUtility.js.map +1 -1
  234. package/lib/cjs/rpc-impl/SnapshotIModelRpcImpl.js.map +1 -1
  235. package/lib/cjs/workspace/Settings.d.ts +11 -5
  236. package/lib/cjs/workspace/Settings.d.ts.map +1 -1
  237. package/lib/cjs/workspace/Settings.js.map +1 -1
  238. package/lib/cjs/workspace/SettingsDb.d.ts +20 -99
  239. package/lib/cjs/workspace/SettingsDb.d.ts.map +1 -1
  240. package/lib/cjs/workspace/SettingsDb.js +23 -7
  241. package/lib/cjs/workspace/SettingsDb.js.map +1 -1
  242. package/lib/cjs/workspace/SettingsEditor.d.ts +40 -226
  243. package/lib/cjs/workspace/SettingsEditor.d.ts.map +1 -1
  244. package/lib/cjs/workspace/SettingsEditor.js +86 -25
  245. package/lib/cjs/workspace/SettingsEditor.js.map +1 -1
  246. package/lib/cjs/workspace/SettingsSchemas.js.map +1 -1
  247. package/lib/cjs/workspace/Workspace.d.ts +7 -11
  248. package/lib/cjs/workspace/Workspace.d.ts.map +1 -1
  249. package/lib/cjs/workspace/Workspace.js.map +1 -1
  250. package/lib/cjs/workspace/WorkspaceEditor.d.ts +14 -0
  251. package/lib/cjs/workspace/WorkspaceEditor.d.ts.map +1 -1
  252. package/lib/cjs/workspace/WorkspaceEditor.js +1 -1
  253. package/lib/cjs/workspace/WorkspaceEditor.js.map +1 -1
  254. package/lib/esm/BackendHubAccess.d.ts +38 -0
  255. package/lib/esm/BackendHubAccess.d.ts.map +1 -1
  256. package/lib/esm/BackendHubAccess.js.map +1 -1
  257. package/lib/esm/BackendLoggerCategory.js.map +1 -1
  258. package/lib/esm/BisCoreSchema.js.map +1 -1
  259. package/lib/esm/BlobContainerService.js.map +1 -1
  260. package/lib/esm/BriefcaseManager.js +3 -3
  261. package/lib/esm/BriefcaseManager.js.map +1 -1
  262. package/lib/esm/CatalogDb.js.map +1 -1
  263. package/lib/esm/Category.d.ts +37 -7
  264. package/lib/esm/Category.d.ts.map +1 -1
  265. package/lib/esm/Category.js +33 -42
  266. package/lib/esm/Category.js.map +1 -1
  267. package/lib/esm/ChangeSummaryManager.js +2 -2
  268. package/lib/esm/ChangeSummaryManager.js.map +1 -1
  269. package/lib/esm/ChangedElementsDb.js.map +1 -1
  270. package/lib/esm/ChangesetECAdaptor.d.ts.map +1 -1
  271. package/lib/esm/ChangesetECAdaptor.js +253 -250
  272. package/lib/esm/ChangesetECAdaptor.js.map +1 -1
  273. package/lib/esm/ChannelControl.d.ts +29 -0
  274. package/lib/esm/ChannelControl.d.ts.map +1 -1
  275. package/lib/esm/ChannelControl.js.map +1 -1
  276. package/lib/esm/CheckpointManager.js +1 -1
  277. package/lib/esm/CheckpointManager.js.map +1 -1
  278. package/lib/esm/ClassRegistry.js +5 -5
  279. package/lib/esm/ClassRegistry.js.map +1 -1
  280. package/lib/esm/CloudSqlite.d.ts +1 -1
  281. package/lib/esm/CloudSqlite.d.ts.map +1 -1
  282. package/lib/esm/CloudSqlite.js +69 -14
  283. package/lib/esm/CloudSqlite.js.map +1 -1
  284. package/lib/esm/CodeService.js.map +1 -1
  285. package/lib/esm/CodeSpecs.d.ts +32 -3
  286. package/lib/esm/CodeSpecs.d.ts.map +1 -1
  287. package/lib/esm/CodeSpecs.js +49 -21
  288. package/lib/esm/CodeSpecs.js.map +1 -1
  289. package/lib/esm/ConcurrentQuery.js.map +1 -1
  290. package/lib/esm/CustomViewState3dCreator.js.map +1 -1
  291. package/lib/esm/DevTools.js.map +1 -1
  292. package/lib/esm/DisplayStyle.d.ts +18 -3
  293. package/lib/esm/DisplayStyle.d.ts.map +1 -1
  294. package/lib/esm/DisplayStyle.js +10 -21
  295. package/lib/esm/DisplayStyle.js.map +1 -1
  296. package/lib/esm/ECDb.js.map +1 -1
  297. package/lib/esm/ECSchemaXmlContext.js.map +1 -1
  298. package/lib/esm/ECSqlRowExecutor.js.map +1 -1
  299. package/lib/esm/ECSqlStatement.js.map +1 -1
  300. package/lib/esm/ECSqlSyncReader.js.map +1 -1
  301. package/lib/esm/EditTxn.d.ts +262 -0
  302. package/lib/esm/EditTxn.d.ts.map +1 -0
  303. package/lib/esm/EditTxn.js +543 -0
  304. package/lib/esm/EditTxn.js.map +1 -0
  305. package/lib/esm/Element.d.ts +74 -5
  306. package/lib/esm/Element.d.ts.map +1 -1
  307. package/lib/esm/Element.js +64 -76
  308. package/lib/esm/Element.js.map +1 -1
  309. package/lib/esm/ElementAspect.d.ts +10 -0
  310. package/lib/esm/ElementAspect.d.ts.map +1 -1
  311. package/lib/esm/ElementAspect.js +22 -13
  312. package/lib/esm/ElementAspect.js.map +1 -1
  313. package/lib/esm/ElementGraphics.js.map +1 -1
  314. package/lib/esm/ElementTreeWalker.d.ts +56 -3
  315. package/lib/esm/ElementTreeWalker.d.ts.map +1 -1
  316. package/lib/esm/ElementTreeWalker.js +53 -40
  317. package/lib/esm/ElementTreeWalker.js.map +1 -1
  318. package/lib/esm/Entity.js.map +1 -1
  319. package/lib/esm/EntityReferences.js.map +1 -1
  320. package/lib/esm/ExportGraphics.js.map +1 -1
  321. package/lib/esm/ExternalSource.d.ts +11 -2
  322. package/lib/esm/ExternalSource.d.ts.map +1 -1
  323. package/lib/esm/ExternalSource.js +10 -8
  324. package/lib/esm/ExternalSource.js.map +1 -1
  325. package/lib/esm/FontFile.js.map +1 -1
  326. package/lib/esm/GeoCoordConfig.js.map +1 -1
  327. package/lib/esm/GeographicCRSServices.js.map +1 -1
  328. package/lib/esm/GeometrySummary.js +47 -47
  329. package/lib/esm/GeometrySummary.js.map +1 -1
  330. package/lib/esm/IModelDb.d.ts +74 -23
  331. package/lib/esm/IModelDb.d.ts.map +1 -1
  332. package/lib/esm/IModelDb.js +195 -299
  333. package/lib/esm/IModelDb.js.map +1 -1
  334. package/lib/esm/IModelDbFonts.js.map +1 -1
  335. package/lib/esm/IModelElementCloneContext.js.map +1 -1
  336. package/lib/esm/IModelHost.d.ts +58 -1
  337. package/lib/esm/IModelHost.d.ts.map +1 -1
  338. package/lib/esm/IModelHost.js +91 -2
  339. package/lib/esm/IModelHost.js.map +1 -1
  340. package/lib/esm/IModelIncrementalSchemaLocater.js.map +1 -1
  341. package/lib/esm/IModelJsFs.js.map +1 -1
  342. package/lib/esm/ImageSourceConversion.js.map +1 -1
  343. package/lib/esm/IpcHost.d.ts.map +1 -1
  344. package/lib/esm/IpcHost.js +36 -16
  345. package/lib/esm/IpcHost.js.map +1 -1
  346. package/lib/esm/LineStyle.d.ts +47 -7
  347. package/lib/esm/LineStyle.d.ts.map +1 -1
  348. package/lib/esm/LineStyle.js +38 -33
  349. package/lib/esm/LineStyle.js.map +1 -1
  350. package/lib/esm/LocalHub.js +1 -1
  351. package/lib/esm/LocalHub.js.map +1 -1
  352. package/lib/esm/LocalhostIpcHost.js.map +1 -1
  353. package/lib/esm/LockControl.d.ts +85 -1
  354. package/lib/esm/LockControl.d.ts.map +1 -1
  355. package/lib/esm/LockControl.js.map +1 -1
  356. package/lib/esm/Material.d.ts +8 -1
  357. package/lib/esm/Material.d.ts.map +1 -1
  358. package/lib/esm/Material.js +6 -12
  359. package/lib/esm/Material.js.map +1 -1
  360. package/lib/esm/Model.d.ts +59 -20
  361. package/lib/esm/Model.d.ts.map +1 -1
  362. package/lib/esm/Model.js +39 -81
  363. package/lib/esm/Model.js.map +1 -1
  364. package/lib/esm/NativeAppStorage.js.map +1 -1
  365. package/lib/esm/NativeHost.js.map +1 -1
  366. package/lib/esm/NavigationRelationship.js.map +1 -1
  367. package/lib/esm/PromiseMemoizer.js.map +1 -1
  368. package/lib/esm/PropertyStore.js.map +1 -1
  369. package/lib/esm/Relationship.d.ts +72 -7
  370. package/lib/esm/Relationship.d.ts.map +1 -1
  371. package/lib/esm/Relationship.js +40 -22
  372. package/lib/esm/Relationship.js.map +1 -1
  373. package/lib/esm/RpcBackend.js.map +1 -1
  374. package/lib/esm/SQLiteDb.js.map +1 -1
  375. package/lib/esm/Schema.js.map +1 -1
  376. package/lib/esm/SchemaSync.js +5 -5
  377. package/lib/esm/SchemaSync.js.map +1 -1
  378. package/lib/esm/SchemaUtils.js.map +1 -1
  379. package/lib/esm/SheetIndex.d.ts +9 -0
  380. package/lib/esm/SheetIndex.d.ts.map +1 -1
  381. package/lib/esm/SheetIndex.js +38 -35
  382. package/lib/esm/SheetIndex.js.map +1 -1
  383. package/lib/esm/SqliteChangesetReader.js.map +1 -1
  384. package/lib/esm/SqliteStatement.js.map +1 -1
  385. package/lib/esm/StashManager.js +1 -1
  386. package/lib/esm/StashManager.js.map +1 -1
  387. package/lib/esm/Texture.d.ts +6 -0
  388. package/lib/esm/Texture.d.ts.map +1 -1
  389. package/lib/esm/Texture.js +6 -14
  390. package/lib/esm/Texture.js.map +1 -1
  391. package/lib/esm/TileStorage.js.map +1 -1
  392. package/lib/esm/TxnManager.d.ts +105 -9
  393. package/lib/esm/TxnManager.d.ts.map +1 -1
  394. package/lib/esm/TxnManager.js +194 -15
  395. package/lib/esm/TxnManager.js.map +1 -1
  396. package/lib/esm/ViewDefinition.d.ts +21 -1
  397. package/lib/esm/ViewDefinition.d.ts.map +1 -1
  398. package/lib/esm/ViewDefinition.js +27 -66
  399. package/lib/esm/ViewDefinition.js.map +1 -1
  400. package/lib/esm/ViewStateHydrator.js.map +1 -1
  401. package/lib/esm/ViewStore.js.map +1 -1
  402. package/lib/esm/annotations/ElementDrivesTextAnnotation.d.ts +14 -6
  403. package/lib/esm/annotations/ElementDrivesTextAnnotation.d.ts.map +1 -1
  404. package/lib/esm/annotations/ElementDrivesTextAnnotation.js +33 -27
  405. package/lib/esm/annotations/ElementDrivesTextAnnotation.js.map +1 -1
  406. package/lib/esm/annotations/FrameGeometry.js.map +1 -1
  407. package/lib/esm/annotations/LeaderGeometry.js.map +1 -1
  408. package/lib/esm/annotations/TextAnnotationElement.d.ts.map +1 -1
  409. package/lib/esm/annotations/TextAnnotationElement.js +6 -5
  410. package/lib/esm/annotations/TextAnnotationElement.js.map +1 -1
  411. package/lib/esm/annotations/TextAnnotationGeometry.js.map +1 -1
  412. package/lib/esm/annotations/TextBlockGeometry.js.map +1 -1
  413. package/lib/esm/annotations/TextBlockLayout.js.map +1 -1
  414. package/lib/esm/core-backend.d.ts +1 -0
  415. package/lib/esm/core-backend.d.ts.map +1 -1
  416. package/lib/esm/core-backend.js +1 -0
  417. package/lib/esm/core-backend.js.map +1 -1
  418. package/lib/esm/domains/FunctionalElements.d.ts +6 -2
  419. package/lib/esm/domains/FunctionalElements.d.ts.map +1 -1
  420. package/lib/esm/domains/FunctionalElements.js +8 -13
  421. package/lib/esm/domains/FunctionalElements.js.map +1 -1
  422. package/lib/esm/domains/FunctionalSchema.js.map +1 -1
  423. package/lib/esm/domains/GenericElements.d.ts +11 -4
  424. package/lib/esm/domains/GenericElements.d.ts.map +1 -1
  425. package/lib/esm/domains/GenericElements.js +13 -24
  426. package/lib/esm/domains/GenericElements.js.map +1 -1
  427. package/lib/esm/domains/GenericSchema.js.map +1 -1
  428. package/lib/esm/internal/ChangesetConflictArgs.js.map +1 -1
  429. package/lib/esm/internal/ChannelAdmin.d.ts +15 -0
  430. package/lib/esm/internal/ChannelAdmin.d.ts.map +1 -1
  431. package/lib/esm/internal/ChannelAdmin.js +6 -4
  432. package/lib/esm/internal/ChannelAdmin.js.map +1 -1
  433. package/lib/esm/internal/ElementLRUCache.js.map +1 -1
  434. package/lib/esm/internal/FontFileImpl.js.map +1 -1
  435. package/lib/esm/internal/HubMock.d.ts +2 -0
  436. package/lib/esm/internal/HubMock.d.ts.map +1 -1
  437. package/lib/esm/internal/HubMock.js +7 -0
  438. package/lib/esm/internal/HubMock.js.map +1 -1
  439. package/lib/esm/internal/IModelDbFontsImpl.js.map +1 -1
  440. package/lib/esm/internal/IntegrityCheck.js.map +1 -1
  441. package/lib/esm/internal/NativePlatform.js.map +1 -1
  442. package/lib/esm/internal/NoLocks.d.ts.map +1 -1
  443. package/lib/esm/internal/NoLocks.js +6 -0
  444. package/lib/esm/internal/NoLocks.js.map +1 -1
  445. package/lib/esm/internal/OnlineStatus.js.map +1 -1
  446. package/lib/esm/internal/ServerBasedLocks.d.ts +12 -0
  447. package/lib/esm/internal/ServerBasedLocks.d.ts.map +1 -1
  448. package/lib/esm/internal/ServerBasedLocks.js +286 -5
  449. package/lib/esm/internal/ServerBasedLocks.js.map +1 -1
  450. package/lib/esm/internal/Symbols.d.ts +4 -0
  451. package/lib/esm/internal/Symbols.d.ts.map +1 -1
  452. package/lib/esm/internal/Symbols.js +4 -0
  453. package/lib/esm/internal/Symbols.js.map +1 -1
  454. package/lib/esm/internal/annotations/fields.d.ts +3 -2
  455. package/lib/esm/internal/annotations/fields.d.ts.map +1 -1
  456. package/lib/esm/internal/annotations/fields.js +7 -6
  457. package/lib/esm/internal/annotations/fields.js.map +1 -1
  458. package/lib/esm/internal/cross-package.js.map +1 -1
  459. package/lib/esm/internal/workspace/SettingsEditorImpl.d.ts +18 -3
  460. package/lib/esm/internal/workspace/SettingsEditorImpl.d.ts.map +1 -1
  461. package/lib/esm/internal/workspace/SettingsEditorImpl.js +52 -246
  462. package/lib/esm/internal/workspace/SettingsEditorImpl.js.map +1 -1
  463. package/lib/esm/internal/workspace/SettingsImpl.d.ts.map +1 -1
  464. package/lib/esm/internal/workspace/SettingsImpl.js.map +1 -1
  465. package/lib/esm/internal/workspace/SettingsSchemasImpl.js.map +1 -1
  466. package/lib/esm/internal/workspace/WorkspaceImpl.d.ts +0 -1
  467. package/lib/esm/internal/workspace/WorkspaceImpl.d.ts.map +1 -1
  468. package/lib/esm/internal/workspace/WorkspaceImpl.js +71 -41
  469. package/lib/esm/internal/workspace/WorkspaceImpl.js.map +1 -1
  470. package/lib/esm/internal/workspace/WorkspaceSqliteDb.js.map +1 -1
  471. package/lib/esm/rpc/multipart.js.map +1 -1
  472. package/lib/esm/rpc/tracing.js.map +1 -1
  473. package/lib/esm/rpc/web/logging.js.map +1 -1
  474. package/lib/esm/rpc/web/request.js.map +1 -1
  475. package/lib/esm/rpc/web/response.js.map +1 -1
  476. package/lib/esm/rpc-impl/DevToolsRpcImpl.js.map +1 -1
  477. package/lib/esm/rpc-impl/IModelReadRpcImpl.js.map +1 -1
  478. package/lib/esm/rpc-impl/IModelTileRpcImpl.js.map +1 -1
  479. package/lib/esm/rpc-impl/RpcBriefcaseUtility.d.ts.map +1 -1
  480. package/lib/esm/rpc-impl/RpcBriefcaseUtility.js.map +1 -1
  481. package/lib/esm/rpc-impl/SnapshotIModelRpcImpl.js.map +1 -1
  482. package/lib/esm/test/AdvancedEqual.js.map +1 -1
  483. package/lib/esm/test/AnnotationTestUtils.js.map +1 -1
  484. package/lib/esm/test/AttachDb.test.js +11 -11
  485. package/lib/esm/test/AttachDb.test.js.map +1 -1
  486. package/lib/esm/test/ElementDrivesElement.test.d.ts +20 -19
  487. package/lib/esm/test/ElementDrivesElement.test.d.ts.map +1 -1
  488. package/lib/esm/test/ElementDrivesElement.test.js +134 -119
  489. package/lib/esm/test/ElementDrivesElement.test.js.map +1 -1
  490. package/lib/esm/test/ElementLRUCache.test.js.map +1 -1
  491. package/lib/esm/test/GeometryTestUtil.js.map +1 -1
  492. package/lib/esm/test/IModelHost.test.js +56 -2
  493. package/lib/esm/test/IModelHost.test.js.map +1 -1
  494. package/lib/esm/test/IModelTestUtils.d.ts +23 -23
  495. package/lib/esm/test/IModelTestUtils.d.ts.map +1 -1
  496. package/lib/esm/test/IModelTestUtils.js +466 -449
  497. package/lib/esm/test/IModelTestUtils.js.map +1 -1
  498. package/lib/esm/test/ImageSourceConversion.test.js.map +1 -1
  499. package/lib/esm/test/IpcHost.test.js +112 -0
  500. package/lib/esm/test/IpcHost.test.js.map +1 -1
  501. package/lib/esm/test/KnownTestLocations.js.map +1 -1
  502. package/lib/esm/test/PrintElementTree.js.map +1 -1
  503. package/lib/esm/test/PropertyDb.test.js +2 -2
  504. package/lib/esm/test/PropertyDb.test.js.map +1 -1
  505. package/lib/esm/test/RevisionUtility.js.map +1 -1
  506. package/lib/esm/test/SchemaUtils.test.js +25 -25
  507. package/lib/esm/test/SchemaUtils.test.js.map +1 -1
  508. package/lib/esm/test/SequentialLogMatcher.js.map +1 -1
  509. package/lib/esm/test/SquashSchemaAndDataChanges.test.js +156 -147
  510. package/lib/esm/test/SquashSchemaAndDataChanges.test.js.map +1 -1
  511. package/lib/esm/test/TestChangeSetUtility.d.ts.map +1 -1
  512. package/lib/esm/test/TestChangeSetUtility.js +11 -7
  513. package/lib/esm/test/TestChangeSetUtility.js.map +1 -1
  514. package/lib/esm/test/TestEditTxn.d.ts +8 -0
  515. package/lib/esm/test/TestEditTxn.d.ts.map +1 -0
  516. package/lib/esm/test/TestEditTxn.js +34 -0
  517. package/lib/esm/test/TestEditTxn.js.map +1 -0
  518. package/lib/esm/test/TestUtils.d.ts +1 -0
  519. package/lib/esm/test/TestUtils.d.ts.map +1 -1
  520. package/lib/esm/test/TestUtils.js +8 -1
  521. package/lib/esm/test/TestUtils.js.map +1 -1
  522. package/lib/esm/test/annotations/Fields.test.js +135 -143
  523. package/lib/esm/test/annotations/Fields.test.js.map +1 -1
  524. package/lib/esm/test/annotations/FrameGeometry.test.js.map +1 -1
  525. package/lib/esm/test/annotations/LeaderGeometry.test.js.map +1 -1
  526. package/lib/esm/test/annotations/TextAnnotation.test.js +156 -99
  527. package/lib/esm/test/annotations/TextAnnotation.test.js.map +1 -1
  528. package/lib/esm/test/annotations/TextBlock.test.js +5 -3
  529. package/lib/esm/test/annotations/TextBlock.test.js.map +1 -1
  530. package/lib/esm/test/assets/IncrementalSchemaLocater/configs/old.config.js.map +1 -1
  531. package/lib/esm/test/assets/IncrementalSchemaLocater/configs/simple.config.js.map +1 -1
  532. package/lib/esm/test/categories/Category.test.js +63 -3
  533. package/lib/esm/test/categories/Category.test.js.map +1 -1
  534. package/lib/esm/test/codespec/CodeSpec.test.js +88 -5
  535. package/lib/esm/test/codespec/CodeSpec.test.js.map +1 -1
  536. package/lib/esm/test/ecdb/CTE.test.js +88 -88
  537. package/lib/esm/test/ecdb/CTE.test.js.map +1 -1
  538. package/lib/esm/test/ecdb/ConcurrentQuery.test.js +19 -19
  539. package/lib/esm/test/ecdb/ConcurrentQuery.test.js.map +1 -1
  540. package/lib/esm/test/ecdb/ConcurrentQueryLoad.test.js +15 -15
  541. package/lib/esm/test/ecdb/ConcurrentQueryLoad.test.js.map +1 -1
  542. package/lib/esm/test/ecdb/ECDb.test.js +72 -72
  543. package/lib/esm/test/ecdb/ECDb.test.js.map +1 -1
  544. package/lib/esm/test/ecdb/ECDbTestHelper.js.map +1 -1
  545. package/lib/esm/test/ecdb/ECSchemaXmlContext.test.js.map +1 -1
  546. package/lib/esm/test/ecdb/ECSqlAst.test.js +68 -67
  547. package/lib/esm/test/ecdb/ECSqlAst.test.js.map +1 -1
  548. package/lib/esm/test/ecdb/ECSqlQuery.test.js +6 -6
  549. package/lib/esm/test/ecdb/ECSqlQuery.test.js.map +1 -1
  550. package/lib/esm/test/ecdb/ECSqlStatement.test.js +332 -333
  551. package/lib/esm/test/ecdb/ECSqlStatement.test.js.map +1 -1
  552. package/lib/esm/test/ecdb/ECSqlSyncReader.test.js.map +1 -1
  553. package/lib/esm/test/ecdb/QueryReaders.test.js +47 -44
  554. package/lib/esm/test/ecdb/QueryReaders.test.js.map +1 -1
  555. package/lib/esm/test/ecdb/SqliteStatement.test.js +2 -2
  556. package/lib/esm/test/ecdb/SqliteStatement.test.js.map +1 -1
  557. package/lib/esm/test/ecsql/dataset/ECSqlDatasets.d.ts.map +1 -1
  558. package/lib/esm/test/ecsql/dataset/ECSqlDatasets.js +30 -28
  559. package/lib/esm/test/ecsql/dataset/ECSqlDatasets.js.map +1 -1
  560. package/lib/esm/test/ecsql/src/ECSqlTestGenerator.js +21 -21
  561. package/lib/esm/test/ecsql/src/ECSqlTestGenerator.js.map +1 -1
  562. package/lib/esm/test/ecsql/src/ECSqlTestParser.js.map +1 -1
  563. package/lib/esm/test/ecsql/src/ECSqlTestRunner.test.js.map +1 -1
  564. package/lib/esm/test/element/DeleteDefinitionElements.test.js +159 -143
  565. package/lib/esm/test/element/DeleteDefinitionElements.test.js.map +1 -1
  566. package/lib/esm/test/element/ElementAspect.test.js +90 -82
  567. package/lib/esm/test/element/ElementAspect.test.js.map +1 -1
  568. package/lib/esm/test/element/ElementDependencyGraph.test.d.ts.map +1 -1
  569. package/lib/esm/test/element/ElementDependencyGraph.test.js +51 -43
  570. package/lib/esm/test/element/ElementDependencyGraph.test.js.map +1 -1
  571. package/lib/esm/test/element/ElementRoundTrip.test.js +176 -177
  572. package/lib/esm/test/element/ElementRoundTrip.test.js.map +1 -1
  573. package/lib/esm/test/element/ExcludedElements.test.js +2 -2
  574. package/lib/esm/test/element/ExcludedElements.test.js.map +1 -1
  575. package/lib/esm/test/element/ExternalSource.test.js +40 -38
  576. package/lib/esm/test/element/ExternalSource.test.js.map +1 -1
  577. package/lib/esm/test/element/NullStructArray.test.js +23 -22
  578. package/lib/esm/test/element/NullStructArray.test.js.map +1 -1
  579. package/lib/esm/test/element/ProjectInformationRecord.test.js +5 -2
  580. package/lib/esm/test/element/ProjectInformationRecord.test.js.map +1 -1
  581. package/lib/esm/test/element/SheetInformationAspect.test.js +43 -11
  582. package/lib/esm/test/element/SheetInformationAspect.test.js.map +1 -1
  583. package/lib/esm/test/element/UrlLink.test.js +2 -2
  584. package/lib/esm/test/element/UrlLink.test.js.map +1 -1
  585. package/lib/esm/test/font/FontFile.test.js.map +1 -1
  586. package/lib/esm/test/font/IModelDbFonts.test.js +87 -73
  587. package/lib/esm/test/font/IModelDbFonts.test.js.map +1 -1
  588. package/lib/esm/test/hubaccess/ApplyChangeset.test.js +194 -155
  589. package/lib/esm/test/hubaccess/ApplyChangeset.test.js.map +1 -1
  590. package/lib/esm/test/hubaccess/BriefcaseManager.test.js +2 -4
  591. package/lib/esm/test/hubaccess/BriefcaseManager.test.js.map +1 -1
  592. package/lib/esm/test/hubaccess/CheckpointManager.test.js.map +1 -1
  593. package/lib/esm/test/hubaccess/Rebase.test.js +369 -303
  594. package/lib/esm/test/hubaccess/Rebase.test.js.map +1 -1
  595. package/lib/esm/test/hubaccess/SemanticRebase.test.js +467 -392
  596. package/lib/esm/test/hubaccess/SemanticRebase.test.js.map +1 -1
  597. package/lib/esm/test/imageData.js.map +1 -1
  598. package/lib/esm/test/imodel/Code.test.js +31 -31
  599. package/lib/esm/test/imodel/Code.test.js.map +1 -1
  600. package/lib/esm/test/imodel/ElementTreeWalker.test.js +57 -48
  601. package/lib/esm/test/imodel/ElementTreeWalker.test.js.map +1 -1
  602. package/lib/esm/test/imodel/GetTextureImage.test.js.map +1 -1
  603. package/lib/esm/test/imodel/IModel.test.js +463 -388
  604. package/lib/esm/test/imodel/IModel.test.js.map +1 -1
  605. package/lib/esm/test/imodel/ProjectExtents.test.js +2 -2
  606. package/lib/esm/test/imodel/ProjectExtents.test.js.map +1 -1
  607. package/lib/esm/test/imodel/SchemaXmlImport.test.js +77 -13
  608. package/lib/esm/test/imodel/SchemaXmlImport.test.js.map +1 -1
  609. package/lib/esm/test/incrementalSchemaLocater/ECSqlQueries.test.js.map +1 -1
  610. package/lib/esm/test/incrementalSchemaLocater/IncrementalLoading.test.js.map +1 -1
  611. package/lib/esm/test/incrementalSchemaLocater/TestContext.d.ts.map +1 -1
  612. package/lib/esm/test/incrementalSchemaLocater/TestContext.js +2 -2
  613. package/lib/esm/test/incrementalSchemaLocater/TestContext.js.map +1 -1
  614. package/lib/esm/test/index.d.ts +1 -0
  615. package/lib/esm/test/index.d.ts.map +1 -1
  616. package/lib/esm/test/index.js +1 -0
  617. package/lib/esm/test/index.js.map +1 -1
  618. package/lib/esm/test/misc/DevTools.test.js.map +1 -1
  619. package/lib/esm/test/misc/EntitySubClasses.test.js.map +1 -1
  620. package/lib/esm/test/misc/GeoServices.test.js.map +1 -1
  621. package/lib/esm/test/misc/PromiseMemoizer.test.js.map +1 -1
  622. package/lib/esm/test/native/DgnDbWorker.test.js.map +1 -1
  623. package/lib/esm/test/rpc/response.test.js.map +1 -1
  624. package/lib/esm/test/schema/ClassRegistry.test.js +122 -121
  625. package/lib/esm/test/schema/ClassRegistry.test.js.map +1 -1
  626. package/lib/esm/test/schema/FunctionalDomain.test.js +36 -34
  627. package/lib/esm/test/schema/FunctionalDomain.test.js.map +1 -1
  628. package/lib/esm/test/schema/GenericDomain.test.js +114 -94
  629. package/lib/esm/test/schema/GenericDomain.test.js.map +1 -1
  630. package/lib/esm/test/schema/IModelSchemaContext.test.js +11 -10
  631. package/lib/esm/test/schema/IModelSchemaContext.test.js.map +1 -1
  632. package/lib/esm/test/schema/SchemaImportCallbacks.test.js +226 -211
  633. package/lib/esm/test/schema/SchemaImportCallbacks.test.js.map +1 -1
  634. package/lib/esm/test/sheetindex/SheetIndex.test.d.ts +1 -3
  635. package/lib/esm/test/sheetindex/SheetIndex.test.d.ts.map +1 -1
  636. package/lib/esm/test/sheetindex/SheetIndex.test.js +312 -247
  637. package/lib/esm/test/sheetindex/SheetIndex.test.js.map +1 -1
  638. package/lib/esm/test/standalone/ChangeMerge.test.js +101 -82
  639. package/lib/esm/test/standalone/ChangeMerge.test.js.map +1 -1
  640. package/lib/esm/test/standalone/ChangesetReader.test.js +242 -213
  641. package/lib/esm/test/standalone/ChangesetReader.test.js.map +1 -1
  642. package/lib/esm/test/standalone/CustomViewState3dCreator.test.js.map +1 -1
  643. package/lib/esm/test/standalone/DisplayStyle.test.js +43 -40
  644. package/lib/esm/test/standalone/DisplayStyle.test.js.map +1 -1
  645. package/lib/esm/test/standalone/Drawing.test.js +4 -3
  646. package/lib/esm/test/standalone/Drawing.test.js.map +1 -1
  647. package/lib/esm/test/standalone/EditTxn.test.d.ts +2 -0
  648. package/lib/esm/test/standalone/EditTxn.test.d.ts.map +1 -0
  649. package/lib/esm/test/standalone/EditTxn.test.js +219 -0
  650. package/lib/esm/test/standalone/EditTxn.test.js.map +1 -0
  651. package/lib/esm/test/standalone/ElementGraphics.test.js.map +1 -1
  652. package/lib/esm/test/standalone/ElementMesh.test.js +16 -13
  653. package/lib/esm/test/standalone/ElementMesh.test.js.map +1 -1
  654. package/lib/esm/test/standalone/ExportGraphics.test.js +40 -34
  655. package/lib/esm/test/standalone/ExportGraphics.test.js.map +1 -1
  656. package/lib/esm/test/standalone/GeometryChangeEvents.test.js +11 -15
  657. package/lib/esm/test/standalone/GeometryChangeEvents.test.js.map +1 -1
  658. package/lib/esm/test/standalone/GeometryStream.test.js +212 -165
  659. package/lib/esm/test/standalone/GeometryStream.test.js.map +1 -1
  660. package/lib/esm/test/standalone/HubMock.test.js +31 -25
  661. package/lib/esm/test/standalone/HubMock.test.js.map +1 -1
  662. package/lib/esm/test/standalone/IModelLimits.test.js +11 -8
  663. package/lib/esm/test/standalone/IModelLimits.test.js.map +1 -1
  664. package/lib/esm/test/standalone/IModelWrite.test.d.ts +2 -2
  665. package/lib/esm/test/standalone/IModelWrite.test.d.ts.map +1 -1
  666. package/lib/esm/test/standalone/IModelWrite.test.js +211 -169
  667. package/lib/esm/test/standalone/IModelWrite.test.js.map +1 -1
  668. package/lib/esm/test/standalone/ITwinWorkspace.test.d.ts +2 -0
  669. package/lib/esm/test/standalone/ITwinWorkspace.test.d.ts.map +1 -0
  670. package/lib/esm/test/standalone/ITwinWorkspace.test.js +236 -0
  671. package/lib/esm/test/standalone/ITwinWorkspace.test.js.map +1 -0
  672. package/lib/esm/test/standalone/InlineGeometryPartReferences.test.js +25 -22
  673. package/lib/esm/test/standalone/InlineGeometryPartReferences.test.js.map +1 -1
  674. package/lib/esm/test/standalone/IntegrityCheck.test.js +20 -18
  675. package/lib/esm/test/standalone/IntegrityCheck.test.js.map +1 -1
  676. package/lib/esm/test/standalone/MergeConflict.test.d.ts +2 -2
  677. package/lib/esm/test/standalone/MergeConflict.test.d.ts.map +1 -1
  678. package/lib/esm/test/standalone/MergeConflict.test.js +49 -33
  679. package/lib/esm/test/standalone/MergeConflict.test.js.map +1 -1
  680. package/lib/esm/test/standalone/NativeAppStorage.test.js.map +1 -1
  681. package/lib/esm/test/standalone/RenderMaterialElement.test.js +5 -5
  682. package/lib/esm/test/standalone/RenderMaterialElement.test.js.map +1 -1
  683. package/lib/esm/test/standalone/RenderTimeline.test.js +3 -2
  684. package/lib/esm/test/standalone/RenderTimeline.test.js.map +1 -1
  685. package/lib/esm/test/standalone/SQLiteDb.test.js.map +1 -1
  686. package/lib/esm/test/standalone/SchemaUtils.test.js.map +1 -1
  687. package/lib/esm/test/standalone/SectionDrawing.test.js +7 -7
  688. package/lib/esm/test/standalone/SectionDrawing.test.js.map +1 -1
  689. package/lib/esm/test/standalone/ServerBasedLocks.test.js +928 -22
  690. package/lib/esm/test/standalone/ServerBasedLocks.test.js.map +1 -1
  691. package/lib/esm/test/standalone/Setting.test.js.map +1 -1
  692. package/lib/esm/test/standalone/Settings.test.js +26 -4
  693. package/lib/esm/test/standalone/Settings.test.js.map +1 -1
  694. package/lib/esm/test/standalone/SettingsSchemas.test.js +2 -1
  695. package/lib/esm/test/standalone/SettingsSchemas.test.js.map +1 -1
  696. package/lib/esm/test/standalone/SnapshotDb.test.js +3 -1
  697. package/lib/esm/test/standalone/SnapshotDb.test.js.map +1 -1
  698. package/lib/esm/test/standalone/StandaloneDb.test.js +27 -26
  699. package/lib/esm/test/standalone/StandaloneDb.test.js.map +1 -1
  700. package/lib/esm/test/standalone/Texture.test.js +5 -4
  701. package/lib/esm/test/standalone/Texture.test.js.map +1 -1
  702. package/lib/esm/test/standalone/TileCache.test.d.ts.map +1 -1
  703. package/lib/esm/test/standalone/TileCache.test.js +5 -3
  704. package/lib/esm/test/standalone/TileCache.test.js.map +1 -1
  705. package/lib/esm/test/standalone/TileTree.test.js +35 -31
  706. package/lib/esm/test/standalone/TileTree.test.js.map +1 -1
  707. package/lib/esm/test/standalone/TxnManager.test.js +700 -653
  708. package/lib/esm/test/standalone/TxnManager.test.js.map +1 -1
  709. package/lib/esm/test/standalone/ViewDefinition.test.js +295 -229
  710. package/lib/esm/test/standalone/ViewDefinition.test.js.map +1 -1
  711. package/lib/esm/test/standalone/ViewStoreDb.test.js.map +1 -1
  712. package/lib/esm/test/standalone/Workspace.test.js +72 -22
  713. package/lib/esm/test/standalone/Workspace.test.js.map +1 -1
  714. package/lib/esm/test/standalone/iModelDb.test.js.map +1 -1
  715. package/lib/esm/test/workspace/SettingsDb.test.js +28 -456
  716. package/lib/esm/test/workspace/SettingsDb.test.js.map +1 -1
  717. package/lib/esm/workspace/Settings.d.ts +11 -5
  718. package/lib/esm/workspace/Settings.d.ts.map +1 -1
  719. package/lib/esm/workspace/Settings.js.map +1 -1
  720. package/lib/esm/workspace/SettingsDb.d.ts +20 -99
  721. package/lib/esm/workspace/SettingsDb.d.ts.map +1 -1
  722. package/lib/esm/workspace/SettingsDb.js +20 -6
  723. package/lib/esm/workspace/SettingsDb.js.map +1 -1
  724. package/lib/esm/workspace/SettingsEditor.d.ts +40 -226
  725. package/lib/esm/workspace/SettingsEditor.d.ts.map +1 -1
  726. package/lib/esm/workspace/SettingsEditor.js +85 -24
  727. package/lib/esm/workspace/SettingsEditor.js.map +1 -1
  728. package/lib/esm/workspace/SettingsSchemas.js.map +1 -1
  729. package/lib/esm/workspace/Workspace.d.ts +7 -11
  730. package/lib/esm/workspace/Workspace.d.ts.map +1 -1
  731. package/lib/esm/workspace/Workspace.js.map +1 -1
  732. package/lib/esm/workspace/WorkspaceEditor.d.ts +14 -0
  733. package/lib/esm/workspace/WorkspaceEditor.d.ts.map +1 -1
  734. package/lib/esm/workspace/WorkspaceEditor.js +1 -1
  735. package/lib/esm/workspace/WorkspaceEditor.js.map +1 -1
  736. package/package.json +14 -14
  737. package/lib/cjs/internal/workspace/SettingsDbImpl.d.ts +0 -38
  738. package/lib/cjs/internal/workspace/SettingsDbImpl.d.ts.map +0 -1
  739. package/lib/cjs/internal/workspace/SettingsDbImpl.js +0 -108
  740. package/lib/cjs/internal/workspace/SettingsDbImpl.js.map +0 -1
  741. package/lib/cjs/internal/workspace/SettingsSqliteDb.d.ts +0 -14
  742. package/lib/cjs/internal/workspace/SettingsSqliteDb.d.ts.map +0 -1
  743. package/lib/cjs/internal/workspace/SettingsSqliteDb.js +0 -40
  744. package/lib/cjs/internal/workspace/SettingsSqliteDb.js.map +0 -1
  745. package/lib/esm/internal/workspace/SettingsDbImpl.d.ts +0 -38
  746. package/lib/esm/internal/workspace/SettingsDbImpl.d.ts.map +0 -1
  747. package/lib/esm/internal/workspace/SettingsDbImpl.js +0 -104
  748. package/lib/esm/internal/workspace/SettingsDbImpl.js.map +0 -1
  749. package/lib/esm/internal/workspace/SettingsSqliteDb.d.ts +0 -14
  750. package/lib/esm/internal/workspace/SettingsSqliteDb.d.ts.map +0 -1
  751. package/lib/esm/internal/workspace/SettingsSqliteDb.js +0 -36
  752. package/lib/esm/internal/workspace/SettingsSqliteDb.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"ChangedElementsDb.js","sourceRoot":"","sources":["../../src/ChangedElementsDb.ts"],"names":[],"mappings":"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","sourcesContent":["/*---------------------------------------------------------------------------------------------\n* Copyright (c) Bentley Systems, Incorporated. All rights reserved.\n* See LICENSE.md in the project root for license terms and full copyright notice.\n*--------------------------------------------------------------------------------------------*/\n/** @packageDocumentation\n * @module ChangedElementsDb\n */\n\nimport { AccessToken, DbResult, IModelStatus, OpenMode } from \"@itwin/core-bentley\";\nimport { ChangeData, ChangedElements, ChangedModels, IModelError } from \"@itwin/core-common\";\nimport { IModelJsNative } from \"@bentley/imodeljs-native\";\nimport { BriefcaseManager } from \"./BriefcaseManager\";\nimport { ECDbOpenMode } from \"./ECDb\";\nimport { IModelDb } from \"./IModelDb\";\nimport { IModelHost } from \"./IModelHost\";\nimport { IModelNative } from \"./internal/NativePlatform\";\nimport { _hubAccess, _nativeDb } from \"./internal/Symbols\";\n\n/**\n * Options for processChangesets function\n * @internal\n * */\nexport interface ProcessChangesetOptions {\n startChangesetId: string;\n endChangesetId: string;\n rulesetId: string;\n filterSpatial?: boolean;\n wantParents?: boolean;\n wantPropertyChecksums?: boolean;\n rulesetDir?: string;\n tempDir?: string;\n wantRelationshipCaching?: boolean;\n relationshipCacheSize?: number;\n wantChunkTraversal?: boolean;\n wantBoundingBoxes?: boolean;\n}\n\n/** An ChangedElementsDb file\n * @internal\n */\nexport class ChangedElementsDb implements Disposable {\n private _nativeDb: IModelJsNative.ChangedElementsECDb | undefined;\n\n constructor() {\n this._nativeDb = new IModelNative.platform.ChangedElementsECDb();\n }\n\n public [Symbol.dispose](): void {\n if (!this._nativeDb)\n return;\n\n this.closeDb();\n this._nativeDb.dispose();\n this._nativeDb = undefined;\n }\n\n /** Create a ChangedElementsDb\n * @param pathName The path to the ECDb file to create.\n * @throws [IModelError]($common) if the operation failed.\n */\n private _createDb(briefcase: IModelDb, pathName: string): void {\n const status: DbResult = this.nativeDb.createDb(briefcase[_nativeDb], pathName);\n if (status !== DbResult.BE_SQLITE_OK)\n throw new IModelError(status, \"Failed to created ECDb\");\n }\n\n /** Open the Changed Elements Db.\n * @param pathName The path to the ECDb file to open\n * @param openMode Open mode\n * @throws [IModelError]($common) if the operation failed.\n */\n private _openDb(pathName: string, openMode: ECDbOpenMode = ECDbOpenMode.Readonly): void {\n const nativeOpenMode = openMode === ECDbOpenMode.Readonly ? OpenMode.Readonly : OpenMode.ReadWrite;\n const tryUpgrade = openMode === ECDbOpenMode.FileUpgrade;\n const status = this.nativeDb.openDb(pathName, nativeOpenMode, tryUpgrade);\n if (status !== DbResult.BE_SQLITE_OK)\n throw new IModelError(status, \"Failed to open ECDb\");\n }\n\n /** Open the Changed Elements Db.\n * @param pathName The path to the ECDb file to open\n * @param openMode Open mode\n * @returns ChangedElementsDb\n */\n public static openDb(pathName: string, openMode: ECDbOpenMode = ECDbOpenMode.Readonly): ChangedElementsDb {\n const cacheDb = new ChangedElementsDb();\n cacheDb._openDb(pathName, openMode);\n return cacheDb;\n }\n\n /** Create the changed elements cache db\n * @param briefcase IModelDb to use\n * @param pathName The path to the ECDb file to create.\n * @returns The new cache db\n */\n public static createDb(briefcase: IModelDb, pathName: string): ChangedElementsDb {\n const cacheDb = new ChangedElementsDb();\n cacheDb._createDb(briefcase, pathName);\n return cacheDb;\n }\n\n /** Processes a range of changesets and adds it to the changed elements cache\n * @param briefcase iModel briefcase to use\n * @param options Options for processing\n */\n public async processChangesets(accessToken: AccessToken, briefcase: IModelDb, options: ProcessChangesetOptions): Promise<DbResult> {\n const iModelId = briefcase.iModelId;\n const first = (await IModelHost[_hubAccess].queryChangeset({ iModelId, changeset: { id: options.startChangesetId }, accessToken })).index;\n const end = (await IModelHost[_hubAccess].queryChangeset({ iModelId, changeset: { id: options.endChangesetId }, accessToken })).index;\n const changesets = await IModelHost[_hubAccess].downloadChangesets({ accessToken, iModelId, range: { first, end }, targetDir: BriefcaseManager.getChangeSetsPath(iModelId) });\n\n // ChangeSets need to be processed from newest to oldest\n changesets.reverse();\n const status = this.nativeDb.processChangesets(\n briefcase[_nativeDb],\n changesets,\n options.rulesetId,\n options.filterSpatial,\n options.wantParents,\n options.wantPropertyChecksums,\n options.rulesetDir,\n options.tempDir,\n options.wantChunkTraversal,\n );\n if (status !== DbResult.BE_SQLITE_OK)\n throw new IModelError(status, \"Failed to process changesets\");\n return status;\n }\n\n /** Processes a range of changesets and adds it to the changed elements cache\n * This call will close the IModelDb object as it is required for processing and applying changesets\n * @param briefcase iModel briefcase to use\n * @param options options for processing\n */\n public async processChangesetsAndRoll(accessToken: AccessToken, briefcase: IModelDb, options: ProcessChangesetOptions): Promise<DbResult> {\n const iModelId = briefcase.iModelId;\n const first = (await IModelHost[_hubAccess].queryChangeset({ iModelId, changeset: { id: options.startChangesetId }, accessToken })).index;\n const end = (await IModelHost[_hubAccess].queryChangeset({ iModelId, changeset: { id: options.endChangesetId }, accessToken })).index;\n const changesets = await IModelHost[_hubAccess].downloadChangesets({ accessToken, iModelId, range: { first, end }, targetDir: BriefcaseManager.getChangeSetsPath(iModelId) });\n\n // ChangeSets need to be processed from newest to oldest\n changesets.reverse();\n // Close briefcase before doing processing and rolling briefcase\n const dbFilename = briefcase.pathName;\n const dbGuid = briefcase.iModelId;\n briefcase.close();\n // Process changesets\n const status = this.nativeDb.processChangesetsAndRoll(\n dbFilename,\n dbGuid,\n changesets,\n options.rulesetId,\n options.filterSpatial,\n options.wantParents,\n options.wantPropertyChecksums,\n options.rulesetDir,\n options.tempDir,\n options.wantRelationshipCaching,\n options.relationshipCacheSize,\n options.wantChunkTraversal,\n options.wantBoundingBoxes,\n );\n if (status !== DbResult.BE_SQLITE_OK)\n throw new IModelError(status, \"Failed to process changesets\");\n return status;\n }\n\n /** Get changed elements between two changesets\n * @param startChangesetId Start Changeset Id\n * @param endChangesetId End Changeset Id\n * @returns Returns the changed elements between the changesets provided\n * @throws [IModelError]($common) if the operation failed.\n */\n public getChangedElements(startChangesetId: string, endChangesetId: string): ChangedElements | undefined {\n const result = this.nativeDb.getChangedElements(startChangesetId, endChangesetId);\n if (result.error || !result.result)\n throw new IModelError(result.error ? result.error.status : -1, result.error ? result.error.message : \"Problem getting changed elements\");\n return (result.result.changedElements) as ChangedElements;\n }\n\n /** Get changed models between two changesets\n * @param startChangesetId Start Changeset Id\n * @param endChangesetId End Changeset Id\n * @returns Returns the changed models between the changesets provided\n * @throws [IModelError]($common) if the operation failed.\n */\n public getChangedModels(startChangesetId: string, endChangesetId: string): ChangedModels | undefined {\n const result = this.nativeDb.getChangedElements(startChangesetId, endChangesetId);\n if (result.error || !result.result)\n throw new IModelError(result.error ? result.error.status : -1, result.error ? result.error.message : \"Problem getting changed models\");\n return (result.result.changedModels) as ChangedModels;\n }\n\n /** Get changed models between two changesets\n * @param startChangesetId Start Changeset Id\n * @param endChangesetId End Changeset Id\n * @returns Returns the changed models between the changesets provided\n * @throws [IModelError]($common) if the operation failed.\n */\n public getChangeData(startChangesetId: string, endChangesetId: string): ChangeData | undefined {\n const result = this.nativeDb.getChangedElements(startChangesetId, endChangesetId);\n if (result.error)\n throw new IModelError(result.error.status, result.error.message);\n return result.result as ChangeData;\n }\n\n /** Returns true if the Changed Elements Db is open */\n public get isOpen(): boolean { return this.nativeDb.isOpen(); }\n\n /** Returns true if the cache already contains this changeset Id */\n public isProcessed(changesetId: string): boolean { return this.nativeDb.isProcessed(changesetId); }\n\n /** Close the Db after saving any uncommitted changes.\n * @throws [IModelError]($common) if the database is not open.\n */\n public closeDb(): void {\n this.nativeDb.closeDb();\n }\n\n public cleanCaches(): void {\n this.nativeDb.cleanCaches();\n }\n\n /** @internal */\n public get nativeDb(): IModelJsNative.ChangedElementsECDb {\n if (!this._nativeDb)\n throw new IModelError(IModelStatus.BadRequest, \"ChangedElementsDb object has already been disposed.\");\n\n return this._nativeDb;\n }\n}\n"]}
1
+ {"version":3,"file":"ChangedElementsDb.js","sourceRoot":"","sources":["../../src/ChangedElementsDb.ts"],"names":[],"mappings":"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","sourcesContent":["/*---------------------------------------------------------------------------------------------\r\n* Copyright (c) Bentley Systems, Incorporated. All rights reserved.\r\n* See LICENSE.md in the project root for license terms and full copyright notice.\r\n*--------------------------------------------------------------------------------------------*/\r\n/** @packageDocumentation\r\n * @module ChangedElementsDb\r\n */\r\n\r\nimport { AccessToken, DbResult, IModelStatus, OpenMode } from \"@itwin/core-bentley\";\r\nimport { ChangeData, ChangedElements, ChangedModels, IModelError } from \"@itwin/core-common\";\r\nimport { IModelJsNative } from \"@bentley/imodeljs-native\";\r\nimport { BriefcaseManager } from \"./BriefcaseManager\";\r\nimport { ECDbOpenMode } from \"./ECDb\";\r\nimport { IModelDb } from \"./IModelDb\";\r\nimport { IModelHost } from \"./IModelHost\";\r\nimport { IModelNative } from \"./internal/NativePlatform\";\r\nimport { _hubAccess, _nativeDb } from \"./internal/Symbols\";\r\n\r\n/**\r\n * Options for processChangesets function\r\n * @internal\r\n * */\r\nexport interface ProcessChangesetOptions {\r\n startChangesetId: string;\r\n endChangesetId: string;\r\n rulesetId: string;\r\n filterSpatial?: boolean;\r\n wantParents?: boolean;\r\n wantPropertyChecksums?: boolean;\r\n rulesetDir?: string;\r\n tempDir?: string;\r\n wantRelationshipCaching?: boolean;\r\n relationshipCacheSize?: number;\r\n wantChunkTraversal?: boolean;\r\n wantBoundingBoxes?: boolean;\r\n}\r\n\r\n/** An ChangedElementsDb file\r\n * @internal\r\n */\r\nexport class ChangedElementsDb implements Disposable {\r\n private _nativeDb: IModelJsNative.ChangedElementsECDb | undefined;\r\n\r\n constructor() {\r\n this._nativeDb = new IModelNative.platform.ChangedElementsECDb();\r\n }\r\n\r\n public [Symbol.dispose](): void {\r\n if (!this._nativeDb)\r\n return;\r\n\r\n this.closeDb();\r\n this._nativeDb.dispose();\r\n this._nativeDb = undefined;\r\n }\r\n\r\n /** Create a ChangedElementsDb\r\n * @param pathName The path to the ECDb file to create.\r\n * @throws [IModelError]($common) if the operation failed.\r\n */\r\n private _createDb(briefcase: IModelDb, pathName: string): void {\r\n const status: DbResult = this.nativeDb.createDb(briefcase[_nativeDb], pathName);\r\n if (status !== DbResult.BE_SQLITE_OK)\r\n throw new IModelError(status, \"Failed to created ECDb\");\r\n }\r\n\r\n /** Open the Changed Elements Db.\r\n * @param pathName The path to the ECDb file to open\r\n * @param openMode Open mode\r\n * @throws [IModelError]($common) if the operation failed.\r\n */\r\n private _openDb(pathName: string, openMode: ECDbOpenMode = ECDbOpenMode.Readonly): void {\r\n const nativeOpenMode = openMode === ECDbOpenMode.Readonly ? OpenMode.Readonly : OpenMode.ReadWrite;\r\n const tryUpgrade = openMode === ECDbOpenMode.FileUpgrade;\r\n const status = this.nativeDb.openDb(pathName, nativeOpenMode, tryUpgrade);\r\n if (status !== DbResult.BE_SQLITE_OK)\r\n throw new IModelError(status, \"Failed to open ECDb\");\r\n }\r\n\r\n /** Open the Changed Elements Db.\r\n * @param pathName The path to the ECDb file to open\r\n * @param openMode Open mode\r\n * @returns ChangedElementsDb\r\n */\r\n public static openDb(pathName: string, openMode: ECDbOpenMode = ECDbOpenMode.Readonly): ChangedElementsDb {\r\n const cacheDb = new ChangedElementsDb();\r\n cacheDb._openDb(pathName, openMode);\r\n return cacheDb;\r\n }\r\n\r\n /** Create the changed elements cache db\r\n * @param briefcase IModelDb to use\r\n * @param pathName The path to the ECDb file to create.\r\n * @returns The new cache db\r\n */\r\n public static createDb(briefcase: IModelDb, pathName: string): ChangedElementsDb {\r\n const cacheDb = new ChangedElementsDb();\r\n cacheDb._createDb(briefcase, pathName);\r\n return cacheDb;\r\n }\r\n\r\n /** Processes a range of changesets and adds it to the changed elements cache\r\n * @param briefcase iModel briefcase to use\r\n * @param options Options for processing\r\n */\r\n public async processChangesets(accessToken: AccessToken, briefcase: IModelDb, options: ProcessChangesetOptions): Promise<DbResult> {\r\n const iModelId = briefcase.iModelId;\r\n const first = (await IModelHost[_hubAccess].queryChangeset({ iModelId, changeset: { id: options.startChangesetId }, accessToken })).index;\r\n const end = (await IModelHost[_hubAccess].queryChangeset({ iModelId, changeset: { id: options.endChangesetId }, accessToken })).index;\r\n const changesets = await IModelHost[_hubAccess].downloadChangesets({ accessToken, iModelId, range: { first, end }, targetDir: BriefcaseManager.getChangeSetsPath(iModelId) });\r\n\r\n // ChangeSets need to be processed from newest to oldest\r\n changesets.reverse();\r\n const status = this.nativeDb.processChangesets(\r\n briefcase[_nativeDb],\r\n changesets,\r\n options.rulesetId,\r\n options.filterSpatial,\r\n options.wantParents,\r\n options.wantPropertyChecksums,\r\n options.rulesetDir,\r\n options.tempDir,\r\n options.wantChunkTraversal,\r\n );\r\n if (status !== DbResult.BE_SQLITE_OK)\r\n throw new IModelError(status, \"Failed to process changesets\");\r\n return status;\r\n }\r\n\r\n /** Processes a range of changesets and adds it to the changed elements cache\r\n * This call will close the IModelDb object as it is required for processing and applying changesets\r\n * @param briefcase iModel briefcase to use\r\n * @param options options for processing\r\n */\r\n public async processChangesetsAndRoll(accessToken: AccessToken, briefcase: IModelDb, options: ProcessChangesetOptions): Promise<DbResult> {\r\n const iModelId = briefcase.iModelId;\r\n const first = (await IModelHost[_hubAccess].queryChangeset({ iModelId, changeset: { id: options.startChangesetId }, accessToken })).index;\r\n const end = (await IModelHost[_hubAccess].queryChangeset({ iModelId, changeset: { id: options.endChangesetId }, accessToken })).index;\r\n const changesets = await IModelHost[_hubAccess].downloadChangesets({ accessToken, iModelId, range: { first, end }, targetDir: BriefcaseManager.getChangeSetsPath(iModelId) });\r\n\r\n // ChangeSets need to be processed from newest to oldest\r\n changesets.reverse();\r\n // Close briefcase before doing processing and rolling briefcase\r\n const dbFilename = briefcase.pathName;\r\n const dbGuid = briefcase.iModelId;\r\n briefcase.close();\r\n // Process changesets\r\n const status = this.nativeDb.processChangesetsAndRoll(\r\n dbFilename,\r\n dbGuid,\r\n changesets,\r\n options.rulesetId,\r\n options.filterSpatial,\r\n options.wantParents,\r\n options.wantPropertyChecksums,\r\n options.rulesetDir,\r\n options.tempDir,\r\n options.wantRelationshipCaching,\r\n options.relationshipCacheSize,\r\n options.wantChunkTraversal,\r\n options.wantBoundingBoxes,\r\n );\r\n if (status !== DbResult.BE_SQLITE_OK)\r\n throw new IModelError(status, \"Failed to process changesets\");\r\n return status;\r\n }\r\n\r\n /** Get changed elements between two changesets\r\n * @param startChangesetId Start Changeset Id\r\n * @param endChangesetId End Changeset Id\r\n * @returns Returns the changed elements between the changesets provided\r\n * @throws [IModelError]($common) if the operation failed.\r\n */\r\n public getChangedElements(startChangesetId: string, endChangesetId: string): ChangedElements | undefined {\r\n const result = this.nativeDb.getChangedElements(startChangesetId, endChangesetId);\r\n if (result.error || !result.result)\r\n throw new IModelError(result.error ? result.error.status : -1, result.error ? result.error.message : \"Problem getting changed elements\");\r\n return (result.result.changedElements) as ChangedElements;\r\n }\r\n\r\n /** Get changed models between two changesets\r\n * @param startChangesetId Start Changeset Id\r\n * @param endChangesetId End Changeset Id\r\n * @returns Returns the changed models between the changesets provided\r\n * @throws [IModelError]($common) if the operation failed.\r\n */\r\n public getChangedModels(startChangesetId: string, endChangesetId: string): ChangedModels | undefined {\r\n const result = this.nativeDb.getChangedElements(startChangesetId, endChangesetId);\r\n if (result.error || !result.result)\r\n throw new IModelError(result.error ? result.error.status : -1, result.error ? result.error.message : \"Problem getting changed models\");\r\n return (result.result.changedModels) as ChangedModels;\r\n }\r\n\r\n /** Get changed models between two changesets\r\n * @param startChangesetId Start Changeset Id\r\n * @param endChangesetId End Changeset Id\r\n * @returns Returns the changed models between the changesets provided\r\n * @throws [IModelError]($common) if the operation failed.\r\n */\r\n public getChangeData(startChangesetId: string, endChangesetId: string): ChangeData | undefined {\r\n const result = this.nativeDb.getChangedElements(startChangesetId, endChangesetId);\r\n if (result.error)\r\n throw new IModelError(result.error.status, result.error.message);\r\n return result.result as ChangeData;\r\n }\r\n\r\n /** Returns true if the Changed Elements Db is open */\r\n public get isOpen(): boolean { return this.nativeDb.isOpen(); }\r\n\r\n /** Returns true if the cache already contains this changeset Id */\r\n public isProcessed(changesetId: string): boolean { return this.nativeDb.isProcessed(changesetId); }\r\n\r\n /** Close the Db after saving any uncommitted changes.\r\n * @throws [IModelError]($common) if the database is not open.\r\n */\r\n public closeDb(): void {\r\n this.nativeDb.closeDb();\r\n }\r\n\r\n public cleanCaches(): void {\r\n this.nativeDb.cleanCaches();\r\n }\r\n\r\n /** @internal */\r\n public get nativeDb(): IModelJsNative.ChangedElementsECDb {\r\n if (!this._nativeDb)\r\n throw new IModelError(IModelStatus.BadRequest, \"ChangedElementsDb object has already been disposed.\");\r\n\r\n return this._nativeDb;\r\n }\r\n}\r\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"ChangesetECAdaptor.d.ts","sourceRoot":"","sources":["../../src/ChangesetECAdaptor.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ChangesetECAdaptor.d.ts","sourceRoot":"","sources":["../../src/ChangesetECAdaptor.ts"],"names":[],"mappings":"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"}
@@ -11,6 +11,7 @@ exports.ChangesetECAdaptor = exports.PartialECChangeUnifier = exports.ECChangeUn
11
11
  const core_bentley_1 = require("@itwin/core-bentley");
12
12
  const core_common_1 = require("@itwin/core-common");
13
13
  const ECDb_1 = require("./ECDb");
14
+ const Symbols_1 = require("./internal/Symbols");
14
15
  class ECDbMap {
15
16
  db;
16
17
  _cachedClassMaps = new Map();
@@ -19,14 +20,14 @@ class ECDbMap {
19
20
  this.db = db;
20
21
  }
21
22
  getAllDerivedClasses(classFullName) {
22
- const sql = `
23
- SELECT format('0x%x', ch.ClassId)
24
- FROM [ec_cache_ClassHierarchy] [ch]
25
- JOIN [ec_Class] [cs] ON [cs].[Id] = [ch].[BaseClassId]
26
- JOIN [ec_Schema] [sc] ON [sc].[Id] = [cs].[SchemaId]
27
- WHERE (([sc].[Alias] = :schemaNameOrAlias
28
- OR [sc].[Name] = :schemaNameOrAlias)
29
- AND ([cs].[Name] = :className))
23
+ const sql = `
24
+ SELECT format('0x%x', ch.ClassId)
25
+ FROM [ec_cache_ClassHierarchy] [ch]
26
+ JOIN [ec_Class] [cs] ON [cs].[Id] = [ch].[BaseClassId]
27
+ JOIN [ec_Schema] [sc] ON [sc].[Id] = [cs].[SchemaId]
28
+ WHERE (([sc].[Alias] = :schemaNameOrAlias
29
+ OR [sc].[Name] = :schemaNameOrAlias)
30
+ AND ([cs].[Name] = :className))
30
31
  `;
31
32
  return this.db.withPreparedSqliteStatement(sql, (stmt) => {
32
33
  const parts = classFullName.indexOf(".") !== -1 ? classFullName.split(".") : classFullName.split(":");
@@ -41,39 +42,39 @@ class ECDbMap {
41
42
  getTable(tableName) {
42
43
  if (this._cacheTables.has(tableName))
43
44
  return this._cacheTables.get(tableName);
44
- const sql = `
45
- SELECT
46
- JSON_OBJECT (
47
- 'id', FORMAT ('0x%x', [t].[id]),
48
- 'name', [t].[Name],
49
- 'type', (
50
- CASE
51
- [t].[type]
52
- WHEN 0 THEN 'Primary'
53
- WHEN 1 THEN 'Joined'
54
- WHEN 2 THEN 'Existing'
55
- WHEN 3 THEN 'Overflow'
56
- WHEN 4 THEN 'Virtual'
57
- END
58
- ),
59
- 'exclusiveRootClassId', FORMAT ('0x%x',
60
- COALESCE (
61
- [t].[ExclusiveRootClassId], (
62
- SELECT [parent].[ExclusiveRootClassId]
63
- FROM [ec_Table] [parent]
64
- WHERE [parent].[Id] = [t].[ParentTableId] AND [parent].[Type] = 1))),
65
- 'isClassIdVirtual', (
66
- SELECT
67
- [c].[IsVirtual]
68
- FROM
69
- [ec_Column] [c]
70
- WHERE
71
- [c].[Name] = 'ECClassId' AND [c].[TableId] = [t].[Id]
72
- )
73
- )
74
- FROM [ec_Table] [t]
75
- WHERE
76
- [t].[Name] = ?;
45
+ const sql = `
46
+ SELECT
47
+ JSON_OBJECT (
48
+ 'id', FORMAT ('0x%x', [t].[id]),
49
+ 'name', [t].[Name],
50
+ 'type', (
51
+ CASE
52
+ [t].[type]
53
+ WHEN 0 THEN 'Primary'
54
+ WHEN 1 THEN 'Joined'
55
+ WHEN 2 THEN 'Existing'
56
+ WHEN 3 THEN 'Overflow'
57
+ WHEN 4 THEN 'Virtual'
58
+ END
59
+ ),
60
+ 'exclusiveRootClassId', FORMAT ('0x%x',
61
+ COALESCE (
62
+ [t].[ExclusiveRootClassId], (
63
+ SELECT [parent].[ExclusiveRootClassId]
64
+ FROM [ec_Table] [parent]
65
+ WHERE [parent].[Id] = [t].[ParentTableId] AND [parent].[Type] = 1))),
66
+ 'isClassIdVirtual', (
67
+ SELECT
68
+ [c].[IsVirtual]
69
+ FROM
70
+ [ec_Column] [c]
71
+ WHERE
72
+ [c].[Name] = 'ECClassId' AND [c].[TableId] = [t].[Id]
73
+ )
74
+ )
75
+ FROM [ec_Table] [t]
76
+ WHERE
77
+ [t].[Name] = ?;
77
78
  `;
78
79
  return this.db.withPreparedSqliteStatement(sql, (stmt) => {
79
80
  stmt.bindString(1, tableName);
@@ -94,186 +95,186 @@ class ECDbMap {
94
95
  getClassMap(classId) {
95
96
  if (this._cachedClassMaps.has(classId))
96
97
  return this._cachedClassMaps.get(classId);
97
- const sql = `
98
- SELECT
99
- JSON_OBJECT(
100
- 'id', format('0x%x', cs.id),
101
- 'name', format('%s:%s', ss.Name, cs.Name),
102
- 'mapStrategy',
103
- (
104
- CASE cm.MapStrategy
105
- WHEN 0 THEN 'NotMapped'
106
- WHEN 1 THEN 'OwnTable'
107
- WHEN 2 THEN 'TablePerHierarchy'
108
- WHEN 3 THEN 'ExistingTable'
109
- WHEN 10 THEN 'ForeignKeyInTargetTable'
110
- WHEN 11 THEN 'ForeignKeyInSourceTable'
111
- END
112
- ),
113
- 'type',
114
- (
115
- CASE cs.Type
116
- WHEN 0 THEN 'Entity'
117
- WHEN 1 THEN 'Relationship'
118
- WHEN 2 THEN 'Struct'
119
- WHEN 3 THEN 'CustomAttribute'
120
- END
121
- ),
122
- 'modifier',
123
- (
124
- CASE cs.Modifier
125
- WHEN 0 THEN 'None'
126
- WHEN 1 THEN 'Abstract'
127
- WHEN 2 THEN 'Sealed'
128
- END
129
- ),
130
- 'properties',
131
- (
132
- SELECT
133
- JSON_GROUP_ARRAY(JSON(propJson))
134
- FROM
135
- (
136
- SELECT
137
- JSON_OBJECT(
138
- 'id', format('0x%x', pt.id),
139
- 'name', pt.Name,
140
- 'kind',
141
- (
142
- CASE pt.Kind
143
- WHEN 0 THEN 'Primitive'
144
- WHEN 1 THEN 'Struct'
145
- WHEN 2 THEN 'PrimitiveArray'
146
- WHEN 3 THEN 'StructArray'
147
- WHEN 4 THEN 'Navigation'
148
- END
149
- ),
150
- 'primitiveType',
151
- (
152
- CASE pt.PrimitiveType
153
- WHEN 0x101 THEN 'Binary'
154
- WHEN 0x201 THEN 'Boolean'
155
- WHEN 0x301 THEN 'DateTime'
156
- WHEN 0x401 THEN 'Double'
157
- WHEN 0x501 THEN 'Integer'
158
- WHEN 0x601 THEN 'Long'
159
- WHEN 0x701 THEN 'Point2d'
160
- WHEN 0x801 THEN 'Point3d'
161
- WHEN 0x901 THEN 'String'
162
- WHEN 0xa01 THEN 'IGeometry'
163
- END
164
- ),
165
- 'extendedTypeName', ExtendedTypeName,
166
- 'navigationRelationship',
167
- (
168
- SELECT
169
- JSON_OBJECT(
170
- 'classId', format('0x%x', nc.Id),
171
- 'classFullName', format('%s:%s', ns.Name, nc.Name)
172
- )
173
- FROM ec_Class nc
174
- JOIN ec_Schema ns ON ns.Id = nc.SchemaId
175
- WHERE
176
- nc.Id = pt.NavigationRelationshipClassId
177
- ),
178
- 'structClass',
179
- (
180
- SELECT
181
- JSON_OBJECT(
182
- 'classId', format('0x%x', nc.Id),
183
- 'classFullName', format('%s:%s', ns.Name, nc.Name)
184
- )
185
- FROM ec_Class nc
186
- JOIN ec_Schema ns ON ns.Id = nc.SchemaId
187
- WHERE
188
- nc.Id = pt.StructClassId
189
- ),
190
- 'dateTimeInfo', (
191
- SELECT
192
- JSON_OBJECT (
193
- 'dateTimeKind', (
194
- CASE
195
- WHEN [ca].[Instance] LIKE '%<DateTimeKind>Utc</DateTimeKind>%' COLLATE [NoCase] THEN 'Utc'
196
- WHEN [ca].[Instance] LIKE '%<DateTimeKind>Local</DateTimeKind>%' COLLATE [NoCase] THEN 'Local'
197
- ELSE 'Unspecified'
198
- END
199
- ),
200
- 'dateTimeComponent', (
201
- CASE
202
- WHEN [ca].[Instance] LIKE '%<DateTimeComponent>DateTime</DateTimeComponent>%' COLLATE [NoCase] THEN 'DateTime'
203
- WHEN [ca].[Instance] LIKE '%<DateTimeComponent>Date</DateTimeComponent>%' COLLATE [NoCase] THEN 'Date'
204
- WHEN [ca].[Instance] LIKE '%<DateTimeComponent>TimeOfDay</DateTimeComponent>%' COLLATE [NoCase] THEN 'TimeOfDay'
205
- ELSE 'DateTime'
206
- END
207
- )
208
- )
209
- FROM
210
- [ec_CustomAttribute] [ca]
211
- JOIN [ec_Class] [cl] ON [cl].[Id] = [ca].[ClassId]
212
- JOIN [ec_Schema] [sc] ON [sc].[Id] = [cl].[SchemaId]
213
- WHERE
214
- [ca].[ContainerType] = 992
215
- AND [cl].[Name] = 'DateTimeInfo'
216
- AND [sc].[Name] = 'CoreCustomAttributes'
217
- AND [ca].[ContainerId] = [pt].[Id]
218
- ),
219
- 'columns',
220
- (
221
- SELECT
222
- JSON_GROUP_ARRAY(JSON(columnJson))
223
- FROM
224
- (
225
- SELECT
226
- JSON_OBJECT(
227
- 'table', tb.Name,
228
- 'column', cc.Name,
229
- 'type',
230
- (
231
- CASE cc.Type
232
- WHEN 0 THEN 'Any'
233
- WHEN 1 THEN 'Boolean'
234
- WHEN 2 THEN 'Blob'
235
- WHEN 3 THEN 'Timestamp'
236
- WHEN 4 THEN 'Real'
237
- WHEN 5 THEN 'Integer'
238
- WHEN 6 THEN 'Text'
239
- END
240
- ),
241
- 'columnKind',
242
- (
243
- CASE cc.ColumnKind
244
- WHEN 0 THEN 'Default'
245
- WHEN 1 THEN 'Id'
246
- WHEN 2 THEN 'ClassId'
247
- WHEN 4 THEN 'SharedData'
248
- END
249
- ),
250
- 'accessString', pp0.AccessString,
251
- 'isVirtual', cc.IsVirtual OR tb.Type = 4
252
- ) columnJson
253
- FROM [ec_PropertyMap] [pm0]
254
- JOIN [ec_Column] [cc] ON [cc].[Id] = [pm0].[ColumnId]
255
- JOIN [ec_Table] [tb] ON [tb].[Id] = [cc].[TableId]
256
- JOIN [ec_PropertyPath] [pp0] ON [pp0].[Id] = [pm0].[PropertyPathId]
257
- WHERE
258
- [pp0].[RootPropertyId] = pt.Id AND pm0.ClassId = cs.Id
259
- )
260
- )
261
- ) propJson
262
- FROM [ec_PropertyMap] [pm]
263
- JOIN [ec_PropertyPath] [pp] ON [pp].[Id] = [pm].[PropertyPathId]
264
- JOIN [ec_Property] [pt] ON [pt].[Id] = [pp].[RootPropertyId]
265
- WHERE
266
- pm.ClassId = cs.Id
267
- GROUP BY
268
- pt.Id
269
- )
270
- )
271
- ) classDef
272
- FROM [ec_Class] [cs]
273
- JOIN [ec_ClassMap] [cm] ON [cm].[ClassId] = [cs].[Id]
274
- JOIN [ec_Schema] [ss] ON [ss].[Id] = [cs].[SchemaId]
275
- WHERE
276
- [cs].[Id] = ?
98
+ const sql = `
99
+ SELECT
100
+ JSON_OBJECT(
101
+ 'id', format('0x%x', cs.id),
102
+ 'name', format('%s:%s', ss.Name, cs.Name),
103
+ 'mapStrategy',
104
+ (
105
+ CASE cm.MapStrategy
106
+ WHEN 0 THEN 'NotMapped'
107
+ WHEN 1 THEN 'OwnTable'
108
+ WHEN 2 THEN 'TablePerHierarchy'
109
+ WHEN 3 THEN 'ExistingTable'
110
+ WHEN 10 THEN 'ForeignKeyInTargetTable'
111
+ WHEN 11 THEN 'ForeignKeyInSourceTable'
112
+ END
113
+ ),
114
+ 'type',
115
+ (
116
+ CASE cs.Type
117
+ WHEN 0 THEN 'Entity'
118
+ WHEN 1 THEN 'Relationship'
119
+ WHEN 2 THEN 'Struct'
120
+ WHEN 3 THEN 'CustomAttribute'
121
+ END
122
+ ),
123
+ 'modifier',
124
+ (
125
+ CASE cs.Modifier
126
+ WHEN 0 THEN 'None'
127
+ WHEN 1 THEN 'Abstract'
128
+ WHEN 2 THEN 'Sealed'
129
+ END
130
+ ),
131
+ 'properties',
132
+ (
133
+ SELECT
134
+ JSON_GROUP_ARRAY(JSON(propJson))
135
+ FROM
136
+ (
137
+ SELECT
138
+ JSON_OBJECT(
139
+ 'id', format('0x%x', pt.id),
140
+ 'name', pt.Name,
141
+ 'kind',
142
+ (
143
+ CASE pt.Kind
144
+ WHEN 0 THEN 'Primitive'
145
+ WHEN 1 THEN 'Struct'
146
+ WHEN 2 THEN 'PrimitiveArray'
147
+ WHEN 3 THEN 'StructArray'
148
+ WHEN 4 THEN 'Navigation'
149
+ END
150
+ ),
151
+ 'primitiveType',
152
+ (
153
+ CASE pt.PrimitiveType
154
+ WHEN 0x101 THEN 'Binary'
155
+ WHEN 0x201 THEN 'Boolean'
156
+ WHEN 0x301 THEN 'DateTime'
157
+ WHEN 0x401 THEN 'Double'
158
+ WHEN 0x501 THEN 'Integer'
159
+ WHEN 0x601 THEN 'Long'
160
+ WHEN 0x701 THEN 'Point2d'
161
+ WHEN 0x801 THEN 'Point3d'
162
+ WHEN 0x901 THEN 'String'
163
+ WHEN 0xa01 THEN 'IGeometry'
164
+ END
165
+ ),
166
+ 'extendedTypeName', ExtendedTypeName,
167
+ 'navigationRelationship',
168
+ (
169
+ SELECT
170
+ JSON_OBJECT(
171
+ 'classId', format('0x%x', nc.Id),
172
+ 'classFullName', format('%s:%s', ns.Name, nc.Name)
173
+ )
174
+ FROM ec_Class nc
175
+ JOIN ec_Schema ns ON ns.Id = nc.SchemaId
176
+ WHERE
177
+ nc.Id = pt.NavigationRelationshipClassId
178
+ ),
179
+ 'structClass',
180
+ (
181
+ SELECT
182
+ JSON_OBJECT(
183
+ 'classId', format('0x%x', nc.Id),
184
+ 'classFullName', format('%s:%s', ns.Name, nc.Name)
185
+ )
186
+ FROM ec_Class nc
187
+ JOIN ec_Schema ns ON ns.Id = nc.SchemaId
188
+ WHERE
189
+ nc.Id = pt.StructClassId
190
+ ),
191
+ 'dateTimeInfo', (
192
+ SELECT
193
+ JSON_OBJECT (
194
+ 'dateTimeKind', (
195
+ CASE
196
+ WHEN [ca].[Instance] LIKE '%<DateTimeKind>Utc</DateTimeKind>%' COLLATE [NoCase] THEN 'Utc'
197
+ WHEN [ca].[Instance] LIKE '%<DateTimeKind>Local</DateTimeKind>%' COLLATE [NoCase] THEN 'Local'
198
+ ELSE 'Unspecified'
199
+ END
200
+ ),
201
+ 'dateTimeComponent', (
202
+ CASE
203
+ WHEN [ca].[Instance] LIKE '%<DateTimeComponent>DateTime</DateTimeComponent>%' COLLATE [NoCase] THEN 'DateTime'
204
+ WHEN [ca].[Instance] LIKE '%<DateTimeComponent>Date</DateTimeComponent>%' COLLATE [NoCase] THEN 'Date'
205
+ WHEN [ca].[Instance] LIKE '%<DateTimeComponent>TimeOfDay</DateTimeComponent>%' COLLATE [NoCase] THEN 'TimeOfDay'
206
+ ELSE 'DateTime'
207
+ END
208
+ )
209
+ )
210
+ FROM
211
+ [ec_CustomAttribute] [ca]
212
+ JOIN [ec_Class] [cl] ON [cl].[Id] = [ca].[ClassId]
213
+ JOIN [ec_Schema] [sc] ON [sc].[Id] = [cl].[SchemaId]
214
+ WHERE
215
+ [ca].[ContainerType] = 992
216
+ AND [cl].[Name] = 'DateTimeInfo'
217
+ AND [sc].[Name] = 'CoreCustomAttributes'
218
+ AND [ca].[ContainerId] = [pt].[Id]
219
+ ),
220
+ 'columns',
221
+ (
222
+ SELECT
223
+ JSON_GROUP_ARRAY(JSON(columnJson))
224
+ FROM
225
+ (
226
+ SELECT
227
+ JSON_OBJECT(
228
+ 'table', tb.Name,
229
+ 'column', cc.Name,
230
+ 'type',
231
+ (
232
+ CASE cc.Type
233
+ WHEN 0 THEN 'Any'
234
+ WHEN 1 THEN 'Boolean'
235
+ WHEN 2 THEN 'Blob'
236
+ WHEN 3 THEN 'Timestamp'
237
+ WHEN 4 THEN 'Real'
238
+ WHEN 5 THEN 'Integer'
239
+ WHEN 6 THEN 'Text'
240
+ END
241
+ ),
242
+ 'columnKind',
243
+ (
244
+ CASE cc.ColumnKind
245
+ WHEN 0 THEN 'Default'
246
+ WHEN 1 THEN 'Id'
247
+ WHEN 2 THEN 'ClassId'
248
+ WHEN 4 THEN 'SharedData'
249
+ END
250
+ ),
251
+ 'accessString', pp0.AccessString,
252
+ 'isVirtual', cc.IsVirtual OR tb.Type = 4
253
+ ) columnJson
254
+ FROM [ec_PropertyMap] [pm0]
255
+ JOIN [ec_Column] [cc] ON [cc].[Id] = [pm0].[ColumnId]
256
+ JOIN [ec_Table] [tb] ON [tb].[Id] = [cc].[TableId]
257
+ JOIN [ec_PropertyPath] [pp0] ON [pp0].[Id] = [pm0].[PropertyPathId]
258
+ WHERE
259
+ [pp0].[RootPropertyId] = pt.Id AND pm0.ClassId = cs.Id
260
+ )
261
+ )
262
+ ) propJson
263
+ FROM [ec_PropertyMap] [pm]
264
+ JOIN [ec_PropertyPath] [pp] ON [pp].[Id] = [pm].[PropertyPathId]
265
+ JOIN [ec_Property] [pt] ON [pt].[Id] = [pp].[RootPropertyId]
266
+ WHERE
267
+ pm.ClassId = cs.Id
268
+ GROUP BY
269
+ pt.Id
270
+ )
271
+ )
272
+ ) classDef
273
+ FROM [ec_Class] [cs]
274
+ JOIN [ec_ClassMap] [cm] ON [cm].[ClassId] = [cs].[Id]
275
+ JOIN [ec_Schema] [ss] ON [ss].[Id] = [cs].[SchemaId]
276
+ WHERE
277
+ [cs].[Id] = ?
277
278
  `;
278
279
  return this.db.withPreparedSqliteStatement(sql, (stmt) => {
279
280
  stmt.bindId(1, classId);
@@ -435,10 +436,12 @@ class SqliteBackedInstanceCache {
435
436
  * @throws Error if unable to drop the temporary table.
436
437
  */
437
438
  dropTempTable() {
438
- this._db.saveChanges();
439
- if (this._db instanceof ECDb_1.ECDb)
439
+ if (this._db instanceof ECDb_1.ECDb) {
440
+ this._db.saveChanges();
440
441
  this._db.clearStatementCache();
442
+ }
441
443
  else {
444
+ this._db[Symbols_1._nativeDb].saveChanges();
442
445
  this._db.clearCaches();
443
446
  }
444
447
  this._db.withSqliteStatement(`DROP TABLE IF EXISTS ${this._cacheTable}`, (stmt) => {
@@ -479,12 +482,12 @@ class SqliteBackedInstanceCache {
479
482
  * @returns An iterator for all the changed EC instances.
480
483
  */
481
484
  *all() {
482
- const sql = `
483
- SELECT JSON_GROUP_ARRAY (JSON([value]))
484
- FROM (SELECT
485
- [value],
486
- SUM (LENGTH ([value])) OVER (ORDER BY [key] ROWS UNBOUNDED PRECEDING) / ${this.bufferedReadInstanceSizeInBytes} AS [bucket]
487
- FROM ${this._cacheTable})
485
+ const sql = `
486
+ SELECT JSON_GROUP_ARRAY (JSON([value]))
487
+ FROM (SELECT
488
+ [value],
489
+ SUM (LENGTH ([value])) OVER (ORDER BY [key] ROWS UNBOUNDED PRECEDING) / ${this.bufferedReadInstanceSizeInBytes} AS [bucket]
490
+ FROM ${this._cacheTable})
488
491
  GROUP BY [bucket]`;
489
492
  const stmt = this._db.prepareSqliteStatement(sql);
490
493
  while (stmt.step() === core_bentley_1.DbResult.BE_SQLITE_ROW) {
@@ -542,27 +545,27 @@ class PartialECChangeUnifier {
542
545
  * @returns return root class id
543
546
  */
544
547
  getRootClassId(classId) {
545
- const sql = `
546
- WITH
547
- [base_class]([classId], [baseClassId], [Level]) AS(
548
- SELECT [ch].[ClassId], [ch].[BaseClassId], 0
549
- FROM [ec_ClassHasBaseClasses] [ch] WHERE [ch].[ClassId] = ?
550
- UNION ALL
551
- SELECT [ch].[ClassId], [ch].[BaseClassId], [Level] + 1
552
- FROM [ec_ClassHasBaseClasses] [ch], [base_class] [bc] WHERE [bc].[BaseClassId] = [ch].[ClassId]
553
-
554
- )
555
- SELECT FORMAT('0x%x', [bc].[BaseClassId]) rootClass
556
- FROM [base_class] [bc]
557
- WHERE [bc].[ClassId] <> [bc].[BaseClassId]
558
- AND [bc].[BaseClassId] NOT IN (SELECT [ca].[ContainerId]
559
- FROM [ec_CustomAttribute] [ca]
560
- WHERE [ca].[ContainerType] = 30
561
- AND [ca].[ClassId] IN (SELECT [cc].[Id]
562
- FROM [ec_Class] [cc]
563
- JOIN [ec_Schema] [ss] ON [ss].[Id] = [cc].[SchemaId]
564
- WHERE [cc].[Name] = 'IsMixIn'
565
- AND [ss].[Name] = 'CoreCustomAttributes'))
548
+ const sql = `
549
+ WITH
550
+ [base_class]([classId], [baseClassId], [Level]) AS(
551
+ SELECT [ch].[ClassId], [ch].[BaseClassId], 0
552
+ FROM [ec_ClassHasBaseClasses] [ch] WHERE [ch].[ClassId] = ?
553
+ UNION ALL
554
+ SELECT [ch].[ClassId], [ch].[BaseClassId], [Level] + 1
555
+ FROM [ec_ClassHasBaseClasses] [ch], [base_class] [bc] WHERE [bc].[BaseClassId] = [ch].[ClassId]
556
+
557
+ )
558
+ SELECT FORMAT('0x%x', [bc].[BaseClassId]) rootClass
559
+ FROM [base_class] [bc]
560
+ WHERE [bc].[ClassId] <> [bc].[BaseClassId]
561
+ AND [bc].[BaseClassId] NOT IN (SELECT [ca].[ContainerId]
562
+ FROM [ec_CustomAttribute] [ca]
563
+ WHERE [ca].[ContainerType] = 30
564
+ AND [ca].[ClassId] IN (SELECT [cc].[Id]
565
+ FROM [ec_Class] [cc]
566
+ JOIN [ec_Schema] [ss] ON [ss].[Id] = [cc].[SchemaId]
567
+ WHERE [cc].[Name] = 'IsMixIn'
568
+ AND [ss].[Name] = 'CoreCustomAttributes'))
566
569
  ORDER BY [Level] DESC`;
567
570
  return this._db.withSqliteStatement(sql, (stmt) => {
568
571
  stmt.bindId(1, classId);