aboutsummaryrefslogtreecommitdiff
path: root/src/backend/optimizer
diff options
context:
space:
mode:
Diffstat (limited to 'src/backend/optimizer')
-rw-r--r--src/backend/optimizer/prep/preptlist.c2
-rw-r--r--src/backend/optimizer/prep/prepunion.c6
-rw-r--r--src/backend/optimizer/util/clauses.c2
-rw-r--r--src/backend/optimizer/util/plancat.c9
4 files changed, 10 insertions, 9 deletions
diff --git a/src/backend/optimizer/prep/preptlist.c b/src/backend/optimizer/prep/preptlist.c
index afc733f1835..9d75e8612ae 100644
--- a/src/backend/optimizer/prep/preptlist.c
+++ b/src/backend/optimizer/prep/preptlist.c
@@ -248,7 +248,7 @@ expand_targetlist(List *tlist, int command_type,
for (attrno = 1; attrno <= numattrs; attrno++)
{
- Form_pg_attribute att_tup = rel->rd_att->attrs[attrno - 1];
+ Form_pg_attribute att_tup = TupleDescAttr(rel->rd_att, attrno - 1);
TargetEntry *new_tle = NULL;
if (tlist_item != NULL)
diff --git a/src/backend/optimizer/prep/prepunion.c b/src/backend/optimizer/prep/prepunion.c
index f43c3f30076..e73c819901e 100644
--- a/src/backend/optimizer/prep/prepunion.c
+++ b/src/backend/optimizer/prep/prepunion.c
@@ -1648,7 +1648,7 @@ make_inh_translation_list(Relation oldrelation, Relation newrelation,
Oid attcollation;
int new_attno;
- att = old_tupdesc->attrs[old_attno];
+ att = TupleDescAttr(old_tupdesc, old_attno);
if (att->attisdropped)
{
/* Just put NULL into this list entry */
@@ -1686,7 +1686,7 @@ make_inh_translation_list(Relation oldrelation, Relation newrelation,
* notational device to include the assignment into the if-clause.
*/
if (old_attno < newnatts &&
- (att = new_tupdesc->attrs[old_attno]) != NULL &&
+ (att = TupleDescAttr(new_tupdesc, old_attno)) != NULL &&
!att->attisdropped && att->attinhcount != 0 &&
strcmp(attname, NameStr(att->attname)) == 0)
new_attno = old_attno;
@@ -1694,7 +1694,7 @@ make_inh_translation_list(Relation oldrelation, Relation newrelation,
{
for (new_attno = 0; new_attno < newnatts; new_attno++)
{
- att = new_tupdesc->attrs[new_attno];
+ att = TupleDescAttr(new_tupdesc, new_attno);
if (!att->attisdropped && att->attinhcount != 0 &&
strcmp(attname, NameStr(att->attname)) == 0)
break;
diff --git a/src/backend/optimizer/util/clauses.c b/src/backend/optimizer/util/clauses.c
index 602d17dfb45..93add27dbe2 100644
--- a/src/backend/optimizer/util/clauses.c
+++ b/src/backend/optimizer/util/clauses.c
@@ -2366,7 +2366,7 @@ rowtype_field_matches(Oid rowtypeid, int fieldnum,
ReleaseTupleDesc(tupdesc);
return false;
}
- attr = tupdesc->attrs[fieldnum - 1];
+ attr = TupleDescAttr(tupdesc, fieldnum - 1);
if (attr->attisdropped ||
attr->atttypid != expectedtype ||
attr->atttypmod != expectedtypmod ||
diff --git a/src/backend/optimizer/util/plancat.c b/src/backend/optimizer/util/plancat.c
index dc0b0b07067..a1ebd4acc81 100644
--- a/src/backend/optimizer/util/plancat.c
+++ b/src/backend/optimizer/util/plancat.c
@@ -1072,7 +1072,7 @@ get_rel_data_width(Relation rel, int32 *attr_widths)
for (i = 1; i <= RelationGetNumberOfAttributes(rel); i++)
{
- Form_pg_attribute att = rel->rd_att->attrs[i - 1];
+ Form_pg_attribute att = TupleDescAttr(rel->rd_att, i - 1);
int32 item_width;
if (att->attisdropped)
@@ -1208,7 +1208,7 @@ get_relation_constraints(PlannerInfo *root,
for (i = 1; i <= natts; i++)
{
- Form_pg_attribute att = relation->rd_att->attrs[i - 1];
+ Form_pg_attribute att = TupleDescAttr(relation->rd_att, i - 1);
if (att->attnotnull && !att->attisdropped)
{
@@ -1489,7 +1489,8 @@ build_physical_tlist(PlannerInfo *root, RelOptInfo *rel)
numattrs = RelationGetNumberOfAttributes(relation);
for (attrno = 1; attrno <= numattrs; attrno++)
{
- Form_pg_attribute att_tup = relation->rd_att->attrs[attrno - 1];
+ Form_pg_attribute att_tup = TupleDescAttr(relation->rd_att,
+ attrno - 1);
if (att_tup->attisdropped)
{
@@ -1609,7 +1610,7 @@ build_index_tlist(PlannerInfo *root, IndexOptInfo *index,
att_tup = SystemAttributeDefinition(indexkey,
heapRelation->rd_rel->relhasoids);
else
- att_tup = heapRelation->rd_att->attrs[indexkey - 1];
+ att_tup = TupleDescAttr(heapRelation->rd_att, indexkey - 1);
indexvar = (Expr *) makeVar(varno,
indexkey,