# LogicTest: local-opt

# Use multiple column families.

statement ok
CREATE TABLE t9 (
  a INT PRIMARY KEY,
  b INT,
  c INT,
  d INT,
  e INT,
  FAMILY (a),
  FAMILY (b),
  FAMILY (c),
  FAMILY (d, e),
  CHECK (a > b),
  CHECK (d IS NULL)
)

# Only column families that are needed to validate check constraints are fetched.
query TTTTT
EXPLAIN (VERBOSE) UPDATE t9 SET b = b + 1 WHERE a = 5
----
count                     ·         ·                          ()                                ·
 └── update               ·         ·                          ()                                ·
      │                   table     t9                         ·                                 ·
      │                   set       b                          ·                                 ·
      │                   strategy  updater                    ·                                 ·
      └── render          ·         ·                          (a, b, column11, check1, check2)  ·
           │              render 0  a                          ·                                 ·
           │              render 1  b                          ·                                 ·
           │              render 2  column11                   ·                                 ·
           │              render 3  a > column11               ·                                 ·
           │              render 4  d IS NULL                  ·                                 ·
           └── render     ·         ·                          (column11, a, b, d)               ·
                │         render 0  b + 1                      ·                                 ·
                │         render 1  a                          ·                                 ·
                │         render 2  b                          ·                                 ·
                │         render 3  d                          ·                                 ·
                └── scan  ·         ·                          (a, b, d)                         ·
·                         table     t9@primary                 ·                                 ·
·                         spans     /5/0-/5/1/2 /5/3/1-/5/3/2  ·                                 ·
·                         parallel  ·                          ·                                 ·

query TTTTT
EXPLAIN (VERBOSE) UPDATE t9 SET a = 2 WHERE a = 5
----
count                ·         ·           ()                                         ·
 └── update          ·         ·           ()                                         ·
      │              table     t9          ·                                          ·
      │              set       a           ·                                          ·
      │              strategy  updater     ·                                          ·
      └── render     ·         ·           (a, b, c, d, e, column11, check1, check2)  ·
           │         render 0  a           ·                                          ·
           │         render 1  b           ·                                          ·
           │         render 2  c           ·                                          ·
           │         render 3  d           ·                                          ·
           │         render 4  e           ·                                          ·
           │         render 5  2           ·                                          ·
           │         render 6  b < 2       ·                                          ·
           │         render 7  d IS NULL   ·                                          ·
           └── scan  ·         ·           (a, b, c, d, e)                            ·
·                    table     t9@primary  ·                                          ·
·                    spans     /5-/5/#     ·                                          ·
