Re: Transform for pl/perl

Pavel Stehule <pavel.stehule@gmail.com>

From: Pavel Stehule <pavel.stehule@gmail.com>
To: Anthony Bykov <a.bykov@postgrespro.ru>
Cc: Arthur Zakirov <a.zakirov@postgrespro.ru>, Thomas Munro <thomas.munro@enterprisedb.com>, PostgreSQL Hackers <pgsql-hackers@lists.postgresql.org>
Date: 2018-03-05T13:03:37Z
Lists: pgsql-hackers
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

Commits

  1. Fix jsonb_plperl to convert Perl UV values correctly.

  2. Fix contrib/hstore_plperl to look through scalar refs.

  3. Allow plperl_sv_to_datum to look through scalar refs.

  4. Fix excessive enreferencing in jsonb-to-plperl transform.