- Nov 17, 2023
-
-
Feodor Alexandrov authored
-
- Nov 06, 2023
-
-
Kurdakov Alexander authored
Transferred replication factor from Properties table to new Tier table Instance and Replicaset belongs to tier via new field tier in _pico_instance and _pico_replicaset New cli option init-cfg with path to configuration file in yaml format. For now contains only info about tiers.
-
- Nov 03, 2023
-
-
Feodor Alexandrov authored
-
-
-
- Nov 01, 2023
-
-
Denis Smirnov authored
BREAKING CHANGE!: - pico.trace() function was removed. Use pico.sql() for tracing; - opentelemetry tables __SBROAD_STAT and __SBROAD_QUERY were renamed into _SQL_STAT and _SQL_QUERY tables. Introduce enrypoints for extended PG protocol: - pg_bind: bind parameters to portal (IR) by descriptor; - pg_close: remove portal from the storage by descriptor; - pg_describe: get the portal metadata and type by descriptor; - pg_execute: execute portal by descriptor; - pg_parse: parse an SQL pattern into IR (reusing LRU), save IR into portal storage and return the descriptor; - pg_portals: get a list of portal descriptors visible to the current user; Co-authored-by:
Kaitmazian Maksim <m.kaitmazian@picodata.io>
-
- Oct 30, 2023
-
-
Dmitry Rodionov authored
-
- Oct 06, 2023
-
-
- Oct 02, 2023
-
-
Dmitry Rodionov authored
Before this change we were building protobuf twice with different set of features being enabled. Part of cargo build --timings output before this change: protobuf v2.28.0 3.3s 1.5s (46%) bytes protobuf v2.28.0 2.6s 0.7s (27%) bytes, with-bytes With this patch duplication is removed
-
Dmitry Rodionov authored
The problem lies in nix package which references memfd_create libc symbol which doesnt exist in older libc versions available in centos and astra. The solution is to patch nix to the state of previous version which uses raw syscall.The offending commit that broke nix for us is: https://github.com/nix-rust/nix/commit/cf15c2bb5505231bc3128ef61522336e315e2169#diff-17f9119515eead05b2e65afe0b31095ec95425112c31fe3c529a02f46528b970R56 Another instance of the problem in the wild: https://github.com/lucab/libsystemd-rs/pull/144 The patch uses nix version 26.4 while the latest one is 27 because rustyline didnt update to 27 yet and keeping two patched versions doesnt make sense. So this is our fork with the patch: https://git.picodata.io/picodata/picodata/nix/-/tree/fix-memfd-create-for-older-libc-backport-26-4 And upstream PR: https://github.com/nix-rust/nix/pull/2146 In the long run nix doesnt look like a stable option. There is no libc version compatibility policy at the moment. The way symbols are used makes them required even if we're not using them. The alternative, rustix uses weak symbols or falls back to raw syscalls: https://github.com/bytecodealliance/rustix/blob/b08519f046787b93121214622aac015b68733c8f/src/backend/libc/fs/syscalls.rs#L1631 I believe with this solution we wouldnt have had this problem in the first place. There is an open issue in rustyline with suggestion to use rustix instead of nix: https://github.com/kkawakam/rustyline/issues/733
-
- Sep 21, 2023
-
-
Dmitry Rodionov authored
This patch adds new command `picodata sql`. Arguments are the same as `picodata connect`. The idea would be to eventually replace picodata connect with this version. Simple prerequisites for testing with auth: ```lua pico.create_user("Yoda", "12341234") pico.grant_privilege("Yoda", "execute", "role", "super") ``` Super grant wont be needed in the future when access control will be tuned properly (access to system spaces, context: https://git.picodata.io/picodata/picodata/picodata/-/merge_requests/663). Then run `target/debug/picodata run` in one terminal and `target/debug/picodata sql Yoda@localhost:3301` in another one Features: - Usual lib readline goodies, backward/forward search etc. Provided by [rustyline](https://lib.rs/crates/rustyline) - Simple file based history (~/.picodata_history by default) - Displays result sets in ascii tables. Styling can be customized if needed. Here we're using [comfy-table](https://lib.rs/crates/comfy-table) library - If you type `\e` command your `$EDITOR` will be opened so you can write the query there. Once you close your editor the query will be executed (suggested by @funbringer) There are a lot of things we can add. Completion, highlighting, more special commands. Close #363
-
- Aug 18, 2023
-
-
Yaroslav Dynnikov authored
Also fix some fresh clippy warnings
-
- Aug 01, 2023
-
-
Egor Ivkov authored
-
- Jul 28, 2023
-
-
Georgy Moshkin authored
-
- Jul 21, 2023
-
-
Denis Smirnov authored
The reason of this refactoring is that we need Picodata specific API rather then the API provided by tarantool module. For example, table creation needs access to the clusterwide API for sharded and global spaces.
-
- Jul 11, 2023
-
-
Don't update blake3 version, otherwise it results in ``` Updating constant_time_eq v0.2.5 -> v0.3.0 error: package `constant_time_eq v0.3.0` cannot be built because it requires rustc 1.66.0 or newer, while the currently active rustc version is 1.65.0 ```
-
- Jul 03, 2023
-
-
- Jun 16, 2023
-
- Jun 05, 2023
-
-
This commit introduces new Lua function `pico.help()` along with description of other public functions.
-
- Jun 02, 2023
-
-
Egor Ivkov authored
-
- May 04, 2023
-
-
Denis Smirnov authored
Current commit introduces distributed SQL in picodata (we use 'sbroad' library). Now it is possible to execute cluster-wide SQL with 'pico.sql([[query]], {params})' lua method. Current limitations: 1. DDL is still not implemented in picodata, so space sharding is mocked by '_pico_space' space (we'll remove it later). 2. We still have duplicating symbols of the Tarantool module in sbroad and in picodata rlibs. 3. We need to reuse piocdata's sharding functions and handle the case when different spaces in the query have different sharding functions. Co-authored-by:
Georgy Moshkin <gmoshkin@picodata.io>
-
- Apr 24, 2023
-
-
Егор Ивков authored
-
- Apr 14, 2023
-
-
- Apr 11, 2023
-
-
Yaroslav Dynnikov authored
Bumping `tarantool-module` fixes the `fiber::csw()` performance issue that caused flaky tests in CI. Also this patch increases the `test_sigsegv_child` timeout. The test is flaky too, let's see if it helps.
-
- Apr 06, 2023
-
-
Егор Ивков authored
-
- Mar 27, 2023
-
-
Егор Ивков authored
-
- Mar 07, 2023
-
-
Дмитрий Кольцов authored
-
- Feb 03, 2023
-
-
- Feb 02, 2023
-
-
- Feb 01, 2023
-
-
Cargo used to complain: ``` error: the linking modifiers `+bundle` and `+whole-archive` are not compatible with each other when generating rlibs ```
-
-
- Jan 31, 2023
-
-
Yaroslav Dynnikov authored
1. Remove build dependency on cmake crate. It doesn't fulfill all our needs, so we run cmake directly via `std::process::command`. It also makes `build.rs` easier to understand. 2. Arrange paths variable names.
-
- Dec 27, 2022
-
-
Georgy Moshkin authored
-
Georgy Moshkin authored
lazy-static crate is deprecated and is only used in 2 places, where it can be easily replaced with something simpler.
-
It's a small library whose benefits don't overweight the drawbacks. Any additional dependency crate makes the build slower. But itertools in particular is harmful because it hides some expensive computations behind simple tempting to use functions such as `sorted_by`.
-
- Dec 08, 2022
-
-
Georgy Moshkin authored
The code inside process_topology_request_async has become too complex therefore TopologyRequest has lost its utility
-
- Dec 05, 2022
-
-
- Nov 22, 2022
-
- Nov 08, 2022
-
-
Georgy Moshkin authored
This somehow broke the build for raft-proto, until I added `feature = ["bytes"]` for protobuf.
-