summaryrefslogtreecommitdiff
path: root/doc/src
diff options
context:
space:
mode:
Diffstat (limited to 'doc/src')
-rw-r--r--doc/src/sgml/pltcl.sgml45
1 files changed, 0 insertions, 45 deletions
diff --git a/doc/src/sgml/pltcl.sgml b/doc/src/sgml/pltcl.sgml
index 8afaf4ad36e..0a693803dd3 100644
--- a/doc/src/sgml/pltcl.sgml
+++ b/doc/src/sgml/pltcl.sgml
@@ -902,51 +902,6 @@ if {[catch { spi_exec $sql_command }]} {
</para>
</sect1>
- <sect1 id="pltcl-unknown">
- <title>Modules and the <function>unknown</> Command</title>
- <para>
- PL/Tcl has support for autoloading Tcl code when used.
- It recognizes a special table, <literal>pltcl_modules</>, which
- is presumed to contain modules of Tcl code. If this table
- exists, the module <literal>unknown</> is fetched from the table
- and loaded into the Tcl interpreter immediately before the first
- execution of a PL/Tcl function in a database session. (This
- happens separately for each Tcl interpreter, if more than one is
- used in a session; see <xref linkend="pltcl-global">.)
- </para>
- <para>
- While the <literal>unknown</> module could actually contain any
- initialization script you need, it normally defines a Tcl
- <function>unknown</> procedure that is invoked whenever Tcl does
- not recognize an invoked procedure name. <application>PL/Tcl</>'s standard version
- of this procedure tries to find a module in <literal>pltcl_modules</>
- that will define the required procedure. If one is found, it is
- loaded into the interpreter, and then execution is allowed to
- proceed with the originally attempted procedure call. A
- secondary table <literal>pltcl_modfuncs</> provides an index of
- which functions are defined by which modules, so that the lookup
- is reasonably quick.
- </para>
- <para>
- The <productname>PostgreSQL</productname> distribution includes
- support scripts to maintain these tables:
- <command>pltcl_loadmod</>, <command>pltcl_listmod</>,
- <command>pltcl_delmod</>, as well as source for the standard
- <literal>unknown</> module in <filename>share/unknown.pltcl</>. This module
- must be loaded
- into each database initially to support the autoloading mechanism.
- </para>
- <para>
- The tables <literal>pltcl_modules</> and <literal>pltcl_modfuncs</>
- must be readable by all, but it is wise to make them owned and
- writable only by the database administrator. As a security
- precaution, PL/Tcl will ignore <literal>pltcl_modules</> (and thus,
- not attempt to load the <literal>unknown</> module) unless it is
- owned by a superuser. But update privileges on this table can be
- granted to other users, if you trust them sufficiently.
- </para>
- </sect1>
-
<sect1 id="pltcl-procnames">
<title>Tcl Procedure Names</title>