@itwin/core-backend 5.8.0-dev.1 → 5.8.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 (96) hide show
  1. package/CHANGELOG.md +36 -1
  2. package/lib/cjs/ECDb.d.ts +26 -0
  3. package/lib/cjs/ECDb.d.ts.map +1 -1
  4. package/lib/cjs/ECDb.js +53 -2
  5. package/lib/cjs/ECDb.js.map +1 -1
  6. package/lib/cjs/ECSqlRowExecutor.d.ts +66 -0
  7. package/lib/cjs/ECSqlRowExecutor.d.ts.map +1 -0
  8. package/lib/cjs/ECSqlRowExecutor.js +135 -0
  9. package/lib/cjs/ECSqlRowExecutor.js.map +1 -0
  10. package/lib/cjs/ECSqlStatement.d.ts +13 -1
  11. package/lib/cjs/ECSqlStatement.d.ts.map +1 -1
  12. package/lib/cjs/ECSqlStatement.js +30 -0
  13. package/lib/cjs/ECSqlStatement.js.map +1 -1
  14. package/lib/cjs/ECSqlSyncReader.d.ts +104 -0
  15. package/lib/cjs/ECSqlSyncReader.d.ts.map +1 -0
  16. package/lib/cjs/ECSqlSyncReader.js +191 -0
  17. package/lib/cjs/ECSqlSyncReader.js.map +1 -0
  18. package/lib/cjs/IModelDb.d.ts +26 -1
  19. package/lib/cjs/IModelDb.d.ts.map +1 -1
  20. package/lib/cjs/IModelDb.js +55 -0
  21. package/lib/cjs/IModelDb.js.map +1 -1
  22. package/lib/cjs/IpcHost.d.ts.map +1 -1
  23. package/lib/cjs/IpcHost.js.map +1 -1
  24. package/lib/cjs/LineStyle.d.ts +6 -0
  25. package/lib/cjs/LineStyle.d.ts.map +1 -1
  26. package/lib/cjs/LineStyle.js +41 -32
  27. package/lib/cjs/LineStyle.js.map +1 -1
  28. package/lib/cjs/core-backend.d.ts +1 -0
  29. package/lib/cjs/core-backend.d.ts.map +1 -1
  30. package/lib/cjs/core-backend.js +1 -0
  31. package/lib/cjs/core-backend.js.map +1 -1
  32. package/lib/cjs/internal/workspace/WorkspaceImpl.d.ts.map +1 -1
  33. package/lib/cjs/internal/workspace/WorkspaceImpl.js +10 -2
  34. package/lib/cjs/internal/workspace/WorkspaceImpl.js.map +1 -1
  35. package/lib/esm/ECDb.d.ts +26 -0
  36. package/lib/esm/ECDb.d.ts.map +1 -1
  37. package/lib/esm/ECDb.js +54 -3
  38. package/lib/esm/ECDb.js.map +1 -1
  39. package/lib/esm/ECSqlRowExecutor.d.ts +66 -0
  40. package/lib/esm/ECSqlRowExecutor.d.ts.map +1 -0
  41. package/lib/esm/ECSqlRowExecutor.js +131 -0
  42. package/lib/esm/ECSqlRowExecutor.js.map +1 -0
  43. package/lib/esm/ECSqlStatement.d.ts +13 -1
  44. package/lib/esm/ECSqlStatement.d.ts.map +1 -1
  45. package/lib/esm/ECSqlStatement.js +30 -0
  46. package/lib/esm/ECSqlStatement.js.map +1 -1
  47. package/lib/esm/ECSqlSyncReader.d.ts +104 -0
  48. package/lib/esm/ECSqlSyncReader.d.ts.map +1 -0
  49. package/lib/esm/ECSqlSyncReader.js +187 -0
  50. package/lib/esm/ECSqlSyncReader.js.map +1 -0
  51. package/lib/esm/IModelDb.d.ts +26 -1
  52. package/lib/esm/IModelDb.d.ts.map +1 -1
  53. package/lib/esm/IModelDb.js +55 -0
  54. package/lib/esm/IModelDb.js.map +1 -1
  55. package/lib/esm/IpcHost.d.ts.map +1 -1
  56. package/lib/esm/IpcHost.js.map +1 -1
  57. package/lib/esm/LineStyle.d.ts +6 -0
  58. package/lib/esm/LineStyle.d.ts.map +1 -1
  59. package/lib/esm/LineStyle.js +41 -32
  60. package/lib/esm/LineStyle.js.map +1 -1
  61. package/lib/esm/core-backend.d.ts +1 -0
  62. package/lib/esm/core-backend.d.ts.map +1 -1
  63. package/lib/esm/core-backend.js +1 -0
  64. package/lib/esm/core-backend.js.map +1 -1
  65. package/lib/esm/internal/workspace/WorkspaceImpl.d.ts.map +1 -1
  66. package/lib/esm/internal/workspace/WorkspaceImpl.js +10 -2
  67. package/lib/esm/internal/workspace/WorkspaceImpl.js.map +1 -1
  68. package/lib/esm/test/ecdb/ECSqlQuery.test.js +113 -14
  69. package/lib/esm/test/ecdb/ECSqlQuery.test.js.map +1 -1
  70. package/lib/esm/test/ecdb/ECSqlSyncReader.test.d.ts +2 -0
  71. package/lib/esm/test/ecdb/ECSqlSyncReader.test.d.ts.map +1 -0
  72. package/lib/esm/test/ecdb/ECSqlSyncReader.test.js +122 -0
  73. package/lib/esm/test/ecdb/ECSqlSyncReader.test.js.map +1 -0
  74. package/lib/esm/test/ecdb/QueryReaders.test.d.ts +2 -0
  75. package/lib/esm/test/ecdb/QueryReaders.test.d.ts.map +1 -0
  76. package/lib/esm/test/ecdb/QueryReaders.test.js +1427 -0
  77. package/lib/esm/test/ecdb/QueryReaders.test.js.map +1 -0
  78. package/lib/esm/test/ecsql/src/ECSqlTestParser.d.ts +1 -1
  79. package/lib/esm/test/ecsql/src/ECSqlTestParser.d.ts.map +1 -1
  80. package/lib/esm/test/ecsql/src/ECSqlTestParser.js +11 -5
  81. package/lib/esm/test/ecsql/src/ECSqlTestParser.js.map +1 -1
  82. package/lib/esm/test/ecsql/src/ECSqlTestRunner.test.js +178 -100
  83. package/lib/esm/test/ecsql/src/ECSqlTestRunner.test.js.map +1 -1
  84. package/lib/esm/test/standalone/StandaloneDb.test.js +51 -1
  85. package/lib/esm/test/standalone/StandaloneDb.test.js.map +1 -1
  86. package/lib/esm/test/standalone/Workspace.test.js +53 -0
  87. package/lib/esm/test/standalone/Workspace.test.js.map +1 -1
  88. package/lib/esm/test/standalone/iModelDb.test.d.ts +2 -0
  89. package/lib/esm/test/standalone/iModelDb.test.d.ts.map +1 -0
  90. package/lib/esm/test/standalone/iModelDb.test.js +35 -0
  91. package/lib/esm/test/standalone/iModelDb.test.js.map +1 -0
  92. package/package.json +14 -14
  93. package/lib/esm/test/ecdb/ECSqlReader.test.d.ts +0 -2
  94. package/lib/esm/test/ecdb/ECSqlReader.test.d.ts.map +0 -1
  95. package/lib/esm/test/ecdb/ECSqlReader.test.js +0 -669
  96. package/lib/esm/test/ecdb/ECSqlReader.test.js.map +0 -1
