1. 05 Mar, 2020 3 commits
    • Oran Agra's avatar
      RM_Scan disable dict rehashing · fff6b26a
      Oran Agra authored
      The callback approach we took is very efficient, the module can do any
      filtering of keys without building any list and cloning strings, it can
      also read data from the key's value. but if the user tries to re-open
      the key, or any other key, this can cause dict re-hashing (dictFind does
      that), and that's very bad to do from inside dictScan.
      
      this commit protects the dict from doing any rehashing during scan, but
      also warns the user not to attempt any writes or command calls from
      within the callback, for fear of unexpected side effects and crashes.
      fff6b26a
    • Guy Benoish's avatar
      Add RM_CreateStringFromDouble · 65048460
      Guy Benoish authored
      65048460
    • Oran Agra's avatar
      module api docs for aux_save and aux_load · afe0b16c
      Oran Agra authored
      afe0b16c
  2. 27 Feb, 2020 4 commits
  3. 12 Feb, 2020 4 commits
  4. 04 Feb, 2020 4 commits
    • Oran Agra's avatar
      fix uninitialized info_cb var in module.c · ec0c61da
      Oran Agra authored
      ec0c61da
    • Guy Benoish's avatar
      ld2string should fail if string contains \0 in the middle · 6fe55c2f
      Guy Benoish authored
      This bug affected RM_StringToLongDouble and HINCRBYFLOAT.
      I added tests for both cases.
      
      Main changes:
      1. Fixed string2ld to fail if string contains \0 in the middle
      2. Use string2ld in getLongDoubleFromObject - No point of
         having duplicated code here
      
      The two changes above broke RM_SaveLongDouble/RM_LoadLongDouble
      because the long double string was saved with length+1 (An innocent
      mistake, but it's actually a bug - The length passed to
      RM_SaveLongDouble should not include the last \0).
      6fe55c2f
    • antirez's avatar
      bbce3ba9
    • Guy Benoish's avatar
      Modules: Fix blocked-client-related memory leak · 40295fb3
      Guy Benoish authored
      If a blocked module client times-out (or disconnects, unblocked
      by CLIENT command, etc.) we need to call moduleUnblockClient
      in order to free memory allocated by the module sub-system
      and blocked-client private data
      
      Other changes:
      Made blockedonkeys.tcl tests a bit more aggressive in order
      to smoke-out potential memory leaks
      40295fb3
  5. 10 Jan, 2020 1 commit
  6. 29 Dec, 2019 1 commit
  7. 18 Dec, 2019 3 commits
  8. 17 Dec, 2019 4 commits
  9. 13 Dec, 2019 1 commit
  10. 12 Dec, 2019 3 commits
    • Yossi Gottlieb's avatar
      Improve RM_ModuleTypeReplaceValue() API. · 0283db58
      Yossi Gottlieb authored
      With the previous API, a NULL return value was ambiguous and could
      represent either an old value of NULL or an error condition. The new API
      returns a status code and allows the old value to be returned
      by-reference.
      
      This commit also includes test coverage based on
      tests/modules/datatype.c which did not exist at the time of the original
      commit.
      0283db58
    • antirez's avatar
      Remove useless space from moduleLoad(). · 476333d1
      antirez authored
      476333d1
    • Oran Agra's avatar
      Add module API for AvoidReplicaTraffic · b5f3247c
      Oran Agra authored
      This is useful to tell redis and modules to try to avoid doing things that may
      increment the replication offset, and should be used when draining a master
      and waiting for replicas to be in perfect sync before a failover.
      b5f3247c
  11. 11 Dec, 2019 1 commit
  12. 09 Dec, 2019 1 commit
  13. 05 Dec, 2019 1 commit
  14. 03 Dec, 2019 1 commit
  15. 22 Nov, 2019 2 commits
  16. 21 Nov, 2019 1 commit
  17. 19 Nov, 2019 1 commit
  18. 14 Nov, 2019 3 commits
  19. 11 Nov, 2019 1 commit
    • Oran Agra's avatar
      Add RM_ScanKey to scan hash, set, zset, changes to RM_Scan API · 0f8692b4
      Oran Agra authored
      - 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