From 618708b85387d1966b2d8fbeff310f004d44b3ff Mon Sep 17 00:00:00 2001 From: Daniele Alessandri Date: Sun, 11 Jul 2010 16:35:03 +0200 Subject: [PATCH] Fix handling of the WEIGHT modifier for ZUNIONSTORE and ZINTERSTORE with more than two weights specified. --- CHANGELOG | 3 +++ lib/Predis.php | 5 +++-- 2 files changed, 6 insertions(+), 2 deletions(-) diff --git a/CHANGELOG b/CHANGELOG index 2e92e895..71b43358 100644 --- a/CHANGELOG +++ b/CHANGELOG @@ -34,6 +34,9 @@ v0.6.1 (2010-xx-xx) Backwards compatibility with previous releases of Predis is ensured. The method Predis\Client::pipelineSafe() is to be considered deprecated. + * FIX: The WEIGHT modifier for ZUNIONSTORE and ZINTERSTORE was handled + incorrectly with more than two weights specified. + v0.6.0 (2010-05-24) * Switched to the new multi-bulk request protocol for all of the commands in the Redis 1.2 and Redis 2.0 profiles. Inline and bulk requests are now diff --git a/lib/Predis.php b/lib/Predis.php index 9f2fdcf1..05192104 100644 --- a/lib/Predis.php +++ b/lib/Predis.php @@ -2509,8 +2509,9 @@ class ZSetUnionStore extends \Predis\MultiBulkCommand { $finalizedOpts = array(); if (isset($opts['WEIGHTS']) && is_array($opts['WEIGHTS'])) { $finalizedOpts[] = 'WEIGHTS'; - $finalizedOpts[] = $opts['WEIGHTS'][0]; - $finalizedOpts[] = $opts['WEIGHTS'][1]; + foreach ($opts['WEIGHTS'] as $weight) { + $finalizedOpts[] = $weight; + } } if (isset($opts['AGGREGATE'])) { $finalizedOpts[] = 'AGGREGATE';