fix: regression that truncates error message when offset is out of bounds
- Happens when offset > the number of rows and when "Prefer: count=exact" header is sent
- Regression introduced in commit 57ef998
This commit is contained in:
@@ -10,6 +10,9 @@ All notable changes to this project will be documented in this file. From versio
|
|||||||
|
|
||||||
## [14.1] - 2025-11-05
|
## [14.1] - 2025-11-05
|
||||||
|
|
||||||
|
- Fix regression where the `PGRST103` error response was truncated by @laurenceisla in #4455
|
||||||
|
+ Happened when an `offset` was greater than the rows requested and `Prefer: count=exact` was sent.
|
||||||
|
|
||||||
## Fixed
|
## Fixed
|
||||||
|
|
||||||
- Fix `db-pre-config` function failing when function names are pg reserved words by @taimoorzaeem in #4380
|
- Fix `db-pre-config` function failing when function names are pg reserved words by @taimoorzaeem in #4380
|
||||||
|
|||||||
@@ -65,7 +65,7 @@ actionResponse :: DbResult -> ApiRequest -> (Text, Text) -> AppConfig -> SchemaC
|
|||||||
actionResponse (DbCrudResult WrappedReadPlan{pMedia, wrHdrsOnly=headersOnly, crudQi=identifier} RSStandard{..}) ctxApiRequest@ApiRequest{iPreferences=Preferences{..},..} _ _ _ _ _ = do
|
actionResponse (DbCrudResult WrappedReadPlan{pMedia, wrHdrsOnly=headersOnly, crudQi=identifier} RSStandard{..}) ctxApiRequest@ApiRequest{iPreferences=Preferences{..},..} _ _ _ _ _ = do
|
||||||
let
|
let
|
||||||
(status, contentRange) = RangeQuery.rangeStatusHeader iTopLevelRange rsQueryTotal rsTableTotal
|
(status, contentRange) = RangeQuery.rangeStatusHeader iTopLevelRange rsQueryTotal rsTableTotal
|
||||||
cLHeader = if headersOnly then mempty else [contentLengthHeaderStrict rsBody]
|
cLHeader = if headersOnly then mempty else [contentLengthHeaderLazy bod]
|
||||||
prefHeader = maybeToList . prefAppliedHeader $ Preferences Nothing Nothing preferCount preferTransaction Nothing preferHandling preferTimezone Nothing []
|
prefHeader = maybeToList . prefAppliedHeader $ Preferences Nothing Nothing preferCount preferTransaction Nothing preferHandling preferTimezone Nothing []
|
||||||
headers =
|
headers =
|
||||||
[ contentRange
|
[ contentRange
|
||||||
|
|||||||
@@ -126,7 +126,8 @@ spec = do
|
|||||||
"hint":null
|
"hint":null
|
||||||
}|]
|
}|]
|
||||||
{ matchStatus = 416
|
{ matchStatus = 416
|
||||||
, matchHeaders = ["Content-Range" <:> "*/0"]
|
, matchHeaders = [ "Content-Range" <:> "*/0"
|
||||||
|
, "Content-Length" <:> "144"]
|
||||||
}
|
}
|
||||||
|
|
||||||
it "refuses a range requesting start past last item" $
|
it "refuses a range requesting start past last item" $
|
||||||
@@ -288,7 +289,8 @@ spec = do
|
|||||||
"hint":null
|
"hint":null
|
||||||
}|]
|
}|]
|
||||||
{ matchStatus = 416
|
{ matchStatus = 416
|
||||||
, matchHeaders = ["Content-Range" <:> "*/0"]
|
, matchHeaders = [ "Content-Range" <:> "*/0"
|
||||||
|
, "Content-Length" <:> "144"]
|
||||||
}
|
}
|
||||||
|
|
||||||
it "refuses a range requesting start past last item" $
|
it "refuses a range requesting start past last item" $
|
||||||
@@ -470,7 +472,8 @@ spec = do
|
|||||||
"hint":null
|
"hint":null
|
||||||
}|]
|
}|]
|
||||||
{ matchStatus = 416
|
{ matchStatus = 416
|
||||||
, matchHeaders = ["Content-Range" <:> "*/0"]
|
, matchHeaders = [ "Content-Range" <:> "*/0"
|
||||||
|
, "Content-Length" <:> "144"]
|
||||||
}
|
}
|
||||||
|
|
||||||
it "refuses a range requesting start past last item" $
|
it "refuses a range requesting start past last item" $
|
||||||
|
|||||||
Reference in New Issue
Block a user