Re: Remove dependence on integer wrapping - Mailing list pgsql-hackers

From Joseph Koshakow
Subject Re: Remove dependence on integer wrapping
Date
Msg-id CAAvxfHfuxiMG4_YB5oBmJtK7mQx6FRKcUhNueXGwKT6_r=4W_Q@mail.gmail.com
Whole thread Raw
In response to Re: Remove dependence on integer wrapping  (jian he <jian.universality@gmail.com>)
Responses Re: Remove dependence on integer wrapping
Re: Remove dependence on integer wrapping
List pgsql-hackers


On Thu, Aug 8, 2024 at 9:01 PM jian he <jian.universality@gmail.com> wrote:
>
> Should the error about integers be out of range?
>
> SELECT make_date(-2147483648, 1, 1);
> "-2147483648" is not an allowed integer.
>
> \df make_date
>                                       List of functions
>    Schema   |   Name    | Result data type |           Argument data
> types            | Type
> ------------+-----------+------------------+------------------------------------------+------
>  pg_catalog | make_date | date             | year integer, month
> integer, day integer | func

Are you saying that with the patch applied you're seeing the above
error? If so, I see a different error.

    test=# SELECT make_date(-2147483648, 1, 1);
    ERROR:  date field value out of range

Or are you saying that we should change the code in the patch so that
it returns the above error? If so, I'm not sure I understand the
reasoning. -2147483648 is an allowed integer, it's the minimum allowed
value for integers.

    test=# SELECT (-2147483648)::integer;
        int4    
    -------------
     -2147483648
    (1 row)

Thanks,
Joseph Koshakow

pgsql-hackers by date:

Previous
From: Nathan Bossart
Date:
Subject: Re: optimizing pg_upgrade's once-in-each-database steps
Next
From: Alexander Korotkov
Date:
Subject: Re: Add SPLIT PARTITION/MERGE PARTITIONS commands