@itwin/core-backend 5.5.0-dev.1 → 5.5.0-dev.11

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 (64) hide show
  1. package/CHANGELOG.md +34 -1
  2. package/lib/cjs/ChangesetECAdaptor.d.ts.map +1 -1
  3. package/lib/cjs/ChangesetECAdaptor.js +0 -2
  4. package/lib/cjs/ChangesetECAdaptor.js.map +1 -1
  5. package/lib/cjs/IModelDb.d.ts +15 -1
  6. package/lib/cjs/IModelDb.d.ts.map +1 -1
  7. package/lib/cjs/IModelDb.js +17 -15
  8. package/lib/cjs/IModelDb.js.map +1 -1
  9. package/lib/cjs/TxnManager.d.ts +2 -1
  10. package/lib/cjs/TxnManager.d.ts.map +1 -1
  11. package/lib/cjs/TxnManager.js +7 -2
  12. package/lib/cjs/TxnManager.js.map +1 -1
  13. package/lib/esm/ChangesetECAdaptor.d.ts.map +1 -1
  14. package/lib/esm/ChangesetECAdaptor.js +0 -2
  15. package/lib/esm/ChangesetECAdaptor.js.map +1 -1
  16. package/lib/esm/IModelDb.d.ts +15 -1
  17. package/lib/esm/IModelDb.d.ts.map +1 -1
  18. package/lib/esm/IModelDb.js +17 -15
  19. package/lib/esm/IModelDb.js.map +1 -1
  20. package/lib/esm/TxnManager.d.ts +2 -1
  21. package/lib/esm/TxnManager.d.ts.map +1 -1
  22. package/lib/esm/TxnManager.js +7 -2
  23. package/lib/esm/TxnManager.js.map +1 -1
  24. package/lib/esm/test/annotations/Fields.test.js +2 -2
  25. package/lib/esm/test/annotations/Fields.test.js.map +1 -1
  26. package/lib/esm/test/assets/IncrementalSchemaLocater/configs/simple.config.js +5 -5
  27. package/lib/esm/test/assets/IncrementalSchemaLocater/configs/simple.config.js.map +1 -1
  28. package/lib/esm/test/ecdb/ConcurrentQuery.test.js +43 -0
  29. package/lib/esm/test/ecdb/ConcurrentQuery.test.js.map +1 -1
  30. package/lib/esm/test/hubaccess/Rebase.test.js +43 -0
  31. package/lib/esm/test/hubaccess/Rebase.test.js.map +1 -1
  32. package/lib/esm/test/imodel/IModel.test.js +31 -2
  33. package/lib/esm/test/imodel/IModel.test.js.map +1 -1
  34. package/lib/esm/test/incrementalSchemaLocater/ECSqlQueries.test.js +432 -198
  35. package/lib/esm/test/incrementalSchemaLocater/ECSqlQueries.test.js.map +1 -1
  36. package/lib/esm/test/incrementalSchemaLocater/IncrementalLoading.test.js +272 -190
  37. package/lib/esm/test/incrementalSchemaLocater/IncrementalLoading.test.js.map +1 -1
  38. package/lib/esm/test/incrementalSchemaLocater/TestContext.d.ts +27 -0
  39. package/lib/esm/test/incrementalSchemaLocater/TestContext.d.ts.map +1 -0
  40. package/lib/esm/test/incrementalSchemaLocater/TestContext.js +136 -0
  41. package/lib/esm/test/incrementalSchemaLocater/TestContext.js.map +1 -0
  42. package/lib/esm/test/standalone/ChangesetReader.test.js +222 -3
  43. package/lib/esm/test/standalone/ChangesetReader.test.js.map +1 -1
  44. package/lib/esm/test/standalone/RenderTimeline.test.js +1 -1
  45. package/lib/esm/test/standalone/RenderTimeline.test.js.map +1 -1
  46. package/lib/esm/test/standalone/StandaloneDb.test.d.ts +2 -0
  47. package/lib/esm/test/standalone/StandaloneDb.test.d.ts.map +1 -0
  48. package/lib/esm/test/standalone/StandaloneDb.test.js +103 -0
  49. package/lib/esm/test/standalone/StandaloneDb.test.js.map +1 -0
  50. package/lib/esm/test/standalone/TxnManager.test.js +43 -0
  51. package/lib/esm/test/standalone/TxnManager.test.js.map +1 -1
  52. package/package.json +13 -13
  53. package/lib/esm/test/incrementalSchemaLocater/utils/IModelSchemaLocater.d.ts +0 -11
  54. package/lib/esm/test/incrementalSchemaLocater/utils/IModelSchemaLocater.d.ts.map +0 -1
  55. package/lib/esm/test/incrementalSchemaLocater/utils/IModelSchemaLocater.js +0 -36
  56. package/lib/esm/test/incrementalSchemaLocater/utils/IModelSchemaLocater.js.map +0 -1
  57. package/lib/esm/test/incrementalSchemaLocater/utils/IncrementalTestHelper.d.ts +0 -20
  58. package/lib/esm/test/incrementalSchemaLocater/utils/IncrementalTestHelper.d.ts.map +0 -1
  59. package/lib/esm/test/incrementalSchemaLocater/utils/IncrementalTestHelper.js +0 -126
  60. package/lib/esm/test/incrementalSchemaLocater/utils/IncrementalTestHelper.js.map +0 -1
  61. package/lib/esm/test/incrementalSchemaLocater/utils/TestSqlSchemaLocater.d.ts +0 -24
  62. package/lib/esm/test/incrementalSchemaLocater/utils/TestSqlSchemaLocater.d.ts.map +0 -1
  63. package/lib/esm/test/incrementalSchemaLocater/utils/TestSqlSchemaLocater.js +0 -67
  64. package/lib/esm/test/incrementalSchemaLocater/utils/TestSqlSchemaLocater.js.map +0 -1
