- Jun 29, 2017
-
-
Kirill Yukhin authored
This chage removes SQL's WAL support. Most of code related to it was removed. OP_Checkpoint op-code was commented, but not removed (also PRAGMA wal_mode): this might be useful in future if Tarantool's WAL is adopted there.
-
- Jun 28, 2017
-
-
khatskevich authored
* Changes to sqltester: - Change lsearch to be closer to tcl implementation: return index of first match or return -1 - Make execsql2 work with multistatements * Converted tests include cases for large (64b) integers Part of #2381
-
Vladislav Shpilevoy authored
Big numvers return from sql to lua as double or as long long depending on it's size (wheather it fit into mantisa or not) Remember, in tarantool you can create variable of type long long using LL postfix (ex: 1235453452343LL) closes #2469
-
- Jun 22, 2017
-
-
Vladislav Shpilevoy authored
Now the _truncate space is being filled lazy.
-
Vladislav Shpilevoy authored
-
Vladislav Shpilevoy authored
-
- Jun 21, 2017
-
-
Roman Tsisyk authored
Follow up 15a9af26
-
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
-
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
-
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
-
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
-
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
-
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
-
- Jun 20, 2017
-
-
Vladimir Davydov authored
Closes #2531
-
Vladislav Shpilevoy authored
Part of #2507
-
Vladislav Shpilevoy authored
In order of xrow library creating, exceptions must be removed from xrow.cc, before renaming xrow.cc to xrow.c. Part of #2507
-
Roman Tsisyk authored
* Fix handling of encoded data * Remove \n added by libyaml * Add a test case Follow up #128
-
Roman Tsisyk authored
CURLOPT_POST option without explicitly set CURLOPT_POSTFIELDS caused libcurl to use some internal implementation of CURLOPT_READFUNCTION, which reads body from stdin by default. Provided test case only covers argument handling because there is no repetable way to check reads from stdin from our test suite. Closes #2530
-
Vladislav Shpilevoy authored
Multistatement queries behaviour is undefined when they are sended via IPROTO. There is no standard, what result must be returned from multistatement queries. Forbid them on a grammar level and implement special function to split multistatement queries into an array of valid single-statement queries for tests.
-
Vladislav Shpilevoy authored
-
Vladislav Shpilevoy authored
-
Ilya authored
Old variant converted tuple to Lua table and then encoded to yaml New variant encodes tuple to yaml directly. Results of benchmarking with: old: 1m27.555s new: 0m48.738s Acceleration 44% Closes #128
-
Roman Tsisyk authored
No semantic changes. Needed for #128
-
Roman Tsisyk authored
This code was added by me, it is not covered by lua-yaml copyrights and can be moved to src/. See cd0d6f25 "incorrect error handling in lyaml". Needed for #128
-
Roman Tsisyk authored
* Inline IS_PRINTABLE macros into check_utf8() * Rename yaml_check_utf8() to utf8_check() * Get rid of libyaml-private dependency for lua-yaml Needed for #128
-
Roman Tsisyk authored
libsql should be STATIC.
-
- Jun 19, 2017
-
-
Vladimir Davydov authored
In our terminology, page index is index of pages in a run while row index is index of rows in a page. Rename page index to row index where appropriate.
-
Georgy Kirichenko authored
Tarantool should not crash if one space was truncated simultaneosly from two fibers. Closes #928
-
Vladimir Davydov authored
Follow up f1862699 ("vinyl: test vylog error handling") Forgot to update it after adding a new errinj code - my fault :-(
-
alyapunov authored
Some verification spaces (q1 and q2) are not truncated before every test round and that sometimes causes wrong results. Fix it.
-
Vladislav Shpilevoy authored
Need for #944
-
Vladimir Davydov authored
Check that: - Error writing to vylog does not break vinyl permanently. - An index drop/truncate/create record that was not written to vylog due to a write error is buffered and flushed along with the next write. - A buffered index drop/truncate/create record that hasn't been flushed before restart is replayed on WAL recovery. Closes #2490
-
Georgy Kirichenko authored
-
Ilya authored
Add box.atomic(fun, arg) wrapper to execute fun(arg) in a transaction. Closes #818
-
- Jun 16, 2017
-
-
Roman Tsisyk authored
Closes #2522
-
Veniamin Gvozdikov authored
* Add string.hex() method * Add hmac.*_hex to crypto.lua * Update crypto/digest to use string.hex() Closes #2510
-
Vladimir Davydov authored
Replace the following index.info fields memory_used # size of statements in memory size # size of statements on disk count # number of statements on disk and in memory page_count # number of pages on disk with memory rows # number of statements in memory bytes # size of statements in memory disk rows # number of statements on disk bytes # size of statements on disk (unpacked) bytes_compressed # size of statements on disk (packed) pages # number of pages on disk rows # total number of all statements bytes # total size of all statements To achieve that, this patch introduces new classes that can be used for accounting statements on disk and in memory, vy_stmt_disk_counter and vy_stmt_counter, and makes vy_slice, vy_run, vy_range, and vy_index use them instead of counting rows, bytes, and pages directly. The difference between the two classes is that vy_stmt_counter only accounts rows and bytes, while vy_stmt_disk_counter also includes bytes_compressed and pages. The classes will be reused for accounting reads and writes later. Needed for #1662
-
Vladimir Davydov authored
- Delete unused vy_page_info->min_key_offset. - Move vy_run_info->{size,keys,page_infos} to vy_run, because they are not a part of run info stored in .index file. - Rename vy_run->page_infos to page_info. - Rename vy_page_info->count, vy_run->keys, and vy_slice->keys to row_count. - Update comments.
-
Vladimir Davydov authored
It's no use having a separate method for every kind of integer we want to append to box info - int64_t should suit everyone.
-
Roman Tsisyk authored
Initialize a counter in box.space._truncate() implicitly on CREATE TABLE. See 353bcdc5 "Rework space truncation" for details about TRUNCATE re-design.
-