@@ -0,0 +1,191 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.ECSqlSyncReader = void 0;
4
+ /*---------------------------------------------------------------------------------------------
5
+ * Copyright (c) Bentley Systems, Incorporated. All rights reserved.
6
+ * See LICENSE.md in the project root for license terms and full copyright notice.
7
+ *--------------------------------------------------------------------------------------------*/
8
+ /** @packageDocumentation
9
+ * @module ECSQL
10
+ */
11
+ const core_common_1 = require("@itwin/core-common");
12
+ const core_bentley_1 = require("@itwin/core-bentley");
13
+ /**
14
+ * Execute ECSQL statements synchronously and read the results one row at a time.
15
+ *
16
+ * This is the synchronous counterpart of [[ECSqlReader]] from `@itwin/core-common`.
17
+ * It uses [[ECSqlRowExecutor]] directly — each call to [[step]] fetches exactly one row
18
+ * with no internal caching, paging, or offset tracking.
19
+ *
20
+ * The query results are returned one row at a time. The format of the row is dictated by the
21
+ * `rowFormat` specified in the `options` parameter of the constructed ECSqlSyncReader object.
22
+ * Defaults to [[QueryRowFormat.UseECSqlPropertyIndexes]] when no `rowFormat` is defined.
23
+ *
24
+ * There are three primary ways to interact with and read the results:
25
+ * - Iterate using ECSqlSyncReader as a synchronous iterator.
26
+ * - Step manually using [[ECSqlSyncReader.step]].
27
+ * - Capture all results at once using [[ECSqlSyncReader.toArray]].
28
+ *
29
+ * @note When iterating over the results, the current row is a [[QueryRowProxy]] object.
30
+ * To get the row as a basic JavaScript object, call [[QueryRowProxy.toRow]] on it.
31
+ * @beta
32
+ */
33
+ class ECSqlSyncReader extends core_common_1.ECSqlReaderBase {
34
+ _executor;
35
+ query;
36
+ _currentRow;
37
+ _options;
38
+ /** Cached native row-adaptor options — built once and reused for every row. */
39
+ _cachedRowOptions;
40
+ /**
41
+ * @internal
42
+ */
43
+ constructor(_executor, query, param, options) {
44
+ const resolvedOptions = options ?? new core_common_1.QueryOptionsBuilder().getOptions();
45
+ if (typeof resolvedOptions.rowFormat === "undefined")
46
+ resolvedOptions.rowFormat = core_common_1.QueryRowFormat.UseECSqlPropertyIndexes;
47
+ super(resolvedOptions.rowFormat);
48
+ this._executor = _executor;
49
+ this.query = query;
50
+ if (query.trim().length === 0) {
51
+ throw new core_common_1.IModelError(core_bentley_1.DbResult.BE_SQLITE_ERROR, "expecting non-empty ecsql statement");
52
+ }
53
+ this._options = resolvedOptions;
54
+ const serializedParam = param ? param.serialize() : new core_common_1.QueryBinder().serialize();
55
+ // Prepare the statement and bind parameters once — avoids per-row ensureStatementReady overhead.
56
+ const args = Object.keys(serializedParam).length > 0 ? serializedParam : undefined;
57
+ this._executor.prepareAndBind(this.query, args);
58
+ // Build and cache the native row-adaptor options — reused for every step call.
59
+ const valueFormat = this._options.rowFormat === core_common_1.QueryRowFormat.UseJsPropertyNames ? core_common_1.DbValueFormat.JsNames : core_common_1.DbValueFormat.ECSqlNames;
60
+ this._cachedRowOptions = {
61
+ abbreviateBlobs: this._options.abbreviateBlobs ?? false,
62
+ // eslint-disable-next-line @typescript-eslint/no-deprecated
63
+ classIdsToClassNames: this._options.convertClassIdsToClassNames ?? false,
64
+ useJsName: valueFormat === core_common_1.DbValueFormat.JsNames,
65
+ doNotConvertClassIdsToClassNamesWhenAliased: true,
66
+ };
67
+ this._currentRow = undefined;
68
+ }
69
+ /**
70
+ * @internal
71
+ */
72
+ getRowInternal() {
73
+ if (!this._currentRow)
74
+ throw new core_common_1.IModelError(core_bentley_1.DbResult.BE_SQLITE_ERROR, "no current row");
75
+ return this._currentRow;
76
+ }
77
+ /**
78
+ * Reads a single row from the executor. Returns the row data or `undefined` when the
79
+ * result set is exhausted.
80
+ *
81
+ * Uses the fast-path `stepNextRow` method on the executor, which calls `stmt.step()`
82
+ * and `stmt.toRow()` directly — no intermediate request/response objects are allocated per row.
83
+ * @internal
84
+ */
85
+ readRow() {
86
+ if (this._done) {
87
+ return undefined;
88
+ }
89
+ // Fetch metadata once on the first call.
90
+ if (this._props.length === 0) {
91
+ this._props = new core_common_1.PropertyMetaDataMap(this._executor.fetchMetadata(this._cachedRowOptions));
92
+ }
93
+ return this.stepWithRetry();
94
+ }
95
+ /**
96
+ * Steps the cursor with retry logic for transient busy/interrupt conditions.
97
+ * Returns the row data array, or `undefined` when the result set is exhausted.
98
+ * @internal
99
+ */
100
+ stepWithRetry() {
101
+ const result = this._executor.stepNextRow(this._cachedRowOptions);
102
+ if (result) {
103
+ ECSqlSyncReader.replaceBase64WithUint8Array(result);
104
+ return result;
105
+ }
106
+ return undefined; // undefined (done) → undefined
107
+ }
108
+ /**
109
+ * Get the metadata for each column in the query result.
110
+ *
111
+ * If metadata has not been retrieved yet, fetches it directly from the prepared
112
+ * statement. If a step has not yet occurred, executes a single step to ensure
113
+ * the statement cursor is positioned, preserving the row for the next [[step]] call.
114
+ *
115
+ * @returns An array of [[QueryPropertyMetaData]].
116
+ * @beta
117
+ */
118
+ getMetaData() {
119
+ if (this._props.length === 0) {
120
+ this._props = new core_common_1.PropertyMetaDataMap(this._executor.fetchMetadata(this._cachedRowOptions));
121
+ }
122
+ return this._props.properties;
123
+ }
124
+ /**
125
+ * Step to the next row of the query result.
126
+ *
127
+ * Each call executes exactly one step on the underlying statement — there is no
128
+ * internal row caching or offset tracking.
129
+ *
130
+ * @returns `true` if a row can be read from `current`.<br/>
131
+ * `false` if there are no more rows; i.e., all rows have been stepped through already.
132
+ * @beta
133
+ */
134
+ step() {
135
+ if (this._done) {
136
+ return false;
137
+ }
138
+ this._currentRow = this.readRow();
139
+ if (!this._currentRow) {
140
+ this._done = true;
141
+ return false;
142
+ }
143
+ return true;
144
+ }
145
+ /**
146
+ * Get all remaining rows from the query result.
147
+ *
148
+ * @returns An array of all remaining rows from the query result.
149
+ * @beta
150
+ */
151
+ toArray() {
152
+ const rows = [];
153
+ while (this.step()) {
154
+ rows.push(this.formatCurrentRow());
155
+ }
156
+ return rows;
157
+ }
158
+ /**
159
+ * Accessor for using ECSqlSyncReader as a synchronous iterator.
160
+ *
161
+ * @returns A synchronous iterator over the rows returned by the executed ECSQL query.
162
+ * @beta
163
+ */
164
+ [Symbol.iterator]() {
165
+ return this;
166
+ }
167
+ /**
168
+ * Calls step when called as an iterator.
169
+ *
170
+ * Returns the row alongside a `done` boolean to indicate if there are any more rows for an iterator to step to.
171
+ *
172
+ * @returns An object with the keys: `value` which contains the row and `done` which contains a boolean.
173
+ * @beta
174
+ */
175
+ next() {
176
+ if (this.step()) {
177
+ return {
178
+ done: false,
179
+ value: this.current,
180
+ };
181
+ }
182
+ else {
183
+ return {
184
+ done: true,
185
+ value: this.current,
186
+ };
187
+ }
188
+ }
189
+ }
190
+ exports.ECSqlSyncReader = ECSqlSyncReader;
191
+ //# sourceMappingURL=ECSqlSyncReader.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ECSqlSyncReader.js","sourceRoot":"","sources":["../../src/ECSqlSyncReader.ts"],"names":[],"mappings":"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","sourcesContent":["/*---------------------------------------------------------------------------------------------\r\n* Copyright (c) Bentley Systems, Incorporated. All rights reserved.\r\n* See LICENSE.md in the project root for license terms and full copyright notice.\r\n*--------------------------------------------------------------------------------------------*/\r\n/** @packageDocumentation\r\n * @module ECSQL\r\n */\r\nimport {\r\n DbValueFormat,\r\n ECSqlReaderBase,\r\n IModelError,\r\n PropertyMetaDataMap, QueryBinder, QueryOptions, QueryOptionsBuilder, QueryPropertyMetaData, QueryRowFormat, QueryRowProxy,\r\n} from \"@itwin/core-common\";\r\nimport { ECSqlRowExecutor } from \"./ECSqlRowExecutor\";\r\nimport { DbResult } from \"@itwin/core-bentley\";\r\n\r\n/** @beta */\r\nexport type SynchronousQueryOptions = Omit<QueryOptions, \"suppressLogErrors\" | \"includeMetaData\" | \"limit\" | \"priority\" | \"restartToken\" | \"delay\" | \"usePrimaryConn\" | \"quota\">;\r\n\r\n/**\r\n * Execute ECSQL statements synchronously and read the results one row at a time.\r\n *\r\n * This is the synchronous counterpart of [[ECSqlReader]] from `@itwin/core-common`.\r\n * It uses [[ECSqlRowExecutor]] directly — each call to [[step]] fetches exactly one row\r\n * with no internal caching, paging, or offset tracking.\r\n *\r\n * The query results are returned one row at a time. The format of the row is dictated by the\r\n * `rowFormat` specified in the `options` parameter of the constructed ECSqlSyncReader object.\r\n * Defaults to [[QueryRowFormat.UseECSqlPropertyIndexes]] when no `rowFormat` is defined.\r\n *\r\n * There are three primary ways to interact with and read the results:\r\n * - Iterate using ECSqlSyncReader as a synchronous iterator.\r\n * - Step manually using [[ECSqlSyncReader.step]].\r\n * - Capture all results at once using [[ECSqlSyncReader.toArray]].\r\n *\r\n * @note When iterating over the results, the current row is a [[QueryRowProxy]] object.\r\n * To get the row as a basic JavaScript object, call [[QueryRowProxy.toRow]] on it.\r\n * @beta\r\n */\r\nexport class ECSqlSyncReader extends ECSqlReaderBase implements IterableIterator<QueryRowProxy> {\r\n private _currentRow: any;\r\n private _options: SynchronousQueryOptions;\r\n /** Cached native row-adaptor options — built once and reused for every row. */\r\n private _cachedRowOptions: any;\r\n\r\n /**\r\n * @internal\r\n */\r\n public constructor(private _executor: ECSqlRowExecutor, public readonly query: string, param?: QueryBinder, options?: SynchronousQueryOptions) {\r\n const resolvedOptions = options ?? new QueryOptionsBuilder().getOptions();\r\n if (typeof resolvedOptions.rowFormat === \"undefined\")\r\n resolvedOptions.rowFormat = QueryRowFormat.UseECSqlPropertyIndexes;\r\n\r\n super(resolvedOptions.rowFormat);\r\n\r\n if (query.trim().length === 0) {\r\n throw new IModelError(DbResult.BE_SQLITE_ERROR, \"expecting non-empty ecsql statement\");\r\n }\r\n\r\n this._options = resolvedOptions;\r\n const serializedParam = param ? param.serialize() : new QueryBinder().serialize();\r\n\r\n // Prepare the statement and bind parameters once — avoids per-row ensureStatementReady overhead.\r\n const args = Object.keys(serializedParam).length > 0 ? serializedParam : undefined;\r\n this._executor.prepareAndBind(this.query, args);\r\n\r\n // Build and cache the native row-adaptor options — reused for every step call.\r\n const valueFormat = this._options.rowFormat === QueryRowFormat.UseJsPropertyNames ? DbValueFormat.JsNames : DbValueFormat.ECSqlNames;\r\n this._cachedRowOptions = {\r\n abbreviateBlobs: this._options.abbreviateBlobs ?? false,\r\n // eslint-disable-next-line @typescript-eslint/no-deprecated\r\n classIdsToClassNames: this._options.convertClassIdsToClassNames ?? false,\r\n useJsName: valueFormat === DbValueFormat.JsNames,\r\n doNotConvertClassIdsToClassNamesWhenAliased: true,\r\n };\r\n this._currentRow = undefined;\r\n }\r\n\r\n /**\r\n * @internal\r\n */\r\n protected override getRowInternal(): any[] {\r\n if (!this._currentRow)\r\n throw new IModelError(DbResult.BE_SQLITE_ERROR, \"no current row\");\r\n return this._currentRow as any[];\r\n }\r\n\r\n /**\r\n * Reads a single row from the executor. Returns the row data or `undefined` when the\r\n * result set is exhausted.\r\n *\r\n * Uses the fast-path `stepNextRow` method on the executor, which calls `stmt.step()`\r\n * and `stmt.toRow()` directly — no intermediate request/response objects are allocated per row.\r\n * @internal\r\n */\r\n private readRow(): any {\r\n if (this._done) {\r\n return undefined;\r\n }\r\n\r\n // Fetch metadata once on the first call.\r\n if (this._props.length === 0) {\r\n this._props = new PropertyMetaDataMap(this._executor.fetchMetadata(this._cachedRowOptions));\r\n }\r\n\r\n return this.stepWithRetry();\r\n }\r\n\r\n /**\r\n * Steps the cursor with retry logic for transient busy/interrupt conditions.\r\n * Returns the row data array, or `undefined` when the result set is exhausted.\r\n * @internal\r\n */\r\n private stepWithRetry(): any {\r\n const result = this._executor.stepNextRow(this._cachedRowOptions);\r\n if (result) {\r\n ECSqlSyncReader.replaceBase64WithUint8Array(result);\r\n return result;\r\n }\r\n return undefined; // undefined (done) → undefined\r\n }\r\n\r\n /**\r\n * Get the metadata for each column in the query result.\r\n *\r\n * If metadata has not been retrieved yet, fetches it directly from the prepared\r\n * statement. If a step has not yet occurred, executes a single step to ensure\r\n * the statement cursor is positioned, preserving the row for the next [[step]] call.\r\n *\r\n * @returns An array of [[QueryPropertyMetaData]].\r\n * @beta\r\n */\r\n public getMetaData(): QueryPropertyMetaData[] {\r\n if (this._props.length === 0) {\r\n this._props = new PropertyMetaDataMap(this._executor.fetchMetadata(this._cachedRowOptions));\r\n }\r\n return this._props.properties;\r\n }\r\n\r\n /**\r\n * Step to the next row of the query result.\r\n *\r\n * Each call executes exactly one step on the underlying statement — there is no\r\n * internal row caching or offset tracking.\r\n *\r\n * @returns `true` if a row can be read from `current`.<br/>\r\n * `false` if there are no more rows; i.e., all rows have been stepped through already.\r\n * @beta\r\n */\r\n public step(): boolean {\r\n if (this._done) {\r\n return false;\r\n }\r\n this._currentRow = this.readRow();\r\n if (!this._currentRow) {\r\n this._done = true;\r\n return false;\r\n }\r\n return true;\r\n }\r\n\r\n /**\r\n * Get all remaining rows from the query result.\r\n *\r\n * @returns An array of all remaining rows from the query result.\r\n * @beta\r\n */\r\n public toArray(): any[] {\r\n const rows = [];\r\n while (this.step()) {\r\n rows.push(this.formatCurrentRow());\r\n }\r\n return rows;\r\n }\r\n\r\n /**\r\n * Accessor for using ECSqlSyncReader as a synchronous iterator.\r\n *\r\n * @returns A synchronous iterator over the rows returned by the executed ECSQL query.\r\n * @beta\r\n */\r\n public [Symbol.iterator](): IterableIterator<QueryRowProxy> {\r\n return this;\r\n }\r\n\r\n /**\r\n * Calls step when called as an iterator.\r\n *\r\n * Returns the row alongside a `done` boolean to indicate if there are any more rows for an iterator to step to.\r\n *\r\n * @returns An object with the keys: `value` which contains the row and `done` which contains a boolean.\r\n * @beta\r\n */\r\n public next(): IteratorResult<QueryRowProxy, any> {\r\n if (this.step()) {\r\n return {\r\n done: false,\r\n value: this.current,\r\n };\r\n } else {\r\n return {\r\n done: true,\r\n value: this.current,\r\n };\r\n }\r\n }\r\n}\r\n"]}
@@ -3,7 +3,7 @@
3
3
  */
