Commit Graph

2298 Commits

Author SHA1 Message Date
7229d60d03 EVALSHA implemented 2011-05-25 12:32:49 +02:00
82c6b8257a Now it is possible to return multi bulks of multi bulks from Lua, just returning tables of tables. The new conversion of the Null bulk and multi bulk type is the Lua false type. 2011-05-25 12:32:49 +02:00
da386cdf33 for performance reasons only set the debug hook if the time limit is enabled. 2011-05-25 12:32:49 +02:00
87c219243c Lua max exec time fixes: redisLog() to log the event moved before the lua_error() call that does a long jump so never returns. Aesthetic fixes in error message. 2011-05-25 12:32:49 +02:00
bcc72bc381 call the Lua hook with minor frequency. It is already enough to call it every 100000 istructions for near millisecond precision. 2011-05-25 12:32:48 +02:00
eeffcf380f Lua scripts max execution time 2011-05-25 12:32:48 +02:00
8c3402dffa Lua memory usage in INFO 2011-05-25 12:32:48 +02:00
40531be0e3 call lua_gc() for incremental garbage collection. Likely there is to tune this at some point. 2011-05-25 12:32:48 +02:00
c2a7dd85ae Lua scripting: Honor SELECT command in both ways 2011-05-25 12:32:47 +02:00
09ab5591fa Fixed a problem in the script engine that crashed the server if the reply was not stored just int the static buffer of the client structure. 2011-05-25 12:32:47 +02:00
0d916763af Status replies converted in a special way like errors in the Lua <-> Redis conversion code. 2011-05-25 12:32:47 +02:00
e8092bf601 Scripting doc updated 2011-05-25 12:32:47 +02:00
497fc8775f Eval command table fixed to return the keys arguments of the command. We use zunionInterGetKeys() as it ZUNION/ZINTER have exactly the same semantic with a prefixed number of keys followed by key names. 2011-05-25 12:32:47 +02:00
171ef6813d TODO updated 2011-05-25 12:32:46 +02:00
379789cc52 Fixed nul bulk parsing in Redis protocol to Lua type convertion. Check for bad Lua types as arguements of the redis() Lua command. 2011-05-25 12:32:46 +02:00
67e829dce5 Scripting todo list updated 2011-05-25 12:32:46 +02:00
10a6da7af4 Multi bulk to Lua table now working 2011-05-25 12:32:46 +02:00
3791000f15 Fixed arity detection of Redis command executed from Lua script. Error reporting from Lua fixed. More work on the Redis reply to lua conversion code. 2011-05-25 12:32:45 +02:00
532e0f5ded full conversion from Lua return value to redis reply. Partial conversion from Redis reply to Lua type. 2011-05-25 12:32:45 +02:00
4ae5b5e163 pupulate the Lua global tables KEYS and ARGV before executing the script 2011-05-25 12:32:45 +02:00
00b7541b21 function to access to Redis command from Lua renamed from r() to redis() 2011-05-25 12:32:45 +02:00
7b72272790 when creating not connected clients do not add them into the clients list, otherwise they will be subject to timeouts and other stuff 2011-05-25 12:32:44 +02:00
7156f43c04 Correctly glue the reply buffer. For now returned as it is to Lua, but will be converted into Lua native type later. 2011-05-25 12:32:44 +02:00
0f1d64ca57 Lua call of Redis command work in progress: sorry I have to go to the cinema to watch the Source Code movie 2011-05-25 12:32:44 +02:00
7585836e6e Lua function creation on EVAL, basic Lua return type to Redis protocol convertion done. 2011-05-25 12:32:43 +02:00
21d3294c70 makefile adapted to link against lua lib and to pass the 32bit flag to Lua building system 2011-05-25 12:32:43 +02:00
efc3408748 Fix for Pub/Sub system, introduced in Redis 2.2.6 with the new copy-on-write safe iterator semantics. In the hope this is the last bug I introduced this way. 2011-05-25 12:32:15 +02:00
d200342ac2 Fixed typo in comment 2011-05-24 10:35:58 +02:00
890a2ed989 Configurable synchronous I/O timeout 2011-05-22 12:58:18 +02:00
b075621fb7 Minor changes in non-blocking repl. connect 2011-05-22 12:51:09 +02:00
a330913999 Non-blocking connect with master 2011-05-19 18:54:57 +02:00
521ddcce14 Fix for ZUNIONSTORE bug when there is an empty set among input sets. Regression test added. 2011-05-19 17:58:52 +02:00
330c90b018 fmacros in utils.c to avoid warning about strcasecmp() 2011-05-16 17:20:27 +02:00
cb16b6c389 Fixed misuse of the new iterator semantics in ZUNIONSTORE 2011-05-15 17:28:06 +02:00
d070abe44c Fix for a possible bug related to ZINTER/UNIONSTORE called with the same source set more than one time. 2011-05-15 15:33:01 +02:00
dd1eefa4f3 Fixed SINTER[STORE] problem related to the new copy on write safe iterator 2011-05-15 12:18:00 +02:00
041d8e2a5c Fix up rdbWriteRaw to return number of bytes written 2011-05-14 12:47:42 +02:00
7271198cf0 Use rio.h functions in aof.c 2011-05-14 12:36:22 +02:00
fd535c5862 More rioRead() 2011-05-14 12:32:50 +02:00
221782ccc6 Move rdbLoad* to top; update comments 2011-05-13 23:24:19 +02:00
f1d8e4968e Make RDB types/opcodes explicit; load/save object type 2011-05-13 22:14:39 +02:00
2e4b0e7727 Abstract file/buffer I/O to support in-memory serialization 2011-05-13 17:31:00 +02:00
defb5f66a0 removed assert causing an illegal memory access. This was responsible of crashes during BLPOP and other list blocking operations. 2011-05-11 09:50:57 +02:00
6b52ad87c0 RDB version signature bumped to 2, now that direct saving of specially encoded types is implemented 2.2 instances are no longer able to read rdb files produced by 2.4 or unstable. 2011-05-10 11:31:37 +02:00
4b53e7365c Introduced a safe iterator interface that can be used to iterate while accessing the dictionary at the same time. Now the default interface is consireded unsafe and should be used only with dictNext() 2011-05-10 10:15:50 +02:00
f13cb0d9de DEBUG DIGEST additional lookup needed for VM removed from unstable branch that does not have VM at all 2011-05-10 10:08:01 +02:00
6901fe7729 Useless statement removed 2011-05-10 10:07:04 +02:00
df541beae3 when Redis fails accepting a new connection reports the error at WARNING and not VERBOSE error level. Thanks to offby1 for proposing this in the Redis mailing list. #backport-candidate 2011-05-07 11:47:34 +02:00
0caa750748 clear importing/exporing state when appropriate on SETSLOT or ADDSLOTS cluster commands 2011-05-06 16:08:10 +02:00
f9cbdcb1a6 CLUSTER SETSLOT command and some refactoring of the cluster command 2011-05-06 15:44:09 +02:00