@itwin/core-backend 5.12.0-dev.1 → 5.12.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 (566) hide show
  1. package/CHANGELOG.md +33 -1
  2. package/lib/cjs/BackendHubAccess.d.ts +1 -1
  3. package/lib/cjs/BackendHubAccess.js +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.map +1 -1
  9. package/lib/cjs/CatalogDb.js.map +1 -1
  10. package/lib/cjs/Category.js.map +1 -1
  11. package/lib/cjs/ChangeSummaryManager.d.ts.map +1 -1
  12. package/lib/cjs/ChangeSummaryManager.js +34 -38
  13. package/lib/cjs/ChangeSummaryManager.js.map +1 -1
  14. package/lib/cjs/ChangedElementsDb.js.map +1 -1
  15. package/lib/cjs/ChangesetECAdaptor.d.ts.map +1 -1
  16. package/lib/cjs/ChangesetECAdaptor.js +252 -255
  17. package/lib/cjs/ChangesetECAdaptor.js.map +1 -1
  18. package/lib/cjs/ChangesetReader.d.ts +65 -23
  19. package/lib/cjs/ChangesetReader.d.ts.map +1 -1
  20. package/lib/cjs/ChangesetReader.js +165 -105
  21. package/lib/cjs/ChangesetReader.js.map +1 -1
  22. package/lib/cjs/ChangesetReaderTypes.js.map +1 -1
  23. package/lib/cjs/ChannelControl.js.map +1 -1
  24. package/lib/cjs/CheckpointManager.js.map +1 -1
  25. package/lib/cjs/ClassRegistry.d.ts +1 -1
  26. package/lib/cjs/ClassRegistry.js +6 -6
  27. package/lib/cjs/ClassRegistry.js.map +1 -1
  28. package/lib/cjs/CloudSqlite.js.map +1 -1
  29. package/lib/cjs/CodeService.js.map +1 -1
  30. package/lib/cjs/CodeSpecs.js.map +1 -1
  31. package/lib/cjs/ConcurrentQuery.js.map +1 -1
  32. package/lib/cjs/CustomViewState3dCreator.js.map +1 -1
  33. package/lib/cjs/DevTools.js.map +1 -1
  34. package/lib/cjs/DisplayStyle.js.map +1 -1
  35. package/lib/cjs/ECDb.d.ts +4 -4
  36. package/lib/cjs/ECDb.d.ts.map +1 -1
  37. package/lib/cjs/ECDb.js +6 -6
  38. package/lib/cjs/ECDb.js.map +1 -1
  39. package/lib/cjs/ECSchemaXmlContext.js.map +1 -1
  40. package/lib/cjs/ECSqlRowExecutor.js.map +1 -1
  41. package/lib/cjs/ECSqlStatement.d.ts +6 -6
  42. package/lib/cjs/ECSqlStatement.d.ts.map +1 -1
  43. package/lib/cjs/ECSqlStatement.js +4 -4
  44. package/lib/cjs/ECSqlStatement.js.map +1 -1
  45. package/lib/cjs/ECSqlSyncReader.js.map +1 -1
  46. package/lib/cjs/EditTxn.js.map +1 -1
  47. package/lib/cjs/Element.d.ts +1 -1
  48. package/lib/cjs/Element.js +1 -1
  49. package/lib/cjs/Element.js.map +1 -1
  50. package/lib/cjs/ElementAspect.d.ts +1 -1
  51. package/lib/cjs/ElementAspect.d.ts.map +1 -1
  52. package/lib/cjs/ElementAspect.js +7 -11
  53. package/lib/cjs/ElementAspect.js.map +1 -1
  54. package/lib/cjs/ElementGraphics.js.map +1 -1
  55. package/lib/cjs/ElementTreeWalker.d.ts.map +1 -1
  56. package/lib/cjs/ElementTreeWalker.js +16 -24
  57. package/lib/cjs/ElementTreeWalker.js.map +1 -1
  58. package/lib/cjs/Entity.d.ts +1 -1
  59. package/lib/cjs/Entity.js +1 -1
  60. package/lib/cjs/Entity.js.map +1 -1
  61. package/lib/cjs/EntityReferences.js.map +1 -1
  62. package/lib/cjs/ExportGraphics.js.map +1 -1
  63. package/lib/cjs/ExternalSource.js.map +1 -1
  64. package/lib/cjs/FontFile.js.map +1 -1
  65. package/lib/cjs/GeoCoordConfig.js.map +1 -1
  66. package/lib/cjs/GeographicCRSServices.js.map +1 -1
  67. package/lib/cjs/GeometrySummary.js +47 -47
  68. package/lib/cjs/GeometrySummary.js.map +1 -1
  69. package/lib/cjs/IModelDb.d.ts +14 -14
  70. package/lib/cjs/IModelDb.d.ts.map +1 -1
  71. package/lib/cjs/IModelDb.js +89 -103
  72. package/lib/cjs/IModelDb.js.map +1 -1
  73. package/lib/cjs/IModelDbFonts.js.map +1 -1
  74. package/lib/cjs/IModelElementCloneContext.d.ts +1 -1
  75. package/lib/cjs/IModelElementCloneContext.d.ts.map +1 -1
  76. package/lib/cjs/IModelElementCloneContext.js +1 -1
  77. package/lib/cjs/IModelElementCloneContext.js.map +1 -1
  78. package/lib/cjs/IModelHost.d.ts +2 -2
  79. package/lib/cjs/IModelHost.js +2 -2
  80. package/lib/cjs/IModelHost.js.map +1 -1
  81. package/lib/cjs/IModelIncrementalSchemaLocater.js.map +1 -1
  82. package/lib/cjs/IModelJsFs.js.map +1 -1
  83. package/lib/cjs/ImageSourceConversion.js.map +1 -1
  84. package/lib/cjs/IpcHost.js.map +1 -1
  85. package/lib/cjs/LineStyle.js.map +1 -1
  86. package/lib/cjs/LocalHub.js +1 -1
  87. package/lib/cjs/LocalHub.js.map +1 -1
  88. package/lib/cjs/LocalhostIpcHost.js.map +1 -1
  89. package/lib/cjs/LockControl.js.map +1 -1
  90. package/lib/cjs/Material.js.map +1 -1
  91. package/lib/cjs/Model.js.map +1 -1
  92. package/lib/cjs/NativeAppStorage.js.map +1 -1
  93. package/lib/cjs/NativeHost.js.map +1 -1
  94. package/lib/cjs/NavigationRelationship.js.map +1 -1
  95. package/lib/cjs/PartialChangeUnifier.js +7 -7
  96. package/lib/cjs/PartialChangeUnifier.js.map +1 -1
  97. package/lib/cjs/PromiseMemoizer.js.map +1 -1
  98. package/lib/cjs/PropertyStore.js.map +1 -1
  99. package/lib/cjs/Relationship.d.ts.map +1 -1
  100. package/lib/cjs/Relationship.js +15 -12
  101. package/lib/cjs/Relationship.js.map +1 -1
  102. package/lib/cjs/RpcBackend.js.map +1 -1
  103. package/lib/cjs/SQLiteDb.d.ts +1 -1
  104. package/lib/cjs/SQLiteDb.js +1 -1
  105. package/lib/cjs/SQLiteDb.js.map +1 -1
  106. package/lib/cjs/Schema.js.map +1 -1
  107. package/lib/cjs/SchemaSync.js.map +1 -1
  108. package/lib/cjs/SchemaUtils.js.map +1 -1
  109. package/lib/cjs/SheetIndex.js.map +1 -1
  110. package/lib/cjs/SqliteChangesetReader.js.map +1 -1
  111. package/lib/cjs/SqliteStatement.d.ts +1 -1
  112. package/lib/cjs/SqliteStatement.d.ts.map +1 -1
  113. package/lib/cjs/SqliteStatement.js +1 -1
  114. package/lib/cjs/SqliteStatement.js.map +1 -1
  115. package/lib/cjs/StashManager.js.map +1 -1
  116. package/lib/cjs/Texture.js.map +1 -1
  117. package/lib/cjs/TileStorage.js.map +1 -1
  118. package/lib/cjs/TxnManager.js.map +1 -1
  119. package/lib/cjs/ViewDefinition.d.ts.map +1 -1
  120. package/lib/cjs/ViewDefinition.js +8 -12
  121. package/lib/cjs/ViewDefinition.js.map +1 -1
  122. package/lib/cjs/ViewStateHydrator.js.map +1 -1
  123. package/lib/cjs/ViewStore.d.ts.map +1 -1
  124. package/lib/cjs/ViewStore.js +6 -8
  125. package/lib/cjs/ViewStore.js.map +1 -1
  126. package/lib/cjs/annotations/ElementDrivesTextAnnotation.d.ts.map +1 -1
  127. package/lib/cjs/annotations/ElementDrivesTextAnnotation.js +8 -11
  128. package/lib/cjs/annotations/ElementDrivesTextAnnotation.js.map +1 -1
  129. package/lib/cjs/annotations/FrameGeometry.js.map +1 -1
  130. package/lib/cjs/annotations/LeaderGeometry.js.map +1 -1
  131. package/lib/cjs/annotations/TextAnnotationElement.js.map +1 -1
  132. package/lib/cjs/annotations/TextAnnotationGeometry.js.map +1 -1
  133. package/lib/cjs/annotations/TextBlockGeometry.js.map +1 -1
  134. package/lib/cjs/annotations/TextBlockLayout.js.map +1 -1
  135. package/lib/cjs/assets/IModelChange.02.00.00.ecschema.xml +90 -90
  136. package/lib/cjs/assets/Settings/Schemas/Base.Schema.json +36 -36
  137. package/lib/cjs/assets/Settings/Schemas/Gcs.schema.json +28 -28
  138. package/lib/cjs/assets/Settings/Schemas/Workspace.Schema.json +94 -94
  139. package/lib/cjs/assets/Settings/backend.setting.json5 +21 -21
  140. package/lib/cjs/core-backend.js.map +1 -1
  141. package/lib/cjs/domains/FunctionalElements.js.map +1 -1
  142. package/lib/cjs/domains/FunctionalSchema.js.map +1 -1
  143. package/lib/cjs/domains/GenericElements.js.map +1 -1
  144. package/lib/cjs/domains/GenericSchema.js.map +1 -1
  145. package/lib/cjs/internal/ChangesetConflictArgs.js.map +1 -1
  146. package/lib/cjs/internal/ChannelAdmin.d.ts.map +1 -1
  147. package/lib/cjs/internal/ChannelAdmin.js +6 -10
  148. package/lib/cjs/internal/ChannelAdmin.js.map +1 -1
  149. package/lib/cjs/internal/ECSqlInstanceReshaper.d.ts +23 -0
  150. package/lib/cjs/internal/ECSqlInstanceReshaper.d.ts.map +1 -0
  151. package/lib/cjs/internal/ECSqlInstanceReshaper.js +125 -0
  152. package/lib/cjs/internal/ECSqlInstanceReshaper.js.map +1 -0
  153. package/lib/cjs/internal/ElementLRUCache.js.map +1 -1
  154. package/lib/cjs/internal/FontFileImpl.js.map +1 -1
  155. package/lib/cjs/internal/HubMock.js.map +1 -1
  156. package/lib/cjs/internal/IModelDbFontsImpl.js.map +1 -1
  157. package/lib/cjs/internal/IntegrityCheck.js.map +1 -1
  158. package/lib/cjs/internal/NativePlatform.js.map +1 -1
  159. package/lib/cjs/internal/NoLocks.js.map +1 -1
  160. package/lib/cjs/internal/OnlineStatus.js.map +1 -1
  161. package/lib/cjs/internal/ServerBasedLocks.js +33 -33
  162. package/lib/cjs/internal/ServerBasedLocks.js.map +1 -1
  163. package/lib/cjs/internal/Symbols.js.map +1 -1
  164. package/lib/cjs/internal/annotations/fields.d.ts.map +1 -1
  165. package/lib/cjs/internal/annotations/fields.js +24 -43
  166. package/lib/cjs/internal/annotations/fields.js.map +1 -1
  167. package/lib/cjs/internal/cross-package.js.map +1 -1
  168. package/lib/cjs/internal/workspace/SettingsEditorImpl.js.map +1 -1
  169. package/lib/cjs/internal/workspace/SettingsImpl.js.map +1 -1
  170. package/lib/cjs/internal/workspace/SettingsSchemasImpl.d.ts.map +1 -1
  171. package/lib/cjs/internal/workspace/SettingsSchemasImpl.js +8 -7
  172. package/lib/cjs/internal/workspace/SettingsSchemasImpl.js.map +1 -1
  173. package/lib/cjs/internal/workspace/WorkspaceImpl.js.map +1 -1
  174. package/lib/cjs/internal/workspace/WorkspaceSqliteDb.js.map +1 -1
  175. package/lib/cjs/rpc/multipart.js.map +1 -1
  176. package/lib/cjs/rpc/tracing.js.map +1 -1
  177. package/lib/cjs/rpc/web/logging.js.map +1 -1
  178. package/lib/cjs/rpc/web/request.js.map +1 -1
  179. package/lib/cjs/rpc/web/response.js.map +1 -1
  180. package/lib/cjs/rpc-impl/DevToolsRpcImpl.js.map +1 -1
  181. package/lib/cjs/rpc-impl/IModelReadRpcImpl.d.ts.map +1 -1
  182. package/lib/cjs/rpc-impl/IModelReadRpcImpl.js +2 -3
  183. package/lib/cjs/rpc-impl/IModelReadRpcImpl.js.map +1 -1
  184. package/lib/cjs/rpc-impl/IModelTileRpcImpl.js.map +1 -1
  185. package/lib/cjs/rpc-impl/RpcBriefcaseUtility.d.ts +2 -2
  186. package/lib/cjs/rpc-impl/RpcBriefcaseUtility.js.map +1 -1
  187. package/lib/cjs/rpc-impl/SnapshotIModelRpcImpl.d.ts +1 -1
  188. package/lib/cjs/rpc-impl/SnapshotIModelRpcImpl.js +1 -1
  189. package/lib/cjs/rpc-impl/SnapshotIModelRpcImpl.js.map +1 -1
  190. package/lib/cjs/workspace/Settings.js.map +1 -1
  191. package/lib/cjs/workspace/SettingsDb.js.map +1 -1
  192. package/lib/cjs/workspace/SettingsEditor.js.map +1 -1
  193. package/lib/cjs/workspace/SettingsSchemas.d.ts +28 -2
  194. package/lib/cjs/workspace/SettingsSchemas.d.ts.map +1 -1
  195. package/lib/cjs/workspace/SettingsSchemas.js.map +1 -1
  196. package/lib/cjs/workspace/Workspace.js.map +1 -1
  197. package/lib/cjs/workspace/WorkspaceEditor.js.map +1 -1
  198. package/lib/esm/BackendHubAccess.d.ts +1 -1
  199. package/lib/esm/BackendHubAccess.js +1 -1
  200. package/lib/esm/BackendHubAccess.js.map +1 -1
  201. package/lib/esm/BackendLoggerCategory.js.map +1 -1
  202. package/lib/esm/BisCoreSchema.js.map +1 -1
  203. package/lib/esm/BlobContainerService.js.map +1 -1
  204. package/lib/esm/BriefcaseManager.js.map +1 -1
  205. package/lib/esm/CatalogDb.js.map +1 -1
  206. package/lib/esm/Category.js.map +1 -1
  207. package/lib/esm/ChangeSummaryManager.d.ts.map +1 -1
  208. package/lib/esm/ChangeSummaryManager.js +35 -39
  209. package/lib/esm/ChangeSummaryManager.js.map +1 -1
  210. package/lib/esm/ChangedElementsDb.js.map +1 -1
  211. package/lib/esm/ChangesetECAdaptor.d.ts.map +1 -1
  212. package/lib/esm/ChangesetECAdaptor.js +253 -256
  213. package/lib/esm/ChangesetECAdaptor.js.map +1 -1
  214. package/lib/esm/ChangesetReader.d.ts +65 -23
  215. package/lib/esm/ChangesetReader.d.ts.map +1 -1
  216. package/lib/esm/ChangesetReader.js +166 -106
  217. package/lib/esm/ChangesetReader.js.map +1 -1
  218. package/lib/esm/ChangesetReaderTypes.js.map +1 -1
  219. package/lib/esm/ChannelControl.js.map +1 -1
  220. package/lib/esm/CheckpointManager.js.map +1 -1
  221. package/lib/esm/ClassRegistry.d.ts +1 -1
  222. package/lib/esm/ClassRegistry.js +6 -6
  223. package/lib/esm/ClassRegistry.js.map +1 -1
  224. package/lib/esm/CloudSqlite.js.map +1 -1
  225. package/lib/esm/CodeService.js.map +1 -1
  226. package/lib/esm/CodeSpecs.js.map +1 -1
  227. package/lib/esm/ConcurrentQuery.js.map +1 -1
  228. package/lib/esm/CustomViewState3dCreator.js.map +1 -1
  229. package/lib/esm/DevTools.js.map +1 -1
  230. package/lib/esm/DisplayStyle.js.map +1 -1
  231. package/lib/esm/ECDb.d.ts +4 -4
  232. package/lib/esm/ECDb.d.ts.map +1 -1
  233. package/lib/esm/ECDb.js +6 -6
  234. package/lib/esm/ECDb.js.map +1 -1
  235. package/lib/esm/ECSchemaXmlContext.js.map +1 -1
  236. package/lib/esm/ECSqlRowExecutor.js.map +1 -1
  237. package/lib/esm/ECSqlStatement.d.ts +6 -6
  238. package/lib/esm/ECSqlStatement.d.ts.map +1 -1
  239. package/lib/esm/ECSqlStatement.js +4 -4
  240. package/lib/esm/ECSqlStatement.js.map +1 -1
  241. package/lib/esm/ECSqlSyncReader.js.map +1 -1
  242. package/lib/esm/EditTxn.js.map +1 -1
  243. package/lib/esm/Element.d.ts +1 -1
  244. package/lib/esm/Element.js +1 -1
  245. package/lib/esm/Element.js.map +1 -1
  246. package/lib/esm/ElementAspect.d.ts +1 -1
  247. package/lib/esm/ElementAspect.d.ts.map +1 -1
  248. package/lib/esm/ElementAspect.js +9 -13
  249. package/lib/esm/ElementAspect.js.map +1 -1
  250. package/lib/esm/ElementGraphics.js.map +1 -1
  251. package/lib/esm/ElementTreeWalker.d.ts.map +1 -1
  252. package/lib/esm/ElementTreeWalker.js +18 -26
  253. package/lib/esm/ElementTreeWalker.js.map +1 -1
  254. package/lib/esm/Entity.d.ts +1 -1
  255. package/lib/esm/Entity.js +1 -1
  256. package/lib/esm/Entity.js.map +1 -1
  257. package/lib/esm/EntityReferences.js.map +1 -1
  258. package/lib/esm/ExportGraphics.js.map +1 -1
  259. package/lib/esm/ExternalSource.js.map +1 -1
  260. package/lib/esm/FontFile.js.map +1 -1
  261. package/lib/esm/GeoCoordConfig.js.map +1 -1
  262. package/lib/esm/GeographicCRSServices.js.map +1 -1
  263. package/lib/esm/GeometrySummary.js +47 -47
  264. package/lib/esm/GeometrySummary.js.map +1 -1
  265. package/lib/esm/IModelDb.d.ts +14 -14
  266. package/lib/esm/IModelDb.d.ts.map +1 -1
  267. package/lib/esm/IModelDb.js +90 -104
  268. package/lib/esm/IModelDb.js.map +1 -1
  269. package/lib/esm/IModelDbFonts.js.map +1 -1
  270. package/lib/esm/IModelElementCloneContext.d.ts +1 -1
  271. package/lib/esm/IModelElementCloneContext.d.ts.map +1 -1
  272. package/lib/esm/IModelElementCloneContext.js +1 -1
  273. package/lib/esm/IModelElementCloneContext.js.map +1 -1
  274. package/lib/esm/IModelHost.d.ts +2 -2
  275. package/lib/esm/IModelHost.js +2 -2
  276. package/lib/esm/IModelHost.js.map +1 -1
  277. package/lib/esm/IModelIncrementalSchemaLocater.js.map +1 -1
  278. package/lib/esm/IModelJsFs.js.map +1 -1
  279. package/lib/esm/ImageSourceConversion.js.map +1 -1
  280. package/lib/esm/IpcHost.js.map +1 -1
  281. package/lib/esm/LineStyle.js.map +1 -1
  282. package/lib/esm/LocalHub.js +1 -1
  283. package/lib/esm/LocalHub.js.map +1 -1
  284. package/lib/esm/LocalhostIpcHost.js.map +1 -1
  285. package/lib/esm/LockControl.js.map +1 -1
  286. package/lib/esm/Material.js.map +1 -1
  287. package/lib/esm/Model.js.map +1 -1
  288. package/lib/esm/NativeAppStorage.js.map +1 -1
  289. package/lib/esm/NativeHost.js.map +1 -1
  290. package/lib/esm/NavigationRelationship.js.map +1 -1
  291. package/lib/esm/PartialChangeUnifier.js +7 -7
  292. package/lib/esm/PartialChangeUnifier.js.map +1 -1
  293. package/lib/esm/PromiseMemoizer.js.map +1 -1
  294. package/lib/esm/PropertyStore.js.map +1 -1
  295. package/lib/esm/Relationship.d.ts.map +1 -1
  296. package/lib/esm/Relationship.js +16 -13
  297. package/lib/esm/Relationship.js.map +1 -1
  298. package/lib/esm/RpcBackend.js.map +1 -1
  299. package/lib/esm/SQLiteDb.d.ts +1 -1
  300. package/lib/esm/SQLiteDb.js +1 -1
  301. package/lib/esm/SQLiteDb.js.map +1 -1
  302. package/lib/esm/Schema.js.map +1 -1
  303. package/lib/esm/SchemaSync.js.map +1 -1
  304. package/lib/esm/SchemaUtils.js.map +1 -1
  305. package/lib/esm/SheetIndex.js.map +1 -1
  306. package/lib/esm/SqliteChangesetReader.js.map +1 -1
  307. package/lib/esm/SqliteStatement.d.ts +1 -1
  308. package/lib/esm/SqliteStatement.d.ts.map +1 -1
  309. package/lib/esm/SqliteStatement.js +1 -1
  310. package/lib/esm/SqliteStatement.js.map +1 -1
  311. package/lib/esm/StashManager.js.map +1 -1
  312. package/lib/esm/Texture.js.map +1 -1
  313. package/lib/esm/TileStorage.js.map +1 -1
  314. package/lib/esm/TxnManager.js.map +1 -1
  315. package/lib/esm/ViewDefinition.d.ts.map +1 -1
  316. package/lib/esm/ViewDefinition.js +10 -14
  317. package/lib/esm/ViewDefinition.js.map +1 -1
  318. package/lib/esm/ViewStateHydrator.js.map +1 -1
  319. package/lib/esm/ViewStore.d.ts.map +1 -1
  320. package/lib/esm/ViewStore.js +7 -9
  321. package/lib/esm/ViewStore.js.map +1 -1
  322. package/lib/esm/annotations/ElementDrivesTextAnnotation.d.ts.map +1 -1
  323. package/lib/esm/annotations/ElementDrivesTextAnnotation.js +10 -13
  324. package/lib/esm/annotations/ElementDrivesTextAnnotation.js.map +1 -1
  325. package/lib/esm/annotations/FrameGeometry.js.map +1 -1
  326. package/lib/esm/annotations/LeaderGeometry.js.map +1 -1
  327. package/lib/esm/annotations/TextAnnotationElement.js.map +1 -1
  328. package/lib/esm/annotations/TextAnnotationGeometry.js.map +1 -1
  329. package/lib/esm/annotations/TextBlockGeometry.js.map +1 -1
  330. package/lib/esm/annotations/TextBlockLayout.js.map +1 -1
  331. package/lib/esm/core-backend.js.map +1 -1
  332. package/lib/esm/domains/FunctionalElements.js.map +1 -1
  333. package/lib/esm/domains/FunctionalSchema.js.map +1 -1
  334. package/lib/esm/domains/GenericElements.js.map +1 -1
  335. package/lib/esm/domains/GenericSchema.js.map +1 -1
  336. package/lib/esm/internal/ChangesetConflictArgs.js.map +1 -1
  337. package/lib/esm/internal/ChannelAdmin.d.ts.map +1 -1
  338. package/lib/esm/internal/ChannelAdmin.js +7 -11
  339. package/lib/esm/internal/ChannelAdmin.js.map +1 -1
  340. package/lib/esm/internal/ECSqlInstanceReshaper.d.ts +23 -0
  341. package/lib/esm/internal/ECSqlInstanceReshaper.d.ts.map +1 -0
  342. package/lib/esm/internal/ECSqlInstanceReshaper.js +120 -0
  343. package/lib/esm/internal/ECSqlInstanceReshaper.js.map +1 -0
  344. package/lib/esm/internal/ElementLRUCache.js.map +1 -1
  345. package/lib/esm/internal/FontFileImpl.js.map +1 -1
  346. package/lib/esm/internal/HubMock.js.map +1 -1
  347. package/lib/esm/internal/IModelDbFontsImpl.js.map +1 -1
  348. package/lib/esm/internal/IntegrityCheck.js.map +1 -1
  349. package/lib/esm/internal/NativePlatform.js.map +1 -1
  350. package/lib/esm/internal/NoLocks.js.map +1 -1
  351. package/lib/esm/internal/OnlineStatus.js.map +1 -1
  352. package/lib/esm/internal/ServerBasedLocks.js +33 -33
  353. package/lib/esm/internal/ServerBasedLocks.js.map +1 -1
  354. package/lib/esm/internal/Symbols.js.map +1 -1
  355. package/lib/esm/internal/annotations/fields.d.ts.map +1 -1
  356. package/lib/esm/internal/annotations/fields.js +26 -45
  357. package/lib/esm/internal/annotations/fields.js.map +1 -1
  358. package/lib/esm/internal/cross-package.js.map +1 -1
  359. package/lib/esm/internal/workspace/SettingsEditorImpl.js.map +1 -1
  360. package/lib/esm/internal/workspace/SettingsImpl.js.map +1 -1
  361. package/lib/esm/internal/workspace/SettingsSchemasImpl.d.ts.map +1 -1
  362. package/lib/esm/internal/workspace/SettingsSchemasImpl.js +8 -7
  363. package/lib/esm/internal/workspace/SettingsSchemasImpl.js.map +1 -1
  364. package/lib/esm/internal/workspace/WorkspaceImpl.js.map +1 -1
  365. package/lib/esm/internal/workspace/WorkspaceSqliteDb.js.map +1 -1
  366. package/lib/esm/rpc/multipart.js.map +1 -1
  367. package/lib/esm/rpc/tracing.js.map +1 -1
  368. package/lib/esm/rpc/web/logging.js.map +1 -1
  369. package/lib/esm/rpc/web/request.js.map +1 -1
  370. package/lib/esm/rpc/web/response.js.map +1 -1
  371. package/lib/esm/rpc-impl/DevToolsRpcImpl.js.map +1 -1
  372. package/lib/esm/rpc-impl/IModelReadRpcImpl.d.ts.map +1 -1
  373. package/lib/esm/rpc-impl/IModelReadRpcImpl.js +2 -3
  374. package/lib/esm/rpc-impl/IModelReadRpcImpl.js.map +1 -1
  375. package/lib/esm/rpc-impl/IModelTileRpcImpl.js.map +1 -1
  376. package/lib/esm/rpc-impl/RpcBriefcaseUtility.d.ts +2 -2
  377. package/lib/esm/rpc-impl/RpcBriefcaseUtility.js.map +1 -1
  378. package/lib/esm/rpc-impl/SnapshotIModelRpcImpl.d.ts +1 -1
  379. package/lib/esm/rpc-impl/SnapshotIModelRpcImpl.js +1 -1
  380. package/lib/esm/rpc-impl/SnapshotIModelRpcImpl.js.map +1 -1
  381. package/lib/esm/test/AdvancedEqual.js.map +1 -1
  382. package/lib/esm/test/AnnotationTestUtils.js.map +1 -1
  383. package/lib/esm/test/AttachDb.test.js +11 -11
  384. package/lib/esm/test/AttachDb.test.js.map +1 -1
  385. package/lib/esm/test/ElementDrivesElement.test.js +23 -23
  386. package/lib/esm/test/ElementDrivesElement.test.js.map +1 -1
  387. package/lib/esm/test/ElementLRUCache.test.js.map +1 -1
  388. package/lib/esm/test/GeometryTestUtil.js.map +1 -1
  389. package/lib/esm/test/IModelHost.test.js.map +1 -1
  390. package/lib/esm/test/IModelTestUtils.js.map +1 -1
  391. package/lib/esm/test/ImageSourceConversion.test.js.map +1 -1
  392. package/lib/esm/test/IpcHost.test.js.map +1 -1
  393. package/lib/esm/test/KnownTestLocations.js.map +1 -1
  394. package/lib/esm/test/PrintElementTree.js.map +1 -1
  395. package/lib/esm/test/PropertyDb.test.js.map +1 -1
  396. package/lib/esm/test/RevisionUtility.js.map +1 -1
  397. package/lib/esm/test/SchemaChangesetCanBeReversed.test.js +51 -51
  398. package/lib/esm/test/SchemaChangesetCanBeReversed.test.js.map +1 -1
  399. package/lib/esm/test/SchemaUtils.test.js +25 -25
  400. package/lib/esm/test/SchemaUtils.test.js.map +1 -1
  401. package/lib/esm/test/SequentialLogMatcher.js.map +1 -1
  402. package/lib/esm/test/SquashSchemaAndDataChanges.test.js +129 -129
  403. package/lib/esm/test/SquashSchemaAndDataChanges.test.js.map +1 -1
  404. package/lib/esm/test/TestChangeSetUtility.js.map +1 -1
  405. package/lib/esm/test/TestEditTxn.js.map +1 -1
  406. package/lib/esm/test/TestUtils.d.ts +1 -1
  407. package/lib/esm/test/TestUtils.d.ts.map +1 -1
  408. package/lib/esm/test/TestUtils.js +1 -1
  409. package/lib/esm/test/TestUtils.js.map +1 -1
  410. package/lib/esm/test/annotations/Fields.test.js +53 -53
  411. package/lib/esm/test/annotations/Fields.test.js.map +1 -1
  412. package/lib/esm/test/annotations/FrameGeometry.test.js.map +1 -1
  413. package/lib/esm/test/annotations/LeaderGeometry.test.js.map +1 -1
  414. package/lib/esm/test/annotations/TextAnnotation.test.js.map +1 -1
  415. package/lib/esm/test/annotations/TextBlock.test.js.map +1 -1
  416. package/lib/esm/test/assets/IncrementalSchemaLocater/configs/old.config.js.map +1 -1
  417. package/lib/esm/test/assets/IncrementalSchemaLocater/configs/simple.config.js.map +1 -1
  418. package/lib/esm/test/categories/Category.test.js.map +1 -1
  419. package/lib/esm/test/codespec/CodeSpec.test.js.map +1 -1
  420. package/lib/esm/test/ecdb/CTE.test.js +88 -88
  421. package/lib/esm/test/ecdb/CTE.test.js.map +1 -1
  422. package/lib/esm/test/ecdb/ConcurrentQuery.test.js +19 -19
  423. package/lib/esm/test/ecdb/ConcurrentQuery.test.js.map +1 -1
  424. package/lib/esm/test/ecdb/ConcurrentQueryLoad.test.js +15 -15
  425. package/lib/esm/test/ecdb/ConcurrentQueryLoad.test.js.map +1 -1
  426. package/lib/esm/test/ecdb/ECDb.test.js +72 -72
  427. package/lib/esm/test/ecdb/ECDb.test.js.map +1 -1
  428. package/lib/esm/test/ecdb/ECDbTestHelper.js.map +1 -1
  429. package/lib/esm/test/ecdb/ECSchemaXmlContext.test.js.map +1 -1
  430. package/lib/esm/test/ecdb/ECSqlAst.test.js +65 -65
  431. package/lib/esm/test/ecdb/ECSqlAst.test.js.map +1 -1
  432. package/lib/esm/test/ecdb/ECSqlQuery.test.js +4 -4
  433. package/lib/esm/test/ecdb/ECSqlQuery.test.js.map +1 -1
  434. package/lib/esm/test/ecdb/ECSqlStatement.test.js +332 -332
  435. package/lib/esm/test/ecdb/ECSqlStatement.test.js.map +1 -1
  436. package/lib/esm/test/ecdb/ECSqlSyncReader.test.js.map +1 -1
  437. package/lib/esm/test/ecdb/QueryReaders.test.js +31 -31
  438. package/lib/esm/test/ecdb/QueryReaders.test.js.map +1 -1
  439. package/lib/esm/test/ecdb/SqliteStatement.test.js.map +1 -1
  440. package/lib/esm/test/ecsql/dataset/ECSqlDatasets.js.map +1 -1
  441. package/lib/esm/test/ecsql/src/ECSqlTestGenerator.js +21 -21
  442. package/lib/esm/test/ecsql/src/ECSqlTestGenerator.js.map +1 -1
  443. package/lib/esm/test/ecsql/src/ECSqlTestParser.js.map +1 -1
  444. package/lib/esm/test/ecsql/src/ECSqlTestRunner.test.js.map +1 -1
  445. package/lib/esm/test/element/DeleteDefinitionElements.test.js.map +1 -1
  446. package/lib/esm/test/element/ElementAspect.test.js +22 -22
  447. package/lib/esm/test/element/ElementAspect.test.js.map +1 -1
  448. package/lib/esm/test/element/ElementDependencyGraph.test.js.map +1 -1
  449. package/lib/esm/test/element/ElementRoundTrip.test.js +139 -139
  450. package/lib/esm/test/element/ElementRoundTrip.test.js.map +1 -1
  451. package/lib/esm/test/element/ExcludedElements.test.js.map +1 -1
  452. package/lib/esm/test/element/ExternalSource.test.js.map +1 -1
  453. package/lib/esm/test/element/NullStructArray.test.js +13 -13
  454. package/lib/esm/test/element/NullStructArray.test.js.map +1 -1
  455. package/lib/esm/test/element/ProjectInformationRecord.test.js.map +1 -1
  456. package/lib/esm/test/element/SheetInformationAspect.test.js.map +1 -1
  457. package/lib/esm/test/element/UrlLink.test.js.map +1 -1
  458. package/lib/esm/test/font/FontFile.test.js.map +1 -1
  459. package/lib/esm/test/font/IModelDbFonts.test.js.map +1 -1
  460. package/lib/esm/test/hubaccess/ApplyChangeset.test.js +32 -32
  461. package/lib/esm/test/hubaccess/ApplyChangeset.test.js.map +1 -1
  462. package/lib/esm/test/hubaccess/BriefcaseManager.test.js +1 -1
  463. package/lib/esm/test/hubaccess/BriefcaseManager.test.js.map +1 -1
  464. package/lib/esm/test/hubaccess/CheckpointManager.test.js.map +1 -1
  465. package/lib/esm/test/hubaccess/CodeSwap.test.js.map +1 -1
  466. package/lib/esm/test/hubaccess/Rebase.test.js +56 -56
  467. package/lib/esm/test/hubaccess/Rebase.test.js.map +1 -1
  468. package/lib/esm/test/hubaccess/SemanticRebase.test.js +345 -345
  469. package/lib/esm/test/hubaccess/SemanticRebase.test.js.map +1 -1
  470. package/lib/esm/test/imageData.js.map +1 -1
  471. package/lib/esm/test/imodel/Code.test.js.map +1 -1
  472. package/lib/esm/test/imodel/ElementTreeWalker.test.js.map +1 -1
  473. package/lib/esm/test/imodel/GetTextureImage.test.js.map +1 -1
  474. package/lib/esm/test/imodel/IModel.test.js +53 -47
  475. package/lib/esm/test/imodel/IModel.test.js.map +1 -1
  476. package/lib/esm/test/imodel/ProjectExtents.test.js.map +1 -1
  477. package/lib/esm/test/imodel/SchemaXmlImport.test.js +21 -21
  478. package/lib/esm/test/imodel/SchemaXmlImport.test.js.map +1 -1
  479. package/lib/esm/test/incrementalSchemaLocater/ECSqlQueries.test.js.map +1 -1
  480. package/lib/esm/test/incrementalSchemaLocater/IncrementalLoading.test.js.map +1 -1
  481. package/lib/esm/test/incrementalSchemaLocater/TestContext.js.map +1 -1
  482. package/lib/esm/test/index.js.map +1 -1
  483. package/lib/esm/test/internal/ECSqlInstanceReshaper.test.d.ts +2 -0
  484. package/lib/esm/test/internal/ECSqlInstanceReshaper.test.d.ts.map +1 -0
  485. package/lib/esm/test/internal/ECSqlInstanceReshaper.test.js +289 -0
  486. package/lib/esm/test/internal/ECSqlInstanceReshaper.test.js.map +1 -0
  487. package/lib/esm/test/misc/DevTools.test.js.map +1 -1
  488. package/lib/esm/test/misc/EntitySubClasses.test.js.map +1 -1
  489. package/lib/esm/test/misc/PromiseMemoizer.test.js.map +1 -1
  490. package/lib/esm/test/native/DgnDbWorker.test.js.map +1 -1
  491. package/lib/esm/test/rpc/response.test.js.map +1 -1
  492. package/lib/esm/test/schema/ClassRegistry.test.js +99 -99
  493. package/lib/esm/test/schema/ClassRegistry.test.js.map +1 -1
  494. package/lib/esm/test/schema/FunctionalDomain.test.js.map +1 -1
  495. package/lib/esm/test/schema/GenericDomain.test.js.map +1 -1
  496. package/lib/esm/test/schema/IModelSchemaContext.test.js +9 -9
  497. package/lib/esm/test/schema/IModelSchemaContext.test.js.map +1 -1
  498. package/lib/esm/test/schema/SchemaImportCallbacks.test.js +19 -19
  499. package/lib/esm/test/schema/SchemaImportCallbacks.test.js.map +1 -1
  500. package/lib/esm/test/schema/SchemaViewHidden.test.js +109 -109
  501. package/lib/esm/test/schema/SchemaViewHidden.test.js.map +1 -1
  502. package/lib/esm/test/schema/SchemaViewKoQ.test.js +13 -13
  503. package/lib/esm/test/schema/SchemaViewKoQ.test.js.map +1 -1
  504. package/lib/esm/test/schema/SchemaViewLifecycle.test.js +15 -15
  505. package/lib/esm/test/schema/SchemaViewLifecycle.test.js.map +1 -1
  506. package/lib/esm/test/schema/SchemaViewValidation.test.js +8 -8
  507. package/lib/esm/test/schema/SchemaViewValidation.test.js.map +1 -1
  508. package/lib/esm/test/sheetindex/SheetIndex.test.js.map +1 -1
  509. package/lib/esm/test/standalone/ChangeElementParentModel.test.js.map +1 -1
  510. package/lib/esm/test/standalone/ChangeMerge.test.js.map +1 -1
  511. package/lib/esm/test/standalone/ChangesetReader.test.js +1021 -406
  512. package/lib/esm/test/standalone/ChangesetReader.test.js.map +1 -1
  513. package/lib/esm/test/standalone/CloudSqlite.test.js.map +1 -1
  514. package/lib/esm/test/standalone/CustomViewState3dCreator.test.js.map +1 -1
  515. package/lib/esm/test/standalone/DeleteElements.test.js.map +1 -1
  516. package/lib/esm/test/standalone/DisplayStyle.test.js.map +1 -1
  517. package/lib/esm/test/standalone/Drawing.test.js.map +1 -1
  518. package/lib/esm/test/standalone/EditTxn.test.js.map +1 -1
  519. package/lib/esm/test/standalone/ElementGraphics.test.js.map +1 -1
  520. package/lib/esm/test/standalone/ElementMesh.test.js.map +1 -1
  521. package/lib/esm/test/standalone/ExportGraphics.test.js +14 -14
  522. package/lib/esm/test/standalone/ExportGraphics.test.js.map +1 -1
  523. package/lib/esm/test/standalone/GeometryChangeEvents.test.js.map +1 -1
  524. package/lib/esm/test/standalone/GeometryStream.test.js.map +1 -1
  525. package/lib/esm/test/standalone/HubMock.test.js.map +1 -1
  526. package/lib/esm/test/standalone/IModelLimits.test.js.map +1 -1
  527. package/lib/esm/test/standalone/IModelWrite.test.js +27 -27
  528. package/lib/esm/test/standalone/IModelWrite.test.js.map +1 -1
  529. package/lib/esm/test/standalone/ITwinWorkspace.test.js.map +1 -1
  530. package/lib/esm/test/standalone/InlineGeometryPartReferences.test.js.map +1 -1
  531. package/lib/esm/test/standalone/IntegrityCheck.test.js.map +1 -1
  532. package/lib/esm/test/standalone/MergeConflict.test.js.map +1 -1
  533. package/lib/esm/test/standalone/NativeAppStorage.test.js.map +1 -1
  534. package/lib/esm/test/standalone/RenderMaterialElement.test.js.map +1 -1
  535. package/lib/esm/test/standalone/RenderTimeline.test.js.map +1 -1
  536. package/lib/esm/test/standalone/SQLiteDb.test.js.map +1 -1
  537. package/lib/esm/test/standalone/SQliteChangesetReaderAndChangesetECAdaptor.test.js +135 -135
  538. package/lib/esm/test/standalone/SQliteChangesetReaderAndChangesetECAdaptor.test.js.map +1 -1
  539. package/lib/esm/test/standalone/SchemaUtils.test.js.map +1 -1
  540. package/lib/esm/test/standalone/SectionDrawing.test.js.map +1 -1
  541. package/lib/esm/test/standalone/ServerBasedLocks.test.js.map +1 -1
  542. package/lib/esm/test/standalone/Setting.test.js.map +1 -1
  543. package/lib/esm/test/standalone/Settings.test.js.map +1 -1
  544. package/lib/esm/test/standalone/SettingsSchemas.test.js +6 -0
  545. package/lib/esm/test/standalone/SettingsSchemas.test.js.map +1 -1
  546. package/lib/esm/test/standalone/SnapshotDb.test.js.map +1 -1
  547. package/lib/esm/test/standalone/StandaloneDb.test.js +20 -20
  548. package/lib/esm/test/standalone/StandaloneDb.test.js.map +1 -1
  549. package/lib/esm/test/standalone/Texture.test.js.map +1 -1
  550. package/lib/esm/test/standalone/TileCache.test.js.map +1 -1
  551. package/lib/esm/test/standalone/TileTree.test.js.map +1 -1
  552. package/lib/esm/test/standalone/TxnManager.test.js.map +1 -1
  553. package/lib/esm/test/standalone/ViewDefinition.test.js.map +1 -1
  554. package/lib/esm/test/standalone/ViewStoreDb.test.js.map +1 -1
  555. package/lib/esm/test/standalone/Workspace.test.js.map +1 -1
  556. package/lib/esm/test/standalone/iModelDb.test.js.map +1 -1
  557. package/lib/esm/test/workspace/SettingsDb.test.js.map +1 -1
  558. package/lib/esm/workspace/Settings.js.map +1 -1
  559. package/lib/esm/workspace/SettingsDb.js.map +1 -1
  560. package/lib/esm/workspace/SettingsEditor.js.map +1 -1
  561. package/lib/esm/workspace/SettingsSchemas.d.ts +28 -2
  562. package/lib/esm/workspace/SettingsSchemas.d.ts.map +1 -1
  563. package/lib/esm/workspace/SettingsSchemas.js.map +1 -1
  564. package/lib/esm/workspace/Workspace.js.map +1 -1
  565. package/lib/esm/workspace/WorkspaceEditor.js.map +1 -1
  566. package/package.json +13 -13
