Commit Graph

626 Commits

Author SHA1 Message Date
Pieter Noordhuis 8bca8773b4 use the right object when cleaning up after zunion/zinter (fixes issue 216) 2010-04-01 22:07:50 +02:00
antirez 14ae26d89d Merge branch 'zipmap' of git://github.com/pietern/redis 2010-04-01 18:48:14 +02:00
Pieter Noordhuis e9484a8502 reduce code complexity because zipmapLen now is O(1) 2010-04-01 14:31:13 +02:00
antirez ffc6b7f864 Pub/Sub pattern matching capabilities 2010-04-01 13:13:29 +02:00
antirez 958cd5f394 Deny EXEC under out of memory 2010-03-31 19:49:12 +02:00
antirez d6cc8867b7 No timeouts nor other commands for clients in a Pub/Sub context 2010-03-29 17:48:13 +02:00
antirez ff767a7580 free hash table entries about no longer active classes, so that PUBSUB can be abused with millions of different classes 2010-03-29 12:33:41 +02:00
antirez 201037f562 Fixed a refcount stuff leading to PUBSUB crashes 2010-03-29 12:23:02 +02:00
antirez fc46bb71ae First pubsub fix 2010-03-29 12:13:35 +02:00
antirez befec3cd91 PUBSUB implemented 2010-03-29 11:47:58 +02:00
antirez cac154c580 Redis version is now 1.3.8 2010-03-29 08:38:23 +02:00
antirez 570e43c828 Merge branch 'hincrby' of git://github.com/pietern/redis 2010-03-26 17:08:47 +01:00
Pieter Noordhuis 53476b82a1 removed unnecessary refcount increase that caused the HINCRBY memleak 2010-03-26 16:45:41 +01:00
Pieter Noordhuis 01426b054c implements HINCRBY and tests (todo: find and fix small memleak) 2010-03-26 16:03:19 +01:00
antirez 168ac5c6e3 Removed a useless if spotted by Pieter Noordhuis 2010-03-26 11:21:11 +01:00
antirez 248ea31003 Fixed a critical replication bug: binary values issued with the multi bulk protocol caused a protocol desync with slaves. 2010-03-26 10:56:27 +01:00
antirez b61a28fe35 Fixed the reply about denied write commands under maxmemory reached condition: now the error will no longer lead to a client-server protocol desync 2010-03-24 21:58:34 +01:00
antirez 500ece7c17 CONFIG command implemened -- just a start but already useful 2010-03-24 21:46:51 +01:00
antirez e940927314 with --help states that you can use - as config file name to feed config via stdin 2010-03-23 20:04:55 +01:00
antirez 2a6a2ed102 New INFO field: expired_keys 2010-03-23 19:40:13 +01:00
antirez 1763929f23 the Cron timer function is now called 10 times per second instead of 1 time per second to make Redis more responsibe to BGSAVE and to delete expired keys more incrementally 2010-03-23 19:15:02 +01:00
antirez d36c4e97e5 key deletion on empty value fix + some refactoring 2010-03-23 12:29:35 +01:00
antirez 3ea27d37d1 Empty value trigger key removal in all the operations 2010-03-23 12:15:44 +01:00
antirez 44efe66ef2 Merged gnrfan patches fixing issues 191, 193, 194 2010-03-22 17:31:46 +01:00
antirez 7bf90179a3 Merge branch 'issue_193' of git://github.com/gnrfan/redis 2010-03-22 17:29:20 +01:00
antirez 5e2022bb48 Merge branch 'issue_191' of git://github.com/gnrfan/redis 2010-03-22 17:29:09 +01:00
antirez a9c723ea1e Redis master version is now 1.3.7 2010-03-22 17:08:29 +01:00
Jeremy Zawodny b3f83f1272 support for include directive in config parser 2010-03-19 22:24:17 -07:00
antirez aa42c9a791 Removed a stupid overriding of config values due to a wrong cut&paste 2010-03-19 19:02:24 +01:00
antirez a97b906092 VM hash type swappability implemented. Handling of failed pthread_create() call. 2010-03-19 18:02:37 +01:00
Antonio Ognio 42ab0172ab Solving issue #191 on Google Code: -v and --version should print the version of Redis 2010-03-19 04:19:42 -05:00
Antonio Ognio 723fb69b9e Solves issue #194 on Google Code: --help parameter to redis-srver prints the usage message 2010-03-19 01:49:09 -05:00
Antonio Ognio 6bccf64a5e Fixing issue 193 2010-03-19 01:01:08 -05:00
antirez c77169b7e9 increment server.dirty on HDEL 2010-03-18 18:56:07 +01:00
antirez 7b7f987e91 Redis 1.3.6 2010-03-18 16:55:49 +01:00
antirez db5946fc27 Optimization fixed and re-activated 2010-03-18 03:06:08 +01:00
antirez bf0da6174c reverted an optimization that makes Redis not stable 2010-03-18 02:59:28 +01:00
antirez 2a1198b4c4 HDEL fix, an optimization for comparison of objects in hash table lookups when they are integer encoding 2010-03-17 19:26:53 +01:00
antirez a4c507866c Version is now 1.3.5 2010-03-17 18:30:15 +01:00
antirez 4583c4f0ea Merged Pietern patch for VM key args helper function. Fixed an obvious bug in the redis-cli passwd auth stuff 2010-03-17 17:14:07 +01:00
antirez 17d68f9c99 Merge branch 'aggregates' of git://github.com/pietern/redis 2010-03-17 16:59:29 +01:00
antirez a86f14b190 HEXISTS and tests implemented 2010-03-17 13:34:27 +01:00
antirez 2069d06a0b Fixed a bug in HSET, a memory leak, and a theoretical bug in dict.c 2010-03-17 02:00:03 +01:00
Pieter Noordhuis 76583ea455 added preloading keys from VM when using ZINTER or ZUNION 2010-03-16 20:43:49 +01:00
Pieter Noordhuis d2764cd692 added explicit AGGREGATE [SUM|MIN|MAX] option to ZUNION/ZINTER 2010-03-16 20:34:45 +01:00
antirez 164ee59564 HGET fix for integer encoded field against zipmap encoded hash 2010-03-16 18:44:37 +01:00
antirez 78409a0f84 HKEYS / HVALS / HGETALL 2010-03-16 16:09:58 +01:00
antirez 6d4fb107b2 Solved a memory leak with Hashes 2010-03-16 01:11:23 +01:00
antirez dd88747b78 pretty big refactoring 2010-03-15 23:59:40 +01:00
antirez 92b27fe946 An interesting refactoring + more expressive internal API 2010-03-15 22:46:20 +01:00
antirez 653c9240b7 Fixed the same problem in ZREVRANK 2010-03-15 19:33:26 +01:00
antirez cc3b01c30a Fixed a ZRANK bug 2010-03-15 19:33:01 +01:00
antirez bae2c7ec6b zipmap to hash conversion in HSET 2010-03-15 18:28:12 +01:00
antirez 55a8298fcf max zipmap entries and max zipmap value parameters added into INFO output 2010-03-14 13:58:28 +01:00
antirez 07efaf7467 HDEL and some improvement in DEBUG OBJECT command 2010-03-14 13:54:31 +01:00
antirez 9c8e3cee26 Append only file support for hashes 2010-03-14 13:40:41 +01:00
antirez 5de9ad7c85 A minor fix and a few debug messages removed 2010-03-12 23:46:27 +01:00
antirez 8c5abee892 Applied the replication bug patch provided by Jeremy Zawodny, removing temp file collision after the slave got the dump.rdb file in the SYNC stage 2010-03-12 11:38:53 +01:00
antirez bcd1190644 Fix for HGET against non Hash type, debug messages used to understand a bit better a corrupted rdb file 2010-03-11 16:10:36 +01:00
Pieter Noordhuis b9eed483ae fix: use zmalloc instead of malloc 2010-03-09 17:32:24 +01:00
antirez c1d57a1063 Merged zsetops branch from Pietern 2010-03-09 16:25:55 +01:00
antirez ee5cfe3853 Merged ZREMBYRANK from Pietern 2010-03-09 16:22:50 +01:00
antirez e3f46030fc Merged ZREVRANK from Pietern 2010-03-09 16:19:33 +01:00
Pieter Noordhuis 8f92e76831 use a struct to store both a dict and its weight for ZUNION and ZINTER, so qsort can be applied 2010-03-09 16:12:34 +01:00
antirez ada386b218 Hash auto conversion from zipmap to hash table, type fixed for hashes, hash loading from disk 2010-03-09 13:18:49 +01:00
Pieter Noordhuis 2830ca539b replaced ZMERGE by ZUNION and ZINTER. note: key preloading by the VM does not yet work 2010-03-09 12:38:50 +01:00
antirez b1befe6a8e Hashes saving / fixes 2010-03-08 21:33:07 +01:00
Pieter Noordhuis b287c9bb2b use ZMERGE as starting point 2010-03-08 21:27:26 +01:00
antirez cbba7dd7c9 HSET fixes, now the new pointer is stored back in the object pointer field 2010-03-07 23:41:48 +01:00
Pieter Noordhuis 798d9e5531 added ZREVRANK 2010-03-07 20:35:53 +01:00
antirez 18e61fa2ff Fix for replicaiton with over 2GB dump file initial SYNC stage 2010-03-06 12:08:22 +01:00
antirez 978c2c944c first implementation of HSET/HSET. More work needed 2010-03-06 01:56:16 +01:00
antirez 5234952bee zipmaps functions to get, iterate, test for existence. Initial works for Hash data type 2010-03-05 14:04:17 +01:00
Pieter Noordhuis 841053366f moved code to delete a single node from a zset to a separate function 2010-03-04 17:55:16 +01:00
Pieter Noordhuis f84d393374 rename zslDeleteRange to zslDeleteRangeByScore (to differentiate between deleting using score or rank) 2010-03-04 17:50:25 +01:00
Pieter Noordhuis 2424490f9b use 1-based rank across zsl*Rank functions consistently 2010-03-04 17:48:31 +01:00
Pieter Noordhuis 9212eafd5d implemented ZREMBYRANK 2010-03-04 17:42:33 +01:00
antirez 94e543b5c2 A fix for initialization of augmented skip lists 2010-03-04 17:00:06 +01:00
antirez ddfaca9d81 A fix for an invalid access when VM is disabled 2010-03-04 16:48:26 +01:00
antirez 947efa8d6e Merge branch 'zsl-get-rank' of git://github.com/pietern/redis 2010-03-04 16:43:50 +01:00
Pieter Noordhuis a50ea45c84 merged memory reduction patch 2010-03-04 16:35:57 +01:00
antirez 520b5a33ae Now list push commands return the length of the new list, thanks to Gustavo Picon 2010-03-04 16:16:01 +01:00
Pieter Noordhuis edb519581a first check if starting point is trivial (head or tail) before applying log(N) search 2010-03-04 14:23:59 +01:00
Pieter Noordhuis e74825c24f use rank to find starting point for ZRANGE and ZREVRANGE 2010-03-04 14:16:07 +01:00
Pieter Noordhuis 27b0ccca71 lookup rank of a zset entry in a different function 2010-03-04 13:35:46 +01:00
antirez 8fe7fad771 SUBSTR fix for integer encoded vals 2010-03-04 13:10:50 +01:00
Pieter Noordhuis 67cac14343 fix ZRANK (realize that rank is 1-based due to the skip list header) 2010-03-04 01:33:37 +01:00
antirez 3919155375 initial implementation of SUBSTR 2010-03-03 23:15:52 +01:00
Pieter Noordhuis 2b37892e9b use less memory as element->span[0] will always be 1; any level 0 skip list is essentially a linked list 2010-03-03 19:04:38 +01:00
Pieter Noordhuis 912b9165a9 rank is very unlikely to overflow integer range 2010-03-03 18:40:42 +01:00
Pieter Noordhuis 709d0a1bbc x->backward never equals zsl->header 2010-03-03 18:35:56 +01:00
Pieter Noordhuis 69d95c3e1c initial implementation for augmented zsets and the zrank command 2010-03-03 18:21:02 +01:00
antirez 54bac49d92 minor fix for a Linux warning 2010-03-02 17:42:22 +01:00
antirez ed7451548a Better to increment the version minor number when a VM bug is fixed... it will be simpler to understand what's going on when users will report problems with the INFO trace. 2010-03-02 00:57:09 +01:00
antirez ba76a8f901 Fixed a subtle VM bug... was not flushing the buffer so the child process read truncated data 2010-03-02 00:52:50 +01:00
antirez a3f9eec291 KEYS now returns a multi bulk reply 2010-03-01 23:46:24 +01:00
Damian Janowski 18b6cb7643 Add DISCARD command to discard queued MULTI commands. 2010-03-01 23:29:48 +01:00
antirez c8c72447f6 Swappability bug due to a typo fixed thanks to code review by Felix Geisendörfer @felixge 2010-03-01 22:15:49 +01:00
antirez 5921aa36ed Bug #169 fixed (BLOP/BRPOP interrupted connections are not cleared from the queue) 2010-02-27 12:26:08 +01:00
antirez 9ebed7cf06 Fixed 32bit make target to work on Linux out of the box 2010-02-22 17:36:54 +01:00
antirez 12d090d2d0 A problem with replication with multiple slaves connectiong to a single master fixed. It was due to a typo, and reported on github by the user micmac. Also the copyright year fixed from many files. 2010-02-19 11:23:57 +01:00
antirez 7c775e0943 VM now is able to block clients on swapped keys for all the commands 2010-02-09 14:01:49 +01:00
antirez f44dd42872 ZRANGEBYSCORE now supports open intervals, prefixing double values with a open paren. Added ZCOUNT that can count the elements inside an interval of scores, this supports open intervals too 2010-02-07 21:52:35 +01:00
antirez 3a3978b10b WITHSCORES in ZRANGEBYSCORE thanks to Sam Hendley 2010-02-07 10:32:28 +01:00
Sam Hendley 0500ef2736 Added "withscores" option to zrangebyscore command. Based on withscores support in zrange function, ugliest part was the argument parsing to handle
using it with the limit option.
2010-02-06 18:41:25 -05:00
antirez 59146ef3c1 DEBUG OBJECT provide info about serialized object length even when VM is disabled 2010-02-06 18:53:39 +01:00
antirez 6766f45ef2 multi bulk requests in redis-benchmark, default fsync policy changed to everysec, added a prefix character for DEBUG logs 2010-02-06 13:39:07 +01:00
antirez 4b00bebd3d APPEND command 2010-02-04 15:55:52 +01:00
antirez ed9e496634 Faster version of the function hashing possibly encoded objects, leading to a general speed gain when working with Sets of integers 2010-02-02 12:19:24 +01:00
antirez 3c68de9b01 faster Set loading time from .rdb file resizing the hash table to the right size before loading elements 2010-02-02 12:05:15 +01:00
antirez 9651a78787 Log time taken to load the DB at startup, in seconds 2010-02-02 12:01:53 +01:00
antirez 478c2c6f5b Fixed VM corruption due to child fclosing the VM file directly or indirectly calling exit(), now replaced with _exit() in all the sensible places. Masked a few signals from IO threads. 2010-01-31 16:03:44 +01:00
antirez d5d55fc319 loading side of the threaded VM 2010-01-28 10:12:04 -05:00
antirez b72f6a4b70 Fixed memory human style memory reporting, removed server.usedmemory, now zmalloc_used_memory() is used always. 2010-01-23 11:55:04 -05:00
antirez b0d8747dae VM tuning thanks to redis-stat vmstat. Now it performs much better under high load 2010-01-22 12:58:11 -05:00
antirez f6c0bba8bc REDIS_MAX_COMPLETED_JOBS_PROCESSED is now in percentage, not number of jobs. Moved a debugging message a few lines forward as it was called where a few logged parameters where invalid, leading to a crash 2010-01-21 07:27:32 -05:00
antirez 76b7233adb fixed a deadlock caused by too much finished processes in queue so that I/O clients writing to the wirte side of the pipe used to awake the main thread where blocking. Then a BGSAVE started waiting for the last active thread to finish, condition impossible because all the I/O threads where blocking on threads. Takes this as a note to myself... 2010-01-20 16:57:00 -05:00
antirez 970e10bb34 removed a bug in the function to cancel an I/O job 2010-01-19 13:02:02 -05:00
antirez 76a41fb163 removed support for REDIS_HELGRIND_FRIENDLY since Helgrind 3.5.0 is friendly enough even with many threads created and destroyed 2010-01-16 07:57:32 -05:00
antirez 6fa987e390 Create swap file only if not exists 2010-01-15 14:02:18 -05:00
antirez 459f52a8aa I hate warnings 2010-01-15 13:55:52 -05:00
antirez fefed59798 fixed a minor memory leak in configuration file parsing 2010-01-15 13:35:13 -05:00
antirez 2316bb3b42 minor fix 2010-01-15 13:17:43 -05:00
antirez 054e426dbd support for named VM swap file. Fixed a few important interaction issues between the background saving processes and IO threads 2010-01-15 13:14:23 -05:00
antirez 02fcfc1e39 useless debugging messages removed 2010-01-15 09:39:44 -05:00
antirez 4ad37480f3 thread safe zmalloc used memory counter 2010-01-15 08:52:20 -05:00
antirez b04a5df979 A define to make Redis more helgrind friendly 2010-01-15 05:16:12 -05:00
antirez 1064ef8764 removed a few races from threaded VM 2010-01-15 05:09:18 -05:00
antirez 2e111efe5a Fixed a never experienced, theoretical bug that can actually happen in practice. Basically when a thread is working on a I/O Job we need to wait it to finish before to cancel the Job in vmCancelThreadedIOJob(), otherwise the thread may mess with an object that is being manipulated by the main thread as well. 2010-01-14 17:18:27 -05:00
antirez bcaa7a4ffa Set the new threads stack size to a LZF friendly amount 2010-01-14 08:58:41 -05:00
antirez 427a2153d3 access to already freed job structure fixed by statements reoredering 2010-01-13 16:26:41 -05:00
antirez 85a2775298 removed a useless debugging message 2010-01-13 13:41:38 -05:00
antirez 4ee9488d7e Wait zero active threads condition before to fork() for BGSAVE or BGREWRITEAOF 2010-01-13 13:38:30 -05:00
antirez c7df85a484 list API is now thread safe 2010-01-13 13:18:07 -05:00
antirez b74880b4ed minor TODO and debugging info changes 2010-01-13 09:40:50 -05:00
antirez 72e9fd40b6 support for blocking VM in config file 2010-01-12 15:23:52 -05:00
antirez f2d9f50f6c more non blocking VM changes 2010-01-12 15:09:11 -05:00
antirez 25fd2cb284 a few more stuff in INFO about VM. Test #11 changed a bit in order to be less lame 2010-01-12 09:57:00 -05:00
antirez c953f24bce Added a define to configure how many completed IO jobs the handler should process at every call. 2010-01-12 07:27:54 -05:00
antirez 6c96ba7dfe Fixed a bug in the IO Job canceling funtion 2010-01-11 19:47:18 -05:00
antirez a5819310b0 more steps towards a working non blocking VM 2010-01-11 17:26:58 -05:00
antirez 20f5b38867 converted random printfs in debug logs 2010-01-11 13:10:43 -05:00
antirez b3e3d0d78e removed a bug introduced with non blocking VM 2010-01-11 12:54:29 -05:00
antirez f11b864714 a few non blocking VM bugs fixed 2010-01-11 12:45:15 -05:00
antirez b9bc0eefc4 More work on non-blocking VM. Should work in a few days 2010-01-11 11:42:15 -05:00
antirez a69a0c9c3b More threaded I/O VM work + Redis init script 2010-01-11 05:15:54 -05:00
antirez 996cb5f704 more work on VM threaded I/O. Still nothing of usable 2010-01-10 11:23:01 -05:00
antirez 92f8e88204 non-blocking VM data structures, just a start 2010-01-09 12:46:52 -05:00
antirez ec6c7a1d78 used_memory_human added to INFO output. Human readable amount of memory used. 2010-01-08 10:38:48 -05:00
antirez ace065423e Now DEBUG OBJECT plays well with swapped out objects 2010-01-07 16:51:58 -05:00
antirez 0841cc928d fflush VM swap file after object swapping 2010-01-07 15:53:12 -05:00
antirez b492cf00d8 VM now swaps objects out while loading datasets not fitting into vm-max-memory bytes of RAM 2010-01-07 10:41:08 -05:00
antirez 0d7170a454 added process id information in INFO 2010-01-07 08:56:57 -05:00
antirez 38aba9a121 a new default redis.conf 2010-01-06 21:03:16 -05:00
antirez 7d98e08c0a VM stats in INFO command 2010-01-06 20:14:27 -05:00
antirez f870935d3e Introduced a new log verbosity level, so now DEBUG is really for debugging. Refactored a bit maxmemory. When virtual memory is short in RAM free the objects freelist as well as swapping things out. 2010-01-06 09:15:17 -05:00
antirez 38823f0817 fixed a bug in bgsave when VM is off but still it was testing for obj->storage field 2010-01-05 19:51:30 -05:00
antirez f2b8ab346a converted a few calls to assert() => redisAssert() to print stack trace 2010-01-05 19:44:22 -05:00
antirez e7546c6393 BGREWRITEAOF now works with swapping on 2010-01-05 19:15:15 -05:00
antirez 1b03836c0e A first fix for SET key overwrite 2010-01-05 14:25:56 -05:00
antirez 7e69548dac SAVE now works with VM 2010-01-05 13:51:46 -05:00
antirez e3cadb8abe swapping algorithm a bit more aggressive under low memory 2010-01-05 13:16:41 -05:00
antirez 4ef8de8ad7 basic VM mostly working! 2010-01-05 12:46:59 -05:00
antirez d894161b85 New object field (one of the unused bytes) to hold the type of the swapped out value object in key objects 2010-01-05 10:38:58 -05:00
antirez 7d30035d47 VM internals bugfixes, set 1 2010-01-05 10:34:05 -05:00
antirez 55cf8433e3 load key from swap on key lookup 2010-01-05 07:28:06 -05:00
antirez a35ddf129c more object-level VM primitives 2010-01-05 07:19:09 -05:00
antirez 3a66edc7a4 Redis objects swapping / loading 2010-01-05 05:37:19 -05:00
antirez c78a8ccce7 rdbLoadObject() as a separated function to load objects from disk. Dropped support for RDB version 0, I guess no longer has this legacy DBs around 2010-01-05 04:49:02 -05:00
antirez 06224fec7a VM low level pages handling 2010-01-04 19:52:08 -05:00
antirez 75680a3c37 vm swap file creation, and some basic configuration 2010-01-04 16:01:40 -05:00
antirez 5dc70bff2e version marked 1.3.2 2010-01-04 15:01:55 -05:00
antirez 06233c4585 saving code refactored a bit, added a function returning the number of bytes an object will use on disk 2010-01-04 15:00:43 -05:00
antirez e20fb74f69 Now the PUSH side of RPOPLPUSH is able to unblock clients blocked on BLPOP 2010-01-02 10:02:24 -05:00
antirez 08ff05b012 Version is now 1.3.1 2010-01-02 09:37:01 -05:00
antirez b177fd30ac New vararg BLPOP able to block against multiple keys 2010-01-02 09:06:44 -05:00
antirez 58d976b8e8 fixed a problem with BLPOP timeout of zero, now it blocks forever 2009-12-29 19:11:05 -05:00
antirez f86a74e944 BLPOP timeouts implemented 2009-12-29 16:26:05 -05:00
antirez 95242ab507 first working implementation of BLPOP and BRPOP, still everything is to test well 2009-12-29 16:05:56 -05:00
antirez 9fe33a0e12 a few more fixes, still broken 2009-12-29 15:50:08 -05:00
antirez 2affc3ed20 First fix, still broken 2009-12-29 15:32:37 -05:00
antirez c04c9ac94f minor fix for Linux 64 bit 2009-12-29 15:03:44 -05:00
antirez 4409877e19 not yet working BLPOP implementation 2009-12-29 14:59:40 -05:00
antirez 436b423e18 AOFSYNC removed, got a better idea... 2009-12-27 20:40:11 -05:00
antirez 279e33bee7 AOFSYNC command implemented 2009-12-27 20:31:16 -05:00
antirez 7c8163b85b Version changed to 1.3.0, welcome to the new unstable 2009-12-27 16:26:51 -05:00
antirez 36c548f01d Now MULTI returns +OK as well 2009-12-27 15:58:03 -05:00
antirez 6e4698826f MULTI/EXEC first implementation 2009-12-27 15:47:28 -05:00
antirez 322fc7d855 Fixed a minor bug in GETSET, now the SET part is not performed if the GET fails because the key does not contain a string value 2009-12-24 09:40:11 -05:00
antirez 56c2735d89 version is now 1.1.94 2009-12-23 11:01:31 -05:00
antirez 2c14807b2d Add the command name in the unknown command error message. 2009-12-23 06:23:32 -05:00
antirez 752da584f0 ZRANGE, ZREVRANGE now support WITHSCORES options 2009-12-22 16:09:27 -05:00
antirez d922ae6592 Now SORT returns an empty bulk reply if the key does not exist 2009-12-18 09:06:53 -05:00
antirez ac945e2dcf SHUTDOWN now does the right thing when append only is on, that is, fsync instead to save the snapshot. 2009-12-18 07:31:44 -05:00
antirez fdcaae84d3 Added a missing server.dirty increment in a non critical place, added more tests 2009-12-18 07:13:13 -05:00
antirez ab9d4cb1e3 LTRIM now returns +OK against non existing keys. More tests in test-redis.tcl 2009-12-18 06:45:26 -05:00
antirez b055378971 LZF compression re-enabled by default, but with INIT_HTAB set to 0 to avoid the very costly memset initialization. Note that with this option set valgrind will output some false positive about lzf_c.c 2009-12-16 15:48:57 -05:00
antirez 121f70cfae lzf compression switched off by default now, with config file option to enable it in redis.conf 2009-12-16 11:28:41 -05:00
antirez 483049a737 Regression for epoll bug in redis-test.tcl, version is now 1.1.93 2009-12-16 08:40:32 -05:00
antirez 8879cbfe60 version is now 1.1.92 2009-12-15 16:27:13 -05:00
antirez e96e4fbf15 Two important fixes to append only file: zero length values and expires. A pretty neat new test to check consistency of randomly build datasets against snapshotting and AOF. 2009-12-15 13:06:41 -05:00
antirez 71c2b467b0 debug loadaof implemented in order to add more consistency tests in test-redis.tcl 2009-12-15 11:15:47 -05:00
antirez e054afda90 Added a new test able to stress a lot the snapshotting engine 2009-12-15 10:55:13 -05:00
antirez ed10f40b15 Unified handling of empty queries with normal queries. 2009-12-15 09:33:29 -05:00
antirez 7c49733ce3 Fixed some subtle bug in the command processing code almost impossible to spot in the real world, thanks to gcov 2009-12-15 09:14:40 -05:00
antirez 0d36ded040 Fixed issue #121 2009-12-15 04:06:10 -05:00
antirez 49b99ab43e Changed the reply of BGSAVE and BGREWRITEAOF from +OK to a more meaningful message that makes the user aware of an operation that just started and is not yet finished. 2009-12-13 16:52:43 +01:00
antirez 179b395244 Set the master->slave logical client as authenticated on creation, so that if the slave requires a password replication works anyway 2009-12-13 15:09:46 +01:00
antirez b3fad521cc bgrewriteaof_in_progress added to INFO 2009-12-12 22:41:10 +01:00
antirez b32627cdc1 some change to redis-sha1.rb utility to make it more robust against non-meaningful changes in the dataset 2009-12-11 18:45:25 +01:00
antirez 454d4e43b5 a bit more verbose -ERR wrong number o arguments error, now gives info about the command name causing the error 2009-12-10 19:35:09 +01:00
antirez 333fd21615 TODO change and minor SETNX optimization 2009-12-10 16:38:24 +01:00
antirez 231d758eec in rdbLoadDoubleValue now the buffer is nul terminated correctly. Thanks valgrind. 2009-12-06 01:42:41 +01:00
antirez 83c6a61889 printf format warnings fixed by casting 2009-12-06 01:25:37 +01:00
antirez 5acdc75d66 Regression tests for SETNX and MSETNX bugs added 2009-12-06 01:16:12 +01:00
antirez 906573e78d SETNX and MSETNX now respect the delete-on-write operation of EXPIREing keys 2009-12-06 01:09:15 +01:00
antirez 71c54b21e2 Fixed daemonization when using kqueue/kevent. Now the server initialization is performed *after* the daemonization 2009-12-06 00:59:35 +01:00
antirez 76d31044d4 more HTML doc changes 2009-12-05 19:35:15 +01:00
antirez 682ac7248a use __attribute__ format in sdscatprintf() when the compiler is GCC. Fixed format bugs resulting from the new warnings. 2009-12-05 13:50:36 +01:00
antirez da0a162077 compilation problem on 64bit mac os x 10.5 possibly fixed 2009-12-01 11:53:00 +01:00
antirez dfc5e96ce5 Fixed issued #85 (getDecodedObject: Assertion 1 != 1 failed. While sorting a set), added a smarter assert() function to dump the stacktrace, provided a macro to initalize Redis objects on the stack to avoid this kind of bugs. 2009-11-30 20:25:06 +01:00
antirez d07ffa178d Version chagned to 1.100, also known as the first first 2.0 beta version 2009-11-29 10:44:25 +01:00
antirez 0b13687c25 more tests in test-redis.tcl, some minor fix 2009-11-29 10:29:08 +01:00
antirez a5eb649bfa SORT support for sorted sets 2009-11-29 10:10:35 +01:00
antirez 80181f7848 Implemented LIMIT option in ZRANGEBYSCORE. We now enter feature-freeze 2009-11-28 22:01:13 +01:00
antirez c74e7c7757 ZRANGEBYSCORE memory leak fixed, ZRANGEBYSCORE initial test added 2009-11-28 18:03:09 +01:00
antirez 1c85b79fef INFO refactored. Stack trace on memory corruption now dumps the same information as the INFO command 2009-11-28 17:13:32 +01:00
antirez 7a932b74cc ifdefs added to use kevent on Free Open and Net BSD as well. INFO and ae.c modified in order to report the multiplexing API in use 2009-11-28 17:06:28 +01:00
antirez 1751139117 Enabled object encoding for multiple keys in MSET. Added a test for memory leaks in test-redis.tcl when running on Mac OS X 2009-11-28 16:55:05 +01:00
antirez 1fd9bc8adc Changes to TODO list, commented a function in redis.c 2009-11-28 15:31:40 +01:00
antirez 0f151ef1a0 zero length bulk data reading fixed in loadAppendOnlyFile() 2009-11-26 19:18:52 +01:00
antirez 85a831729f append only file fixes 2009-11-26 19:03:32 +01:00
antirez 9d65a1bbae log rebuilding, random refactoring, work in progress please wait for an OK commit before to use this version 2009-11-26 18:10:02 +01:00
antirez 210e29f7d2 DEBUG RELOAD implemented, and test-redis.tcl modified to use it to check for persistence consistency. 2009-11-24 21:44:20 +01:00
antirez 1c0abf3c5d Redis version set to 1.07 2009-11-24 21:29:08 +01:00
antirez 6c446631da sorted sets saving fixed 2009-11-24 17:52:46 +01:00
antirez 266373b283 ae.c now supports multiple polling API modules, even if only ae_select.c is implemented currently. Also adding and removing an event is now O(1). 2009-11-23 18:50:39 +01:00
antirez a96ffc6641 version incremented up to 1.06 2009-11-21 16:40:08 +01:00
antirez ed5a857a6d Fixed a SORT memory leak that should never happen in practice 2009-11-21 13:46:34 +01:00
antirez 28173a49a7 SORT GET # implemented, with a test 2009-11-21 13:25:51 +01:00
antirez 91d71bfc79 ZINCRBY return value fixed 2009-11-20 11:22:20 +01:00
antirez 7db723adb2 ZINCRSCOREBY => ZINCRBY 2009-11-20 09:18:40 +01:00
antirez e2665397a7 ZINCRSCOREBY implemented 2009-11-19 19:48:46 +01:00
antirez 37f68e6102 writev() finally uncommented again 2009-11-19 19:04:54 +01:00
antirez b892cabed4 redis-benchmark hopefully last bug with multi bulk reply fixed 2009-11-19 18:44:18 +01:00
antirez 7ea870c092 Use writev(2) if glue output buffers is disabled 2009-11-19 11:46:28 +01:00
antirez c28b42acd9 more experiments with long replies, glue output buffer, and writev. 2009-11-18 20:32:03 +01:00
antirez cc30e368a3 benchmarking with different number of LRANGE elements. Ability to change the glue output buffer limit by #define 2009-11-18 19:41:25 +01:00
antirez 2895e86267 support for writev implemented but currently ifdef-ed in order to understan why I can't see the improvements expected. Btw code provided by Stefano Barbato 2009-11-17 17:46:44 +01:00
antirez ef3ac64a27 Solaris fix thanks to Alan Harder 2009-11-12 21:49:15 +01:00