4
4
  import { IModelJsNative } from "@bentley/imodeljs-native";
5
5
  import { AccessToken, BeEvent, BentleyStatus, DbResult, GuidString, Id64Arg, Id64Array, Id64Set, Id64String, IModelStatus, LRUMap, OpenMode } from "@itwin/core-bentley";
6
- import { AxisAlignedBox3d, BRepGeometryCreate, BriefcaseId, ChangesetHealthStats, ChangesetIdWithIndex, Code, CodeProps, CreateEmptySnapshotIModelProps, CreateEmptyStandaloneIModelProps, CreateSnapshotIModelProps, EcefLocation, ECSchemaProps, ECSqlReader, ElementAspectProps, ElementGeometryCacheOperationRequestProps, ElementGeometryCacheRequestProps, ElementGeometryCacheResponseProps, ElementGeometryRequest, ElementGraphicsRequestProps, ElementLoadProps, ElementProps, EntityMetaData, EntityProps, EntityQueryParams, FilePropertyProps, FontMap, GeoCoordinatesRequestProps, GeoCoordinatesResponseProps, GeometryContainmentRequestProps, GeometryContainmentResponseProps, IModel, IModelCoordinatesRequestProps, IModelCoordinatesResponseProps, IModelTileTreeProps, LocalFileName, MassPropertiesRequestProps, MassPropertiesResponseProps, ModelExtentsProps, ModelProps, OpenBriefcaseProps, OpenCheckpointArgs, OpenSqliteArgs, PropertyCallback, QueryBinder, QueryOptions, SaveChangesArgs, SchemaState, SnapRequestProps, SnapResponseProps, SnapshotOpenOptions, SubCategoryResultRow, TextureData, TextureLoadProps, ThumbnailProps, UpgradeOptions, ViewDefinitionProps, ViewIdString, ViewQueryParams, ViewStateLoadProps, ViewStateProps } from "@itwin/core-common";
6
+ import { AxisAlignedBox3d, BRepGeometryCreate, BriefcaseConnectionProps, BriefcaseId, ChangesetHealthStats, ChangesetIdWithIndex, Code, CodeProps, CreateEmptySnapshotIModelProps, CreateEmptyStandaloneIModelProps, CreateSnapshotIModelProps, EcefLocation, ECSchemaProps, ECSqlReader, ElementAspectProps, ElementGeometryCacheOperationRequestProps, ElementGeometryCacheRequestProps, ElementGeometryCacheResponseProps, ElementGeometryRequest, ElementGraphicsRequestProps, ElementLoadProps, ElementProps, EntityMetaData, EntityProps, EntityQueryParams, FilePropertyProps, FontMap, GeoCoordinatesRequestProps, GeoCoordinatesResponseProps, GeometryContainmentRequestProps, GeometryContainmentResponseProps, IModel, IModelCoordinatesRequestProps, IModelCoordinatesResponseProps, IModelTileTreeProps, LocalFileName, MassPropertiesRequestProps, MassPropertiesResponseProps, ModelExtentsProps, ModelProps, OpenBriefcaseProps, OpenCheckpointArgs, OpenSqliteArgs, PropertyCallback, QueryBinder, QueryOptions, SaveChangesArgs, SchemaState, SnapRequestProps, SnapResponseProps, SnapshotOpenOptions, SubCategoryResultRow, TextureData, TextureLoadProps, ThumbnailProps, UpgradeOptions, ViewDefinitionProps, ViewIdString, ViewQueryParams, ViewStateLoadProps, ViewStateProps } from "@itwin/core-common";
7
7
  import { Range3d } from "@itwin/core-geometry";
