diff options
| author | Tom Lane | 2000-08-03 16:35:08 +0000 |
|---|---|---|
| committer | Tom Lane | 2000-08-03 16:35:08 +0000 |
| commit | c298d74d4957845bb03a67092c30b53e5e0d01c2 (patch) | |
| tree | 4dca901e87c14a249de21374da867db1059b8462 /src/pl/plpgsql | |
| parent | 1bd3a8f58bb8147628a85643b0246051a6e4e5ee (diff) | |
More functions updated to new fmgr style --- money, name, tid datatypes.
We're reaching the mopup stage here (good thing too, this is getting
tedious).
Diffstat (limited to 'src/pl/plpgsql')
| -rw-r--r-- | src/pl/plpgsql/src/pl_comp.c | 32 | ||||
| -rw-r--r-- | src/pl/plpgsql/src/pl_exec.c | 8 |
2 files changed, 25 insertions, 15 deletions
diff --git a/src/pl/plpgsql/src/pl_comp.c b/src/pl/plpgsql/src/pl_comp.c index f18caa84644..cc4196fb1e8 100644 --- a/src/pl/plpgsql/src/pl_comp.c +++ b/src/pl/plpgsql/src/pl_comp.c @@ -3,7 +3,7 @@ * procedural language * * IDENTIFICATION - * $Header: /cvsroot/pgsql/src/pl/plpgsql/src/pl_comp.c,v 1.21 2000/07/05 23:11:58 tgl Exp $ + * $Header: /cvsroot/pgsql/src/pl/plpgsql/src/pl_comp.c,v 1.22 2000/08/03 16:34:57 tgl Exp $ * * This software is copyrighted by Jan Wieck - Hamburg. * @@ -145,7 +145,8 @@ plpgsql_compile(Oid fn_oid, int functype) proc_source = DatumGetCString(DirectFunctionCall1(textout, PointerGetDatum(&procStruct->prosrc))); plpgsql_setinput(proc_source, functype); - plpgsql_error_funcname = nameout(&(procStruct->proname)); + plpgsql_error_funcname = DatumGetCString(DirectFunctionCall1(nameout, + NameGetDatum(&(procStruct->proname)))); plpgsql_error_lineno = 0; /* ---------- @@ -158,7 +159,8 @@ plpgsql_compile(Oid fn_oid, int functype) function->fn_functype = functype; function->fn_oid = fn_oid; - function->fn_name = strdup(nameout(&(procStruct->proname))); + function->fn_name = DatumGetCString(DirectFunctionCall1(nameout, + NameGetDatum(&(procStruct->proname)))); switch (functype) { @@ -224,7 +226,9 @@ plpgsql_compile(Oid fn_oid, int functype) * of that type * ---------- */ - sprintf(buf, "%s%%rowtype", nameout(&(typeStruct->typname))); + sprintf(buf, "%s%%rowtype", + DatumGetCString(DirectFunctionCall1(nameout, + NameGetDatum(&(typeStruct->typname))))); if (plpgsql_parse_wordrowtype(buf) != T_ROW) { plpgsql_comperrinfo(); @@ -256,7 +260,8 @@ plpgsql_compile(Oid fn_oid, int functype) var->dtype = PLPGSQL_DTYPE_VAR; var->refname = strdup(buf); var->lineno = 0; - var->datatype->typname = strdup(nameout(&(typeStruct->typname))); + var->datatype->typname = DatumGetCString(DirectFunctionCall1(nameout, + NameGetDatum(&(typeStruct->typname)))); var->datatype->typoid = procStruct->proargtypes[i]; fmgr_info(typeStruct->typinput, &(var->datatype->typinput)); var->datatype->typelem = typeStruct->typelem; @@ -619,7 +624,8 @@ plpgsql_parse_word(char *word) typ = (PLpgSQL_type *) malloc(sizeof(PLpgSQL_type)); - typ->typname = strdup(nameout(&(typeStruct->typname))); + typ->typname = DatumGetCString(DirectFunctionCall1(nameout, + NameGetDatum(&(typeStruct->typname)))); typ->typoid = typeTup->t_data->t_oid; fmgr_info(typeStruct->typinput, &(typ->typinput)); typ->typelem = typeStruct->typelem; @@ -943,7 +949,8 @@ plpgsql_parse_wordtype(char *word) typ = (PLpgSQL_type *) malloc(sizeof(PLpgSQL_type)); - typ->typname = strdup(nameout(&(typeStruct->typname))); + typ->typname = DatumGetCString(DirectFunctionCall1(nameout, + NameGetDatum(&(typeStruct->typname)))); typ->typoid = typeTup->t_data->t_oid; fmgr_info(typeStruct->typinput, &(typ->typinput)); typ->typelem = typeStruct->typelem; @@ -1088,7 +1095,8 @@ plpgsql_parse_dblwordtype(char *string) typ = (PLpgSQL_type *) malloc(sizeof(PLpgSQL_type)); - typ->typname = strdup(nameout(&(typeStruct->typname))); + typ->typname = DatumGetCString(DirectFunctionCall1(nameout, + NameGetDatum(&(typeStruct->typname)))); typ->typoid = typetup->t_data->t_oid; fmgr_info(typeStruct->typinput, &(typ->typinput)); typ->typelem = typeStruct->typelem; @@ -1187,19 +1195,19 @@ plpgsql_parse_wordrowtype(char *string) } attrStruct = (Form_pg_attribute) GETSTRUCT(attrtup); + cp = DatumGetCString(DirectFunctionCall1(nameout, + NameGetDatum(&(attrStruct->attname)))); + typetup = SearchSysCacheTuple(TYPEOID, ObjectIdGetDatum(attrStruct->atttypid), 0, 0, 0); if (!HeapTupleIsValid(typetup)) { plpgsql_comperrinfo(); elog(ERROR, "cache lookup for type %u of %s.%s failed", - attrStruct->atttypid, word1, - nameout(&(attrStruct->attname))); + attrStruct->atttypid, word1, cp); } typeStruct = (Form_pg_type) GETSTRUCT(typetup); - cp = strdup(nameout(&(attrStruct->attname))); - /* ---------- * Create the internal variable * We know if the table definitions contain a default value diff --git a/src/pl/plpgsql/src/pl_exec.c b/src/pl/plpgsql/src/pl_exec.c index 8268299f2f3..1f54890e5c5 100644 --- a/src/pl/plpgsql/src/pl_exec.c +++ b/src/pl/plpgsql/src/pl_exec.c @@ -3,7 +3,7 @@ * procedural language * * IDENTIFICATION - * $Header: /cvsroot/pgsql/src/pl/plpgsql/src/pl_exec.c,v 1.25 2000/07/12 02:37:39 tgl Exp $ + * $Header: /cvsroot/pgsql/src/pl/plpgsql/src/pl_exec.c,v 1.26 2000/08/03 16:34:57 tgl Exp $ * * This software is copyrighted by Jan Wieck - Hamburg. * @@ -637,7 +637,8 @@ plpgsql_exec_trigger(PLpgSQL_function * func, */ var = (PLpgSQL_var *) (estate.datums[func->tg_name_varno]); var->isnull = false; - var->value = (Datum) namein(trigdata->tg_trigger->tgname); + var->value = DirectFunctionCall1(namein, + CStringGetDatum(trigdata->tg_trigger->tgname)); var = (PLpgSQL_var *) (estate.datums[func->tg_when_varno]); var->isnull = false; @@ -663,7 +664,8 @@ plpgsql_exec_trigger(PLpgSQL_function * func, var = (PLpgSQL_var *) (estate.datums[func->tg_relname_varno]); var->isnull = false; - var->value = (Datum) namein(RelationGetRelationName(trigdata->tg_relation)); + var->value = DirectFunctionCall1(namein, + CStringGetDatum(RelationGetRelationName(trigdata->tg_relation))); var = (PLpgSQL_var *) (estate.datums[func->tg_nargs_varno]); var->isnull = false; |
