compact_attr.diff
application/octet-stream
Filename: compact_attr.diff
Type: application/octet-stream
Part: 0
Patch
Format: unified
| File | + | − |
|---|---|---|
| contrib/dblink/dblink.c | 2 | 2 |
| contrib/postgres_fdw/deparse.c | 4 | 9 |
| src/backend/access/common/tupdesc.c | 1 | 1 |
| src/backend/access/gin/gininsert.c | 1 | 1 |
| src/backend/commands/tablecmds.c | 6 | 6 |
| src/backend/optimizer/util/plancat.c | 1 | 1 |
| src/backend/parser/parse_relation.c | 3 | 3 |
| src/backend/replication/logical/worker.c | 1 | 1 |
| src/backend/replication/pgoutput/pgoutput.c | 1 | 1 |
| src/backend/utils/adt/expandedrecord.c | 1 | 1 |
| src/backend/utils/adt/rowtypes.c | 4 | 4 |
| src/backend/utils/cache/catcache.c | 2 | 2 |
diff --git a/contrib/dblink/dblink.c b/contrib/dblink/dblink.c
index 1e7696beb50..bdebb7893cd 100644
--- a/contrib/dblink/dblink.c
+++ b/contrib/dblink/dblink.c
@@ -2169,7 +2169,7 @@ get_sql_insert(Relation rel, int *pkattnums, int pknumatts, char **src_pkattvals
needComma = false;
for (i = 0; i < natts; i++)
{
- if (TupleDescAttr(tupdesc, i)->attisdropped)
+ if (TupleDescCompactAttr(tupdesc, i)->attisdropped)
continue;
if (needComma)
@@ -3020,7 +3020,7 @@ validate_pkattnums(Relation rel,
for (j = 0; j < natts; j++)
{
/* dropped columns don't count */
- if (TupleDescAttr(tupdesc, j)->attisdropped)
+ if (TupleDescCompactAttr(tupdesc, j)->attisdropped)
continue;
if (++lnum == pkattnum)
diff --git a/contrib/postgres_fdw/deparse.c b/contrib/postgres_fdw/deparse.c
index e5b5e1a5f51..fa295954203 100644
--- a/contrib/postgres_fdw/deparse.c
+++ b/contrib/postgres_fdw/deparse.c
@@ -1458,10 +1458,8 @@ deparseTargetList(StringInfo buf,
first = true;
for (i = 1; i <= tupdesc->natts; i++)
{
- Form_pg_attribute attr = TupleDescAttr(tupdesc, i - 1);
-
/* Ignore dropped attributes. */
- if (attr->attisdropped)
+ if (TupleDescCompactAttr(tupdesc, i - 1)->attisdropped)
continue;
if (have_wholerow ||
@@ -2150,13 +2148,12 @@ deparseInsertSql(StringInfo buf, RangeTblEntry *rte,
foreach(lc, targetAttrs)
{
int attnum = lfirst_int(lc);
- Form_pg_attribute attr = TupleDescAttr(tupdesc, attnum - 1);
if (!first)
appendStringInfoString(buf, ", ");
first = false;
- if (attr->attgenerated)
+ if (TupleDescCompactAttr(tupdesc, attnum - 1)->attgenerated)
appendStringInfoString(buf, "DEFAULT");
else
{
@@ -2216,13 +2213,12 @@ rebuildInsertSql(StringInfo buf, Relation rel,
foreach(lc, target_attrs)
{
int attnum = lfirst_int(lc);
- Form_pg_attribute attr = TupleDescAttr(tupdesc, attnum - 1);
if (!first)
appendStringInfoString(buf, ", ");
first = false;
- if (attr->attgenerated)
+ if (TupleDescCompactAttr(tupdesc, attnum - 1)->attgenerated)
appendStringInfoString(buf, "DEFAULT");
else
{
@@ -2266,14 +2262,13 @@ deparseUpdateSql(StringInfo buf, RangeTblEntry *rte,
foreach(lc, targetAttrs)
{
int attnum = lfirst_int(lc);
- Form_pg_attribute attr = TupleDescAttr(tupdesc, attnum - 1);
if (!first)
appendStringInfoString(buf, ", ");
first = false;
deparseColumnRef(buf, rtindex, attnum, rte, false);
- if (attr->attgenerated)
+ if (TupleDescCompactAttr(tupdesc, attnum - 1)->attgenerated)
appendStringInfoString(buf, " = DEFAULT");
else
{
diff --git a/src/backend/access/common/tupdesc.c b/src/backend/access/common/tupdesc.c
index d715c345dd8..5ab7d34fb9a 100644
--- a/src/backend/access/common/tupdesc.c
+++ b/src/backend/access/common/tupdesc.c
@@ -526,7 +526,7 @@ FreeTupleDesc(TupleDesc tupdesc)
for (i = tupdesc->natts - 1; i >= 0; i--)
{
if (attrmiss[i].am_present
- && !TupleDescAttr(tupdesc, i)->attbyval)
+ && !TupleDescCompactAttr(tupdesc, i)->attbyval)
pfree(DatumGetPointer(attrmiss[i].am_value));
}
pfree(attrmiss);
diff --git a/src/backend/access/gin/gininsert.c b/src/backend/access/gin/gininsert.c
index 1d3ab22556d..3d71b442aa9 100644
--- a/src/backend/access/gin/gininsert.c
+++ b/src/backend/access/gin/gininsert.c
@@ -499,7 +499,7 @@ ginFlushBuildState(GinBuildState *buildstate, Relation index)
&attnum, &key, &category, &nlist)) != NULL)
{
/* information about the key */
- Form_pg_attribute attr = TupleDescAttr(tdesc, (attnum - 1));
+ CompactAttribute *attr = TupleDescCompactAttr(tdesc, (attnum - 1));
/* GIN tuple and tuple length */
GinTuple *tup;
diff --git a/src/backend/commands/tablecmds.c b/src/backend/commands/tablecmds.c
index 5fd8b51312c..eea13f805b6 100644
--- a/src/backend/commands/tablecmds.c
+++ b/src/backend/commands/tablecmds.c
@@ -6336,7 +6336,7 @@ ATRewriteTable(AlteredTableInfo *tab, Oid OIDNewHeap)
*/
for (i = 0; i < newTupDesc->natts; i++)
{
- if (TupleDescAttr(newTupDesc, i)->attisdropped)
+ if (TupleDescCompactAttr(newTupDesc, i)->attisdropped)
dropped_attrs = lappend_int(dropped_attrs, i);
}
@@ -8148,7 +8148,7 @@ ATExecColumnDefault(Relation rel, const char *colName,
newDefault ? 0 : errhint("Use %s instead.",
"ALTER TABLE ... ALTER COLUMN ... DROP IDENTITY")));
- if (TupleDescAttr(tupdesc, attnum - 1)->attgenerated)
+ if (TupleDescCompactAttr(tupdesc, attnum - 1)->attgenerated)
ereport(ERROR,
(errcode(ERRCODE_SYNTAX_ERROR),
errmsg("column \"%s\" of relation \"%s\" is a generated column",
@@ -17673,16 +17673,16 @@ MergeConstraintsIntoExisting(Relation child_rel, Relation parent_rel)
}
else if (child_con->contype == CONSTRAINT_NOTNULL)
{
- Form_pg_attribute parent_attr;
- Form_pg_attribute child_attr;
+ CompactAttribute *parent_attr;
+ CompactAttribute *child_attr;
AttrNumber child_attno;
- parent_attr = TupleDescAttr(parent_rel->rd_att, parent_attno - 1);
+ parent_attr = TupleDescCompactAttr(parent_rel->rd_att, parent_attno - 1);
child_attno = extractNotNullColumn(child_tuple);
if (parent_attno != attmap->attnums[child_attno - 1])
continue;
- child_attr = TupleDescAttr(child_rel->rd_att, child_attno - 1);
+ child_attr = TupleDescCompactAttr(child_rel->rd_att, child_attno - 1);
/* there shouldn't be constraints on dropped columns */
if (parent_attr->attisdropped || child_attr->attisdropped)
elog(ERROR, "found not-null constraint on dropped columns");
diff --git a/src/backend/optimizer/util/plancat.c b/src/backend/optimizer/util/plancat.c
index da5d901ec3c..f4b7343dace 100644
--- a/src/backend/optimizer/util/plancat.c
+++ b/src/backend/optimizer/util/plancat.c
@@ -2509,7 +2509,7 @@ get_dependent_generated_columns(PlannerInfo *root, Index rti,
Bitmapset *attrs_used = NULL;
/* skip if not generated column */
- if (!TupleDescAttr(tupdesc, defval->adnum - 1)->attgenerated)
+ if (!TupleDescCompactAttr(tupdesc, defval->adnum - 1)->attgenerated)
continue;
/* identify columns this generated column depends on */
diff --git a/src/backend/parser/parse_relation.c b/src/backend/parser/parse_relation.c
index 04ecf64b1fc..ad91cec98c5 100644
--- a/src/backend/parser/parse_relation.c
+++ b/src/backend/parser/parse_relation.c
@@ -3489,12 +3489,12 @@ get_rte_attribute_is_dropped(RangeTblEntry *rte, AttrNumber attnum)
if (tupdesc)
{
/* Composite data type, e.g. a table's row type */
- Form_pg_attribute att_tup;
+ CompactAttribute *att_tup;
Assert(tupdesc);
Assert(attnum - atts_done <= tupdesc->natts);
- att_tup = TupleDescAttr(tupdesc,
- attnum - atts_done - 1);
+ att_tup = TupleDescCompactAttr(tupdesc,
+ attnum - atts_done - 1);
return att_tup->attisdropped;
}
/* Otherwise, it can't have any dropped columns */
diff --git a/src/backend/replication/logical/worker.c b/src/backend/replication/logical/worker.c
index 3c58ad88476..b5821afbd6b 100644
--- a/src/backend/replication/logical/worker.c
+++ b/src/backend/replication/logical/worker.c
@@ -977,7 +977,7 @@ slot_fill_defaults(LogicalRepRelMapEntry *rel, EState *estate,
{
Expr *defexpr;
- if (TupleDescAttr(desc, attnum)->attisdropped || TupleDescAttr(desc, attnum)->attgenerated)
+ if (TupleDescCompactAttr(desc, attnum)->attisdropped || TupleDescCompactAttr(desc, attnum)->attgenerated)
continue;
if (rel->attrmap->attnums[attnum] >= 0)
diff --git a/src/backend/replication/pgoutput/pgoutput.c b/src/backend/replication/pgoutput/pgoutput.c
index 847806b0a2e..378b61fbd18 100644
--- a/src/backend/replication/pgoutput/pgoutput.c
+++ b/src/backend/replication/pgoutput/pgoutput.c
@@ -1069,7 +1069,7 @@ check_and_init_gencol(PGOutputData *data, List *publications,
/* Check if there is any generated column present. */
for (int i = 0; i < desc->natts; i++)
{
- Form_pg_attribute att = TupleDescAttr(desc, i);
+ CompactAttribute *att = TupleDescCompactAttr(desc, i);
if (att->attgenerated)
{
diff --git a/src/backend/utils/adt/expandedrecord.c b/src/backend/utils/adt/expandedrecord.c
index 13752db44e8..495d48fb581 100644
--- a/src/backend/utils/adt/expandedrecord.c
+++ b/src/backend/utils/adt/expandedrecord.c
@@ -547,7 +547,7 @@ expanded_record_set_tuple(ExpandedRecordHeader *erh,
for (i = 0; i < erh->nfields; i++)
{
if (!erh->dnulls[i] &&
- !(TupleDescAttr(tupdesc, i)->attbyval))
+ !(TupleDescCompactAttr(tupdesc, i)->attbyval))
{
char *oldValue = (char *) DatumGetPointer(erh->dvalues[i]);
diff --git a/src/backend/utils/adt/rowtypes.c b/src/backend/utils/adt/rowtypes.c
index 9e5449f17d7..84f8a1ab770 100644
--- a/src/backend/utils/adt/rowtypes.c
+++ b/src/backend/utils/adt/rowtypes.c
@@ -549,7 +549,7 @@ record_recv(PG_FUNCTION_ARGS)
validcols = 0;
for (i = 0; i < ncolumns; i++)
{
- if (!TupleDescAttr(tupdesc, i)->attisdropped)
+ if (!TupleDescCompactAttr(tupdesc, i)->attisdropped)
validcols++;
}
if (usercols != validcols)
@@ -754,7 +754,7 @@ record_send(PG_FUNCTION_ARGS)
validcols = 0;
for (i = 0; i < ncolumns; i++)
{
- if (!TupleDescAttr(tupdesc, i)->attisdropped)
+ if (!TupleDescCompactAttr(tupdesc, i)->attisdropped)
validcols++;
}
pq_sendint32(&buf, validcols);
@@ -924,12 +924,12 @@ record_cmp(FunctionCallInfo fcinfo)
/*
* Skip dropped columns
*/
- if (i1 < ncolumns1 && TupleDescAttr(tupdesc1, i1)->attisdropped)
+ if (i1 < ncolumns1 && TupleDescCompactAttr(tupdesc1, i1)->attisdropped)
{
i1++;
continue;
}
- if (i2 < ncolumns2 && TupleDescAttr(tupdesc2, i2)->attisdropped)
+ if (i2 < ncolumns2 && TupleDescCompactAttr(tupdesc2, i2)->attisdropped)
{
i2++;
continue;
diff --git a/src/backend/utils/cache/catcache.c b/src/backend/utils/cache/catcache.c
index fd1c7be8f53..abb15b5b30d 100644
--- a/src/backend/utils/cache/catcache.c
+++ b/src/backend/utils/cache/catcache.c
@@ -2286,12 +2286,12 @@ CatCacheFreeKeys(TupleDesc tupdesc, int nkeys, int *attnos, Datum *keys)
for (i = 0; i < nkeys; i++)
{
int attnum = attnos[i];
- Form_pg_attribute att;
+ CompactAttribute *att;
/* system attribute are not supported in caches */
Assert(attnum > 0);
- att = TupleDescAttr(tupdesc, attnum - 1);
+ att = TupleDescCompactAttr(tupdesc, attnum - 1);
if (!att->attbyval)
pfree(DatumGetPointer(keys[i]));