- Aug 16, 2022
-
-
Дмитрий Кольцов authored
Closes #229
-
Denis Smirnov authored
The name normalization in Tarantool can be a little bit confusing because it has two different pipelines: for SQL and for YAML configuration. 1. SQL allows us to use table and column names with a rule: the name in the double quotes is processed "as is" while a name without double quotes is transformed to the upper case. Here are the examples: select * from t .. -> "T" select * from T .. -> "T" select * from "T" .. -> "T" select * from "t" .. -> "t" So, the only way to get in Tarantool a name with lowercase characters is to wrap it with double quotes. 2. YAML configuration allows us to create distributed tables with the following naming convention: the name is always processed "as is". For example: t -> "t" T -> "T"
-
- Aug 15, 2022
-
-
Дмитрий Кольцов authored
Closes #226
-
- Aug 12, 2022
-
-
Igor Kuznetsov authored
-
-
Denis Smirnov authored
As a side effect some refactoring was made to deal with code duplication in the cartridge, mock and bench engines.
-
ms.evilhat authored
-
- Aug 11, 2022
-
-
ms.evilhat authored
-
Denis Smirnov authored
-
ms.evilhat authored
-
- Aug 10, 2022
-
-
Denis Smirnov authored
-
- Aug 09, 2022
-
-
Denis Smirnov authored
-
Denis Smirnov authored
-
- Aug 05, 2022
-
-
Denis Smirnov authored
As a side effect the code of explain was refactored and simplified.
-
Denis Smirnov authored
-
- Jul 28, 2022
-
-
Denis Smirnov authored
1. When we build a configuration cache and face a table without a sharding column, simply skip this table (do not exit with error). 2. Make "space not found" error more debug firendly 3. Rename "broken test" to "ddl"
-
-
- Jul 27, 2022
-
-
Denis Smirnov authored
BREAKING CHANGE: reqiures Picodata Tarantool with a string quoting fix (e9360c989129a755b86486c7bcd6e2d21a078e22).
-
Denis Smirnov authored
We should not expose a sharding column (i.e. "bucket_id") for any parts of the join if the user doesn't mention it explicitly in projection. Otherwise we receive incorrect query results.
-
- Jul 26, 2022
-
-
Denis Smirnov authored
The error was produced by the assumption that (2, 1) > (1, 2) is equivalent to (2 > 1) and (1 > 2). That assumption was incorrect, so we don't merge AND chains for any operators other than Eq and NotEq.
-
- Jul 25, 2022
-
-
Denis Smirnov authored
BREAKING CHANGE: dispatch_query() wraps result with a tuple of a single element.
-
- Jul 22, 2022
-
-
Denis Smirnov authored
-
- Jul 21, 2022
-
-
Denis Smirnov authored
-
- Jul 20, 2022
-
-
- Jul 15, 2022
-
-
Denis Smirnov authored
-
Denis Smirnov authored
BREAKING CHANGE: now we need sbroad library on the storages as well
-
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.
-
- Jun 27, 2022
-
-
Дмитрий Кольцов authored
Closes #183
-
- Jun 21, 2022
-
-
Denis Smirnov authored
Now coordinator dispatches SQL patterns with separated parameters. It would help us to cache patterns on the segments as prepared statements one day and skip SQL parsing. Also we have faced a Tarantool bug https://github.com/tarantool/tarantool/issues/7283 and made a hot fix in the Picodata fork. As a result we have also migrated sbroad CI to our fork.
-
- Jun 14, 2022
-
-
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.
-
- Jun 02, 2022
-
-
Igor Kuznetsov authored
-
- Jun 01, 2022
-
-
Denis Smirnov authored
-
Co-authored-by:
Denis Smirnov <sd@picodata.io>
-
Denis Smirnov authored
As a side effect we lost an ability to replace already existing tuples. As a result we have detected a problem in regression tests: concurrent distributed truncate and insert commands can execute out of order on different segments. As a result we get "duplicate key" errors. To deal with it, init tables and truncate them only once: at the beginning and at the end of the test group.
-
Denis Smirnov authored
-
Denis Smirnov authored
-
Denis Smirnov authored
-
Denis Smirnov authored
-
Denis Smirnov authored
-
- Apr 27, 2022
-
-
Igor Kuznetsov authored
-