Re: Transform for pl/perl

Поиск
Список
Период
Сортировка
От Andrew Dunstan
Тема Re: Transform for pl/perl
Дата
Msg-id ad3319e7-39f9-f860-0167-529baf0c955b@2ndQuadrant.com
обсуждение исходный текст
Ответ на Re: Transform for pl/perl  (Anthony Bykov <a.bykov@postgrespro.ru>)
Ответы Re: Transform for pl/perl
Список pgsql-hackers

On 01/12/2018 03:47 AM, Anthony Bykov wrote:
>
> The problem was that different perl compilers uses different infinity
> representations. Some of them use "Inf" others - use "inf". So, in
> attachments there is a new version of the patch.
>


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

-- 
Andrew Dunstan                https://www.2ndQuadrant.com
PostgreSQL Development, 24x7 Support, Remote DBA, Training & Services



В списке pgsql-hackers по дате отправления:

Предыдущее
От: "Rader, David"
Дата:
Сообщение: Re: [PATCH] ECPG bug fix in preproc when indicator struct is shorterthan record struct
Следующее
От: Arthur Zakirov
Дата:
Сообщение: Re: [PROPOSAL] Shared Ispell dictionaries