1
0
mirror of https://github.com/postgres/postgres.git synced 2025-09-02 04:21:28 +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

@@ -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