mirror of
https://codeberg.org/redict/redict.git
synced 2025-01-23 08:38:27 -05:00
0f8692b464
- 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
48 lines
1.2 KiB
Tcl
48 lines
1.2 KiB
Tcl
set testmodule [file normalize tests/modules/scan.so]
|
|
|
|
start_server {tags {"modules"}} {
|
|
r module load $testmodule
|
|
|
|
test {Module scan keyspace} {
|
|
# the module create a scan command with filtering which also return values
|
|
r set x 1
|
|
r set y 2
|
|
r set z 3
|
|
r hset h f v
|
|
lsort [r scan.scan_strings]
|
|
} {{x 1} {y 2} {z 3}}
|
|
|
|
test {Module scan hash ziplist} {
|
|
r hmset hh f1 v1 f2 v2
|
|
lsort [r scan.scan_key hh]
|
|
} {{f1 v1} {f2 v2}}
|
|
|
|
test {Module scan hash dict} {
|
|
r config set hash-max-ziplist-entries 2
|
|
r hmset hh f3 v3
|
|
lsort [r scan.scan_key hh]
|
|
} {{f1 v1} {f2 v2} {f3 v3}}
|
|
|
|
test {Module scan zset ziplist} {
|
|
r zadd zz 1 f1 2 f2
|
|
lsort [r scan.scan_key zz]
|
|
} {{f1 1} {f2 2}}
|
|
|
|
test {Module scan zset dict} {
|
|
r config set zset-max-ziplist-entries 2
|
|
r zadd zz 3 f3
|
|
lsort [r scan.scan_key zz]
|
|
} {{f1 1} {f2 2} {f3 3}}
|
|
|
|
test {Module scan set intset} {
|
|
r sadd ss 1 2
|
|
lsort [r scan.scan_key ss]
|
|
} {{1 {}} {2 {}}}
|
|
|
|
test {Module scan set dict} {
|
|
r config set set-max-intset-entries 2
|
|
r sadd ss 3
|
|
lsort [r scan.scan_key ss]
|
|
} {{1 {}} {2 {}} {3 {}}}
|
|
}
|