- Mar 09, 2023
-
-
- Feb 28, 2023
-
-
Arseniy Volynets authored
- added count, sum aggregates, which can be used in queries with group by
-
- Feb 27, 2023
-
-
EmirVildanov authored
-
- Feb 20, 2023
-
-
Arseniy Volynets authored
-
- Feb 15, 2023
-
-
ms.evilhat authored
-
ms.evilhat authored
currently we mean expression with arithmetic, bool and unary operations by arbitrary expr
-
Arseniy Volynets authored
-
Arseniy Volynets authored
-
- Feb 14, 2023
-
-
Arseniy Volynets authored
-
Arseniy Volynets authored
-
Denis Smirnov authored
-
- Feb 08, 2023
-
-
ms.evilhat authored
deploy: remove shell tag from deploy-luarocks job to run commands inside sbroad-builder instead of runner shell envrironment
-
Denis Smirnov authored
-
Denis Smirnov authored
-
Denis Smirnov authored
-
Denis Smirnov authored
Distribution setter is one of the most confusing and wired parts of the code. One day I'll rewrite it in a more clear way (but not today, sorry). But here is a small refactoring to make the parent to child column mapping logic more clear in the code.
-
ms.evilhat authored
previously we suggested that operand of arithmetic expression is column. it allows use alias (a as a1 + b as b2). ofcourse operand must be value (a), while alias usage must be available for expression (a + b as sum)
-
- Feb 07, 2023
-
-
ms.evilhat authored
we need to support arbitrary expressions consisting of logical, comparison and arithmetic operations and as sub-expression of aggregates. previously we added arithmetic exprs to selection ans join. this commit supports arithmetic (and only arithmetic) as a part of projection
-
- Feb 03, 2023
-
-
Arseniy Volynets authored
-
Arseniy Volynets authored
-
- Feb 02, 2023
-
-
ms.evilhat authored
-
ms.evilhat authored
-
ms.evilhat authored
-
ms.evilhat authored
-
- Jan 31, 2023
-
-
Arseniy Volynets authored
When we gathered SQs we traversed only a subset of relational nodes in `rel_iter`, because in `rel_iter` we didn't go into children that are located in `filter` or `condition`. Now we traverse all relational nodes in the plan.
-
Arseniy Volynets authored
Now if the subplan has Buckets::All and have Segmented vtables, then we will filter vtables
-
- Jan 30, 2023
-
-
Denis Smirnov authored
-
- Jan 25, 2023
-
-
Denis Smirnov authored
We had a problem with the queries like: select * from t1 where (a, b) in (select c, d from ...) The root of the problem was that in a case of multiple references to the subquery ((a, b) in (ref_c_sq, ref_d_sq)) we tried to bind parameters multiple times that caused subtraction overflow and UB. As a fix we stop binding parameters more than once. Co-authored-by:
ms.evilhat <ms.evilhat@gmail.com>
-
- Jan 24, 2023
-
-
Denis Smirnov authored
Remove redundant transaction start from the open telemetry's spans in the code. There is no sense in it at the moment (seems like it was added while prototyping tarantool space as a storage for the per-fiber traces... but we gave this idea up and switched to the custom Rust implementation). But if we start a transaction manually and call sbroad execute() method, we end up with transaction already started error. So, remove the transaction start wrappers and make nested transactions work.
-
- Jan 23, 2023
-
-
Denis Smirnov authored
The configuration cache is a part of the executor's runtime. Previously, quech query was holding a immutable borrow of the runtime, while cache invalidation tried to get a mutable borrow (apply_config). As a result, the cache invalidation always failed to mutably borrow the runtime. Current commit fixes the issue by wrapping the configuration in a reference cell. As a result, apply_config now immutably borrows the runtime and don't fail on this step.
-
ms.evilhat authored
-
- Jan 20, 2023
-
-
Denis Smirnov authored
-
Denis Smirnov authored
-
Denis Smirnov authored
-
Denis Smirnov authored
-
Denis Smirnov authored
-
Denis Smirnov authored
-
Denis Smirnov authored
-
- Jan 19, 2023
-
-
Denis Smirnov authored
We stop using VALUES to store temporary tuple on the storages and switch to the tarantool spaces instead. This is done to avoid the problems with the auto generated column names in VALUES, parser stack and parameters limitations. Tarantool forbids to use multiple space engines in a single transaction. So for vinyl tables we have to use vinyl spaces as a tepmorary storage. For memtx tables we can use temporary memtx spaces. One more important change is that we can't insert values of different numeric types in a number column (as we don't cast them as the local SQL does).
-
- Jan 16, 2023
-
-
Denis Smirnov authored
Reduce the amount of the heap allocations (use recursion instead of the heap stack).
-