Skip to content
Snippets Groups Projects
  1. Jul 27, 2022
  2. Jun 21, 2022
  3. Jun 14, 2022
    • 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
  4. Jun 01, 2022
  5. Apr 07, 2022
    • Denis Smirnov's avatar
      refactoring: equality propagation · 507cfb21
      Denis Smirnov authored
      We have fixed some bugs about NULL and made equality propagation
      use the infrastructure common with the other transformations.
      
      Also, extended and refactored the tests.
      507cfb21
  6. Mar 16, 2022
    • Igor Kuznetsov's avatar
      feat: materialize motion node to virtual table · 6102a476
      Igor Kuznetsov authored
      Planner may split some query into range of sub queries, where subquery
      execution depends on results previous subquery. Then planner analyzes
      query and if it finds similar situation he appends `motion` node to plan.
      If executor finds `monion` node in execution plan, he executes
      motion sub-query and saves result to virtual table, which linker will be used.
      6102a476
  7. Feb 24, 2022
  8. Feb 16, 2022
  9. Feb 10, 2022
  10. Feb 08, 2022
  11. Feb 07, 2022
  12. Jan 31, 2022
  13. Jan 21, 2022
  14. Jan 14, 2022
  15. Dec 21, 2021
  16. Dec 20, 2021
  17. Dec 17, 2021
    • Denis Smirnov's avatar
      refactoring: move plan node into a separate structure · fe6ce553
      Denis Smirnov authored
      We need this refactoring to move all node plan methodes to the new
      Nodes structure. Otherwise we have to put a mutable lock for the
      whole plan structure rather then on the nodes list. It makes
      porblems with API refactoring otherwise.
      fe6ce553
    • Denis Smirnov's avatar
      refactoring!: remove branch-base references · bf41f276
      Denis Smirnov authored
      BREAKING CHANGE: move from branch-based references in the tuple to
      the array-based. Also add a logical ID to all relational nodes and
      keep it in all its child tuples.
      
      Now, our reference coordination system in a tuple looks like:
      - parent relational node logical ID (we don't know actual position
        in the nodes list, so use "secondary index")
      - target - i.e. a position of the reffered node in the relational
        node's children list
      - posirtion in the reffered relational child node output tuple
      bf41f276
    • Denis Smirnov's avatar
      feat: calculate tuple distribution in a separate function · 9c3fe605
      Denis Smirnov authored
      Previously distribution was calculated in the node constructor. It
      is a wrong design as the tree would be transformed multiple times
      and there is no reason to recalculate distribution on each step.
      We need distribution only on the last transformation when we insert
      Motion nodes. So, this refactoring makes tuple distribution optional
      and moves distribution logic to a separate function 'set_distribution()'.
      9c3fe605
  18. Dec 14, 2021
  19. Dec 10, 2021
  20. Dec 09, 2021
  21. Dec 08, 2021
  22. Dec 07, 2021
  23. Dec 03, 2021
  24. Dec 01, 2021
  25. Nov 30, 2021
Loading