correct query on rpc count=exact

corrects bad logic on e4006da(perf: remove toSourceRel)
This commit is contained in:
steve-chavez
2022-07-16 17:18:25 -05:00
committed by Steve Chavez
parent 2905753194
commit c445105d55
2 changed files with 16 additions and 1 deletions
+2 -1
View File
@@ -236,11 +236,12 @@ readRequestToCountQuery (Node (Select{from=mainQi, fromAlias=tblAlias, implicitJ
then mempty
else " WHERE " ) <>
intercalateSnippet " AND " (
map (pgFmtLogicTree mainQi) logicForest ++
map (pgFmtLogicTree treeQi) logicForest ++
map pgFmtJoinCondition joinConditions_ ++
subQueries
)
where
treeQi = maybe mainQi (QualifiedIdentifier (qiSchema mainQi)) tblAlias
tabl = fromQi mainQi <> maybe mempty (\a -> " AS " <> pgFmtIdent a) tblAlias
implJs = fromQi <$> implJoins
subQueries = foldr existsSubquery [] forest
+14
View File
@@ -69,6 +69,20 @@ spec actualPgVersion =
, "Content-Range" <:> "0-0/2" ]
}
it "includes exact count if requested" $ do
request methodHead "/rpc/getallprojects"
[("Prefer", "count=exact")] ""
`shouldRespondWith` ""
{ matchStatus = 200
, matchHeaders = ["Content-Range" <:> "0-4/5"]
}
request methodHead "/rpc/getallprojects?select=*,clients!inner(*)&clients.id=eq.1"
[("Prefer", "count=exact")] ""
`shouldRespondWith` ""
{ matchStatus = 200
, matchHeaders = ["Content-Range" <:> "0-1/2"]
}
it "returns proper json" $ do
post "/rpc/getitemrange" [json| { "min": 2, "max": 4 } |] `shouldRespondWith`
[json| [ {"id": 3}, {"id":4} ] |]