Ensure that CREATE TABLE LIKE copies any NO INHERIT constraint property.
Tom Lane <tgl@sss.pgh.pa.us>
Ensure that CREATE TABLE LIKE copies any NO INHERIT constraint property. Since the documentation about LIKE doesn't say that a copied constraint has properties different from the original, it seems that ignoring a NO INHERIT property doesn't meet the principle of least surprise. So make it copy that. (Note, however, that we still don't copy a NOT VALID property; CREATE TABLE offers no way to do that, plus it seems pointless.) Arguably this is a bug fix; but no back-patch, as it seems barely possible somebody is depending on the current behavior. Ildar Musin and Chris Travers; reviewed by Amit Langote and myself Discussion: https://postgr.es/m/CAONYFtMC6C+3AWCVp7Yd8H87Zn0GxG1_iQG6_bQKbaqYZY0=-g@mail.gmail.com
Files
| Path | Change | +/− |
|---|---|---|
| src/backend/parser/parse_utilcmd.c | modified | +7 −4 |
| src/test/regress/expected/create_table_like.out | modified | +16 −0 |
| src/test/regress/sql/create_table_like.sql | modified | +11 −0 |
Discussion
- Constraint's NO INHERIT option is ignored in CREATE TABLE LIKE statement 6 messages · 2020-02-19 → 2020-03-10