iTwin / imodel-transformer

API for exporting an iModel's parts and also importing them into another iModel
MIT License
3 stars 2 forks source link

Do not traverse element hierarchy during processChanges #98

Open MichaelBelousov opened 12 months ago

MichaelBelousov commented 12 months ago

The initial design of the transformer required traversing the iModel in element order to perform the processChanges function. This is no longer necessary now that elements are not deferred. There is a potential speed up in directly exporting elements that are only in the change data instead of the entire hierarchy.

MichaelBelousov commented 8 months ago

also, it is possible to do a one pass transformation if we do it in order. We would need to turn off foreign key constraints, and then add the target's starting id to each id that we move. Added elements would need to be added after the data, and removed elements would leave gaps in the id space.