8
8
  import { PullChangesArgs, PushChangesArgs, RevertChangesArgs } from "./BriefcaseManager";
9
9
  import { ChannelControl, ChannelUpgradeOptions } from "./ChannelControl";
@@ -35,6 +35,7 @@ import { ECVersion, SchemaContext } from "@itwin/ecschema-metadata";
35
35
  import { SchemaMap } from "./Schema";
36
36
  import { ElementLRUCache, InstanceKeyLRUCache } from "./internal/ElementLRUCache";
37
37
  import { IntegrityCheckResult } from "./internal/IntegrityCheck";
38
+ import { ECSqlSyncReader, SynchronousQueryOptions } from "./ECSqlSyncReader";
38
39
  /** Options for [[IModelDb.Models.updateModel]]
39
40
  * @note To mark *only* the geometry as changed, use [[IModelDb.Models.updateGeometryGuid]] instead.
40
41
  * @public
@@ -516,9 +517,26 @@ export declare abstract class IModelDb extends IModel {
516
517
  * @param params The values to bind to the parameters (if the ECSQL has any).
517
518
  * @param config Allow to specify certain flags which control how query is executed.
518
519
  * @returns Returns an [ECSqlReader]($common) which helps iterate over the result set and also give access to metadata.
520
+ * Should be used when we donot want true step by step behaviour and want to take advantage of caching capabilities of the reader.
519
521
  * @public
520
522
  * */
