On Sat, May 3, 2025 at 11:42 PM Robert Treat <r...@xzilla.net> wrote:
> As such, attached patch removes the above, and attempts some clean up
> of the documentation in ALTER TABLE to better clarify the behavior
> around valid/not valid, enforced/not enforced, and how it affects
> different constraints, with some additional literal tag formatting
> changes.
>

    <para>
-    Adding an enforced <literal>CHECK</literal> or <literal>NOT NULL</literal>
-    constraint requires scanning the table to verify that existing
rows meet the
-    constraint, but does not require a table rewrite.  If a
<literal>CHECK</literal>
-    constraint is added as <literal>NOT ENFORCED</literal>, the validation will
-    not be performed.
+    Adding a <literal>CHECK</literal> or <literal>NOT NULL</literal>
+    constraint requires scanning the table to verify that existing rows meet
+    the constraint, but does not require a table rewrite.  IF a
+    <literal>CHECK</literal> constraint is added as
+    <literal>NOT ENFORCED</literal>, no verification is performed.
    </para>

"IF" should be "if".
i don't know which one ("validation" or "verification") is more accureate,
but i found this
(https://www.eviltester.com/2018/09/no-verification-validation.html)

here, we should also mention <literal>FOREIGN KEY</literal> constraint?


-      This form validates a foreign key, check, or not-null constraint that was
-      previously created as <literal>NOT VALID</literal>, by scanning the
+      This form validates a <literal>FOREIGN KEY</literal>,
+      <literal>CHECK</literal>, or <literal>NOT NULL</literal> constraint that
+      was previously created as <literal>NOT VALID</literal>, by scanning the
       table to ensure there are no rows for which the constraint is not
-      satisfied.  If the constraint is not enforced, an error is thrown.
+      satisfied.  If the constraint was created as
+      <literal>NOT ENFORCED</literal>, an error is thrown.
I think this changes should be great. original text
"If the constraint is not enforced" can mean "some exists row not
satisfied the constraint
condition" or "the constraint is marked as <literal>NOT ENFORCED</literal>".


Reply via email to