summaryrefslogtreecommitdiff
path: root/src/pl/plpgsql
diff options
context:
space:
mode:
authorTom Lane2000-08-03 16:35:08 +0000
committerTom Lane2000-08-03 16:35:08 +0000
commitc298d74d4957845bb03a67092c30b53e5e0d01c2 (patch)
tree4dca901e87c14a249de21374da867db1059b8462 /src/pl/plpgsql
parent1bd3a8f58bb8147628a85643b0246051a6e4e5ee (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.c32
-rw-r--r--src/pl/plpgsql/src/pl_exec.c8
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;