Skip to content
Snippets Groups Projects
  1. Oct 26, 2023
    • Mergen Imeev's avatar
      sql: use xregion_*() functions · e9a42b8d
      Mergen Imeev authored
      This patch replaces region_*() functions with xregion_*() functions.
      
      NO_DOC=refactoring
      NO_TEST=refactoring
      NO_CHANGELOG=refactoring
      
      (cherry picked from commit 1ba84fe3)
      e9a42b8d
  2. Mar 07, 2023
  3. Apr 25, 2022
  4. Mar 16, 2022
  5. Mar 14, 2022
  6. Dec 16, 2021
    • Mergen Imeev's avatar
      sql: introduce binding for MAP · b6a08c5c
      Mergen Imeev authored
      After this patch, MAP values can be used as bind variables. However, due
      to the current syntax for binding in Lua, the only possible way is to
      use MAP values as the named bind variable.
      
      Part of #4763
      b6a08c5c
    • Mergen Imeev's avatar
      sql: introduce binding for ARRAY · befcbd21
      Mergen Imeev authored
      After this patch, ARRAY values can be used as bind variables. However,
      due to the current syntax for binding in Lua, the only possible way is
      to use ARRAY values as the named bind variable.
      
      Part of #4762
      befcbd21
  7. Nov 11, 2021
    • Mergen Imeev's avatar
      sql: remove unused code · 2e578626
      Mergen Imeev authored
      Some of the code is no longer used after changes in the SQL built-in
      functions. This patch removes part of the unused code.
      
      Needed for #4145
      2e578626
  8. Sep 01, 2021
  9. Jul 20, 2021
  10. Jun 08, 2020
    • Vladislav Shpilevoy's avatar
      region: use aligned allocations where necessary · ea6b814e
      Vladislav Shpilevoy authored
      Region is used for temporary allocations, usually bound to a
      transaction, but not always. Keyword - temporary. It is usually
      much faster to allocate something on the region than on the heap,
      and much much faster to free the region, since it frees data in
      whole slabs. Lots of objects at once.
      
      Region is used both for byte arrays (MessagePack, strings, blobs),
      and for objects like standard types, structs. Almost always for
      allocations was used region_alloc() function, which returns a not
      aligned address. It can be anything, even not multiple of 2.
      
      That led to alignment violation for standard types and structs.
      Usually it is harmless in terms of errors, but can be slower than
      aligned access, and on some platforms may even crash. Also the
      crash can be forced using clang undefined behaviour sanitizer,
      which revealed all the not aligned accesses fixed in this patch.
      
      Part of #4609
      ea6b814e
  11. Dec 30, 2019
  12. Jul 24, 2019
    • Nikita Pettik's avatar
      sql: introduce extended range for INTEGER type · 41477ada
      Nikita Pettik authored
      This patch allows to operate on integer values in range [2^63, 2^64 - 1]
      It means that:
       - One can use literals from 9223372036854775808 to 18446744073709551615
       - One can pass values from mentioned range to bindings
       - One can insert and select values from mentioned range
      
      Support of built-in functions and operators has been introduced in
      previous patches.
      
      Closes #3810
      Part of #4015
      41477ada
  13. Jun 20, 2019
  14. Apr 26, 2019
  15. Apr 25, 2019
    • Nikita Pettik's avatar
      sql: use msgpack types instead of custom ones · 56e7b657
      Nikita Pettik authored
      This patch provides straightforward refactoring replacing enum sql_type
      with enum mp_type. Note that we use msgpack format instead of field_type
      since it is more suitable when dealing with NULLs.
      56e7b657
  16. Apr 02, 2019
    • Kirill Shcherbatov's avatar
      sql: export sql_bind structure and API · 18d4d37b
      Kirill Shcherbatov authored
      Exported sql_bind structure, sql_bind_decode, sql_bind_column
      and sql_bind routines in separate module bind.h. We need SQL
      bindings in further pathes with check constraints. Also, bind
      encapsulated in execute.c prevent us from implementation of a Lua
      part of forthcoming box.execute().
      
      Needed for #3691, #3505
      18d4d37b
Loading