1199 Commits

Author SHA1 Message Date
antirez
6e6b7fcc10 All commands exported by Redis to Lua scripts are now inside the redis table. Implemented redis.log() function. 2011-05-25 12:32:50 +02:00
antirez
a044ec4e39 EVALSHA implemented 2011-05-25 12:32:49 +02:00
antirez
a073438a52 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
antirez
98af129deb for performance reasons only set the debug hook if the time limit is enabled. 2011-05-25 12:32:49 +02:00
antirez
4f89275a16 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
antirez
2ccb8cf33f 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
antirez
6f6559e47e Lua scripts max execution time 2011-05-25 12:32:48 +02:00
antirez
15bbcf8e48 Lua memory usage in INFO 2011-05-25 12:32:48 +02:00
antirez
b37b6f8ce6 call lua_gc() for incremental garbage collection. Likely there is to tune this at some point. 2011-05-25 12:32:48 +02:00
antirez
218852a836 Lua scripting: Honor SELECT command in both ways 2011-05-25 12:32:47 +02:00
antirez
e4c113dc8a 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
antirez
3993a9a702 Status replies converted in a special way like errors in the Lua <-> Redis conversion code. 2011-05-25 12:32:47 +02:00
antirez
421e21fa45 Scripting doc updated 2011-05-25 12:32:47 +02:00
antirez
7038584d95 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
antirez
eb1719a325 TODO updated 2011-05-25 12:32:46 +02:00
antirez
31d3c2fb22 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
antirez
c71072262d Scripting todo list updated 2011-05-25 12:32:46 +02:00
antirez
ce70f9aba7 Multi bulk to Lua table now working 2011-05-25 12:32:46 +02:00
antirez
3c836ffe5a 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
antirez
a55dcc3808 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
antirez
4fdcf75a85 pupulate the Lua global tables KEYS and ARGV before executing the script 2011-05-25 12:32:45 +02:00
antirez
d8cdc503e7 function to access to Redis command from Lua renamed from r() to redis() 2011-05-25 12:32:45 +02:00
antirez
4a56ea5b76 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
antirez
2039ac2211 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
antirez
09e9cb316e 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
antirez
3dd67db52c Lua function creation on EVAL, basic Lua return type to Redis protocol convertion done. 2011-05-25 12:32:43 +02:00
antirez
e9d555d1e4 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
antirez
da9b2a206b 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
antirez
fab8566cb1 Fixed typo in comment 2011-05-24 10:35:58 +02:00
Pieter Noordhuis
5bd18cc33e Configurable synchronous I/O timeout 2011-05-22 12:58:18 +02:00
Pieter Noordhuis
fedabe3991 Minor changes in non-blocking repl. connect 2011-05-22 12:51:09 +02:00
Pieter Noordhuis
6ecfff06a8 Non-blocking connect with master 2011-05-19 18:54:57 +02:00
antirez
4ea2be056b Fix for ZUNIONSTORE bug when there is an empty set among input sets. Regression test added. 2011-05-19 17:58:52 +02:00
antirez
a9323350f6 fmacros in utils.c to avoid warning about strcasecmp() 2011-05-16 17:20:27 +02:00
antirez
883af78cb2 Fixed misuse of the new iterator semantics in ZUNIONSTORE 2011-05-15 17:28:06 +02:00
antirez
2b8ff79f19 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
antirez
3e051320f8 Fixed SINTER[STORE] problem related to the new copy on write safe iterator 2011-05-15 12:18:00 +02:00
Pieter Noordhuis
9a22de6ad0 Fix up rdbWriteRaw to return number of bytes written 2011-05-14 12:47:42 +02:00
Pieter Noordhuis
a67b0922d7 Use rio.h functions in aof.c 2011-05-14 12:36:22 +02:00
Pieter Noordhuis
15788d3c5a More rioRead() 2011-05-14 12:32:50 +02:00
Pieter Noordhuis
78feade83d Move rdbLoad* to top; update comments 2011-05-13 23:24:19 +02:00
Pieter Noordhuis
43b1feb2f0 Make RDB types/opcodes explicit; load/save object type 2011-05-13 22:14:39 +02:00
Pieter Noordhuis
ce9195ad16 Abstract file/buffer I/O to support in-memory serialization 2011-05-13 17:31:00 +02:00
antirez
9ecb0c7c29 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
antirez
4e6eb6cb28 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
antirez
d4e65ce0c2 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
antirez
5f25487ec4 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
antirez
6d502e71ce Useless statement removed 2011-05-10 10:07:04 +02:00
antirez
ab1d6f5ca0 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
antirez
e2ded22f0f clear importing/exporing state when appropriate on SETSLOT or ADDSLOTS cluster commands 2011-05-06 16:08:10 +02:00