@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/esm/IModelDb.js
CHANGED
|
@@ -8,8 +8,8 @@
|
|
|
8
8
|
import * as fs from "fs";
|
|
9
9
|
import { join } from "path";
|
|
10
10
|
import * as touch from "touch";
|
|
11
|
-
import { assert, BeEvent, BentleyStatus, ChangeSetStatus, DbChangeStage, DbConflictCause, DbConflictResolution, DbResult, Guid, Id64, IModelStatus, JsonUtils, Logger, LogLevel, LRUMap, OpenMode } from "@itwin/core-bentley";
|
|
12
|
-
import { BriefcaseIdValue, Code, DomainOptions, ECJsNames, ECSqlReader, EditTxnError, EntityMetaData, FontMap, IModel, IModelError, IModelNotFoundResponse, ProfileOptions, QueryBinder, QueryRowFormat, resolveNavPropId, SchemaState, ViewStoreError, ViewStoreRpc } from "@itwin/core-common";
|
|
11
|
+
import { assert, BeEvent, BentleyStatus, ChangeSetStatus, DbChangeStage, DbConflictCause, DbConflictResolution, DbOpcode, DbResult, Guid, Id64, IModelStatus, JsonUtils, Logger, LogLevel, LRUMap, OpenMode } from "@itwin/core-bentley";
|
|
12
|
+
import { Base64EncodedString, BriefcaseIdValue, Code, DomainOptions, ECJsNames, ECSqlReader, EditTxnError, EntityMetaData, FontMap, IModel, IModelError, IModelNotFoundResponse, ProfileOptions, QueryBinder, QueryRowFormat, resolveNavPropId, SchemaState, ViewStoreError, ViewStoreRpc } from "@itwin/core-common";
|
|
13
13
|
import { Range2d, Range3d } from "@itwin/core-geometry";
|
|
14
14
|
import { BackendLoggerCategory } from "./BackendLoggerCategory";
|
|
15
15
|
import { BriefcaseManager } from "./BriefcaseManager";
|
|
@@ -45,7 +45,9 @@ import { constructWorkspace, throwWorkspaceDbLoadErrors } from "./internal/works
|
|
|
45
45
|
import { SettingsImpl } from "./internal/workspace/SettingsImpl";
|
|
46
46
|
import { IModelNative } from "./internal/NativePlatform";
|
|
47
47
|
import { createNoOpLockControl } from "./internal/NoLocks";
|
|
48
|
+
import { createNoOpReservations } from "./internal/NoReservations";
|
|
48
49
|
import { createIModelDbFonts } from "./internal/IModelDbFontsImpl";
|
|
50
|
+
import { createSchemaSyncReservations } from "./internal/SchemaSyncReservations";
|
|
49
51
|
import { _activeTxn, _cache, _close, _hubAccess, _implicitTxn, _instanceKeyCache, _nativeDb, _releaseAllLocks, _resetIModelDb } from "./internal/Symbols";
|
|
50
52
|
import { ECVersion, SchemaContext, SchemaJsonLocater, SchemaManifest, SchemaViewManager } from "@itwin/ecschema-metadata";
|
|
51
53
|
import { SchemaMap } from "./Schema";
|
|
@@ -175,6 +177,8 @@ export class IModelDb extends IModel {
|
|
|
175
177
|
/** @internal */
|
|
176
178
|
_locks = createNoOpLockControl();
|
|
177
179
|
/** @internal */
|
|
180
|
+
_reservations = createNoOpReservations();
|
|
181
|
+
/** @internal */
|
|
178
182
|
_codeService;
|
|
179
183
|
/**
|
|
180
184
|
* The always-available implicit transaction for this iModel.
|
|
@@ -185,12 +189,16 @@ export class IModelDb extends IModel {
|
|
|
185
189
|
[_implicitTxn];
|
|
186
190
|
/** @internal */
|
|
187
191
|
[_activeTxn];
|
|
188
|
-
/** Returns the
|
|
189
|
-
*
|
|
190
|
-
*
|
|
191
|
-
*
|
|
192
|
-
*
|
|
193
|
-
*
|
|
192
|
+
/** Returns the transaction to use for additional edits from an element, model, or aspect callback.
|
|
193
|
+
* In callbacks whose arguments provide an [[IModelDb]] but no transaction, obtain this transaction through
|
|
194
|
+
* `arg.iModel.getIndirectTxn()` and pass it to APIs that accept an [[EditTxn]].
|
|
195
|
+
*
|
|
196
|
+
* If an explicit transaction is active, this returns that transaction. Otherwise, it returns the implicit transaction
|
|
197
|
+
* used by legacy write paths. Callbacks that receive an `indirectEditTxn` argument should use that transaction directly.
|
|
198
|
+
*
|
|
199
|
+
* @note The operation that invoked the callback owns the transaction. Callback implementations must not invoke transaction
|
|
200
|
+
* lifecycle methods such as [[EditTxn.start]], [[EditTxn.end]], [[EditTxn.saveChanges]], [[EditTxn.abandonChanges]], or [[EditTxn.onClose]].
|
|
201
|
+
* @beta
|
|
194
202
|
*/
|
|
195
203
|
getIndirectTxn() {
|
|
196
204
|
return this[_activeTxn] ?? this[_implicitTxn];
|
|
@@ -199,6 +207,16 @@ export class IModelDb extends IModel {
|
|
|
199
207
|
get codeService() { return this._codeService; }
|
|
200
208
|
/** The [[LockControl]] that orchestrates [concurrent editing]($docs/learning/backend/ConcurrencyControl.md) of this iModel. */
|
|
201
209
|
get locks() { return this._locks; } // eslint-disable-line @typescript-eslint/no-non-null-assertion
|
|
210
|
+
/** @beta The [[SynchronousChannel.Reservations]] that orchestrates [concurrent editing]($docs/learning/backend/ConcurrencyControl.md) of this iModel. */
|
|
211
|
+
get reservations() { return this._reservations; } // eslint-disable-line @typescript-eslint/no-non-null-assertion
|
|
212
|
+
/** @internal */
|
|
213
|
+
async initializeSharedElementReservations() {
|
|
214
|
+
this._reservations?.[_close]();
|
|
215
|
+
if (SchemaSync.isEnabled(this))
|
|
216
|
+
this._reservations = await createSchemaSyncReservations(this);
|
|
217
|
+
else
|
|
218
|
+
this._reservations = createNoOpReservations();
|
|
219
|
+
}
|
|
202
220
|
/** Provides methods for interacting with [font-related information]($docs/learning/backend/Fonts.md) stored in this iModel.
|
|
203
221
|
* @beta
|
|
204
222
|
*/
|
|
@@ -356,8 +374,11 @@ export class IModelDb extends IModel {
|
|
|
356
374
|
this.optimize();
|
|
357
375
|
IModelDb._openDbs.delete(this._fileKey);
|
|
358
376
|
this._workspace?.close();
|
|
377
|
+
this.views[_close]();
|
|
359
378
|
this.locks[_close]();
|
|
360
379
|
this._locks = undefined;
|
|
380
|
+
this.reservations[_close]();
|
|
381
|
+
this._reservations = undefined;
|
|
361
382
|
this._codeService?.close();
|
|
362
383
|
this._codeService = undefined;
|
|
363
384
|
this[_nativeDb].closeFile();
|
|
@@ -2169,7 +2190,7 @@ function processSchemaWriteStatus(status) {
|
|
|
2169
2190
|
* @param props The data for the new model.
|
|
2170
2191
|
* @returns The newly inserted model's Id.
|
|
2171
2192
|
* @throws [[IModelError]] if insertion fails.
|
|
2172
|
-
* @deprecated in 5.9.0 -
|
|
2193
|
+
* @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.
|
|
2173
2194
|
*/
|
|
2174
2195
|
insertModel(props) {
|
|
2175
2196
|
return this._iModel[_implicitTxn].insertModel(props);
|
|
@@ -2177,7 +2198,7 @@ function processSchemaWriteStatus(status) {
|
|
|
2177
2198
|
/** Update an existing model.
|
|
2178
2199
|
* @param props the properties of the model to change
|
|
2179
2200
|
* @throws [[IModelError]] if update fails.
|
|
2180
|
-
* @deprecated in 5.9.0 -
|
|
2201
|
+
* @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.
|
|
2181
2202
|
*/
|
|
2182
2203
|
updateModel(props) {
|
|
2183
2204
|
this._iModel[_implicitTxn].updateModel(props);
|
|
@@ -2189,7 +2210,7 @@ function processSchemaWriteStatus(status) {
|
|
|
2189
2210
|
* Cached [Tile]($frontend)s are only invalidated after the geometry guid of the model changes.
|
|
2190
2211
|
* @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.
|
|
2191
2212
|
* @throws [[IModelError]] if the update fails.
|
|
2192
|
-
* @deprecated in 5.9.0 -
|
|
2213
|
+
* @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.
|
|
2193
2214
|
* @see [[TxnManager.onModelGeometryChanged]] for the event emitted in response to such a change.
|
|
2194
2215
|
*/
|
|
2195
2216
|
updateGeometryGuid(modelId) {
|
|
@@ -2198,7 +2219,7 @@ function processSchemaWriteStatus(status) {
|
|
|
2198
2219
|
/** Delete one or more existing models.
|
|
2199
2220
|
* @param ids The Ids of the models to be deleted
|
|
2200
2221
|
* @throws [[IModelError]] if deletion fails.
|
|
2201
|
-
* @deprecated in 5.9.0 -
|
|
2222
|
+
* @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.
|
|
2202
2223
|
*/
|
|
2203
2224
|
deleteModel(ids) {
|
|
2204
2225
|
this._iModel[_implicitTxn].deleteModel(ids);
|
|
@@ -2422,7 +2443,7 @@ function processSchemaWriteStatus(status) {
|
|
|
2422
2443
|
* However when `elProps.federationGuid` is not present or undefined, a new Guid will be generated and stored on the resultant element. But
|
|
2423
2444
|
* the value of `elProps.federationGuid` is *not* updated. Generally, it is best to re-read the element after inserting (e.g. via [[getElementProps]])
|
|
2424
2445
|
* if you intend to continue working with it. That will ensure its values reflect the persistent state.
|
|
2425
|
-
* @deprecated in 5.9.0 -
|
|
2446
|
+
* @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.
|
|
2426
2447
|
*/
|
|
2427
2448
|
insertElement(elProps, options) {
|
|
2428
2449
|
return this._iModel[_implicitTxn].insertElement(elProps, options);
|
|
@@ -2437,7 +2458,7 @@ function processSchemaWriteStatus(status) {
|
|
|
2437
2458
|
* @note The values of `classFullName` and `model` *may not be changed* by this method. Further, it will permute the `elProps` object by adding or
|
|
2438
2459
|
* overwriting their values to the correct values.
|
|
2439
2460
|
* @throws [[ITwinError]] if update fails.
|
|
2440
|
-
* @deprecated in 5.9.0 -
|
|
2461
|
+
* @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.
|
|
2441
2462
|
*/
|
|
2442
2463
|
updateElement(elProps) {
|
|
2443
2464
|
this._iModel[_implicitTxn].updateElement(elProps);
|
|
@@ -2446,7 +2467,7 @@ function processSchemaWriteStatus(status) {
|
|
|
2446
2467
|
* @param ids The set of Ids of the element(s) to be deleted
|
|
2447
2468
|
* @throws [[ITwinError]]
|
|
2448
2469
|
* @see deleteDefinitionElements
|
|
2449
|
-
* @deprecated in 5.9.0 -
|
|
2470
|
+
* @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.
|
|
2450
2471
|
*/
|
|
2451
2472
|
deleteElement(ids) {
|
|
2452
2473
|
this._iModel[_implicitTxn].deleteElement(ids);
|
|
@@ -2457,7 +2478,7 @@ function processSchemaWriteStatus(status) {
|
|
|
2457
2478
|
* @param deleteOptions Options for the delete operation.
|
|
2458
2479
|
* @returns A result object containing information about the deletion operation success and the element ids that failed to delete (if any).
|
|
2459
2480
|
* @throws [[ITwinError]] if any of the supplied ids are not well-formed/valid [[Id64String]]s.
|
|
2460
|
-
* @deprecated in 5.1.9 -
|
|
2481
|
+
* @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.
|
|
2461
2482
|
* @beta
|
|
2462
2483
|
*/
|
|
2463
2484
|
deleteElements(ids, deleteOptions) {
|
|
@@ -2471,7 +2492,7 @@ function processSchemaWriteStatus(status) {
|
|
|
2471
2492
|
* DefinitionElements rather than calling this method separately for each one. Ids that are not valid DefinitionElements will be ignored.
|
|
2472
2493
|
* @returns An IdSet of the DefinitionElements that are used and were therefore not deleted.
|
|
2473
2494
|
* @see deleteElement
|
|
2474
|
-
* @deprecated in 5.9.0 -
|
|
2495
|
+
* @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.
|
|
2475
2496
|
*/
|
|
2476
2497
|
deleteDefinitionElements(definitionElementIds) {
|
|
2477
2498
|
return this._iModel[_implicitTxn].deleteDefinitionElements(definitionElementIds);
|
|
@@ -2574,21 +2595,27 @@ function processSchemaWriteStatus(status) {
|
|
|
2574
2595
|
return this._queryAspect(aspectInstanceId, aspectClassFullName);
|
|
2575
2596
|
}
|
|
2576
2597
|
static classMap = new Map();
|
|
2598
|
+
getAspectPropsFromInstanceQuery(rawInstance) {
|
|
2599
|
+
const parsedRow = typeof rawInstance === "string" ? JSON.parse(rawInstance, Base64EncodedString.reviver) : rawInstance;
|
|
2600
|
+
if (!JsonUtils.isObject(parsedRow))
|
|
2601
|
+
throw new IModelError(IModelStatus.BadRequest, "Expected an ElementAspect instance query to return an object");
|
|
2602
|
+
const row = {};
|
|
2603
|
+
for (const [key, value] of Object.entries(parsedRow)) {
|
|
2604
|
+
const ecPropertyName = key.length === 0 ? key : key[0].toUpperCase() + key.substring(1);
|
|
2605
|
+
row[ECJsNames.toJsName(ecPropertyName)] = value;
|
|
2606
|
+
}
|
|
2607
|
+
const className = row.className;
|
|
2608
|
+
if (typeof className !== "string")
|
|
2609
|
+
throw new IModelError(IModelStatus.BadRequest, "Expected an ElementAspect instance query to return a className");
|
|
2610
|
+
row.classFullName = className.replace(".", ":"); // add in property required by EntityProps
|
|
2611
|
+
delete row.className; // clear property from SELECT $ that we don't want in the final instance
|
|
2612
|
+
return row;
|
|
2613
|
+
}
|
|
2577
2614
|
runInstanceQuery(sql, elementId, excludedClassFullNames) {
|
|
2578
2615
|
return this._iModel.withQueryReader(sql, (reader) => {
|
|
2579
2616
|
const aspects = [];
|
|
2580
2617
|
for (const queryRow of reader) {
|
|
2581
|
-
const
|
|
2582
|
-
const rawInstance = queryRow[0];
|
|
2583
|
-
const parsedRow = typeof rawInstance === "string" ? JSON.parse(rawInstance) : rawInstance;
|
|
2584
|
-
// eslint-disable-next-line guard-for-in
|
|
2585
|
-
for (const key in parsedRow) {
|
|
2586
|
-
const jsName = ECJsNames.toJsName(key[0].toUpperCase() + key.substring(1));
|
|
2587
|
-
Object.defineProperty(row, jsName, { enumerable: true, configurable: true, writable: true, value: parsedRow[key] });
|
|
2588
|
-
}
|
|
2589
|
-
const aspectProps = row;
|
|
2590
|
-
aspectProps.classFullName = aspectProps.className.replace(".", ":"); // add in property required by EntityProps
|
|
2591
|
-
aspectProps.className = undefined; // clear property from SELECT $ that we don't want in the final instance
|
|
2618
|
+
const aspectProps = this.getAspectPropsFromInstanceQuery(queryRow[0]);
|
|
2592
2619
|
if ((undefined === excludedClassFullNames) || !excludedClassFullNames.has(aspectProps.classFullName))
|
|
2593
2620
|
aspects.push(this._iModel.constructEntity(aspectProps));
|
|
2594
2621
|
}
|
|
@@ -2603,9 +2630,9 @@ function processSchemaWriteStatus(status) {
|
|
|
2603
2630
|
*/
|
|
2604
2631
|
getAspects(elementId, aspectClassFullName, excludedClassFullNames) {
|
|
2605
2632
|
if (aspectClassFullName === undefined) {
|
|
2606
|
-
const allAspects = this.runInstanceQuery(`SELECT $ FROM (
|
|
2607
|
-
SELECT ECInstanceId, ECClassId FROM Bis.ElementMultiAspect WHERE Element.Id = :elementId
|
|
2608
|
-
UNION ALL
|
|
2633
|
+
const allAspects = this.runInstanceQuery(`SELECT $ FROM (
|
|
2634
|
+
SELECT ECInstanceId, ECClassId FROM Bis.ElementMultiAspect WHERE Element.Id = :elementId
|
|
2635
|
+
UNION ALL
|
|
2609
2636
|
SELECT ECInstanceId, ECClassId FROM Bis.ElementUniqueAspect WHERE Element.Id = :elementId) OPTIONS USE_JS_PROP_NAMES DO_NOT_TRUNCATE_BLOB`, elementId, excludedClassFullNames);
|
|
2610
2637
|
if (allAspects.length === 0)
|
|
2611
2638
|
Logger.logInfo(BackendLoggerCategory.ECDb, `No aspects found for class ${aspectClassFullName} and element ${elementId}`);
|
|
@@ -2624,7 +2651,7 @@ function processSchemaWriteStatus(status) {
|
|
|
2624
2651
|
let classIdList = IModelDb.Elements.classMap.get(aspectClassFullName);
|
|
2625
2652
|
if (classIdList === undefined) {
|
|
2626
2653
|
const classIds = [];
|
|
2627
|
-
const sql = `select SourceECInstanceId from meta.ClassHasAllBaseClasses where TargetECInstanceId = (select ECInstanceId from meta.ECClassDef where Name=:className
|
|
2654
|
+
const sql = `select SourceECInstanceId from meta.ClassHasAllBaseClasses where TargetECInstanceId = (select ECInstanceId from meta.ECClassDef where Name=:className
|
|
2628
2655
|
and Schema.Id = (select ECInstanceId from meta.ECSchemaDef where Name=:schemaName)) and SourceECInstanceId != TargetECInstanceId`;
|
|
2629
2656
|
this._iModel.withQueryReader(sql, (reader) => {
|
|
2630
2657
|
for (const row of reader) {
|
|
@@ -2643,22 +2670,72 @@ function processSchemaWriteStatus(status) {
|
|
|
2643
2670
|
return [];
|
|
2644
2671
|
}
|
|
2645
2672
|
// Execute an instance query to retrieve all aspects from all the derived classes
|
|
2646
|
-
const aspects = this.runInstanceQuery(`SELECT $ FROM (
|
|
2647
|
-
SELECT ECInstanceId, ECClassId FROM Bis.ElementMultiAspect WHERE Element.Id = :elementId AND ECClassId IN (${classIdList})
|
|
2648
|
-
UNION ALL
|
|
2649
|
-
SELECT ECInstanceId, ECClassId FROM Bis.ElementUniqueAspect WHERE Element.Id = :elementId AND ECClassId IN (${classIdList})
|
|
2673
|
+
const aspects = this.runInstanceQuery(`SELECT $ FROM (
|
|
2674
|
+
SELECT ECInstanceId, ECClassId FROM Bis.ElementMultiAspect WHERE Element.Id = :elementId AND ECClassId IN (${classIdList})
|
|
2675
|
+
UNION ALL
|
|
2676
|
+
SELECT ECInstanceId, ECClassId FROM Bis.ElementUniqueAspect WHERE Element.Id = :elementId AND ECClassId IN (${classIdList})
|
|
2650
2677
|
) OPTIONS USE_JS_PROP_NAMES DO_NOT_TRUNCATE_BLOB`, elementId, excludedClassFullNames);
|
|
2651
2678
|
if (aspects.length === 0)
|
|
2652
2679
|
Logger.logInfo(BackendLoggerCategory.ECDb, `No aspects found for class ${aspectClassFullName} and element ${elementId}`);
|
|
2653
2680
|
return aspects;
|
|
2654
2681
|
}
|
|
2682
|
+
/** Stream the [[ElementAspect]] instances owned by a set of elements.
|
|
2683
|
+
*
|
|
2684
|
+
* 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.
|
|
2685
|
+
*
|
|
2686
|
+
* The order is unspecified unless [[QueryAspectOptions.groupByOwner]] is true.
|
|
2687
|
+
* @param options Defines the element Ids, class filters, result ordering, and query connection.
|
|
2688
|
+
* @returns An async iterator over the matching aspects.
|
|
2689
|
+
* @beta
|
|
2690
|
+
*/
|
|
2691
|
+
async *queryAspects(options) {
|
|
2692
|
+
const elementIds = Id64.toIdSet(options.elementIds);
|
|
2693
|
+
if (elementIds.size === 0)
|
|
2694
|
+
return;
|
|
2695
|
+
const params = new QueryBinder().bindIdSet("elementIds", elementIds);
|
|
2696
|
+
const classFilter = options.aspectClassFullName === undefined ? "" : `AND aspect.ECClassId IN (
|
|
2697
|
+
SELECT SourceECInstanceId FROM meta.ClassHasAllBaseClasses
|
|
2698
|
+
WHERE TargetECInstanceId=ec_classid(:aspectClassFullName)
|
|
2699
|
+
)`;
|
|
2700
|
+
if (options.aspectClassFullName !== undefined)
|
|
2701
|
+
params.bindString("aspectClassFullName", options.aspectClassFullName.replace(".", ":"));
|
|
2702
|
+
const excludedClassIds = [];
|
|
2703
|
+
let excludedClassIndex = 0;
|
|
2704
|
+
for (const classFullName of options.excludedAspectClassFullNames ?? []) {
|
|
2705
|
+
const parameterName = `excludedAspectClass${excludedClassIndex++}`;
|
|
2706
|
+
excludedClassIds.push(`ec_classid(:${parameterName})`);
|
|
2707
|
+
params.bindString(parameterName, classFullName.replace(".", ":"));
|
|
2708
|
+
}
|
|
2709
|
+
const excludedClassFilter = excludedClassIds.length === 0 ? "" : `AND aspect.ECClassId NOT IN (
|
|
2710
|
+
SELECT ECInstanceId FROM meta.ECClassDef WHERE ECInstanceId IN (${excludedClassIds.join(",")})
|
|
2711
|
+
)`;
|
|
2712
|
+
const orderBy = options.groupByOwner
|
|
2713
|
+
? "ORDER BY OwnerId, AspectKind, ECClassId, ECInstanceId"
|
|
2714
|
+
: "";
|
|
2715
|
+
const sql = `WITH OwnerIds AS (SELECT id FROM IdSet(:elementIds))
|
|
2716
|
+
SELECT $ FROM (
|
|
2717
|
+
SELECT aspect.ECInstanceId, aspect.ECClassId, aspect.Element.Id AS OwnerId, 0 AS AspectKind
|
|
2718
|
+
FROM OwnerIds owners
|
|
2719
|
+
CROSS JOIN Bis.ElementMultiAspect aspect ON aspect.Element.Id=owners.id
|
|
2720
|
+
WHERE TRUE ${classFilter} ${excludedClassFilter}
|
|
2721
|
+
UNION ALL
|
|
2722
|
+
SELECT aspect.ECInstanceId, aspect.ECClassId, aspect.Element.Id AS OwnerId, 1 AS AspectKind
|
|
2723
|
+
FROM OwnerIds owners
|
|
2724
|
+
CROSS JOIN Bis.ElementUniqueAspect aspect ON aspect.Element.Id=owners.id
|
|
2725
|
+
WHERE TRUE ${classFilter} ${excludedClassFilter}
|
|
2726
|
+
) ${orderBy}
|
|
2727
|
+
OPTIONS USE_JS_PROP_NAMES DO_NOT_TRUNCATE_BLOB`;
|
|
2728
|
+
const reader = this._iModel.createQueryReader(sql, params, { usePrimaryConn: options.usePrimaryConn });
|
|
2729
|
+
for await (const queryRow of reader)
|
|
2730
|
+
yield this._iModel.constructEntity(this.getAspectPropsFromInstanceQuery(queryRow[0]));
|
|
2731
|
+
}
|
|
2655
2732
|
/** Insert a new ElementAspect into the iModel.
|
|
2656
2733
|
* @param aspectProps The properties of the new ElementAspect.
|
|
2657
2734
|
* @throws [[IModelError]] if unable to insert the ElementAspect.
|
|
2658
2735
|
* @returns the id of the newly inserted aspect.
|
|
2659
2736
|
* @note Aspect Ids may collide with element Ids, so don't put both in a container like Set or Map
|
|
2660
2737
|
* use [EntityReference]($common) for that instead.
|
|
2661
|
-
* @deprecated in 5.9.0 -
|
|
2738
|
+
* @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.
|
|
2662
2739
|
*/
|
|
2663
2740
|
insertAspect(aspectProps) {
|
|
2664
2741
|
return this._iModel[_implicitTxn].insertAspect(aspectProps);
|
|
@@ -2666,7 +2743,7 @@ function processSchemaWriteStatus(status) {
|
|
|
2666
2743
|
/** Update an exist ElementAspect within the iModel.
|
|
2667
2744
|
* @param aspectProps The properties to use to update the ElementAspect.
|
|
2668
2745
|
* @throws [[IModelError]] if unable to update the ElementAspect.
|
|
2669
|
-
* @deprecated in 5.9.0 -
|
|
2746
|
+
* @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.
|
|
2670
2747
|
*/
|
|
2671
2748
|
updateAspect(aspectProps) {
|
|
2672
2749
|
this._iModel[_implicitTxn].updateAspect(aspectProps);
|
|
@@ -2674,7 +2751,7 @@ function processSchemaWriteStatus(status) {
|
|
|
2674
2751
|
/** Delete one or more ElementAspects from this iModel.
|
|
2675
2752
|
* @param aspectInstanceIds The set of instance Ids of the ElementAspect(s) to be deleted
|
|
2676
2753
|
* @throws [[IModelError]] if unable to delete the ElementAspect.
|
|
2677
|
-
* @deprecated in 5.9.0 -
|
|
2754
|
+
* @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.
|
|
2678
2755
|
*/
|
|
2679
2756
|
deleteAspect(aspectInstanceIds) {
|
|
2680
2757
|
this._iModel[_implicitTxn].deleteAspect(aspectInstanceIds);
|
|
@@ -2683,7 +2760,7 @@ function processSchemaWriteStatus(status) {
|
|
|
2683
2760
|
* @param props The properties specifying the element to reparent and its new parent.
|
|
2684
2761
|
* @throws [[ITwinError]] if the operation fails.
|
|
2685
2762
|
* @beta
|
|
2686
|
-
* @deprecated in 5.11.0 -
|
|
2763
|
+
* @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.
|
|
2687
2764
|
*/
|
|
2688
2765
|
changeElementParent(props) {
|
|
2689
2766
|
this._iModel[_implicitTxn].changeElementParent(props);
|
|
@@ -2692,7 +2769,7 @@ function processSchemaWriteStatus(status) {
|
|
|
2692
2769
|
* @param props The properties specifying the element to move and its new model.
|
|
2693
2770
|
* @throws [[ITwinError]] if the operation fails.
|
|
2694
2771
|
* @beta
|
|
2695
|
-
* @deprecated in 5.11.0 -
|
|
2772
|
+
* @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.
|
|
2696
2773
|
*/
|
|
2697
2774
|
changeElementModel(props) {
|
|
2698
2775
|
this._iModel[_implicitTxn].changeElementModel(props);
|
|
@@ -2711,15 +2788,27 @@ function processSchemaWriteStatus(status) {
|
|
|
2711
2788
|
static viewStoreProperty = { namespace: "itwinjs", name: "DefaultViewStore" };
|
|
2712
2789
|
_viewStore;
|
|
2713
2790
|
get hasViewStore() { return undefined !== this._viewStore; }
|
|
2714
|
-
/**
|
|
2791
|
+
/** The [[ViewStore.CloudAccess]] for this iModel.
|
|
2792
|
+
* @note The iModel owns its ViewStore (whether assigned via this setter or created by [[accessViewStore]]): it is closed when the iModel is closed.
|
|
2793
|
+
* @beta
|
|
2794
|
+
*/
|
|
2715
2795
|
get viewStore() {
|
|
2716
2796
|
if (undefined === this._viewStore)
|
|
2717
2797
|
throw new IModelError(IModelStatus.BadRequest, "No ViewStore available");
|
|
2718
2798
|
return this._viewStore;
|
|
2719
2799
|
}
|
|
2720
2800
|
set viewStore(viewStore) {
|
|
2801
|
+
if (this._viewStore !== undefined && this._viewStore !== viewStore)
|
|
2802
|
+
this._viewStore.close();
|
|
2721
2803
|
this._viewStore = viewStore;
|
|
2722
2804
|
}
|
|
2805
|
+
/** Close the ViewStore for this iModel, if one is open. Called when the iModel is closed.
|
|
2806
|
+
* @internal
|
|
2807
|
+
*/
|
|
2808
|
+
[_close]() {
|
|
2809
|
+
this._viewStore?.close();
|
|
2810
|
+
this._viewStore = undefined;
|
|
2811
|
+
}
|
|
2723
2812
|
/** @beta */
|
|
2724
2813
|
async accessViewStore(args) {
|
|
2725
2814
|
let props = args.props;
|
|
@@ -2739,7 +2828,7 @@ function processSchemaWriteStatus(status) {
|
|
|
2739
2828
|
return this._viewStore;
|
|
2740
2829
|
}
|
|
2741
2830
|
/**
|
|
2742
|
-
* @beta @deprecated in 5.9.0 -
|
|
2831
|
+
* @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.
|
|
2743
2832
|
*/
|
|
2744
2833
|
saveDefaultViewStore(arg) {
|
|
2745
2834
|
this._iModel[_implicitTxn].saveDefaultViewStore(arg);
|
|
@@ -3190,6 +3279,7 @@ export class BriefcaseDb extends IModelDb {
|
|
|
3190
3279
|
}
|
|
3191
3280
|
// load all of the settings from workspaces
|
|
3192
3281
|
await briefcaseDb.loadWorkspaceSettings();
|
|
3282
|
+
await briefcaseDb.initializeSharedElementReservations();
|
|
3193
3283
|
if (openMode === OpenMode.ReadWrite && CodeService.createForIModel) {
|
|
3194
3284
|
try {
|
|
3195
3285
|
briefcaseDb._codeService = await CodeService.createForIModel(briefcaseDb);
|
|
@@ -3245,6 +3335,18 @@ export class BriefcaseDb extends IModelDb {
|
|
|
3245
3335
|
return "foreign key";
|
|
3246
3336
|
}
|
|
3247
3337
|
};
|
|
3338
|
+
// `dgn_Domain` holds one bookkeeping row per BIS domain present in the briefcase. The row is
|
|
3339
|
+
// created automatically as soon as the domain's schema is imported, so merging a changeset
|
|
3340
|
+
// that registers a domain inserts a row that was just created locally. Both rows describe the
|
|
3341
|
+
// same domain and the incoming one is authoritative, so this duplicate insert is never fatal.
|
|
3342
|
+
// Only a primary key collision on an insert is benign - an update or delete whose "before"
|
|
3343
|
+
// values do not match (`DbConflictCause.Data`) describes a real divergence and must not be
|
|
3344
|
+
// silently discarded here.
|
|
3345
|
+
if (args.tableName === "dgn_Domain" && args.cause === DbConflictCause.Conflict && args.opcode === DbOpcode.Insert) {
|
|
3346
|
+
Logger.logWarning(category, `${interpretConflictCause(args.cause)} conflict on dgn_Domain - resolved by replacing the existing row with the incoming row`);
|
|
3347
|
+
args.dump();
|
|
3348
|
+
return DbConflictResolution.Replace;
|
|
3349
|
+
}
|
|
3248
3350
|
if (args.cause === DbConflictCause.Data && !args.indirect) {
|
|
3249
3351
|
/*
|
|
3250
3352
|
* From SQLite Docs CHANGESET_DATA as the second argument
|
|
@@ -3417,6 +3519,9 @@ export class BriefcaseDb extends IModelDb {
|
|
|
3417
3519
|
await SchemaSync.pull(this);
|
|
3418
3520
|
this.initializeIModelDb("pullMerge");
|
|
3419
3521
|
});
|
|
3522
|
+
// If this pull enabled or disabled SchemaSync for this briefcase, its reservations must now be re-initialized
|
|
3523
|
+
if (this.reservations.isServerBased !== SchemaSync.isEnabled(this))
|
|
3524
|
+
await this.initializeSharedElementReservations();
|
|
3420
3525
|
this.txns._onChangesPulled(this.changeset);
|
|
3421
3526
|
}
|
|
3422
3527
|
async enableChangesetStatTracking() {
|
|
@@ -3605,6 +3710,9 @@ export class BriefcaseDb extends IModelDb {
|
|
|
3605
3710
|
await BriefcaseManager.pullMergePush(this, arg);
|
|
3606
3711
|
this.initializeIModelDb("pullMerge");
|
|
3607
3712
|
});
|
|
3713
|
+
// If this pull enabled or disabled SchemaSync for this briefcase, its reservations must now be re-initialized
|
|
3714
|
+
if (this.reservations.isServerBased !== SchemaSync.isEnabled(this))
|
|
3715
|
+
await this.initializeSharedElementReservations();
|
|
3608
3716
|
this.txns._onChangesPushed(this.changeset);
|
|
3609
3717
|
BriefcaseManager.deleteRebaseFolders(this);
|
|
3610
3718
|
}
|
|
@@ -3779,6 +3887,7 @@ export class SnapshotDb extends IModelDb {
|
|
|
3779
3887
|
const key = CheckpointManager.getKey(checkpoint);
|
|
3780
3888
|
const db = SnapshotDb.openFile(dbName, { key, container });
|
|
3781
3889
|
await db.loadWorkspaceSettings();
|
|
3890
|
+
await db.initializeSharedElementReservations();
|
|
3782
3891
|
return db;
|
|
3783
3892
|
}
|
|
3784
3893
|
/** @internal */
|