@@ -70,7 +70,7 @@ import { IModelTestUtils } from "../IModelTestUtils";
70
70
  import { DisableNativeAssertions } from "../TestUtils";
71
71
  import { samplePngTexture } from "../imageData";
72
72
  import { performance } from "perf_hooks";
73
- import { _hubAccess } from "../../internal/Symbols";
73
+ import { _cache, _hubAccess, _instanceKeyCache } from "../../internal/Symbols";
74
74
  import { CustomAttributeClass, ECVersion, EntityClass, PropertyType, propertyTypeToString, SchemaItemType } from "@itwin/ecschema-metadata";
75
75
  // spell-checker: disable
76
76
  async function getIModelError(promise) {
@@ -1397,7 +1397,7 @@ describe("iModel", () => {
1397
1397
  });
1398
1398
  it("should create link table relationship instances", () => {
1399
1399
  const snapshotFile2 = IModelTestUtils.prepareOutputFile("IModel", "CreateLinkTable.bim");
1400
- const testImodel = StandaloneDb.createEmpty(snapshotFile2, { rootSubject: { name: "test1" }, allowEdit: JSON.stringify({ txns: true }) });
1400
+ const testImodel = StandaloneDb.createEmpty(snapshotFile2, { rootSubject: { name: "test1" }, enableTransactions: true });
1401
1401
  const elements = testImodel.elements;
1402
1402
  // Create a new physical model
1403
1403
  const newModelId = PhysicalModel.insert(testImodel, IModel.rootSubjectId, "TestModel");
@@ -2204,6 +2204,35 @@ describe("iModel", () => {
2204
2204
  db.abandonChanges();
2205
2205
  db.close();
2206
2206
  });
2207
+ it("Only instance caches should be cleared with clearCaches instanceCachesOnly parameter", () => {
2208
+ const standaloneFile = IModelTestUtils.prepareOutputFile("IModel", "StandaloneReadWrite.bim");
2209
+ const db = StandaloneDb.createEmpty(standaloneFile, { rootSubject: { name: "Standalone" } });
2210
+ db.saveChanges();
2211
+ const code = Code.createEmpty();
2212
+ code.value = "foo";
2213
+ const props = {
2214
+ classFullName: GenericGraphicalType2d.classFullName,
2215
+ model: IModel.dictionaryId,
2216
+ code,
2217
+ };
2218
+ const id = db.elements.insertElement(props);
2219
+ db.elements.getElementProps(id);
2220
+ db.models.getModelProps(IModel.dictionaryId);
2221
+ expect(db.elements[_cache].size).to.be.greaterThan(0);
2222
+ expect(db.models[_cache].size).to.be.greaterThan(0);
2223
+ expect(db.elements[_instanceKeyCache].size).to.be.greaterThan(0);
2224
+ expect(db.models[_instanceKeyCache].size).to.be.greaterThan(0);
2225
+ db.clearCaches({ instanceCachesOnly: true });
2226
+ expect(db.elements[_cache].size).to.equal(0);
2227
+ expect(db.models[_cache].size).to.equal(0);
2228
+ expect(db.elements[_instanceKeyCache].size).to.equal(0);
2229
+ expect(db.models[_instanceKeyCache].size).to.equal(0);
2230
+ // Make sure that the statement caches are not cleared
2231
+ expect(db._sqliteStatementCache.size).to.be.greaterThan(0);
2232
+ expect(db._statementCache.size).to.be.greaterThan(0);
2233
+ db.abandonChanges();
2234
+ db.close();
2235
+ });
2207
2236
  it("Standalone iModel properties", () => {
2208
2237
  const standaloneRootSubjectName = "Standalone";
2209
2238
  const standaloneFile1 = IModelTestUtils.prepareOutputFile("IModel", "Standalone1.bim");