summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTom Lane2019-05-31 16:34:54 +0000
committerTom Lane2019-05-31 16:34:54 +0000
commit3f61b3205f1a8bd27909be97341f002db8842093 (patch)
treea0e31b1015c028cf2cc763c390ac3ba50dc9c065
parent7640f9312321ceba2af61f7017da7e64f0f7b667 (diff)
Fix C++ incompatibilities in plpgsql's header files.
Rename some exposed parameters so that they don't conflict with C++ reserved words. Back-patch to all supported versions. George Tarasov Discussion: https://postgr.es/m/[email protected]
-rw-r--r--src/pl/plpgsql/src/pl_comp.c6
-rw-r--r--src/pl/plpgsql/src/pl_exec.c22
-rw-r--r--src/pl/plpgsql/src/plpgsql.h5
3 files changed, 17 insertions, 16 deletions
diff --git a/src/pl/plpgsql/src/pl_comp.c b/src/pl/plpgsql/src/pl_comp.c
index 6a3b2986a1..30c7e967df 100644
--- a/src/pl/plpgsql/src/pl_comp.c
+++ b/src/pl/plpgsql/src/pl_comp.c
@@ -2212,7 +2212,7 @@ plpgsql_start_datums(void)
* ----------
*/
void
-plpgsql_adddatum(PLpgSQL_datum *new)
+plpgsql_adddatum(PLpgSQL_datum *newdatum)
{
if (plpgsql_nDatums == datums_alloc)
{
@@ -2220,8 +2220,8 @@ plpgsql_adddatum(PLpgSQL_datum *new)
plpgsql_Datums = repalloc(plpgsql_Datums, sizeof(PLpgSQL_datum *) * datums_alloc);
}
- new->dno = plpgsql_nDatums;
- plpgsql_Datums[plpgsql_nDatums++] = new;
+ newdatum->dno = plpgsql_nDatums;
+ plpgsql_Datums[plpgsql_nDatums++] = newdatum;
}
/* ----------
diff --git a/src/pl/plpgsql/src/pl_exec.c b/src/pl/plpgsql/src/pl_exec.c
index a5d1d1db3d..90a2257894 100644
--- a/src/pl/plpgsql/src/pl_exec.c
+++ b/src/pl/plpgsql/src/pl_exec.c
@@ -5583,7 +5583,7 @@ plpgsql_exec_get_datum_type(PLpgSQL_execstate *estate,
void
plpgsql_exec_get_datum_type_info(PLpgSQL_execstate *estate,
PLpgSQL_datum *datum,
- Oid *typeid, int32 *typmod, Oid *collation)
+ Oid *typeId, int32 *typMod, Oid *collation)
{
switch (datum->dtype)
{
@@ -5592,8 +5592,8 @@ plpgsql_exec_get_datum_type_info(PLpgSQL_execstate *estate,
{
PLpgSQL_var *var = (PLpgSQL_var *) datum;
- *typeid = var->datatype->typoid;
- *typmod = var->datatype->atttypmod;
+ *typeId = var->datatype->typoid;
+ *typMod = var->datatype->atttypmod;
*collation = var->datatype->collation;
break;
}
@@ -5605,15 +5605,15 @@ plpgsql_exec_get_datum_type_info(PLpgSQL_execstate *estate,
if (rec->erh == NULL || rec->rectypeid != RECORDOID)
{
/* Report variable's declared type */
- *typeid = rec->rectypeid;
- *typmod = -1;
+ *typeId = rec->rectypeid;
+ *typMod = -1;
}
else
{
/* Report record's actual type if declared RECORD */
- *typeid = rec->erh->er_typeid;
+ *typeId = rec->erh->er_typeid;
/* do NOT return the mutable typmod of a RECORD variable */
- *typmod = -1;
+ *typMod = -1;
}
/* composite types are never collatable */
*collation = InvalidOid;
@@ -5651,16 +5651,16 @@ plpgsql_exec_get_datum_type_info(PLpgSQL_execstate *estate,
recfield->rectupledescid = rec->erh->er_tupdesc_id;
}
- *typeid = recfield->finfo.ftypeid;
- *typmod = recfield->finfo.ftypmod;
+ *typeId = recfield->finfo.ftypeid;
+ *typMod = recfield->finfo.ftypmod;
*collation = recfield->finfo.fcollation;
break;
}
default:
elog(ERROR, "unrecognized dtype: %d", datum->dtype);
- *typeid = InvalidOid; /* keep compiler quiet */
- *typmod = -1;
+ *typeId = InvalidOid; /* keep compiler quiet */
+ *typMod = -1;
*collation = InvalidOid;
break;
}
diff --git a/src/pl/plpgsql/src/plpgsql.h b/src/pl/plpgsql/src/plpgsql.h
index 921ed72bdc..a5a5ef9de7 100644
--- a/src/pl/plpgsql/src/plpgsql.h
+++ b/src/pl/plpgsql/src/plpgsql.h
@@ -1239,7 +1239,7 @@ extern PLpgSQL_recfield *plpgsql_build_recfield(PLpgSQL_rec *rec,
extern int plpgsql_recognize_err_condition(const char *condname,
bool allow_sqlstate);
extern PLpgSQL_condition *plpgsql_parse_err_condition(char *condname);
-extern void plpgsql_adddatum(PLpgSQL_datum *new);
+extern void plpgsql_adddatum(PLpgSQL_datum *newdatum);
extern int plpgsql_add_initdatums(int **varnos);
extern void plpgsql_HashTableInit(void);
@@ -1266,7 +1266,8 @@ extern Oid plpgsql_exec_get_datum_type(PLpgSQL_execstate *estate,
PLpgSQL_datum *datum);
extern void plpgsql_exec_get_datum_type_info(PLpgSQL_execstate *estate,
PLpgSQL_datum *datum,
- Oid *typeid, int32 *typmod, Oid *collation);
+ Oid *typeId, int32 *typMod,
+ Oid *collation);
/*
* Functions for namespace handling in pl_funcs.c