@itwin/core-backend 5.13.0-dev.2 → 5.13.0-dev.20
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 +50 -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 +4 -4
- 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.d.ts +5 -0
- package/lib/cjs/ChangesetECAdaptor.d.ts.map +1 -1
- package/lib/cjs/ChangesetECAdaptor.js +261 -251
- package/lib/cjs/ChangesetECAdaptor.js.map +1 -1
- package/lib/cjs/ChangesetReader.js +3 -3
- package/lib/cjs/ChangesetReader.js.map +1 -1
- package/lib/cjs/ChangesetReaderTypes.js.map +1 -1
- package/lib/cjs/ChannelControl.js.map +1 -1
- package/lib/cjs/CheckpointManager.d.ts +3 -0
- package/lib/cjs/CheckpointManager.d.ts.map +1 -1
- package/lib/cjs/CheckpointManager.js +8 -2
- package/lib/cjs/CheckpointManager.js.map +1 -1
- package/lib/cjs/ClassRegistry.js +10 -10
- package/lib/cjs/ClassRegistry.js.map +1 -1
- package/lib/cjs/CloudSqlite.d.ts.map +1 -1
- package/lib/cjs/CloudSqlite.js +19 -8
- package/lib/cjs/CloudSqlite.js.map +1 -1
- package/lib/cjs/CodeService.js.map +1 -1
- package/lib/cjs/CodeSpecs.d.ts +3 -3
- 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 +2 -2
- 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/ECSqlRowExecutor.js.map +1 -1
- package/lib/cjs/ECSqlStatement.js.map +1 -1
- package/lib/cjs/ECSqlSyncReader.js.map +1 -1
- package/lib/cjs/EditTxn.d.ts.map +1 -1
- package/lib/cjs/EditTxn.js +1 -0
- package/lib/cjs/EditTxn.js.map +1 -1
- package/lib/cjs/Element.d.ts +48 -12
- package/lib/cjs/Element.d.ts.map +1 -1
- package/lib/cjs/Element.js +120 -24
- 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.js.map +1 -1
- package/lib/cjs/EntityReferences.js +2 -2
- 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.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 +76 -23
- package/lib/cjs/IModelDb.d.ts.map +1 -1
- package/lib/cjs/IModelDb.js +150 -41
- 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.map +1 -1
- package/lib/cjs/IModelHost.js +3 -0
- package/lib/cjs/IModelHost.js.map +1 -1
- package/lib/cjs/IModelIncrementalSchemaLocater.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.js.map +1 -1
- package/lib/cjs/Model.d.ts +5 -5
- package/lib/cjs/Model.d.ts.map +1 -1
- 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/PartialChangeUnifier.js +7 -7
- package/lib/cjs/PartialChangeUnifier.js.map +1 -1
- package/lib/cjs/PromiseMemoizer.js.map +1 -1
- package/lib/cjs/PropertyStore.js +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.d.ts +37 -9
- package/lib/cjs/SchemaSync.d.ts.map +1 -1
- package/lib/cjs/SchemaSync.js +125 -6
- 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/StashManager.js.map +1 -1
- package/lib/cjs/SynchronousChannel.d.ts +62 -0
- package/lib/cjs/SynchronousChannel.d.ts.map +1 -0
- package/lib/cjs/SynchronousChannel.js +11 -0
- package/lib/cjs/SynchronousChannel.js.map +1 -0
- package/lib/cjs/Texture.d.ts +1 -1
- package/lib/cjs/Texture.js.map +1 -1
- package/lib/cjs/TileStorage.js.map +1 -1
- package/lib/cjs/TxnManager.d.ts +44 -4
- package/lib/cjs/TxnManager.d.ts.map +1 -1
- package/lib/cjs/TxnManager.js +72 -14
- package/lib/cjs/TxnManager.js.map +1 -1
- package/lib/cjs/ViewDefinition.d.ts +6 -6
- package/lib/cjs/ViewDefinition.d.ts.map +1 -1
- package/lib/cjs/ViewDefinition.js.map +1 -1
- package/lib/cjs/ViewStateHydrator.js.map +1 -1
- package/lib/cjs/ViewStore.js.map +1 -1
- package/lib/cjs/annotations/ElementDrivesTextAnnotation.js.map +1 -1
- package/lib/cjs/annotations/FrameGeometry.js.map +1 -1
- package/lib/cjs/annotations/LeaderGeometry.d.ts +22 -7
- package/lib/cjs/annotations/LeaderGeometry.d.ts.map +1 -1
- package/lib/cjs/annotations/LeaderGeometry.js +104 -36
- package/lib/cjs/annotations/LeaderGeometry.js.map +1 -1
- package/lib/cjs/annotations/TextAnnotationElement.d.ts +1 -1
- package/lib/cjs/annotations/TextAnnotationElement.d.ts.map +1 -1
- package/lib/cjs/annotations/TextAnnotationElement.js +25 -10
- package/lib/cjs/annotations/TextAnnotationElement.js.map +1 -1
- package/lib/cjs/annotations/TextAnnotationGeometry.js.map +1 -1
- package/lib/cjs/annotations/TextBlockGeometry.js.map +1 -1
- package/lib/cjs/annotations/TextBlockLayout.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 +36 -36
- package/lib/cjs/assets/Settings/Schemas/Gcs.schema.json +28 -28
- 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.d.ts +1 -0
- package/lib/cjs/core-backend.d.ts.map +1 -1
- package/lib/cjs/core-backend.js +1 -0
- 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/ECSqlInstanceReshaper.js.map +1 -1
- package/lib/cjs/internal/ElementLRUCache.js.map +1 -1
- 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/IntegrityCheck.d.ts +22 -0
- package/lib/cjs/internal/IntegrityCheck.d.ts.map +1 -1
- package/lib/cjs/internal/IntegrityCheck.js +13 -0
- package/lib/cjs/internal/IntegrityCheck.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/NoReservations.d.ts +6 -0
- package/lib/cjs/internal/NoReservations.d.ts.map +1 -0
- package/lib/cjs/internal/NoReservations.js +21 -0
- package/lib/cjs/internal/NoReservations.js.map +1 -0
- package/lib/cjs/internal/OnlineStatus.js.map +1 -1
- package/lib/cjs/internal/SchemaSyncReservations.d.ts +4 -0
- package/lib/cjs/internal/SchemaSyncReservations.d.ts.map +1 -0
- package/lib/cjs/internal/SchemaSyncReservations.js +118 -0
- package/lib/cjs/internal/SchemaSyncReservations.js.map +1 -0
- package/lib/cjs/internal/ServerBasedLocks.js +33 -33
- 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/annotations/fields.js.map +1 -1
- package/lib/cjs/internal/cross-package.js.map +1 -1
- package/lib/cjs/internal/workspace/SettingsEditorImpl.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.d.ts.map +1 -1
- package/lib/cjs/internal/workspace/WorkspaceImpl.js +7 -2
- 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.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/SettingsDb.js.map +1 -1
- package/lib/cjs/workspace/SettingsEditor.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 +4 -4
- 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.d.ts +5 -0
- package/lib/esm/ChangesetECAdaptor.d.ts.map +1 -1
- package/lib/esm/ChangesetECAdaptor.js +261 -251
- package/lib/esm/ChangesetECAdaptor.js.map +1 -1
- package/lib/esm/ChangesetReader.js +3 -3
- package/lib/esm/ChangesetReader.js.map +1 -1
- package/lib/esm/ChangesetReaderTypes.js.map +1 -1
- package/lib/esm/ChannelControl.js.map +1 -1
- package/lib/esm/CheckpointManager.d.ts +3 -0
- package/lib/esm/CheckpointManager.d.ts.map +1 -1
- package/lib/esm/CheckpointManager.js +8 -2
- package/lib/esm/CheckpointManager.js.map +1 -1
- package/lib/esm/ClassRegistry.js +6 -6
- package/lib/esm/ClassRegistry.js.map +1 -1
- package/lib/esm/CloudSqlite.d.ts.map +1 -1
- package/lib/esm/CloudSqlite.js +19 -8
- package/lib/esm/CloudSqlite.js.map +1 -1
- package/lib/esm/CodeService.js.map +1 -1
- package/lib/esm/CodeSpecs.d.ts +3 -3
- 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 +2 -2
- 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/ECSqlRowExecutor.js.map +1 -1
- package/lib/esm/ECSqlStatement.js.map +1 -1
- package/lib/esm/ECSqlSyncReader.js.map +1 -1
- package/lib/esm/EditTxn.d.ts.map +1 -1
- package/lib/esm/EditTxn.js +1 -0
- package/lib/esm/EditTxn.js.map +1 -1
- package/lib/esm/Element.d.ts +48 -12
- package/lib/esm/Element.d.ts.map +1 -1
- package/lib/esm/Element.js +121 -25
- 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.js.map +1 -1
- package/lib/esm/EntityReferences.js +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.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 +76 -23
- package/lib/esm/IModelDb.d.ts.map +1 -1
- package/lib/esm/IModelDb.js +152 -43
- 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.map +1 -1
- package/lib/esm/IModelHost.js +3 -0
- package/lib/esm/IModelHost.js.map +1 -1
- package/lib/esm/IModelIncrementalSchemaLocater.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.js.map +1 -1
- package/lib/esm/Model.d.ts +5 -5
- package/lib/esm/Model.d.ts.map +1 -1
- 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/PartialChangeUnifier.js +7 -7
- package/lib/esm/PartialChangeUnifier.js.map +1 -1
- package/lib/esm/PromiseMemoizer.js.map +1 -1
- package/lib/esm/PropertyStore.js +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.d.ts +37 -9
- package/lib/esm/SchemaSync.d.ts.map +1 -1
- package/lib/esm/SchemaSync.js +127 -8
- 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/StashManager.js.map +1 -1
- package/lib/esm/SynchronousChannel.d.ts +62 -0
- package/lib/esm/SynchronousChannel.d.ts.map +1 -0
- package/lib/esm/SynchronousChannel.js +9 -0
- package/lib/esm/SynchronousChannel.js.map +1 -0
- package/lib/esm/Texture.d.ts +1 -1
- package/lib/esm/Texture.js.map +1 -1
- package/lib/esm/TileStorage.js.map +1 -1
- package/lib/esm/TxnManager.d.ts +44 -4
- package/lib/esm/TxnManager.d.ts.map +1 -1
- package/lib/esm/TxnManager.js +72 -14
- package/lib/esm/TxnManager.js.map +1 -1
- package/lib/esm/ViewDefinition.d.ts +6 -6
- package/lib/esm/ViewDefinition.d.ts.map +1 -1
- package/lib/esm/ViewDefinition.js.map +1 -1
- package/lib/esm/ViewStateHydrator.js.map +1 -1
- package/lib/esm/ViewStore.js.map +1 -1
- package/lib/esm/annotations/ElementDrivesTextAnnotation.js.map +1 -1
- package/lib/esm/annotations/FrameGeometry.js.map +1 -1
- package/lib/esm/annotations/LeaderGeometry.d.ts +22 -7
- package/lib/esm/annotations/LeaderGeometry.d.ts.map +1 -1
- package/lib/esm/annotations/LeaderGeometry.js +104 -36
- package/lib/esm/annotations/LeaderGeometry.js.map +1 -1
- package/lib/esm/annotations/TextAnnotationElement.d.ts +1 -1
- package/lib/esm/annotations/TextAnnotationElement.d.ts.map +1 -1
- package/lib/esm/annotations/TextAnnotationElement.js +25 -10
- package/lib/esm/annotations/TextAnnotationElement.js.map +1 -1
- package/lib/esm/annotations/TextAnnotationGeometry.js.map +1 -1
- package/lib/esm/annotations/TextBlockGeometry.js.map +1 -1
- package/lib/esm/annotations/TextBlockLayout.js.map +1 -1
- package/lib/esm/core-backend.d.ts +1 -0
- package/lib/esm/core-backend.d.ts.map +1 -1
- package/lib/esm/core-backend.js +1 -0
- 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/ECSqlInstanceReshaper.js.map +1 -1
- package/lib/esm/internal/ElementLRUCache.js.map +1 -1
- 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/IntegrityCheck.d.ts +22 -0
- package/lib/esm/internal/IntegrityCheck.d.ts.map +1 -1
- package/lib/esm/internal/IntegrityCheck.js +13 -0
- package/lib/esm/internal/IntegrityCheck.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/NoReservations.d.ts +6 -0
- package/lib/esm/internal/NoReservations.d.ts.map +1 -0
- package/lib/esm/internal/NoReservations.js +18 -0
- package/lib/esm/internal/NoReservations.js.map +1 -0
- package/lib/esm/internal/OnlineStatus.js.map +1 -1
- package/lib/esm/internal/SchemaSyncReservations.d.ts +4 -0
- package/lib/esm/internal/SchemaSyncReservations.d.ts.map +1 -0
- package/lib/esm/internal/SchemaSyncReservations.js +115 -0
- package/lib/esm/internal/SchemaSyncReservations.js.map +1 -0
- package/lib/esm/internal/ServerBasedLocks.js +33 -33
- 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/annotations/fields.js.map +1 -1
- package/lib/esm/internal/cross-package.js.map +1 -1
- package/lib/esm/internal/workspace/SettingsEditorImpl.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.d.ts.map +1 -1
- package/lib/esm/internal/workspace/WorkspaceImpl.js +7 -2
- 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.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/AnnotationTestUtils.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/ElementDrivesElement.test.js +23 -23
- package/lib/esm/test/ElementDrivesElement.test.js.map +1 -1
- package/lib/esm/test/ElementLRUCache.test.js.map +1 -1
- package/lib/esm/test/GeometryTestUtil.js.map +1 -1
- package/lib/esm/test/IModelHost.test.js.map +1 -1
- package/lib/esm/test/IModelTestUtils.d.ts +1 -1
- package/lib/esm/test/IModelTestUtils.d.ts.map +1 -1
- package/lib/esm/test/IModelTestUtils.js +8 -3
- 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/SchemaChangesetCanBeReversed.test.js +51 -51
- package/lib/esm/test/SchemaChangesetCanBeReversed.test.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/SquashSchemaAndDataChanges.test.js +129 -129
- package/lib/esm/test/SquashSchemaAndDataChanges.test.js.map +1 -1
- package/lib/esm/test/TestChangeSetUtility.js.map +1 -1
- package/lib/esm/test/TestEditTxn.js.map +1 -1
- package/lib/esm/test/TestUtils.js.map +1 -1
- package/lib/esm/test/annotations/Fields.test.js +53 -53
- package/lib/esm/test/annotations/Fields.test.js.map +1 -1
- package/lib/esm/test/annotations/FrameGeometry.test.js.map +1 -1
- package/lib/esm/test/annotations/LeaderGeometry.test.js +178 -2
- package/lib/esm/test/annotations/LeaderGeometry.test.js.map +1 -1
- package/lib/esm/test/annotations/TextAnnotation.test.js +48 -18
- package/lib/esm/test/annotations/TextAnnotation.test.js.map +1 -1
- package/lib/esm/test/annotations/TextBlock.test.js.map +1 -1
- package/lib/esm/test/assets/IncrementalSchemaLocater/configs/old.config.js.map +1 -1
- package/lib/esm/test/assets/IncrementalSchemaLocater/configs/simple.config.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/ConcurrentQuery.test.js +19 -19
- package/lib/esm/test/ecdb/ConcurrentQuery.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 +72 -72
- 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 +4 -4
- package/lib/esm/test/ecdb/ECSqlQuery.test.js.map +1 -1
- package/lib/esm/test/ecdb/ECSqlStatement.test.js +509 -332
- package/lib/esm/test/ecdb/ECSqlStatement.test.js.map +1 -1
- package/lib/esm/test/ecdb/ECSqlSyncReader.test.js +4 -4
- package/lib/esm/test/ecdb/ECSqlSyncReader.test.js.map +1 -1
- package/lib/esm/test/ecdb/QueryReaders.test.js +33 -47
- package/lib/esm/test/ecdb/QueryReaders.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 +2 -2
- 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 +176 -24
- 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 +224 -141
- 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/ProjectInformationRecord.test.js.map +1 -1
- package/lib/esm/test/element/SheetInformationAspect.test.js.map +1 -1
- package/lib/esm/test/element/UrlLink.test.js.map +1 -1
- package/lib/esm/test/example-code/EditTxn.test.d.ts +2 -0
- package/lib/esm/test/example-code/EditTxn.test.d.ts.map +1 -0
- package/lib/esm/test/example-code/EditTxn.test.js +47 -0
- package/lib/esm/test/example-code/EditTxn.test.js.map +1 -0
- 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/ApplyChangeset.test.js +32 -32
- package/lib/esm/test/hubaccess/ApplyChangeset.test.js.map +1 -1
- package/lib/esm/test/hubaccess/BriefcaseManager.test.js.map +1 -1
- package/lib/esm/test/hubaccess/CheckpointManager.test.js +43 -1
- package/lib/esm/test/hubaccess/CheckpointManager.test.js.map +1 -1
- package/lib/esm/test/hubaccess/CodeSwap.test.js.map +1 -1
- package/lib/esm/test/hubaccess/Rebase.test.js +56 -56
- package/lib/esm/test/hubaccess/Rebase.test.js.map +1 -1
- package/lib/esm/test/hubaccess/SemanticRebase.test.js +345 -345
- package/lib/esm/test/hubaccess/SemanticRebase.test.js.map +1 -1
- package/lib/esm/test/imageData.js.map +1 -1
- package/lib/esm/test/imodel/Code.test.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/IModelECSql.test.d.ts +2 -0
- package/lib/esm/test/imodel/IModelECSql.test.d.ts.map +1 -0
- package/lib/esm/test/imodel/IModelECSql.test.js +367 -0
- package/lib/esm/test/imodel/IModelECSql.test.js.map +1 -0
- package/lib/esm/test/imodel/IModelElements.test.d.ts +2 -0
- package/lib/esm/test/imodel/IModelElements.test.d.ts.map +1 -0
- package/lib/esm/test/imodel/IModelElements.test.js +969 -0
- package/lib/esm/test/imodel/IModelElements.test.js.map +1 -0
- package/lib/esm/test/imodel/IModelGeolocation.test.d.ts +2 -0
- package/lib/esm/test/imodel/IModelGeolocation.test.d.ts.map +1 -0
- package/lib/esm/test/imodel/IModelGeolocation.test.js +539 -0
- package/lib/esm/test/imodel/IModelGeolocation.test.js.map +1 -0
- package/lib/esm/test/imodel/IModelLifecycle.test.d.ts +2 -0
- package/lib/esm/test/imodel/IModelLifecycle.test.d.ts.map +1 -0
- package/lib/esm/test/imodel/IModelLifecycle.test.js +499 -0
- package/lib/esm/test/imodel/IModelLifecycle.test.js.map +1 -0
- package/lib/esm/test/imodel/IModelMetadata.test.d.ts +2 -0
- package/lib/esm/test/imodel/IModelMetadata.test.d.ts.map +1 -0
- package/lib/esm/test/imodel/IModelMetadata.test.js +274 -0
- package/lib/esm/test/imodel/IModelMetadata.test.js.map +1 -0
- package/lib/esm/test/imodel/IModelModels.test.d.ts +2 -0
- package/lib/esm/test/imodel/IModelModels.test.d.ts.map +1 -0
- package/lib/esm/test/imodel/IModelModels.test.js +357 -0
- package/lib/esm/test/imodel/IModelModels.test.js.map +1 -0
- package/lib/esm/test/imodel/IModelRelationships.test.d.ts +2 -0
- package/lib/esm/test/imodel/IModelRelationships.test.d.ts.map +1 -0
- package/lib/esm/test/imodel/IModelRelationships.test.js +407 -0
- package/lib/esm/test/imodel/IModelRelationships.test.js.map +1 -0
- package/lib/esm/test/imodel/IModelTestFixtures.d.ts +53 -0
- package/lib/esm/test/imodel/IModelTestFixtures.d.ts.map +1 -0
- package/lib/esm/test/imodel/IModelTestFixtures.js +107 -0
- package/lib/esm/test/imodel/IModelTestFixtures.js.map +1 -0
- package/lib/esm/test/imodel/IModelViews.test.d.ts +2 -0
- package/lib/esm/test/imodel/IModelViews.test.d.ts.map +1 -0
- package/lib/esm/test/imodel/IModelViews.test.js +199 -0
- package/lib/esm/test/imodel/IModelViews.test.js.map +1 -0
- package/lib/esm/test/imodel/ProjectExtents.test.js.map +1 -1
- package/lib/esm/test/imodel/SchemaXmlImport.test.js +21 -21
- package/lib/esm/test/imodel/SchemaXmlImport.test.js.map +1 -1
- package/lib/esm/test/incrementalSchemaLocater/ECSqlQueries.test.js.map +1 -1
- package/lib/esm/test/incrementalSchemaLocater/IncrementalLoading.test.js.map +1 -1
- package/lib/esm/test/incrementalSchemaLocater/TestContext.js.map +1 -1
- package/lib/esm/test/index.d.ts +0 -1
- package/lib/esm/test/index.d.ts.map +1 -1
- package/lib/esm/test/index.js +0 -1
- package/lib/esm/test/index.js.map +1 -1
- package/lib/esm/test/internal/ECSqlInstanceReshaper.test.js +32 -32
- package/lib/esm/test/internal/ECSqlInstanceReshaper.test.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/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 +99 -99
- 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 +9 -9
- package/lib/esm/test/schema/IModelSchemaContext.test.js.map +1 -1
- package/lib/esm/test/schema/SchemaImportCallbacks.test.js +19 -19
- package/lib/esm/test/schema/SchemaImportCallbacks.test.js.map +1 -1
- package/lib/esm/test/schema/SchemaViewFragmentLoading.test.js +21 -21
- package/lib/esm/test/schema/SchemaViewFragmentLoading.test.js.map +1 -1
- package/lib/esm/test/schema/SchemaViewHidden.test.js +109 -109
- package/lib/esm/test/schema/SchemaViewHidden.test.js.map +1 -1
- package/lib/esm/test/schema/SchemaViewKoQ.test.js +13 -13
- package/lib/esm/test/schema/SchemaViewKoQ.test.js.map +1 -1
- package/lib/esm/test/schema/SchemaViewLifecycle.test.js +15 -15
- package/lib/esm/test/schema/SchemaViewLifecycle.test.js.map +1 -1
- package/lib/esm/test/schema/SchemaViewValidation.test.js +8 -8
- package/lib/esm/test/schema/SchemaViewValidation.test.js.map +1 -1
- package/lib/esm/test/sheetindex/SheetIndex.test.js.map +1 -1
- package/lib/esm/test/standalone/ChangeElementParentModel.test.js.map +1 -1
- package/lib/esm/test/standalone/ChangeMerge.test.js.map +1 -1
- package/lib/esm/test/standalone/ChangesetReader.test.js +321 -339
- package/lib/esm/test/standalone/ChangesetReader.test.js.map +1 -1
- package/lib/esm/test/standalone/CloudSqlite.test.js +73 -0
- package/lib/esm/test/standalone/CloudSqlite.test.js.map +1 -1
- package/lib/esm/test/standalone/CustomViewState3dCreator.test.js.map +1 -1
- package/lib/esm/test/standalone/DeleteElements.test.js.map +1 -1
- package/lib/esm/test/standalone/DgnDomainMergeConflict.test.d.ts +2 -0
- package/lib/esm/test/standalone/DgnDomainMergeConflict.test.d.ts.map +1 -0
- package/lib/esm/test/standalone/DgnDomainMergeConflict.test.js +263 -0
- package/lib/esm/test/standalone/DgnDomainMergeConflict.test.js.map +1 -0
- 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/EditTxn.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 +1 -3
- 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/IModelLimits.test.js.map +1 -1
- package/lib/esm/test/standalone/IModelWrite.test.d.ts.map +1 -1
- package/lib/esm/test/standalone/IModelWrite.test.js +105 -28
- package/lib/esm/test/standalone/IModelWrite.test.js.map +1 -1
- package/lib/esm/test/standalone/ITwinWorkspace.test.js.map +1 -1
- package/lib/esm/test/standalone/InlineGeometryPartReferences.test.js.map +1 -1
- package/lib/esm/test/standalone/IntegrityCheck.test.js +29 -10
- package/lib/esm/test/standalone/IntegrityCheck.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/SQliteChangesetReaderAndChangesetECAdaptor.test.js +158 -135
- package/lib/esm/test/standalone/SQliteChangesetReaderAndChangesetECAdaptor.test.js.map +1 -1
- package/lib/esm/test/standalone/SchemaSyncDb.test.d.ts +2 -0
- package/lib/esm/test/standalone/SchemaSyncDb.test.d.ts.map +1 -0
- package/lib/esm/test/standalone/SchemaSyncDb.test.js +221 -0
- package/lib/esm/test/standalone/SchemaSyncDb.test.js.map +1 -0
- package/lib/esm/test/standalone/SchemaSyncElementReservation.test.d.ts +2 -0
- package/lib/esm/test/standalone/SchemaSyncElementReservation.test.d.ts.map +1 -0
- package/lib/esm/test/standalone/SchemaSyncElementReservation.test.js +459 -0
- package/lib/esm/test/standalone/SchemaSyncElementReservation.test.js.map +1 -0
- 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/StandaloneDb.test.js +20 -20
- package/lib/esm/test/standalone/StandaloneDb.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 +108 -8
- 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 +52 -0
- package/lib/esm/test/standalone/Workspace.test.js.map +1 -1
- package/lib/esm/test/standalone/iModelDb.test.js.map +1 -1
- package/lib/esm/test/workspace/SettingsDb.test.js.map +1 -1
- package/lib/esm/workspace/Settings.js.map +1 -1
- package/lib/esm/workspace/SettingsDb.js.map +1 -1
- package/lib/esm/workspace/SettingsEditor.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 +19 -23
- package/lib/esm/test/RevisionUtility.d.ts +0 -33
- package/lib/esm/test/RevisionUtility.d.ts.map +0 -1
- package/lib/esm/test/RevisionUtility.js +0 -52
- package/lib/esm/test/RevisionUtility.js.map +0 -1
- package/lib/esm/test/imodel/IModel.test.d.ts +0 -2
- package/lib/esm/test/imodel/IModel.test.d.ts.map +0 -1
- package/lib/esm/test/imodel/IModel.test.js +0 -3279
- package/lib/esm/test/imodel/IModel.test.js.map +0 -1
package/lib/cjs/IModelDb.js
CHANGED
|
@@ -48,7 +48,9 @@ const WorkspaceImpl_1 = require("./internal/workspace/WorkspaceImpl");
|
|
|
48
48
|
const SettingsImpl_1 = require("./internal/workspace/SettingsImpl");
|
|
49
49
|
const NativePlatform_1 = require("./internal/NativePlatform");
|
|
50
50
|
const NoLocks_1 = require("./internal/NoLocks");
|
|
51
|
+
const NoReservations_1 = require("./internal/NoReservations");
|
|
51
52
|
const IModelDbFontsImpl_1 = require("./internal/IModelDbFontsImpl");
|
|
53
|
+
const SchemaSyncReservations_1 = require("./internal/SchemaSyncReservations");
|
|
52
54
|
const Symbols_1 = require("./internal/Symbols");
|
|
53
55
|
const ecschema_metadata_1 = require("@itwin/ecschema-metadata");
|
|
54
56
|
const Schema_1 = require("./Schema");
|
|
@@ -178,6 +180,8 @@ class IModelDb extends core_common_1.IModel {
|
|
|
178
180
|
/** @internal */
|
|
179
181
|
_locks = (0, NoLocks_1.createNoOpLockControl)();
|
|
180
182
|
/** @internal */
|
|
183
|
+
_reservations = (0, NoReservations_1.createNoOpReservations)();
|
|
184
|
+
/** @internal */
|
|
181
185
|
_codeService;
|
|
182
186
|
/**
|
|
183
187
|
* The always-available implicit transaction for this iModel.
|
|
@@ -188,12 +192,16 @@ class IModelDb extends core_common_1.IModel {
|
|
|
188
192
|
[Symbols_1._implicitTxn];
|
|
189
193
|
/** @internal */
|
|
190
194
|
[Symbols_1._activeTxn];
|
|
191
|
-
/** Returns the
|
|
192
|
-
*
|
|
193
|
-
*
|
|
194
|
-
*
|
|
195
|
-
*
|
|
196
|
-
*
|
|
195
|
+
/** Returns the transaction to use for additional edits from an element, model, or aspect callback.
|
|
196
|
+
* In callbacks whose arguments provide an [[IModelDb]] but no transaction, obtain this transaction through
|
|
197
|
+
* `arg.iModel.getIndirectTxn()` and pass it to APIs that accept an [[EditTxn]].
|
|
198
|
+
*
|
|
199
|
+
* If an explicit transaction is active, this returns that transaction. Otherwise, it returns the implicit transaction
|
|
200
|
+
* used by legacy write paths. Callbacks that receive an `indirectEditTxn` argument should use that transaction directly.
|
|
201
|
+
*
|
|
202
|
+
* @note The operation that invoked the callback owns the transaction. Callback implementations must not invoke transaction
|
|
203
|
+
* lifecycle methods such as [[EditTxn.start]], [[EditTxn.end]], [[EditTxn.saveChanges]], [[EditTxn.abandonChanges]], or [[EditTxn.onClose]].
|
|
204
|
+
* @beta
|
|
197
205
|
*/
|
|
198
206
|
getIndirectTxn() {
|
|
199
207
|
return this[Symbols_1._activeTxn] ?? this[Symbols_1._implicitTxn];
|
|
@@ -202,6 +210,16 @@ class IModelDb extends core_common_1.IModel {
|
|
|
202
210
|
get codeService() { return this._codeService; }
|
|
203
211
|
/** The [[LockControl]] that orchestrates [concurrent editing]($docs/learning/backend/ConcurrencyControl.md) of this iModel. */
|
|
204
212
|
get locks() { return this._locks; } // eslint-disable-line @typescript-eslint/no-non-null-assertion
|
|
213
|
+
/** @beta The [[SynchronousChannel.Reservations]] that orchestrates [concurrent editing]($docs/learning/backend/ConcurrencyControl.md) of this iModel. */
|
|
214
|
+
get reservations() { return this._reservations; } // eslint-disable-line @typescript-eslint/no-non-null-assertion
|
|
215
|
+
/** @internal */
|
|
216
|
+
async initializeSharedElementReservations() {
|
|
217
|
+
this._reservations?.[Symbols_1._close]();
|
|
218
|
+
if (SchemaSync_1.SchemaSync.isEnabled(this))
|
|
219
|
+
this._reservations = await (0, SchemaSyncReservations_1.createSchemaSyncReservations)(this);
|
|
220
|
+
else
|
|
221
|
+
this._reservations = (0, NoReservations_1.createNoOpReservations)();
|
|
222
|
+
}
|
|
205
223
|
/** Provides methods for interacting with [font-related information]($docs/learning/backend/Fonts.md) stored in this iModel.
|
|
206
224
|
* @beta
|
|
207
225
|
*/
|
|
@@ -359,8 +377,11 @@ class IModelDb extends core_common_1.IModel {
|
|
|
359
377
|
this.optimize();
|
|
360
378
|
IModelDb._openDbs.delete(this._fileKey);
|
|
361
379
|
this._workspace?.close();
|
|
380
|
+
this.views[Symbols_1._close]();
|
|
362
381
|
this.locks[Symbols_1._close]();
|
|
363
382
|
this._locks = undefined;
|
|
383
|
+
this.reservations[Symbols_1._close]();
|
|
384
|
+
this._reservations = undefined;
|
|
364
385
|
this._codeService?.close();
|
|
365
386
|
this._codeService = undefined;
|
|
366
387
|
this[Symbols_1._nativeDb].closeFile();
|
|
@@ -2173,7 +2194,7 @@ function processSchemaWriteStatus(status) {
|
|
|
2173
2194
|
* @param props The data for the new model.
|
|
2174
2195
|
* @returns The newly inserted model's Id.
|
|
2175
2196
|
* @throws [[IModelError]] if insertion fails.
|
|
2176
|
-
* @deprecated in 5.9.0 -
|
|
2197
|
+
* @deprecated in 5.9.0 - might be removed in next major version. Use EditTxn.insertModel instead, within an explicit EditTxn scope (or via withEditTxn). See EditTxn documentation for migration help.
|
|
2177
2198
|
*/
|
|
2178
2199
|
insertModel(props) {
|
|
2179
2200
|
return this._iModel[Symbols_1._implicitTxn].insertModel(props);
|
|
@@ -2181,7 +2202,7 @@ function processSchemaWriteStatus(status) {
|
|
|
2181
2202
|
/** Update an existing model.
|
|
2182
2203
|
* @param props the properties of the model to change
|
|
2183
2204
|
* @throws [[IModelError]] if update fails.
|
|
2184
|
-
* @deprecated in 5.9.0 -
|
|
2205
|
+
* @deprecated in 5.9.0 - might be removed in next major version. Use EditTxn.updateModel instead, within an explicit EditTxn scope (or via withEditTxn). See EditTxn documentation for migration help.
|
|
2185
2206
|
*/
|
|
2186
2207
|
updateModel(props) {
|
|
2187
2208
|
this._iModel[Symbols_1._implicitTxn].updateModel(props);
|
|
@@ -2193,7 +2214,7 @@ function processSchemaWriteStatus(status) {
|
|
|
2193
2214
|
* Cached [Tile]($frontend)s are only invalidated after the geometry guid of the model changes.
|
|
2194
2215
|
* @note This will throw IModelError with [IModelStatus.VersionTooOld]($core-bentley) if a version of the BisCore schema older than 1.0.11 is present in the iModel.
|
|
2195
2216
|
* @throws [[IModelError]] if the update fails.
|
|
2196
|
-
* @deprecated in 5.9.0 -
|
|
2217
|
+
* @deprecated in 5.9.0 - might be removed in next major version. Use EditTxn.updateGeometryGuid instead, within an explicit EditTxn scope (or via withEditTxn). See EditTxn documentation for migration help.
|
|
2197
2218
|
* @see [[TxnManager.onModelGeometryChanged]] for the event emitted in response to such a change.
|
|
2198
2219
|
*/
|
|
2199
2220
|
updateGeometryGuid(modelId) {
|
|
@@ -2202,7 +2223,7 @@ function processSchemaWriteStatus(status) {
|
|
|
2202
2223
|
/** Delete one or more existing models.
|
|
2203
2224
|
* @param ids The Ids of the models to be deleted
|
|
2204
2225
|
* @throws [[IModelError]] if deletion fails.
|
|
2205
|
-
* @deprecated in 5.9.0 -
|
|
2226
|
+
* @deprecated in 5.9.0 - might be removed in next major version. Use EditTxn.deleteModel instead, within an explicit EditTxn scope (or via withEditTxn). See EditTxn documentation for migration help.
|
|
2206
2227
|
*/
|
|
2207
2228
|
deleteModel(ids) {
|
|
2208
2229
|
this._iModel[Symbols_1._implicitTxn].deleteModel(ids);
|
|
@@ -2426,7 +2447,7 @@ function processSchemaWriteStatus(status) {
|
|
|
2426
2447
|
* However when `elProps.federationGuid` is not present or undefined, a new Guid will be generated and stored on the resultant element. But
|
|
2427
2448
|
* the value of `elProps.federationGuid` is *not* updated. Generally, it is best to re-read the element after inserting (e.g. via [[getElementProps]])
|
|
2428
2449
|
* if you intend to continue working with it. That will ensure its values reflect the persistent state.
|
|
2429
|
-
* @deprecated in 5.9.0 -
|
|
2450
|
+
* @deprecated in 5.9.0 - might be removed in next major version. Use EditTxn.insertElement instead, within an explicit EditTxn scope (or via withEditTxn). See EditTxn documentation for migration help.
|
|
2430
2451
|
*/
|
|
2431
2452
|
insertElement(elProps, options) {
|
|
2432
2453
|
return this._iModel[Symbols_1._implicitTxn].insertElement(elProps, options);
|
|
@@ -2441,7 +2462,7 @@ function processSchemaWriteStatus(status) {
|
|
|
2441
2462
|
* @note The values of `classFullName` and `model` *may not be changed* by this method. Further, it will permute the `elProps` object by adding or
|
|
2442
2463
|
* overwriting their values to the correct values.
|
|
2443
2464
|
* @throws [[ITwinError]] if update fails.
|
|
2444
|
-
* @deprecated in 5.9.0 -
|
|
2465
|
+
* @deprecated in 5.9.0 - might be removed in next major version. Use EditTxn.updateElement instead, within an explicit EditTxn scope (or via withEditTxn). See EditTxn documentation for migration help.
|
|
2445
2466
|
*/
|
|
2446
2467
|
updateElement(elProps) {
|
|
2447
2468
|
this._iModel[Symbols_1._implicitTxn].updateElement(elProps);
|
|
@@ -2450,7 +2471,7 @@ function processSchemaWriteStatus(status) {
|
|
|
2450
2471
|
* @param ids The set of Ids of the element(s) to be deleted
|
|
2451
2472
|
* @throws [[ITwinError]]
|
|
2452
2473
|
* @see deleteDefinitionElements
|
|
2453
|
-
* @deprecated in 5.9.0 -
|
|
2474
|
+
* @deprecated in 5.9.0 - might be removed in next major version. Use EditTxn.deleteElement instead, within an explicit EditTxn scope (or via withEditTxn). See EditTxn documentation for migration help.
|
|
2454
2475
|
*/
|
|
2455
2476
|
deleteElement(ids) {
|
|
2456
2477
|
this._iModel[Symbols_1._implicitTxn].deleteElement(ids);
|
|
@@ -2461,7 +2482,7 @@ function processSchemaWriteStatus(status) {
|
|
|
2461
2482
|
* @param deleteOptions Options for the delete operation.
|
|
2462
2483
|
* @returns A result object containing information about the deletion operation success and the element ids that failed to delete (if any).
|
|
2463
2484
|
* @throws [[ITwinError]] if any of the supplied ids are not well-formed/valid [[Id64String]]s.
|
|
2464
|
-
* @deprecated in 5.1.9 -
|
|
2485
|
+
* @deprecated in 5.1.9 - might be removed in next major version. Use EditTxn.deleteElements instead, within an explicit EditTxn scope (or via withEditTxn). See EditTxn documentation for migration help.
|
|
2465
2486
|
* @beta
|
|
2466
2487
|
*/
|
|
2467
2488
|
deleteElements(ids, deleteOptions) {
|
|
@@ -2475,7 +2496,7 @@ function processSchemaWriteStatus(status) {
|
|
|
2475
2496
|
* DefinitionElements rather than calling this method separately for each one. Ids that are not valid DefinitionElements will be ignored.
|
|
2476
2497
|
* @returns An IdSet of the DefinitionElements that are used and were therefore not deleted.
|
|
2477
2498
|
* @see deleteElement
|
|
2478
|
-
* @deprecated in 5.9.0 -
|
|
2499
|
+
* @deprecated in 5.9.0 - might be removed in next major version. Use EditTxn.deleteDefinitionElements instead, within an explicit EditTxn scope (or via withEditTxn). See EditTxn documentation for migration help.
|
|
2479
2500
|
*/
|
|
2480
2501
|
deleteDefinitionElements(definitionElementIds) {
|
|
2481
2502
|
return this._iModel[Symbols_1._implicitTxn].deleteDefinitionElements(definitionElementIds);
|
|
@@ -2578,21 +2599,27 @@ function processSchemaWriteStatus(status) {
|
|
|
2578
2599
|
return this._queryAspect(aspectInstanceId, aspectClassFullName);
|
|
2579
2600
|
}
|
|
2580
2601
|
static classMap = new Map();
|
|
2602
|
+
getAspectPropsFromInstanceQuery(rawInstance) {
|
|
2603
|
+
const parsedRow = typeof rawInstance === "string" ? JSON.parse(rawInstance, core_common_1.Base64EncodedString.reviver) : rawInstance;
|
|
2604
|
+
if (!core_bentley_1.JsonUtils.isObject(parsedRow))
|
|
2605
|
+
throw new core_common_1.IModelError(core_bentley_1.IModelStatus.BadRequest, "Expected an ElementAspect instance query to return an object");
|
|
2606
|
+
const row = {};
|
|
2607
|
+
for (const [key, value] of Object.entries(parsedRow)) {
|
|
2608
|
+
const ecPropertyName = key.length === 0 ? key : key[0].toUpperCase() + key.substring(1);
|
|
2609
|
+
row[core_common_1.ECJsNames.toJsName(ecPropertyName)] = value;
|
|
2610
|
+
}
|
|
2611
|
+
const className = row.className;
|
|
2612
|
+
if (typeof className !== "string")
|
|
2613
|
+
throw new core_common_1.IModelError(core_bentley_1.IModelStatus.BadRequest, "Expected an ElementAspect instance query to return a className");
|
|
2614
|
+
row.classFullName = className.replace(".", ":"); // add in property required by EntityProps
|
|
2615
|
+
delete row.className; // clear property from SELECT $ that we don't want in the final instance
|
|
2616
|
+
return row;
|
|
2617
|
+
}
|
|
2581
2618
|
runInstanceQuery(sql, elementId, excludedClassFullNames) {
|
|
2582
2619
|
return this._iModel.withQueryReader(sql, (reader) => {
|
|
2583
2620
|
const aspects = [];
|
|
2584
2621
|
for (const queryRow of reader) {
|
|
2585
|
-
const
|
|
2586
|
-
const rawInstance = queryRow[0];
|
|
2587
|
-
const parsedRow = typeof rawInstance === "string" ? JSON.parse(rawInstance) : rawInstance;
|
|
2588
|
-
// eslint-disable-next-line guard-for-in
|
|
2589
|
-
for (const key in parsedRow) {
|
|
2590
|
-
const jsName = core_common_1.ECJsNames.toJsName(key[0].toUpperCase() + key.substring(1));
|
|
2591
|
-
Object.defineProperty(row, jsName, { enumerable: true, configurable: true, writable: true, value: parsedRow[key] });
|
|
2592
|
-
}
|
|
2593
|
-
const aspectProps = row;
|
|
2594
|
-
aspectProps.classFullName = aspectProps.className.replace(".", ":"); // add in property required by EntityProps
|
|
2595
|
-
aspectProps.className = undefined; // clear property from SELECT $ that we don't want in the final instance
|
|
2622
|
+
const aspectProps = this.getAspectPropsFromInstanceQuery(queryRow[0]);
|
|
2596
2623
|
if ((undefined === excludedClassFullNames) || !excludedClassFullNames.has(aspectProps.classFullName))
|
|
2597
2624
|
aspects.push(this._iModel.constructEntity(aspectProps));
|
|
2598
2625
|
}
|
|
@@ -2607,9 +2634,9 @@ function processSchemaWriteStatus(status) {
|
|
|
2607
2634
|
*/
|
|
2608
2635
|
getAspects(elementId, aspectClassFullName, excludedClassFullNames) {
|
|
2609
2636
|
if (aspectClassFullName === undefined) {
|
|
2610
|
-
const allAspects = this.runInstanceQuery(`SELECT $ FROM (
|
|
2611
|
-
SELECT ECInstanceId, ECClassId FROM Bis.ElementMultiAspect WHERE Element.Id = :elementId
|
|
2612
|
-
UNION ALL
|
|
2637
|
+
const allAspects = this.runInstanceQuery(`SELECT $ FROM (
|
|
2638
|
+
SELECT ECInstanceId, ECClassId FROM Bis.ElementMultiAspect WHERE Element.Id = :elementId
|
|
2639
|
+
UNION ALL
|
|
2613
2640
|
SELECT ECInstanceId, ECClassId FROM Bis.ElementUniqueAspect WHERE Element.Id = :elementId) OPTIONS USE_JS_PROP_NAMES DO_NOT_TRUNCATE_BLOB`, elementId, excludedClassFullNames);
|
|
2614
2641
|
if (allAspects.length === 0)
|
|
2615
2642
|
core_bentley_1.Logger.logInfo(BackendLoggerCategory_1.BackendLoggerCategory.ECDb, `No aspects found for class ${aspectClassFullName} and element ${elementId}`);
|
|
@@ -2628,7 +2655,7 @@ function processSchemaWriteStatus(status) {
|
|
|
2628
2655
|
let classIdList = IModelDb.Elements.classMap.get(aspectClassFullName);
|
|
2629
2656
|
if (classIdList === undefined) {
|
|
2630
2657
|
const classIds = [];
|
|
2631
|
-
const sql = `select SourceECInstanceId from meta.ClassHasAllBaseClasses where TargetECInstanceId = (select ECInstanceId from meta.ECClassDef where Name=:className
|
|
2658
|
+
const sql = `select SourceECInstanceId from meta.ClassHasAllBaseClasses where TargetECInstanceId = (select ECInstanceId from meta.ECClassDef where Name=:className
|
|
2632
2659
|
and Schema.Id = (select ECInstanceId from meta.ECSchemaDef where Name=:schemaName)) and SourceECInstanceId != TargetECInstanceId`;
|
|
2633
2660
|
this._iModel.withQueryReader(sql, (reader) => {
|
|
2634
2661
|
for (const row of reader) {
|
|
@@ -2647,22 +2674,72 @@ function processSchemaWriteStatus(status) {
|
|
|
2647
2674
|
return [];
|
|
2648
2675
|
}
|
|
2649
2676
|
// Execute an instance query to retrieve all aspects from all the derived classes
|
|
2650
|
-
const aspects = this.runInstanceQuery(`SELECT $ FROM (
|
|
2651
|
-
SELECT ECInstanceId, ECClassId FROM Bis.ElementMultiAspect WHERE Element.Id = :elementId AND ECClassId IN (${classIdList})
|
|
2652
|
-
UNION ALL
|
|
2653
|
-
SELECT ECInstanceId, ECClassId FROM Bis.ElementUniqueAspect WHERE Element.Id = :elementId AND ECClassId IN (${classIdList})
|
|
2677
|
+
const aspects = this.runInstanceQuery(`SELECT $ FROM (
|
|
2678
|
+
SELECT ECInstanceId, ECClassId FROM Bis.ElementMultiAspect WHERE Element.Id = :elementId AND ECClassId IN (${classIdList})
|
|
2679
|
+
UNION ALL
|
|
2680
|
+
SELECT ECInstanceId, ECClassId FROM Bis.ElementUniqueAspect WHERE Element.Id = :elementId AND ECClassId IN (${classIdList})
|
|
2654
2681
|
) OPTIONS USE_JS_PROP_NAMES DO_NOT_TRUNCATE_BLOB`, elementId, excludedClassFullNames);
|
|
2655
2682
|
if (aspects.length === 0)
|
|
2656
2683
|
core_bentley_1.Logger.logInfo(BackendLoggerCategory_1.BackendLoggerCategory.ECDb, `No aspects found for class ${aspectClassFullName} and element ${elementId}`);
|
|
2657
2684
|
return aspects;
|
|
2658
2685
|
}
|
|
2686
|
+
/** Stream the [[ElementAspect]] instances owned by a set of elements.
|
|
2687
|
+
*
|
|
2688
|
+
* Use this method instead of calling [[getAspects]] repeatedly when reading aspects for multiple elements or when the result may be large. The query reads all requested owners together and yields each aspect without buffering the complete result set. For a single element with a small result, [[getAspects]] provides a simpler synchronous API.
|
|
2689
|
+
*
|
|
2690
|
+
* The order is unspecified unless [[QueryAspectOptions.groupByOwner]] is true.
|
|
2691
|
+
* @param options Defines the element Ids, class filters, result ordering, and query connection.
|
|
2692
|
+
* @returns An async iterator over the matching aspects.
|
|
2693
|
+
* @beta
|
|
2694
|
+
*/
|
|
2695
|
+
async *queryAspects(options) {
|
|
2696
|
+
const elementIds = core_bentley_1.Id64.toIdSet(options.elementIds);
|
|
2697
|
+
if (elementIds.size === 0)
|
|
2698
|
+
return;
|
|
2699
|
+
const params = new core_common_1.QueryBinder().bindIdSet("elementIds", elementIds);
|
|
2700
|
+
const classFilter = options.aspectClassFullName === undefined ? "" : `AND aspect.ECClassId IN (
|
|
2701
|
+
SELECT SourceECInstanceId FROM meta.ClassHasAllBaseClasses
|
|
2702
|
+
WHERE TargetECInstanceId=ec_classid(:aspectClassFullName)
|
|
2703
|
+
)`;
|
|
2704
|
+
if (options.aspectClassFullName !== undefined)
|
|
2705
|
+
params.bindString("aspectClassFullName", options.aspectClassFullName.replace(".", ":"));
|
|
2706
|
+
const excludedClassIds = [];
|
|
2707
|
+
let excludedClassIndex = 0;
|
|
2708
|
+
for (const classFullName of options.excludedAspectClassFullNames ?? []) {
|
|
2709
|
+
const parameterName = `excludedAspectClass${excludedClassIndex++}`;
|
|
2710
|
+
excludedClassIds.push(`ec_classid(:${parameterName})`);
|
|
2711
|
+
params.bindString(parameterName, classFullName.replace(".", ":"));
|
|
2712
|
+
}
|
|
2713
|
+
const excludedClassFilter = excludedClassIds.length === 0 ? "" : `AND aspect.ECClassId NOT IN (
|
|
2714
|
+
SELECT ECInstanceId FROM meta.ECClassDef WHERE ECInstanceId IN (${excludedClassIds.join(",")})
|
|
2715
|
+
)`;
|
|
2716
|
+
const orderBy = options.groupByOwner
|
|
2717
|
+
? "ORDER BY OwnerId, AspectKind, ECClassId, ECInstanceId"
|
|
2718
|
+
: "";
|
|
2719
|
+
const sql = `WITH OwnerIds AS (SELECT id FROM IdSet(:elementIds))
|
|
2720
|
+
SELECT $ FROM (
|
|
2721
|
+
SELECT aspect.ECInstanceId, aspect.ECClassId, aspect.Element.Id AS OwnerId, 0 AS AspectKind
|
|
2722
|
+
FROM OwnerIds owners
|
|
2723
|
+
CROSS JOIN Bis.ElementMultiAspect aspect ON aspect.Element.Id=owners.id
|
|
2724
|
+
WHERE TRUE ${classFilter} ${excludedClassFilter}
|
|
2725
|
+
UNION ALL
|
|
2726
|
+
SELECT aspect.ECInstanceId, aspect.ECClassId, aspect.Element.Id AS OwnerId, 1 AS AspectKind
|
|
2727
|
+
FROM OwnerIds owners
|
|
2728
|
+
CROSS JOIN Bis.ElementUniqueAspect aspect ON aspect.Element.Id=owners.id
|
|
2729
|
+
WHERE TRUE ${classFilter} ${excludedClassFilter}
|
|
2730
|
+
) ${orderBy}
|
|
2731
|
+
OPTIONS USE_JS_PROP_NAMES DO_NOT_TRUNCATE_BLOB`;
|
|
2732
|
+
const reader = this._iModel.createQueryReader(sql, params, { usePrimaryConn: options.usePrimaryConn });
|
|
2733
|
+
for await (const queryRow of reader)
|
|
2734
|
+
yield this._iModel.constructEntity(this.getAspectPropsFromInstanceQuery(queryRow[0]));
|
|
2735
|
+
}
|
|
2659
2736
|
/** Insert a new ElementAspect into the iModel.
|
|
2660
2737
|
* @param aspectProps The properties of the new ElementAspect.
|
|
2661
2738
|
* @throws [[IModelError]] if unable to insert the ElementAspect.
|
|
2662
2739
|
* @returns the id of the newly inserted aspect.
|
|
2663
2740
|
* @note Aspect Ids may collide with element Ids, so don't put both in a container like Set or Map
|
|
2664
2741
|
* use [EntityReference]($common) for that instead.
|
|
2665
|
-
* @deprecated in 5.9.0 -
|
|
2742
|
+
* @deprecated in 5.9.0 - might be removed in next major version. Use EditTxn.insertAspect instead, within an explicit EditTxn scope (or via withEditTxn). See EditTxn documentation for migration help.
|
|
2666
2743
|
*/
|
|
2667
2744
|
insertAspect(aspectProps) {
|
|
2668
2745
|
return this._iModel[Symbols_1._implicitTxn].insertAspect(aspectProps);
|
|
@@ -2670,7 +2747,7 @@ function processSchemaWriteStatus(status) {
|
|
|
2670
2747
|
/** Update an exist ElementAspect within the iModel.
|
|
2671
2748
|
* @param aspectProps The properties to use to update the ElementAspect.
|
|
2672
2749
|
* @throws [[IModelError]] if unable to update the ElementAspect.
|
|
2673
|
-
* @deprecated in 5.9.0 -
|
|
2750
|
+
* @deprecated in 5.9.0 - might be removed in next major version. Use EditTxn.updateAspect instead, within an explicit EditTxn scope (or via withEditTxn). See EditTxn documentation for migration help.
|
|
2674
2751
|
*/
|
|
2675
2752
|
updateAspect(aspectProps) {
|
|
2676
2753
|
this._iModel[Symbols_1._implicitTxn].updateAspect(aspectProps);
|
|
@@ -2678,7 +2755,7 @@ function processSchemaWriteStatus(status) {
|
|
|
2678
2755
|
/** Delete one or more ElementAspects from this iModel.
|
|
2679
2756
|
* @param aspectInstanceIds The set of instance Ids of the ElementAspect(s) to be deleted
|
|
2680
2757
|
* @throws [[IModelError]] if unable to delete the ElementAspect.
|
|
2681
|
-
* @deprecated in 5.9.0 -
|
|
2758
|
+
* @deprecated in 5.9.0 - might be removed in next major version. Use EditTxn.deleteAspect instead, within an explicit EditTxn scope (or via withEditTxn). See EditTxn documentation for migration help.
|
|
2682
2759
|
*/
|
|
2683
2760
|
deleteAspect(aspectInstanceIds) {
|
|
2684
2761
|
this._iModel[Symbols_1._implicitTxn].deleteAspect(aspectInstanceIds);
|
|
@@ -2687,7 +2764,7 @@ function processSchemaWriteStatus(status) {
|
|
|
2687
2764
|
* @param props The properties specifying the element to reparent and its new parent.
|
|
2688
2765
|
* @throws [[ITwinError]] if the operation fails.
|
|
2689
2766
|
* @beta
|
|
2690
|
-
* @deprecated in 5.11.0 -
|
|
2767
|
+
* @deprecated in 5.11.0 - might be removed in next major version. Use EditTxn.changeElementParent instead, within an explicit EditTxn scope (or via withEditTxn). See EditTxn documentation for migration help.
|
|
2691
2768
|
*/
|
|
2692
2769
|
changeElementParent(props) {
|
|
2693
2770
|
this._iModel[Symbols_1._implicitTxn].changeElementParent(props);
|
|
@@ -2696,7 +2773,7 @@ function processSchemaWriteStatus(status) {
|
|
|
2696
2773
|
* @param props The properties specifying the element to move and its new model.
|
|
2697
2774
|
* @throws [[ITwinError]] if the operation fails.
|
|
2698
2775
|
* @beta
|
|
2699
|
-
* @deprecated in 5.11.0 -
|
|
2776
|
+
* @deprecated in 5.11.0 - might be removed in next major version. Use EditTxn.changeElementModel instead, within an explicit EditTxn scope (or via withEditTxn). See EditTxn documentation for migration help.
|
|
2700
2777
|
*/
|
|
2701
2778
|
changeElementModel(props) {
|
|
2702
2779
|
this._iModel[Symbols_1._implicitTxn].changeElementModel(props);
|
|
@@ -2715,15 +2792,27 @@ function processSchemaWriteStatus(status) {
|
|
|
2715
2792
|
static viewStoreProperty = { namespace: "itwinjs", name: "DefaultViewStore" };
|
|
2716
2793
|
_viewStore;
|
|
2717
2794
|
get hasViewStore() { return undefined !== this._viewStore; }
|
|
2718
|
-
/**
|
|
2795
|
+
/** The [[ViewStore.CloudAccess]] for this iModel.
|
|
2796
|
+
* @note The iModel owns its ViewStore (whether assigned via this setter or created by [[accessViewStore]]): it is closed when the iModel is closed.
|
|
2797
|
+
* @beta
|
|
2798
|
+
*/
|
|
2719
2799
|
get viewStore() {
|
|
2720
2800
|
if (undefined === this._viewStore)
|
|
2721
2801
|
throw new core_common_1.IModelError(core_bentley_1.IModelStatus.BadRequest, "No ViewStore available");
|
|
2722
2802
|
return this._viewStore;
|
|
2723
2803
|
}
|
|
2724
2804
|
set viewStore(viewStore) {
|
|
2805
|
+
if (this._viewStore !== undefined && this._viewStore !== viewStore)
|
|
2806
|
+
this._viewStore.close();
|
|
2725
2807
|
this._viewStore = viewStore;
|
|
2726
2808
|
}
|
|
2809
|
+
/** Close the ViewStore for this iModel, if one is open. Called when the iModel is closed.
|
|
2810
|
+
* @internal
|
|
2811
|
+
*/
|
|
2812
|
+
[Symbols_1._close]() {
|
|
2813
|
+
this._viewStore?.close();
|
|
2814
|
+
this._viewStore = undefined;
|
|
2815
|
+
}
|
|
2727
2816
|
/** @beta */
|
|
2728
2817
|
async accessViewStore(args) {
|
|
2729
2818
|
let props = args.props;
|
|
@@ -2743,7 +2832,7 @@ function processSchemaWriteStatus(status) {
|
|
|
2743
2832
|
return this._viewStore;
|
|
2744
2833
|
}
|
|
2745
2834
|
/**
|
|
2746
|
-
* @beta @deprecated in 5.9.0 -
|
|
2835
|
+
* @beta @deprecated in 5.9.0 - might be removed in next major version. Use EditTxn.saveDefaultViewStore instead, within an explicit EditTxn scope (or via withEditTxn). See EditTxn documentation for migration help.
|
|
2747
2836
|
*/
|
|
2748
2837
|
saveDefaultViewStore(arg) {
|
|
2749
2838
|
this._iModel[Symbols_1._implicitTxn].saveDefaultViewStore(arg);
|
|
@@ -3194,6 +3283,7 @@ class BriefcaseDb extends IModelDb {
|
|
|
3194
3283
|
}
|
|
3195
3284
|
// load all of the settings from workspaces
|
|
3196
3285
|
await briefcaseDb.loadWorkspaceSettings();
|
|
3286
|
+
await briefcaseDb.initializeSharedElementReservations();
|
|
3197
3287
|
if (openMode === core_bentley_1.OpenMode.ReadWrite && CodeService_1.CodeService.createForIModel) {
|
|
3198
3288
|
try {
|
|
3199
3289
|
briefcaseDb._codeService = await CodeService_1.CodeService.createForIModel(briefcaseDb);
|
|
@@ -3249,6 +3339,18 @@ class BriefcaseDb extends IModelDb {
|
|
|
3249
3339
|
return "foreign key";
|
|
3250
3340
|
}
|
|
3251
3341
|
};
|
|
3342
|
+
// `dgn_Domain` holds one bookkeeping row per BIS domain present in the briefcase. The row is
|
|
3343
|
+
// created automatically as soon as the domain's schema is imported, so merging a changeset
|
|
3344
|
+
// that registers a domain inserts a row that was just created locally. Both rows describe the
|
|
3345
|
+
// same domain and the incoming one is authoritative, so this duplicate insert is never fatal.
|
|
3346
|
+
// Only a primary key collision on an insert is benign - an update or delete whose "before"
|
|
3347
|
+
// values do not match (`DbConflictCause.Data`) describes a real divergence and must not be
|
|
3348
|
+
// silently discarded here.
|
|
3349
|
+
if (args.tableName === "dgn_Domain" && args.cause === core_bentley_1.DbConflictCause.Conflict && args.opcode === core_bentley_1.DbOpcode.Insert) {
|
|
3350
|
+
core_bentley_1.Logger.logWarning(category, `${interpretConflictCause(args.cause)} conflict on dgn_Domain - resolved by replacing the existing row with the incoming row`);
|
|
3351
|
+
args.dump();
|
|
3352
|
+
return core_bentley_1.DbConflictResolution.Replace;
|
|
3353
|
+
}
|
|
3252
3354
|
if (args.cause === core_bentley_1.DbConflictCause.Data && !args.indirect) {
|
|
3253
3355
|
/*
|
|
3254
3356
|
* From SQLite Docs CHANGESET_DATA as the second argument
|
|
@@ -3421,6 +3523,9 @@ class BriefcaseDb extends IModelDb {
|
|
|
3421
3523
|
await SchemaSync_1.SchemaSync.pull(this);
|
|
3422
3524
|
this.initializeIModelDb("pullMerge");
|
|
3423
3525
|
});
|
|
3526
|
+
// If this pull enabled or disabled SchemaSync for this briefcase, its reservations must now be re-initialized
|
|
3527
|
+
if (this.reservations.isServerBased !== SchemaSync_1.SchemaSync.isEnabled(this))
|
|
3528
|
+
await this.initializeSharedElementReservations();
|
|
3424
3529
|
this.txns._onChangesPulled(this.changeset);
|
|
3425
3530
|
}
|
|
3426
3531
|
async enableChangesetStatTracking() {
|
|
@@ -3609,6 +3714,9 @@ class BriefcaseDb extends IModelDb {
|
|
|
3609
3714
|
await BriefcaseManager_1.BriefcaseManager.pullMergePush(this, arg);
|
|
3610
3715
|
this.initializeIModelDb("pullMerge");
|
|
3611
3716
|
});
|
|
3717
|
+
// If this pull enabled or disabled SchemaSync for this briefcase, its reservations must now be re-initialized
|
|
3718
|
+
if (this.reservations.isServerBased !== SchemaSync_1.SchemaSync.isEnabled(this))
|
|
3719
|
+
await this.initializeSharedElementReservations();
|
|
3612
3720
|
this.txns._onChangesPushed(this.changeset);
|
|
3613
3721
|
BriefcaseManager_1.BriefcaseManager.deleteRebaseFolders(this);
|
|
3614
3722
|
}
|
|
@@ -3784,6 +3892,7 @@ class SnapshotDb extends IModelDb {
|
|
|
3784
3892
|
const key = CheckpointManager_1.CheckpointManager.getKey(checkpoint);
|
|
3785
3893
|
const db = SnapshotDb.openFile(dbName, { key, container });
|
|
3786
3894
|
await db.loadWorkspaceSettings();
|
|
3895
|
+
await db.initializeSharedElementReservations();
|
|
3787
3896
|
return db;
|
|
3788
3897
|
}
|
|
3789
3898
|
/** @internal */
|