- 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 19, 2023
-
-
- Apr 14, 2023
-
-
-
Georgy Moshkin authored
-
- Apr 06, 2023
-
-
Егор Ивков authored
-
- Mar 29, 2023
-
-
- Mar 27, 2023
-
-
We don't want to strip unused symbols from the static libraries on the linking stage. This leads to problems with tarantool's crypto module. Some symbols ("crypto_EVP_get_digestbyname" for example) were used only by the ffi calls inside `crypto.lua` file. So the linker stripped these symbols as it was not able to find their usage in the rest of the C code. This produced SIGABRT on the picodata startup when tarantool_lua_init() initialized the crypto module.
-
An attempt to start picodata on macos returns an error: symbol not found in flat namespace '_res_9_getservers' The reason is that macos executables require libresolv.dylib to use resolv.h.
-
- Feb 10, 2023
-
-
The build process was refactored recently in b9aeab59 and it broke the packaging in a tricky way. Packpack wraps the whole build process in a Makefile which exports its own `MAKEFLAGS` environment variable: ``` MAKEFLAGS="w -j -- BUILDDIR=/build" ``` The `cmake` crate used to override it with `CARGO_MAKEFLAGS` provided by cargo. But after we've replaced it with `std::process::Command`, the `BUILDDIR` setting has made its way to the `icu` build, which suddenly clashed one of internal `make` variables and wrote there resource files. As a result, the `icu` build started to fail with the error: ``` icupkg: unable to open input file "/build/usr/src/debug/picodata-22.11.0.158/ /target/debug/build/tarantool-sys/icu-prefix/src/icu-build/ /data/out/build/icudt62l/af.res" ``` while all resources were copied directly to `/build/af.res`. This patch repeats the behavior of the `cmake` crate. It also makes logging more verbose and aligns the output. Replacing `eprintln` with `println` is necessary since `make` and `cmake` both write the logs to the `stdout`.
-
- 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
Also remove unnecessary subdir
-
Yaroslav Dynnikov authored
1. Encapsulate printing rustc flags in their own mod. 2. Arrange paths formatting.
-
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.
-
Yaroslav Dynnikov authored
Provide a supplementary `Run` trait for the `std::process::Command`.
-
Yaroslav Dynnikov authored
We haven't used rustc < 1.61 for a long time.
-
- Jan 27, 2023
-
-
Егор Ивков authored
-
- Dec 23, 2022
-
-
The commit c18fe6e6 is wrong. We've tried to disable building tests, but: 1. A space in "CMAKE_TARANTOOL_ARGS" was parsed incorrectly. 2. `tarantool-sys/static-build/CMakeFiles.txt` did ignore `-DBUILD_TESTING` option.
-
- Dec 22, 2022
-
-
- Nov 23, 2022
-
-
- Nov 08, 2022
-
-
Georgy Moshkin authored
-
- Sep 22, 2022
-
-
Yaroslav Dynnikov authored
-
- Jul 18, 2022
-
-
Georgy Moshkin authored
-
- Jul 06, 2022
-
-
Yaroslav Dynnikov authored
It's impossible to build picodata with packpack - it removes the `.git` directory from the build environment. The git is only necessary for applying tarantool patches, but `patch -p1` can be used for that instead.
-
- Jun 02, 2022
-
-
Georgy Moshkin authored
-
- May 30, 2022
-
-
since 1.61 rust has added a `whole-archive` modifier for link targets which is unset by default. Previously to this version this was probably undefined behavior, because the linking would work fine when building an executable (like picodata) but would fail with undefined symbols when building a static library. But now with the advent of this option, we can probably refactor picodata into a library which can be useful for testing, i.e. we can exclude testing stuff from the binary but still have a test binary with all the necessary runtime symbols. Closes #81
-
- Apr 29, 2022
-
-
Yaroslav Dynnikov authored
-
- Mar 11, 2022
-
-
Georgy Moshkin authored
-
Georgy Moshkin authored
-
- Mar 10, 2022
-
-
Georgy Moshkin authored
- don't patch if tarantool-sys/patch-applied exists - use a single build directory for `cargo build` & `cargo check`
-
- Mar 09, 2022
-
-
Georgy Moshkin authored
-
- Feb 21, 2022
-
-
Sergey V authored
-
- Feb 18, 2022
-
-
Georgy Moshkin authored
+ tarantool-sys submodule + tarantool-patches directory + build.rs build script to patch and build tarantool + static linking with tarantool + refactoring for cli arguments
-