redict/src
Viktor Söderqvist 4355145a62
Add modules API for streams (#8288)
APIs added for these stream operations: add, delete, iterate and
trim (by ID or maxlength). The functions are prefixed by RM_Stream.

* RM_StreamAdd
* RM_StreamDelete
* RM_StreamIteratorStart
* RM_StreamIteratorStop
* RM_StreamIteratorNextID
* RM_StreamIteratorNextField
* RM_StreamIteratorDelete
* RM_StreamTrimByLength
* RM_StreamTrimByID

The type RedisModuleStreamID is added and functions for converting
from and to RedisModuleString.

* RM_CreateStringFromStreamID
* RM_StringToStreamID

Whenever the stream functions return REDISMODULE_ERR, errno is set to
provide additional error information.

Refactoring: The zset iterator fields in the RedisModuleKey struct
are wrapped in a union, to allow the same space to be used for type-
specific info for streams and allow future use for other key types.
2021-01-28 16:19:43 +02:00
..
modules More modules API ref formatting fixes (#8344) 2021-01-20 11:47:06 +02:00
.gitignore
acl.c Better error message const correctness. (#8348) 2021-01-21 11:56:08 +02:00
adlist.c optimization src/adlist.c:listJoin() 2020-11-09 21:48:56 -08:00
adlist.h Speedup: unblock clients on keys in O(1). 2020-04-08 12:55:57 +02:00
ae_epoll.c Use FD_CLOEXEC in Sentinel, so that FDs don't leak to the scripts it runs (#8242) 2021-01-19 22:57:30 +02:00
ae_evport.c Use FD_CLOEXEC in Sentinel, so that FDs don't leak to the scripts it runs (#8242) 2021-01-19 22:57:30 +02:00
ae_kqueue.c Use FD_CLOEXEC in Sentinel, so that FDs don't leak to the scripts it runs (#8242) 2021-01-19 22:57:30 +02:00
ae_select.c Include 'fd_set' type name 2016-06-07 16:46:00 -04:00
ae.c Use FD_CLOEXEC in Sentinel, so that FDs don't leak to the scripts it runs (#8242) 2021-01-19 22:57:30 +02:00
ae.h Use H/W Monotonic clock and updates to AE (#7644) 2020-08-28 11:54:10 +03:00
anet.c Add hostname support in Sentinel. (#8282) 2021-01-28 12:09:11 +02:00
anet.h Add hostname support in Sentinel. (#8282) 2021-01-28 12:09:11 +02:00
aof.c GETEX, GETDEL and SET PXAT/EXAT (#8327) 2021-01-27 19:47:26 +02:00
asciilogo.h string literal should be const char* 2020-03-07 19:38:27 +08:00
atomicvar.h Several (mostly Solaris-related) cleanups (#8171) 2020-12-13 17:09:54 +02:00
bio.c Cleanup key tracking documentation and table management (#8039) 2020-12-23 19:13:12 -08:00
bio.h Cleanup key tracking documentation and table management (#8039) 2020-12-23 19:13:12 -08:00
bitops.c Flow through the error handling path for most errors (#8226) 2020-12-23 19:06:25 -08:00
blocked.c Bugfix: Make modules blocked on keys unblock on commands like LPUSH (#8356) 2021-01-19 13:15:33 +02:00
childinfo.c Fix last COW INFO report, Skip test on non-linux platforms (#8301) 2021-01-08 23:35:30 +02:00
cli_common.c Enable specifying TLS ciphers(suites) in redis-cli/redis-benchmark (#8005) 2020-11-04 14:49:15 +02:00
cli_common.h Enable specifying TLS ciphers(suites) in redis-cli/redis-benchmark (#8005) 2020-11-04 14:49:15 +02:00
cluster.c change log for invalid cluster port (#8343) 2021-01-20 22:08:05 -08:00
cluster.h Optimize performance of clusterGenNodesDescription for large clusters (#8182) 2021-01-13 12:36:03 -08:00
config.c Add 'set-proc-title' config so that this mechanism can be disabled (#3623) 2021-01-28 11:12:39 +02:00
config.h Solaris based system rss size report. (#8138) 2020-12-06 15:30:29 +02:00
connection.c Merge two aeDeleteFileEvent refs into one (#7521) 2020-11-25 13:37:54 -08:00
connection.h Add local address to CLIENT LIST, and a CLIENT KILL filter. (#7913) 2020-10-28 21:13:44 +02:00
connhelpers.h Conns: Fix connClose() / connAccept() behavior. 2020-03-22 14:42:03 +02:00
crc16_slottable.h Added basic support for clusters to redis-benchmark. 2019-03-01 17:53:14 +01:00
crc16.c RDMF (Redis/Disque merge friendlyness) refactoring WIP 1. 2015-07-26 15:17:18 +02:00
crc64.c Fix compile warning when define REDIS_TEST (#8261) 2021-01-09 19:52:42 +02:00
crc64.h Implemented CRC64 based on slice by 4 2020-04-24 17:00:03 -07:00
crcspeed.c Fix rdb checksum / crc64 on bigendian (#8270) 2021-01-05 09:15:10 +02:00
crcspeed.h Added crcspeed library 2020-04-24 17:11:21 -07:00
db.c In dbOverwrite moduleNotifyKeyUnlink should use old val (#8381) 2021-01-22 09:37:25 +02:00
debug.c HELP subcommand, continued (#5531) 2021-01-04 17:02:57 +02:00
debugmacro.h Fix some redundancy use of semicolon in do-while macros (#8221) 2020-12-21 22:57:45 -08:00
defrag.c Fix bug in activeDefragSdsListAndDict dead code (#8403) 2021-01-27 18:56:43 +02:00
dict.c Fix random element selection for large hash tables. (#8133) 2020-12-23 15:52:07 +02:00
dict.h Fix random element selection for large hash tables. (#8133) 2020-12-23 15:52:07 +02:00
endianconv.c Squash merging 125 typo/grammar/comment/doc PRs (#7773) 2020-09-10 13:43:38 +03:00
endianconv.h Fix typo 2018-07-03 18:19:46 +02:00
evict.c Add support for client pause WRITE (#8170) 2021-01-07 23:36:54 -08:00
expire.c latency: add expire-del event (#8394) 2021-01-26 09:45:53 +08:00
fmacros.h Use H/W Monotonic clock and updates to AE (#7644) 2020-08-28 11:54:10 +03:00
geo.c GEOSEARCH - ANY option, for limited search that returns ASAP (#8259) 2021-01-08 18:29:44 +02:00
geo.h RDMF (Redis/Disque merge friendlyness) refactoring WIP 1. 2015-07-26 15:17:18 +02:00
geohash_helper.c Add GEOSEARCH / GEOSEARCHSTORE commands (#8094) 2020-12-12 02:21:05 +02:00
geohash_helper.h Add GEOSEARCH / GEOSEARCHSTORE commands (#8094) 2020-12-12 02:21:05 +02:00
geohash.c FIX: truncate max/min longitude,latitude related geo_point (ex: {180, 85.05112878} ) 2020-04-09 17:48:29 +08:00
geohash.h Add GEOSEARCH / GEOSEARCHSTORE commands (#8094) 2020-12-12 02:21:05 +02:00
gopher.c Gopher: don't add the Lastline. 2019-02-24 21:38:15 +01:00
help.h Typo fix: entires -> entries (#8031) 2020-11-08 08:32:38 +02:00
hyperloglog.c Flow through the error handling path for most errors (#8226) 2020-12-23 19:06:25 -08:00
intset.c Fix compile warning when define REDIS_TEST (#8261) 2021-01-09 19:52:42 +02:00
intset.h Sanitize dump payload: validate no duplicate records in hash/zset/intset 2020-12-06 14:54:34 +02:00
latency.c HELP subcommand, continued (#5531) 2021-01-04 17:02:57 +02:00
latency.h Disable THP if enabled (#7381) 2020-10-27 15:04:18 +02:00
lazyfree.c Add lazyfree-lazy-user-flush config to control default behavior of FLUSH[ALL|DB], SCRIPT FLUSH (#8258) 2021-01-15 15:32:58 +02:00
listpack_malloc.h Streams: change listpack allocator to zmalloc. 2017-12-01 10:24:24 +01:00
listpack.c Sanitize dump payload: fuzz tester and fixes for segfaults and leaks it exposed 2020-12-06 14:54:34 +02:00
listpack.h Sanitize dump payload: ziplist, listpack, zipmap, intset, stream 2020-12-06 14:54:34 +02:00
localtime.c update leap year comment when div by 400 2018-09-18 17:04:00 +08:00
lolwut5.c Squash merging 125 typo/grammar/comment/doc PRs (#7773) 2020-09-10 13:43:38 +03:00
lolwut6.c LOLWUT 6: always pick a default color sequence. 2019-10-28 11:10:58 +01:00
lolwut.c Squash merging 125 typo/grammar/comment/doc PRs (#7773) 2020-09-10 13:43:38 +03:00
lolwut.h add include guard for lolwut.h 2020-05-05 23:35:08 -04:00
lzf_c.c Upgrade LZF to 3.6 (2011) from 3.5 (2009) 2015-01-02 11:16:10 -05:00
lzf_d.c Sanitize dump payload: fuzz tester and fixes for segfaults and leaks it exposed 2020-12-06 14:54:34 +02:00
lzf.h No more trailing spaces in Redis source code. 2014-06-26 18:48:40 +02:00
lzfP.h Squash merging 125 typo/grammar/comment/doc PRs (#7773) 2020-09-10 13:43:38 +03:00
Makefile Fix random element selection for large hash tables. (#8133) 2020-12-23 15:52:07 +02:00
memtest.c Add support for Haiku OS (#7435) 2020-09-29 15:52:13 +03:00
mkreleasehdr.sh Update mkreleasehdr.sh 2019-11-19 17:23:47 +08:00
module.c Add modules API for streams (#8288) 2021-01-28 16:19:43 +02:00
monotonic.c Use H/W Monotonic clock and updates to AE (#7644) 2020-08-28 11:54:10 +03:00
monotonic.h Use H/W Monotonic clock and updates to AE (#7644) 2020-08-28 11:54:10 +03:00
mt19937-64.c Fix random element selection for large hash tables. (#8133) 2020-12-23 15:52:07 +02:00
mt19937-64.h Fix random element selection for large hash tables. (#8133) 2020-12-23 15:52:07 +02:00
multi.c Swapdb should make transaction fail if there is any client watching keys (#8239) 2021-01-04 14:48:28 +02:00
networking.c Use FD_CLOEXEC in Sentinel, so that FDs don't leak to the scripts it runs (#8242) 2021-01-19 22:57:30 +02:00
notify.c Squash merging 125 typo/grammar/comment/doc PRs (#7773) 2020-09-10 13:43:38 +03:00
object.c HELP subcommand, continued (#5531) 2021-01-04 17:02:57 +02:00
pqsort.c No more trailing spaces in Redis source code. 2014-06-26 18:48:40 +02:00
pqsort.h
pubsub.c HELP subcommand, continued (#5531) 2021-01-04 17:02:57 +02:00
quicklist.c Fix compile warning when define REDIS_TEST (#8261) 2021-01-09 19:52:42 +02:00
quicklist.h Squash merging 125 typo/grammar/comment/doc PRs (#7773) 2020-09-10 13:43:38 +03:00
rand.c Use 'void' for zero-argument functions 2014-08-08 10:05:32 +02:00
rand.h
rax_malloc.h Cluster: hash slots tracking using a radix tree. 2017-03-27 16:37:22 +02:00
rax.c Fix compile warning when define REDIS_TEST (#8261) 2021-01-09 19:52:42 +02:00
rax.h Squash merging 125 typo/grammar/comment/doc PRs (#7773) 2020-09-10 13:43:38 +03:00
rdb.c Fix overflow of rdbWriteRaw return value (#8306) 2021-01-12 08:22:53 +02:00
rdb.h Fix redis-check-rdb support for modules aux data (#7826) 2020-09-22 10:18:07 +03:00
redis-benchmark.c Fix random element selection for large hash tables. (#8133) 2020-12-23 15:52:07 +02:00
redis-check-aof.c Enlarge error buffer in redis-check-aof.c to remove compiler warning of output truncation through snprintf format string 2019-05-08 12:13:45 +01:00
redis-check-rdb.c Fix random element selection for large hash tables. (#8133) 2020-12-23 15:52:07 +02:00
redis-cli.c Implement rdb-only replication (#8303) 2021-01-27 17:13:10 +02:00
redis-trib.rb Redis-trib deprecated: it no longer works and it 2018-07-13 10:51:58 +02:00
redisassert.h Sanitize dump payload: performance optimizations and tuning 2020-12-06 14:54:34 +02:00
redismodule.h Add modules API for streams (#8288) 2021-01-28 16:19:43 +02:00
release.c Speedup INFO server section. 2019-10-02 11:30:20 +02:00
replication.c Implement rdb-only replication (#8303) 2021-01-27 17:13:10 +02:00
rio.c more strict check in rioConnRead (#7564) 2020-07-24 14:40:19 +08:00
rio.h diskless replication rdb transfer uses pipe, and writes to sockets form the parent process. 2019-10-07 21:06:30 +03:00
scripting.c Add lazyfree-lazy-user-flush config to control default behavior of FLUSH[ALL|DB], SCRIPT FLUSH (#8258) 2021-01-15 15:32:58 +02:00
sds.c sdscatfmt call sdsMakeRoomFor, asked for more space than intended (#8286) 2021-01-05 18:41:53 +02:00
sds.h Sanitize dump payload: fail RESTORE if memory allocation fails 2020-12-06 14:54:34 +02:00
sdsalloc.h Sanitize dump payload: fail RESTORE if memory allocation fails 2020-12-06 14:54:34 +02:00
sentinel.c Add hostname support in Sentinel. (#8282) 2021-01-28 12:09:11 +02:00
server.c Add 'set-proc-title' config so that this mechanism can be disabled (#3623) 2021-01-28 11:12:39 +02:00
server.h Add 'set-proc-title' config so that this mechanism can be disabled (#3623) 2021-01-28 11:12:39 +02:00
setcpuaffinity.c cpu affinity: DragonFlyBSD support (#7956) 2020-10-25 14:14:05 +02:00
setproctitle.c Fix setproctitle related crashes. (#8150) 2020-12-08 11:27:30 +02:00
sha1.c sha1.c: use standard uint32_t. 2015-04-27 12:07:49 +02:00
sha1.h sha1.c: use standard uint32_t. 2015-04-27 12:07:49 +02:00
sha256.c ACL: add slightly modified version of sha256.c for password hashing. 2019-09-12 12:21:37 +02:00
sha256.h ACL: add slightly modified version of sha256.c for password hashing. 2019-09-12 12:21:37 +02:00
siphash.c Squash merging 125 typo/grammar/comment/doc PRs (#7773) 2020-09-10 13:43:38 +03:00
slowlog.c HELP subcommand, continued (#5531) 2021-01-04 17:02:57 +02:00
slowlog.h Added the missed macro definition in slowlog.h 2019-12-02 00:28:41 -05:00
solarisfixes.h Check for __sun macro in solarisfixes.h, not in includers. 2015-01-09 11:23:22 +01:00
sort.c sort Command lookupKeyRead and lookupKeyWrite are used on the opposite (#8283) 2021-01-04 10:28:47 +02:00
sparkline.c Squash merging 125 typo/grammar/comment/doc PRs (#7773) 2020-09-10 13:43:38 +03:00
sparkline.h LATENCY GRAPH implemented. 2014-07-02 16:31:22 +02:00
stream.h Add modules API for streams (#8288) 2021-01-28 16:19:43 +02:00
syncio.c syncWithMaster(): non blocking state machine. 2015-08-06 18:12:20 +02:00
t_hash.c Fix some wrong server.dirty increments (#8140) 2020-12-15 09:30:24 +02:00
t_list.c Merge pushGenericCommand and pushxGenericCommand (#8255) 2020-12-29 22:37:37 -08:00
t_set.c Flow through the error handling path for most errors (#8226) 2020-12-23 19:06:25 -08:00
t_stream.c Add modules API for streams (#8288) 2021-01-28 16:19:43 +02:00
t_string.c GETEX, GETDEL and SET PXAT/EXAT (#8327) 2021-01-27 19:47:26 +02:00
t_zset.c Add tests for RESP3 responce of ZINTER and ZRANGE (#8391) 2021-01-26 17:55:32 +02:00
testhelp.h Fix some redundancy use of semicolon in do-while macros (#8221) 2020-12-21 22:57:45 -08:00
timeout.c Add missing calls to raxStop (#7532) 2020-07-21 08:13:05 +03:00
tls.c Removed usage of bool from tls.c (#8175) 2020-12-13 11:11:29 +02:00
tracking.c Throw error for conflicting bcast tracking prefixes (#8176) 2021-01-08 00:00:35 -08:00
util.c Update getTimeZone to long (#8346) 2021-01-18 11:37:05 +02:00
util.h Update getTimeZone to long (#8346) 2021-01-18 11:37:05 +02:00
valgrind.sup Sanitize dump payload: fuzz tester and fixes for segfaults and leaks it exposed 2020-12-06 14:54:34 +02:00
version.h Add Module API for version and compatibility checks (#7865) 2020-10-11 17:21:58 +03:00
ziplist.c Fix compile warning when define REDIS_TEST (#8261) 2021-01-09 19:52:42 +02:00
ziplist.h Sanitize dump payload: validate no duplicate records in hash/zset/intset 2020-12-06 14:54:34 +02:00
zipmap.c Sanitize dump payload: ziplist, listpack, zipmap, intset, stream 2020-12-06 14:54:34 +02:00
zipmap.h Sanitize dump payload: ziplist, listpack, zipmap, intset, stream 2020-12-06 14:54:34 +02:00
zmalloc.c Fix last COW INFO report, Skip test on non-linux platforms (#8301) 2021-01-08 23:35:30 +02:00
zmalloc.h Sanitize dump payload: fail RESTORE if memory allocation fails 2020-12-06 14:54:34 +02:00