disambiguate range selection when plurality=singular

This commit is contained in:
Ruslan Talpa
2015-11-24 09:39:44 +02:00
parent e623cf8198
commit f678dff735
2 changed files with 3 additions and 5 deletions
+2 -1
View File
@@ -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
+1 -4
View File
@@ -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 ->