On 2023-Mar-27, Peter Eisentraut wrote:
> I suggest going through the tests carefully again and make sure all the
> changes are sensible and all the comments are correct. There are a few
> places where the behavior of tests has changed (intentionally) but the
> surrounding comments don't match anymore, or objects that previously weren't
> created now succeed but then affect following tests. Also, it seems some
> tests are left over from the first variant of this patch (where not-null
> constraints were converted to check constraints), and test names or comments
> should be updated to the current behavior.
Thanks for reviewing!
Yeah, there were some obsolete tests. I fixed those, added a couple
more, and while doing that I realized that failing to have NO INHERIT
constraints may be seen as regressing feature-wise, because there would
be no way to return to the situation where a parent table has a NOT NULL
but the children don't necessarily. So I added that, and that led me to
changing the code structure a bit more in order to support *not* copying
the attnotnull flag in the cases where the parent only has it because of
a NO INHERIT constraint.
I'll go over this again tomorrow with fresh eyes, but I think it should
be pretty close to ready. (Need to amend docs to note the new NO
INHERIT option for NOT NULL table constraints, and make sure pg_dump
complies.)
Tests are currently running: https://cirrus-ci.com/build/6261827823206400
--
Álvaro Herrera 48°01'N 7°57'E — https://www.EnterpriseDB.com/
"Las navajas y los monos deben estar siempre distantes" (Germán Poo)