PGAC_ARG_REQ(with, tkconfig, [ --with-tkconfig=DIR tkConfig.sh is in DIR])
-
-#
-# If Tcl is enabled (above) then check for pltcl_unknown_support
-#
-AC_MSG_CHECKING([whether to build with PL/Tcl unknown support])
-if test "$with_tcl" = yes; then
- PGAC_ARG_BOOL(enable, pltcl-unknown, no,
- [ --enable-pltcl-unknown build PL/Tcl unknown support (if Tcl is enabled)],
- [AC_DEFINE([ENABLE_PLTCL_UNKNOWN])])
-else
- enable_pltcl_unknown=no
-fi
-AC_MSG_RESULT([$enable_pltcl_unknown])
-AC_SUBST([enable_pltcl_unknown])
-
-
#
# Optionally build Perl modules (Pg.pm and PL/Perl)
#
-<!-- $Header: /cvsroot/pgsql/doc/src/sgml/installation.sgml,v 1.61 2001/10/09 22:32:32 petere Exp $ -->
+<!-- $Header: /cvsroot/pgsql/doc/src/sgml/installation.sgml,v 1.62 2001/10/13 04:23:50 momjian Exp $ -->
<chapter id="installation">
<title><![%standalone-include[<productname>PostgreSQL</>]]>
</listitem>
</varlistentry>
- <varlistentry>
- <term><option>--enable-pltcl-unknown</option></term>
- <listitem>
- <para>
- Enables enables PL/Tcl unknown support.
- </para>
- </listitem>
- </varlistentry>
-
<varlistentry>
<term><option>--enable-odbc</option></term>
<listitem>
<!--
-$Header: /cvsroot/pgsql/doc/src/sgml/pltcl.sgml,v 2.14 2001/09/13 15:55:23 petere Exp $
+$Header: /cvsroot/pgsql/doc/src/sgml/pltcl.sgml,v 2.15 2001/10/13 04:23:50 momjian Exp $
-->
<chapter id="pltcl">
</listitem>
</varlistentry>
- <varlistentry>
- <term>
- Modules and the <function>unknown</> command
- </term>
- <listitem>
+
+ </variablelist>
+
+ </sect2>
+
+ <sect2>
+ <title> Modules and the <function>unknown</> command</title>
<para>
PL/Tcl has a special support for things often used. It
recognizes two magic tables, <literal>pltcl_modules</> and
creation. Whenever an unknown Tcl procedure is called, the
unknown proc is asked to check if the procedure is defined in
one of the modules. If this is true, the module is loaded on
- demand. To enable this behavior, the
- <productname>PostgreSQL</> must be configured with the option
- <option>--enable-pltcl-unknown</option>.
+ demand.
</para>
<para>
- There are support scripts to maintain these tables in the modules
- subdirectory of the PL/Tcl source including the source for the
- unknown module that must get installed initially.
+ There are support scripts to maintain these tables:
+ <command>pltcl_loadmod</>,<command>pltcl_listmod</>,
+ <command>pltcl_delmod</> and source for the
+ unknown module <filename>share/unknown.pltcl</> that must be loaded
+ into database initially for getting unknown support.
</para>
- </listitem>
- </varlistentry>
-
- </variablelist>
-
</sect2>
</sect1>
* or in pg_config.h afterwards. Of course, if you edit pg_config.h, then your
* changes will be overwritten the next time you run configure.
*
- * $Id: pg_config.h.in,v 1.8 2001/10/01 15:33:31 momjian Exp $
+ * $Id: pg_config.h.in,v 1.9 2001/10/13 04:23:50 momjian Exp $
*/
#ifndef PG_CONFIG_H
*/
#undef DEF_MAXBACKENDS
-/* --enable-pltcl-unknown */
-#undef ENABLE_PLTCL_UNKNOWN
-
/* --enable-nls */
#undef ENABLE_NLS
#
# Makefile for the pltcl shared object
#
-# $Header: /cvsroot/pgsql/src/pl/tcl/Makefile,v 1.34 2001/09/16 16:11:11 petere Exp $
+# $Header: /cvsroot/pgsql/src/pl/tcl/Makefile,v 1.35 2001/10/13 04:23:50 momjian Exp $
#
#-------------------------------------------------------------------------
ifeq ($(TCL_SHARED_BUILD), 1)
all: $(INFILES)
-ifeq ($(enable_pltcl_unknown), yes)
$(MAKE) -C modules $@
-endif
pltcl$(DLSUFFIX): pltcl.o
install: all installdirs
$(INSTALL_SHLIB) $(DLOBJS) $(DESTDIR)$(pkglibdir)/$(DLOBJS)
-ifeq ($(enable_pltcl_unknown), yes)
$(MAKE) -C modules $@
-endif
installdirs:
$(mkinstalldirs) $(DESTDIR)$(pkglibdir)
-ifeq ($(enable_pltcl_unknown), yes)
$(MAKE) -C modules $@
-endif
uninstall:
rm -f $(DESTDIR)$(pkglibdir)/$(DLOBJS)
-ifeq ($(enable_pltcl_unknown), yes)
$(MAKE) -C modules $@
-endif
else # TCL_SHARED_BUILD = 0
clean distclean maintainer-clean:
rm -f $(INFILES) pltcl.o Makefile.tcldefs
-ifeq ($(enable_pltcl_unknown), yes)
$(MAKE) -C modules $@
-endif
* ENHANCEMENTS, OR MODIFICATIONS.
*
* IDENTIFICATION
- * $Header: /cvsroot/pgsql/src/pl/tcl/pltcl.c,v 1.43 2001/10/06 23:21:45 tgl Exp $
+ * $Header: /cvsroot/pgsql/src/pl/tcl/pltcl.c,v 1.44 2001/10/13 04:23:50 momjian Exp $
*
**********************************************************************/
static void pltcl_init_all(void);
static void pltcl_init_interp(Tcl_Interp *interp);
-#ifdef ENABLE_PLTCL_UNKNOWN
static void pltcl_init_load_unknown(Tcl_Interp *interp);
-#endif
Datum pltcl_call_handler(PG_FUNCTION_ARGS);
Datum pltclu_call_handler(PG_FUNCTION_ARGS);
Tcl_CreateCommand(interp, "spi_lastoid",
pltcl_SPI_lastoid, NULL, NULL);
-#ifdef ENABLE_PLTCL_UNKNOWN
/************************************************************
* Try to load the unknown procedure from pltcl_modules
************************************************************/
pltcl_init_load_unknown(interp);
if (SPI_finish() != SPI_OK_FINISH)
elog(ERROR, "pltcl_init_interp(): SPI_finish failed");
-#endif /* ENABLE_PLTCL_UNKNOWN */
}
-#ifdef ENABLE_PLTCL_UNKNOWN
-
/**********************************************************************
* pltcl_init_load_unknown() - Load the unknown procedure from
* table pltcl_modules (if it exists)
Tcl_DStringFree(&unknown_src);
}
-#endif /* ENABLE_PLTCL_UNKNOWN */
-
/**********************************************************************
* pltcl_call_handler - This is the only visible function