Compare commits

...

1 Commits

Author SHA1 Message Date
Daniele Alessandri 0546f74374 Backported changes from the mainline library to the PHP 5.2 branch (up to commit f76d616) 2011-02-12 21:56:38 +01:00
5 changed files with 17 additions and 3 deletions
+5
View File
@@ -1,3 +1,8 @@
v0.6.5 (2011-02-12)
* FIX: due to an untested internal change introduced in v0.6.4, a wrong
handling of bulk reads of zero-length values was producing protocol
desynchronization errors (ISSUE #20).
v0.6.4 (2011-02-12)
* Various performance improvements (15% ~ 25%) especially when dealing with
long multibulk replies or when using clustered connections.
+1 -1
View File
@@ -1 +1 @@
0.6.4
0.6.5
+1 -1
View File
@@ -585,7 +585,7 @@ class Predis_ResponseBulkHandler implements Predis_IResponseHandler {
));
}
if ($length >= 0) {
return $length > 0 ? substr($connection->readBytes($length + 2), 0, -2) : '';
return substr($connection->readBytes($length + 2), 0, -2);
}
if ($length == -1) {
return null;
+6
View File
@@ -401,6 +401,12 @@ class PredisClientFeaturesTestSuite extends PHPUnit_Framework_TestCase {
$this->assertEquals(RC::EXCEPTION_WRONG_TYPE, $thrownException->getMessage());
}
function testResponseReader_EmptyBulkResponse() {
$this->assertTrue($this->redis->set('foo', ''));
$this->assertEquals('', $this->redis->get('foo'));
$this->assertEquals('', $this->redis->get('foo'));
}
/* Client + CommandPipeline */
+4 -1
View File
@@ -90,8 +90,11 @@ class RedisCommandTestSuite extends PHPUnit_Framework_TestCase {
function testGet() {
$this->redis->set('foo', 'bar');
$this->assertEquals('bar', $this->redis->get('foo'));
$this->assertTrue($this->redis->set('foo', ''));
$this->assertEquals('', $this->redis->get('foo'));
$this->assertNull($this->redis->get('fooDoesNotExist'));
// should throw an exception when trying to do a GET on non-string types