Skip to content
Snippets Groups Projects
  1. Jun 27, 2017
  2. Jun 26, 2017
  3. Jun 23, 2017
  4. Jun 22, 2017
  5. Jun 21, 2017
    • Roman Tsisyk's avatar
      lua: remove unsupported tonumber64() test cases · 84e8acdb
      Roman Tsisyk authored
      Follow up 15a9af26
      84e8acdb
    • Roman Tsisyk's avatar
      lua: fix lua_tofield() for 2**64 value · 3a13be1d
      Roman Tsisyk authored
      exp2(64) <= UINT64_MAX is true due to type conversion.
      Use exp2(64) instead of UINT64_MAX (optimized out even on -O0).
      
      Fixes buggy box/indices_any_type.test.lua on x86_64
      
      Closes #2472
      3a13be1d
    • Roman Tsisyk's avatar
      lua: remove unsupported tonumber64() test cases · 15a9af26
      Roman Tsisyk authored
      ffi.new('long', x) and ffi.new('unsigned long', x) uses arbitratry
      user-defined ctypeid instead of built-in CTID_INT32 and CTID_UINT32.
      Our tonumber64() implementation is not ready for that. Remove these
      two test cases and move forward. Nobody cares.
      
      Fixes box/misc.test.lua on i386 and armhf
      
      Follow up #2459
      15a9af26
    • Roman Tsisyk's avatar
      lua: fix lua_tointeger() usage on 32-bit platforms · 90ef664e
      Roman Tsisyk authored
      lua_tointeger() is equivalent to (ptrdiff_t)lua_tonumber(L),
      which causes precision loss on 32-bit systems when you expect
      to get a proper uint32_t value. LuaJIT stores numbers as doubles,
      so lua_tointeger() makes absolutely no sense.
      
      Replace lua_tointeger() with lua_tonumber() everywhere except
      cases when result is converted to int or lua_Integer.
      
      Fixes box/indices_any_type.test.lua on i386 and armhf
      
      Closes #2459
      90ef664e
    • Vladimir Davydov's avatar
      alter: disallow truncation of system spaces · 3e1b734b
      Vladimir Davydov authored
      It is unsafe, because system spaces use triggers to keep records in sync
      with internal objects while space truncation doesn't invoke triggers.
      
      Closes #2523
      3e1b734b
    • Vladimir Davydov's avatar
      alter: initialize truncate system space lazily · 1f0b74e4
      Vladimir Davydov authored
      Currently, space.create must insert an entry into 'truncate' system
      space - if it does not, space.truncate won't work. This is incontinent,
      as it makes it impossible to create spaces by simply inserting a tuple
      into the 'space' system space via iproto API. So let's insert entries
      into truncate space lazily, on the first space truncation.
      
      Closes #2524
      1f0b74e4
    • Vladimir Davydov's avatar
      alter: proscribe space truncate in transaction · 50a4a87a
      Vladimir Davydov authored
      Space truncation is implemented as recreation of a space and all its
      indexes. On success the original space is deleted by the commit trigger,
      while on failure the new space is deleted by the rollback trigger. The
      commit/rollback triggers are always called before commit/rollback engine
      methods, which makes space truncation incompatible with transactions:
      engine commit/rollback may access a space that have already been deleted
      by commit/rollback trigger installed by space truncation, resulting in a
      crash. So let's forbid to use space.truncate from a transaction until
      triggers are made transaction-friendly.
      
      Closes #2525
      50a4a87a
  6. Jun 20, 2017
  7. Jun 19, 2017
Loading