Re: Transform for pl/perl - Mailing list pgsql-hackers

From Anthony Bykov
Subject Re: Transform for pl/perl
Date
Msg-id 20180213164311.23af6259@anthony-24-g082ur
Whole thread Raw
In response to Re: Transform for pl/perl  (Andrew Dunstan <andrew.dunstan@2ndquadrant.com>)
List pgsql-hackers
On Sat, 13 Jan 2018 09:29:46 -0500
Andrew Dunstan <andrew.dunstan@2ndquadrant.com> wrote:

> There's a bit of an impedance mismatch and inconsistency here. I think
> we need to deal with json scalars (particularly numerics) the same way
> we do for plain scalar arguments. We don't convert a numeric argument
> to and SvNV. We just do this in plperl_call_perl_func():
>
>                     tmp = OutputFunctionCall(&(desc->arg_out_func[i]),
>                                              fcinfo->arg[i]);
>                     sv = cstr2sv(tmp);
>                     pfree(tmp)
>     [...]
>
>                 PUSHs(sv_2mortal(sv));
>
> Large numerics won't work as SvNV values, which have to fit in a
> standard double. So I think we should treat them the same way we do
> for plain scalar arguments.
>
> (This also suggests that the tests are a bit deficient in not testing
> jsonb with large numeric values.)
>
> I'm going to set this back to waiting on author pending discussion.
>
>
> cheers
>
> andrew
>

Hello,
thank you for your attention.

I'm sorry, but I couldn't understand what types of numerics you was
talking about. Large numerics are just transformed into "inf" (or
"Inf") and the patch contains such test. But there were no tests with
numerics close to "inf" but not "inf" yet. So, I've added such test.

Also I've fixed the thing Thomas Munro was talking about.


--
Anthony Bykov
Postgres Professional: http://www.postgrespro.com
The Russian Postgres Company

Attachment

pgsql-hackers by date:

Previous
From: Alvaro Herrera
Date:
Subject: Re: reorganizing partitioning code (was: Re: [HACKERS] path towardfaster partition pruning)
Next
From: Ashutosh Bapat
Date:
Subject: Re: reorganizing partitioning code (was: Re: [HACKERS] path towardfaster partition pruning)