Skip to content
Snippets Groups Projects
  1. Jul 15, 2022
    • Denis Smirnov's avatar
      refactoring!(c api): rename and move objects in the engine · 2e51528e
      Denis Smirnov authored
      BREAKING CHANGE: rename execute_query to dispatch_query
      
      The main reason is that we'll soon need not only a coordinator
      runtime, but also a new storage runtime as well. Current names
      can confuse us in future.
      
      Also add an ability to evaluate an arbitrary eviction funtion for
      the LRU cache (on the storage side we'll need it to flush prepared
      statements from the Tarantool cache when our LRU cache evicts the
      one).
      
      LRU cache was moved from within the cache folder into the engine.
      
      Router logic was moved to a separate file in the cartridge module.
      Verified
      2e51528e
  2. Jul 05, 2022
  3. Jul 01, 2022
  4. Jun 29, 2022
  5. Jun 27, 2022
  6. Jun 21, 2022
  7. Jun 14, 2022
    • Denis Smirnov's avatar
    • Denis Smirnov's avatar
      feat: implement new numeric types in IR · ecfd76c0
      Denis Smirnov authored
      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 mocking infrastructure to build
      a static library based on the Tarantool decNumber, MsgPuck and some
      wrappers over them both to make unit tests work.
      Verified
      ecfd76c0
  8. Jun 02, 2022
  9. Jun 01, 2022
  10. May 31, 2022
  11. May 17, 2022
    • Denis Smirnov's avatar
      fix: mock engine sharding (was implemented for cartridge only) · 3327c3bc
      Denis Smirnov authored
      After implementing cartridge sharding mock tests were mostly
      useless: we didn't see how we modify SQL according to some specific
      shard.
      
      Now (in a case of the filtered buckets when we send a query to exact
      shards) mock engine generates SQL for every shard. This behavior
      differs from the cartridge engine that groups buckets by replicasets
      first and then generated SQL for a replicaset bucket group. But the
      idea of the mock engine is to detect errors but not to implement
      actual Tarantool. So, lets make things simple and use this approach.
      Verified
      3327c3bc
  12. May 16, 2022
  13. Apr 29, 2022
  14. Apr 27, 2022
Loading