git.iko.soy/typeable/bloodhound
on master help sign in
warnings cleanup, partial instances, name overlaps
commit09c57f730f6c79f2c9b67eb965ced16466e2c52f authorChris Allen <cma@bitemyapp.com> dateMon 20 Oct 2014, 00:39 (12 years ago) parent2e6a856
4 files changed+20−17
Database/Bloodhound/Client.hs+1−1 Database/Bloodhound/Types.hs+14−12 bloodhound.cabal+1−1 tests/tests.hs+4−3
Database/Bloodhound/Client.hs+1−1
@@ -248,7 +248,7 @@ mkSearch :: Maybe Query -> Maybe Filter -> Search
248248mkSearch query filter = Search query filter Nothing Nothing False 0 10
249249
250250mkAggregateSearch :: Maybe Query -> Aggregations -> Search
251−mkAggregateSearch query aggregations = Search query Nothing Nothing (Just aggregations) False 0 0
251+mkAggregateSearch query mkSearchAggs = Search query Nothing Nothing (Just mkSearchAggs) False 0 0
252252
253253pageSearch :: Int -> Int -> Search -> Search
254254pageSearch pageFrom pageSize search = search { from = pageFrom, size = pageSize }
Database/Bloodhound/Types.hs+14−12
@@ -162,8 +162,8 @@ module Database.Bloodhound.Types
162162 , BucketAggregation(..)
163163 , TermsAggregation(..)
164164 , DateHistogramAggregation(..)
165− , TermsResult
166− , DateHistogramResult
165+ , TermsResult(..)
166+ , DateHistogramResult(..)
167167 ) where
168168
169169import Control.Applicative
@@ -1080,7 +1080,7 @@ instance Show TimeInterval where
10801080 show Seconds = "s"
10811081
10821082instance ToJSON Aggregation where
1083− toJSON (TermsAgg (TermsAggregation term include exclude order minDocCount size shardSize collectMode executionHint aggs)) =
1083+ toJSON (TermsAgg (TermsAggregation term include exclude order minDocCount size shardSize collectMode executionHint termAggs)) =
10841084 omitNulls ["terms" .= omitNulls [ toJSON' term,
10851085 "include" .= toJSON include,
10861086 "exclude" .= toJSON exclude,
@@ -1091,11 +1091,11 @@ instance ToJSON Aggregation where
10911091 "collect_mode" .= toJSON collectMode,
10921092 "execution_hint" .= toJSON executionHint
10931093 ],
1094− "aggs" .= toJSON aggs ]
1094+ "aggs" .= toJSON termAggs ]
10951095 where
10961096 toJSON' x = case x of { Left y -> "field" .= toJSON y; Right y -> "script" .= toJSON y }
10971097
1098− toJSON (DateHistogramAgg (DateHistogramAggregation field interval format preZone postZone preOffset postOffset aggs)) =
1098+ toJSON (DateHistogramAgg (DateHistogramAggregation field interval format preZone postZone preOffset postOffset dateHistoAggs)) =
10991099 omitNulls ["date_histogram" .= omitNulls [ "field" .= toJSON field,
11001100 "interval" .= toJSON interval,
11011101 "format" .= toJSON format,
@@ -1104,7 +1104,7 @@ instance ToJSON Aggregation where
11041104 "pre_offset" .= toJSON preOffset,
11051105 "post_offset" .= toJSON postOffset
11061106 ],
1107− "aggs" .= toJSON aggs ]
1107+ "aggs" .= toJSON dateHistoAggs ]
11081108
11091109type AggregationResults = M.Map Text Value
11101110
@@ -1153,6 +1153,7 @@ instance FromJSON TermsResult where
11531153 v .: "key" <*>
11541154 v .: "doc_count" <*>
11551155 v .:? "aggregations"
1156+ parseJSON _ = mempty
11561157
11571158instance FromJSON DateHistogramResult where
11581159 parseJSON (Object v) = DateHistogramResult <$>
@@ -1160,6 +1161,7 @@ instance FromJSON DateHistogramResult where
11601161 v .:? "key_as_string" <*>
11611162 v .: "doc_count" <*>
11621163 v .:? "aggregations"
1164+ parseJSON _ = mempty
11631165
11641166instance Monoid Filter where
11651167 mempty = IdentityFilter
@@ -1244,11 +1246,11 @@ instance ToJSON Filter where
12441246 toJSON (RangeFilter (FieldName fieldName) (Left halfRange) rangeExecution cache) =
12451247 object ["range" .=
12461248 object [fieldName .=
1247− object [key .= val]
1249+ object [rqFKey .= rqFVal]
12481250 , "execution" .= toJSON rangeExecution
12491251 , "_cache" .= cache]]
12501252 where
1251− (key, val) = halfRangeToKV halfRange
1253+ (rqFKey, rqFVal) = halfRangeToKV halfRange
12521254
12531255 toJSON (RangeFilter (FieldName fieldName) (Right range) rangeExecution cache) =
12541256 object ["range" .=
@@ -1462,8 +1464,8 @@ instance ToJSON RangeQuery where
14621464 toJSON (RangeQuery (FieldName fieldName) (Left halfRange) boost) =
14631465 object [ fieldName .= conjoined ]
14641466 where conjoined = [ "boost" .= toJSON boost
1465− , key .= val ]
1466− (key, val) = halfRangeToKV halfRange
1467+ , rqKey .= rqVal ]
1468+ (rqKey, rqVal) = halfRangeToKV halfRange
14671469
14681470
14691471instance ToJSON PrefixQuery where
@@ -1754,11 +1756,11 @@ instance (FromJSON a) => FromJSON (EsResult a) where
17541756
17551757
17561758instance ToJSON Search where
1757− toJSON (Search query sFilter sort aggs sTrackSortScores sFrom sSize) =
1759+ toJSON (Search query sFilter sort searchAggs sTrackSortScores sFrom sSize) =
17581760 omitNulls [ "query" .= query
17591761 , "filter" .= sFilter
17601762 , "sort" .= sort
1761− , "aggregations" .= aggs
1763+ , "aggregations" .= searchAggs
17621764 , "from" .= sFrom
17631765 , "size" .= sSize
17641766 , "track_scores" .= sTrackSortScores ]
bloodhound.cabal+1−1
@@ -17,7 +17,7 @@ source-repository head
1717 location: https://github.com/bitemyapp/bloodhound.git
1818
1919library
20− ghc-options: -Wall
20+ ghc-options: -Wall -Werror
2121 default-extensions: OverloadedStrings
2222 exposed-modules: Database.Bloodhound
2323 Database.Bloodhound.Client
tests/tests.hs+4−3
@@ -6,7 +6,6 @@ module Main where
66import Control.Applicative
77import Control.Monad
88import Data.Aeson
9−import Data.Aeson.Types (parseMaybe)
109import Data.HashMap.Strict (fromList)
1110import Data.List (nub)
1211import Data.List.NonEmpty (NonEmpty (..))
@@ -60,10 +59,12 @@ es10 :: ServerVersion
6059es10 = ServerVersion 1 0 0
6160
6261serverBranch :: ServerVersion -> ServerVersion
63−serverBranch (ServerVersion maj min patch) = ServerVersion maj min 0
62+serverBranch (ServerVersion majorVer minorVer patchVer) =
63+ ServerVersion majorVer minorVer patchVer
6464
6565mkServerVersion :: [Int] -> Maybe ServerVersion
66−mkServerVersion [maj, min, patch] = Just (ServerVersion maj min patch)
66+mkServerVersion [majorVer, minorVer, patchVer] =
67+ Just (ServerVersion majorVer minorVer patchVer)
6768mkServerVersion _ = Nothing
6869
6970getServerVersion :: Server -> IO (Maybe ServerVersion)