Thread

Commits

  1. Add tests for int4_bool() in int.c

  1. int4->bool test coverage

    Christoph Berg <myon@debian.org> — 2023-12-21T10:56:22Z

    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
    
  2. Re: int4->bool test coverage

    Michael Paquier <michael@paquier.xyz> — 2023-12-22T02:48:11Z

    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
    
  3. Re: int4->bool test coverage

    Michael Paquier <michael@paquier.xyz> — 2024-01-31T06:08:58Z

    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