]> granicus.if.org Git - postgresql/commit
Remove PL/Tcl's "module" facility.
authorTom Lane <tgl@sss.pgh.pa.us>
Mon, 27 Feb 2017 16:20:22 +0000 (11:20 -0500)
committerTom Lane <tgl@sss.pgh.pa.us>
Mon, 27 Feb 2017 16:20:22 +0000 (11:20 -0500)
commit817f2a586342767d3289a320bb1dac5dcbb76979
tree6628899295e934335ad048673677f10d69d4bcdc
parent2ed193c904679a533d5e26a27c97119793bcae52
Remove PL/Tcl's "module" facility.

PL/Tcl has long had a facility whereby Tcl code could be autoloaded from
a database table named "pltcl_modules".  However, nobody is using it, as
evidenced by the recent discovery that it's never been fixed to work with
standard_conforming_strings turned on.  Moreover, it's rather shaky from
a security standpoint, and the table design is very old and crufty (partly
because it dates from before we had TOAST).  A final problem is that
because the table-population scripts depend on the Tcl client library
Pgtcl, which we removed from the core distribution in 2004, it's
impossible to create a self-contained regression test for the feature.
Rather than try to surmount these problems, let's just remove it.

A follow-on patch will provide a way to execute user-defined
initialization code, similar to features that exist in plperl and plv8.
With that, it will be possible to implement this feature or similar ones
entirely in userspace, which is where it belongs.

Discussion: https://postgr.es/m/22067.1488046447@sss.pgh.pa.us
doc/src/sgml/pltcl.sgml
src/pl/tcl/Makefile
src/pl/tcl/modules/.gitignore [deleted file]
src/pl/tcl/modules/Makefile [deleted file]
src/pl/tcl/modules/README [deleted file]
src/pl/tcl/modules/pltcl_delmod.in [deleted file]
src/pl/tcl/modules/pltcl_listmod.in [deleted file]
src/pl/tcl/modules/pltcl_loadmod.in [deleted file]
src/pl/tcl/modules/unknown.pltcl [deleted file]
src/pl/tcl/pltcl.c