- Aug 19, 2011
-
-
Konstantin Osipov authored
Remove dead code from txn_cleanup(), which would check that txn_cleanup() is not called twice: this code is from the time when we used Rename txn_abort() to txn_rollback(). Rename txn_alloc() to txn_begin(). Introduce box_out interface, used to send box results to the client. Lua uses this interface to intercept returned tuples and push as return values to Lua stack. Make iov_add/iov_dup inline, as they used to be. They are now mostly used from within callbacks. Make txn_commit()/txn_rollback() non-static as they are now used in memcached.m. Introduce memcached_get(): implementation of Memcached GET statement. Wrap memcached_get() in proper txn_begin()/txn_commit()/txn_rollback(), and handle failure of memcached_get() by rolling back the transaction. Split BOX_QUIET to two flags: BOX_GC_TXN and BOX_QUIET. BOX_QUIET had a side-effect that txn_cleanup() was done immediately, rather than by fiber_gc(). This had the side effect that txn_commit() could not be used in memcached_get(), because in memcached_get() we need both BOX_QUIET and txn_cleanup() called from fiber_gc(). Now that we have box_out interface, eliminate BOX_QUIET flag completely, and use box_out_quiet set of callbacks instead.
-
- Aug 18, 2011
-
-
Konstantin Osipov authored
Fix a bug when Tarantool exceptions were intercepted by Lua in lua_pcall(), and converted to Lua errors. Let Tarantool exceptions pass freely through Lua, by using lua_call() instead of lua_pcall(). In case of any Lua error lua_call() aborts execution of the entire process. Register lua_atpanic that converts lua errors to Tarantool exception ER_PROC_LUA. Unwinding the stack in this manner didn't work properly with libcoro 6.0, which we were using. Update libcoro library to version 6.06 to fix this problem.
-
- Aug 17, 2011
-
-
Konstantin Osipov authored
Complete the renamve of all iov functions.
-
- Aug 16, 2011
-
-
Konstantin Osipov authored
Spell check the comments. Remove unnecessary changes. Be strict about not including more than necessary. Update copyright headers. Do not put static functions after non-static: a function can become non-static in future, and it should not require moving it around in the .m file.
-
Konstantin Osipov authored
-
Konstantin Osipov authored
Rename all iov_ functions to use a common prefix. This is used in the patch which adds hides box output behind an interface, and allows results of box.process() to be returned directly into Lua.
-
- Aug 13, 2011
-
-
Konstantin Osipov authored
Fix a memory leak when remote address was allocated in etet_pool (eternal memory pool) in recovery_follow_remote (start of replication). Remove fiber->data, as redundant and confusing. fiber->f_data is sufficient for all possible needs. Fix a bug when fiber_server::data was never initialized but passed to "on_bind" callback of fiber_server (this worked since no single "on_bind" callback uses its "data" argument).
-
- Aug 09, 2011
-
-
Konstantin Shulgin authored
Conflicts: cfg/tarantool_box_cfg.c cfg/tarantool_feeder_cfg.c cfg/tarantool_feeder_cfg.h test/CMakeLists.txt
-
Konstantin Shulgin authored
Function tnt_io_sendvu was moved to tnt_io_sendv_direct. Compile flags was added. Warning was clean-uppend.
-
Konstantin Shulgin authored
Function tnt_io_sendvu was renamed to tnt_io_sendv_direct Check IOV_MAX routine in tnt_io_sendv_direct was added.
-
Dmitry Simonenko authored
* size's update
-
Dmitry Simonenko authored
* size/count types update
-
Dmitry Simonenko authored
Conflicts: connector/c/tnt_io.c
-
Dmitry Simonenko authored
-
Konstantin Shulgin authored
tnt_io_connect_do routine was updated.
-
- Aug 08, 2011
-
-
Dmitry Simonenko authored
* connection tmout signals handling
-
Dmitry Simonenko authored
-
Dmitry Simonenko authored
* tnt_set_allocator() * tnt_tuplef()
-
- Aug 04, 2011
-
-
Konstantin Shulgin authored
Function was moved to tuple implementation. Funcnion valid_tuple was renamed to tuple_length.
-
- Aug 03, 2011
-
-
Konstantin Shulgin authored
The box tuple implementation was moved to separate file. Tuple flags NEW and SEARCH was removed (unused). box_mode enum was removed (unused).
-
Dmitry Simonenko authored
-
- Aug 02, 2011
-
-
Dmitry Simonenko authored
-
- Aug 01, 2011
-
-
Dmitry Simonenko authored
-
- Jul 29, 2011
-
-
Konstantin Shulgin authored
-
Konstantin Shulgin authored
-
Konstantin Shulgin authored
libdl was added.
-
- Jul 27, 2011
-
-
Konstantin Osipov authored
CALL accepts flags and a tuple (list of fields). Add CALL support to the sql.g parser (Python testing environment). Add two new error codes: ER_PROC_LUA (an error inside Lua procedure) and ER_NO_SUCH_PROC. Since so far there is no way to create a stored procedure (one needs to rebuild Tarantool to pre-load it), this addition has little practical use.
-
- Jul 26, 2011
-
-
Konstantin Osipov authored
Add tuple print-out in yaml format, to be able to print Lua procedures output in the administrative console. Add box.process() function, the main callback into box from Lua. It takes a binary packet and passes it on to box for execution. The results of execution are added to fiber iov vector, so we can always just grab them and print out, which we do in the administrative console.
-
- Jul 25, 2011
-
-
Konstantin Osipov authored
-
Konstantin Osipov authored
Implement rudimentary Lua support in the administrative console. Remove exec module command, it's not used and we now have Lua for similar purposes. Add a first Lua module, "box", which has only one function -- "pack", and test it. 'pack' is derived from box.tbuf module in the original Lua patch. Fix a bug in box-protocol.txt, tuple format description. Add a copyright header to include/errcode.h (unrelated). Implement a prototype for Lua initialization procedure: there is a function tarantool_lua_init(), which any code, core or modules, can call. tarantool_lua_init() calls mod_lua_init() to add module-specific Lua extentions. Fix a bug in mod/CMakeLists.txt, generate_admin_c CMake target didn't exist, so admin.m wasn't re-generated correctly when admin.rl was changed.
-
- Jul 24, 2011
-
-
Konstantin Osipov authored
A pre-requisite patch for Lua stored procedures: in some cases, it would be nice to create a Lua context in connection and destroy it when a connection ends. Unfortunately, right now fiber connections are stateless: there is on fiber constructor, destructor, or non-global fiber state. Change that by introducing fiber->pool, an allocation pool in which memory lives till a fiber is destroyed or becomes a zombie. We already have fiber->pool, which life cycle is different: it is created when a fiber starts, destroyed when a fiber ends, but also is garbage-collected once in a while. Rename this pool to fiber->gc_pool, to allow using name 'fiber->pool for something else. This patch only performs a rename and does nothing else.
-
- Jul 15, 2011
-
-
Dmitry Simonenko authored
-
Dmitry Simonenko authored
-
- Jul 14, 2011
-
-
Konstantin Osipov authored
Touch the generated files at configure to avoid unnecessary rebuild. Fix out-of-source builds and tests (test/box/protocol.test was the main offender).
-
Konstantin Osipov authored
In DELETE, support flag BOX_RETURN_TUPLE. A community request from Alexandre Kalendarev. In the new DELETE (21) command, one can specify delete flags. If BOX_RETURN_TUPLE is set, return the old (deleted) tuple to the client. Update doc/box-protocol.txt to reflect the new (21) DELETE and its extended response format.
-
Konstantin Osipov authored
-
- Jul 13, 2011
-
-
Konstantin Shulgin authored
-
Konstantin Shulgin authored
-
Konstantin Shulgin authored
- token_is_identifier function was changed; - TarantoolStreamReader was updated; - admin connection in tarantool console client wax fixed.
-
Konstantin Shulgin authored
tarantool preprocessor routine was changed: - Now 'exec obj ...' command will translate to obj.execute(...); - New command 'send' and 'recv' was added. 'send obj ...' and 'recv obj ...' will translate to 'obj.send(...)' and 'obj.recv(...)' respectively; - New command modifiers 'silent' and 'verbose' was added. Verbose (silent = False) value is default. Tests - box, box_big, box_memcached, box_replication was updated.
-