From: | Aleksander Alekseev <aleksander(at)timescale(dot)com> |
---|---|
To: | PostgreSQL Hackers <pgsql-hackers(at)lists(dot)postgresql(dot)org> |
Cc: | Dean Rasheed <dean(dot)a(dot)rasheed(at)gmail(dot)com> |
Subject: | Re: to_hex() for negative inputs |
Date: | 2023-01-25 19:55:48 |
Message-ID: | CAJ7c6TNYNiJRYaAnc44Pppmn+qzENDYVT4zwdyLTDZg=G6NT-g@mail.gmail.com |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-hackers |
Hi Dean,
> > So in your opinion what is the expected result of to_hex(INT_MIN,
> > with_sign => true)?
> >
>
> "-80000000" or "-0x80000000", depending on whether the prefix is
> requested.
Whether this is the right result is very debatable. 0x80000000 is a
binary representation of -2147483648:
```
(gdb) ptype cur_timeout
type = int
(gdb) p cur_timeout = 0x80000000
$1 = -2147483648
(gdb) p/x cur_timeout
$2 = 0x80000000
```
So what you propose to return is -(-2147483648). For some users this
may be a wanted result, for some it may be not. Personally I would
prefer to get an ERROR in this case. And this is exactly how you end
up with even more flags.
I believe it would be better to let the user write the exact query
depending on what he/she wants.
--
Best regards,
Aleksander Alekseev
From | Date | Subject | |
---|---|---|---|
Next Message | gkokolatos | 2023-01-25 19:57:18 | Re: Add LZ4 compression in pg_dump |
Previous Message | gkokolatos | 2023-01-25 19:50:49 | Re: Add LZ4 compression in pg_dump |