v1-0004-Remove-useless-code.patch
text/plain
Filename: v1-0004-Remove-useless-code.patch
Type: text/plain
Part: 3
Message:
Re: Virtual generated columns
Patch
Same data as JSON:
GET /api/v1/attachments/:id/patch
the parsed metadata as JSON — format, series position, per-file stats; never the diff bytes.
API reference →
Format: format-patch
Series: patch v1-0004
Subject: Remove useless code
| File | + | − |
|---|---|---|
| src/backend/commands/tablecmds.c | 3 | 22 |
From d2325a73711d77e5bd0bdc3df234efac229cb948 Mon Sep 17 00:00:00 2001
From: Peter Eisentraut <peter@eisentraut.org>
Date: Mon, 29 Apr 2024 09:46:44 +0200
Subject: [PATCH v1 4/5] Remove useless code
BuildDescForRelation() goes out of its way to fill in
->constr->has_not_null, but that value is not used for anything later,
so this code can all be removed. Note that BuildDescForRelation()
doesn't make any effort to fill in the rest of ->constr, so there is
no claim that that structure is completely filled in.
---
src/backend/commands/tablecmds.c | 25 +++----------------------
1 file changed, 3 insertions(+), 22 deletions(-)
diff --git a/src/backend/commands/tablecmds.c b/src/backend/commands/tablecmds.c
index 313c782cae2..958007ca316 100644
--- a/src/backend/commands/tablecmds.c
+++ b/src/backend/commands/tablecmds.c
@@ -1272,7 +1272,9 @@ DefineRelation(CreateStmt *stmt, char relkind, Oid ownerId,
*
* Given a list of ColumnDef nodes, build a TupleDesc.
*
- * Note: tdtypeid will need to be filled in later on.
+ * Note: This is only for the limited purpose of table and view creation. Not
+ * everything is filled in. A real tuple descriptor should be obtained from
+ * the relcache.
*/
TupleDesc
BuildDescForRelation(const List *columns)
@@ -1281,7 +1283,6 @@ BuildDescForRelation(const List *columns)
AttrNumber attnum;
ListCell *l;
TupleDesc desc;
- bool has_not_null;
char *attname;
Oid atttypid;
int32 atttypmod;
@@ -1293,7 +1294,6 @@ BuildDescForRelation(const List *columns)
*/
natts = list_length(columns);
desc = CreateTemplateTupleDesc(natts);
- has_not_null = false;
attnum = 0;
@@ -1339,7 +1339,6 @@ BuildDescForRelation(const List *columns)
/* Fill in additional stuff not handled by TupleDescInitEntry */
att->attnotnull = entry->is_not_null;
- has_not_null |= entry->is_not_null;
att->attislocal = entry->is_local;
att->attinhcount = entry->inhcount;
att->attidentity = entry->identity;
@@ -1351,24 +1350,6 @@ BuildDescForRelation(const List *columns)
att->attstorage = GetAttributeStorage(att->atttypid, entry->storage_name);
}
- if (has_not_null)
- {
- TupleConstr *constr = (TupleConstr *) palloc0(sizeof(TupleConstr));
-
- constr->has_not_null = true;
- constr->has_generated_stored = false;
- constr->defval = NULL;
- constr->missing = NULL;
- constr->num_defval = 0;
- constr->check = NULL;
- constr->num_check = 0;
- desc->constr = constr;
- }
- else
- {
- desc->constr = NULL;
- }
-
return desc;
}
--
2.44.0