You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: docs/changehistory/NextVersion.md
-66Lines changed: 0 additions & 66 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -3,74 +3,8 @@ publish: false
3
3
---
4
4
# NextVersion
5
5
6
-
<<<<<<< HEAD
7
-
=======
8
-
-[NextVersion](#nextversion)
9
-
-[@itwin/core-backend](#itwincore-backend)
10
-
-[WithQueryReader API](#withqueryreader-api)
11
-
-[Display](#display)
12
-
-[Fixes](#fixes)
13
-
14
-
## @itwin/core-backend
15
-
16
-
### WithQueryReader API
17
-
18
-
A new [withQueryReader]($docs/learning/backend/WithQueryReaderCodeExamples.md) method has been added to both [ECDb]($backend) and [IModelDb]($backend), providing true row-by-row behavior for ECSQL queries with synchronous execution. This API introduces a new [ECSqlSyncReader]($backend) through the [ECSqlRowExecutor]($backend) and supports configuration via [SynchronousQueryOptions]($backend).
19
-
20
-
**Key Features:**
21
-
22
-
-**True row-by-row streaming**: Unlike the existing async reader APIs, `withQueryReader` provides synchronous row-by-row access to query results
23
-
-**Consistent API across databases**: The same interface is available on both `ECDb` and `IModelDb` instances
24
-
-**Configurable behavior**: Support for various query options through `SynchronousQueryOptions`
25
-
26
-
**Usage Examples:**
27
-
28
-
```typescript
29
-
// ECDb usage
30
-
db.withQueryReader("SELECT ECInstanceId, UserLabel FROM bis.Element LIMIT 100", (reader) => {
"SELECT ECInstanceId, CodeValue FROM bis.Element",
40
-
(reader) => {
41
-
while (reader.step()) {
42
-
const row =reader.current;
43
-
processElement(row);
44
-
}
45
-
}
46
-
);
47
-
```
48
-
49
-
**Migration from deprecated APIs:**
50
-
51
-
This API serves as the recommended replacement for synchronous query scenarios previously handled by the deprecated `ECSqlStatement` for read-only operations:
52
-
53
-
```typescript
54
-
// Before - using deprecated ECSqlStatement
55
-
db.withPreparedStatement(query, (stmt) => {
56
-
while (stmt.step() ===DbResult.BE_SQLITE_ROW) {
57
-
const row =stmt.getRow();
58
-
processRow(row);
59
-
}
60
-
});
61
-
62
-
// Now - using withQueryReader
63
-
db.withQueryReader(query, (reader) => {
64
-
while (reader.step()) {
65
-
const row =reader.current;
66
-
processRow(row);
67
-
}
68
-
});
69
-
```
70
-
71
6
## Display
72
7
73
8
### Fixes
74
9
75
10
- Fixed reality data geometry not being reprojected correctly when the reality data is in a different CRS than the iModel.
76
-
>>>>>>> d122ee67a0 (Fix reality data not being reprojected correctly when its CRS is different than iModel (#9059))
0 commit comments