1
0
mirror of https://github.com/postgres/postgres.git synced 2025-07-27 12:41:57 +03:00

Attached patch for unconditional enabling of pltcl-unknown support.

Enabling this feature adds very light overhead of 1 select from pg_class on
first using of pl/tcl in backend if unknown suppport is really unused.
But pl/tcl with this support has very improved functionality.

Patch includes changes to documentation.
This commit is contained in:
Bruce Momjian
2001-10-13 04:23:50 +00:00
parent 36458b93e0
commit 1d3a47af0c
6 changed files with 18 additions and 67 deletions

View File

@ -8,7 +8,7 @@
* 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
@ -86,9 +86,6 @@
*/
#undef DEF_MAXBACKENDS
/* --enable-pltcl-unknown */
#undef ENABLE_PLTCL_UNKNOWN
/* --enable-nls */
#undef ENABLE_NLS

View File

@ -2,7 +2,7 @@
#
# 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 $
#
#-------------------------------------------------------------------------
@ -86,29 +86,21 @@ endif
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
@ -124,6 +116,4 @@ Makefile.tcldefs: mkMakefile.tcldefs.sh
clean distclean maintainer-clean:
rm -f $(INFILES) pltcl.o Makefile.tcldefs
ifeq ($(enable_pltcl_unknown), yes)
$(MAKE) -C modules $@
endif

View File

@ -31,7 +31,7 @@
* 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 $
*
**********************************************************************/
@ -146,9 +146,7 @@ static FunctionCallInfo pltcl_current_fcinfo = NULL;
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);
@ -293,7 +291,6 @@ pltcl_init_interp(Tcl_Interp *interp)
Tcl_CreateCommand(interp, "spi_lastoid",
pltcl_SPI_lastoid, NULL, NULL);
#ifdef ENABLE_PLTCL_UNKNOWN
/************************************************************
* Try to load the unknown procedure from pltcl_modules
************************************************************/
@ -302,12 +299,9 @@ pltcl_init_interp(Tcl_Interp *interp)
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)
@ -380,8 +374,6 @@ pltcl_init_load_unknown(Tcl_Interp *interp)
Tcl_DStringFree(&unknown_src);
}
#endif /* ENABLE_PLTCL_UNKNOWN */
/**********************************************************************
* pltcl_call_handler - This is the only visible function