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:
@ -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
|
||||
|
||||
|
@ -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
|
||||
|
@ -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
|
||||
|
Reference in New Issue
Block a user