@itwin/core-backend 4.4.0-dev.1 → 4.4.0-dev.10

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (98) hide show
  1. package/CHANGELOG.md +33 -1
  2. package/lib/cjs/BackendHubAccess.js.map +1 -1
  3. package/lib/cjs/BackendLoggerCategory.js.map +1 -1
  4. package/lib/cjs/BisCoreSchema.js.map +1 -1
  5. package/lib/cjs/BlobContainerService.js.map +1 -1
  6. package/lib/cjs/BriefcaseManager.js.map +1 -1
  7. package/lib/cjs/Category.js.map +1 -1
  8. package/lib/cjs/ChangeSummaryManager.js +2 -2
  9. package/lib/cjs/ChangeSummaryManager.js.map +1 -1
  10. package/lib/cjs/ChangedElementsDb.js.map +1 -1
  11. package/lib/cjs/ChangedElementsManager.js.map +1 -1
  12. package/lib/cjs/ChangesetECAdaptor.js +216 -216
  13. package/lib/cjs/ChangesetECAdaptor.js.map +1 -1
  14. package/lib/cjs/ChannelControl.js.map +1 -1
  15. package/lib/cjs/CheckpointManager.js.map +1 -1
  16. package/lib/cjs/ClassRegistry.js +5 -5
  17. package/lib/cjs/ClassRegistry.js.map +1 -1
  18. package/lib/cjs/CloudSqlite.js.map +1 -1
  19. package/lib/cjs/CodeService.js.map +1 -1
  20. package/lib/cjs/CodeSpecs.js.map +1 -1
  21. package/lib/cjs/ConcurrentQuery.js.map +1 -1
  22. package/lib/cjs/CustomViewState3dCreator.js.map +1 -1
  23. package/lib/cjs/DevTools.js.map +1 -1
  24. package/lib/cjs/DisplayStyle.js.map +1 -1
  25. package/lib/cjs/ECDb.js.map +1 -1
  26. package/lib/cjs/ECSchemaXmlContext.js.map +1 -1
  27. package/lib/cjs/ECSqlStatement.js.map +1 -1
  28. package/lib/cjs/Element.js.map +1 -1
  29. package/lib/cjs/ElementAspect.js.map +1 -1
  30. package/lib/cjs/ElementGraphics.js.map +1 -1
  31. package/lib/cjs/ElementTreeWalker.js.map +1 -1
  32. package/lib/cjs/Entity.js.map +1 -1
  33. package/lib/cjs/EntityReferences.js.map +1 -1
  34. package/lib/cjs/ExportGraphics.js.map +1 -1
  35. package/lib/cjs/ExternalSource.js.map +1 -1
  36. package/lib/cjs/GeoCoordConfig.js.map +1 -1
  37. package/lib/cjs/GeometrySummary.js +47 -47
  38. package/lib/cjs/GeometrySummary.js.map +1 -1
  39. package/lib/cjs/HubMock.js.map +1 -1
  40. package/lib/cjs/IModelCloneContext.js.map +1 -1
  41. package/lib/cjs/IModelDb.d.ts.map +1 -1
  42. package/lib/cjs/IModelDb.js +16 -8
  43. package/lib/cjs/IModelDb.js.map +1 -1
  44. package/lib/cjs/IModelElementCloneContext.js.map +1 -1
  45. package/lib/cjs/IModelHost.js.map +1 -1
  46. package/lib/cjs/IModelJsFs.js.map +1 -1
  47. package/lib/cjs/IpcHost.js.map +1 -1
  48. package/lib/cjs/LineStyle.js.map +1 -1
  49. package/lib/cjs/LocalHub.js +1 -1
  50. package/lib/cjs/LocalHub.js.map +1 -1
  51. package/lib/cjs/LocalhostIpcHost.js.map +1 -1
  52. package/lib/cjs/Material.js.map +1 -1
  53. package/lib/cjs/Model.js.map +1 -1
  54. package/lib/cjs/NativeAppStorage.js.map +1 -1
  55. package/lib/cjs/NativeHost.js.map +1 -1
  56. package/lib/cjs/NavigationRelationship.js.map +1 -1
  57. package/lib/cjs/PromiseMemoizer.js.map +1 -1
  58. package/lib/cjs/PropertyStore.js.map +1 -1
  59. package/lib/cjs/Relationship.js.map +1 -1
  60. package/lib/cjs/RpcBackend.js.map +1 -1
  61. package/lib/cjs/SQLiteDb.js.map +1 -1
  62. package/lib/cjs/Schema.js.map +1 -1
  63. package/lib/cjs/SchemaSync.js.map +1 -1
  64. package/lib/cjs/SchemaUtils.js.map +1 -1
  65. package/lib/cjs/ServerBasedLocks.js.map +1 -1
  66. package/lib/cjs/SqliteChangesetReader.js.map +1 -1
  67. package/lib/cjs/SqliteStatement.js.map +1 -1
  68. package/lib/cjs/Texture.js.map +1 -1
  69. package/lib/cjs/TileStorage.js.map +1 -1
  70. package/lib/cjs/TxnManager.js.map +1 -1
  71. package/lib/cjs/ViewDefinition.js.map +1 -1
  72. package/lib/cjs/ViewStateHydrator.js.map +1 -1
  73. package/lib/cjs/ViewStore.js.map +1 -1
  74. package/lib/cjs/assets/IModelChange.02.00.00.ecschema.xml +90 -90
  75. package/lib/cjs/assets/Settings/Schemas/Cloud.Schema.json +44 -44
  76. package/lib/cjs/assets/Settings/Schemas/Gcs.schema.json +31 -31
  77. package/lib/cjs/assets/Settings/Schemas/Workspace.Schema.json +52 -52
  78. package/lib/cjs/assets/Settings/backend.setting.json5 +132 -132
  79. package/lib/cjs/core-backend.js.map +1 -1
  80. package/lib/cjs/domains/FunctionalElements.js.map +1 -1
  81. package/lib/cjs/domains/FunctionalSchema.js.map +1 -1
  82. package/lib/cjs/domains/GenericElements.js.map +1 -1
  83. package/lib/cjs/domains/GenericSchema.js.map +1 -1
  84. package/lib/cjs/rpc/multipart.js.map +1 -1
  85. package/lib/cjs/rpc/tracing.js.map +1 -1
  86. package/lib/cjs/rpc/web/logging.js.map +1 -1
  87. package/lib/cjs/rpc/web/request.js.map +1 -1
  88. package/lib/cjs/rpc/web/response.js.map +1 -1
  89. package/lib/cjs/rpc-impl/DevToolsRpcImpl.js.map +1 -1
  90. package/lib/cjs/rpc-impl/IModelReadRpcImpl.js.map +1 -1
  91. package/lib/cjs/rpc-impl/IModelTileRpcImpl.js.map +1 -1
  92. package/lib/cjs/rpc-impl/RpcBriefcaseUtility.js.map +1 -1
  93. package/lib/cjs/rpc-impl/SnapshotIModelRpcImpl.js.map +1 -1
  94. package/lib/cjs/rpc-impl/WipRpcImpl.js.map +1 -1
  95. package/lib/cjs/workspace/Settings.js.map +1 -1
  96. package/lib/cjs/workspace/SettingsSchemas.js.map +1 -1
  97. package/lib/cjs/workspace/Workspace.js.map +1 -1
  98. package/package.json +17 -17
