Skip to content

feat: implement new numeric types in IR

Alexey Protsenko requested to merge issue199 into main

We migrate from the decimal crate (used decQuad from decNumber to store the numbers) to Tarantool internal types provided by the Rust module. The reason was to make IR numeric values easy serializable to the query parameters (a part of the executor refactoring).

The problem with Tarantool internal types is that the internal decNumber representation is provided by Tarantool ABI. So we always need Tarantool itself to use the types. It is ok for integration tests, but for unit tests with cargo test it is a problem. As a solution we have implemented some C mocking infrastructure to build a static library based on the Tarantool decNumber, MsgPuck and some wrappers over them both to make unit tests work.

Edited by Alexey Protsenko

Merge request reports