521
523
  createQueryReader(ecsql: string, params?: QueryBinder, config?: QueryOptions): ECSqlReader;
524
+ /** Allow to execute query and read results along with meta data. The result are stepped one by one.
525
+ *
526
+ * See also:
527
+ * - [ECSQL Overview]($docs/learning/backend/ExecutingECSQL)
528
+ * - [Code Examples]($docs/learning/backend/ECSQLCodeExamples)
529
+ * - [ECSQL Row Format]($docs/learning/ECSQLRowFormat)
530
+ * @param ecsql The ECSQL query to execute.
531
+ * @param callback the callback to invoke on the prepared ECSqlReader
532
+ * @param params The values to bind to the parameters (if the ECSQL has any).
533
+ * @param config Allow to specify certain flags which control how query is executed.
534
+ * @returns the value returned by `callback`.
535
+ * @throws IModelError if db is not open.
536
+ * Should be used when we want true step by step behaviour from the reader without any intermediate caching involved.
537
+ * @beta
538
+ * */
539
+ withQueryReader<T>(ecsql: string, callback: (reader: ECSqlSyncReader) => T, params?: QueryBinder, config?: SynchronousQueryOptions): T;
522
540
  /**
523
541
  * Use a prepared SQL statement, potentially from the statement cache. If the requested statement doesn't exist
524
542
  * in the statement cache, a new statement is prepared. After the callback completes, the statement is reset and saved
@@ -1605,6 +1623,8 @@ export declare class BriefcaseDb extends IModelDb {
1605
1623
  */
