Skip to content

Commit e26d313

Browse files
committed
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. Reviewed-by: Tomasz Rybak <tomasz.rybak@post.pl> Discussion: https://www.postgresql.org/message-id/flat/a368248e-69e4-40be-9c07-6c3b5880b0a6@eisentraut.org
1 parent da2aeba commit e26d313

File tree

1 file changed

+3
-22
lines changed

1 file changed

+3
-22
lines changed

src/backend/commands/tablecmds.c

Lines changed: 3 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -1273,7 +1273,9 @@ DefineRelation(CreateStmt *stmt, char relkind, Oid ownerId,
12731273
*
12741274
* Given a list of ColumnDef nodes, build a TupleDesc.
12751275
*
1276-
* Note: tdtypeid will need to be filled in later on.
1276+
* Note: This is only for the limited purpose of table and view creation. Not
1277+
* everything is filled in. A real tuple descriptor should be obtained from
1278+
* the relcache.
12771279
*/
12781280
TupleDesc
12791281
BuildDescForRelation(const List *columns)
@@ -1282,7 +1284,6 @@ BuildDescForRelation(const List *columns)
12821284
AttrNumber attnum;
12831285
ListCell *l;
12841286
TupleDesc desc;
1285-
bool has_not_null;
12861287
char *attname;
12871288
Oid atttypid;
12881289
int32 atttypmod;
@@ -1294,7 +1295,6 @@ BuildDescForRelation(const List *columns)
12941295
*/
12951296
natts = list_length(columns);
12961297
desc = CreateTemplateTupleDesc(natts);
1297-
has_not_null = false;
12981298

12991299
attnum = 0;
13001300

@@ -1340,7 +1340,6 @@ BuildDescForRelation(const List *columns)
13401340

13411341
/* Fill in additional stuff not handled by TupleDescInitEntry */
13421342
att->attnotnull = entry->is_not_null;
1343-
has_not_null |= entry->is_not_null;
13441343
att->attislocal = entry->is_local;
13451344
att->attinhcount = entry->inhcount;
13461345
att->attidentity = entry->identity;
@@ -1352,24 +1351,6 @@ BuildDescForRelation(const List *columns)
13521351
att->attstorage = GetAttributeStorage(att->atttypid, entry->storage_name);
13531352
}
13541353

1355-
if (has_not_null)
1356-
{
1357-
TupleConstr *constr = (TupleConstr *) palloc0(sizeof(TupleConstr));
1358-
1359-
constr->has_not_null = true;
1360-
constr->has_generated_stored = false;
1361-
constr->defval = NULL;
1362-
constr->missing = NULL;
1363-
constr->num_defval = 0;
1364-
constr->check = NULL;
1365-
constr->num_check = 0;
1366-
desc->constr = constr;
1367-
}
1368-
else
1369-
{
1370-
desc->constr = NULL;
1371-
}
1372-
13731354
return desc;
13741355
}
13751356

0 commit comments

Comments
 (0)
pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy