diff options
Diffstat (limited to 'src/pl/tcl/pltcl.c')
-rw-r--r-- | src/pl/tcl/pltcl.c | 24 |
1 files changed, 11 insertions, 13 deletions
diff --git a/src/pl/tcl/pltcl.c b/src/pl/tcl/pltcl.c index 34bc731e9ab..3335e8ed176 100644 --- a/src/pl/tcl/pltcl.c +++ b/src/pl/tcl/pltcl.c @@ -31,7 +31,7 @@ * ENHANCEMENTS, OR MODIFICATIONS. * * IDENTIFICATION - * $Header: /cvsroot/pgsql/src/pl/tcl/pltcl.c,v 1.52 2002/03/06 18:50:33 momjian Exp $ + * $Header: /cvsroot/pgsql/src/pl/tcl/pltcl.c,v 1.53 2002/03/29 19:06:28 tgl Exp $ * **********************************************************************/ @@ -47,17 +47,18 @@ #include <string.h> #include <setjmp.h> -#include "executor/spi.h" +#include "access/heapam.h" +#include "catalog/pg_language.h" +#include "catalog/pg_proc.h" +#include "catalog/pg_type.h" #include "commands/trigger.h" -#include "utils/builtins.h" +#include "executor/spi.h" #include "fmgr.h" -#include "access/heapam.h" - +#include "nodes/makefuncs.h" +#include "parser/parse_type.h" #include "tcop/tcopprot.h" +#include "utils/builtins.h" #include "utils/syscache.h" -#include "catalog/pg_proc.h" -#include "catalog/pg_language.h" -#include "catalog/pg_type.h" #if defined(UNICODE_CONVERSION) && TCL_MAJOR_VERSION == 8 \ && TCL_MINOR_VERSION > 0 @@ -1750,11 +1751,8 @@ pltcl_SPI_prepare(ClientData cdata, Tcl_Interp *interp, ************************************************************/ for (i = 0; i < nargs; i++) { - typeTup = SearchSysCache(TYPENAME, - PointerGetDatum(args[i]), - 0, 0, 0); - if (!HeapTupleIsValid(typeTup)) - elog(ERROR, "pltcl: Cache lookup of type %s failed", args[i]); + /* XXX should extend this to allow qualified type names */ + typeTup = typenameType(makeTypeName(args[i])); qdesc->argtypes[i] = typeTup->t_data->t_oid; perm_fmgr_info(((Form_pg_type) GETSTRUCT(typeTup))->typinput, &(qdesc->arginfuncs[i])); |