@itwin/core-backend 5.5.0-dev.2 → 5.5.0-dev.5
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 +19 -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.js.map +1 -1
- package/lib/cjs/ChangeSummaryManager.js +2 -2
- package/lib/cjs/ChangeSummaryManager.js.map +1 -1
- package/lib/cjs/ChangedElementsDb.js.map +1 -1
- package/lib/cjs/ChangesetECAdaptor.js +248 -248
- package/lib/cjs/ChangesetECAdaptor.js.map +1 -1
- package/lib/cjs/ChannelControl.js.map +1 -1
- package/lib/cjs/CheckpointManager.js.map +1 -1
- package/lib/cjs/ClassRegistry.js +5 -5
- package/lib/cjs/ClassRegistry.js.map +1 -1
- package/lib/cjs/CloudSqlite.js.map +1 -1
- package/lib/cjs/CodeService.js.map +1 -1
- package/lib/cjs/CodeSpecs.js.map +1 -1
- package/lib/cjs/ConcurrentQuery.js.map +1 -1
- package/lib/cjs/CustomViewState3dCreator.js.map +1 -1
- package/lib/cjs/DevTools.js.map +1 -1
- package/lib/cjs/DisplayStyle.js.map +1 -1
- package/lib/cjs/ECDb.js.map +1 -1
- package/lib/cjs/ECSchemaXmlContext.js.map +1 -1
- package/lib/cjs/ECSqlStatement.js.map +1 -1
- package/lib/cjs/Element.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.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.js +8 -8
- 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.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.js.map +1 -1
- package/lib/cjs/NativeAppStorage.js.map +1 -1
- package/lib/cjs/NativeHost.js.map +1 -1
- package/lib/cjs/NavigationRelationship.js.map +1 -1
- package/lib/cjs/PromiseMemoizer.js.map +1 -1
- package/lib/cjs/PropertyStore.js.map +1 -1
- package/lib/cjs/Relationship.js.map +1 -1
- package/lib/cjs/RpcBackend.js.map +1 -1
- package/lib/cjs/SQLiteDb.js.map +1 -1
- package/lib/cjs/Schema.js.map +1 -1
- package/lib/cjs/SchemaSync.js.map +1 -1
- package/lib/cjs/SchemaUtils.js.map +1 -1
- package/lib/cjs/SheetIndex.js.map +1 -1
- package/lib/cjs/SqliteChangesetReader.js.map +1 -1
- package/lib/cjs/SqliteStatement.js.map +1 -1
- package/lib/cjs/StashManager.js.map +1 -1
- package/lib/cjs/Texture.js.map +1 -1
- package/lib/cjs/TileStorage.js.map +1 -1
- package/lib/cjs/TxnManager.js.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.js.map +1 -1
- 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 +32 -32
- package/lib/cjs/assets/Settings/Schemas/Gcs.schema.json +27 -27
- package/lib/cjs/assets/Settings/Schemas/Workspace.Schema.json +94 -94
- package/lib/cjs/assets/Settings/backend.setting.json5 +21 -21
- package/lib/cjs/core-backend.js.map +1 -1
- package/lib/cjs/domains/FunctionalElements.js.map +1 -1
- package/lib/cjs/domains/FunctionalSchema.js.map +1 -1
- package/lib/cjs/domains/GenericElements.js.map +1 -1
- package/lib/cjs/domains/GenericSchema.js.map +1 -1
- package/lib/cjs/internal/ChangesetConflictArgs.js.map +1 -1
- package/lib/cjs/internal/ChannelAdmin.js.map +1 -1
- package/lib/cjs/internal/ElementLRUCache.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/NativePlatform.js.map +1 -1
- package/lib/cjs/internal/NoLocks.js.map +1 -1
- package/lib/cjs/internal/OnlineStatus.js.map +1 -1
- package/lib/cjs/internal/ServerBasedLocks.js.map +1 -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/SettingsImpl.js.map +1 -1
- package/lib/cjs/internal/workspace/SettingsSchemasImpl.js.map +1 -1
- package/lib/cjs/internal/workspace/WorkspaceImpl.js.map +1 -1
- package/lib/cjs/internal/workspace/WorkspaceSqliteDb.js.map +1 -1
- package/lib/cjs/rpc/multipart.js.map +1 -1
- package/lib/cjs/rpc/tracing.js.map +1 -1
- package/lib/cjs/rpc/web/logging.js.map +1 -1
- package/lib/cjs/rpc/web/request.js.map +1 -1
- package/lib/cjs/rpc/web/response.js.map +1 -1
- package/lib/cjs/rpc-impl/DevToolsRpcImpl.js.map +1 -1
- package/lib/cjs/rpc-impl/IModelReadRpcImpl.js.map +1 -1
- package/lib/cjs/rpc-impl/IModelTileRpcImpl.js.map +1 -1
- package/lib/cjs/rpc-impl/RpcBriefcaseUtility.js.map +1 -1
- package/lib/cjs/rpc-impl/SnapshotIModelRpcImpl.js.map +1 -1
- package/lib/cjs/workspace/Settings.js.map +1 -1
- package/lib/cjs/workspace/SettingsSchemas.js.map +1 -1
- package/lib/cjs/workspace/Workspace.js.map +1 -1
- package/lib/cjs/workspace/WorkspaceEditor.js.map +1 -1
- package/lib/esm/BackendHubAccess.js.map +1 -1
- package/lib/esm/BackendLoggerCategory.js.map +1 -1
- package/lib/esm/BisCoreSchema.js.map +1 -1
- package/lib/esm/BlobContainerService.js.map +1 -1
- package/lib/esm/BriefcaseManager.js.map +1 -1
- package/lib/esm/CatalogDb.js.map +1 -1
- package/lib/esm/Category.js.map +1 -1
- package/lib/esm/ChangeSummaryManager.js +2 -2
- package/lib/esm/ChangeSummaryManager.js.map +1 -1
- package/lib/esm/ChangedElementsDb.js.map +1 -1
- package/lib/esm/ChangesetECAdaptor.js +248 -248
- package/lib/esm/ChangesetECAdaptor.js.map +1 -1
- package/lib/esm/ChannelControl.js.map +1 -1
- package/lib/esm/CheckpointManager.js.map +1 -1
- package/lib/esm/ClassRegistry.js +5 -5
- package/lib/esm/ClassRegistry.js.map +1 -1
- package/lib/esm/CloudSqlite.js.map +1 -1
- package/lib/esm/CodeService.js.map +1 -1
- package/lib/esm/CodeSpecs.js.map +1 -1
- package/lib/esm/ConcurrentQuery.js.map +1 -1
- package/lib/esm/CustomViewState3dCreator.js.map +1 -1
- package/lib/esm/DevTools.js.map +1 -1
- package/lib/esm/DisplayStyle.js.map +1 -1
- package/lib/esm/ECDb.js.map +1 -1
- package/lib/esm/ECSchemaXmlContext.js.map +1 -1
- package/lib/esm/ECSqlStatement.js.map +1 -1
- package/lib/esm/Element.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.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.js +8 -8
- 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.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.js.map +1 -1
- package/lib/esm/NativeAppStorage.js.map +1 -1
- package/lib/esm/NativeHost.js.map +1 -1
- package/lib/esm/NavigationRelationship.js.map +1 -1
- package/lib/esm/PromiseMemoizer.js.map +1 -1
- package/lib/esm/PropertyStore.js.map +1 -1
- package/lib/esm/Relationship.js.map +1 -1
- package/lib/esm/RpcBackend.js.map +1 -1
- package/lib/esm/SQLiteDb.js.map +1 -1
- package/lib/esm/Schema.js.map +1 -1
- package/lib/esm/SchemaSync.js.map +1 -1
- package/lib/esm/SchemaUtils.js.map +1 -1
- package/lib/esm/SheetIndex.js.map +1 -1
- package/lib/esm/SqliteChangesetReader.js.map +1 -1
- package/lib/esm/SqliteStatement.js.map +1 -1
- package/lib/esm/StashManager.js.map +1 -1
- package/lib/esm/Texture.js.map +1 -1
- package/lib/esm/TileStorage.js.map +1 -1
- package/lib/esm/TxnManager.js.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.js.map +1 -1
- 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.js.map +1 -1
- package/lib/esm/domains/FunctionalElements.js.map +1 -1
- package/lib/esm/domains/FunctionalSchema.js.map +1 -1
- package/lib/esm/domains/GenericElements.js.map +1 -1
- package/lib/esm/domains/GenericSchema.js.map +1 -1
- package/lib/esm/internal/ChangesetConflictArgs.js.map +1 -1
- package/lib/esm/internal/ChannelAdmin.js.map +1 -1
- package/lib/esm/internal/ElementLRUCache.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/NativePlatform.js.map +1 -1
- package/lib/esm/internal/NoLocks.js.map +1 -1
- package/lib/esm/internal/OnlineStatus.js.map +1 -1
- package/lib/esm/internal/ServerBasedLocks.js.map +1 -1
- 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/SettingsImpl.js.map +1 -1
- package/lib/esm/internal/workspace/SettingsSchemasImpl.js.map +1 -1
- package/lib/esm/internal/workspace/WorkspaceImpl.js.map +1 -1
- package/lib/esm/internal/workspace/WorkspaceSqliteDb.js.map +1 -1
- package/lib/esm/rpc/multipart.js.map +1 -1
- package/lib/esm/rpc/tracing.js.map +1 -1
- package/lib/esm/rpc/web/logging.js.map +1 -1
- package/lib/esm/rpc/web/request.js.map +1 -1
- package/lib/esm/rpc/web/response.js.map +1 -1
- package/lib/esm/rpc-impl/DevToolsRpcImpl.js.map +1 -1
- package/lib/esm/rpc-impl/IModelReadRpcImpl.js.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.js.map +1 -1
- package/lib/esm/test/ImageSourceConversion.test.js.map +1 -1
- package/lib/esm/test/IpcHost.test.js.map +1 -1
- package/lib/esm/test/KnownTestLocations.js.map +1 -1
- package/lib/esm/test/PrintElementTree.js.map +1 -1
- package/lib/esm/test/PropertyDb.test.js.map +1 -1
- package/lib/esm/test/RevisionUtility.js.map +1 -1
- package/lib/esm/test/SchemaUtils.test.js +25 -25
- package/lib/esm/test/SchemaUtils.test.js.map +1 -1
- package/lib/esm/test/SequentialLogMatcher.js.map +1 -1
- package/lib/esm/test/TestChangeSetUtility.js.map +1 -1
- package/lib/esm/test/TestUtils.js.map +1 -1
- package/lib/esm/test/annotations/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.map +1 -1
- 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 +5 -5
- 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 +15 -15
- 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.map +1 -1
- package/lib/esm/test/ecdb/ECSqlReader.test.js +16 -16
- package/lib/esm/test/ecdb/ECSqlReader.test.js.map +1 -1
- package/lib/esm/test/ecdb/ECSqlStatement.test.js +332 -332
- package/lib/esm/test/ecdb/ECSqlStatement.test.js.map +1 -1
- package/lib/esm/test/ecdb/SqliteStatement.test.js.map +1 -1
- package/lib/esm/test/ecsql/dataset/ECSqlDatasets.js.map +1 -1
- package/lib/esm/test/ecsql/src/ECSqlTestGenerator.js +21 -21
- package/lib/esm/test/ecsql/src/ECSqlTestGenerator.js.map +1 -1
- package/lib/esm/test/ecsql/src/ECSqlTestParser.js.map +1 -1
- package/lib/esm/test/ecsql/src/ECSqlTestRunner.test.js.map +1 -1
- package/lib/esm/test/element/DeleteDefinitionElements.test.js.map +1 -1
- package/lib/esm/test/element/ElementAspect.test.js +22 -22
- package/lib/esm/test/element/ElementAspect.test.js.map +1 -1
- package/lib/esm/test/element/ElementDependencyGraph.test.js.map +1 -1
- package/lib/esm/test/element/ElementRoundTrip.test.js +139 -139
- package/lib/esm/test/element/ElementRoundTrip.test.js.map +1 -1
- package/lib/esm/test/element/ExcludedElements.test.js.map +1 -1
- package/lib/esm/test/element/ExternalSource.test.js.map +1 -1
- package/lib/esm/test/element/NullStructArray.test.js +13 -13
- package/lib/esm/test/element/NullStructArray.test.js.map +1 -1
- package/lib/esm/test/element/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/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.map +1 -1
- package/lib/esm/test/hubaccess/Rebase.test.js +40 -40
- package/lib/esm/test/hubaccess/Rebase.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/IModel.test.js +44 -44
- package/lib/esm/test/imodel/IModel.test.js.map +1 -1
- package/lib/esm/test/imodel/ProjectExtents.test.js.map +1 -1
- package/lib/esm/test/imodel/SchemaXmlImport.test.js.map +1 -1
- package/lib/esm/test/incrementalSchemaLocater/ECSqlQueries.test.js +432 -198
- package/lib/esm/test/incrementalSchemaLocater/ECSqlQueries.test.js.map +1 -1
- package/lib/esm/test/incrementalSchemaLocater/IncrementalLoading.test.js +272 -190
- package/lib/esm/test/incrementalSchemaLocater/IncrementalLoading.test.js.map +1 -1
- package/lib/esm/test/incrementalSchemaLocater/TestContext.d.ts +27 -0
- package/lib/esm/test/incrementalSchemaLocater/TestContext.d.ts.map +1 -0
- package/lib/esm/test/incrementalSchemaLocater/TestContext.js +136 -0
- package/lib/esm/test/incrementalSchemaLocater/TestContext.js.map +1 -0
- package/lib/esm/test/index.js.map +1 -1
- package/lib/esm/test/misc/DevTools.test.js.map +1 -1
- package/lib/esm/test/misc/EntitySubClasses.test.js.map +1 -1
- package/lib/esm/test/misc/GeoServices.test.js.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.map +1 -1
- package/lib/esm/test/sheetindex/SheetIndex.test.js.map +1 -1
- package/lib/esm/test/standalone/ChangeMerge.test.js.map +1 -1
- package/lib/esm/test/standalone/ChangesetReader.test.js +346 -127
- package/lib/esm/test/standalone/ChangesetReader.test.js.map +1 -1
- package/lib/esm/test/standalone/CustomViewState3dCreator.test.js.map +1 -1
- package/lib/esm/test/standalone/DisplayStyle.test.js.map +1 -1
- package/lib/esm/test/standalone/Drawing.test.js.map +1 -1
- package/lib/esm/test/standalone/ElementGraphics.test.js.map +1 -1
- package/lib/esm/test/standalone/ElementMesh.test.js.map +1 -1
- package/lib/esm/test/standalone/ExportGraphics.test.js +14 -14
- package/lib/esm/test/standalone/ExportGraphics.test.js.map +1 -1
- package/lib/esm/test/standalone/GeometryChangeEvents.test.js.map +1 -1
- package/lib/esm/test/standalone/GeometryStream.test.js.map +1 -1
- package/lib/esm/test/standalone/HubMock.test.js.map +1 -1
- package/lib/esm/test/standalone/IModelLimits.test.js.map +1 -1
- package/lib/esm/test/standalone/IModelWrite.test.js +27 -27
- package/lib/esm/test/standalone/IModelWrite.test.js.map +1 -1
- package/lib/esm/test/standalone/InlineGeometryPartReferences.test.js.map +1 -1
- package/lib/esm/test/standalone/MergeConflict.test.js.map +1 -1
- package/lib/esm/test/standalone/NativeAppStorage.test.js.map +1 -1
- package/lib/esm/test/standalone/RenderMaterialElement.test.js.map +1 -1
- package/lib/esm/test/standalone/RenderTimeline.test.js.map +1 -1
- package/lib/esm/test/standalone/SQLiteDb.test.js.map +1 -1
- package/lib/esm/test/standalone/SchemaUtils.test.js.map +1 -1
- package/lib/esm/test/standalone/SectionDrawing.test.js.map +1 -1
- package/lib/esm/test/standalone/ServerBasedLocks.test.js.map +1 -1
- package/lib/esm/test/standalone/Setting.test.js.map +1 -1
- package/lib/esm/test/standalone/Settings.test.js.map +1 -1
- package/lib/esm/test/standalone/SettingsSchemas.test.js.map +1 -1
- package/lib/esm/test/standalone/SnapshotDb.test.js.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.map +1 -1
- package/lib/esm/test/standalone/ViewDefinition.test.js.map +1 -1
- package/lib/esm/test/standalone/ViewStoreDb.test.js.map +1 -1
- package/lib/esm/test/standalone/Workspace.test.js.map +1 -1
- package/lib/esm/workspace/Settings.js.map +1 -1
- package/lib/esm/workspace/SettingsSchemas.js.map +1 -1
- package/lib/esm/workspace/Workspace.js.map +1 -1
- package/lib/esm/workspace/WorkspaceEditor.js.map +1 -1
- package/package.json +14 -14
- package/lib/esm/test/incrementalSchemaLocater/utils/IModelSchemaLocater.d.ts +0 -11
- package/lib/esm/test/incrementalSchemaLocater/utils/IModelSchemaLocater.d.ts.map +0 -1
- package/lib/esm/test/incrementalSchemaLocater/utils/IModelSchemaLocater.js +0 -36
- package/lib/esm/test/incrementalSchemaLocater/utils/IModelSchemaLocater.js.map +0 -1
- package/lib/esm/test/incrementalSchemaLocater/utils/IncrementalTestHelper.d.ts +0 -20
- package/lib/esm/test/incrementalSchemaLocater/utils/IncrementalTestHelper.d.ts.map +0 -1
- package/lib/esm/test/incrementalSchemaLocater/utils/IncrementalTestHelper.js +0 -126
- package/lib/esm/test/incrementalSchemaLocater/utils/IncrementalTestHelper.js.map +0 -1
- package/lib/esm/test/incrementalSchemaLocater/utils/TestSqlSchemaLocater.d.ts +0 -24
- package/lib/esm/test/incrementalSchemaLocater/utils/TestSqlSchemaLocater.d.ts.map +0 -1
- package/lib/esm/test/incrementalSchemaLocater/utils/TestSqlSchemaLocater.js +0 -67
- package/lib/esm/test/incrementalSchemaLocater/utils/TestSqlSchemaLocater.js.map +0 -1
|
@@ -55,18 +55,19 @@ var __disposeResources = (this && this.__disposeResources) || (function (Suppres
|
|
|
55
55
|
* See LICENSE.md in the project root for license terms and full copyright notice.
|
|
56
56
|
*--------------------------------------------------------------------------------------------*/
|
|
57
57
|
import { DbResult, Id64 } from "@itwin/core-bentley";
|
|
58
|
-
import { Code, ColorDef, IModel, SubCategoryAppearance } from "@itwin/core-common";
|
|
58
|
+
import { Code, ColorDef, IModel, QueryBinder, SubCategoryAppearance } from "@itwin/core-common";
|
|
59
59
|
import { Arc3d, IModelJson, Point3d } from "@itwin/core-geometry";
|
|
60
|
+
import * as chai from "chai";
|
|
60
61
|
import { assert, expect } from "chai";
|
|
61
62
|
import * as path from "node:path";
|
|
62
63
|
import { DrawingCategory } from "../../Category";
|
|
63
64
|
import { ChangesetECAdaptor, ChangesetECAdaptor as ECChangesetAdaptor, ECChangeUnifierCache, PartialECChangeUnifier } from "../../ChangesetECAdaptor";
|
|
65
|
+
import { _nativeDb, ChannelControl, GraphicalElement2d } from "../../core-backend";
|
|
66
|
+
import { BriefcaseDb, SnapshotDb } from "../../IModelDb";
|
|
64
67
|
import { HubMock } from "../../internal/HubMock";
|
|
65
|
-
import { SnapshotDb } from "../../IModelDb";
|
|
66
68
|
import { SqliteChangesetReader } from "../../SqliteChangesetReader";
|
|
67
69
|
import { HubWrappers, IModelTestUtils } from "../IModelTestUtils";
|
|
68
70
|
import { KnownTestLocations } from "../KnownTestLocations";
|
|
69
|
-
import { _nativeDb, ChannelControl } from "../../core-backend";
|
|
70
71
|
describe("Changeset Reader API", async () => {
|
|
71
72
|
let iTwinId;
|
|
72
73
|
before(() => {
|
|
@@ -92,13 +93,13 @@ describe("Changeset Reader API", async () => {
|
|
|
92
93
|
assert.isNotEmpty(rwIModelId);
|
|
93
94
|
const rwIModel = await HubWrappers.downloadAndOpenBriefcase({ iTwinId, iModelId: rwIModelId, accessToken: adminToken });
|
|
94
95
|
// 1. Import schema with class that span overflow table.
|
|
95
|
-
const schema = `<?xml version="1.0" encoding="UTF-8"?>
|
|
96
|
-
<ECSchema schemaName="TestDomain" alias="ts" version="01.00" xmlns="http://www.bentley.com/schemas/Bentley.ECXML.3.1">
|
|
97
|
-
<ECSchemaReference name="BisCore" version="01.00" alias="bis"/>
|
|
98
|
-
<ECEntityClass typeName="Test2dElement">
|
|
99
|
-
<BaseClass>bis:GraphicalElement2d</BaseClass>
|
|
100
|
-
${Array(nProps).fill(undefined).map((_, i) => `<ECProperty propertyName="p${i}" typeName="string"/>`).join("\n")}
|
|
101
|
-
</ECEntityClass>
|
|
96
|
+
const schema = `<?xml version="1.0" encoding="UTF-8"?>
|
|
97
|
+
<ECSchema schemaName="TestDomain" alias="ts" version="01.00" xmlns="http://www.bentley.com/schemas/Bentley.ECXML.3.1">
|
|
98
|
+
<ECSchemaReference name="BisCore" version="01.00" alias="bis"/>
|
|
99
|
+
<ECEntityClass typeName="Test2dElement">
|
|
100
|
+
<BaseClass>bis:GraphicalElement2d</BaseClass>
|
|
101
|
+
${Array(nProps).fill(undefined).map((_, i) => `<ECProperty propertyName="p${i}" typeName="string"/>`).join("\n")}
|
|
102
|
+
</ECEntityClass>
|
|
102
103
|
</ECSchema>`;
|
|
103
104
|
await rwIModel.importSchemaStrings([schema]);
|
|
104
105
|
rwIModel.channels.addAllowedChannel(ChannelControl.sharedChannelName);
|
|
@@ -208,13 +209,13 @@ describe("Changeset Reader API", async () => {
|
|
|
208
209
|
const rwIModelId = await HubMock.createNewIModel({ iTwinId, iModelName, description: "TestSubject", accessToken: adminToken });
|
|
209
210
|
assert.isNotEmpty(rwIModelId);
|
|
210
211
|
const rwIModel = await HubWrappers.downloadAndOpenBriefcase({ iTwinId, iModelId: rwIModelId, accessToken: adminToken });
|
|
211
|
-
const schema = `<?xml version="1.0" encoding="UTF-8"?>
|
|
212
|
-
<ECSchema schemaName="TestDomain" alias="ts" version="01.00" xmlns="http://www.bentley.com/schemas/Bentley.ECXML.3.1">
|
|
213
|
-
<ECSchemaReference name="BisCore" version="01.00" alias="bis"/>
|
|
214
|
-
<ECEntityClass typeName="Test2dElement">
|
|
215
|
-
<BaseClass>bis:GraphicalElement2d</BaseClass>
|
|
216
|
-
<ECProperty propertyName="s" typeName="string"/>
|
|
217
|
-
</ECEntityClass>
|
|
212
|
+
const schema = `<?xml version="1.0" encoding="UTF-8"?>
|
|
213
|
+
<ECSchema schemaName="TestDomain" alias="ts" version="01.00" xmlns="http://www.bentley.com/schemas/Bentley.ECXML.3.1">
|
|
214
|
+
<ECSchemaReference name="BisCore" version="01.00" alias="bis"/>
|
|
215
|
+
<ECEntityClass typeName="Test2dElement">
|
|
216
|
+
<BaseClass>bis:GraphicalElement2d</BaseClass>
|
|
217
|
+
<ECProperty propertyName="s" typeName="string"/>
|
|
218
|
+
</ECEntityClass>
|
|
218
219
|
</ECSchema>`;
|
|
219
220
|
await rwIModel.importSchemaStrings([schema]);
|
|
220
221
|
rwIModel.saveChanges("user 1: schema changeset");
|
|
@@ -726,13 +727,13 @@ describe("Changeset Reader API", async () => {
|
|
|
726
727
|
const addPropertyAndImportSchema = async () => {
|
|
727
728
|
await rwIModel.acquireSchemaLock();
|
|
728
729
|
++nProps;
|
|
729
|
-
const schema = `<?xml version="1.0" encoding="UTF-8"?>
|
|
730
|
-
<ECSchema schemaName="TestDomain" alias="ts" version="01.00.${nProps}" xmlns="http://www.bentley.com/schemas/Bentley.ECXML.3.1">
|
|
731
|
-
<ECSchemaReference name="BisCore" version="01.00" alias="bis"/>
|
|
732
|
-
<ECEntityClass typeName="Test2dElement">
|
|
733
|
-
<BaseClass>bis:GraphicalElement2d</BaseClass>
|
|
734
|
-
${Array(nProps).fill(undefined).map((_, i) => `<ECProperty propertyName="p${i + 1}" typeName="string"/>`).join("\n")}
|
|
735
|
-
</ECEntityClass>
|
|
730
|
+
const schema = `<?xml version="1.0" encoding="UTF-8"?>
|
|
731
|
+
<ECSchema schemaName="TestDomain" alias="ts" version="01.00.${nProps}" xmlns="http://www.bentley.com/schemas/Bentley.ECXML.3.1">
|
|
732
|
+
<ECSchemaReference name="BisCore" version="01.00" alias="bis"/>
|
|
733
|
+
<ECEntityClass typeName="Test2dElement">
|
|
734
|
+
<BaseClass>bis:GraphicalElement2d</BaseClass>
|
|
735
|
+
${Array(nProps).fill(undefined).map((_, i) => `<ECProperty propertyName="p${i + 1}" typeName="string"/>`).join("\n")}
|
|
736
|
+
</ECEntityClass>
|
|
736
737
|
</ECSchema>`;
|
|
737
738
|
await rwIModel.importSchemaStrings([schema]);
|
|
738
739
|
};
|
|
@@ -869,13 +870,13 @@ describe("Changeset Reader API", async () => {
|
|
|
869
870
|
assert.isNotEmpty(rwIModelId);
|
|
870
871
|
const rwIModel = await HubWrappers.downloadAndOpenBriefcase({ iTwinId, iModelId: rwIModelId, accessToken: adminToken });
|
|
871
872
|
// 1. Import schema with class that span overflow table.
|
|
872
|
-
const schema = `<?xml version="1.0" encoding="UTF-8"?>
|
|
873
|
-
<ECSchema schemaName="TestDomain" alias="ts" version="01.00" xmlns="http://www.bentley.com/schemas/Bentley.ECXML.3.1">
|
|
874
|
-
<ECSchemaReference name="BisCore" version="01.00" alias="bis"/>
|
|
875
|
-
<ECEntityClass typeName="Test2dElement">
|
|
876
|
-
<BaseClass>bis:GraphicalElement2d</BaseClass>
|
|
877
|
-
<ECProperty propertyName="p1" typeName="string"/>
|
|
878
|
-
</ECEntityClass>
|
|
873
|
+
const schema = `<?xml version="1.0" encoding="UTF-8"?>
|
|
874
|
+
<ECSchema schemaName="TestDomain" alias="ts" version="01.00" xmlns="http://www.bentley.com/schemas/Bentley.ECXML.3.1">
|
|
875
|
+
<ECSchemaReference name="BisCore" version="01.00" alias="bis"/>
|
|
876
|
+
<ECEntityClass typeName="Test2dElement">
|
|
877
|
+
<BaseClass>bis:GraphicalElement2d</BaseClass>
|
|
878
|
+
<ECProperty propertyName="p1" typeName="string"/>
|
|
879
|
+
</ECEntityClass>
|
|
879
880
|
</ECSchema>`;
|
|
880
881
|
await rwIModel.importSchemaStrings([schema]);
|
|
881
882
|
rwIModel.channels.addAllowedChannel(ChannelControl.sharedChannelName);
|
|
@@ -1072,18 +1073,18 @@ describe("Changeset Reader API", async () => {
|
|
|
1072
1073
|
]);
|
|
1073
1074
|
// Enable shared channel for both
|
|
1074
1075
|
[firstBriefCase, secondBriefCase].forEach(briefcase => briefcase.channels.addAllowedChannel(ChannelControl.sharedChannelName));
|
|
1075
|
-
await firstBriefCase.importSchemaStrings([`<?xml version="1.0" encoding="UTF-8"?>
|
|
1076
|
-
<ECSchema schemaName="TestSchema" alias="ts" version="1.0.0" xmlns="http://www.bentley.com/schemas/Bentley.ECXML.3.2">
|
|
1077
|
-
<ECSchemaReference name="BisCore" version="1.0.0" alias="bis"/>
|
|
1078
|
-
<ECSchemaReference name="CoreCustomAttributes" version="1.0.0" alias="CoreCA" />
|
|
1079
|
-
|
|
1080
|
-
<ECCustomAttributes>
|
|
1081
|
-
<DynamicSchema xmlns = 'CoreCustomAttributes.1.0.0' />
|
|
1082
|
-
</ECCustomAttributes>
|
|
1083
|
-
|
|
1084
|
-
<ECEntityClass typeName="TestClass">
|
|
1085
|
-
<BaseClass>bis:PhysicalElement</BaseClass>
|
|
1086
|
-
</ECEntityClass>
|
|
1076
|
+
await firstBriefCase.importSchemaStrings([`<?xml version="1.0" encoding="UTF-8"?>
|
|
1077
|
+
<ECSchema schemaName="TestSchema" alias="ts" version="1.0.0" xmlns="http://www.bentley.com/schemas/Bentley.ECXML.3.2">
|
|
1078
|
+
<ECSchemaReference name="BisCore" version="1.0.0" alias="bis"/>
|
|
1079
|
+
<ECSchemaReference name="CoreCustomAttributes" version="1.0.0" alias="CoreCA" />
|
|
1080
|
+
|
|
1081
|
+
<ECCustomAttributes>
|
|
1082
|
+
<DynamicSchema xmlns = 'CoreCustomAttributes.1.0.0' />
|
|
1083
|
+
</ECCustomAttributes>
|
|
1084
|
+
|
|
1085
|
+
<ECEntityClass typeName="TestClass">
|
|
1086
|
+
<BaseClass>bis:PhysicalElement</BaseClass>
|
|
1087
|
+
</ECEntityClass>
|
|
1087
1088
|
</ECSchema>`]);
|
|
1088
1089
|
firstBriefCase.saveChanges("import initial schema");
|
|
1089
1090
|
// Push the changes to the hub
|
|
@@ -1092,13 +1093,13 @@ describe("Changeset Reader API", async () => {
|
|
|
1092
1093
|
await secondBriefCase.pullChanges({ accessToken: adminToken });
|
|
1093
1094
|
checkClass(firstBriefCase, true, secondBriefCase, true);
|
|
1094
1095
|
// Import the schema
|
|
1095
|
-
await firstBriefCase.importSchemaStrings([`<?xml version="1.0" encoding="UTF-8"?>
|
|
1096
|
-
<ECSchema schemaName="TestSchema" alias="ts" version="2.0.0" xmlns="http://www.bentley.com/schemas/Bentley.ECXML.3.2">
|
|
1097
|
-
<ECSchemaReference name="CoreCustomAttributes" version="1.0.0" alias="CoreCA" />
|
|
1098
|
-
|
|
1099
|
-
<ECCustomAttributes>
|
|
1100
|
-
<DynamicSchema xmlns = 'CoreCustomAttributes.1.0.0' />
|
|
1101
|
-
</ECCustomAttributes>
|
|
1096
|
+
await firstBriefCase.importSchemaStrings([`<?xml version="1.0" encoding="UTF-8"?>
|
|
1097
|
+
<ECSchema schemaName="TestSchema" alias="ts" version="2.0.0" xmlns="http://www.bentley.com/schemas/Bentley.ECXML.3.2">
|
|
1098
|
+
<ECSchemaReference name="CoreCustomAttributes" version="1.0.0" alias="CoreCA" />
|
|
1099
|
+
|
|
1100
|
+
<ECCustomAttributes>
|
|
1101
|
+
<DynamicSchema xmlns = 'CoreCustomAttributes.1.0.0' />
|
|
1102
|
+
</ECCustomAttributes>
|
|
1102
1103
|
</ECSchema>`]);
|
|
1103
1104
|
firstBriefCase.saveChanges("imported schema");
|
|
1104
1105
|
// Push the changeset to the hub
|
|
@@ -1139,18 +1140,18 @@ describe("Changeset Reader API", async () => {
|
|
|
1139
1140
|
]);
|
|
1140
1141
|
// Enable shared channel for both
|
|
1141
1142
|
[firstBriefCase, secondBriefCase].forEach(briefcase => briefcase.channels.addAllowedChannel(ChannelControl.sharedChannelName));
|
|
1142
|
-
await firstBriefCase.importSchemaStrings([`<?xml version="1.0" encoding="UTF-8"?>
|
|
1143
|
-
<ECSchema schemaName="TestSchema" alias="ts" version="1.0.0" xmlns="http://www.bentley.com/schemas/Bentley.ECXML.3.2">
|
|
1144
|
-
<ECSchemaReference name="BisCore" version="1.0.0" alias="bis"/>
|
|
1145
|
-
<ECSchemaReference name="CoreCustomAttributes" version="1.0.0" alias="CoreCA" />
|
|
1146
|
-
|
|
1147
|
-
<ECCustomAttributes>
|
|
1148
|
-
<DynamicSchema xmlns = 'CoreCustomAttributes.1.0.0' />
|
|
1149
|
-
</ECCustomAttributes>
|
|
1150
|
-
|
|
1151
|
-
<ECEntityClass typeName="TestClass">
|
|
1152
|
-
<BaseClass>bis:PhysicalElement</BaseClass>
|
|
1153
|
-
</ECEntityClass>
|
|
1143
|
+
await firstBriefCase.importSchemaStrings([`<?xml version="1.0" encoding="UTF-8"?>
|
|
1144
|
+
<ECSchema schemaName="TestSchema" alias="ts" version="1.0.0" xmlns="http://www.bentley.com/schemas/Bentley.ECXML.3.2">
|
|
1145
|
+
<ECSchemaReference name="BisCore" version="1.0.0" alias="bis"/>
|
|
1146
|
+
<ECSchemaReference name="CoreCustomAttributes" version="1.0.0" alias="CoreCA" />
|
|
1147
|
+
|
|
1148
|
+
<ECCustomAttributes>
|
|
1149
|
+
<DynamicSchema xmlns = 'CoreCustomAttributes.1.0.0' />
|
|
1150
|
+
</ECCustomAttributes>
|
|
1151
|
+
|
|
1152
|
+
<ECEntityClass typeName="TestClass">
|
|
1153
|
+
<BaseClass>bis:PhysicalElement</BaseClass>
|
|
1154
|
+
</ECEntityClass>
|
|
1154
1155
|
</ECSchema>`]);
|
|
1155
1156
|
firstBriefCase.saveChanges("import initial schema");
|
|
1156
1157
|
// Push the changes to the hub
|
|
@@ -1159,22 +1160,22 @@ describe("Changeset Reader API", async () => {
|
|
|
1159
1160
|
await secondBriefCase.pullChanges({ accessToken: adminToken });
|
|
1160
1161
|
checkClass("TestClass", firstBriefCase, true, secondBriefCase, true);
|
|
1161
1162
|
// Import the schema
|
|
1162
|
-
await firstBriefCase.importSchemaStrings([`<?xml version="1.0" encoding="UTF-8"?>
|
|
1163
|
-
<ECSchema schemaName="TestSchema" alias="ts" version="1.0.1" xmlns="http://www.bentley.com/schemas/Bentley.ECXML.3.2">
|
|
1164
|
-
<ECSchemaReference name="BisCore" version="1.0.0" alias="bis"/>
|
|
1165
|
-
<ECSchemaReference name="CoreCustomAttributes" version="1.0.0" alias="CoreCA" />
|
|
1166
|
-
|
|
1167
|
-
<ECCustomAttributes>
|
|
1168
|
-
<DynamicSchema xmlns = 'CoreCustomAttributes.1.0.0' />
|
|
1169
|
-
</ECCustomAttributes>
|
|
1170
|
-
|
|
1171
|
-
<ECEntityClass typeName="TestClass">
|
|
1172
|
-
<BaseClass>bis:PhysicalElement</BaseClass>
|
|
1173
|
-
</ECEntityClass>
|
|
1174
|
-
|
|
1175
|
-
<ECEntityClass typeName="AnotherTestClass">
|
|
1176
|
-
<BaseClass>bis:PhysicalElement</BaseClass>
|
|
1177
|
-
</ECEntityClass>
|
|
1163
|
+
await firstBriefCase.importSchemaStrings([`<?xml version="1.0" encoding="UTF-8"?>
|
|
1164
|
+
<ECSchema schemaName="TestSchema" alias="ts" version="1.0.1" xmlns="http://www.bentley.com/schemas/Bentley.ECXML.3.2">
|
|
1165
|
+
<ECSchemaReference name="BisCore" version="1.0.0" alias="bis"/>
|
|
1166
|
+
<ECSchemaReference name="CoreCustomAttributes" version="1.0.0" alias="CoreCA" />
|
|
1167
|
+
|
|
1168
|
+
<ECCustomAttributes>
|
|
1169
|
+
<DynamicSchema xmlns = 'CoreCustomAttributes.1.0.0' />
|
|
1170
|
+
</ECCustomAttributes>
|
|
1171
|
+
|
|
1172
|
+
<ECEntityClass typeName="TestClass">
|
|
1173
|
+
<BaseClass>bis:PhysicalElement</BaseClass>
|
|
1174
|
+
</ECEntityClass>
|
|
1175
|
+
|
|
1176
|
+
<ECEntityClass typeName="AnotherTestClass">
|
|
1177
|
+
<BaseClass>bis:PhysicalElement</BaseClass>
|
|
1178
|
+
</ECEntityClass>
|
|
1178
1179
|
</ECSchema>`]);
|
|
1179
1180
|
firstBriefCase.saveChanges("imported schema");
|
|
1180
1181
|
// Push the changeset to the hub
|
|
@@ -1214,18 +1215,18 @@ describe("Changeset Reader API", async () => {
|
|
|
1214
1215
|
HubWrappers.downloadAndOpenBriefcase({ iTwinId, iModelId: rwIModelId, accessToken: adminToken })
|
|
1215
1216
|
]);
|
|
1216
1217
|
[firstBriefcase, secondBriefcase].forEach(briefcase => briefcase.channels.addAllowedChannel(ChannelControl.sharedChannelName));
|
|
1217
|
-
await firstBriefcase.importSchemaStrings([`<?xml version="1.0" encoding="UTF-8"?>
|
|
1218
|
-
<ECSchema schemaName="TestSchema" alias="ts" version="1.0.0" xmlns="http://www.bentley.com/schemas/Bentley.ECXML.3.2">
|
|
1219
|
-
<ECSchemaReference name="BisCore" version="1.0.0" alias="bis"/>
|
|
1220
|
-
<ECSchemaReference name="CoreCustomAttributes" version="1.0.0" alias="CoreCA" />
|
|
1221
|
-
|
|
1222
|
-
<ECCustomAttributes>
|
|
1223
|
-
<DynamicSchema xmlns = 'CoreCustomAttributes.1.0.0' />
|
|
1224
|
-
</ECCustomAttributes>
|
|
1225
|
-
|
|
1226
|
-
<ECEntityClass typeName="TestClass">
|
|
1227
|
-
<BaseClass>bis:PhysicalElement</BaseClass>
|
|
1228
|
-
</ECEntityClass>
|
|
1218
|
+
await firstBriefcase.importSchemaStrings([`<?xml version="1.0" encoding="UTF-8"?>
|
|
1219
|
+
<ECSchema schemaName="TestSchema" alias="ts" version="1.0.0" xmlns="http://www.bentley.com/schemas/Bentley.ECXML.3.2">
|
|
1220
|
+
<ECSchemaReference name="BisCore" version="1.0.0" alias="bis"/>
|
|
1221
|
+
<ECSchemaReference name="CoreCustomAttributes" version="1.0.0" alias="CoreCA" />
|
|
1222
|
+
|
|
1223
|
+
<ECCustomAttributes>
|
|
1224
|
+
<DynamicSchema xmlns = 'CoreCustomAttributes.1.0.0' />
|
|
1225
|
+
</ECCustomAttributes>
|
|
1226
|
+
|
|
1227
|
+
<ECEntityClass typeName="TestClass">
|
|
1228
|
+
<BaseClass>bis:PhysicalElement</BaseClass>
|
|
1229
|
+
</ECEntityClass>
|
|
1229
1230
|
</ECSchema>`]);
|
|
1230
1231
|
firstBriefcase.saveChanges("import initial schema");
|
|
1231
1232
|
// Enable changeset tracking for both briefcases
|
|
@@ -1233,41 +1234,41 @@ describe("Changeset Reader API", async () => {
|
|
|
1233
1234
|
await firstBriefcase.pushChanges({ description: "push initial schema changeset", accessToken: adminToken });
|
|
1234
1235
|
await secondBriefcase.pullChanges({ accessToken: adminToken });
|
|
1235
1236
|
// Schema upgrade
|
|
1236
|
-
await secondBriefcase.importSchemaStrings([`<?xml version="1.0" encoding="UTF-8"?>
|
|
1237
|
-
<ECSchema schemaName="TestSchema" alias="ts" version="2.0.0" xmlns="http://www.bentley.com/schemas/Bentley.ECXML.3.2">
|
|
1238
|
-
<ECSchemaReference name="BisCore" version="1.0.0" alias="bis"/>
|
|
1239
|
-
<ECSchemaReference name="CoreCustomAttributes" version="1.0.0" alias="CoreCA" />
|
|
1240
|
-
|
|
1241
|
-
<ECCustomAttributes>
|
|
1242
|
-
<DynamicSchema xmlns = 'CoreCustomAttributes.1.0.0' />
|
|
1243
|
-
</ECCustomAttributes>
|
|
1244
|
-
|
|
1245
|
-
<ECEntityClass typeName="TestClass">
|
|
1246
|
-
<BaseClass>bis:PhysicalElement</BaseClass>
|
|
1247
|
-
<ECProperty propertyName="TestProperty" typeName="string"/>
|
|
1248
|
-
</ECEntityClass>
|
|
1249
|
-
|
|
1250
|
-
<ECEnumeration typeName="TestEnum" backingTypeName="int" isStrict="true">
|
|
1251
|
-
<ECEnumerator name="Enumerator1" value="1" displayLabel="TestEnumerator1"/>
|
|
1252
|
-
<ECEnumerator name="Enumerator2" value="2" displayLabel="TestEnumerator2"/>
|
|
1253
|
-
</ECEnumeration>
|
|
1237
|
+
await secondBriefcase.importSchemaStrings([`<?xml version="1.0" encoding="UTF-8"?>
|
|
1238
|
+
<ECSchema schemaName="TestSchema" alias="ts" version="2.0.0" xmlns="http://www.bentley.com/schemas/Bentley.ECXML.3.2">
|
|
1239
|
+
<ECSchemaReference name="BisCore" version="1.0.0" alias="bis"/>
|
|
1240
|
+
<ECSchemaReference name="CoreCustomAttributes" version="1.0.0" alias="CoreCA" />
|
|
1241
|
+
|
|
1242
|
+
<ECCustomAttributes>
|
|
1243
|
+
<DynamicSchema xmlns = 'CoreCustomAttributes.1.0.0' />
|
|
1244
|
+
</ECCustomAttributes>
|
|
1245
|
+
|
|
1246
|
+
<ECEntityClass typeName="TestClass">
|
|
1247
|
+
<BaseClass>bis:PhysicalElement</BaseClass>
|
|
1248
|
+
<ECProperty propertyName="TestProperty" typeName="string"/>
|
|
1249
|
+
</ECEntityClass>
|
|
1250
|
+
|
|
1251
|
+
<ECEnumeration typeName="TestEnum" backingTypeName="int" isStrict="true">
|
|
1252
|
+
<ECEnumerator name="Enumerator1" value="1" displayLabel="TestEnumerator1"/>
|
|
1253
|
+
<ECEnumerator name="Enumerator2" value="2" displayLabel="TestEnumerator2"/>
|
|
1254
|
+
</ECEnumeration>
|
|
1254
1255
|
</ECSchema>`]);
|
|
1255
1256
|
secondBriefcase.saveChanges("imported schema");
|
|
1256
1257
|
await secondBriefcase.pushChanges({ description: "Added a property to TestClass and an enum", accessToken: adminToken });
|
|
1257
1258
|
await firstBriefcase.pullChanges({ accessToken: adminToken });
|
|
1258
1259
|
// Major schema change
|
|
1259
|
-
await firstBriefcase.importSchemaStrings([`<?xml version="1.0" encoding="UTF-8"?>
|
|
1260
|
-
<ECSchema schemaName="TestSchema" alias="ts" version="2.0.0" xmlns="http://www.bentley.com/schemas/Bentley.ECXML.3.2">
|
|
1261
|
-
<ECSchemaReference name="CoreCustomAttributes" version="1.0.0" alias="CoreCA" />
|
|
1262
|
-
|
|
1263
|
-
<ECCustomAttributes>
|
|
1264
|
-
<DynamicSchema xmlns = 'CoreCustomAttributes.1.0.0' />
|
|
1265
|
-
</ECCustomAttributes>
|
|
1266
|
-
|
|
1267
|
-
<ECEnumeration typeName="TestEnum" backingTypeName="int" isStrict="true">
|
|
1268
|
-
<ECEnumerator name="Enumerator1" value="1" displayLabel="TestEnumerator1"/>
|
|
1269
|
-
<ECEnumerator name="Enumerator2" value="2" displayLabel="TestEnumerator2"/>
|
|
1270
|
-
</ECEnumeration>
|
|
1260
|
+
await firstBriefcase.importSchemaStrings([`<?xml version="1.0" encoding="UTF-8"?>
|
|
1261
|
+
<ECSchema schemaName="TestSchema" alias="ts" version="2.0.0" xmlns="http://www.bentley.com/schemas/Bentley.ECXML.3.2">
|
|
1262
|
+
<ECSchemaReference name="CoreCustomAttributes" version="1.0.0" alias="CoreCA" />
|
|
1263
|
+
|
|
1264
|
+
<ECCustomAttributes>
|
|
1265
|
+
<DynamicSchema xmlns = 'CoreCustomAttributes.1.0.0' />
|
|
1266
|
+
</ECCustomAttributes>
|
|
1267
|
+
|
|
1268
|
+
<ECEnumeration typeName="TestEnum" backingTypeName="int" isStrict="true">
|
|
1269
|
+
<ECEnumerator name="Enumerator1" value="1" displayLabel="TestEnumerator1"/>
|
|
1270
|
+
<ECEnumerator name="Enumerator2" value="2" displayLabel="TestEnumerator2"/>
|
|
1271
|
+
</ECEnumeration>
|
|
1271
1272
|
</ECSchema>`]);
|
|
1272
1273
|
firstBriefcase.saveChanges("imported schema");
|
|
1273
1274
|
await firstBriefcase.pushChanges({ description: "Deleted TestClass", accessToken: adminToken });
|
|
@@ -1309,13 +1310,13 @@ describe("Changeset Reader API", async () => {
|
|
|
1309
1310
|
assert.isNotEmpty(rwIModelId);
|
|
1310
1311
|
const rwIModel = await HubWrappers.downloadAndOpenBriefcase({ iTwinId, iModelId: rwIModelId, accessToken: adminToken });
|
|
1311
1312
|
// 1. Import schema with class that span overflow table.
|
|
1312
|
-
const schema = `<?xml version="1.0" encoding="UTF-8"?>
|
|
1313
|
-
<ECSchema schemaName="TestDomain" alias="ts" version="01.00" xmlns="http://www.bentley.com/schemas/Bentley.ECXML.3.1">
|
|
1314
|
-
<ECSchemaReference name="BisCore" version="01.00" alias="bis"/>
|
|
1315
|
-
<ECEntityClass typeName="Test2dElement">
|
|
1316
|
-
<BaseClass>bis:GraphicalElement2d</BaseClass>
|
|
1317
|
-
<ECProperty propertyName="p1" typeName="string"/>
|
|
1318
|
-
</ECEntityClass>
|
|
1313
|
+
const schema = `<?xml version="1.0" encoding="UTF-8"?>
|
|
1314
|
+
<ECSchema schemaName="TestDomain" alias="ts" version="01.00" xmlns="http://www.bentley.com/schemas/Bentley.ECXML.3.1">
|
|
1315
|
+
<ECSchemaReference name="BisCore" version="01.00" alias="bis"/>
|
|
1316
|
+
<ECEntityClass typeName="Test2dElement">
|
|
1317
|
+
<BaseClass>bis:GraphicalElement2d</BaseClass>
|
|
1318
|
+
<ECProperty propertyName="p1" typeName="string"/>
|
|
1319
|
+
</ECEntityClass>
|
|
1319
1320
|
</ECSchema>`;
|
|
1320
1321
|
await rwIModel.importSchemaStrings([schema]);
|
|
1321
1322
|
rwIModel.channels.addAllowedChannel(ChannelControl.sharedChannelName);
|
|
@@ -1434,5 +1435,223 @@ describe("Changeset Reader API", async () => {
|
|
|
1434
1435
|
}
|
|
1435
1436
|
await rwIModel.pushChanges({ description: "insert element", accessToken: adminToken });
|
|
1436
1437
|
});
|
|
1438
|
+
it("Instance update to a different class (bug)", async () => {
|
|
1439
|
+
/**
|
|
1440
|
+
* Test scenario: Verifies changeset reader behavior when an instance ID is reused with a different class.
|
|
1441
|
+
*
|
|
1442
|
+
* Steps:
|
|
1443
|
+
* 1. Import schema with two classes (T1 and T2) that inherit from GraphicalElement2d.
|
|
1444
|
+
* - T1 has property 'p' of type string
|
|
1445
|
+
* - T2 has property 'p' of type long
|
|
1446
|
+
* 2. Insert an element of type T1 with id=elId and property p="wwww"
|
|
1447
|
+
* 3. Push changeset #1: "insert element"
|
|
1448
|
+
* 4. Delete the T1 element
|
|
1449
|
+
* 5. Manipulate the element ID sequence to force reuse of the same ID
|
|
1450
|
+
* 6. Insert a new element of type T2 with the same id=elId but property p=1111
|
|
1451
|
+
* 7. Push changeset #2: "buggy changeset"
|
|
1452
|
+
*
|
|
1453
|
+
* Verification:
|
|
1454
|
+
* - Changeset #2 should show an "Updated" operation (not Delete+Insert)
|
|
1455
|
+
* - In bis_Element table: ECClassId changes from T1 to T2
|
|
1456
|
+
* - In bis_GeometricElement2d table: ECClassId changes from T1 to T2
|
|
1457
|
+
* - Property 'p' changes from string "wwww" to integer 1111
|
|
1458
|
+
*
|
|
1459
|
+
* This tests the changeset reader's ability to handle instance class changes,
|
|
1460
|
+
* which can occur in edge cases where IDs are reused with different types.
|
|
1461
|
+
*/
|
|
1462
|
+
const adminToken = "super manager token";
|
|
1463
|
+
const iModelName = "test";
|
|
1464
|
+
const modelId = await HubMock.createNewIModel({ iTwinId, iModelName, description: "TestSubject", accessToken: adminToken });
|
|
1465
|
+
assert.isNotEmpty(modelId);
|
|
1466
|
+
let b1 = await HubWrappers.downloadAndOpenBriefcase({ iTwinId, iModelId: modelId, accessToken: adminToken });
|
|
1467
|
+
// 1. Import schema with classes that span overflow table.
|
|
1468
|
+
const schema = `<?xml version="1.0" encoding="UTF-8"?>
|
|
1469
|
+
<ECSchema schemaName="TestDomain" alias="ts" version="01.00" xmlns="http://www.bentley.com/schemas/Bentley.ECXML.3.1">
|
|
1470
|
+
<ECSchemaReference name="BisCore" version="01.00" alias="bis"/>
|
|
1471
|
+
<ECEntityClass typeName="T1">
|
|
1472
|
+
<BaseClass>bis:GraphicalElement2d</BaseClass>
|
|
1473
|
+
<ECProperty propertyName="p" typeName="string"/>
|
|
1474
|
+
</ECEntityClass>
|
|
1475
|
+
<ECEntityClass typeName="T2">
|
|
1476
|
+
<BaseClass>bis:GraphicalElement2d</BaseClass>
|
|
1477
|
+
<ECProperty propertyName="p" typeName="long"/>
|
|
1478
|
+
</ECEntityClass>
|
|
1479
|
+
</ECSchema>`;
|
|
1480
|
+
await b1.importSchemaStrings([schema]);
|
|
1481
|
+
b1.channels.addAllowedChannel(ChannelControl.sharedChannelName);
|
|
1482
|
+
// Create drawing model and category
|
|
1483
|
+
await b1.locks.acquireLocks({ shared: IModel.dictionaryId });
|
|
1484
|
+
const codeProps = Code.createEmpty();
|
|
1485
|
+
codeProps.value = "DrawingModel";
|
|
1486
|
+
const [, drawingModelId] = IModelTestUtils.createAndInsertDrawingPartitionAndModel(b1, codeProps, true);
|
|
1487
|
+
let drawingCategoryId = DrawingCategory.queryCategoryIdByName(b1, IModel.dictionaryId, "MyDrawingCategory");
|
|
1488
|
+
if (undefined === drawingCategoryId)
|
|
1489
|
+
drawingCategoryId = DrawingCategory.insert(b1, IModel.dictionaryId, "MyDrawingCategory", new SubCategoryAppearance({ color: ColorDef.fromString("rgb(255,0,0)").toJSON() }));
|
|
1490
|
+
const geomArray = [
|
|
1491
|
+
Arc3d.createXY(Point3d.create(0, 0), 5),
|
|
1492
|
+
Arc3d.createXY(Point3d.create(5, 5), 2),
|
|
1493
|
+
Arc3d.createXY(Point3d.create(-5, -5), 20),
|
|
1494
|
+
];
|
|
1495
|
+
const geometryStream = [];
|
|
1496
|
+
for (const geom of geomArray) {
|
|
1497
|
+
const arcData = IModelJson.Writer.toIModelJson(geom);
|
|
1498
|
+
geometryStream.push(arcData);
|
|
1499
|
+
}
|
|
1500
|
+
const geomElementT1 = {
|
|
1501
|
+
classFullName: `TestDomain:T1`,
|
|
1502
|
+
model: drawingModelId,
|
|
1503
|
+
category: drawingCategoryId,
|
|
1504
|
+
code: Code.createEmpty(),
|
|
1505
|
+
geom: geometryStream,
|
|
1506
|
+
p: "wwww",
|
|
1507
|
+
};
|
|
1508
|
+
const elId = b1.elements.insertElement(geomElementT1);
|
|
1509
|
+
assert.isTrue(Id64.isValidId64(elId), "insert worked");
|
|
1510
|
+
b1.saveChanges();
|
|
1511
|
+
await b1.pushChanges({ description: "insert element" });
|
|
1512
|
+
await b1.locks.acquireLocks({ shared: drawingModelId, exclusive: elId });
|
|
1513
|
+
await b1.locks.acquireLocks({ shared: IModel.dictionaryId });
|
|
1514
|
+
b1.elements.deleteElement(elId);
|
|
1515
|
+
b1.saveChanges();
|
|
1516
|
+
// Force id set to reproduce same instance with different classid
|
|
1517
|
+
const bid = BigInt(elId) - 1n;
|
|
1518
|
+
b1[_nativeDb].saveLocalValue("bis_elementidsequence", bid.toString());
|
|
1519
|
+
b1.saveChanges();
|
|
1520
|
+
const fileName = b1[_nativeDb].getFilePath();
|
|
1521
|
+
b1.close();
|
|
1522
|
+
b1 = await BriefcaseDb.open({ fileName });
|
|
1523
|
+
b1.channels.addAllowedChannel(ChannelControl.sharedChannelName);
|
|
1524
|
+
const geomElementT2 = {
|
|
1525
|
+
classFullName: `TestDomain:T2`,
|
|
1526
|
+
model: drawingModelId,
|
|
1527
|
+
category: drawingCategoryId,
|
|
1528
|
+
code: Code.createEmpty(),
|
|
1529
|
+
geom: geometryStream,
|
|
1530
|
+
p: 1111,
|
|
1531
|
+
};
|
|
1532
|
+
const elId2 = b1.elements.insertElement(geomElementT2);
|
|
1533
|
+
chai.expect(elId).equals(elId2);
|
|
1534
|
+
b1.saveChanges();
|
|
1535
|
+
await b1.pushChanges({ description: "buggy changeset" });
|
|
1536
|
+
const getChanges = async () => {
|
|
1537
|
+
return HubMock.downloadChangesets({ iModelId: modelId, targetDir: path.join(KnownTestLocations.outputDir, modelId, "changesets") });
|
|
1538
|
+
};
|
|
1539
|
+
const changesets = await getChanges();
|
|
1540
|
+
chai.expect(changesets.length).equals(2);
|
|
1541
|
+
chai.expect(changesets[0].description).equals("insert element");
|
|
1542
|
+
chai.expect(changesets[1].description).equals("buggy changeset");
|
|
1543
|
+
const getClassId = async (name) => {
|
|
1544
|
+
const r = b1.createQueryReader("SELECT FORMAT('0x%x', ec_classid(?))", QueryBinder.from([name]));
|
|
1545
|
+
if (await r.step()) {
|
|
1546
|
+
return r.current[0];
|
|
1547
|
+
}
|
|
1548
|
+
};
|
|
1549
|
+
const t1ClassId = await getClassId("TestDomain:T1");
|
|
1550
|
+
const t2ClassId = await getClassId("TestDomain:T2");
|
|
1551
|
+
const reader = SqliteChangesetReader.openFile({ fileName: changesets[1].pathname, disableSchemaCheck: true, db: b1 });
|
|
1552
|
+
let bisElementAsserted = false;
|
|
1553
|
+
let bisGeometricElement2dAsserted = false;
|
|
1554
|
+
while (reader.step()) {
|
|
1555
|
+
if (reader.tableName === "bis_Element" && reader.op === "Updated") {
|
|
1556
|
+
bisElementAsserted = true;
|
|
1557
|
+
chai.expect(reader.getColumnNames(reader.tableName)).deep.equals([
|
|
1558
|
+
"Id",
|
|
1559
|
+
"ECClassId",
|
|
1560
|
+
"ModelId",
|
|
1561
|
+
"LastMod",
|
|
1562
|
+
"CodeSpecId",
|
|
1563
|
+
"CodeScopeId",
|
|
1564
|
+
"CodeValue",
|
|
1565
|
+
"UserLabel",
|
|
1566
|
+
"ParentId",
|
|
1567
|
+
"ParentRelECClassId",
|
|
1568
|
+
"FederationGuid",
|
|
1569
|
+
"JsonProperties",
|
|
1570
|
+
]);
|
|
1571
|
+
const oldId = reader.getChangeValueId(0, "Old");
|
|
1572
|
+
const newId = reader.getChangeValueId(0, "New");
|
|
1573
|
+
chai.expect(oldId).equals(elId);
|
|
1574
|
+
chai.expect(newId).to.be.undefined;
|
|
1575
|
+
const oldClassId = reader.getChangeValueId(1, "Old");
|
|
1576
|
+
const newClassId = reader.getChangeValueId(1, "New");
|
|
1577
|
+
chai.expect(oldClassId).equals(t1ClassId);
|
|
1578
|
+
chai.expect(newClassId).equals(t2ClassId);
|
|
1579
|
+
chai.expect(oldClassId).is.not.equal(newClassId);
|
|
1580
|
+
}
|
|
1581
|
+
if (reader.tableName === "bis_GeometricElement2d" && reader.op === "Updated") {
|
|
1582
|
+
bisGeometricElement2dAsserted = true;
|
|
1583
|
+
chai.expect(reader.getColumnNames(reader.tableName)).deep.equals([
|
|
1584
|
+
"ElementId",
|
|
1585
|
+
"ECClassId",
|
|
1586
|
+
"CategoryId",
|
|
1587
|
+
"Origin_X",
|
|
1588
|
+
"Origin_Y",
|
|
1589
|
+
"Rotation",
|
|
1590
|
+
"BBoxLow_X",
|
|
1591
|
+
"BBoxLow_Y",
|
|
1592
|
+
"BBoxHigh_X",
|
|
1593
|
+
"BBoxHigh_Y",
|
|
1594
|
+
"GeometryStream",
|
|
1595
|
+
"TypeDefinitionId",
|
|
1596
|
+
"TypeDefinitionRelECClassId",
|
|
1597
|
+
"js1",
|
|
1598
|
+
"js2",
|
|
1599
|
+
]);
|
|
1600
|
+
// ECInstanceId
|
|
1601
|
+
const oldId = reader.getChangeValueId(0, "Old");
|
|
1602
|
+
const newId = reader.getChangeValueId(0, "New");
|
|
1603
|
+
chai.expect(oldId).equals(elId);
|
|
1604
|
+
chai.expect(newId).to.be.undefined;
|
|
1605
|
+
// ECClassId (changed)
|
|
1606
|
+
const oldClassId = reader.getChangeValueId(1, "Old");
|
|
1607
|
+
const newClassId = reader.getChangeValueId(1, "New");
|
|
1608
|
+
chai.expect(oldClassId).equals(t1ClassId);
|
|
1609
|
+
chai.expect(newClassId).equals(t2ClassId);
|
|
1610
|
+
chai.expect(oldClassId).is.not.equal(newClassId);
|
|
1611
|
+
// Property 'p' changed type and value.
|
|
1612
|
+
const oldP = reader.getChangeValueText(13, "Old");
|
|
1613
|
+
const newP = reader.getChangeValueInteger(13, "New");
|
|
1614
|
+
chai.expect(oldP).equals("wwww");
|
|
1615
|
+
chai.expect(newP).equals(1111);
|
|
1616
|
+
}
|
|
1617
|
+
}
|
|
1618
|
+
chai.expect(bisElementAsserted).to.be.true;
|
|
1619
|
+
chai.expect(bisGeometricElement2dAsserted).to.be.true;
|
|
1620
|
+
reader.close();
|
|
1621
|
+
// ChangesetECAdaptor works incorrectly as it does not expect ECClassId to change in an update.
|
|
1622
|
+
const adaptor = new ChangesetECAdaptor(SqliteChangesetReader.openFile({ fileName: changesets[1].pathname, disableSchemaCheck: true, db: b1 }));
|
|
1623
|
+
adaptor.acceptClass(GraphicalElement2d.classFullName);
|
|
1624
|
+
adaptor.acceptOp("Updated");
|
|
1625
|
+
let ecChangeForElementAsserted = false;
|
|
1626
|
+
let ecChangeForGeometricElement2dAsserted = false;
|
|
1627
|
+
while (adaptor.step()) {
|
|
1628
|
+
if (adaptor.reader.tableName === "bis_Element") {
|
|
1629
|
+
ecChangeForElementAsserted = true;
|
|
1630
|
+
chai.expect(adaptor.inserted?.$meta?.classFullName).equals("TestDomain:T1"); // WRONG should be TestDomain:T2
|
|
1631
|
+
chai.expect(adaptor.deleted?.$meta?.classFullName).equals("TestDomain:T1"); // WRONG should be TestDomain:T2
|
|
1632
|
+
}
|
|
1633
|
+
if (adaptor.reader.tableName === "bis_GeometricElement2d") {
|
|
1634
|
+
ecChangeForGeometricElement2dAsserted = true;
|
|
1635
|
+
chai.expect(adaptor.inserted?.$meta?.classFullName).equals("TestDomain:T1"); // WRONG should be TestDomain:T2
|
|
1636
|
+
chai.expect(adaptor.deleted?.$meta?.classFullName).equals("TestDomain:T1"); // WRONG should be TestDomain:T2
|
|
1637
|
+
chai.expect(adaptor.inserted?.p).equals("0x457"); // CORRECT p in T2 is integer
|
|
1638
|
+
chai.expect(adaptor.deleted?.p).equals("wwww"); // CORRECT p in T1 is string
|
|
1639
|
+
}
|
|
1640
|
+
}
|
|
1641
|
+
chai.expect(ecChangeForElementAsserted).to.be.true;
|
|
1642
|
+
chai.expect(ecChangeForGeometricElement2dAsserted).to.be.true;
|
|
1643
|
+
adaptor.close();
|
|
1644
|
+
// PartialECChangeUnifier fail to combine changes correctly when ECClassId is updated.
|
|
1645
|
+
const adaptor2 = new ChangesetECAdaptor(SqliteChangesetReader.openFile({ fileName: changesets[1].pathname, disableSchemaCheck: true, db: b1 }));
|
|
1646
|
+
const unifier = new PartialECChangeUnifier(b1);
|
|
1647
|
+
adaptor2.acceptClass(GraphicalElement2d.classFullName);
|
|
1648
|
+
adaptor2.acceptOp("Updated");
|
|
1649
|
+
while (adaptor2.step()) {
|
|
1650
|
+
unifier.appendFrom(adaptor2);
|
|
1651
|
+
}
|
|
1652
|
+
chai.expect(unifier.getInstanceCount()).to.be.equals(2); // WRONG should be 1
|
|
1653
|
+
b1.saveChanges();
|
|
1654
|
+
b1.close();
|
|
1655
|
+
});
|
|
1437
1656
|
});
|
|
1438
1657
|
//# sourceMappingURL=ChangesetReader.test.js.map
|