]> granicus.if.org Git - postgresql/commit
Allow plperl_sv_to_datum to look through scalar refs.
authorTom Lane <tgl@sss.pgh.pa.us>
Mon, 18 Jun 2018 19:31:57 +0000 (15:31 -0400)
committerTom Lane <tgl@sss.pgh.pa.us>
Mon, 18 Jun 2018 19:31:57 +0000 (15:31 -0400)
commit3a382983d142ca270fe49c63fa6d4a95037ebee3
treebea6c6e9210bd8aba153341f934b904a8de5709a
parente4300a3552b104f54ec781dd23cfcf96252ec5c1
Allow plperl_sv_to_datum to look through scalar refs.

There seems little reason for the policy of throwing error if we
find a ref to something other than a hash or array.   Recursively
look through the ref, instead.  This makes the behavior in non-transform
cases comparable to what was already instantiated for jsonb_plperl.

Note that because we invoke any available transform function before
considering the ref case, it's up to each transform function whether
it wants to play along with this behavior or do something different.

Because the previous behavior was just to throw a useless error,
this seems unlikely to create any compatibility issues.  Still, given
the lack of field complaints so far, seems best not to back-patch.

Discussion: https://postgr.es/m/28336.1528393969@sss.pgh.pa.us
src/pl/plperl/expected/plperl.out
src/pl/plperl/plperl.c
src/pl/plperl/sql/plperl.sql