packages feed

tempodb 0.2.2.4 → 0.2.2.5

raw patch · 4 files changed

+23/−24 lines, 4 files

Files

src/Database/Tempodb/Methods/Read.hs view
@@ -10,14 +10,13 @@ import           Data.Aeson             as A import           Data.ByteString.Char8  as C8 import           Data.ByteString.Lazy   (fromStrict)-import           Data.Int import           Data.Monoid import           Database.Tempodb.Types import           Database.Tempodb.Util import           Network.HTTP.Base      (urlEncodeVars) import           Network.Http.Client -readOne :: IdOrKey -> Maybe QueryArgs -> Tempodb (Maybe (SeriesData Int64))+readOne :: IdOrKey -> Maybe QueryArgs -> Tempodb (Maybe SeriesData) readOne q qa = do     auth <- ask     req  <- liftIO . buildRequest $ do@@ -37,7 +36,7 @@         Nothing  -> mempty         Just qry -> "?" <> (C8.pack $ urlEncodeVars qry) -readMulti :: Maybe QueryArgs -> Tempodb (Maybe [SeriesData Int64])+readMulti :: Maybe QueryArgs -> Tempodb (Maybe [SeriesData]) readMulti q = do     auth <- ask     req  <- liftIO . buildRequest $ do
src/Database/Tempodb/Methods/Write.hs view
@@ -11,13 +11,12 @@ import           Data.Aeson             as A import           Data.ByteString.Char8  as C8 import           Data.ByteString.Lazy   (fromStrict, toStrict)-import           Data.Int import           Data.Monoid import           Database.Tempodb.Types as T import           Database.Tempodb.Util import           Network.Http.Client -writeOne :: IdOrKey -> Data Int64 -> Tempodb Bool+writeOne :: IdOrKey -> Data -> Tempodb Bool writeOne q d = do     let postdata = toStrict $ A.encode d     auth <- ask@@ -35,7 +34,7 @@     ident (T.SeriesKey k) = "/key/" <> k     path = rootpath <> "/series" <> (ident q) -writeBulk :: Bulk Int64 -> Tempodb Bool+writeBulk :: Bulk -> Tempodb Bool writeBulk d = do     let postData = toStrict $ A.encode d     auth <- ask@@ -48,7 +47,7 @@      return True -writeMulti :: [Data Int64] -> T.Tempodb (Either (Maybe [Data Int64]) Bool)+writeMulti :: [Data] -> T.Tempodb (Either (Maybe [Data]) Bool) writeMulti d = do     let postData = toStrict $ A.encode d     auth <- ask
src/Database/Tempodb/Types.hs view
@@ -12,7 +12,6 @@ import           Data.Aeson.Types import qualified Data.ByteString       as B import           Data.ByteString.Char8 as C8-import           Data.Int import           Data.Map              (Map) import qualified Data.Text             as T import           Data.Text.Encoding    (decodeUtf8, encodeUtf8)@@ -84,18 +83,20 @@     parseJSON = withText "ByteString" $ pure . encodeUtf8     {-# INLINE parseJSON #-} -data Data a = Data+data Data = Data     { uid       :: Maybe IdOrKey     , timestamp :: Maybe TempoDBTime-    , value     :: a+    , value     :: Double     } deriving (Show, Eq) -instance Ord a => Ord (Data a) where-    compare (Data _ t _) (Data _ t' _) = t `compare` t'+instance Ord Data where+    compare (Data _ (Just t) _) (Data _ (Just t') _) = compare t t'+    -- compare (Data _ Nothing _) (Data _ t' _)         = compare Nothing t'+    -- compare (Data _ Nothing v) (Data _ Nothing v')   = compare v v' -data Bulk a = Bulk+data Bulk = Bulk     { timestmp   :: TempoDBTime-    , bulkValues :: [Data a]+    , bulkValues :: [Data]     } deriving (Show, Eq, Ord)  data Rollup = Rollup@@ -114,16 +115,16 @@     , count  :: Int     } deriving (Show, Eq, Ord) -data SeriesData a = SeriesData+data SeriesData = SeriesData     { series  :: Series     , start   :: TempoDBTime     , end     :: TempoDBTime-    , values  :: [Data a]+    , values  :: [Data]     , rollup  :: Maybe Rollup     , summary :: Summary     } deriving (Show, Eq, Ord) -instance FromJSON (SeriesData Int64) where+instance FromJSON SeriesData where     parseJSON (Object o) = SeriesData    <$>                            o .: "series" <*>                            o .: "start"  <*>@@ -134,13 +135,13 @@      parseJSON _ = mzero -instance FromJSON (Bulk Int64) where+instance FromJSON Bulk where     parseJSON (Object o) = Bulk     <$>                            o .: "t" <*>                            o .: "data"     parseJSON _ = mzero -instance ToJSON (Bulk Int64) where+instance ToJSON Bulk where     toJSON (Bulk t v) = object         [ "t"    .= t         , "data" .= v@@ -178,10 +179,10 @@                   Nothing -> mzero     parseJSON _          = mzero -instance FromJSON (Data Int64) where+instance FromJSON Data where     parseJSON = parseSeriesData -parseSeriesData :: Value -> Parser (Data Int64)+parseSeriesData :: Value -> Parser Data parseSeriesData v = do     case v of         Object o -> do@@ -199,10 +200,10 @@         Nothing    -> return Nothing         Just idkey -> return . Just $ SeriesKey idkey -instance ToJSON (Data Int64) where+instance ToJSON Data where     toJSON = buildSeriesData -buildSeriesData :: (Data Int64) -> Value+buildSeriesData :: Data -> Value buildSeriesData (Data i t v) = object . ts . eid $ ["v" .= v]   where     ts l = case t of
tempodb.cabal view
@@ -1,5 +1,5 @@ name:                tempodb-version:             0.2.2.4+version:             0.2.2.5 synopsis:            A small Haskell wrapper around the TempoDB api.  description:         TempoDB is a time-series database as-a-service with a