packages feed

hedis 0.14.4 → 0.15.0

raw patch · 3 files changed

+34/−3 lines, 3 files

Files

CHANGELOG view
@@ -1,5 +1,9 @@ # Changelog for Hedis +## 0.15.0++* PR #174, Issue #173. Hedis fails to decode xstreamInfo response in case when the stream is empty+ ## 0.14.3  * PR #171. Support GHC 9
hedis.cabal view
@@ -1,5 +1,5 @@ name:               hedis-version:            0.14.4+version:            0.15.0 synopsis:     Client library for the Redis datastore: supports full command set,     pipelining.
src/Database/Redis/ManualCommands.hs view
@@ -1154,7 +1154,8 @@     -> m (f [XInfoGroupsResponse]) xinfoGroups stream = sendRequest ["XINFO", "GROUPS", stream] -data XInfoStreamResponse = XInfoStreamResponse+data XInfoStreamResponse +    = XInfoStreamResponse     { xinfoStreamLength :: Integer     , xinfoStreamRadixTreeKeys :: Integer     , xinfoStreamRadixTreeNodes :: Integer@@ -1162,12 +1163,29 @@     , xinfoStreamLastEntryId :: ByteString     , xinfoStreamFirstEntry :: StreamsRecord     , xinfoStreamLastEntry :: StreamsRecord-    } deriving (Show, Eq)+    } +    | XInfoStreamEmptyResponse+    { xinfoStreamLength :: Integer+    , xinfoStreamRadixTreeKeys :: Integer+    , xinfoStreamRadixTreeNodes :: Integer+    , xinfoStreamNumGroups :: Integer+    , xinfoStreamLastEntryId :: ByteString+    }+    deriving (Show, Eq)  instance RedisResult XInfoStreamResponse where     decode = decodeRedis5 <> decodeRedis6         where             decodeRedis5 (MultiBulk (Just [+                 Bulk (Just "length"),Integer xinfoStreamLength,+                 Bulk (Just "radix-tree-keys"),Integer xinfoStreamRadixTreeKeys,+                 Bulk (Just "radix-tree-nodes"),Integer xinfoStreamRadixTreeNodes,+                 Bulk (Just "groups"),Integer xinfoStreamNumGroups,+                 Bulk (Just "last-generated-id"),Bulk (Just xinfoStreamLastEntryId),+                 Bulk (Just "first-entry"), Bulk Nothing ,+                 Bulk (Just "last-entry"), Bulk Nothing ])) = do+                     return XInfoStreamEmptyResponse{..}+            decodeRedis5 (MultiBulk (Just [                 Bulk (Just "length"),Integer xinfoStreamLength,                 Bulk (Just "radix-tree-keys"),Integer xinfoStreamRadixTreeKeys,                 Bulk (Just "radix-tree-nodes"),Integer xinfoStreamRadixTreeNodes,@@ -1180,6 +1198,15 @@                     return XInfoStreamResponse{..}             decodeRedis5 a = Left a +            decodeRedis6 (MultiBulk (Just [+                Bulk (Just "length"),Integer xinfoStreamLength,+                Bulk (Just "radix-tree-keys"),Integer xinfoStreamRadixTreeKeys,+                Bulk (Just "radix-tree-nodes"),Integer xinfoStreamRadixTreeNodes,+                Bulk (Just "last-generated-id"),Bulk (Just xinfoStreamLastEntryId),+                Bulk (Just "groups"),Integer xinfoStreamNumGroups,+                Bulk (Just "first-entry"), Bulk Nothing ,+                Bulk (Just "last-entry"), Bulk Nothing ])) = do+                    return XInfoStreamEmptyResponse{..}             decodeRedis6 (MultiBulk (Just [                 Bulk (Just "length"),Integer xinfoStreamLength,                 Bulk (Just "radix-tree-keys"),Integer xinfoStreamRadixTreeKeys,