diff options
author | Peter Eisentraut <peter@eisentraut.org> | 2023-08-29 08:41:04 +0200 |
---|---|---|
committer | Peter Eisentraut <peter@eisentraut.org> | 2023-08-29 08:45:05 +0200 |
commit | 1fa9241bdd0e44d2b602b2dd4b6f0a4d0d402e76 (patch) | |
tree | 0976faaea29bd6201d07b067ed4db9d14bbbe5c9 /src/backend/parser/parse_utilcmd.c | |
parent | 2b088c8e4a2c9879d2f37fa4b38ae925184cea64 (diff) | |
download | postgresql-1fa9241bdd0e44d2b602b2dd4b6f0a4d0d402e76.tar.gz postgresql-1fa9241bdd0e44d2b602b2dd4b6f0a4d0d402e76.zip |
Make more use of makeColumnDef()
Since we already have it, we might as well make full use of it,
instead of assembling ColumnDef by hand in several places.
Reviewed-by: Alvaro Herrera <alvherre@alvh.no-ip.org>
Discussion: https://www.postgresql.org/message-id/flat/52a125e4-ff9a-95f5-9f61-b87cf447e4da@eisentraut.org
Diffstat (limited to 'src/backend/parser/parse_utilcmd.c')
-rw-r--r-- | src/backend/parser/parse_utilcmd.c | 40 |
1 files changed, 9 insertions, 31 deletions
diff --git a/src/backend/parser/parse_utilcmd.c b/src/backend/parser/parse_utilcmd.c index bab7b87fe86..55c315f0e28 100644 --- a/src/backend/parser/parse_utilcmd.c +++ b/src/backend/parser/parse_utilcmd.c @@ -1066,7 +1066,6 @@ transformTableLikeClause(CreateStmtContext *cxt, TableLikeClause *table_like_cla { Form_pg_attribute attribute = TupleDescAttr(tupleDesc, parent_attno - 1); - char *attributeName = NameStr(attribute->attname); ColumnDef *def; /* @@ -1076,29 +1075,18 @@ transformTableLikeClause(CreateStmtContext *cxt, TableLikeClause *table_like_cla continue; /* - * Create a new column, which is marked as NOT inherited. - * + * Create a new column definition + */ + def = makeColumnDef(NameStr(attribute->attname), attribute->atttypid, + attribute->atttypmod, attribute->attcollation); + + /* * For constraints, ONLY the not-null constraint is inherited by the * new column definition per SQL99; however we cannot do that * correctly here, so we leave it for expandTableLikeClause to handle. */ - def = makeNode(ColumnDef); - def->colname = pstrdup(attributeName); - def->typeName = makeTypeNameFromOid(attribute->atttypid, - attribute->atttypmod); - def->inhcount = 0; - def->is_local = true; - def->is_not_null = false; if (attribute->attnotnull) process_notnull_constraints = true; - def->is_from_type = false; - def->storage = 0; - def->raw_default = NULL; - def->cooked_default = NULL; - def->collClause = NULL; - def->collOid = attribute->attcollation; - def->constraints = NIL; - def->location = -1; /* * Add to column list @@ -1635,20 +1623,10 @@ transformOfType(CreateStmtContext *cxt, TypeName *ofTypename) if (attr->attisdropped) continue; - n = makeNode(ColumnDef); - n->colname = pstrdup(NameStr(attr->attname)); - n->typeName = makeTypeNameFromOid(attr->atttypid, attr->atttypmod); - n->inhcount = 0; - n->is_local = true; - n->is_not_null = false; + n = makeColumnDef(NameStr(attr->attname), attr->atttypid, + attr->atttypmod, attr->attcollation); n->is_from_type = true; - n->storage = 0; - n->raw_default = NULL; - n->cooked_default = NULL; - n->collClause = NULL; - n->collOid = attr->attcollation; - n->constraints = NIL; - n->location = -1; + cxt->columns = lappend(cxt->columns, n); } ReleaseTupleDesc(tupdesc); |