int4->bool test coverage
I was surprised to learn that 2 is a valid boolean (thanks Berge):
# select 2::boolean;
bool
──────
t
... while '2' is not:
# select '2'::boolean;
ERROR: 22P02: invalid input syntax for type boolean: "2"
LINE 1: select '2'::boolean;
^
LOCATION: boolin, bool.c:151
The first cast is the int4_bool function, but it isn't covered by the
regression tests at all. The attached patch adds tests.
Christoph
Attachments:
0001-Add-tests-for-int4_bool.patchtext/x-diff; charset=us-asciiDownload+25-1
On Thu, Dec 21, 2023 at 11:56:22AM +0100, Christoph Berg wrote:
The first cast is the int4_bool function, but it isn't covered by the
regression tests at all. The attached patch adds tests.
I don't see why not.
Interesting that there are a few more of these in int.c, like int2up,
int4inc, int2smaller, int{2,4}shr, int{2,4}not, etc.
--
Michael
On Fri, Dec 22, 2023 at 11:48:11AM +0900, Michael Paquier wrote:
On Thu, Dec 21, 2023 at 11:56:22AM +0100, Christoph Berg wrote:
The first cast is the int4_bool function, but it isn't covered by the
regression tests at all. The attached patch adds tests.I don't see why not.
And one month later, done.
Interesting that there are a few more of these in int.c, like int2up,
int4inc, int2smaller, int{2,4}shr, int{2,4}not, etc.
I've left these out for now.
--
Michael