diff --git a/src/PostgREST/ApiRequest.hs b/src/PostgREST/ApiRequest.hs index ce228b948..10eb324c2 100644 --- a/src/PostgREST/ApiRequest.hs +++ b/src/PostgREST/ApiRequest.hs @@ -20,6 +20,7 @@ import PostgREST.RangeQuery (NonnegRange, rangeRequested) import PostgREST.Types (QualifiedIdentifier (..), Schema, Payload(..), UniformObjects(..)) +import Data.Ranged.Ranges (singletonRange) type RequestBody = BL.ByteString @@ -114,7 +115,7 @@ userApiRequest schema req reqBody = ApiRequest { iAction = action - , iRange = if singular then Nothing else rangeRequested hdrs + , iRange = if singular then Just (singletonRange 0) else rangeRequested hdrs , iTarget = target , iAccepts = pickContentType $ lookupHeader "accept" , iPayload = relevantPayload diff --git a/src/PostgREST/QueryBuilder.hs b/src/PostgREST/QueryBuilder.hs index e73ab758f..1445ffec3 100644 --- a/src/PostgREST/QueryBuilder.hs +++ b/src/PostgREST/QueryBuilder.hs @@ -34,7 +34,6 @@ import qualified Data.Aeson as JSON import PostgREST.RangeQuery (NonnegRange, rangeLimit, rangeOffset) import Control.Error (note, fromMaybe, mapMaybe) -import Data.Maybe (isNothing) import Control.Monad (join) import qualified Data.HashMap.Strict as HM import Data.List (find) @@ -55,8 +54,6 @@ import Data.Scientific ( FPFormat (..) ) import Prelude hiding (unwords) -import Data.Ranged.Ranges (singletonRange) - type PStmt = H.Stmt P.Postgres instance Monoid PStmt where mappend (B.Stmt query params prep) (B.Stmt query' params' prep') = @@ -74,7 +71,7 @@ createReadStatement selectQuery range isSingle countTable asCsv = if asCsv then asCsvF else if isSingle then asJsonSingleF else asJsonF - ] selectStarF (if isNothing range && isSingle then Just $ singletonRange 0 else range) + ] selectStarF range ) V.empty True createWriteStatement :: SqlQuery -> SqlQuery -> Bool -> Bool ->