Обсуждение: int4->bool test coverage

Поиск
Список
Период
Сортировка

int4->bool test coverage

От
Christoph Berg
Дата:
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

Вложения

Re: int4->bool test coverage

От
Michael Paquier
Дата:
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

Вложения

Re: int4->bool test coverage

От
Michael Paquier
Дата:
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

Вложения