]> granicus.if.org Git - postgresql/commitdiff
Fix C++ incompatibilities in plpgsql's header files.
authorTom Lane <tgl@sss.pgh.pa.us>
Fri, 31 May 2019 16:34:54 +0000 (12:34 -0400)
committerTom Lane <tgl@sss.pgh.pa.us>
Fri, 31 May 2019 16:34:54 +0000 (12:34 -0400)
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/b517ec3918d645eb950505eac8dd434e@gaz-is.ru

src/pl/plpgsql/src/pl_comp.c
src/pl/plpgsql/src/pl_exec.c
src/pl/plpgsql/src/plpgsql.h

index 6a3b2986a114b3f007e6852fc50a2b0836693a62..30c7e967dfa593efac8f91d8626797c797efad90 100644 (file)
@@ -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;
 }
 
 /* ----------
index a5d1d1db3d808778cc0f2c84824a7028996b7eef..90a22578946a094a577d41e97356317e27a560ce 100644 (file)
@@ -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;
        }
index 921ed72bdcdf8a3fe60bfdf3124ebc748df46c05..a5a5ef9de709fd6fd78cf4c5da0556fc4b4749f8 100644 (file)
@@ -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