1. 22 11月, 2019 1 次提交
  2. 21 11月, 2019 1 次提交
  3. 19 11月, 2019 1 次提交
  4. 14 11月, 2019 3 次提交
  5. 11 11月, 2019 2 次提交
    • O
      Add RM_ScanKey to scan hash, set, zset, changes to RM_Scan API · 0f8692b4
      Oran Agra 提交于
      - Adding RM_ScanKey
      - Adding tests for RM_ScanKey
      - Refactoring RM_Scan API
      
      Changes in RM_Scan
      - cleanup in docs and coding convention
      - Moving out of experimantal Api
      - Adding ctx to scan callback
      - Dont use cursor of -1 as an indication of done (can be a valid cursor)
      - Set errno when returning 0 for various reasons
      - Rename Cursor to ScanCursor
      - Test filters key that are not strings, and opens a key if NULL
      0f8692b4
    • M
      Added scan implementation to module api. · 11c6ce81
      meir@redislabs.com 提交于
      The implementation expose the following new functions:
      1. RedisModule_CursorCreate - allow to create a new cursor object for
      keys scanning
      2. RedisModule_CursorRestart - restart an existing cursor to restart the
      scan
      3. RedisModule_CursorDestroy - destroy an existing cursor
      4. RedisModule_Scan - scan keys
      
      The RedisModule_Scan function gets a cursor object, a callback and void*
      (used as user private data).
      The callback will be called for each key in the database proving the key
      name and the value as RedisModuleKey.
      11c6ce81
  6. 10 11月, 2019 1 次提交
    • O
      rename RN_SetLRUOrLFU -> RM_SetLRU and RN_SetLFU · 28c20b4e
      Oran Agra 提交于
      - the API name was odd, separated to two apis one for LRU and one for LFU
      - the LRU idle time was in 1 second resolution, which might be ok for RDB
        and RESTORE, but i think modules may need higher resolution
      - adding tests for LFU and for handling maxmemory policy mismatch
      28c20b4e
  7. 06 11月, 2019 5 次提交
  8. 05 11月, 2019 3 次提交
  9. 04 11月, 2019 3 次提交
  10. 03 11月, 2019 2 次提交
    • O
      Module API for loading and saving long double · 779aebc9
      Oran Agra 提交于
      looks like each platform implements long double differently (different bit count)
      so we can't save them as binary, and we also want to avoid creating a new RDB
      format version, so we save these are hex strings using "%La".
      
      This commit includes a change in the arguments of ld2string to support this.
      as well as tests for coverage and short reads.
      
      coded by @guybe7
      779aebc9
    • O
      Add module api for looking into INFO fields · 4d580438
      Oran Agra 提交于
      - Add RM_GetServerInfo and friends
      - Add auto memory for new opaque struct
      - Add tests for new APIs
      
      other minor fixes:
      - add const in various char pointers
      - requested_section in modulesCollectInfo was actually not sds but char*
      - extract new string2d out of getDoubleFromObject for code reuse
      
      Add module API for
      4d580438
  11. 01 11月, 2019 2 次提交
  12. 31 10月, 2019 4 次提交
  13. 30 10月, 2019 3 次提交
  14. 29 10月, 2019 2 次提交
    • O
      Modules hooks: complete missing hooks for the initial set of hooks · 51c3ff8d
      Oran Agra 提交于
      * replication hooks: role change, master link status, replica online/offline
      * persistence hooks: saving, loading, loading progress
      * misc hooks: cron loop, shutdown, module loaded/unloaded
      * change the way hooks test work, and add tests for all of the above
      
      startLoading() now gets flag indicating what is loaded.
      stopLoading() now gets an indication of success or failure.
      adding startSaving() and stopSaving() with similar args and role.
      51c3ff8d
    • O
      Module API for controlling LRU and LFU, and OpenKey without TOUCH · e978bdf9
      Oran Agra 提交于
      Some commands would want to open a key without touching it's LRU/LFU
      similarly to the OBJECT or DEBUG command do.
      
      Other commands may want to implement logic similar to what RESTORE
      does (and in the future MIGRATE) and get/set the LRU or LFU.
      e978bdf9
  15. 28 10月, 2019 5 次提交
    • O
      Module api tests for RM_Call · 0399b5a2
      Oran Agra 提交于
      Adding a test for coverage for RM_Call in a new "misc" unit
      to be used for various short simple tests
      
      also solves compilation warnings in redismodule.h and fork.c
      0399b5a2
    • G
      Modules: Allow notifying custom keyspace events · cee6dead
      Guy Benoish 提交于
      Also, add an API for getting server.notify_keyspace_events
      
      Other (unrelated) changes:
      Add RM_GetKeynameFromModuleKey
      cee6dead
    • O
      Module API for explicit SignalModifiedKey instead of implicit one. · a12f0779
      Oran Agra 提交于
      This commit also fixes an uninitialized module struct member (that luckily never got released)
      a12f0779
    • S
      Introduce ReplyWithVerbatimString, ReplyWithEmptyArray, ReplyWithNullArray and... · 56a7c455
      swilly22 提交于
      Introduce ReplyWithVerbatimString, ReplyWithEmptyArray, ReplyWithNullArray and ReplyWithEmptyString to redis module API
      56a7c455
    • Z
      Modules: make unloading module more safe · c74398e1
      zhaozhao.zz 提交于
      As we know if a module exports module-side data types,
      unload it is not allowed. This rule is the same with
      blocked clients in module, because we use background
      threads to implement module blocked clients, and it's
      not safe to unload a module if there are background
      threads running. So it's necessary to check if any
      blocked clients running in this module when unload it.
      
      Moreover, after that we can ensure that if no modules,
      then no module blocked clients even module unloaded.
      So, we can call moduleHandleBlockedClients only when
      we have installed modules.
      c74398e1
  16. 24 10月, 2019 2 次提交