Modernize result-tuple construction in pltcl_trigger_handler().
Tom Lane <tgl@sss.pgh.pa.us>
Modernize result-tuple construction in pltcl_trigger_handler(). Use Tcl_ListObjGetElements instead of Tcl_SplitList. Aside from being possibly more efficient in its own right, this means we are no longer responsible for freeing a malloc'd result array, so we can get rid of a PG_TRY/PG_CATCH block. Use heap_form_tuple instead of SPI_modifytuple. We don't need the extra generality of the latter, since we're always replacing all columns. Nor do we need its memory-context-munging, since at this point we're already out of the SPI environment. Per comparison of this code to tuple-building code submitted by Jim Nasby. I've abandoned the thought of merging the two cases into a single routine, but we may as well make the older code simpler and faster where we can.
Files
| Path | Change | +/− |
|---|---|---|
| src/pl/tcl/pltcl.c | modified | +73 −94 |