From 83ffdc8bc8ae1aefd97e7dfdc880bfe6f5759920 Mon Sep 17 00:00:00 2001 From: Daniele Alessandri Date: Sat, 24 Apr 2010 12:00:46 +0200 Subject: [PATCH] Various fixes for HMSET and HMSET. --- lib/Predis.php | 25 +++++++++++++++++++++++-- 1 file changed, 23 insertions(+), 2 deletions(-) diff --git a/lib/Predis.php b/lib/Predis.php index 8efacdc7..6adcb622 100644 --- a/lib/Predis.php +++ b/lib/Predis.php @@ -2158,8 +2158,19 @@ class HashSetPreserve extends \Predis\MultiBulkCommand { } class HashSetMultiple extends \Predis\MultiBulkCommand { - public function canBeHashed() { return false; } public function getCommandId() { return 'HMSET'; } + public function filterArguments(Array $arguments) { + if (count($arguments) === 2 && is_array($arguments[1])) { + $flattenedKVs = array($arguments[0]); + $args = &$arguments[1]; + foreach ($args as $k => $v) { + $flattenedKVs[] = $k; + $flattenedKVs[] = $v; + } + return $flattenedKVs; + } + return $arguments; + } } class HashIncrementBy extends \Predis\MultiBulkCommand { @@ -2171,8 +2182,18 @@ class HashGet extends \Predis\MultiBulkCommand { } class HashGetMultiple extends \Predis\MultiBulkCommand { - public function canBeHashed() { return false; } public function getCommandId() { return 'HMGET'; } + public function filterArguments(Array $arguments) { + if (count($arguments) === 2 && is_array($arguments[1])) { + $flattenedKVs = array($arguments[0]); + $args = &$arguments[1]; + foreach ($args as $v) { + $flattenedKVs[] = $v; + } + return $flattenedKVs; + } + return $arguments; + } } class HashDelete extends \Predis\MultiBulkCommand {