@itwin/core-backend 5.1.0-dev.0 → 5.1.0-dev.10
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.
- package/CHANGELOG.md +21 -1
- package/lib/cjs/BackendHubAccess.js.map +1 -1
- package/lib/cjs/BackendLoggerCategory.js.map +1 -1
- package/lib/cjs/BisCoreSchema.js.map +1 -1
- package/lib/cjs/BlobContainerService.js.map +1 -1
- package/lib/cjs/BriefcaseManager.js.map +1 -1
- package/lib/cjs/CatalogDb.js.map +1 -1
- package/lib/cjs/Category.d.ts +37 -0
- package/lib/cjs/Category.d.ts.map +1 -1
- package/lib/cjs/Category.js +73 -0
- package/lib/cjs/Category.js.map +1 -1
- package/lib/cjs/ChangeSummaryManager.js +2 -2
- package/lib/cjs/ChangeSummaryManager.js.map +1 -1
- package/lib/cjs/ChangedElementsDb.js.map +1 -1
- package/lib/cjs/ChangesetECAdaptor.js +242 -242
- package/lib/cjs/ChangesetECAdaptor.js.map +1 -1
- package/lib/cjs/ChannelControl.js.map +1 -1
- package/lib/cjs/CheckpointManager.js.map +1 -1
- package/lib/cjs/ClassRegistry.js +5 -5
- package/lib/cjs/ClassRegistry.js.map +1 -1
- package/lib/cjs/CloudSqlite.js.map +1 -1
- package/lib/cjs/CodeService.js.map +1 -1
- package/lib/cjs/CodeSpecs.js.map +1 -1
- package/lib/cjs/ConcurrentQuery.js.map +1 -1
- package/lib/cjs/CustomViewState3dCreator.js.map +1 -1
- package/lib/cjs/DevTools.js.map +1 -1
- package/lib/cjs/DisplayStyle.d.ts +5 -0
- package/lib/cjs/DisplayStyle.d.ts.map +1 -1
- package/lib/cjs/DisplayStyle.js +27 -0
- package/lib/cjs/DisplayStyle.js.map +1 -1
- package/lib/cjs/ECDb.js.map +1 -1
- package/lib/cjs/ECSchemaXmlContext.js.map +1 -1
- package/lib/cjs/ECSqlStatement.js.map +1 -1
- package/lib/cjs/Element.d.ts +166 -10
- package/lib/cjs/Element.d.ts.map +1 -1
- package/lib/cjs/Element.js +510 -9
- package/lib/cjs/Element.js.map +1 -1
- package/lib/cjs/ElementAspect.js.map +1 -1
- package/lib/cjs/ElementGraphics.js.map +1 -1
- package/lib/cjs/ElementTreeWalker.js.map +1 -1
- package/lib/cjs/Entity.d.ts +41 -1
- package/lib/cjs/Entity.d.ts.map +1 -1
- package/lib/cjs/Entity.js +58 -0
- package/lib/cjs/Entity.js.map +1 -1
- package/lib/cjs/EntityReferences.js.map +1 -1
- package/lib/cjs/ExportGraphics.js.map +1 -1
- package/lib/cjs/ExternalSource.js.map +1 -1
- package/lib/cjs/FontFile.js.map +1 -1
- package/lib/cjs/GeoCoordConfig.js.map +1 -1
- package/lib/cjs/GeographicCRSServices.d.ts +6 -2
- package/lib/cjs/GeographicCRSServices.d.ts.map +1 -1
- package/lib/cjs/GeographicCRSServices.js +1 -1
- package/lib/cjs/GeographicCRSServices.js.map +1 -1
- package/lib/cjs/GeometrySummary.js +47 -47
- package/lib/cjs/GeometrySummary.js.map +1 -1
- package/lib/cjs/IModelDb.d.ts +21 -36
- package/lib/cjs/IModelDb.d.ts.map +1 -1
- package/lib/cjs/IModelDb.js +139 -77
- package/lib/cjs/IModelDb.js.map +1 -1
- package/lib/cjs/IModelDbFonts.js.map +1 -1
- package/lib/cjs/IModelElementCloneContext.js.map +1 -1
- package/lib/cjs/IModelHost.d.ts +13 -0
- package/lib/cjs/IModelHost.d.ts.map +1 -1
- package/lib/cjs/IModelHost.js +6 -0
- package/lib/cjs/IModelHost.js.map +1 -1
- package/lib/cjs/IModelJsFs.js.map +1 -1
- package/lib/cjs/ImageSourceConversion.js.map +1 -1
- package/lib/cjs/IpcHost.js.map +1 -1
- package/lib/cjs/LineStyle.js.map +1 -1
- package/lib/cjs/LocalHub.js +1 -1
- package/lib/cjs/LocalHub.js.map +1 -1
- package/lib/cjs/LocalhostIpcHost.js.map +1 -1
- package/lib/cjs/LockControl.js.map +1 -1
- package/lib/cjs/Material.d.ts +19 -0
- package/lib/cjs/Material.d.ts.map +1 -1
- package/lib/cjs/Material.js +29 -0
- package/lib/cjs/Material.js.map +1 -1
- package/lib/cjs/Model.d.ts +42 -6
- package/lib/cjs/Model.d.ts.map +1 -1
- package/lib/cjs/Model.js +93 -5
- package/lib/cjs/Model.js.map +1 -1
- package/lib/cjs/NativeAppStorage.js.map +1 -1
- package/lib/cjs/NativeHost.js.map +1 -1
- package/lib/cjs/NavigationRelationship.js.map +1 -1
- package/lib/cjs/PromiseMemoizer.js.map +1 -1
- package/lib/cjs/PropertyStore.js.map +1 -1
- package/lib/cjs/Relationship.js.map +1 -1
- package/lib/cjs/RpcBackend.js.map +1 -1
- package/lib/cjs/SQLiteDb.js.map +1 -1
- package/lib/cjs/Schema.js.map +1 -1
- package/lib/cjs/SchemaSync.js.map +1 -1
- package/lib/cjs/SchemaUtils.js.map +1 -1
- package/lib/cjs/SheetIndex.js.map +1 -1
- package/lib/cjs/SqliteChangesetReader.js.map +1 -1
- package/lib/cjs/SqliteStatement.js.map +1 -1
- package/lib/cjs/TextAnnotationElement.js.map +1 -1
- package/lib/cjs/TextAnnotationGeometry.js.map +1 -1
- package/lib/cjs/TextAnnotationLayout.js.map +1 -1
- package/lib/cjs/Texture.js.map +1 -1
- package/lib/cjs/TileStorage.js.map +1 -1
- package/lib/cjs/TxnManager.d.ts.map +1 -1
- package/lib/cjs/TxnManager.js +1 -0
- package/lib/cjs/TxnManager.js.map +1 -1
- package/lib/cjs/ViewDefinition.d.ts +100 -0
- package/lib/cjs/ViewDefinition.d.ts.map +1 -1
- package/lib/cjs/ViewDefinition.js +208 -0
- package/lib/cjs/ViewDefinition.js.map +1 -1
- package/lib/cjs/ViewStateHydrator.js +3 -3
- package/lib/cjs/ViewStateHydrator.js.map +1 -1
- package/lib/cjs/ViewStore.js.map +1 -1
- package/lib/cjs/assets/IModelChange.02.00.00.ecschema.xml +90 -90
- package/lib/cjs/assets/Settings/Schemas/Base.Schema.json +32 -32
- package/lib/cjs/assets/Settings/Schemas/Gcs.schema.json +27 -27
- package/lib/cjs/assets/Settings/Schemas/Workspace.Schema.json +94 -94
- package/lib/cjs/assets/Settings/backend.setting.json5 +21 -21
- package/lib/cjs/core-backend.js.map +1 -1
- package/lib/cjs/domains/FunctionalElements.js.map +1 -1
- package/lib/cjs/domains/FunctionalSchema.js.map +1 -1
- package/lib/cjs/domains/GenericElements.js.map +1 -1
- package/lib/cjs/domains/GenericSchema.js.map +1 -1
- package/lib/cjs/internal/ChangesetConflictArgs.js.map +1 -1
- package/lib/cjs/internal/ChannelAdmin.js.map +1 -1
- package/lib/cjs/internal/ElementLRUCache.d.ts +28 -0
- package/lib/cjs/internal/ElementLRUCache.d.ts.map +1 -0
- package/lib/cjs/internal/ElementLRUCache.js +120 -0
- package/lib/cjs/internal/ElementLRUCache.js.map +1 -0
- package/lib/cjs/internal/FontFileImpl.js.map +1 -1
- package/lib/cjs/internal/HubMock.js.map +1 -1
- package/lib/cjs/internal/IModelDbFontsImpl.js.map +1 -1
- package/lib/cjs/internal/NativePlatform.js.map +1 -1
- package/lib/cjs/internal/NoLocks.js.map +1 -1
- package/lib/cjs/internal/ServerBasedLocks.js.map +1 -1
- package/lib/cjs/internal/Symbols.d.ts +1 -0
- package/lib/cjs/internal/Symbols.d.ts.map +1 -1
- package/lib/cjs/internal/Symbols.js +2 -1
- package/lib/cjs/internal/Symbols.js.map +1 -1
- package/lib/cjs/internal/cross-package.js.map +1 -1
- package/lib/cjs/internal/workspace/SettingsImpl.js.map +1 -1
- package/lib/cjs/internal/workspace/SettingsSchemasImpl.js.map +1 -1
- package/lib/cjs/internal/workspace/WorkspaceImpl.js.map +1 -1
- package/lib/cjs/internal/workspace/WorkspaceSqliteDb.js.map +1 -1
- package/lib/cjs/rpc/multipart.js.map +1 -1
- package/lib/cjs/rpc/tracing.js.map +1 -1
- package/lib/cjs/rpc/web/logging.js.map +1 -1
- package/lib/cjs/rpc/web/request.js.map +1 -1
- package/lib/cjs/rpc/web/response.js.map +1 -1
- package/lib/cjs/rpc-impl/DevToolsRpcImpl.js.map +1 -1
- package/lib/cjs/rpc-impl/IModelReadRpcImpl.js +2 -2
- package/lib/cjs/rpc-impl/IModelReadRpcImpl.js.map +1 -1
- package/lib/cjs/rpc-impl/IModelTileRpcImpl.js.map +1 -1
- package/lib/cjs/rpc-impl/RpcBriefcaseUtility.js.map +1 -1
- package/lib/cjs/rpc-impl/SnapshotIModelRpcImpl.js.map +1 -1
- package/lib/cjs/workspace/Settings.js.map +1 -1
- package/lib/cjs/workspace/SettingsSchemas.js.map +1 -1
- package/lib/cjs/workspace/Workspace.js.map +1 -1
- package/lib/cjs/workspace/WorkspaceEditor.js.map +1 -1
- package/lib/esm/BackendHubAccess.js.map +1 -1
- package/lib/esm/BackendLoggerCategory.js.map +1 -1
- package/lib/esm/BisCoreSchema.js.map +1 -1
- package/lib/esm/BlobContainerService.js.map +1 -1
- package/lib/esm/BriefcaseManager.js.map +1 -1
- package/lib/esm/CatalogDb.js.map +1 -1
- package/lib/esm/Category.d.ts +37 -0
- package/lib/esm/Category.d.ts.map +1 -1
- package/lib/esm/Category.js +73 -0
- package/lib/esm/Category.js.map +1 -1
- package/lib/esm/ChangeSummaryManager.js +2 -2
- package/lib/esm/ChangeSummaryManager.js.map +1 -1
- package/lib/esm/ChangedElementsDb.js.map +1 -1
- package/lib/esm/ChangesetECAdaptor.js +242 -242
- package/lib/esm/ChangesetECAdaptor.js.map +1 -1
- package/lib/esm/ChannelControl.js.map +1 -1
- package/lib/esm/CheckpointManager.js.map +1 -1
- package/lib/esm/ClassRegistry.js +5 -5
- package/lib/esm/ClassRegistry.js.map +1 -1
- package/lib/esm/CloudSqlite.js.map +1 -1
- package/lib/esm/CodeService.js.map +1 -1
- package/lib/esm/CodeSpecs.js.map +1 -1
- package/lib/esm/ConcurrentQuery.js.map +1 -1
- package/lib/esm/CustomViewState3dCreator.js.map +1 -1
- package/lib/esm/DevTools.js.map +1 -1
- package/lib/esm/DisplayStyle.d.ts +5 -0
- package/lib/esm/DisplayStyle.d.ts.map +1 -1
- package/lib/esm/DisplayStyle.js +27 -0
- package/lib/esm/DisplayStyle.js.map +1 -1
- package/lib/esm/ECDb.js.map +1 -1
- package/lib/esm/ECSchemaXmlContext.js.map +1 -1
- package/lib/esm/ECSqlStatement.js.map +1 -1
- package/lib/esm/Element.d.ts +166 -10
- package/lib/esm/Element.d.ts.map +1 -1
- package/lib/esm/Element.js +513 -12
- package/lib/esm/Element.js.map +1 -1
- package/lib/esm/ElementAspect.js.map +1 -1
- package/lib/esm/ElementGraphics.js.map +1 -1
- package/lib/esm/ElementTreeWalker.js.map +1 -1
- package/lib/esm/Entity.d.ts +41 -1
- package/lib/esm/Entity.d.ts.map +1 -1
- package/lib/esm/Entity.js +58 -0
- package/lib/esm/Entity.js.map +1 -1
- package/lib/esm/EntityReferences.js.map +1 -1
- package/lib/esm/ExportGraphics.js.map +1 -1
- package/lib/esm/ExternalSource.js.map +1 -1
- package/lib/esm/FontFile.js.map +1 -1
- package/lib/esm/GeoCoordConfig.js.map +1 -1
- package/lib/esm/GeographicCRSServices.d.ts +6 -2
- package/lib/esm/GeographicCRSServices.d.ts.map +1 -1
- package/lib/esm/GeographicCRSServices.js +1 -1
- package/lib/esm/GeographicCRSServices.js.map +1 -1
- package/lib/esm/GeometrySummary.js +47 -47
- package/lib/esm/GeometrySummary.js.map +1 -1
- package/lib/esm/IModelDb.d.ts +21 -36
- package/lib/esm/IModelDb.d.ts.map +1 -1
- package/lib/esm/IModelDb.js +142 -80
- package/lib/esm/IModelDb.js.map +1 -1
- package/lib/esm/IModelDbFonts.js.map +1 -1
- package/lib/esm/IModelElementCloneContext.js.map +1 -1
- package/lib/esm/IModelHost.d.ts +13 -0
- package/lib/esm/IModelHost.d.ts.map +1 -1
- package/lib/esm/IModelHost.js +6 -0
- package/lib/esm/IModelHost.js.map +1 -1
- package/lib/esm/IModelJsFs.js.map +1 -1
- package/lib/esm/ImageSourceConversion.js.map +1 -1
- package/lib/esm/IpcHost.js.map +1 -1
- package/lib/esm/LineStyle.js.map +1 -1
- package/lib/esm/LocalHub.js +1 -1
- package/lib/esm/LocalHub.js.map +1 -1
- package/lib/esm/LocalhostIpcHost.js.map +1 -1
- package/lib/esm/LockControl.js.map +1 -1
- package/lib/esm/Material.d.ts +19 -0
- package/lib/esm/Material.d.ts.map +1 -1
- package/lib/esm/Material.js +30 -1
- package/lib/esm/Material.js.map +1 -1
- package/lib/esm/Model.d.ts +42 -6
- package/lib/esm/Model.d.ts.map +1 -1
- package/lib/esm/Model.js +94 -6
- package/lib/esm/Model.js.map +1 -1
- package/lib/esm/NativeAppStorage.js.map +1 -1
- package/lib/esm/NativeHost.js.map +1 -1
- package/lib/esm/NavigationRelationship.js.map +1 -1
- package/lib/esm/PromiseMemoizer.js.map +1 -1
- package/lib/esm/PropertyStore.js.map +1 -1
- package/lib/esm/Relationship.js.map +1 -1
- package/lib/esm/RpcBackend.js.map +1 -1
- package/lib/esm/SQLiteDb.js.map +1 -1
- package/lib/esm/Schema.js.map +1 -1
- package/lib/esm/SchemaSync.js.map +1 -1
- package/lib/esm/SchemaUtils.js.map +1 -1
- package/lib/esm/SheetIndex.js.map +1 -1
- package/lib/esm/SqliteChangesetReader.js.map +1 -1
- package/lib/esm/SqliteStatement.js.map +1 -1
- package/lib/esm/TextAnnotationElement.js.map +1 -1
- package/lib/esm/TextAnnotationGeometry.js.map +1 -1
- package/lib/esm/TextAnnotationLayout.js.map +1 -1
- package/lib/esm/Texture.js.map +1 -1
- package/lib/esm/TileStorage.js.map +1 -1
- package/lib/esm/TxnManager.d.ts.map +1 -1
- package/lib/esm/TxnManager.js +1 -0
- package/lib/esm/TxnManager.js.map +1 -1
- package/lib/esm/ViewDefinition.d.ts +100 -0
- package/lib/esm/ViewDefinition.d.ts.map +1 -1
- package/lib/esm/ViewDefinition.js +209 -1
- package/lib/esm/ViewDefinition.js.map +1 -1
- package/lib/esm/ViewStateHydrator.js +3 -3
- package/lib/esm/ViewStateHydrator.js.map +1 -1
- package/lib/esm/ViewStore.js.map +1 -1
- package/lib/esm/core-backend.js.map +1 -1
- package/lib/esm/domains/FunctionalElements.js.map +1 -1
- package/lib/esm/domains/FunctionalSchema.js.map +1 -1
- package/lib/esm/domains/GenericElements.js.map +1 -1
- package/lib/esm/domains/GenericSchema.js.map +1 -1
- package/lib/esm/internal/ChangesetConflictArgs.js.map +1 -1
- package/lib/esm/internal/ChannelAdmin.js.map +1 -1
- package/lib/esm/internal/ElementLRUCache.d.ts +28 -0
- package/lib/esm/internal/ElementLRUCache.d.ts.map +1 -0
- package/lib/esm/internal/ElementLRUCache.js +116 -0
- package/lib/esm/internal/ElementLRUCache.js.map +1 -0
- package/lib/esm/internal/FontFileImpl.js.map +1 -1
- package/lib/esm/internal/HubMock.js.map +1 -1
- package/lib/esm/internal/IModelDbFontsImpl.js.map +1 -1
- package/lib/esm/internal/NativePlatform.js.map +1 -1
- package/lib/esm/internal/NoLocks.js.map +1 -1
- package/lib/esm/internal/ServerBasedLocks.js.map +1 -1
- package/lib/esm/internal/Symbols.d.ts +1 -0
- package/lib/esm/internal/Symbols.d.ts.map +1 -1
- package/lib/esm/internal/Symbols.js +1 -0
- package/lib/esm/internal/Symbols.js.map +1 -1
- package/lib/esm/internal/cross-package.js.map +1 -1
- package/lib/esm/internal/workspace/SettingsImpl.js.map +1 -1
- package/lib/esm/internal/workspace/SettingsSchemasImpl.js.map +1 -1
- package/lib/esm/internal/workspace/WorkspaceImpl.js.map +1 -1
- package/lib/esm/internal/workspace/WorkspaceSqliteDb.js.map +1 -1
- package/lib/esm/rpc/multipart.js.map +1 -1
- package/lib/esm/rpc/tracing.js.map +1 -1
- package/lib/esm/rpc/web/logging.js.map +1 -1
- package/lib/esm/rpc/web/request.js.map +1 -1
- package/lib/esm/rpc/web/response.js.map +1 -1
- package/lib/esm/rpc-impl/DevToolsRpcImpl.js.map +1 -1
- package/lib/esm/rpc-impl/IModelReadRpcImpl.js +2 -2
- package/lib/esm/rpc-impl/IModelReadRpcImpl.js.map +1 -1
- package/lib/esm/rpc-impl/IModelTileRpcImpl.js.map +1 -1
- package/lib/esm/rpc-impl/RpcBriefcaseUtility.js.map +1 -1
- package/lib/esm/rpc-impl/SnapshotIModelRpcImpl.js.map +1 -1
- package/lib/esm/test/AdvancedEqual.js.map +1 -1
- package/lib/esm/test/AttachDb.test.js +11 -11
- package/lib/esm/test/AttachDb.test.js.map +1 -1
- package/lib/esm/test/ElementLRUCache.test.d.ts +2 -0
- package/lib/esm/test/ElementLRUCache.test.d.ts.map +1 -0
- package/lib/esm/test/ElementLRUCache.test.js +212 -0
- package/lib/esm/test/ElementLRUCache.test.js.map +1 -0
- package/lib/esm/test/GeometryTestUtil.js.map +1 -1
- package/lib/esm/test/IModelHost.test.js.map +1 -1
- package/lib/esm/test/IModelTestUtils.js.map +1 -1
- package/lib/esm/test/ImageSourceConversion.test.js.map +1 -1
- package/lib/esm/test/IpcHost.test.js.map +1 -1
- package/lib/esm/test/KnownTestLocations.js.map +1 -1
- package/lib/esm/test/PrintElementTree.js.map +1 -1
- package/lib/esm/test/PropertyDb.test.js.map +1 -1
- package/lib/esm/test/RevisionUtility.js.map +1 -1
- package/lib/esm/test/SchemaUtils.test.js +25 -25
- package/lib/esm/test/SchemaUtils.test.js.map +1 -1
- package/lib/esm/test/SequentialLogMatcher.js.map +1 -1
- package/lib/esm/test/TestChangeSetUtility.js.map +1 -1
- package/lib/esm/test/TestUtils.js.map +1 -1
- package/lib/esm/test/annotations/TextAnnotation.test.js.map +1 -1
- package/lib/esm/test/categories/Category.test.js.map +1 -1
- package/lib/esm/test/codespec/CodeSpec.test.js.map +1 -1
- package/lib/esm/test/ecdb/CTE.test.js +88 -88
- package/lib/esm/test/ecdb/CTE.test.js.map +1 -1
- package/lib/esm/test/ecdb/ConcurrentQueryLoad.test.js +15 -15
- package/lib/esm/test/ecdb/ConcurrentQueryLoad.test.js.map +1 -1
- package/lib/esm/test/ecdb/ECDb.test.js +57 -57
- package/lib/esm/test/ecdb/ECDb.test.js.map +1 -1
- package/lib/esm/test/ecdb/ECDbTestHelper.js.map +1 -1
- package/lib/esm/test/ecdb/ECSchemaXmlContext.test.js.map +1 -1
- package/lib/esm/test/ecdb/ECSqlAst.test.js +65 -65
- package/lib/esm/test/ecdb/ECSqlAst.test.js.map +1 -1
- package/lib/esm/test/ecdb/ECSqlQuery.test.js +7 -30
- package/lib/esm/test/ecdb/ECSqlQuery.test.js.map +1 -1
- package/lib/esm/test/ecdb/ECSqlReader.test.js +16 -16
- package/lib/esm/test/ecdb/ECSqlReader.test.js.map +1 -1
- package/lib/esm/test/ecdb/ECSqlStatement.test.js +292 -292
- package/lib/esm/test/ecdb/ECSqlStatement.test.js.map +1 -1
- package/lib/esm/test/ecdb/SqliteStatement.test.js.map +1 -1
- package/lib/esm/test/ecsql/dataset/ECSqlDatasets.js.map +1 -1
- package/lib/esm/test/ecsql/src/ECSqlTestGenerator.js +21 -21
- package/lib/esm/test/ecsql/src/ECSqlTestGenerator.js.map +1 -1
- package/lib/esm/test/ecsql/src/ECSqlTestParser.js.map +1 -1
- package/lib/esm/test/ecsql/src/ECSqlTestRunner.test.js.map +1 -1
- package/lib/esm/test/element/DeleteDefinitionElements.test.js.map +1 -1
- package/lib/esm/test/element/ElementAspect.test.js +22 -22
- package/lib/esm/test/element/ElementAspect.test.js.map +1 -1
- package/lib/esm/test/element/ElementDependencyGraph.test.js.map +1 -1
- package/lib/esm/test/element/ElementRoundTrip.test.js +139 -139
- package/lib/esm/test/element/ElementRoundTrip.test.js.map +1 -1
- package/lib/esm/test/element/ExcludedElements.test.js.map +1 -1
- package/lib/esm/test/element/ExternalSource.test.js.map +1 -1
- package/lib/esm/test/element/NullStructArray.test.js +13 -13
- package/lib/esm/test/element/NullStructArray.test.js.map +1 -1
- package/lib/esm/test/element/UrlLink.test.js.map +1 -1
- package/lib/esm/test/font/FontFile.test.js.map +1 -1
- package/lib/esm/test/font/IModelDbFonts.test.js.map +1 -1
- package/lib/esm/test/hubaccess/BriefcaseManager.test.js.map +1 -1
- package/lib/esm/test/hubaccess/CheckpointManager.test.js.map +1 -1
- package/lib/esm/test/imageData.js.map +1 -1
- package/lib/esm/test/imodel/ElementTreeWalker.test.js.map +1 -1
- package/lib/esm/test/imodel/GetTextureImage.test.js.map +1 -1
- package/lib/esm/test/imodel/IModel.test.js +22 -11
- package/lib/esm/test/imodel/IModel.test.js.map +1 -1
- package/lib/esm/test/imodel/ProjectExtents.test.js.map +1 -1
- package/lib/esm/test/imodel/SchemaXmlImport.test.js.map +1 -1
- package/lib/esm/test/index.js.map +1 -1
- package/lib/esm/test/misc/DevTools.test.js.map +1 -1
- package/lib/esm/test/misc/EntitySubClasses.test.js.map +1 -1
- package/lib/esm/test/misc/GeoServices.test.js +23 -9
- package/lib/esm/test/misc/GeoServices.test.js.map +1 -1
- package/lib/esm/test/misc/PromiseMemoizer.test.js.map +1 -1
- package/lib/esm/test/native/DgnDbWorker.test.js.map +1 -1
- package/lib/esm/test/rpc/response.test.js.map +1 -1
- package/lib/esm/test/schema/ClassRegistry.test.js +71 -71
- package/lib/esm/test/schema/ClassRegistry.test.js.map +1 -1
- package/lib/esm/test/schema/FunctionalDomain.test.js.map +1 -1
- package/lib/esm/test/schema/GenericDomain.test.js.map +1 -1
- package/lib/esm/test/schema/IModelSchemaContext.test.js.map +1 -1
- package/lib/esm/test/sheetindex/SheetIndex.test.js.map +1 -1
- package/lib/esm/test/standalone/ChangeMerge.test.js.map +1 -1
- package/lib/esm/test/standalone/ChangesetReader.test.js +28 -28
- package/lib/esm/test/standalone/ChangesetReader.test.js.map +1 -1
- package/lib/esm/test/standalone/CustomViewState3dCreator.test.js.map +1 -1
- package/lib/esm/test/standalone/DisplayStyle.test.js.map +1 -1
- package/lib/esm/test/standalone/Drawing.test.js.map +1 -1
- package/lib/esm/test/standalone/ElementGraphics.test.js.map +1 -1
- package/lib/esm/test/standalone/ElementMesh.test.js.map +1 -1
- package/lib/esm/test/standalone/ExportGraphics.test.js +14 -14
- package/lib/esm/test/standalone/ExportGraphics.test.js.map +1 -1
- package/lib/esm/test/standalone/GeometryChangeEvents.test.js.map +1 -1
- package/lib/esm/test/standalone/GeometryStream.test.js.map +1 -1
- package/lib/esm/test/standalone/HubMock.test.js.map +1 -1
- package/lib/esm/test/standalone/IModelWrite.test.js +27 -27
- package/lib/esm/test/standalone/IModelWrite.test.js.map +1 -1
- package/lib/esm/test/standalone/InlineGeometryPartReferences.test.js.map +1 -1
- package/lib/esm/test/standalone/MergeConflict.test.js.map +1 -1
- package/lib/esm/test/standalone/NativeAppStorage.test.js.map +1 -1
- package/lib/esm/test/standalone/RenderMaterialElement.test.js.map +1 -1
- package/lib/esm/test/standalone/RenderTimeline.test.js.map +1 -1
- package/lib/esm/test/standalone/SQLiteDb.test.js.map +1 -1
- package/lib/esm/test/standalone/SchemaUtils.test.js.map +1 -1
- package/lib/esm/test/standalone/SectionDrawing.test.js.map +1 -1
- package/lib/esm/test/standalone/ServerBasedLocks.test.js.map +1 -1
- package/lib/esm/test/standalone/Setting.test.js.map +1 -1
- package/lib/esm/test/standalone/Settings.test.js.map +1 -1
- package/lib/esm/test/standalone/SettingsSchemas.test.js.map +1 -1
- package/lib/esm/test/standalone/SnapshotDb.test.js +1 -0
- package/lib/esm/test/standalone/SnapshotDb.test.js.map +1 -1
- package/lib/esm/test/standalone/Texture.test.js.map +1 -1
- package/lib/esm/test/standalone/TileCache.test.js.map +1 -1
- package/lib/esm/test/standalone/TileTree.test.js.map +1 -1
- package/lib/esm/test/standalone/TxnManager.test.js +1 -1
- package/lib/esm/test/standalone/TxnManager.test.js.map +1 -1
- package/lib/esm/test/standalone/ViewDefinition.test.js.map +1 -1
- package/lib/esm/test/standalone/ViewStoreDb.test.js.map +1 -1
- package/lib/esm/test/standalone/Workspace.test.js.map +1 -1
- package/lib/esm/workspace/Settings.js.map +1 -1
- package/lib/esm/workspace/SettingsSchemas.js.map +1 -1
- package/lib/esm/workspace/Workspace.js.map +1 -1
- package/lib/esm/workspace/WorkspaceEditor.js.map +1 -1
- package/package.json +12 -12
package/lib/cjs/IModelDb.js
CHANGED
|
@@ -50,6 +50,7 @@ const IModelDbFontsImpl_1 = require("./internal/IModelDbFontsImpl");
|
|
|
50
50
|
const Symbols_1 = require("./internal/Symbols");
|
|
51
51
|
const ecschema_metadata_1 = require("@itwin/ecschema-metadata");
|
|
52
52
|
const Schema_1 = require("./Schema");
|
|
53
|
+
const ElementLRUCache_1 = require("./internal/ElementLRUCache");
|
|
53
54
|
// spell:ignore fontid fontmap
|
|
54
55
|
const loggerCategory = BackendLoggerCategory_1.BackendLoggerCategory.IModelDb;
|
|
55
56
|
/** @internal */
|
|
@@ -579,6 +580,8 @@ class IModelDb extends core_common_1.IModel {
|
|
|
579
580
|
this._jsClassMap = undefined;
|
|
580
581
|
this._schemaMap = undefined;
|
|
581
582
|
this._schemaContext = undefined;
|
|
583
|
+
this.elements[Symbols_1._cache].clear();
|
|
584
|
+
this.models[Symbols_1._cache].clear();
|
|
582
585
|
}
|
|
583
586
|
/** Update the project extents for this iModel.
|
|
584
587
|
* <p><em>Example:</em>
|
|
@@ -979,6 +982,24 @@ class IModelDb extends core_common_1.IModel {
|
|
|
979
982
|
return ClassRegistry_1.ClassRegistry.getClass(classFullName, this);
|
|
980
983
|
}
|
|
981
984
|
}
|
|
985
|
+
/** Constructs a ResolveInstanceKeyArgs from given parameters
|
|
986
|
+
* @throws [[IModelError]] if the combination of supplied parameters is invalid.
|
|
987
|
+
* @internal
|
|
988
|
+
*/
|
|
989
|
+
getInstanceArgs(instanceId, baseClassName, federationGuid, code) {
|
|
990
|
+
if (instanceId && baseClassName) {
|
|
991
|
+
return { partialKey: { id: instanceId, baseClassName } };
|
|
992
|
+
}
|
|
993
|
+
else if (federationGuid) {
|
|
994
|
+
return { federationGuid };
|
|
995
|
+
}
|
|
996
|
+
else if (code) {
|
|
997
|
+
return { code };
|
|
998
|
+
}
|
|
999
|
+
else {
|
|
1000
|
+
throw new core_common_1.IModelError(core_bentley_1.IModelStatus.InvalidId, "Either instanceId and baseClassName or federationGuid or code must be specified");
|
|
1001
|
+
}
|
|
1002
|
+
}
|
|
982
1003
|
/** Get metadata for a class. This method will load the metadata from the iModel into the cache as a side-effect, if necessary.
|
|
983
1004
|
* @throws [[IModelError]] if the metadata cannot be found nor loaded.
|
|
984
1005
|
* @deprecated in 5.0. Please use `getSchemaItem` from `SchemaContext` class instead.
|
|
@@ -1461,6 +1482,9 @@ function processSchemaWriteStatus(status) {
|
|
|
1461
1482
|
*/
|
|
1462
1483
|
class Models {
|
|
1463
1484
|
_iModel;
|
|
1485
|
+
_modelCacheSize = 10;
|
|
1486
|
+
/** @internal */
|
|
1487
|
+
[Symbols_1._cache] = new core_bentley_1.LRUMap(this._modelCacheSize);
|
|
1464
1488
|
/** @internal */
|
|
1465
1489
|
constructor(_iModel) {
|
|
1466
1490
|
this._iModel = _iModel;
|
|
@@ -1471,7 +1495,10 @@ function processSchemaWriteStatus(status) {
|
|
|
1471
1495
|
* @see tryGetModelProps
|
|
1472
1496
|
*/
|
|
1473
1497
|
getModelProps(id) {
|
|
1474
|
-
|
|
1498
|
+
const model = this.tryGetModelProps(id);
|
|
1499
|
+
if (undefined === model)
|
|
1500
|
+
throw new core_common_1.IModelError(core_bentley_1.IModelStatus.NotFound, `Model=${id}`);
|
|
1501
|
+
return model;
|
|
1475
1502
|
}
|
|
1476
1503
|
/** Get the ModelProps with the specified identifier.
|
|
1477
1504
|
* @param modelId The Model identifier.
|
|
@@ -1481,7 +1508,25 @@ function processSchemaWriteStatus(status) {
|
|
|
1481
1508
|
* @see getModelProps
|
|
1482
1509
|
*/
|
|
1483
1510
|
tryGetModelProps(id) {
|
|
1484
|
-
|
|
1511
|
+
try {
|
|
1512
|
+
if (IModelHost_1.IModelHost.configuration?.disableThinnedNativeInstanceWorkflow) {
|
|
1513
|
+
return this._iModel[Symbols_1._nativeDb].getModel({ id });
|
|
1514
|
+
}
|
|
1515
|
+
const cachedMdl = this[Symbols_1._cache].get(id);
|
|
1516
|
+
if (cachedMdl) {
|
|
1517
|
+
return cachedMdl;
|
|
1518
|
+
}
|
|
1519
|
+
const options = { useJsNames: true };
|
|
1520
|
+
const instanceKey = this.resolveModelKey({ id });
|
|
1521
|
+
const rawInstance = this._iModel[Symbols_1._nativeDb].readInstance(instanceKey, options);
|
|
1522
|
+
const classDef = this._iModel.getJsClass(rawInstance.classFullName);
|
|
1523
|
+
const modelProps = classDef.deserialize({ row: rawInstance, iModel: this._iModel });
|
|
1524
|
+
this[Symbols_1._cache].set(id, modelProps);
|
|
1525
|
+
return modelProps;
|
|
1526
|
+
}
|
|
1527
|
+
catch {
|
|
1528
|
+
return undefined;
|
|
1529
|
+
}
|
|
1485
1530
|
}
|
|
1486
1531
|
/** Query for the last modified time for a [[Model]].
|
|
1487
1532
|
* @param modelId The Id of the model.
|
|
@@ -1528,32 +1573,22 @@ function processSchemaWriteStatus(status) {
|
|
|
1528
1573
|
return model; // modelClass was not specified, cannot call instanceof to validate
|
|
1529
1574
|
return model instanceof modelClass ? model : undefined;
|
|
1530
1575
|
}
|
|
1531
|
-
|
|
1532
|
-
|
|
1533
|
-
|
|
1534
|
-
|
|
1535
|
-
|
|
1536
|
-
* @internal
|
|
1537
|
-
*/
|
|
1538
|
-
getModelJson(modelIdArg) {
|
|
1539
|
-
const modelJson = this.tryGetModelJson(modelIdArg);
|
|
1540
|
-
if (undefined === modelJson) {
|
|
1541
|
-
throw new core_common_1.IModelError(core_bentley_1.IModelStatus.NotFound, `Model=(id: ${modelIdArg.id}, code: ${modelIdArg.code})`);
|
|
1576
|
+
resolveModelKey(modelIdArg) {
|
|
1577
|
+
const baseClassName = "BisCore:Model";
|
|
1578
|
+
let args;
|
|
1579
|
+
if (modelIdArg.id) {
|
|
1580
|
+
args = { partialKey: { id: modelIdArg.id, baseClassName } };
|
|
1542
1581
|
}
|
|
1543
|
-
|
|
1544
|
-
|
|
1545
|
-
|
|
1546
|
-
|
|
1547
|
-
|
|
1548
|
-
* @see getModelJson
|
|
1549
|
-
*/
|
|
1550
|
-
tryGetModelJson(modelIdArg) {
|
|
1551
|
-
try {
|
|
1552
|
-
return this._iModel[Symbols_1._nativeDb].getModel(modelIdArg);
|
|
1582
|
+
else if (modelIdArg.code) {
|
|
1583
|
+
const modelId = this._iModel.elements.getElementProps({ code: modelIdArg.code }).id;
|
|
1584
|
+
if (!modelId)
|
|
1585
|
+
throw new core_common_1.IModelError(core_bentley_1.IModelStatus.NotFound, `Model not found with code: [spec:${modelIdArg.code.spec}, scope:${modelIdArg.code.scope}, value:${modelIdArg.code.value}])`);
|
|
1586
|
+
args = { partialKey: { id: modelId, baseClassName } };
|
|
1553
1587
|
}
|
|
1554
|
-
|
|
1555
|
-
|
|
1588
|
+
else {
|
|
1589
|
+
throw new core_common_1.IModelError(core_bentley_1.IModelStatus.InvalidId, `Invalid model identifier: ${JSON.stringify(modelIdArg)}`);
|
|
1556
1590
|
}
|
|
1591
|
+
return this._iModel[Symbols_1._nativeDb].resolveInstanceKey(args);
|
|
1557
1592
|
}
|
|
1558
1593
|
/** Get the sub-model of the specified Element.
|
|
1559
1594
|
* See [[IModelDb.Elements.queryElementIdByCode]] for more on how to find an element by Code.
|
|
@@ -1606,6 +1641,8 @@ function processSchemaWriteStatus(status) {
|
|
|
1606
1641
|
*/
|
|
1607
1642
|
updateModel(props) {
|
|
1608
1643
|
try {
|
|
1644
|
+
if (props.id)
|
|
1645
|
+
this[Symbols_1._cache].delete(props.id);
|
|
1609
1646
|
this._iModel[Symbols_1._nativeDb].updateModel(props);
|
|
1610
1647
|
}
|
|
1611
1648
|
catch (err) {
|
|
@@ -1622,6 +1659,7 @@ function processSchemaWriteStatus(status) {
|
|
|
1622
1659
|
* @see [[TxnManager.onModelGeometryChanged]] for the event emitted in response to such a change.
|
|
1623
1660
|
*/
|
|
1624
1661
|
updateGeometryGuid(modelId) {
|
|
1662
|
+
this._iModel.models[Symbols_1._cache].delete(modelId);
|
|
1625
1663
|
const error = this._iModel[Symbols_1._nativeDb].updateModelGeometryGuid(modelId);
|
|
1626
1664
|
if (error !== core_bentley_1.IModelStatus.Success)
|
|
1627
1665
|
throw new core_common_1.IModelError(error, `updating geometry guid for model ${modelId}`);
|
|
@@ -1633,6 +1671,7 @@ function processSchemaWriteStatus(status) {
|
|
|
1633
1671
|
deleteModel(ids) {
|
|
1634
1672
|
core_bentley_1.Id64.toIdSet(ids).forEach((id) => {
|
|
1635
1673
|
try {
|
|
1674
|
+
this[Symbols_1._cache].delete(id);
|
|
1636
1675
|
this._iModel[Symbols_1._nativeDb].deleteModel(id);
|
|
1637
1676
|
}
|
|
1638
1677
|
catch (err) {
|
|
@@ -1670,6 +1709,9 @@ function processSchemaWriteStatus(status) {
|
|
|
1670
1709
|
*/
|
|
1671
1710
|
class Elements {
|
|
1672
1711
|
_iModel;
|
|
1712
|
+
_elementCacheSize = 50;
|
|
1713
|
+
/** @internal */
|
|
1714
|
+
[Symbols_1._cache] = new ElementLRUCache_1.ElementLRUCache(this._elementCacheSize);
|
|
1673
1715
|
/** @internal */
|
|
1674
1716
|
constructor(_iModel) {
|
|
1675
1717
|
this._iModel = _iModel;
|
|
@@ -1686,50 +1728,40 @@ function processSchemaWriteStatus(status) {
|
|
|
1686
1728
|
return !stmt.nextRow() ? undefined : stmt.getValueId(0);
|
|
1687
1729
|
}) : undefined;
|
|
1688
1730
|
}
|
|
1689
|
-
/** Read element data from the iModel as JSON
|
|
1690
|
-
* @param elementIdArg a json string with the identity of the element to load. Must have one of "id", "federationGuid", or "code".
|
|
1691
|
-
* @returns The JSON properties of the element.
|
|
1692
|
-
* @throws [[IModelError]] if the element is not found or cannot be loaded.
|
|
1693
|
-
* @see tryGetElementJson
|
|
1694
|
-
* @internal
|
|
1695
|
-
*/
|
|
1696
|
-
getElementJson(elementId) {
|
|
1697
|
-
const elementProps = this.tryGetElementJson(elementId);
|
|
1698
|
-
if (undefined === elementProps)
|
|
1699
|
-
throw new core_common_1.IModelError(core_bentley_1.IModelStatus.NotFound, `reading element={id: ${elementId.id} federationGuid: ${elementId.federationGuid}, code: ${elementId.code}}`);
|
|
1700
|
-
return elementProps;
|
|
1701
|
-
}
|
|
1702
|
-
/** Read element data from the iModel as JSON
|
|
1703
|
-
* @param loadProps - a json string with the identity of the element to load. Must have one of "id", "federationGuid", or "code".
|
|
1704
|
-
* @returns The JSON properties of the element or `undefined` if the element is not found.
|
|
1705
|
-
* @throws [[IModelError]] if the element exists, but cannot be loaded.
|
|
1706
|
-
* @see getElementJson
|
|
1707
|
-
*/
|
|
1708
|
-
tryGetElementJson(loadProps) {
|
|
1709
|
-
try {
|
|
1710
|
-
return this._iModel[Symbols_1._nativeDb].getElement(loadProps);
|
|
1711
|
-
}
|
|
1712
|
-
catch {
|
|
1713
|
-
return undefined;
|
|
1714
|
-
}
|
|
1715
|
-
}
|
|
1716
1731
|
/** Get properties of an Element by Id, FederationGuid, or Code
|
|
1717
1732
|
* @throws [[IModelError]] if the element is not found or cannot be loaded.
|
|
1718
1733
|
* @see tryGetElementProps
|
|
1719
1734
|
*/
|
|
1720
1735
|
getElementProps(props) {
|
|
1736
|
+
const elProp = this.tryGetElementProps(props);
|
|
1737
|
+
if (undefined === elProp)
|
|
1738
|
+
throw new core_common_1.IModelError(core_bentley_1.IModelStatus.NotFound, `element not found`);
|
|
1739
|
+
return elProp;
|
|
1740
|
+
}
|
|
1741
|
+
resolveElementKey(props) {
|
|
1742
|
+
const baseClassName = "BisCore:Element";
|
|
1743
|
+
let args;
|
|
1721
1744
|
if (typeof props === "string") {
|
|
1722
|
-
|
|
1745
|
+
args = core_bentley_1.Id64.isId64(props) ? { partialKey: { id: props, baseClassName } } : { federationGuid: props };
|
|
1723
1746
|
}
|
|
1724
1747
|
else if (props instanceof core_common_1.Code) {
|
|
1725
|
-
|
|
1748
|
+
args = { code: props };
|
|
1726
1749
|
}
|
|
1727
|
-
|
|
1728
|
-
|
|
1729
|
-
|
|
1730
|
-
|
|
1731
|
-
|
|
1750
|
+
else {
|
|
1751
|
+
if (props.id) {
|
|
1752
|
+
args = { partialKey: { id: props.id, baseClassName } };
|
|
1753
|
+
}
|
|
1754
|
+
else if (props.federationGuid) {
|
|
1755
|
+
args = { federationGuid: props.federationGuid };
|
|
1756
|
+
}
|
|
1757
|
+
else if (props.code) {
|
|
1758
|
+
args = { code: props.code };
|
|
1759
|
+
}
|
|
1760
|
+
else {
|
|
1761
|
+
throw new core_common_1.IModelError(core_bentley_1.IModelStatus.InvalidId, "Element Id or FederationGuid or Code is required");
|
|
1762
|
+
}
|
|
1732
1763
|
}
|
|
1764
|
+
return this._iModel[Symbols_1._nativeDb].resolveInstanceKey(args);
|
|
1733
1765
|
}
|
|
1734
1766
|
/** Get properties of an Element by Id, FederationGuid, or Code
|
|
1735
1767
|
* @returns The properties of the element or `undefined` if the element is not found.
|
|
@@ -1737,14 +1769,32 @@ function processSchemaWriteStatus(status) {
|
|
|
1737
1769
|
* @note Useful for cases when an element may or may not exist and throwing an `Error` would be overkill.
|
|
1738
1770
|
* @see getElementProps
|
|
1739
1771
|
*/
|
|
1740
|
-
tryGetElementProps(
|
|
1741
|
-
if (typeof
|
|
1742
|
-
|
|
1772
|
+
tryGetElementProps(props) {
|
|
1773
|
+
if (typeof props === "string") {
|
|
1774
|
+
props = core_bentley_1.Id64.isId64(props) ? { id: props } : { federationGuid: props };
|
|
1743
1775
|
}
|
|
1744
|
-
else if (
|
|
1745
|
-
|
|
1776
|
+
else if (props instanceof core_common_1.Code) {
|
|
1777
|
+
props = { code: props };
|
|
1778
|
+
}
|
|
1779
|
+
try {
|
|
1780
|
+
if (IModelHost_1.IModelHost.configuration?.disableThinnedNativeInstanceWorkflow) {
|
|
1781
|
+
return this._iModel[Symbols_1._nativeDb].getElement(props);
|
|
1782
|
+
}
|
|
1783
|
+
const cachedElm = this[Symbols_1._cache].get(props);
|
|
1784
|
+
if (cachedElm) {
|
|
1785
|
+
return cachedElm.elProps;
|
|
1786
|
+
}
|
|
1787
|
+
const options = { ...props, useJsNames: true };
|
|
1788
|
+
const instanceKey = this.resolveElementKey(props);
|
|
1789
|
+
const rawInstance = this._iModel[Symbols_1._nativeDb].readInstance(instanceKey, options);
|
|
1790
|
+
const classDef = this._iModel.getJsClass(rawInstance.classFullName);
|
|
1791
|
+
const elementProps = classDef.deserialize({ row: rawInstance, iModel: this._iModel, options: { element: props } });
|
|
1792
|
+
this[Symbols_1._cache].set({ elProps: elementProps, loadOptions: props });
|
|
1793
|
+
return elementProps;
|
|
1794
|
+
}
|
|
1795
|
+
catch {
|
|
1796
|
+
return undefined;
|
|
1746
1797
|
}
|
|
1747
|
-
return this.tryGetElementJson(elementId);
|
|
1748
1798
|
}
|
|
1749
1799
|
/** Get an element by Id, FederationGuid, or Code
|
|
1750
1800
|
* @param elementId either the element's Id, Code, or FederationGuid, or an ElementLoadProps
|
|
@@ -1777,7 +1827,7 @@ function processSchemaWriteStatus(status) {
|
|
|
1777
1827
|
elementId = { code: elementId };
|
|
1778
1828
|
else
|
|
1779
1829
|
elementId.onlyBaseProperties = false; // we must load all properties to construct the element.
|
|
1780
|
-
const elementProps = this.
|
|
1830
|
+
const elementProps = this.tryGetElementProps(elementId);
|
|
1781
1831
|
if (undefined === elementProps)
|
|
1782
1832
|
return undefined; // no Element with that elementId found
|
|
1783
1833
|
const element = this._iModel.constructEntity(elementProps);
|
|
@@ -1841,6 +1891,11 @@ function processSchemaWriteStatus(status) {
|
|
|
1841
1891
|
*/
|
|
1842
1892
|
insertElement(elProps, options) {
|
|
1843
1893
|
try {
|
|
1894
|
+
this[Symbols_1._cache].delete({
|
|
1895
|
+
id: elProps.id,
|
|
1896
|
+
federationGuid: elProps.federationGuid,
|
|
1897
|
+
code: elProps.code,
|
|
1898
|
+
});
|
|
1844
1899
|
return elProps.id = this._iModel[Symbols_1._nativeDb].insertElement(elProps, options);
|
|
1845
1900
|
}
|
|
1846
1901
|
catch (err) {
|
|
@@ -1862,6 +1917,11 @@ function processSchemaWriteStatus(status) {
|
|
|
1862
1917
|
*/
|
|
1863
1918
|
updateElement(elProps) {
|
|
1864
1919
|
try {
|
|
1920
|
+
this[Symbols_1._cache].delete({
|
|
1921
|
+
id: elProps.id,
|
|
1922
|
+
federationGuid: elProps.federationGuid,
|
|
1923
|
+
code: elProps.code,
|
|
1924
|
+
});
|
|
1865
1925
|
this._iModel[Symbols_1._nativeDb].updateElement(elProps);
|
|
1866
1926
|
}
|
|
1867
1927
|
catch (err) {
|
|
@@ -1879,6 +1939,7 @@ function processSchemaWriteStatus(status) {
|
|
|
1879
1939
|
const iModel = this._iModel;
|
|
1880
1940
|
core_bentley_1.Id64.toIdSet(ids).forEach((id) => {
|
|
1881
1941
|
try {
|
|
1942
|
+
this[Symbols_1._cache].delete({ id });
|
|
1882
1943
|
iModel[Symbols_1._nativeDb].deleteElement(id);
|
|
1883
1944
|
}
|
|
1884
1945
|
catch (err) {
|
|
@@ -2098,9 +2159,9 @@ function processSchemaWriteStatus(status) {
|
|
|
2098
2159
|
*/
|
|
2099
2160
|
getAspects(elementId, aspectClassFullName, excludedClassFullNames) {
|
|
2100
2161
|
if (aspectClassFullName === undefined) {
|
|
2101
|
-
const allAspects = this.runInstanceQuery(`SELECT $ FROM (
|
|
2102
|
-
SELECT ECInstanceId, ECClassId FROM Bis.ElementMultiAspect WHERE Element.Id = :elementId
|
|
2103
|
-
UNION ALL
|
|
2162
|
+
const allAspects = this.runInstanceQuery(`SELECT $ FROM (
|
|
2163
|
+
SELECT ECInstanceId, ECClassId FROM Bis.ElementMultiAspect WHERE Element.Id = :elementId
|
|
2164
|
+
UNION ALL
|
|
2104
2165
|
SELECT ECInstanceId, ECClassId FROM Bis.ElementUniqueAspect WHERE Element.Id = :elementId) OPTIONS USE_JS_PROP_NAMES DO_NOT_TRUNCATE_BLOB`, elementId, excludedClassFullNames);
|
|
2105
2166
|
if (allAspects.length === 0)
|
|
2106
2167
|
core_bentley_1.Logger.logInfo(BackendLoggerCategory_1.BackendLoggerCategory.ECDb, `No aspects found for class ${aspectClassFullName} and element ${elementId}`);
|
|
@@ -2120,7 +2181,7 @@ function processSchemaWriteStatus(status) {
|
|
|
2120
2181
|
if (classIdList === undefined) {
|
|
2121
2182
|
const classIds = [];
|
|
2122
2183
|
// eslint-disable-next-line @typescript-eslint/no-deprecated
|
|
2123
|
-
this._iModel.withPreparedStatement(`select SourceECInstanceId from meta.ClassHasAllBaseClasses where TargetECInstanceId = (select ECInstanceId from meta.ECClassDef where Name='${fullClassName[1]}'
|
|
2184
|
+
this._iModel.withPreparedStatement(`select SourceECInstanceId from meta.ClassHasAllBaseClasses where TargetECInstanceId = (select ECInstanceId from meta.ECClassDef where Name='${fullClassName[1]}'
|
|
2124
2185
|
and Schema.Id = (select ECInstanceId from meta.ECSchemaDef where Name='${fullClassName[0]}')) and SourceECInstanceId != TargetECInstanceId`,
|
|
2125
2186
|
// eslint-disable-next-line @typescript-eslint/no-deprecated
|
|
2126
2187
|
(statement) => {
|
|
@@ -2137,10 +2198,10 @@ function processSchemaWriteStatus(status) {
|
|
|
2137
2198
|
return [];
|
|
2138
2199
|
}
|
|
2139
2200
|
// Execute an instance query to retrieve all aspects from all the derived classes
|
|
2140
|
-
const aspects = this.runInstanceQuery(`SELECT $ FROM (
|
|
2141
|
-
SELECT ECInstanceId, ECClassId FROM Bis.ElementMultiAspect WHERE Element.Id = :elementId AND ECClassId IN (${classIdList})
|
|
2142
|
-
UNION ALL
|
|
2143
|
-
SELECT ECInstanceId, ECClassId FROM Bis.ElementUniqueAspect WHERE Element.Id = :elementId AND ECClassId IN (${classIdList})
|
|
2201
|
+
const aspects = this.runInstanceQuery(`SELECT $ FROM (
|
|
2202
|
+
SELECT ECInstanceId, ECClassId FROM Bis.ElementMultiAspect WHERE Element.Id = :elementId AND ECClassId IN (${classIdList})
|
|
2203
|
+
UNION ALL
|
|
2204
|
+
SELECT ECInstanceId, ECClassId FROM Bis.ElementUniqueAspect WHERE Element.Id = :elementId AND ECClassId IN (${classIdList})
|
|
2144
2205
|
) OPTIONS USE_JS_PROP_NAMES DO_NOT_TRUNCATE_BLOB`, elementId, excludedClassFullNames);
|
|
2145
2206
|
if (aspects.length === 0)
|
|
2146
2207
|
core_bentley_1.Logger.logInfo(BackendLoggerCategory_1.BackendLoggerCategory.ECDb, `No aspects found for class ${aspectClassFullName} and element ${elementId}`);
|
|
@@ -2381,9 +2442,9 @@ function processSchemaWriteStatus(status) {
|
|
|
2381
2442
|
}
|
|
2382
2443
|
IModelDb.Views = Views;
|
|
2383
2444
|
/** Represents the current state of a pollable tile content request.
|
|
2384
|
-
|
|
2385
|
-
|
|
2386
|
-
|
|
2445
|
+
* Note: lack of a "completed" state because polling a completed request returns the content as a Uint8Array.
|
|
2446
|
+
* @internal
|
|
2447
|
+
*/
|
|
2387
2448
|
let TileContentState;
|
|
2388
2449
|
(function (TileContentState) {
|
|
2389
2450
|
TileContentState[TileContentState["New"] = 0] = "New";
|
|
@@ -2632,6 +2693,7 @@ class BriefcaseDb extends IModelDb {
|
|
|
2632
2693
|
touch.sync(briefcaseDb.watchFilePathName);
|
|
2633
2694
|
// Restart default txn to trigger events when watch file is changed by some other process.
|
|
2634
2695
|
const watcher = fs.watch(briefcaseDb.watchFilePathName, { persistent: false }, () => {
|
|
2696
|
+
nativeDb.clearECDbCache();
|
|
2635
2697
|
nativeDb.restartDefaultTxn();
|
|
2636
2698
|
briefcaseDb.changeset = briefcaseDb[Symbols_1._nativeDb].getCurrentChangeset();
|
|
2637
2699
|
});
|