|
|
|
@ -3,7 +3,7 @@ |
|
|
|
|
* procedural language (PL) |
|
|
|
|
* |
|
|
|
|
* IDENTIFICATION |
|
|
|
|
* $Header: /cvsroot/pgsql/src/pl/tcl/pltcl.c,v 1.20 2000/04/12 17:17:20 momjian Exp $ |
|
|
|
|
* $Header: /cvsroot/pgsql/src/pl/tcl/pltcl.c,v 1.21 2000/04/16 04:19:41 tgl Exp $ |
|
|
|
|
* |
|
|
|
|
* This software is copyrighted by Jan Wieck - Hamburg. |
|
|
|
|
* |
|
|
|
@ -473,7 +473,8 @@ pltcl_func_handler(FmgrInfo *proinfo, |
|
|
|
|
{ |
|
|
|
|
free(prodesc->proname); |
|
|
|
|
free(prodesc); |
|
|
|
|
elog(ERROR, "pltcl: cache lookup from pg_proc failed"); |
|
|
|
|
elog(ERROR, "pltcl: cache lookup for proc %u failed", |
|
|
|
|
proinfo->fn_oid); |
|
|
|
|
} |
|
|
|
|
procStruct = (Form_pg_proc) GETSTRUCT(procTup); |
|
|
|
|
|
|
|
|
@ -488,7 +489,8 @@ pltcl_func_handler(FmgrInfo *proinfo, |
|
|
|
|
{ |
|
|
|
|
free(prodesc->proname); |
|
|
|
|
free(prodesc); |
|
|
|
|
elog(ERROR, "pltcl: cache lookup for return type failed"); |
|
|
|
|
elog(ERROR, "pltcl: cache lookup for return type %u failed", |
|
|
|
|
procStruct->prorettype); |
|
|
|
|
} |
|
|
|
|
typeStruct = (Form_pg_type) GETSTRUCT(typeTup); |
|
|
|
|
|
|
|
|
@ -517,7 +519,8 @@ pltcl_func_handler(FmgrInfo *proinfo, |
|
|
|
|
{ |
|
|
|
|
free(prodesc->proname); |
|
|
|
|
free(prodesc); |
|
|
|
|
elog(ERROR, "pltcl: cache lookup for argument type failed"); |
|
|
|
|
elog(ERROR, "pltcl: cache lookup for argument type %u failed", |
|
|
|
|
procStruct->proargtypes[i]); |
|
|
|
|
} |
|
|
|
|
typeStruct = (Form_pg_type) GETSTRUCT(typeTup); |
|
|
|
|
|
|
|
|
@ -803,7 +806,8 @@ pltcl_trigger_handler(FmgrInfo *proinfo) |
|
|
|
|
{ |
|
|
|
|
free(prodesc->proname); |
|
|
|
|
free(prodesc); |
|
|
|
|
elog(ERROR, "pltcl: cache lookup from pg_proc failed"); |
|
|
|
|
elog(ERROR, "pltcl: cache lookup for proc %u failed", |
|
|
|
|
proinfo->fn_oid); |
|
|
|
|
} |
|
|
|
|
procStruct = (Form_pg_proc) GETSTRUCT(procTup); |
|
|
|
|
|
|
|
|
@ -1123,9 +1127,9 @@ pltcl_trigger_handler(FmgrInfo *proinfo) |
|
|
|
|
0, 0, 0); |
|
|
|
|
if (!HeapTupleIsValid(typeTup)) |
|
|
|
|
{ |
|
|
|
|
elog(ERROR, "pltcl: Cache lookup for attribute '%s' type %ld failed", |
|
|
|
|
elog(ERROR, "pltcl: Cache lookup for attribute '%s' type %u failed", |
|
|
|
|
ret_values[--i], |
|
|
|
|
ObjectIdGetDatum(tupdesc->attrs[attnum - 1]->atttypid)); |
|
|
|
|
tupdesc->attrs[attnum - 1]->atttypid); |
|
|
|
|
} |
|
|
|
|
typinput = (Oid) (((Form_pg_type) GETSTRUCT(typeTup))->typinput); |
|
|
|
|
typelem = (Oid) (((Form_pg_type) GETSTRUCT(typeTup))->typelem); |
|
|
|
@ -2137,8 +2141,8 @@ pltcl_set_tuple_values(Tcl_Interp *interp, char *arrayname, |
|
|
|
|
0, 0, 0); |
|
|
|
|
if (!HeapTupleIsValid(typeTup)) |
|
|
|
|
{ |
|
|
|
|
elog(ERROR, "pltcl: Cache lookup for attribute '%s' type %ld failed", |
|
|
|
|
attname, ObjectIdGetDatum(tupdesc->attrs[i]->atttypid)); |
|
|
|
|
elog(ERROR, "pltcl: Cache lookup for attribute '%s' type %u failed", |
|
|
|
|
attname, tupdesc->attrs[i]->atttypid); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
typoutput = (Oid) (((Form_pg_type) GETSTRUCT(typeTup))->typoutput); |
|
|
|
@ -2210,8 +2214,8 @@ pltcl_build_tuple_argument(HeapTuple tuple, TupleDesc tupdesc, |
|
|
|
|
0, 0, 0); |
|
|
|
|
if (!HeapTupleIsValid(typeTup)) |
|
|
|
|
{ |
|
|
|
|
elog(ERROR, "pltcl: Cache lookup for attribute '%s' type %ld failed", |
|
|
|
|
attname, ObjectIdGetDatum(tupdesc->attrs[i]->atttypid)); |
|
|
|
|
elog(ERROR, "pltcl: Cache lookup for attribute '%s' type %u failed", |
|
|
|
|
attname, tupdesc->attrs[i]->atttypid); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
typoutput = (Oid) (((Form_pg_type) GETSTRUCT(typeTup))->typoutput); |
|
|
|
|