Re: Transform for pl/perl
Anthony Bykov <a.bykov@postgrespro.ru>
From: Anthony Bykov <a.bykov@postgrespro.ru>
To: Pavel Stehule <pavel.stehule@gmail.com>
Cc: Arthur Zakirov <a.zakirov@postgrespro.ru>, Thomas Munro
<thomas.munro@enterprisedb.com>, PostgreSQL Hackers
<pgsql-hackers@lists.postgresql.org>
Date: 2018-03-12T08:08:21Z
Lists: pgsql-hackers
Attachments
- 0001-jsonb_plperl-extension-v8.patch (text/x-patch) patch v8-0001
On Mon, 5 Mar 2018 14:03:37 +0100 Pavel Stehule <pavel.stehule@gmail.com> wrote: > Hi > > I am looking on this patch. I found few issues: > > 1. compile warning > > I../../src/include -D_GNU_SOURCE -I/usr/include/libxml2 > -I/usr/lib64/perl5/CORE -c -o jsonb_plperl.o jsonb_plperl.c > jsonb_plperl.c: In function ‘SV_FromJsonbValue’: > jsonb_plperl.c:69:9: warning: ‘result’ may be used uninitialized in > this function [-Wmaybe-uninitialized] > return result; > ^~~~~~ > jsonb_plperl.c: In function ‘SV_FromJsonb’: > jsonb_plperl.c:142:9: warning: ‘result’ may be used uninitialized in > this function [-Wmaybe-uninitialized] > return result; > ^~~~~~ > > 2. bad comment > > /* > * SV_ToJsonbValue > * > * Transform Jsonb into SV --- propably reverse direction > */ > > > /* > * HV_ToJsonbValue > * > * Transform Jsonb into SV > */ > > /* > * plperl_to_jsonb(SV *in) > * > * Transform Jsonb into SV > */ > > 3. Do we need two identical tests fro PLPerl and PLPerlu? Why? > > Regards > > Pavel Hello, thanks for reviewing my patch! I really appreciate it. That warnings are created on purpose - I was trying to prevent the case when new types are added into pl/perl, but new transform logic was not. Maybe there is a better way to do it, but right now I'll just add the "default: pg_unreachable" logic. About the 3 point - I thought that plperlu and plperl uses different interpreters. And if they act identically on same examples - there is no need in identical tests for them indeed. Point 2 is fixed in this version of the patch. Please, find in attachments a new version of the patch. -- Anthony Bykov Postgres Professional: http://www.postgrespro.com The Russian Postgres Company
Commits
-
Fix jsonb_plperl to convert Perl UV values correctly.
- 93b6e03ab479 11.0 landed
-
Fix contrib/hstore_plperl to look through scalar refs.
- e3b7f7cc5063 11.0 landed
- 7594b7a53366 10.5 landed
- 645929c545ef 9.5.14 landed
- 1bebfb9b6365 9.6.10 landed
-
Allow plperl_sv_to_datum to look through scalar refs.
- 3a382983d142 11.0 landed
-
Fix excessive enreferencing in jsonb-to-plperl transform.
- 1731e3741cbb 11.0 landed