Skip to content
Snippets Groups Projects
  1. Dec 12, 2023
    • Arseniy Volynets's avatar
      feat: support union all with global tbls · 4cb04bfc
      Arseniy Volynets authored
      - add support for queries that use
      union all operator with global tables
      - for the case when global table is
      used against sharded table, the global
      table is materialized only on single
      storage, on all other storages the
      global child of union all is not
      materialized
      4cb04bfc
  2. Nov 27, 2023
  3. Nov 01, 2023
    • Denis Smirnov's avatar
      feat!: refactor opentelemetry tracing · c6961c92
      Denis Smirnov authored
      BREAKING CHANGE!: renamed __SBROAD_STAT into _sql_stat,
      __SBROAD_QIERY into _sql_query.
      
      1. _sql_stat primary key also includes the parent_span cause
         we support PG extended protocol and we need to bind same spans
         to different trees.
      2. Fix some bugs in the telemetry for queries.
      Verified
      c6961c92
  4. Oct 26, 2023
  5. Oct 25, 2023
  6. Oct 13, 2023
  7. Sep 28, 2023
  8. Sep 27, 2023
  9. Sep 25, 2023
  10. Sep 22, 2023
  11. Sep 12, 2023
    • EmirVildanov's avatar
      feat: refactor explain operator · 2c5c7fc6
      EmirVildanov authored
      2c5c7fc6
    • Arseniy Volynets's avatar
      fix: block vshard rebalancing during dql · 4a1bebf5
      Arseniy Volynets authored
      When reading from multiple storages it is
      possible that some requests will execute faster
      than the others. And it could lead to wrong
      results when vhard moved the buckets between
      nodes.
      
      For example: we execute `select * from t`
      on storage 1 and get the results. Vshard
      moves the data from storage 1 to stroage 2,
      and then we execute `select * from t` and in
      result we get the data (that moved) twice.
      
      This commit fixes it by using vshard's
      storage ref api. Now multi-node read requests
      first create the ref on each node which
      blocks vshard rebalancing. Then we call
      our stored procedure and remove the ref.
      4a1bebf5
  12. Sep 05, 2023
  13. Aug 29, 2023
  14. Aug 24, 2023
  15. Aug 23, 2023
  16. Aug 22, 2023
  17. Aug 09, 2023
    • Denis Smirnov's avatar
      feat!: implement delete operator · 652ca1dc
      Denis Smirnov authored
      BREAKING CHANGE!: local motion now means local materialization
      of results on the storage without bucket calculation. The old
      logic of "do nothing" was moved into none motion.
      
      Implement delete SQL operator. It is always executed locally as we
      delete already existing tuples and never change tuple buckets.
      We reinvent the logic of the local motion policy (see the desclamer
      in this commit) and materialize the primary keys from projection on
      the storage. Then they are removed from the space via space API in
      a single local transaction.
      Verified
      652ca1dc
  18. Jul 31, 2023
  19. Jul 28, 2023
    • Arseniy Volynets's avatar
      feat: introduce sql_vdbe_max_steps, vtable_max_rows options · b3a20a66
      Arseniy Volynets authored
      Option sql_vdbe_max_steps stops long running
      queries from blocking tx thread or queries that 
      use too much memory during local execution. 
      
      Each sql query is compiled into VDBE opcodes on storages. This
      parameter sets max number of opcodes that VDBE
      can execute.
      
      Example: `select * from t option(sql_vdbe_max_steps=1000)`
      
      Option vtable_max_rows limits the maximum number of rows in
      virtual table. This limit is checked on storages before returning
      intermediate results and on routers when receiving results from
      storages.
      
      Example: `select * from t option(vtable_max_rows=1000)`
      b3a20a66
  20. Jul 26, 2023
  21. Jul 20, 2023
  22. Jul 18, 2023
  23. Jul 13, 2023
  24. Jul 07, 2023
  25. Jul 04, 2023
  26. Jul 03, 2023
  27. Jun 30, 2023
  28. Jun 28, 2023
  29. Jun 26, 2023
    • Arseniy Volynets's avatar
      feat: support HAVING clause · 095d347b
      Arseniy Volynets authored
      * added HAVING clause. HAVING condition may contain aggregates. Any column outside aggregate function must be part of a grouping expression. 
      
      E.g: `select sum(a) from t group by b having c > 1` Above query is invalid, because `c` is not a grouping expression.
      095d347b
Loading