summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPeter Eisentraut2021-11-26 08:57:23 +0000
committerPeter Eisentraut2021-11-26 08:57:23 +0000
commit36cb5e7c512bef394c9288786c62ef0eb1e891ba (patch)
treef5825813ce0af3e2d1a8bfc1df6dbe86aa883603
parent99e4d24a9d77e7bb87e15b318e96dc36651a7da2 (diff)
Update comments
Various places wanted to point out that tuple descriptors don't contain the variable-length fields of pg_attribute. This started when attacl was added, but more fields have been added since, and these comments haven't been kept up to date consistently. Reword so that the purpose is clearer and we don't have to keep updating them.
-rw-r--r--src/backend/access/common/tupdesc.c4
-rw-r--r--src/backend/catalog/heap.c7
-rw-r--r--src/backend/commands/tablecmds.c7
3 files changed, 10 insertions, 8 deletions
diff --git a/src/backend/access/common/tupdesc.c b/src/backend/access/common/tupdesc.c
index 4c63bd4dc6..9b506471fe 100644
--- a/src/backend/access/common/tupdesc.c
+++ b/src/backend/access/common/tupdesc.c
@@ -630,7 +630,7 @@ TupleDescInitEntry(TupleDesc desc,
att->attisdropped = false;
att->attislocal = true;
att->attinhcount = 0;
- /* attacl, attoptions and attfdwoptions are not present in tupledescs */
+ /* variable-length fields are not present in tupledescs */
tuple = SearchSysCache1(TYPEOID, ObjectIdGetDatum(oidtypeid));
if (!HeapTupleIsValid(tuple))
@@ -691,7 +691,7 @@ TupleDescInitBuiltinEntry(TupleDesc desc,
att->attisdropped = false;
att->attislocal = true;
att->attinhcount = 0;
- /* attacl, attoptions and attfdwoptions are not present in tupledescs */
+ /* variable-length fields are not present in tupledescs */
att->atttypid = oidtypeid;
diff --git a/src/backend/catalog/heap.c b/src/backend/catalog/heap.c
index 81cc39fb70..8bbf23e452 100644
--- a/src/backend/catalog/heap.c
+++ b/src/backend/catalog/heap.c
@@ -723,9 +723,10 @@ CheckAttributeType(const char *attname,
* Construct and insert a set of tuples in pg_attribute.
*
* Caller has already opened and locked pg_attribute. tupdesc contains the
- * attributes to insert. attcacheoff is always initialized to -1, attacl,
- * attfdwoptions and attmissingval are always initialized to NULL. attoptions
- * must contain the same number of elements as tupdesc, or be NULL.
+ * attributes to insert. attcacheoff is always initialized to -1. attoptions
+ * supplies the values for the attoptions fields and must contain the same
+ * number of elements as tupdesc or be NULL. The other variable-length fields
+ * of pg_attribute are always initialized to null values.
*
* indstate is the index state for CatalogTupleInsertWithInfo. It can be
* passed as NULL, in which case we'll fetch the necessary info. (Don't do
diff --git a/src/backend/commands/tablecmds.c b/src/backend/commands/tablecmds.c
index 5e9cae26a0..c35f09998c 100644
--- a/src/backend/commands/tablecmds.c
+++ b/src/backend/commands/tablecmds.c
@@ -6734,7 +6734,10 @@ ATExecAddColumn(List **wqueue, AlteredTableInfo *tab, Relation rel,
list_make1_oid(rel->rd_rel->reltype),
0);
- /* construct new attribute's pg_attribute entry */
+ /*
+ * Construct new attribute's pg_attribute entry. (Variable-length fields
+ * are handled by InsertPgAttributeTuples().)
+ */
attribute.attrelid = myrelid;
namestrcpy(&(attribute.attname), colDef->colname);
attribute.atttypid = typeOid;
@@ -6758,8 +6761,6 @@ ATExecAddColumn(List **wqueue, AlteredTableInfo *tab, Relation rel,
attribute.attinhcount = colDef->inhcount;
attribute.attcollation = collOid;
- /* attribute.attacl is handled by InsertPgAttributeTuples() */
-
ReleaseSysCache(typeTuple);
tupdesc = CreateTupleDesc(lengthof(aattr), (FormData_pg_attribute **) &aattr);