Hello
I am surprised, but i can confirm error on versions prior 9.6: on 9.5, 9.4, 9.3 same error. On 9.6 and 10 query works
correctly
All checked postgresql are x86_64 from postgresql debian repository: http://apt.postgresql.org/pub/repos/apt/
jessie-pgdgmain
postgres=# select 0.5678::numeric operator(pg_catalog.^) (-85::numeric);
ERROR: division by zero
postgres=# select version();
version
-------------------------------------------------------------------------------------------
PostgreSQL 9.5.10 on x86_64-pc-linux-gnu, compiled by gcc (Debian 4.9.2-10) 4.9.2, 64-bit
Regards, Sergei
11.01.2018, 15:27, "Chapman Flack" <chap@anastigmatix.net>:
> On 01/11/18 02:07, Tom Lane wrote:
>
>> Hm, it won't help your sanity to know that those cases pass fine
>> for me, interactively, on a couple of different machines:
>> ...
>> You sure you're using a stock build of Postgres? No handmade
>> versions of operator ^ lying around?
>
> Interesting thought....
>
> At $work:
> postgresql95-server.x86_64 9.5.10-1PGDG.rhel7 @pgdg95
>
> postgres=> select 0.5678 operator(pg_catalog.^) (-85);
> ERROR: division by zero
> postgres=> select 0.5678::numeric operator(pg_catalog.^) (-85::numeric);
> ERROR: division by zero
>
> Also at home in a gentoo 9.5.1 ebuild...
> Also in a build from e35dba475a440f73dccf9ed1fd61e3abc6ee61db in git.
>
> All x86_64 ....
>
> -Chap