mirror of
https://github.com/postgres/postgres.git
synced 2025-11-18 02:02:55 +03:00
Fix CREATE TABLE LIKE with not-valid check constraint
In CREATE TABLE ... LIKE, any check constraints copied from the source
table should be set to valid if they are ENFORCED (the default).
Bug introduced in commit ca87c415e2.
Author: jian he <jian.universality@gmail.com>
Discussion: https://www.postgresql.org/message-id/CACJufxH%3D%2Bod8Wy0P4L3_GpapNwLUP3oAes5UFRJ7yTxrM_M5kg%40mail.gmail.com
This commit is contained in:
@@ -1461,7 +1461,6 @@ expandTableLikeClause(RangeVar *heapRel, TableLikeClause *table_like_clause)
|
||||
char *ccname = constr->check[ccnum].ccname;
|
||||
char *ccbin = constr->check[ccnum].ccbin;
|
||||
bool ccenforced = constr->check[ccnum].ccenforced;
|
||||
bool ccvalid = constr->check[ccnum].ccvalid;
|
||||
bool ccnoinherit = constr->check[ccnum].ccnoinherit;
|
||||
Node *ccbin_node;
|
||||
bool found_whole_row;
|
||||
@@ -1492,7 +1491,7 @@ expandTableLikeClause(RangeVar *heapRel, TableLikeClause *table_like_clause)
|
||||
n->conname = pstrdup(ccname);
|
||||
n->location = -1;
|
||||
n->is_enforced = ccenforced;
|
||||
n->initially_valid = ccvalid;
|
||||
n->initially_valid = ccenforced; /* sic */
|
||||
n->is_no_inherit = ccnoinherit;
|
||||
n->raw_expr = NULL;
|
||||
n->cooked_expr = nodeToString(ccbin_node);
|
||||
|
||||
Reference in New Issue
Block a user