1606
1624
  pushChanges(arg: PushChangesArgs): Promise<void>;
1607
1625
  close(options?: CloseIModelArgs): void;
1626
+ /** Convert this briefcase to a JSON representation. */
1627
+ toJSON(): BriefcaseConnectionProps;
1608
1628
  }
1609
1629
  /** A *snapshot* iModel database file that is used for archival and data transfer purposes.
1610
1630
  * @see [Snapshot iModels]($docs/learning/backend/AccessingIModels.md#snapshot-imodels)
@@ -1692,6 +1712,11 @@ export declare class StandaloneDb extends BriefcaseDb {
1692
1712
  get isStandalone(): boolean;
1693
1713
  protected get useLockServer(): boolean;
1694
1714
  static findByKey(key: string): StandaloneDb;
1715
+ /**
1716
+ * @internal
1717
+ * Called during close of the iModel. It will delete any pending txns, analyze and vacuum the iModel.
1718
+ */
1719
+ protected beforeClose(): void;
1695
1720
  static tryFindByKey(key: string): StandaloneDb | undefined;
1696
1721
  /** Create an *empty* standalone iModel.
1697
1722
  * @param filePath The file path for the iModel
@@ -1 +1 @@
1
- {"version":3,"file":"IModelDb.d.ts","sourceRoot":"","sources":["../../src/IModelDb.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"IModelDb.d.ts","sourceRoot":"","sources":["../../src/IModelDb.ts"],"names":[],"mappings":"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"}
@@ -52,7 +52,9 @@ const ecschema_metadata_1 = require("@itwin/ecschema-metadata");
52
52
  const Schema_1 = require("./Schema");
53
53
  const ElementLRUCache_1 = require("./internal/ElementLRUCache");
54
54
  const IModelIncrementalSchemaLocater_1 = require("./IModelIncrementalSchemaLocater");
55
+ const ECSqlRowExecutor_1 = require("./ECSqlRowExecutor");
55
56
  const IntegrityCheck_1 = require("./internal/IntegrityCheck");
57
+ const ECSqlSyncReader_1 = require("./ECSqlSyncReader");
56
58
  // spell:ignore fontid fontmap
57
59
  const loggerCategory = BackendLoggerCategory_1.BackendLoggerCategory.IModelDb;
58
60
  /** @internal */
