From: | Anthony Bykov <a(dot)bykov(at)postgrespro(dot)ru> |
---|---|
To: | Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us> |
Cc: | Peter Eisentraut <peter_e(at)gmx(dot)net>, pgsql-committers(at)lists(dot)postgresql(dot)org |
Subject: | Re: pgsql: Transforms for jsonb to PL/Perl |
Date: | 2018-04-04 08:10:51 |
Message-ID: | 20180404111051.28c7912d@anthony-24-g082ur |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-committers |
On Tue, 03 Apr 2018 17:37:04 -0400
Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us> wrote:
> I wrote:
> > Hm, it fails on my own machine too (RHEL6, perl 5.10.1), with the
> > same "cannot transform this Perl type to jsonb" symptoms. A bit
> > of tracing shows that SvTYPE(in) is returning SVt_PVIV in some
> > of the failing cases, and SVt_PVNV in others.
>
> I tried to fix this by reducing the amount of knowledge that function
> embeds about the possible SvTYPEs. After the special cases for AV,
> HV, and NULL, the attached just tests SvIOK, SvNOK, and SvPOK, and
> does the right thing for each case.
>
> This results in one change in the module's test results: the example
> that thinks it's returning a regexp match result no longer fails,
> but just returns the scalar result (0). I'm inclined to think that
> this is correct/desirable and the existing behavior is an accidental
> artifact of not coping with Perl's various augmented representations
> of scalar values.
>
> Thoughts?
>
> regards, tom lane
>
Hello,
I don't think that user expect having 0 in jsonb when they have regexp:
it should have a possibility to convert resulting jsonb back to perl
with exact same type and data.
--
Anthony Bykov
Postgres Professional: http://www.postgrespro.com
The Russian Postgres Company
From | Date | Subject | |
---|---|---|---|
Next Message | Heikki Linnakangas | 2018-04-04 08:30:40 | pgsql: Fix incorrect description of USE_SLICING_BY_8_CRC32C. |
Previous Message | Alvaro Herrera | 2018-04-03 22:09:39 | pgsql: Don't clone internal triggers to partitions |