Skip to content
This repository was archived by the owner on Feb 16, 2018. It is now read-only.

Commit f5614b4

Browse files
committed
Merge pull request #4 from justonia/fix-expiry
Fix issue #3 where key expiry is incorrectly propagated to keys without expiry
2 parents 3454dca + 0c276fd commit f5614b4

File tree

3 files changed

+10
-0
lines changed

3 files changed

+10
-0
lines changed

decoder.go

+1
Original file line numberDiff line numberDiff line change
@@ -188,6 +188,7 @@ func (d *decode) decode() error {
188188
if err != nil {
189189
return err
190190
}
191+
expiry = 0
191192
}
192193
}
193194

decoder_test.go

+9
Original file line numberDiff line numberDiff line change
@@ -38,6 +38,15 @@ func (s *DecoderSuite) TestExpiry(c *C) {
3838
c.Assert(r.expiries[0]["expires_ms_precision"], Equals, int64(1671963072573))
3939
}
4040

41+
func (s *DecoderSuite) TestMixedExpiry(c *C) {
42+
r := decodeRDB("keys_with_mixed_expiry")
43+
c.Assert(r.expiries[0]["key01"], Not(Equals), int64(0))
44+
c.Assert(r.expiries[0]["key04"], Not(Equals), int64(0))
45+
46+
c.Assert(r.expiries[0]["key02"], Equals, int64(0))
47+
c.Assert(r.expiries[0]["key03"], Equals, int64(0))
48+
}
49+
4150
func (s *DecoderSuite) TestIntegerKeys(c *C) {
4251
r := decodeRDB("integer_keys")
4352
c.Assert(r.dbs[0]["125"], Equals, "Positive 8 bit integer")

fixtures/keys_with_mixed_expiry.rdb

142 Bytes
Binary file not shown.

0 commit comments

Comments
 (0)