Skip to content
Snippets Groups Projects
  1. Sep 21, 2022
  2. Sep 19, 2022
  3. Sep 15, 2022
  4. Sep 09, 2022
    • Denis Smirnov's avatar
      feat: opentelemetry · fad79ec7
      Denis Smirnov authored
      Implement opentelemetry instrumentation in sbroad.
      How to test:
      
      docker run --name jaeger -d --rm -p6831:6831/udp -p6832:6832/udp \
      -p16686:16686 -p14268:14268 jaegertracing/all-in-one:latest
      
      Then run a stress test with sbroad. The results would be available
      at http://localhost:16686/
      fad79ec7
  5. Sep 08, 2022
  6. Aug 18, 2022
  7. Aug 02, 2022
  8. Jul 28, 2022
  9. Jul 05, 2022
  10. 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.
      ecfd76c0
  11. Jun 01, 2022
  12. May 31, 2022
  13. Apr 21, 2022
    • Denis Smirnov's avatar
      feat: implement LRU cache and improve its benchmarks · 8f3d2866
      Denis Smirnov authored
      At the moment all the query ASTs are cached in the engine LRU cache.
      There is not much sense in it since we don't support parameters at
      the moment, but it would be done later.
      
      To get ready for parameters we have also added parameters support
      in the grammar, but didn't implement it in the AST code.
      8f3d2866
  14. Apr 15, 2022
  15. Apr 12, 2022
  16. Apr 07, 2022
  17. Feb 07, 2022
  18. Jan 14, 2022
  19. Dec 28, 2021
  20. Dec 17, 2021
    • 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
  21. Dec 14, 2021
  22. Dec 09, 2021
  23. Nov 30, 2021
  24. Nov 29, 2021
    • Denis Smirnov's avatar
      feat: implement IR · dc83f9e7
      Denis Smirnov authored
      At the moment IR (logical plan) is far from final release. Current
      commit fixes some point on a way to the final API and full test
      coverage.
      dc83f9e7
  25. Nov 22, 2021
    • Denis Smirnov's avatar
      feat: implement relation ir · ee45da42
      Denis Smirnov authored
      1. Implement columns (with types) and tables as a part of IR.
      2. Use serde deserialization trait to build tables from YAML files.
         It would be also helpful when writing tests for arbitrary plan
         transformations.
      ee45da42
  26. Nov 19, 2021
    • Denis Smirnov's avatar
      feat: implement values for ir · c71b5c38
      Denis Smirnov authored
      To work with Calcite and Tarantool the planner needs to store values
      in the plan leaf nodes. These values should be defined with exact types.
      At the moment we need only several primitive types:
      - boolean
      - null
      - number (decimal from decnumber library)
      - string
      
      As the planner analyzes SQL, it has to work with tree-valued logic
      (3VL). At the moment we'll need only equivalence operation, so it
      was implemented for the values in a 3VL manner.
      c71b5c38
  27. Nov 01, 2021
  28. Oct 29, 2021
Loading