antirez
|
6663653f51
Stop access to global vars. Not configurable.
|
il y a 12 ans |
antirez
|
c9edd1b28a
Globals protection global() function modified for speed and correctness.
|
il y a 12 ans |
antirez
|
37b29ef2fa
Scripting: globals protection can now be switched on/off.
|
il y a 12 ans |
antirez
|
0cdecca141
Protect globals access in Lua scripting.
|
il y a 12 ans |
Nathan Fritz
|
52ae8af807
added redis.sha1hex(string) as lua scripting function.
|
il y a 12 ans |
antirez
|
f3fd419fc9
Support for read-only slaves. Semantical fixes.
|
il y a 12 ans |
antirez
|
63505e0b59
Lua_cmsgpack added to Redis scripting.
|
il y a 12 ans |
lsbardel
|
2f75bbab02
added lua struct c extension
|
il y a 12 ans |
antirez
|
ce8b772be7
Now Lua scripts dispatch Redis commands properly calling the call() function. In order to make this possible call() was improved with a new flags argument that controls how the Redis command is executed.
|
il y a 13 ans |
antirez
|
2c861050c1
SORT is now more deterministic: does not accept to compare by score items that have scores not representing a valid double. Also items with the same score are compared lexycographically. At the same time the scripting side introduced the ability to sort the output of SORT when sort uses the BY <constant> optimization, resulting in no specific ordering. Since in this case the user may use GET, and the result of GET can be null, converted into false as Lua data type, this commit also introduces the ability to sort Lua tables containining false, only if the first (faster) attempt at using just table.sort with a single argument fails.
|
il y a 13 ans |
antirez
|
548efd91e5
Order output of commands returning random arrays using table.sort when called from Lua, partially fixing issue #165. The issue is yet not completely fixed since we can't add the REDIS_CMD_SORT_FOR_SCRIPT flag in SORT currently, both because it may contain NULLs and because it is not cool to re-sort everything at every call when instead this should be sorted only if BY <constant> is used.
|
il y a 13 ans |
Jakub Wieczorek
|
4d776dba3c
Lua reports line numbers off by one in error messages
|
il y a 13 ans |
antirez
|
4ab8695d53
New script timeout semantics and SCRIPT KILL implemented. SHUTDOWN NOSAVE and SHUTDOWN SAVE implemented.
|
il y a 13 ans |
antirez
|
115e3ff39e
If a Lua script executes for more time than the max time specified in the configuration Redis will log a warning, and will start accepting queries (re-entering the event loop), returning -SLOWSCRIPT error for all the commands but SHUTDOWN that remains callable.
|
il y a 13 ans |
antirez
|
e089e61019
Don't timeout scripts if the instance is a slave.
|
il y a 13 ans |
antirez
|
e5abf6ef19
SCRIPT LOAD now returns the SHA1 instead of +OK
|
il y a 13 ans |
antirez
|
e8c993f0fb
Fixes for the scripting refactoring and new commands. Tests for the new features.
|
il y a 13 ans |
antirez
|
a9b07ac459
SCRIPT LOAD implemented, scripting eval command refactoring.
|
il y a 13 ans |
antirez
|
070e39454d
SCRIPT command for introspection and control of the scripting environment.
|
il y a 13 ans |
antirez
|
9ed32ba083
Redis.call is now split into two variants of the same function. Redis.call will raise an error by default. Redis.pcall will return the error object instead.
|
il y a 13 ans |
antirez
|
15108778d5
JSON support for Lua scripting, based on work from @lp, thanks!. We are using the good and fast cjson by Mark Pulford.
|
il y a 13 ans |
antirez
|
eab0e26e03
replaced redisAssert() with redisAssertWithInfo() in a shitload of places.
|
il y a 13 ans |
antirez
|
002d5626e0
Scripting engine now only loads selected libraries, using code originally contributed by @loopole.
|
il y a 13 ans |
antirez
|
9f772cc237
Return errors if a write command is called inside a Lua script after a random command was called. See https://github.com/antirez/redis/issues/95 for more information.
|
il y a 13 ans |
antirez
|
15ef605340
Deny commands flagged as REDIS_CMD_NOSCRIPT from Lua scripts
|
il y a 13 ans |
antirez
|
e108bab043
Lua math.random and math.randomseed replaced with our own version based on redisSrand48(). Seed initialized to the same value at every EVAL/EVALSHA call.
|
il y a 13 ans |
antirez
|
4dd444bb4a
Replicate EVALSHA as EVAL taking a dictionary of sha1 -> script source code.
|
il y a 13 ans |
antirez
|
3bb818df40
Make sure error and status replies emitted by Lua scripts can never have more than a newline, otherwise it is a protocol violation and clients will desync.
|
il y a 13 ans |
antirez
|
e927a24610
Fix for wrong error level detection in redis.log()
|
il y a 13 ans |
antirez
|
288f811fea
All commands exported by Redis to Lua scripts are now inside the redis table. Implemented redis.log() function.
|
il y a 13 ans |