Commit Graph

3374 Commits

Author SHA1 Message Date
a00fcaa671 Test LINSERT syntax error. 2012-04-18 21:22:52 +02:00
8d12645569 Test LINDEX out of range index. 2012-04-18 21:22:48 +02:00
d00f51405b Merge pull request #455 from pietern/2.6-mkopts
Persist Makefile flags (2.6)
2012-04-18 07:26:36 -07:00
ae55245d1c Marginally cleaner lookupKeyByPattern() implementation.
just fieldobj itself as sentinel of the fact a field object is used or
not, instead of using the filed length, that may be confusing both for
people and for the compiler emitting a warning.
2012-04-18 11:41:06 +02:00
212bb9ca2e More robust maxclients test. 2012-04-18 11:41:03 +02:00
727d6dd52a Two small fixes to maxclients handling.
1) Don't accept maxclients set to < 0
2) Allow maxclients < 1024, it is useful for testing.
2012-04-18 11:40:59 +02:00
a1090c1193 Added test for SORT corner case: pattern ending with just "->". 2012-04-17 18:26:56 +02:00
68ee18558a lookupKeyByPattern() used by SORT GET/BY rewritten. Fixes issue #460.
lookupKeyByPattern() was implemented with a trick to speedup the lookup
process allocating two fake Redis obejcts on the stack. However now that
we propagate expires to the slave as DEL operations the lookup of the
key may result into a call to expireIfNeeded() having the stack
allocated object as argument, that may in turn use it to create the
protocol to send to the slave. But since this fake obejcts are
inherently read-only this is a problem.

As a side effect of this fix there are no longer size limits in the
pattern to be used with GET/BY option of SORT.

See https://github.com/antirez/redis/issues/460 for bug details.
2012-04-17 18:26:52 +02:00
96aeca4b9d Less false positives in maxclients test, hopefully. 2012-04-17 10:04:59 +02:00
d0cd262fdf Persist make settings and trigger rebuild if anything changes 2012-04-13 18:05:51 -07:00
864229585a Don't set flags recursively 2012-04-13 18:05:51 -07:00
3126e08757 Remove unused LIBS variable 2012-04-13 18:05:51 -07:00
61e8825e89 First set defaults, then do composition 2012-04-13 18:05:51 -07:00
95bc195158 Question mark assignment is not needed 2012-04-13 18:05:51 -07:00
cb481f432a Ignore gcov/lcov artifacts 2012-04-13 18:05:51 -07:00
0b27a55f30 The lcov target shouldn't clean
This is not needed because every change in compiler/linker flags
triggers a cleanup.
2012-04-13 18:05:51 -07:00
6cedb4d489 Rename ADD_*FLAGS -> REDIS_*FLAGS, REDIS_*FLAGS -> FINAL_*FLAGS
This reflects that REDIS_*FLAGS will only be used for compilation of
Redis and not for its dependencies. Similarly, that FINAL_*FLAGS are
composed of other variables and holds the options that are finally
passed to the compiler and linker.
2012-04-13 18:05:51 -07:00
59333ffd37 New test for scripting engine: DECR_IF_GT. 2012-04-13 16:23:46 +02:00
9a2dd1eff9 EVAL errors are more clear now. 2012-04-13 16:23:42 +02:00
c9853f537b Use Lua tostring() before concatenation. 2012-04-13 16:23:38 +02:00
d63a1716eb Tests modified to match the new global protection implementation. 2012-04-13 16:23:34 +02:00
d2906893e8 mt.declared is no longer needed.
Lua global protection can now be simpified becuase we no longer have the
global() function. It's useless to occupy memory with this table, it is
also not faster because the metamethods we use are only called when a
global object does not exist or we are trying to create it from a
script.
2012-04-13 16:23:29 +02:00
97cab30993 Stop access to global vars. Not configurable.
After considering the interaction between ability to delcare globals in
scripts using the 'global' function, and the complexities related to
hanlding replication and AOF in a sane way with globals AND ability to
turn protection On and Off, we reconsidered the design. The new design
makes clear that there is only one good way to write Redis scripts, that
is not using globals. In the rare cases state must be retained across
calls a Redis key can be used.
2012-04-13 16:23:21 +02:00
6255a5ae66 Globals protection global() function modified for speed and correctness. 2012-04-13 16:22:47 +02:00
e387dc52a0 Tests for lua globals protection. 2012-04-13 16:22:43 +02:00
3e6a4463e0 Scripting: globals protection can now be switched on/off. 2012-04-13 16:22:35 +02:00
430602b26c Protect globals access in Lua scripting. 2012-04-13 16:21:46 +02:00
236adc2809 A few var names fixed in Makefile.
I modified it for error in a previous commit doing search & replace.
2012-04-13 16:15:39 +02:00
d298825803 Print arch bits with redis-server -v 2012-04-13 16:12:32 +02:00
206568257a memtest.c: integer overflow fixed. 2012-04-13 16:12:28 +02:00
50fb330399 Make gcov fixed. 2012-04-13 16:12:24 +02:00
69ac4d063d Makefile now introduces Redis-specific CFLAGS / LDFLAGS. Gcov target fixed. Added comments to describe how it works. 2012-04-13 16:12:04 +02:00
b9cd703b5b added explanation for the magic 511 backlog number 2012-04-11 18:32:10 +02:00
79e3df9d72 Makefile.dep updated. 2012-04-11 18:30:23 +02:00
d5ec389585 make dep: redirect output to Makefile.dep. 2012-04-11 18:29:31 +02:00
336ba6a152 Make inline functions rioRead/Write/Tell static. This fixes issue #447. 2012-04-11 12:03:25 +02:00
ef278d110f Macros ULONG_ONEZERO / ULONG_ZEROONE were inverted in #ifdef to test 32/64 bit arch. 2012-04-11 12:03:21 +02:00
de07849e0d Clean up Makefiles
Remove unused variables. Instead of overriding non-standard variables
such as ARCH and PROF, use standard variables CFLAGS and LDFLAGS to
override Makefile settings. Move dependencies generated by `make dep` to
a separate file.
2012-04-11 12:01:29 +02:00
e74bec56fa Everything x86 is little endian 2012-04-11 11:59:53 +02:00
3ba5eab774 Minor MIGRATE implementation simplification about ttl handling. 2012-04-10 20:04:21 +02:00
b9aa332843 Check write(2) return value to avoid warnings, because in this context failing write is not critical. 2012-04-10 20:02:33 +02:00
3f64694e71 Version 2.5.6. 2012-04-10 16:34:51 +02:00
fdf8bd4025 Test for maxclients. 2012-04-10 16:28:21 +02:00
e95740392b dump/restore fixed to use the new crc64 API. 2012-04-10 16:27:36 +02:00
39d1e350d9 It is now possible to enable/disable RDB checksum computation from redis.conf or via CONFIG SET/GET. Also CONFIG SET support added for rdbcompression as well. 2012-04-10 16:27:03 +02:00
7f4f86f427 RDB files now embed a crc64 checksum. Version of RDB bumped to 5. 2012-04-10 16:26:58 +02:00
1bcb45d118 Fixed compilation of new rio.c changes (typos and so forth.) 2012-04-10 16:26:52 +02:00
b4b923b04b Add checksum computation to rio.c 2012-04-10 16:26:45 +02:00
bb99f42596 crc64.c modified for incremental computation. 2012-04-10 16:26:41 +02:00
9ba4d5a3bb rio.c file somewhat documented so that the casual reader can understand what's going on without reading the code. 2012-04-10 16:26:37 +02:00