github.com/cockroachdb/cockroach@v20.2.0-alpha.1+incompatible/pkg/sql/opt/exec/execbuilder/testdata/check_constraints (about)

     1  # LogicTest: local
     2  
     3  # Use multiple column families.
     4  
     5  statement ok
     6  CREATE TABLE t9 (
     7    a INT PRIMARY KEY,
     8    b INT,
     9    c INT,
    10    d INT,
    11    e INT,
    12    FAMILY (a),
    13    FAMILY (b),
    14    FAMILY (c),
    15    FAMILY (d, e),
    16    CHECK (a > b),
    17    CHECK (d IS NULL)
    18  )
    19  
    20  # Only column families that are needed to validate check constraints are fetched.
    21  query TTTTT
    22  EXPLAIN (VERBOSE) UPDATE t9 SET b = b + 1 WHERE a = 5
    23  ----
    24  ·                         distributed  false                      ·                              ·
    25  ·                         vectorized   false                      ·                              ·
    26  count                     ·            ·                          ()                             ·
    27   └── update               ·            ·                          ()                             ·
    28        │                   table        t9                         ·                              ·
    29        │                   set          b                          ·                              ·
    30        │                   strategy     updater                    ·                              ·
    31        │                   auto commit  ·                          ·                              ·
    32        └── render          ·            ·                          (a, b, b_new, check1, check2)  ·
    33             │              render 0     a                          ·                              ·
    34             │              render 1     b                          ·                              ·
    35             │              render 2     b_new                      ·                              ·
    36             │              render 3     a > b_new                  ·                              ·
    37             │              render 4     d IS NULL                  ·                              ·
    38             └── render     ·            ·                          (b_new, a, b, d)               ·
    39                  │         render 0     b + 1                      ·                              ·
    40                  │         render 1     a                          ·                              ·
    41                  │         render 2     b                          ·                              ·
    42                  │         render 3     d                          ·                              ·
    43                  └── scan  ·            ·                          (a, b, d)                      ·
    44  ·                         table        t9@primary                 ·                              ·
    45  ·                         spans        /5/0-/5/1/2 /5/3/1-/5/3/2  ·                              ·
    46  ·                         parallel     ·                          ·                              ·
    47  
    48  query TTTTT
    49  EXPLAIN (VERBOSE) UPDATE t9 SET a = 2 WHERE a = 5
    50  ----
    51  ·                    distributed       false       ·                                       ·
    52  ·                    vectorized        false       ·                                       ·
    53  count                ·                 ·           ()                                      ·
    54   └── update          ·                 ·           ()                                      ·
    55        │              table             t9          ·                                       ·
    56        │              set               a           ·                                       ·
    57        │              strategy          updater     ·                                       ·
    58        │              auto commit       ·           ·                                       ·
    59        └── render     ·                 ·           (a, b, c, d, e, a_new, check1, check2)  ·
    60             │         render 0          a           ·                                       ·
    61             │         render 1          b           ·                                       ·
    62             │         render 2          c           ·                                       ·
    63             │         render 3          d           ·                                       ·
    64             │         render 4          e           ·                                       ·
    65             │         render 5          2           ·                                       ·
    66             │         render 6          b < 2       ·                                       ·
    67             │         render 7          d IS NULL   ·                                       ·
    68             └── scan  ·                 ·           (a, b, c, d, e)                         ·
    69  ·                    table             t9@primary  ·                                       ·
    70  ·                    spans             /5-/5/#     ·                                       ·
    71  ·                    locking strength  for update  ·                                       ·