Tighten coding for non-composite case in plperl's return_next.

Tom Lane <tgl@sss.pgh.pa.us>

Commit: b4cc35fbb709bd6fcae8998f041fd731c9acbf42
Author: Tom Lane <tgl@sss.pgh.pa.us>
Date: 2017-07-31T15:33:46Z
Releases: 10.0
Tighten coding for non-composite case in plperl's return_next.

Coverity complained about this code's practice of using scalar variables
as single-element arrays.  While that's really just nitpicking, it probably
is more readable to declare them as arrays, so let's do that.  A more
important point is that the code was just blithely assuming that the
result tupledesc has exactly one column; if it doesn't, we'd likely get
a crash of some sort in tuplestore_putvalues.  Since the tupledesc is
manufactured outside of plperl, that seems like an uncomfortably long
chain of assumptions.  We can nail it down at little cost with a sanity
check earlier in the function.

Files

PathChange+/−
src/pl/plperl/plperl.c modified +17 −11