- Apr 24, 2015
-
-
Konstantin Osipov authored
Provide access to iproto sync via session.sync() binding. The value is valid only at start of a Lua call before the first yield, after which it may be replaced with a sync from another request running on the same session.
-
- Feb 20, 2015
-
-
Konstantin Osipov authored
-
- Dec 17, 2014
-
-
Konstantin Osipov authored
-
- Oct 03, 2014
-
-
Alexandr authored
-
- Sep 26, 2014
-
-
Roman Tsisyk authored
Tarantool started to use getaddrinfo() to find suitable address for binding both for IPROTO and CONSOLE ports. A hostname can be resolved to various addresses families, depending on user settings. For example, all moderns systems resolve 'localhost' to '::1' by default. This creates a problem if one subsystem binds to '127.0.0.1' and some other tries to connect '::1'. This patch unify hardcoded names and addresses in entire test suite to use the same value. This is pre-requisite for #447, #368 and other URI-related patches. Other changes: * console.listen() now properly handles address arguments * console.listen() re-based on socket.tcp_server() code
-
- Aug 26, 2014
-
-
Roman Tsisyk authored
-
- Aug 04, 2014
-
-
Konstantin Osipov authored
Remove races in the test. Re-enable the test after 'console' patch. Also fix session.storage.test.lua (broken if called multiple times).
-
Roman Tsisyk authored
-
- Jul 29, 2014
-
-
Roman Tsisyk authored
-
- Jul 17, 2014
-
-
Konstantin Osipov authored
Make status() a method. Update the docs.
-
- Jul 11, 2014
-
-
Konstantin Osipov authored
Every fiber which may work with box needs to have a session, since it's stores user id and the current transaction.
-
- Jun 17, 2014
-
-
Roman Tsisyk authored
-
- Jun 02, 2014
-
-
Roman Tsisyk authored
All bultin modules can be loaded with require('modulename') instead of require('box.modulename') Other changes: * _G.box is not initialized from tarantool_lua_init() anymore * box.info, box.stat, box.snapshot moved to src/box/lua * box.coredump() => coredump() * box.xxx = require('box.xxx') removed from tests
-
- May 22, 2014
-
-
Roman Tsisyk authored
box.ipc => require('box.ipc') box.fiber => require('box.fiber') box.session => require('box.session') box.errno => require('box.errno') box.socket => require('box.socket') box.digest => require('box.digest') box.cjson => require('box.json'), require('cjson') yaml => require('box.yaml'), require('yaml') msgpack => require('box.msgpack') interactive => require('box.interactive') Closes #139
-
- Mar 11, 2014
-
-
Konstantin Osipov authored
Add new system spaces _user and _priv to store users, their passwords and their privileges. Implement an authentication request in iproto protocol Add a system space _func to store presistent information about Lua functions. A function is now a subject to ownership and privilege control. Use MySQL-style sha1-double-hashing authentication by default. Implement new Lua functions: box.session.su() box.session.uid() box.schema.user.create() box.schema.user.drop() box.schema.user.grant() box.schema.user.revoke() box.schema.func.create() box.schema.func.drop() Store space creator in space definition. What this patch doesn't implement: - privilege checks in replication - authentication of replication slaves - exhaustive test coverage
-
- Feb 27, 2014
-
-
Roman Tsisyk authored
This patch introduces backward-incompatible changes to select() and adds couple new methods: * index:select(key) -> tuple, tuple, ... was changed to index:select(key, opts = {}) -> { tuple } where opts can be - iterator = ALL if key == nil or key == {} | EQ otherwse - offset = 0 - limit = unlimited * index:get(key) -> tuple | nil | error on more than one tuple a wrapper for select() to get the single tuple * space:put(tuple) -> tuple an alias for space:replace() (to provide integrity with get()) Test suite, box.space and box.net.box API were also updated to meet changes.
-
- Jan 23, 2014
-
-
Konstantin Osipov authored
Change: box.space.name:insert() to box.space.name:insert{} box.space.name:replace() to box.space.name:replace{} box.space.name:delete() to box.space.name:delete{} box.space.name:auto_increment() to box.space.name:auto_increment{} box.space.name:select() to box.space.name:select{} box.space.name:update() now requires an explicit key and ops table. Remove ellipsis from wrappers which don't strictly need it. Remove backward-compatible next_equal/next/prev_equal/next/prev iteration functions. Cleanup hot_standby.test
-
- Jan 22, 2014
-
-
Konstantin Osipov authored
Make index type optional when creating an index.
-
- Dec 03, 2013
-
-
Konstantin Osipov authored
Use common context for lua reference and for trigger state. Wrap all calls to lua_call into a try/catch block. Introduce LuarefGuard Remove box_luactx, it's not adding any value now. Implement multiple triggers. Reuse code in lua/trigger.cc. Misc cleanups. Rename a few files.
-
Dmitry E. Oboukhov authored
on_replace triggers on struct lua_trigger. Session and space triggers use the same technology. Code cleanup.
-
- Nov 27, 2013
-
-
Eugine Blikh authored
-
- Nov 13, 2013
-
-
Roman Tsisyk authored
This commit completely changes the data format used by Tarantool. A new binary serialization format called MsgPack (http://msgpack.org) has been introduced to store tuples, keys, request members, etc. MsgPack supports various data types and hierarchical structures. Since tuple & keys format has been changed, the binary protocol is no more compatible with 1.5 clients. The list of major changes: * Add MsgPack library and unit tests as a submodule * Add Lua bindings for the library and unit tests for it * Update IPROTO to use MsgPack for all kinds of requests * Change struct tuple to use MsgPack Array instead of BER-encoded fields * Remove fixed offsets from tuples (cannot be supported by MsgPack) * Replace const char *key, key_part pairs with MsgPack Arrays * Rework comparators and indicies to support MsgPack'ed fields * Merge NUM and NUM64 types into the one single type (NUM) * Rewrite box_lua.cc functions to support MsgPack instead of BER * Rewrite tuple_update to support MsgPack instead of BER * Totaly remove varint32 functions from all modules * Rework lua_tofield and YAML encoder to properly support Lua tables * Modifie bootstrap files and system spaces to use the new format * Add MsgPack support to the test system via msgpack-python * Update tests to use proper data types and remove unneeded box.packs Tarantool 1.6 is the world's first MsgPack-based database!
-
- Sep 05, 2013
-
-
Konstantin Osipov authored
-
- Sep 04, 2013
-
-
Eugine Blikh authored
Fix session and bad_trigger test Fix output (remove garbage, fix whe interrupted by exceptions) Add list of broken tests when tests are run with "./test-run.py --force" flag (make test-force)
-
Eugine Blikh authored
-
- Sep 03, 2013
-
-
Eugine Blikh authored
-
- Jul 14, 2013
-
-
Eugine Blikh authored
-
- Jan 09, 2013
-
-
Konstantin Osipov authored
Since connect/disconnect events in iproto run outside fiber context, queue execution of on_connect/on_disconnect triggers through the request queue. Generalize the request queue for that purpose. Implement a framework for on_connect/on_disconnect triggers and Lua bindings for it. Add tests and docs.
-