@@ -187,6 +187,14 @@ class IModelDb extends core_common_1.IModel {
187
187
  /** Event called when the iModel is about to be closed. */
188
188
  this.onBeforeClose = new core_bentley_1.BeEvent();
189
189
  this.nativeDb = args.nativeDb;
190
+ // PR https://github.com/iTwin/imodel-native/pull/558 ill-advisedly renamed closeIModel to closeFile.
191
+ // Ideally, nobody outside of core-backend would be calling it, but somebody important is.
192
+ // Make closeIModel available so their code doesn't break.
193
+ this.nativeDb.closeIModel = () => {
194
+ if (!this.isReadonly)
195
+ this.saveChanges(); // preserve old behavior of closeIModel that was removed when renamed to closeFile
196
+ this.nativeDb.closeFile();
197
+ };
190
198
  this.nativeDb.setIModelDb(this);
191
199
  this.loadSettingDictionaries();
192
200
  GeoCoordConfig_1.GeoCoordConfig.loadForImodel(this.workspace.settings); // load gcs data specified by iModel's settings dictionaries, must be done before calling initializeIModelDb
@@ -1780,9 +1788,9 @@ exports.IModelDb = IModelDb;
1780
1788
  */
1781
1789
  getAspects(elementId, aspectClassFullName, excludedClassFullNames) {
1782
1790
  if (aspectClassFullName === undefined) {
1783
- const allAspects = this.runInstanceQuery(`SELECT $ FROM (
1784
- SELECT ECInstanceId, ECClassId FROM Bis.ElementMultiAspect WHERE Element.Id = :elementId
1785
- UNION ALL
1791
+ const allAspects = this.runInstanceQuery(`SELECT $ FROM (
1792
+ SELECT ECInstanceId, ECClassId FROM Bis.ElementMultiAspect WHERE Element.Id = :elementId
1793
+ UNION ALL
1786
1794
  SELECT ECInstanceId, ECClassId FROM Bis.ElementUniqueAspect WHERE Element.Id = :elementId) OPTIONS USE_JS_PROP_NAMES DO_NOT_TRUNCATE_BLOB`, elementId, excludedClassFullNames);
1787
1795
  if (allAspects.length === 0)
1788
1796
  core_bentley_1.Logger.logError(BackendLoggerCategory_1.BackendLoggerCategory.ECDb, `No aspects found for class ${aspectClassFullName} and element ${elementId}`);
@@ -1800,7 +1808,7 @@ exports.IModelDb = IModelDb;
1800
1808
  let classIdList = IModelDb.Elements.classMap.get(aspectClassFullName);
1801
1809
  if (classIdList === undefined) {
1802
1810
  const classIds = [];
1803
- this._iModel.withPreparedStatement(`select SourceECInstanceId from meta.ClassHasAllBaseClasses where TargetECInstanceId = (select ECInstanceId from meta.ECClassDef where Name='${fullClassName[1]}'
1811
+ this._iModel.withPreparedStatement(`select SourceECInstanceId from meta.ClassHasAllBaseClasses where TargetECInstanceId = (select ECInstanceId from meta.ECClassDef where Name='${fullClassName[1]}'
1804
1812
  and Schema.Id = (select ECInstanceId from meta.ECSchemaDef where Name='${fullClassName[0]}')) and SourceECInstanceId != TargetECInstanceId`, (statement) => {
1805
1813
  while (statement.step() === core_bentley_1.DbResult.BE_SQLITE_ROW)
1806
1814
  classIds.push(statement.getValue(0).getId());
@@ -1815,10 +1823,10 @@ exports.IModelDb = IModelDb;
1815
1823
  return [];
1816
1824
  }
1817
1825
  // Execute an instance query to retrieve all aspects from all the derived classes
1818
- const aspects = this.runInstanceQuery(`SELECT $ FROM (
1819
- SELECT ECInstanceId, ECClassId FROM Bis.ElementMultiAspect WHERE Element.Id = :elementId AND ECClassId IN (${classIdList})
1820
- UNION ALL
1821
- SELECT ECInstanceId, ECClassId FROM Bis.ElementUniqueAspect WHERE Element.Id = :elementId AND ECClassId IN (${classIdList})
1826
+ const aspects = this.runInstanceQuery(`SELECT $ FROM (
1827
+ SELECT ECInstanceId, ECClassId FROM Bis.ElementMultiAspect WHERE Element.Id = :elementId AND ECClassId IN (${classIdList})
1828
+ UNION ALL
1829
+ SELECT ECInstanceId, ECClassId FROM Bis.ElementUniqueAspect WHERE Element.Id = :elementId AND ECClassId IN (${classIdList})
1822
1830
  ) OPTIONS USE_JS_PROP_NAMES DO_NOT_TRUNCATE_BLOB`, elementId, excludedClassFullNames);
1823
1831
  if (aspects.length === 0)
1824
1832
  core_bentley_1.Logger.logError(BackendLoggerCategory_1.BackendLoggerCategory.ECDb, `No aspects found for class ${aspectClassFullName} and element ${elementId}`);