@@ -9,13 +9,14 @@ import * as fs from "fs";
9
9
  import { join } from "path";
10
10
  import * as touch from "touch";
11
11
  import { assert, BeEvent, BentleyStatus, ChangeSetStatus, DbChangeStage, DbConflictCause, DbConflictResolution, DbResult, Guid, Id64, IModelStatus, JsonUtils, Logger, LogLevel, LRUMap, OpenMode } from "@itwin/core-bentley";
12
- import { BriefcaseIdValue, Code, DomainOptions, ECJsNames, ECSqlReader, EditTxnError, EntityMetaData, FontMap, IModel, IModelError, IModelNotFoundResponse, ProfileOptions, QueryRowFormat, resolveNavPropId, SchemaState, ViewStoreError, ViewStoreRpc } from "@itwin/core-common";
12
+ import { BriefcaseIdValue, Code, DomainOptions, ECJsNames, ECSqlReader, EditTxnError, EntityMetaData, FontMap, IModel, IModelError, IModelNotFoundResponse, ProfileOptions, QueryBinder, QueryRowFormat, resolveNavPropId, SchemaState, ViewStoreError, ViewStoreRpc } from "@itwin/core-common";
13
13
  import { Range2d, Range3d } from "@itwin/core-geometry";
14
14
  import { BackendLoggerCategory } from "./BackendLoggerCategory";
