On Tue, 27 Aug 2019 14:07:48 +0800 michael@paquier.xyz wrote:
> There is a section in float4.sql which deals with overflow and
> underflow, so wouldn't it be better to move the tests there? You
> could just trigger the failures with that:
> =# insert into float4_tbl values ('-10e-70'::float8);
> ERROR: 22003: value out of range: underflow
> LOCATION: check_float4_val, float.h:145
> =# insert into float4_tbl values ('-10e70'::float8);
> ERROR: 22003: value out of range: overflow
> LOCATION: check_float4_val, float.h:140> I would also test all four patterns: 10e70, 10e-70, -10e70, -10e-70.
I think your way is much better, so I change the patch and it is
'regression_20190827.patch' now.
> For the numeric part, this improves the case of
> ApplySortAbbrevFullComparator() where both values are not NULL. Could
> things be done so as the other code paths are fully covered? One
> INSERT is fine by the way to add the extra coverage.
There are code lines related to NULL values in
ApplySortAbbrevFullComparator(), but I think the code lines for
comparing a NULL and a NOT NULL can be never reached, because it is
handled in ApplySortComparator() which is called before
ApplySortAbbrevFullComparator(). So I think it is no use to INSERT
a NULL value.
--
Movead