2686 Commits

Author SHA1 Message Date
antirez
eab7143b2c Test LINDEX out of range index. 2012-04-18 17:17:53 +02:00
Salvatore Sanfilippo
b75274cf2a Merge pull request #456 from pietern/unstable-mkopts
Persist Makefile flags (unstable)
2012-04-18 07:25:59 -07:00
antirez
af75aafac2 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:37:14 +02:00
antirez
da0fd6248c More robust maxclients test. 2012-04-18 11:34:18 +02:00
antirez
59aa522200 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:31:24 +02:00
Michael Schlenker
00ed1334f7 Replace unnecessary calls to echo and cat
Tcl's exec can send data to stdout itself, no need to call cat/echo for
that usually.
2012-04-17 22:20:54 +02:00
antirez
8d1f304a34 Added test for SORT corner case: pattern ending with just "->". 2012-04-17 16:28:59 +02:00
antirez
d043a4e799 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 13:05:09 +02:00
antirez
2efe89f513 Less false positives in maxclients test, hopefully. 2012-04-17 10:04:42 +02:00
Pieter Noordhuis
6240f57022 Persist make settings and trigger rebuild if anything changes 2012-04-13 17:52:33 -07:00
Pieter Noordhuis
b4b298b783 Don't set flags recursively 2012-04-13 17:52:33 -07:00
Pieter Noordhuis
ff8ec1c8ee Remove unused LIBS variable 2012-04-13 17:52:33 -07:00
Pieter Noordhuis
f742e4a9ba First set defaults, then do composition 2012-04-13 17:52:33 -07:00
Pieter Noordhuis
15fd1bc04a Question mark assignment is not needed 2012-04-13 17:52:33 -07:00
Pieter Noordhuis
f31f6e9e67 Ignore gcov/lcov artifacts 2012-04-13 17:52:33 -07:00
Pieter Noordhuis
77e0138ff3 The lcov target shouldn't clean
This is not needed because every change in compiler/linker flags
triggers a cleanup.
2012-04-13 17:52:30 -07:00
Pieter Noordhuis
18bb9b5d82 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 17:34:31 -07:00
antirez
7509de176a Merge branch 'strict.lua' into unstable 2012-04-13 16:16:13 +02:00
antirez
9edfc484e4 A few var names fixed in Makefile.
I modified it for error in a previous commit doing search & replace.
2012-04-13 16:13:56 +02:00
antirez
549e3d0a85 New test for scripting engine: DECR_IF_GT. 2012-04-13 15:23:32 +02:00
antirez
6fe9430644 EVAL errors are more clear now. 2012-04-13 15:12:16 +02:00
antirez
8b54e65163 Use Lua tostring() before concatenation. 2012-04-13 14:54:49 +02:00
antirez
a45cd5edd8 Tests modified to match the new global protection implementation. 2012-04-13 13:40:57 +02:00
antirez
dd17378956 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 13:36:08 +02:00
antirez
c13d275cd0 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 13:26:59 +02:00
antirez
c498315ec9 Globals protection global() function modified for speed and correctness. 2012-04-13 12:13:02 +02:00
antirez
1bbc0b92b7 Tests for lua globals protection. 2012-04-13 11:48:45 +02:00
antirez
65a6863cac Scripting: globals protection can now be switched on/off. 2012-04-13 11:23:45 +02:00
antirez
d6ed0f6f00 Print arch bits with redis-server -v 2012-04-12 11:50:18 +02:00
antirez
ccf1131784 memtest.c: integer overflow fixed. 2012-04-12 11:49:52 +02:00
antirez
3ee2833956 Make gcov fixed. 2012-04-12 11:51:58 +02:00
antirez
f709a2a369 Makefile now introduces Redis-specific CFLAGS / LDFLAGS. Gcov target fixed. Added comments to describe how it works. 2012-04-12 11:09:38 +02:00
Salvatore Sanfilippo
92b8d9953f Merge pull request #449 from ErikDubbelboer/unstable
added explanation for the magic 511 backlog number
2012-04-11 09:25:44 -07:00
Erik Dubbelboer
b99bc5711e added explanation for the magic 511 backlog number 2012-04-11 17:04:31 +02:00
antirez
540d99bd45 Makefile.dep updated. 2012-04-11 12:12:30 +02:00
antirez
eab775f1e7 make dep: redirect output to Makefile.dep. 2012-04-11 12:12:05 +02:00
antirez
78eeafc7cf Make inline functions rioRead/Write/Tell static. This fixes issue #447. 2012-04-11 11:58:32 +02:00
antirez
5c68789db5 Macros ULONG_ONEZERO / ULONG_ZEROONE were inverted in #ifdef to test 32/64 bit arch. 2012-04-11 11:32:22 +02:00
Pieter Noordhuis
b866abc78e 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 11:24:17 +02:00
Pieter Noordhuis
a86a8fdcfe Everything x86 is little endian 2012-04-11 11:03:30 +02:00
antirez
5a39fc973d Comment typo fixed. Clusetr -> Cluster. 2012-04-11 10:57:02 +02:00
antirez
670b1e8985 Check write(2) return value to avoid warnings, because in this context failing write is not critical. 2012-04-10 16:48:28 +02:00
antirez
a21be85a30 Minor MIGRATE implementation simplification about ttl handling. 2012-04-10 16:46:29 +02:00
antirez
cb2a06dfcd Version 2.9.7. 2012-04-10 16:34:33 +02:00
antirez
372430fcc0 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 15:47:10 +02:00
antirez
2f39a3e87c RDB files now embed a crc64 checksum. Version of RDB bumped to 5. 2012-04-09 22:40:41 +02:00
antirez
38b3cb4770 Fixed compilation of new rio.c changes (typos and so forth.) 2012-04-09 12:36:44 +02:00
antirez
04bec19ae3 dump/restore fixed to use the new crc64 API. 2012-04-09 12:33:57 +02:00
antirez
ec83eacbde Add checksum computation to rio.c 2012-04-09 12:33:09 +02:00
antirez
cbde349a1c crc64.c modified for incremental computation. 2012-04-09 12:20:47 +02:00