Add NativeChangesetReader API with filtering#9140
Conversation
This reverts commit bae4da3.
There was a problem hiding this comment.
Pull request overview
Adds a new native-backed EC changeset/txn reader to core/backend and a unifier utility to merge per-table partial EC change rows into complete EC instances, with a standalone test validating openTxn() behavior against a locally-saved transaction.
Changes:
- Introduces
ECChangesetReader(openFile/openGroup/openLocalChanges/openInMemoryChanges/openTxn) implementingECNativeChangeSource. - Adds
ECNativePartialChangeUnifierplus in-memory and SQLite-backed cache implementations for merging partial instances. - Adds a standalone test exercising
openTxn()+ unification for an inserted element and updated model rows.
Reviewed changes
Copilot reviewed 2 out of 2 changed files in this pull request and generated 4 comments.
| File | Description |
|---|---|
| core/backend/src/ECChangesetReader.ts | New native changeset/txn reader + partial-change unifier + cache implementations. |
| core/backend/src/test/standalone/ECChangesetReader.test.ts | New standalone test validating openTxn() reading and unification results. |
|
@khanaffan @rschili I have added as much extensive testing as possible. But still if you fee something more can or should be tested |
|
I have taken absolutely separate code path in my new |
…oham/native-ec-reader
Co-authored-by: Copilot <copilot@github.com>
Co-authored-by: Copilot <copilot@github.com>
Co-authored-by: Copilot <copilot@github.com>
Co-authored-by: Copilot <copilot@github.com>
ChangesetReader -> SqliteChangesetReader ECChangesetreader -> ChangesetReader As per Affan's request Co-authored-by: Copilot <copilot@github.com>
…oham/native-ec-reader
Co-authored-by: Copilot <copilot@github.com>
…injs-core into soham/native-ec-reader
…oham/native-ec-reader
…oham/native-ec-reader
…injs-core into soham/native-ec-reader
imodel-native: iTwin/imodel-native#1368
In Phase 1 (this PR):