@@ -514,6 +516,7 @@ class IModelDb extends core_common_1.IModel {
514
516
  * @param params The values to bind to the parameters (if the ECSQL has any).
515
517
  * @param config Allow to specify certain flags which control how query is executed.
516
518
  * @returns Returns an [ECSqlReader]($common) which helps iterate over the result set and also give access to metadata.
519
+ * Should be used when we donot want true step by step behaviour and want to take advantage of caching capabilities of the reader.
517
520
  * @public
518
521
  * */
519
522
  createQueryReader(ecsql, params, config) {
@@ -526,6 +529,42 @@ class IModelDb extends core_common_1.IModel {
526
529
  };
527
530
  return new core_common_1.ECSqlReader(executor, ecsql, params, config);
528
531
  }
532
+ /** Allow to execute query and read results along with meta data. The result are stepped one by one.
533
+ *
534
+ * See also:
535
+ * - [ECSQL Overview]($docs/learning/backend/ExecutingECSQL)
536
+ * - [Code Examples]($docs/learning/backend/ECSQLCodeExamples)
537
+ * - [ECSQL Row Format]($docs/learning/ECSQLRowFormat)
538
+ * @param ecsql The ECSQL query to execute.
539
+ * @param callback the callback to invoke on the prepared ECSqlReader
540
+ * @param params The values to bind to the parameters (if the ECSQL has any).
541
+ * @param config Allow to specify certain flags which control how query is executed.
542
+ * @returns the value returned by `callback`.
543
+ * @throws IModelError if db is not open.
544
+ * Should be used when we want true step by step behaviour from the reader without any intermediate caching involved.
545
+ * @beta
546
+ * */
547
+ withQueryReader(ecsql, callback, params, config) {
548
+ if (!this[Symbols_1._nativeDb].isOpen())
549
+ throw new core_common_1.IModelError(core_bentley_1.DbResult.BE_SQLITE_ERROR, "db not open");
550
+ const executor = new ECSqlRowExecutor_1.ECSqlRowExecutor(this);
551
+ const reader = new ECSqlSyncReader_1.ECSqlSyncReader(executor, ecsql, params, config);
552
+ const release = () => executor[Symbol.dispose]();
553
+ try {
554
+ const val = callback(reader);
555
+ if (val instanceof Promise) {
556
+ val.then(release, release);
557
+ }
558
+ else {
559
+ release();
560
+ }
561
+ return val;
562
+ }
563
+ catch (err) {
564
+ release();
565
+ throw err;
566
+ }
567
+ }
529
568
  /**
530
569
  * Use a prepared SQL statement, potentially from the statement cache. If the requested statement doesn't exist
531
570
  * in the statement cache, a new statement is prepared. After the callback completes, the statement is reset and saved
@@ -3479,6 +3518,10 @@ class BriefcaseDb extends IModelDb {
3479
3518
  super.close(options);
3480
3519
  this.onClosed.raiseEvent();
3481
3520
  }
3521
+ /** Convert this briefcase to a JSON representation. */
3522
+ toJSON() {
3523
+ return { ...super.toJSON(), briefcaseId: this.briefcaseId };
3524
+ }
3482
3525
  }
3483
3526
  exports.BriefcaseDb = BriefcaseDb;
3484
3527
  /** Used to reattach Daemon from a user's accessToken for V2 checkpoints.
@@ -3717,6 +3760,18 @@ class StandaloneDb extends BriefcaseDb {
3717
3760
  static findByKey(key) {
3718
3761
  return super.findByKey(key);
3719
3762
  }
3763
+ /**
3764
+ * @internal
3765
+ * Called during close of the iModel. It will delete any pending txns, analyze and vacuum the iModel.
3766
+ */
3767
+ beforeClose() {
3768
+ super.beforeClose();
3769
+ if (!this.isReadonly && this.txns.hasLocalChanges) {
3770
+ this.saveChanges();
3771
+ this.txns.deleteAllTxns();
3772
+ this.saveChanges();
3773
+ }
3774
+ }
3720
3775
  static tryFindByKey(key) {
3721
3776
  const db = super.tryFindByKey(key);
3722
3777
  return db?.isStandaloneDb() ? db : undefined;