@itwin/core-backend 4.3.0-dev.36 → 4.3.0-dev.38
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/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 +3 -3
- package/lib/cjs/BriefcaseManager.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/ChangedElementsManager.js.map +1 -1
- package/lib/cjs/ChangesetECAdaptor.js +217 -217
- package/lib/cjs/ChangesetECAdaptor.js.map +1 -1
- package/lib/cjs/ChannelControl.js.map +1 -1
- package/lib/cjs/CheckpointManager.js +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/GeoCoordConfig.js.map +1 -1
- package/lib/cjs/GeometrySummary.js +47 -47
- package/lib/cjs/GeometrySummary.js.map +1 -1
- package/lib/cjs/HubMock.js.map +1 -1
- package/lib/cjs/IModelCloneContext.js.map +1 -1
- package/lib/cjs/IModelDb.d.ts +1 -1
- package/lib/cjs/IModelDb.d.ts.map +1 -1
- package/lib/cjs/IModelDb.js +20 -16
- package/lib/cjs/IModelDb.js.map +1 -1
- package/lib/cjs/IModelElementCloneContext.js.map +1 -1
- package/lib/cjs/IModelHost.js.map +1 -1
- package/lib/cjs/IModelJsFs.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 +2 -2
- package/lib/cjs/LocalHub.js.map +1 -1
- package/lib/cjs/LocalhostIpcHost.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/ServerBasedLocks.js.map +1 -1
- package/lib/cjs/SqliteChangesetReader.js.map +1 -1
- package/lib/cjs/SqliteStatement.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/assets/IModelChange.02.00.00.ecschema.xml +90 -90
- package/lib/cjs/assets/Settings/Schemas/Cloud.Schema.json +44 -44
- package/lib/cjs/assets/Settings/Schemas/Gcs.schema.json +31 -31
- package/lib/cjs/assets/Settings/Schemas/Workspace.Schema.json +52 -52
- package/lib/cjs/assets/Settings/backend.setting.json5 +132 -132
- 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/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/rpc-impl/WipRpcImpl.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/package.json +12 -12
package/lib/cjs/IModelDb.js
CHANGED
|
@@ -204,7 +204,7 @@ class IModelDb extends core_common_1.IModel {
|
|
|
204
204
|
});
|
|
205
205
|
}
|
|
206
206
|
}
|
|
207
|
-
/** Close this IModel, if it is currently open. */
|
|
207
|
+
/** Close this IModel, if it is currently open, and save changes if it was opened in ReadWrite mode. */
|
|
208
208
|
close() {
|
|
209
209
|
if (!this.isOpen)
|
|
210
210
|
return; // don't continue if already closed
|
|
@@ -215,7 +215,9 @@ class IModelDb extends core_common_1.IModel {
|
|
|
215
215
|
this._locks = undefined;
|
|
216
216
|
this._codeService?.close();
|
|
217
217
|
this._codeService = undefined;
|
|
218
|
-
this.
|
|
218
|
+
if (!this.isReadonly)
|
|
219
|
+
this.saveChanges();
|
|
220
|
+
this.nativeDb.closeFile();
|
|
219
221
|
}
|
|
220
222
|
/** @internal */
|
|
221
223
|
async refreshContainer(_userAccessToken) { }
|
|
@@ -766,7 +768,7 @@ class IModelDb extends core_common_1.IModel {
|
|
|
766
768
|
domain: core_common_1.DomainOptions.CheckRecommendedUpgrades,
|
|
767
769
|
};
|
|
768
770
|
const nativeDb = this.openDgnDb(file, openMode, upgradeOptions);
|
|
769
|
-
nativeDb.
|
|
771
|
+
nativeDb.closeFile();
|
|
770
772
|
}
|
|
771
773
|
catch (err) {
|
|
772
774
|
result = err.errorNumber;
|
|
@@ -1778,9 +1780,9 @@ exports.IModelDb = IModelDb;
|
|
|
1778
1780
|
*/
|
|
1779
1781
|
getAspects(elementId, aspectClassFullName, excludedClassFullNames) {
|
|
1780
1782
|
if (aspectClassFullName === undefined) {
|
|
1781
|
-
const allAspects = this.runInstanceQuery(`SELECT $ FROM (
|
|
1782
|
-
SELECT ECInstanceId, ECClassId FROM Bis.ElementMultiAspect WHERE Element.Id = :elementId
|
|
1783
|
-
UNION ALL
|
|
1783
|
+
const allAspects = this.runInstanceQuery(`SELECT $ FROM (
|
|
1784
|
+
SELECT ECInstanceId, ECClassId FROM Bis.ElementMultiAspect WHERE Element.Id = :elementId
|
|
1785
|
+
UNION ALL
|
|
1784
1786
|
SELECT ECInstanceId, ECClassId FROM Bis.ElementUniqueAspect WHERE Element.Id = :elementId) OPTIONS USE_JS_PROP_NAMES DO_NOT_TRUNCATE_BLOB`, elementId, excludedClassFullNames);
|
|
1785
1787
|
if (allAspects.length === 0)
|
|
1786
1788
|
core_bentley_1.Logger.logError(BackendLoggerCategory_1.BackendLoggerCategory.ECDb, `No aspects found for class ${aspectClassFullName} and element ${elementId}`);
|
|
@@ -1798,7 +1800,7 @@ exports.IModelDb = IModelDb;
|
|
|
1798
1800
|
let classIdList = IModelDb.Elements.classMap.get(aspectClassFullName);
|
|
1799
1801
|
if (classIdList === undefined) {
|
|
1800
1802
|
const classIds = [];
|
|
1801
|
-
this._iModel.withPreparedStatement(`select SourceECInstanceId from meta.ClassHasAllBaseClasses where TargetECInstanceId = (select ECInstanceId from meta.ECClassDef where Name='${fullClassName[1]}'
|
|
1803
|
+
this._iModel.withPreparedStatement(`select SourceECInstanceId from meta.ClassHasAllBaseClasses where TargetECInstanceId = (select ECInstanceId from meta.ECClassDef where Name='${fullClassName[1]}'
|
|
1802
1804
|
and Schema.Id = (select ECInstanceId from meta.ECSchemaDef where Name='${fullClassName[0]}')) and SourceECInstanceId != TargetECInstanceId`, (statement) => {
|
|
1803
1805
|
while (statement.step() === core_bentley_1.DbResult.BE_SQLITE_ROW)
|
|
1804
1806
|
classIds.push(statement.getValue(0).getId());
|
|
@@ -1813,10 +1815,10 @@ exports.IModelDb = IModelDb;
|
|
|
1813
1815
|
return [];
|
|
1814
1816
|
}
|
|
1815
1817
|
// Execute an instance query to retrieve all aspects from all the derived classes
|
|
1816
|
-
const aspects = this.runInstanceQuery(`SELECT $ FROM (
|
|
1817
|
-
SELECT ECInstanceId, ECClassId FROM Bis.ElementMultiAspect WHERE Element.Id = :elementId AND ECClassId IN (${classIdList})
|
|
1818
|
-
UNION ALL
|
|
1819
|
-
SELECT ECInstanceId, ECClassId FROM Bis.ElementUniqueAspect WHERE Element.Id = :elementId AND ECClassId IN (${classIdList})
|
|
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})
|
|
1820
1822
|
) OPTIONS USE_JS_PROP_NAMES DO_NOT_TRUNCATE_BLOB`, elementId, excludedClassFullNames);
|
|
1821
1823
|
if (aspects.length === 0)
|
|
1822
1824
|
core_bentley_1.Logger.logError(BackendLoggerCategory_1.BackendLoggerCategory.ECDb, `No aspects found for class ${aspectClassFullName} and element ${elementId}`);
|
|
@@ -2189,7 +2191,7 @@ class BriefcaseDb extends IModelDb {
|
|
|
2189
2191
|
static async doUpgrade(briefcase, upgradeOptions, description) {
|
|
2190
2192
|
const nativeDb = this.openDgnDb({ path: briefcase.fileName }, core_bentley_1.OpenMode.ReadWrite, upgradeOptions); // performs the upgrade
|
|
2191
2193
|
const wasChanges = nativeDb.hasPendingTxns();
|
|
2192
|
-
nativeDb.
|
|
2194
|
+
nativeDb.closeFile();
|
|
2193
2195
|
if (wasChanges)
|
|
2194
2196
|
await withBriefcaseDb(briefcase, async (db) => db.pushChanges({ ...briefcase, description, retainLocks: true }));
|
|
2195
2197
|
}
|
|
@@ -2279,7 +2281,7 @@ class BriefcaseDb extends IModelDb {
|
|
|
2279
2281
|
// Unclosed statements will produce BUSY error when attempting to close.
|
|
2280
2282
|
this.clearCaches();
|
|
2281
2283
|
// The following resets the native db's pointer to this JavaScript object.
|
|
2282
|
-
this.nativeDb.
|
|
2284
|
+
this.nativeDb.closeFile();
|
|
2283
2285
|
this.nativeDb.openIModel(fileName, openMode);
|
|
2284
2286
|
// Restore the native db's pointer to this JavaScript object.
|
|
2285
2287
|
this.nativeDb.setIModelDb(this);
|
|
@@ -2579,9 +2581,11 @@ class StandaloneDb extends BriefcaseDb {
|
|
|
2579
2581
|
*/
|
|
2580
2582
|
static upgradeStandaloneSchemas(filePath) {
|
|
2581
2583
|
let nativeDb = this.openDgnDb({ path: filePath }, core_bentley_1.OpenMode.ReadWrite, { profile: core_common_1.ProfileOptions.Upgrade, schemaLockHeld: true });
|
|
2582
|
-
nativeDb.
|
|
2584
|
+
nativeDb.saveChanges();
|
|
2585
|
+
nativeDb.closeFile();
|
|
2583
2586
|
nativeDb = this.openDgnDb({ path: filePath }, core_bentley_1.OpenMode.ReadWrite, { domain: core_common_1.DomainOptions.Upgrade, schemaLockHeld: true });
|
|
2584
|
-
nativeDb.
|
|
2587
|
+
nativeDb.saveChanges();
|
|
2588
|
+
nativeDb.closeFile();
|
|
2585
2589
|
}
|
|
2586
2590
|
/** Creates or updates views in the iModel to permit visualizing the EC content as ECClasses and ECProperties rather than raw database tables and columns.
|
|
2587
2591
|
* This can be helpful when debugging the EC data, especially when the raw tables make use of shared columns or spread data across multiple tables.
|
|
@@ -2613,7 +2617,7 @@ class StandaloneDb extends BriefcaseDb {
|
|
|
2613
2617
|
return new StandaloneDb({ nativeDb, key: file.key, openMode, briefcaseId: core_common_1.BriefcaseIdValue.Unassigned });
|
|
2614
2618
|
}
|
|
2615
2619
|
catch (error) {
|
|
2616
|
-
nativeDb.
|
|
2620
|
+
nativeDb.closeFile();
|
|
2617
2621
|
throw error;
|
|
2618
2622
|
}
|
|
2619
2623
|
}
|