15
15
  import { BriefcaseManager } from "./BriefcaseManager";
16
16
  import { ChannelControl } from "./ChannelControl";
17
17
  import { createChannelControl } from "./internal/ChannelAdmin";
18
18
  import { CheckpointManager, V2CheckpointManager } from "./CheckpointManager";
19
+ import { getRuntimeClass, reshapeInstanceRow } from "./internal/ECSqlInstanceReshaper";
19
20
  import { ClassRegistry, EntityJsClassMap, MetaDataRegistry } from "./ClassRegistry";
20
21
  import { CloudSqlite } from "./CloudSqlite";
21
22
  import { CodeService } from "./CodeService";
@@ -163,7 +164,7 @@ export class IModelDb extends IModel {
163
164
  _schemaMap;
164
165
  _schemaContext;
165
166
  _schemasPromise;
166
- /** @deprecated in 5.0.0 - will not be removed until after 2026-06-13. Use [[fonts]]. */
167
+ /** @deprecated in 5.0.0 - might be removed in next major version. Use [[fonts]]. */
167
168
  _fontMap; // eslint-disable-line @typescript-eslint/no-deprecated
168
169
  _fonts = createIModelDbFonts(this);
169
170
  _workspace;
@@ -238,7 +239,7 @@ export class IModelDb extends IModel {
238
239
  restartDefaultTxn() {
239
240
  this[_nativeDb].restartDefaultTxn();
240
241
  }
241
- /** @deprecated in 5.0.0 - will not be removed until after 2026-06-13. Use [[fonts]]. */
242
+ /** @deprecated in 5.0.0 - might be removed in next major version. Use [[fonts]]. */
242
243
  get fontMap() {
243
244
  return this._fontMap ?? (this._fontMap = new FontMap(this[_nativeDb].readFontMap())); // eslint-disable-line @typescript-eslint/no-deprecated
244
245
  }
@@ -521,7 +522,7 @@ export class IModelDb extends IModel {
521
522
  * @returns the value returned by `callback`.
522
523
  * @see [[withStatement]]
523
524
  * @public
524
- * @deprecated in 4.11 - will not be removed until after 2026-06-13. Use [[createQueryReader]] instead.
525
+ * @deprecated in 4.11 - might be removed in next major version. Use [[createQueryReader]] instead.
525
526
  */
526
527
  // eslint-disable-next-line @typescript-eslint/no-deprecated
527
528
  withPreparedStatement(ecsql, callback, logErrors = true) {
@@ -553,7 +554,7 @@ export class IModelDb extends IModel {
553
554
  * @returns the value returned by `callback`.
554
555
  * @see [[withPreparedStatement]]
555
556
  * @public
556
- * @deprecated in 4.11 - will not be removed until after 2026-06-13. Use [[createQueryReader]] instead.
557
+ * @deprecated in 4.11 - might be removed in next major version. Use [[createQueryReader]] instead.
557
558
  */
558
559
  // eslint-disable-next-line @typescript-eslint/no-deprecated
559
560
  withStatement(ecsql, callback, logErrors = true) {
@@ -590,7 +591,7 @@ export class IModelDb extends IModel {
590
591
  * */
591
592
  createQueryReader(ecsql, params, config) {
592
593
  if (!this[_nativeDb].isOpen())
593
- throw new IModelError(DbResult.BE_SQLITE_ERROR, "db not open");
594
+ throw new IModelError(DbResult.BE_SQLITE_ERROR_NOTOPEN, "db not open");
594
595
  const executor = {
595
596
  execute: async (request) => {
596
597
  return ConcurrentQuery.executeQueryRequest(this[_nativeDb], request);
@@ -615,7 +616,7 @@ export class IModelDb extends IModel {
615
616
  * */
616
617
  withQueryReader(ecsql, callback, params, config) {
617
618
  if (!this[_nativeDb].isOpen())
618
- throw new IModelError(DbResult.BE_SQLITE_ERROR, "db not open");
619
+ throw new IModelError(DbResult.BE_SQLITE_ERROR_NOTOPEN, "db not open");
619
620
  const executor = new ECSqlRowExecutor(this);
620
621
  const reader = new ECSqlSyncReader(executor, ecsql, params, config);
621
622
  const release = () => executor[Symbol.dispose]();
@@ -774,19 +775,17 @@ export class IModelDb extends IModel {
774
775
  if (typeof params.offset === "number" && params.offset > 0)
775
776
  sql += ` OFFSET ${params.offset}`;
776
777
  const ids = new Set();
777
- // eslint-disable-next-line @typescript-eslint/no-deprecated
778
- this.withPreparedStatement(sql, (stmt) => {
779
- if (params.bindings)
780
- stmt.bindValues(params.bindings);
781
- for (const row of stmt) {
782
- if (row.id !== undefined) {
783
- ids.add(row.id);
778
+ this.withQueryReader(sql, (reader) => {
779
+ for (const row of reader) {
780
+ const id = row[0];
781
+ if (id !== undefined) {
782
+ ids.add(id);
784
783
  if (ids.size > IModelDb.maxLimit) {
785
784
  throw new IModelError(IModelStatus.BadRequest, "Max LIMIT exceeded in SELECT statement");
786
785
  }
787
786
  }
788
787
  }
789
- });
788
+ }, QueryBinder.from(params.bindings));
790
789
  return ids;
791
790
  }
792
791
  clearCaches(params) {
@@ -875,7 +874,7 @@ export class IModelDb extends IModel {
875
874
  }
876
875
  }
877
876
  /** @internal
878
- * @deprecated in 4.8 - will not be removed until after 2026-06-13. Use `txns.reverseTxns`.
877
+ * @deprecated in 4.8 - might be removed in next major version. Use `txns.reverseTxns`.
879
878
  */
880
879
  reverseTxns(numOperations) {
881
880
  return this[_nativeDb].reverseTxns(numOperations);
@@ -1242,7 +1241,7 @@ export class IModelDb extends IModel {
1242
1241
  }
1243
1242
  /** The registry of entity metadata for this iModel.
1244
1243
  * @internal
1245
- * @deprecated in 5.0 - will not be removed until after 2026-06-13. Use `getSchemaView()` from the `iModel` instead.
1244
+ * @deprecated in 5.0 - might be removed in next major version. Use `getSchemaView()` from the `iModel` instead.
1246
1245
  *
1247
1246
  * @example
1248
1247
  * ```typescript
@@ -1357,7 +1356,7 @@ export class IModelDb extends IModel {
1357
1356
  * @param sql The ECSQL statement to prepare
1358
1357
  * @param logErrors Determines if error will be logged if statement fail to prepare
1359
1358
  * @throws [[IModelError]] if there is a problem preparing the statement.
1360
- * @deprecated in 4.11 - will not be removed until after 2026-06-13. Use [IModelDb.createQueryReader]($backend) or [ECDb.createQueryReader]($backend) to query.
1359
+ * @deprecated in 4.11 - might be removed in next major version. Use [IModelDb.createQueryReader]($backend) or [ECDb.createQueryReader]($backend) to query.
1361
1360
  */
1362
1361
  // eslint-disable-next-line @typescript-eslint/no-deprecated
1363
1362
  prepareStatement(sql, logErrors = true) {
@@ -1369,7 +1368,7 @@ export class IModelDb extends IModel {
1369
1368
  /** Prepare an ECSQL statement.
1370
1369
  * @param sql The ECSQL statement to prepare
1371
1370
  * @returns `undefined` if there is a problem preparing the statement.
1372
- * @deprecated in 4.11 - will not be removed until after 2026-06-13. Use [IModelDb.createQueryReader]($backend) or [ECDb.createQueryReader]($backend) to query.
1371
+ * @deprecated in 4.11 - might be removed in next major version. Use [IModelDb.createQueryReader]($backend) or [ECDb.createQueryReader]($backend) to query.
1373
1372
  */
1374
1373
  // eslint-disable-next-line @typescript-eslint/no-deprecated
1375
1374
  tryPrepareStatement(sql) {
@@ -1419,7 +1418,7 @@ export class IModelDb extends IModel {
1419
1418
  }
1420
1419
  /** Get metadata for a class. This method will load the metadata from the iModel into the cache as a side-effect, if necessary.
1421
1420
  * @throws [[IModelError]] if the metadata cannot be found nor loaded.
1422
- * @deprecated in 5.0 - will not be removed until after 2026-06-13. Use `getSchemaView()` on the iModel and call `view.findClass(...)` instead.
1421
+ * @deprecated in 5.0 - might be removed in next major version. Use `getSchemaView()` on the iModel and call `view.findClass(...)` instead.
1423
1422
  *
1424
1423
  * @example
1425
1424
  * * ```typescript
@@ -1446,7 +1445,7 @@ export class IModelDb extends IModel {
1446
1445
  return metadata;
1447
1446
  }
1448
1447
  /** Identical to [[getMetaData]], except it returns `undefined` instead of throwing an error if the metadata cannot be found nor loaded.
1449
- * @deprecated in 5.0 - will not be removed until after 2026-06-13. Use `getSchemaView()` on the iModel and call `view.findClass(...)` instead.
1448
+ * @deprecated in 5.0 - might be removed in next major version. Use `getSchemaView()` on the iModel and call `view.findClass(...)` instead.
1450
1449
  *
1451
1450
  * @example
1452
1451
  * * ```typescript
@@ -1475,7 +1474,7 @@ export class IModelDb extends IModel {
1475
1474
  * @param func The callback to be invoked on each property
1476
1475
  * @param includeCustom If true (default), include custom-handled properties in the iteration. Otherwise, skip custom-handled properties.
1477
1476
  * @note Custom-handled properties are core properties that have behavior enforced by C++ handlers.
1478
- * @deprecated in 5.0 - will not be removed until after 2026-06-13. Use `getSchemaView()` on the iModel and iterate `view.findClass(classFullName)?.getProperties()` instead.
1477
+ * @deprecated in 5.0 - might be removed in next major version. Use `getSchemaView()` on the iModel and iterate `view.findClass(classFullName)?.getProperties()` instead.
1479
1478
  *
1480
1479
  * @example
1481
1480
  * ```typescript
@@ -1502,7 +1501,7 @@ export class IModelDb extends IModel {
1502
1501
  * @param func The callback to be invoked on each property
1503
1502
  * @param includeCustom If true (default), include custom-handled properties in the iteration. Otherwise, skip custom-handled properties.
1504
1503
  * @note Custom-handled properties are core properties that have behavior enforced by C++ handlers.
1505
- * @deprecated in 5.0 - will not be removed until after 2026-06-13. Use `getSchemaView()` on the iModel and iterate `view.findClass(classFullName)?.getProperties()` instead.
1504
+ * @deprecated in 5.0 - might be removed in next major version. Use `getSchemaView()` on the iModel and iterate `view.findClass(classFullName)?.getProperties()` instead.
1506
1505
  *
1507
1506
  * @example
1508
1507
  * ```typescript
@@ -1533,7 +1532,7 @@ export class IModelDb extends IModel {
1533
1532
  }
1534
1533
  /**
1535
1534
  * @internal
1536
- * @deprecated in 5.0 - will not be removed until after 2026-06-13. Please use `schemaContext` from `iModel` instead to get metadata.
1535
+ * @deprecated in 5.0 - might be removed in next major version. Please use `schemaContext` from `iModel` instead to get metadata.
1537
1536
  */
1538
1537
  loadMetaData(classFullName) {
1539
1538
  // eslint-disable-next-line @typescript-eslint/no-deprecated
@@ -1585,17 +1584,15 @@ export class IModelDb extends IModel {
1585
1584
  */
1586
1585
  querySchemaVersionNumbers(schemaName) {
1587
1586
  const sql = `SELECT VersionMajor,VersionWrite,VersionMinor FROM ECDbMeta.ECSchemaDef WHERE Name=:schemaName LIMIT 1`;
1588
- // eslint-disable-next-line @typescript-eslint/no-deprecated
1589
- return this.withPreparedStatement(sql, (statement) => {
1590
- statement.bindString("schemaName", schemaName);
1591
- if (DbResult.BE_SQLITE_ROW === statement.step()) {
1592
- const read = statement.getValue(0).getInteger(); // ECSchemaDef.VersionMajor --> semver.major
1593
- const write = statement.getValue(1).getInteger(); // ECSchemaDef.VersionWrite --> semver.minor
1594
- const minor = statement.getValue(2).getInteger(); // ECSchemaDef.VersionMinor --> semver.patch
1587
+ return this.withQueryReader(sql, (reader) => {
1588
+ if (reader.step()) {
1589
+ const read = reader.current[0]; // ECSchemaDef.VersionMajor --> semver.major
1590
+ const write = reader.current[1]; // ECSchemaDef.VersionWrite --> semver.minor
1591
+ const minor = reader.current[2]; // ECSchemaDef.VersionMinor --> semver.patch
1595
1592
  return new ECVersion(read, write, minor);
1596
1593
  }
1597
1594
  return undefined;
1598
- });
1595
+ }, new QueryBinder().bindString("schemaName", schemaName));
1599
1596
  }
1600
1597
  /** Returns true if the specified schema exists in the iModel and is no older than the specified minimum version.
1601
1598
  * @beta
@@ -2050,14 +2047,12 @@ function processSchemaWriteStatus(status) {
2050
2047
  */
2051
2048
  queryLastModifiedTime(modelId) {
2052
2049
  const sql = `SELECT LastMod FROM ${Model.classFullName} WHERE ECInstanceId=:modelId`;
2053
- // eslint-disable-next-line @typescript-eslint/no-deprecated
2054
- return this._iModel.withPreparedStatement(sql, (statement) => {
2055
- statement.bindId("modelId", modelId);
2056
- if (DbResult.BE_SQLITE_ROW === statement.step()) {
2057
- return statement.getValue(0).getDateTime();
2050
+ return this._iModel.withQueryReader(sql, (reader) => {
2051
+ if (reader.step()) {
2052
+ return reader.current[0];
2058
2053
  }
2059
2054
  throw new IModelError(IModelStatus.InvalidId, `Can't get lastMod time for Model ${modelId}`);
2060
- });
2055
+ }, new QueryBinder().bindId("modelId", modelId));
2061
2056
  }
2062
2057
  /** Get the Model with the specified identifier.
2063
2058
  * @param modelId The Model identifier.
@@ -2385,13 +2380,11 @@ function processSchemaWriteStatus(status) {
2385
2380
  */
2386
2381
  queryLastModifiedTime(elementId) {
2387
2382
  const sql = "SELECT LastMod FROM BisCore:Element WHERE ECInstanceId=:elementId";
2388
- // eslint-disable-next-line @typescript-eslint/no-deprecated
2389
- return this._iModel.withPreparedStatement(sql, (statement) => {
2390
- statement.bindId("elementId", elementId);
2391
- if (DbResult.BE_SQLITE_ROW === statement.step())
2392
- return statement.getValue(0).getDateTime();
2383
+ return this._iModel.withQueryReader(sql, (reader) => {
2384
+ if (reader.step())
2385
+ return reader.current[0];
2393
2386
  throw new IModelError(IModelStatus.InvalidId, `Can't get lastMod time for Element ${elementId}`);
2394
- });
2387
+ }, new QueryBinder().bindId("elementId", elementId));
2395
2388
  }
2396
2389
  /** Create a new instance of an element.
2397
2390
  * @param elProps The properties of the new element.
@@ -2466,15 +2459,13 @@ function processSchemaWriteStatus(status) {
2466
2459
  */
2467
2460
  queryChildren(elementId) {
2468
2461
  const sql = "SELECT ECInstanceId FROM BisCore:Element WHERE Parent.Id=:elementId";
2469
- // eslint-disable-next-line @typescript-eslint/no-deprecated
2470
- return this._iModel.withPreparedStatement(sql, (statement) => {
2471
- statement.bindId("elementId", elementId);
2462
+ return this._iModel.withQueryReader(sql, (reader) => {
2472
2463
  const childIds = [];
2473
- while (DbResult.BE_SQLITE_ROW === statement.step()) {
2474
- childIds.push(statement.getValue(0).getId());
2464
+ for (const row of reader) {
2465
+ childIds.push(row[0]);
2475
2466
  }
2476
2467
  return childIds;
2477
- });
2468
+ }, new QueryBinder().bindId("elementId", elementId));
2478
2469
  }
2479
2470
  /** Query for the parent of the specified element.
2480
2471
  * @param elementId The element to check for a parent
@@ -2482,14 +2473,12 @@ function processSchemaWriteStatus(status) {
2482
2473
  * @throws [[IModelError]] if the element does not exist
2483
2474
  */
2484
2475
  queryParent(elementId) {
2485
- // eslint-disable-next-line @typescript-eslint/no-deprecated
2486
- return this._iModel.withPreparedStatement(`select parent.id from ${Element.classFullName} where ecinstanceid=?`, (stmt) => {
2487
- stmt.bindId(1, elementId);
2488
- if (stmt.step() !== DbResult.BE_SQLITE_ROW)
2476
+ return this._iModel.withQueryReader(`select parent.id from ${Element.classFullName} where ecinstanceid=?`, (reader) => {
2477
+ if (!reader.step())
2489
2478
  throw new IModelError(IModelStatus.NotFound, `Element=${elementId}`);
2490
- const value = stmt.getValue(0);
2491
- return value.isNull ? undefined : value.getId();
2492
- });
2479
+ const value = reader.current[0];
2480
+ return value ?? undefined;
2481
+ }, new QueryBinder().bindId(1, elementId));
2493
2482
  }
2494
2483
  /** Returns true if the specified Element has a sub-model.
2495
2484
  * @see [[IModelDb.Models.getSubModel]]
@@ -2499,11 +2488,9 @@ function processSchemaWriteStatus(status) {
2499
2488
  return false; // Special case since the RepositoryModel does not sub-model the root Subject
2500
2489
  // A sub-model will have the same Id value as the element it is describing
2501
2490
  const sql = "SELECT ECInstanceId FROM BisCore:Model WHERE ECInstanceId=:elementId";
2502
- // eslint-disable-next-line @typescript-eslint/no-deprecated
2503
- return this._iModel.withPreparedStatement(sql, (statement) => {
2504
- statement.bindId("elementId", elementId);
2505
- return DbResult.BE_SQLITE_ROW === statement.step();
2506
- });
2491
+ return this._iModel.withQueryReader(sql, (reader) => {
2492
+ return reader.step();
2493
+ }, new QueryBinder().bindId("elementId", elementId));
2507
2494
  }
2508
2495
  /** Get the root subject element. */
2509
2496
  getRootSubject() { return this.getElement(IModel.rootSubjectId); }
@@ -2513,37 +2500,38 @@ function processSchemaWriteStatus(status) {
2513
2500
  * @internal
2514
2501
  */
2515
2502
  _queryAspects(elementId, fromClassFullName, excludedClassFullNames) {
2516
- const sql = `SELECT ECInstanceId,ECClassId FROM ${fromClassFullName} WHERE Element.Id=:elementId ORDER BY ECClassId,ECInstanceId`; // ORDER BY to maximize statement reuse
2517
- // eslint-disable-next-line @typescript-eslint/no-deprecated
2518
- return this._iModel.withPreparedStatement(sql, (statement) => {
2519
- statement.bindId("elementId", elementId);
2503
+ const sql = `SELECT ECInstanceId, ec_classname(ECClassId, 's:c') FROM ${fromClassFullName} WHERE Element.Id=:elementId ORDER BY ECClassId,ECInstanceId`; // ORDER BY to maximize statement reuse
2504
+ return this._iModel.withQueryReader(sql, (reader) => {
2520
2505
  const aspects = [];
2521
- while (DbResult.BE_SQLITE_ROW === statement.step()) {
2522
- const aspectInstanceId = statement.getValue(0).getId();
2523
- const aspectClassFullName = statement.getValue(1).getClassNameForClassId().replace(".", ":");
2506
+ for (const row of reader) {
2507
+ const aspectInstanceId = row[0];
2508
+ const aspectClassFullName = row[1];
2524
2509
  if ((undefined === excludedClassFullNames) || (!excludedClassFullNames.has(aspectClassFullName))) {
2525
2510
  aspects.push(this._queryAspect(aspectInstanceId, aspectClassFullName));
2526
2511
  }
2527
2512
  }
2528
2513
  return aspects;
2529
- });
2514
+ }, new QueryBinder().bindId("elementId", elementId));
2530
2515
  }
2531
2516
  /** Query for aspect by ECInstanceId
2532
2517
  * @throws [[IModelError]]
2533
2518
  */
2534
2519
  _queryAspect(aspectInstanceId, aspectClassName) {
2520
+ // `SELECT *` targets a caller/runtime-determined ElementAspect subclass, so its shape can't be decomposed
2521
+ // ahead of time. Query using the non-deprecated UseECSqlPropertyNames format and reshape the row into the
2522
+ // legacy UseJsPropertyNames shape using ECSchema metadata (see ECSqlInstanceReshaper for why a naive,
2523
+ // non-schema-aware rename isn't safe here).
2524
+ const ecClass = getRuntimeClass(this._iModel, aspectClassName);
2535
2525
  const sql = `SELECT * FROM ${aspectClassName} WHERE ECInstanceId=:aspectInstanceId`;
2536
- // eslint-disable-next-line @typescript-eslint/no-deprecated
2537
- const aspect = this._iModel.withPreparedStatement(sql, (statement) => {
2538
- statement.bindId("aspectInstanceId", aspectInstanceId);
2539
- if (DbResult.BE_SQLITE_ROW === statement.step()) {
2540
- const aspectProps = statement.getRow(); // start with everything that SELECT * returned
2526
+ const aspect = this._iModel.withQueryReader(sql, (reader) => {
2527
+ if (reader.step()) {
2528
+ const aspectProps = reshapeInstanceRow(reader.current.toRow(), ecClass, this._iModel);
2541
2529
  aspectProps.classFullName = aspectProps.className.replace(".", ":"); // add in property required by EntityProps
2542
2530
  aspectProps.className = undefined; // clear property from SELECT * that we don't want in the final instance
2543
2531
  return aspectProps;
2544
2532
  }
2545
2533
  return undefined;
2546
- });
2534
+ }, new QueryBinder().bindId("aspectInstanceId", aspectInstanceId), { rowFormat: QueryRowFormat.UseECSqlPropertyNames });
2547
2535
  if (undefined === aspect) {
2548
2536
  throw new IModelError(IModelStatus.NotFound, `ElementAspect not found ${aspectInstanceId}, ${aspectClassName}`);
2549
2537
  }
@@ -2553,12 +2541,10 @@ function processSchemaWriteStatus(status) {
2553
2541
  * @throws [[IModelError]]
2554
2542
  */
2555
2543
  getAspect(aspectInstanceId) {
2556
- const sql = "SELECT ECClassId FROM BisCore:ElementAspect WHERE ECInstanceId=:aspectInstanceId";
2557
- // eslint-disable-next-line @typescript-eslint/no-deprecated
2558
- const aspectClassFullName = this._iModel.withPreparedStatement(sql, (statement) => {
2559
- statement.bindId("aspectInstanceId", aspectInstanceId);
2560
- return (DbResult.BE_SQLITE_ROW === statement.step()) ? statement.getValue(0).getClassNameForClassId().replace(".", ":") : undefined;
2561
- });
2544
+ const sql = "SELECT ec_classname(ECClassId, 's:c') FROM BisCore:ElementAspect WHERE ECInstanceId=:aspectInstanceId";
2545
+ const aspectClassFullName = this._iModel.withQueryReader(sql, (reader) => {
2546
+ return reader.step() ? reader.current[0] : undefined;
2547
+ }, new QueryBinder().bindId("aspectInstanceId", aspectInstanceId));
2562
2548
  if (undefined === aspectClassFullName) {
2563
2549
  throw new IModelError(IModelStatus.NotFound, `ElementAspect not found ${aspectInstanceId}`);
2564
2550
  }
@@ -2566,13 +2552,12 @@ function processSchemaWriteStatus(status) {
2566
2552
  }
2567
2553
  static classMap = new Map();
2568
2554
  runInstanceQuery(sql, elementId, excludedClassFullNames) {
2569
- // eslint-disable-next-line @typescript-eslint/no-deprecated
2570
- return this._iModel.withPreparedStatement(sql, (statement) => {
2571
- statement.bindId("elementId", elementId);
2555
+ return this._iModel.withQueryReader(sql, (reader) => {
2572
2556
  const aspects = [];
2573
- while (DbResult.BE_SQLITE_ROW === statement.step()) {
2557
+ for (const queryRow of reader) {
2574
2558
  const row = {};
2575
- const parsedRow = JSON.parse(statement.getValue(0).getString());
2559
+ const rawInstance = queryRow[0];
2560
+ const parsedRow = typeof rawInstance === "string" ? JSON.parse(rawInstance) : rawInstance;
2576
2561
  // eslint-disable-next-line guard-for-in
2577
2562
  for (const key in parsedRow) {
2578
2563
  const jsName = ECJsNames.toJsName(key[0].toUpperCase() + key.substring(1));
@@ -2585,7 +2570,7 @@ function processSchemaWriteStatus(status) {
2585
2570
  aspects.push(this._iModel.constructEntity(aspectProps));
2586
2571
  }
2587
2572
  return aspects;
2588
- });
2573
+ }, new QueryBinder().bindId("elementId", elementId));
2589
2574
  }
2590
2575
  /** Get the ElementAspect instances that are owned by the specified element.
2591
2576
  * @param elementId Get ElementAspects associated with this Element
@@ -2595,9 +2580,9 @@ function processSchemaWriteStatus(status) {
2595
2580
  */
2596
2581
  getAspects(elementId, aspectClassFullName, excludedClassFullNames) {
2597
2582
  if (aspectClassFullName === undefined) {
2598
- const allAspects = this.runInstanceQuery(`SELECT $ FROM (
2599
- SELECT ECInstanceId, ECClassId FROM Bis.ElementMultiAspect WHERE Element.Id = :elementId
2600
- UNION ALL
2583
+ const allAspects = this.runInstanceQuery(`SELECT $ FROM (
2584
+ SELECT ECInstanceId, ECClassId FROM Bis.ElementMultiAspect WHERE Element.Id = :elementId
2585
+ UNION ALL
2601
2586
  SELECT ECInstanceId, ECClassId FROM Bis.ElementUniqueAspect WHERE Element.Id = :elementId) OPTIONS USE_JS_PROP_NAMES DO_NOT_TRUNCATE_BLOB`, elementId, excludedClassFullNames);
2602
2587
  if (allAspects.length === 0)
2603
2588
  Logger.logInfo(BackendLoggerCategory.ECDb, `No aspects found for class ${aspectClassFullName} and element ${elementId}`);
@@ -2616,14 +2601,15 @@ function processSchemaWriteStatus(status) {
2616
2601
  let classIdList = IModelDb.Elements.classMap.get(aspectClassFullName);
2617
2602
  if (classIdList === undefined) {
2618
2603
  const classIds = [];
2619
- // eslint-disable-next-line @typescript-eslint/no-deprecated
2620
- this._iModel.withPreparedStatement(`select SourceECInstanceId from meta.ClassHasAllBaseClasses where TargetECInstanceId = (select ECInstanceId from meta.ECClassDef where Name='${fullClassName[1]}'
2621
- and Schema.Id = (select ECInstanceId from meta.ECSchemaDef where Name='${fullClassName[0]}')) and SourceECInstanceId != TargetECInstanceId`,
2622
- // eslint-disable-next-line @typescript-eslint/no-deprecated
2623
- (statement) => {
2624
- while (statement.step() === DbResult.BE_SQLITE_ROW)
2625
- classIds.push(statement.getValue(0).getId());
2626
- });
2604
+ const sql = `select SourceECInstanceId from meta.ClassHasAllBaseClasses where TargetECInstanceId = (select ECInstanceId from meta.ECClassDef where Name=:className
2605
+ and Schema.Id = (select ECInstanceId from meta.ECSchemaDef where Name=:schemaName)) and SourceECInstanceId != TargetECInstanceId`;
2606
+ this._iModel.withQueryReader(sql, (reader) => {
2607
+ for (const row of reader) {
2608
+ classIds.push(row[0]);
2609
+ }
2610
+ }, new QueryBinder()
2611
+ .bindString("className", fullClassName[1])
2612
+ .bindString("schemaName", fullClassName[0]));
2627
2613
  if (classIds.length > 0) {
2628
2614
  classIdList = classIds.join(",");
2629
2615
  IModelDb.Elements.classMap.set(aspectClassFullName, classIdList);
@@ -2634,10 +2620,10 @@ function processSchemaWriteStatus(status) {
2634
2620
  return [];
2635
2621
  }
2636
2622
  // Execute an instance query to retrieve all aspects from all the derived classes
2637
- const aspects = this.runInstanceQuery(`SELECT $ FROM (
2638
- SELECT ECInstanceId, ECClassId FROM Bis.ElementMultiAspect WHERE Element.Id = :elementId AND ECClassId IN (${classIdList})
2639
- UNION ALL
2640
- SELECT ECInstanceId, ECClassId FROM Bis.ElementUniqueAspect WHERE Element.Id = :elementId AND ECClassId IN (${classIdList})
2623
+ const aspects = this.runInstanceQuery(`SELECT $ FROM (
2624
+ SELECT ECInstanceId, ECClassId FROM Bis.ElementMultiAspect WHERE Element.Id = :elementId AND ECClassId IN (${classIdList})
2625
+ UNION ALL
2626
+ SELECT ECInstanceId, ECClassId FROM Bis.ElementUniqueAspect WHERE Element.Id = :elementId AND ECClassId IN (${classIdList})
2641
2627
  ) OPTIONS USE_JS_PROP_NAMES DO_NOT_TRUNCATE_BLOB`, elementId, excludedClassFullNames);
2642
2628
  if (aspects.length === 0)
2643
2629
  Logger.logInfo(BackendLoggerCategory.ECDb, `No aspects found for class ${aspectClassFullName} and element ${elementId}`);
@@ -2875,7 +2861,7 @@ function processSchemaWriteStatus(status) {
2875
2861
  }
2876
2862
  /** Set the default view property the iModel.
2877
2863
  * @param viewId The Id of the ViewDefinition to use as the default
2878
- * @deprecated in 4.2.0 - will not be removed until after 2026-06-13. Avoid setting this property - it is not practical for one single view to serve the needs of the many applications
2864
+ * @deprecated in 4.2.0 - might be removed in next major version. Avoid setting this property - it is not practical for one single view to serve the needs of the many applications
2879
2865
  * that might wish to view the contents of the iModel.
2880
2866
  */
2881
2867
  setDefaultViewId(viewId) {