diff options
author | Andres Freund | 2017-08-20 18:19:07 +0000 |
---|---|---|
committer | Andres Freund | 2017-08-20 18:19:07 +0000 |
commit | 2cd70845240087da205695baedab6412342d1dbe (patch) | |
tree | 20a3b6a2231dae248218ac54983c7a854328265f /src/backend/utils/fmgr/funcapi.c | |
parent | b1c2d76a2fcef812af0be3343082414d401909c8 (diff) |
Change tupledesc->attrs[n] to TupleDescAttr(tupledesc, n).
This is a mechanical change in preparation for a later commit that
will change the layout of TupleDesc. Introducing a macro to abstract
the details of where attributes are stored will allow us to change
that in separate step and revise it in future.
Author: Thomas Munro, editorialized by Andres Freund
Reviewed-By: Andres Freund
Discussion: https://postgr.es/m/CAEepm=0ZtQ-SpsgCyzzYpsXS6e=kZWqk3g5Ygn3MDV7A8dabUA@mail.gmail.com
Diffstat (limited to 'src/backend/utils/fmgr/funcapi.c')
-rw-r--r-- | src/backend/utils/fmgr/funcapi.c | 15 |
1 files changed, 9 insertions, 6 deletions
diff --git a/src/backend/utils/fmgr/funcapi.c b/src/backend/utils/fmgr/funcapi.c index be47d411c5b..9c3f4510ce4 100644 --- a/src/backend/utils/fmgr/funcapi.c +++ b/src/backend/utils/fmgr/funcapi.c @@ -419,7 +419,7 @@ resolve_polymorphic_tupdesc(TupleDesc tupdesc, oidvector *declared_args, /* See if there are any polymorphic outputs; quick out if not */ for (i = 0; i < natts; i++) { - switch (tupdesc->attrs[i]->atttypid) + switch (TupleDescAttr(tupdesc, i)->atttypid) { case ANYELEMENTOID: have_anyelement_result = true; @@ -548,13 +548,15 @@ resolve_polymorphic_tupdesc(TupleDesc tupdesc, oidvector *declared_args, /* And finally replace the tuple column types as needed */ for (i = 0; i < natts; i++) { - switch (tupdesc->attrs[i]->atttypid) + Form_pg_attribute att = TupleDescAttr(tupdesc, i); + + switch (att->atttypid) { case ANYELEMENTOID: case ANYNONARRAYOID: case ANYENUMOID: TupleDescInitEntry(tupdesc, i + 1, - NameStr(tupdesc->attrs[i]->attname), + NameStr(att->attname), anyelement_type, -1, 0); @@ -562,7 +564,7 @@ resolve_polymorphic_tupdesc(TupleDesc tupdesc, oidvector *declared_args, break; case ANYARRAYOID: TupleDescInitEntry(tupdesc, i + 1, - NameStr(tupdesc->attrs[i]->attname), + NameStr(att->attname), anyarray_type, -1, 0); @@ -570,7 +572,7 @@ resolve_polymorphic_tupdesc(TupleDesc tupdesc, oidvector *declared_args, break; case ANYRANGEOID: TupleDescInitEntry(tupdesc, i + 1, - NameStr(tupdesc->attrs[i]->attname), + NameStr(att->attname), anyrange_type, -1, 0); @@ -1344,9 +1346,10 @@ TypeGetTupleDesc(Oid typeoid, List *colaliases) for (varattno = 0; varattno < natts; varattno++) { char *label = strVal(list_nth(colaliases, varattno)); + Form_pg_attribute attr = TupleDescAttr(tupdesc, varattno); if (label != NULL) - namestrcpy(&(tupdesc->attrs[varattno]->attname), label); + namestrcpy(&(attr->attname), label); } /* The tuple type is now an anonymous record type */ |