Consistency test improved

This commit is contained in:
antirez
2010-07-27 14:42:11 +02:00
parent f99e660b44
commit dd3f505ff5
2 changed files with 99 additions and 16 deletions

View File

@@ -224,3 +224,52 @@ proc formatCommand {args} {
}
set _ $cmd
}
proc csvdump r {
set o {}
foreach k [lsort [$r keys *]] {
set type [$r type $k]
append o [csvstring $k] , [csvstring $type] ,
switch $type {
string {
append o [csvstring [$r get $k]] "\n"
}
list {
foreach e [$r lrange $k 0 -1] {
append o [csvstring $e] ,
}
append o "\n"
}
set {
foreach e [lsort [$r smembers $k]] {
append o [csvstring $e] ,
}
append o "\n"
}
zset {
foreach e [$r zrange $k 0 -1 withscores] {
append o [csvstring $e] ,
}
append o "\n"
}
hash {
set fields [$r hgetall $k]
set newfields {}
foreach {k v} $fields {
lappend newfields [list $k $v]
}
set fields [lsort -index 0 $newfields]
foreach kv $fields {
append o [csvstring [lindex $kv 0]] ,
append o [csvstring [lindex $kv 1]] ,
}
append o "\n"
}
}
}
return $o
}
proc csvstring s {
return "\"$s\""
}