fix: unnecessary count() on RPC returning single

This commit is contained in:
steve-chavez
2023-10-19 15:54:22 -05:00
committed by Steve Chavez
parent 00f3cb3746
commit 54786a6c04
4 changed files with 16 additions and 4 deletions
+4 -2
View File
@@ -29,7 +29,7 @@ import PostgREST.MediaType (MTPlanFormat (..),
MediaType (..))
import PostgREST.Query.SqlFragment
import PostgREST.SchemaCache.Routine (ResultAggregate (..),
Routine)
Routine, funcReturnsSingle)
import Protolude
@@ -121,7 +121,9 @@ prepareCall rout callProcQuery selectQuery countQuery countTotal mt rAgg =
countCTEF <>
"SELECT " <>
countResultF <> " AS total_result_set, " <>
"pg_catalog.count(_postgrest_t) AS page_total, " <>
(if funcReturnsSingle rout
then "1"
else "pg_catalog.count(_postgrest_t)") <> " AS page_total, " <>
aggF (Just rout) rAgg <> " AS body, " <>
responseHeadersF <> " AS response_headers, " <>
responseStatusF <> " AS response_status " <>