Skip to content
Snippets Groups Projects
  1. Jul 17, 2024
    • Denis Smirnov's avatar
      feat: avoid schema version bump for temporary spaces · 69fd233b
      Denis Smirnov authored
      Temporary spaces, used for cluster-wide SQL data materialization,
      were causing unnecessary netbox schema version bumps, leading to
      schema downloading via netbox, excessive Lua garbage and GC blocks.
      Since these tables are for internal SQL use, we don't need to inform
      netbox clients about schema changes. We now maintain separate schema
      versions: one for netbox clients and one for the internal prepared
      statement cache.
      
      NO_DOC=picodata internal patch
      NO_CHANGELOG=picodata internal patch
      Verified
      69fd233b
  2. Jul 03, 2024
  3. Jul 01, 2024
    • Denis Smirnov's avatar
      refactor!: replace sql_prepare with sql_prepare_ext symbol · ea85a1ed
      Denis Smirnov authored
      BREAKING CHANGE!:
      1. remove sql_prepare from the export list;
      2. introduce sql_prepare_ext.
      
      The sql_prepare symbol previously included the tarantool port as
      an output parameter. However, this structure was inconvenient for
      libraries using the C API, as they primarily required just the
      statement ID. To address this issue, the sql_prepare symbol was
      replaced with the sql_prepare_ext symbol.
      
      NO_DOC=picodata internal patch
      NO_CHANGELOG=picodata internal patch
    • Denis Smirnov's avatar
      feat: share prepared statements among sessions · 65d18f29
      Denis Smirnov authored
      Previously, users with multiple connections to tarantool instance
      couldn't share prepared statements across sessions. They had to
      manually call prepare in each session before execution.
      
      This commit automates this process for the exported version of
      SQL prepared statement execution (sql_execute_prepared_ext symbol).
      Original Lua execution keeps the old behavior for backward
      compatibility.
      
      NO_DOC=picodata internal patch
      NO_CHANGELOG=picodata internal patch
      NO_TEST=picodata internal patch
      Verified
      65d18f29
    • Denis Smirnov's avatar
      refactor: reorder arguments in SQL execution functions · bfcfb978
      Denis Smirnov authored
      Previously, sql_prepare_and_execute and sql_execute_prepared
      functions didn't follow a convention to keep output parameters
      (the port to be exact) at the end of the argument list.
      
      NO_DOC=picodata internal patch
      NO_CHANGELOG=picodata internal patch
      NO_TEST=picodata internal patch
      Verified
      bfcfb978
    • Denis Smirnov's avatar
      refactor!: change exported C API for SQL · 8497cb3b
      Denis Smirnov authored
      BREAKING CHANGE!:
      1. sql_bind_list_decode - removed
      2. sql_execute_prepared_ext - new arguments
      3. sql_prepare_and_execute_ext - exported
      
      There were several reasons to refactor the API.
      1. sql_bind_list_decode (decodes message pack parameters into
         internal C bind structure) is very difficult to use without
         memory leaks (as it allocates results on fiber()->gc).
      2. sql_execute_prepared_ext missed vdbe step limit in parameters
         and used the default value.
      3. Sometimes SQL queries don't fit into prepared statement cache
         and the user still wants to execute them via a slow pass with
         full compilations from the query text. That was the reason to
         export sql_prepare_and_execute_ext symbol.
      
      NO_DOC=internal
      NO_TEST=internal
      NO_CHANGELOG=internal
      Verified
      8497cb3b
  4. May 31, 2024
  5. May 23, 2024
    • Dmitry Ivanov's avatar
      fix(sql): remove dead code from sql_trigger_begin · a021afc3
      Dmitry Ivanov authored
      NO_DOC=internal
      NO_TEST=internal
      NO_CHANGELOG=internal
      
      The following commit introduced a tautological if expression:
      
      ```gitcommit
      sql: introduce structs assembling DDL arguments during parsing (ba56b145fafaa3)
      ```
      
      Due to the changes in commit
      
      ```gitcommit
      sql: refactor memory allocation system (cb777136dd7a0c)
      ```
      
      the allocations in sql expressions became infallible, which means
      that we may safely fix static analysis warnings by dropping the
      tautological comparison altogether.
      
      Original patch by Feodor Alexandrov.
      a021afc3
  6. May 17, 2024
  7. May 15, 2024
    • Dmitry Ivanov's avatar
      fix(build): add missing headers to libsasl · 3b437079
      Dmitry Ivanov authored
      NO_DOC=internal
      NO_TEST=internal
      NO_CHANGELOG=internal
      
      This patch fixes the following problem at build time:
      
      cyrus-sasl-2.1.28/lib/saslutil.c:280:3: error: implicit declaration of function 'time' [-Wimplicit-function-declaration]
      280 |   time(&now);
          |   ^~~~
      cyrus-sasl-2.1.28/lib/saslutil.c:66:1: note: 'time' is defined in header '<time.h>'; this is probably fixable by adding '#include <time.h>'
       65 | #include "saslint.h"
      +++ |+#include <time.h>
       66 | #include <saslutil.h>
      cyrus-sasl-2.1.28/lib/saslutil.c: In function 'getranddata':
      cyrus-sasl-2.1.28/lib/saslutil.c:364:41: error: implicit declaration of function 'clock' [-Wimplicit-function-declaration]
      364 |             ret[1] ^= (unsigned short) (clock() & 0xFFFF);
          |                                         ^~~~~
      cyrus-sasl-2.1.28/lib/saslutil.c:364:41: note: 'clock' is defined in header '<time.h>'; this is probably fixable by adding '#include <time.h>'
      cyrus-sasl-2.1.28/lib/saslutil.c: In function 'get_fqhostname':
      cyrus-sasl-2.1.28/lib/saslutil.c:563:42: warning: comparison of integer expressions of different signedness: 'size_t' {aka 'long unsigned int'} and 'int' [-Wsign-compare]
      563 |         || strlen (result->ai_canonname) > namelen -1) {
          |                                          ^
      make[9]: *** [Makefile:643: saslutil.lo] Error 1
      3b437079
    • Dmitry Ivanov's avatar
      fix(build): update libldap to 2.6.7 (mostly to satisfy gcc 14) · 4b543f25
      Dmitry Ivanov authored
      NO_DOC=internal
      NO_TEST=internal
      NO_CHANGELOG=internal
      
      This patch fixes the following problem at build time:
      
      checking for regex.h... yes
      checking for library containing regfree... none required
      checking for compatible POSIX regex... no
      configure: error: broken POSIX regex!
      4b543f25
  8. May 03, 2024
  9. Apr 12, 2024
  10. Apr 10, 2024
  11. Apr 02, 2024
  12. Apr 01, 2024
  13. Mar 28, 2024
  14. Mar 25, 2024
  15. Mar 21, 2024
  16. Mar 20, 2024
  17. Mar 15, 2024
  18. Mar 14, 2024
    • Georgy Moshkin's avatar
      fix: assertion failure in DEBUG builds · c26cb742
      Georgy Moshkin authored
      NO_DOC=bug fix
      NO_TEST=bug fix
      NO_CHANGELOG=bug fix
    • godzie44's avatar
      feat: IPROTO traffic encryption · 42654e2e
      godzie44 authored
      Add new transport for IPROTO connections: ssl.
      SSL transport may be configured with (at client and server side):
      - certificate (mandatory at server side)
      - private key (mandatory at server side)
      - password for PK
      - certificate authorities (for peer certificate verification)
      - cipher list
      
      SSL transport also can be used in replication and net.box mechanisms.
      
      @TarantoolBot document
      Title: add IPROTO traffic encryption.
      
      New ssl transport allows
      creating a secure connection between two IPROTO peers.
      TLS protocol using and openssl v1.1 or later required.
      
      To configure traffic encryption, you need to set the
      special URI parameters for a particular connection.
      The parameters can be set for the following box.cfg
      options and nex.box method:
      - box.cfg.listen – on the server side.
      - box.cfg.replication–on the client side.
      - net_box_object.connect()–on the client side.
      42654e2e
  19. Mar 13, 2024
  20. Mar 07, 2024
  21. Mar 06, 2024
  22. Mar 01, 2024
  23. Feb 28, 2024
  24. Feb 22, 2024
  25. Feb 01, 2024
Loading