Skip to content
Snippets Groups Projects
  1. May 04, 2023
    • Denis Smirnov's avatar
      feat: add distributed SQL support · a1ed2657
      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's avatarGeorgy Moshkin <gmoshkin@picodata.io>
      Verified
      a1ed2657
  2. Apr 19, 2023
  3. Apr 14, 2023
  4. Apr 06, 2023
  5. Mar 29, 2023
  6. Mar 27, 2023
    • Denis Smirnov's avatar
      fix: supress dead code stripping in the linker on macos · 0d3abdc5
      Denis Smirnov authored and Yaroslav Dynnikov's avatar Yaroslav Dynnikov committed
      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.
      0d3abdc5
    • Denis Smirnov's avatar
      fix(build): symbol not found on macos · 43866593
      Denis Smirnov authored and Yaroslav Dynnikov's avatar Yaroslav Dynnikov committed
      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.
      43866593
  7. Feb 10, 2023
    • Yaroslav Dynnikov's avatar
      build: fix packpack · 685d676c
      Yaroslav Dynnikov authored and Alexey Protsenko's avatar Alexey Protsenko committed
      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`.
      685d676c
  8. Feb 01, 2023
  9. Jan 31, 2023
  10. Jan 27, 2023
  11. Dec 23, 2022
  12. Dec 22, 2022
  13. Nov 23, 2022
  14. Nov 08, 2022
  15. Sep 22, 2022
  16. Jul 18, 2022
  17. Jul 06, 2022
    • Yaroslav Dynnikov's avatar
      fix: eliminate git from build deps · 46b3a99f
      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.
      46b3a99f
  18. Jun 02, 2022
  19. May 30, 2022
    • Georgy Moshkin's avatar
      fix(build): fix build fail on rust 1.61 · 5157ab95
      Georgy Moshkin authored and Georgy Moshkin's avatar Georgy Moshkin committed
      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
      5157ab95
  20. Apr 29, 2022
  21. Mar 11, 2022
  22. Mar 10, 2022
  23. Mar 09, 2022
  24. Feb 21, 2022
  25. Feb 18, 2022
    • Georgy Moshkin's avatar
      build: static linking with tarantool · f77d1e5d
      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
      f77d1e5d
Loading