From 7f7e3611845c7c9d7f38d83d7bc2187d114e8ec0 Mon Sep 17 00:00:00 2001 From: Trevor Basinger Date: Wed, 1 Jun 2016 11:30:17 -0500 Subject: [PATCH] Modified codec to properly encode decimals --- cql.cabal | 2 +- src/Database/CQL/Protocol/Codec.hs | 5 +++-- 2 files changed, 4 insertions(+), 3 deletions(-) diff --git a/cql.cabal b/cql.cabal index 3962f41..5207801 100644 --- a/cql.cabal +++ b/cql.cabal @@ -1,5 +1,5 @@ name: cql -version: 3.0.7 +version: 3.0.8 synopsis: Cassandra CQL binary protocol. stability: experimental license: MPL-2.0 diff --git a/src/Database/CQL/Protocol/Codec.hs b/src/Database/CQL/Protocol/Codec.hs index ffac019..801fb29 100644 --- a/src/Database/CQL/Protocol/Codec.hs +++ b/src/Database/CQL/Protocol/Codec.hs @@ -478,8 +478,9 @@ putNative _ (CqlInet x) = case x of putWord32host d putNative _ (CqlVarInt x) = integer2bytes x putNative _ (CqlDecimal x) = do - put (fromIntegral (decimalPlaces x) :: Int32) - integer2bytes (decimalMantissa x) + putWord32be (fromIntegral (decimalPlaces x)) + encodeInt (fromIntegral $ decimalMantissa x) + putNative V3 (CqlUdt x) = putByteString $ runPut (mapM_ (putValue V3 . snd) x) putNative V2 v@(CqlUdt _) = fail $ "putNative: udt: " ++ show v putNative _ v@(CqlList _) = fail $ "putNative: collection type: " ++ show v -- GitLab