Skip to content
Snippets Groups Projects
  1. Aug 08, 2024
    • Arseniy Volynets's avatar
      fix: wrong sql cache byte counter · eed8f3da
      Arseniy Volynets authored
      - If you prepare and execute statement with params
      in the projection and then unprepare the
      statement, byte counter may show the wrong value
      or even overflow.
      - The problem is that when we compile sql
      statement, we set parameter type to 'any'.
      But when we execute the statement we set parameter
      type to actual type. Then we use this type in
      calculation of estimated of sql cache entry size.
      This leads to different estimated sizes of cache
      entry during prepare and during unprepare after
      statement was executed
      - Fix this by resetting type to 'any' after
      executing the statement
      
      NO_DOC=picodata internal patch
      NO_CHANGELOG=picodata internal patch
      2.11.2.148
      eed8f3da
    • Arseniy Volynets's avatar
      refactor!: add session id to prepare funcs · 41af865e
      Arseniy Volynets authored
      BREAKING CHANGE!:
      1. add session id argument to sql_prepare_ext
      2. introduce sql_unprepare_ext function.
      This function removes prepared stmt using
      given session id.
      
      In picodata SQL, we may prepare stmt in one
      session and unprepare it in some
      other session, which does not know in
      what session the statement was prepared. Now
      sql_prepare_ext returns not only statement id,
      but also a session id. This way statement can
      be unprepared from other session using
      sql_unprepare_ext.
      
      NO_DOC=picodata internal patch
      NO_CHANGELOG=picodata internal patch
      41af865e
  2. Aug 02, 2024
  3. Jul 30, 2024
  4. Jul 29, 2024
  5. Jul 26, 2024
  6. Jul 25, 2024
  7. Jul 24, 2024
  8. Jul 23, 2024
  9. Jul 19, 2024
    • Nikolay Shirokovskiy's avatar
      core: build fix for recent gcc · 6da92ae2
      Nikolay Shirokovskiy authored and Dmitry Ivanov's avatar Dmitry Ivanov committed
      ```
      /home/shiny/dev/tarantool/src/lib/core/coio_task.c:114:58:
      	error: ‘calloc’ sizes specified with ‘sizeof’ in the earlier argument
      	and not in the later argument [-Werror=calloc-transposed-args]
        114 |         struct cord *cord = (struct cord *)calloc(sizeof(struct cord), 1);
      ```
      
      NO_TEST=build fix
      NO_CHANGELOG=build fix
      NO_DOC=build fix
      6da92ae2
  10. Jul 03, 2024
  11. 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
  12. May 31, 2024
  13. 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
  14. May 17, 2024
  15. 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
  16. May 03, 2024
  17. Apr 12, 2024
  18. Apr 10, 2024
  19. Apr 02, 2024
  20. Apr 01, 2024
  21. Mar 28, 2024
  22. Mar 25, 2024
  23. Mar 21, 2024
  24. Mar 20, 2024
  25. Mar 15, 2024
Loading