- May 17, 2012
-
-
Konstantin Osipov authored
Add Request object with method execute. Allocate Requests on fiber->gc_pool. Clear txn from request data. Make txn commit/rollback algorithm independent on the actual request or request data. Update valgrind suppressions with new call paths.
-
Konstantin Osipov authored
Rename a global variable, which had too common name, to avoid easy to miss bugs.
-
- May 16, 2012
-
-
Konstantin Osipov authored
Continue cherry-picking refactoring ideas from txn-refine tree. We only needed to store txn in fiber because in port_lua implementation we needed to access lua_State. Instead of keeping this indirect dependency, pass around ports explicitly. On the same token, make ports Objective C classes: this is necessary to make them stateful. In port_lua state keep a pointer to lua thread, and allocate a new port_lua instance on each lbox_process call. The port is currently allocated on fiber->gc_pool and never destroyed.
-
- May 15, 2012
-
-
Konstantin Osipov authored
-
Konstantin Osipov authored
We needed to have txn_cleanup() only because a tuple which was read in txn was used in fiber->io_vec. Decouple txn and network I/O and make sure we can commit/rollback txn whenever we like, regardless of what is given to fiber->iovec. @todo: perhaps we need to optimize performance of port cleanup for big selects.
-
Konstantin Osipov authored
Rename classes in *.rl file. Patch valgrind suppressions.
-
Konstantin Osipov authored
-
Konstantin Osipov authored
We don't use box_ prefix consistently, so don't use it at all. Remove box_ prefix from box_tuple and box_txn.
-
- May 14, 2012
-
-
Konstantin Osipov authored
-
Konstantin Osipov authored
-
Konstantin Osipov authored
Move out from box.m INSERT/UPDATE/SELECT/DELETE/CALL implementation.
-
Konstantin Osipov authored
-
Konstantin Osipov authored
-
- May 13, 2012
-
-
Konstantin Osipov authored
-
Konstantin Osipov authored
-
- May 12, 2012
-
-
Konstantin Osipov authored
Cherry-picking code from txn-refine. Remove an extra member in struct box_txn. Rename txn->tuple to txn->new_tuple.
-
Konstantin Osipov authored
-
- May 05, 2012
-
-
Konstantin Osipov authored
-
- May 04, 2012
-
-
Konstantin Osipov authored
-
- May 03, 2012
-
-
Konstantin Osipov authored
-
Konstantin Osipov authored
-
Konstantin Osipov authored
-
- May 01, 2012
-
-
Konstantin Osipov authored
-
- Apr 29, 2012
-
-
https://bugs.launchpad.net/tarantool/+bug/990728Konstantin Osipov authored
Fix bug https://bugs.launchpad.net/tarantool/+bug/990728 "box.space:truncate() is a CPU hog". The old truncate algorithm would restart iteration from the beginning to delete every tuple. With HASH index it was especially slow, since it would have to skip more and more empty slots to find a non-empty slot for deletion. Rewrite the truncate() to walk linearly over all elements and delete them. This works both with HASH and TREE indexes. On the same token make truncate multipart-index aware (was missed in multipart-pk patch). Add a test for that. To work with multipart keys efficiently, implement tuple:slice(). A slice returns a linear set of fields from a tuple. Convenient to retreive a multipart key or tuple tail. Document tuple:slice().
-
Konstantin Osipov authored
Convert box.lua to box.lua.c and compile it in. Fix broken out-of-source build of luajit, by adding a few more generated files to touch-nocreate rule.
-
Aleksey Demakov authored
-
Aleksey Demakov authored
-
Aleksey Demakov authored
-
Aleksey Demakov authored
-
- Apr 28, 2012
-
-
Konstantin Osipov authored
Replacing salloc() with malloc() found a bug triggered by multipart key patch: we don't always check for key cardinality.
-
Konstantin Osipov authored
When the slab alloc arena is fully used, and we try to truncate a space, we could crash, since a) we never check return value of salloc() b) we used to salloc() an iterator for truncate(), and it would return NULL, and we would try to access it without a check. The fix is: - to throw exceptions directly from salloc() - to not use salloc() for iterators, since we still should be able to truncate a namespace when the slab alloc arena is full.
-
- Apr 27, 2012
-
-
Konstantin Osipov authored
-
- Apr 26, 2012
-
-
Dmitry Simonenko authored
-
- Apr 25, 2012
-
-
Konstantin Osipov authored
-
- Apr 23, 2012
-
-
Konstantin Shulgin authored
'find' TreeIndex class member was fixed. Now allocate enough space for key_data.
-
- Apr 21, 2012
-
-
Konstantin Osipov authored
Spelling fixes in the error message file. Add more information to the error when key cardinality doesn't match index cardinality in exact match. Avoid server start/stop in box_big/hash.test (ugly, but until we have named/dynamic spaces, which are already in the pipeline, we should not make our test procedure slower). Rename multipart-pk.test to tree_pk_multipar.test: consistently use underscores, not dashes, in file names. (Unrelated) Recycle more error codes. Make keyValue an inline function to save a few CPU cycles. Avoid creation of an extra table in box.lua just to find out variable list array cardinality. Revert changes to box.update(): a) they break backward compatibility This reason alone should be sufficient. There must be no changes which break backward compatibility in a stable release, unless it's a fix for a crashing/security bug. box.update() changes got to be done in a separate task, and should not break backward compatibility. Leave update_ol for now, to test multi-part primary key updates, even though the function itself is quite heavy, hardly something we can recommend while running Lua procedures in production.
-
- Apr 20, 2012
-
-
Konstantin Shulgin authored
Warnings was removed. Minor coding-style cleanup.
-
- Apr 18, 2012
-
-
Aleksey Demakov authored
-
- Apr 16, 2012
-
-
Konstantin Shulgin authored
'init.lua' start-up file loading was moved from box.lua to tarantool initialization section after main modules initialization (lua, mod, admin, etc..). New tests for 'init.lua' was added.
-
Aleksey Demakov authored
-