# Create a database with some tables, types (ignored), and schemas (ignored);
# set some zone configs. Check that the mutations, if starting from a fresh
# slate, are as we'd expect.

reconcile
----

mutations
----
upsert /{Min-System/NodeLiveness}          ttl_seconds=3600 num_replicas=5
upsert /System/NodeLiveness{-Max}          ttl_seconds=600 num_replicas=5
upsert /System/{NodeLivenessMax-tsd}       range system
upsert /System{/tsd-tse}                   range default
upsert /System{tse-/SystemSpanConfigKeys}  range system
upsert /Table/{0-4}                        database system (host)
upsert /Table/{4-5}                        database system (host)
upsert /Table/{5-6}                        database system (host)
upsert /Table/{6-7}                        database system (host)
upsert /Table/{7-8}                        database system (host)
upsert /Table/{8-9}                        database system (host)
upsert /Table/{9-10}                       database system (host)
upsert /Table/1{1-2}                       ttl_seconds=600 ignore_strict_gc=true num_replicas=5 rangefeed_enabled=true exclude_data_from_backup=true
upsert /Table/1{2-3}                       database system (host)
upsert /Table/1{3-4}                       database system (host)
upsert /Table/1{4-5}                       database system (host)
upsert /Table/1{5-6}                       database system (host)
upsert /Table/1{6-7}                       range system
upsert /Table/1{7-8}                       range system
upsert /Table/1{8-9}                       range system
upsert /Table/{19-20}                      database system (host)
upsert /Table/2{0-1}                       database system (host)
upsert /Table/2{1-2}                       database system (host)
upsert /Table/2{2-3}                       range system
upsert /Table/2{3-4}                       database system (host)
upsert /Table/2{4-5}                       database system (host)
upsert /Table/2{5-6}                       ttl_seconds=600 ignore_strict_gc=true num_replicas=5 rangefeed_enabled=true exclude_data_from_backup=true
upsert /Table/2{6-7}                       database system (host)
upsert /Table/2{7-8}                       ttl_seconds=600 ignore_strict_gc=true num_replicas=5 rangefeed_enabled=true exclude_data_from_backup=true
upsert /Table/2{8-9}                       database system (host)
upsert /{Table/29-NamespaceTable/30}       range system
upsert /NamespaceTable/{30-Max}            database system (host)
upsert /{NamespaceTable/Max-Table/32}      database system (host)
upsert /Table/3{2-3}                       database system (host)
upsert /Table/3{3-4}                       database system (host)
upsert /Table/3{4-5}                       database system (host)
upsert /Table/3{5-6}                       database system (host)
upsert /Table/3{6-7}                       database system (host)
upsert /Table/3{7-8}                       database system (host)
upsert /Table/3{8-9}                       range system
upsert /Table/{39-40}                      database system (host)
upsert /Table/4{0-1}                       database system (host)
upsert /Table/4{1-2}                       database system (host)
upsert /Table/4{2-3}                       ttl_seconds=3600 ignore_strict_gc=true num_replicas=5 rangefeed_enabled=true
upsert /Table/4{3-4}                       ttl_seconds=3600 ignore_strict_gc=true num_replicas=5 rangefeed_enabled=true
upsert /Table/4{4-5}                       database system (host)
upsert /Table/4{5-6}                       ttl_seconds=7200 ignore_strict_gc=true num_replicas=5 rangefeed_enabled=true exclude_data_from_backup=true
upsert /Table/4{6-7}                       database system (host)
upsert /Table/4{7-8}                       ignore_strict_gc=true num_replicas=5 rangefeed_enabled=true exclude_data_from_backup=true
upsert /Table/4{8-9}                       database system (host)
upsert /Table/5{0-1}                       database system (host)
upsert /Table/5{1-2}                       database system (host)
upsert /Table/5{2-3}                       database system (host)
upsert /Table/5{3-4}                       database system (host)
upsert /Table/5{4-5}                       database system (host)
upsert /Table/5{5-6}                       database system (host)
upsert /Table/5{6-7}                       database system (host)
upsert /Table/5{7-8}                       database system (host)
upsert /Table/5{8-9}                       ttl_seconds=3600 ignore_strict_gc=true num_replicas=5 rangefeed_enabled=true
upsert /Table/{59-60}                      database system (host)
upsert /Table/6{0-1}                       database system (host)
upsert /Table/6{1-2}                       ttl_seconds=3600 ignore_strict_gc=true num_replicas=5 rangefeed_enabled=true
upsert /Table/6{2-3}                       ttl_seconds=3600 ignore_strict_gc=true num_replicas=5 rangefeed_enabled=true
upsert /Table/6{3-4}                       database system (host)
upsert /Table/6{4-5}                       database system (host)
upsert /Table/6{5-6}                       database system (host)
upsert /Table/6{6-7}                       database system (host)
upsert /Table/6{7-8}                       database system (host)
upsert /Table/6{8-9}                       database system (host)
upsert /Table/{69-70}                      database system (host)
upsert /Table/7{0-1}                       database system (host)
upsert /Table/7{1-2}                       database system (host)
upsert /Table/7{2-3}                       database system (host)

exec-sql
CREATE DATABASE db;
CREATE TABLE db.t1();
CREATE TABLE db.t2();
CREATE SCHEMA db.sc;
CREATE TYPE typ AS ENUM();
CREATE VIEW v AS SELECT 1;
CREATE SEQUENCE db.seq;
CREATE MATERIALIZED VIEW mv AS SELECT 1;
----

mutations
----
upsert /Table/10{6-7}                      range default
upsert /Table/10{7-8}                      range default
upsert /Table/11{2-3}                      range default
upsert /Table/11{3-4}                      range default

exec-sql
ALTER DATABASE db CONFIGURE ZONE USING num_replicas = 7;
ALTER TABLE db.t1 CONFIGURE ZONE USING num_voters = 5;
----

mutations
----
delete /Table/10{6-7}
upsert /Table/10{6-7}                      num_replicas=7 num_voters=5
delete /Table/10{7-8}
upsert /Table/10{7-8}                      num_replicas=7
delete /Table/11{2-3}
upsert /Table/11{2-3}                      num_replicas=7

state offset=47
----
...
/Table/4{6-7}                              database system (host)
/Table/4{7-8}                              ignore_strict_gc=true num_replicas=5 rangefeed_enabled=true exclude_data_from_backup=true
/Table/4{8-9}                              database system (host)
/Table/5{0-1}                              database system (host)
/Table/5{1-2}                              database system (host)
/Table/5{2-3}                              database system (host)
/Table/5{3-4}                              database system (host)
/Table/5{4-5}                              database system (host)
/Table/5{5-6}                              database system (host)
/Table/5{6-7}                              database system (host)
/Table/5{7-8}                              database system (host)
/Table/5{8-9}                              ttl_seconds=3600 ignore_strict_gc=true num_replicas=5 rangefeed_enabled=true
/Table/{59-60}                             database system (host)
/Table/6{0-1}                              database system (host)
/Table/6{1-2}                              ttl_seconds=3600 ignore_strict_gc=true num_replicas=5 rangefeed_enabled=true
/Table/6{2-3}                              ttl_seconds=3600 ignore_strict_gc=true num_replicas=5 rangefeed_enabled=true
/Table/6{3-4}                              database system (host)
/Table/6{4-5}                              database system (host)
/Table/6{5-6}                              database system (host)
/Table/6{6-7}                              database system (host)
/Table/6{7-8}                              database system (host)
/Table/6{8-9}                              database system (host)
/Table/{69-70}                             database system (host)
/Table/7{0-1}                              database system (host)
/Table/7{1-2}                              database system (host)
/Table/7{2-3}                              database system (host)
/Table/10{6-7}                             num_replicas=7 num_voters=5
/Table/10{7-8}                             num_replicas=7
/Table/11{2-3}                             num_replicas=7
/Table/11{3-4}                             range default

exec-sql
ALTER DATABASE system CONFIGURE ZONE USING gc.ttlseconds = 100;
----

mutations
----
delete /Table/{0-4}
upsert /Table/{0-4}                        ttl_seconds=100 ignore_strict_gc=true num_replicas=5 rangefeed_enabled=true
delete /Table/{4-5}
upsert /Table/{4-5}                        ttl_seconds=100 ignore_strict_gc=true num_replicas=5 rangefeed_enabled=true
delete /Table/{5-6}
upsert /Table/{5-6}                        ttl_seconds=100 ignore_strict_gc=true num_replicas=5 rangefeed_enabled=true
delete /Table/{6-7}
upsert /Table/{6-7}                        ttl_seconds=100 ignore_strict_gc=true num_replicas=5 rangefeed_enabled=true
delete /Table/{7-8}
upsert /Table/{7-8}                        ttl_seconds=100 ignore_strict_gc=true num_replicas=5 rangefeed_enabled=true
delete /Table/{8-9}
upsert /Table/{8-9}                        ttl_seconds=100 ignore_strict_gc=true num_replicas=5 rangefeed_enabled=true
delete /Table/{9-10}
upsert /Table/{9-10}                       ttl_seconds=100 ignore_strict_gc=true num_replicas=5 rangefeed_enabled=true
delete /Table/1{2-3}
upsert /Table/1{2-3}                       ttl_seconds=100 ignore_strict_gc=true num_replicas=5 rangefeed_enabled=true
delete /Table/1{3-4}
upsert /Table/1{3-4}                       ttl_seconds=100 ignore_strict_gc=true num_replicas=5 rangefeed_enabled=true
delete /Table/1{4-5}
upsert /Table/1{4-5}                       ttl_seconds=100 ignore_strict_gc=true num_replicas=5 rangefeed_enabled=true
delete /Table/1{5-6}
upsert /Table/1{5-6}                       ttl_seconds=100 ignore_strict_gc=true num_replicas=5 rangefeed_enabled=true
delete /Table/1{6-7}
upsert /Table/1{6-7}                       ttl_seconds=100 num_replicas=5
delete /Table/1{7-8}
upsert /Table/1{7-8}                       ttl_seconds=100 num_replicas=5
delete /Table/1{8-9}
upsert /Table/1{8-9}                       ttl_seconds=100 num_replicas=5
delete /Table/{19-20}
upsert /Table/{19-20}                      ttl_seconds=100 ignore_strict_gc=true num_replicas=5 rangefeed_enabled=true
delete /Table/2{0-1}
upsert /Table/2{0-1}                       ttl_seconds=100 ignore_strict_gc=true num_replicas=5 rangefeed_enabled=true
delete /Table/2{1-2}
upsert /Table/2{1-2}                       ttl_seconds=100 ignore_strict_gc=true num_replicas=5 rangefeed_enabled=true
delete /Table/2{2-3}
upsert /Table/2{2-3}                       ttl_seconds=100 num_replicas=5
delete /Table/2{3-4}
upsert /Table/2{3-4}                       ttl_seconds=100 ignore_strict_gc=true num_replicas=5 rangefeed_enabled=true
delete /Table/2{4-5}
upsert /Table/2{4-5}                       ttl_seconds=100 ignore_strict_gc=true num_replicas=5 rangefeed_enabled=true
delete /Table/2{6-7}
upsert /Table/2{6-7}                       ttl_seconds=100 ignore_strict_gc=true num_replicas=5 rangefeed_enabled=true
delete /Table/2{8-9}
upsert /Table/2{8-9}                       ttl_seconds=100 ignore_strict_gc=true num_replicas=5 rangefeed_enabled=true
delete /{Table/29-NamespaceTable/30}
upsert /{Table/29-NamespaceTable/30}       ttl_seconds=100 num_replicas=5
delete /NamespaceTable/{30-Max}
upsert /NamespaceTable/{30-Max}            ttl_seconds=100 ignore_strict_gc=true num_replicas=5 rangefeed_enabled=true
delete /{NamespaceTable/Max-Table/32}
upsert /{NamespaceTable/Max-Table/32}      ttl_seconds=100 ignore_strict_gc=true num_replicas=5 rangefeed_enabled=true
delete /Table/3{2-3}
upsert /Table/3{2-3}                       ttl_seconds=100 ignore_strict_gc=true num_replicas=5 rangefeed_enabled=true
delete /Table/3{3-4}
upsert /Table/3{3-4}                       ttl_seconds=100 ignore_strict_gc=true num_replicas=5 rangefeed_enabled=true
delete /Table/3{4-5}
upsert /Table/3{4-5}                       ttl_seconds=100 ignore_strict_gc=true num_replicas=5 rangefeed_enabled=true
delete /Table/3{5-6}
upsert /Table/3{5-6}                       ttl_seconds=100 ignore_strict_gc=true num_replicas=5 rangefeed_enabled=true
delete /Table/3{6-7}
upsert /Table/3{6-7}                       ttl_seconds=100 ignore_strict_gc=true num_replicas=5 rangefeed_enabled=true
delete /Table/3{7-8}
upsert /Table/3{7-8}                       ttl_seconds=100 ignore_strict_gc=true num_replicas=5 rangefeed_enabled=true
delete /Table/3{8-9}
upsert /Table/3{8-9}                       ttl_seconds=100 num_replicas=5
delete /Table/{39-40}
upsert /Table/{39-40}                      ttl_seconds=100 ignore_strict_gc=true num_replicas=5 rangefeed_enabled=true
delete /Table/4{0-1}
upsert /Table/4{0-1}                       ttl_seconds=100 ignore_strict_gc=true num_replicas=5 rangefeed_enabled=true
delete /Table/4{1-2}
upsert /Table/4{1-2}                       ttl_seconds=100 ignore_strict_gc=true num_replicas=5 rangefeed_enabled=true
delete /Table/4{4-5}
upsert /Table/4{4-5}                       ttl_seconds=100 ignore_strict_gc=true num_replicas=5 rangefeed_enabled=true
delete /Table/4{6-7}
upsert /Table/4{6-7}                       ttl_seconds=100 ignore_strict_gc=true num_replicas=5 rangefeed_enabled=true
delete /Table/4{7-8}
upsert /Table/4{7-8}                       ttl_seconds=100 ignore_strict_gc=true num_replicas=5 rangefeed_enabled=true exclude_data_from_backup=true
delete /Table/4{8-9}
upsert /Table/4{8-9}                       ttl_seconds=100 ignore_strict_gc=true num_replicas=5 rangefeed_enabled=true
delete /Table/5{0-1}
upsert /Table/5{0-1}                       ttl_seconds=100 ignore_strict_gc=true num_replicas=5 rangefeed_enabled=true
delete /Table/5{1-2}
upsert /Table/5{1-2}                       ttl_seconds=100 ignore_strict_gc=true num_replicas=5 rangefeed_enabled=true
delete /Table/5{2-3}
upsert /Table/5{2-3}                       ttl_seconds=100 ignore_strict_gc=true num_replicas=5 rangefeed_enabled=true
delete /Table/5{3-4}
upsert /Table/5{3-4}                       ttl_seconds=100 ignore_strict_gc=true num_replicas=5 rangefeed_enabled=true
delete /Table/5{4-5}
upsert /Table/5{4-5}                       ttl_seconds=100 ignore_strict_gc=true num_replicas=5 rangefeed_enabled=true
delete /Table/5{5-6}
upsert /Table/5{5-6}                       ttl_seconds=100 ignore_strict_gc=true num_replicas=5 rangefeed_enabled=true
delete /Table/5{6-7}
upsert /Table/5{6-7}                       ttl_seconds=100 ignore_strict_gc=true num_replicas=5 rangefeed_enabled=true
delete /Table/5{7-8}
upsert /Table/5{7-8}                       ttl_seconds=100 ignore_strict_gc=true num_replicas=5 rangefeed_enabled=true
delete /Table/{59-60}
upsert /Table/{59-60}                      ttl_seconds=100 ignore_strict_gc=true num_replicas=5 rangefeed_enabled=true
delete /Table/6{0-1}
upsert /Table/6{0-1}                       ttl_seconds=100 ignore_strict_gc=true num_replicas=5 rangefeed_enabled=true
delete /Table/6{3-4}
upsert /Table/6{3-4}                       ttl_seconds=100 ignore_strict_gc=true num_replicas=5 rangefeed_enabled=true
delete /Table/6{4-5}
upsert /Table/6{4-5}                       ttl_seconds=100 ignore_strict_gc=true num_replicas=5 rangefeed_enabled=true
delete /Table/6{5-6}
upsert /Table/6{5-6}                       ttl_seconds=100 ignore_strict_gc=true num_replicas=5 rangefeed_enabled=true
delete /Table/6{6-7}
upsert /Table/6{6-7}                       ttl_seconds=100 ignore_strict_gc=true num_replicas=5 rangefeed_enabled=true
delete /Table/6{7-8}
upsert /Table/6{7-8}                       ttl_seconds=100 ignore_strict_gc=true num_replicas=5 rangefeed_enabled=true
delete /Table/6{8-9}
upsert /Table/6{8-9}                       ttl_seconds=100 ignore_strict_gc=true num_replicas=5 rangefeed_enabled=true
delete /Table/{69-70}
upsert /Table/{69-70}                      ttl_seconds=100 ignore_strict_gc=true num_replicas=5 rangefeed_enabled=true
delete /Table/7{0-1}
upsert /Table/7{0-1}                       ttl_seconds=100 ignore_strict_gc=true num_replicas=5 rangefeed_enabled=true
delete /Table/7{1-2}
upsert /Table/7{1-2}                       ttl_seconds=100 ignore_strict_gc=true num_replicas=5 rangefeed_enabled=true
delete /Table/7{2-3}
upsert /Table/7{2-3}                       ttl_seconds=100 ignore_strict_gc=true num_replicas=5 rangefeed_enabled=true

state offset=5 limit=42
----
...
/Table/{0-4}                               ttl_seconds=100 ignore_strict_gc=true num_replicas=5 rangefeed_enabled=true
/Table/{4-5}                               ttl_seconds=100 ignore_strict_gc=true num_replicas=5 rangefeed_enabled=true
/Table/{5-6}                               ttl_seconds=100 ignore_strict_gc=true num_replicas=5 rangefeed_enabled=true
/Table/{6-7}                               ttl_seconds=100 ignore_strict_gc=true num_replicas=5 rangefeed_enabled=true
/Table/{7-8}                               ttl_seconds=100 ignore_strict_gc=true num_replicas=5 rangefeed_enabled=true
/Table/{8-9}                               ttl_seconds=100 ignore_strict_gc=true num_replicas=5 rangefeed_enabled=true
/Table/{9-10}                              ttl_seconds=100 ignore_strict_gc=true num_replicas=5 rangefeed_enabled=true
/Table/1{1-2}                              ttl_seconds=600 ignore_strict_gc=true num_replicas=5 rangefeed_enabled=true exclude_data_from_backup=true
/Table/1{2-3}                              ttl_seconds=100 ignore_strict_gc=true num_replicas=5 rangefeed_enabled=true
/Table/1{3-4}                              ttl_seconds=100 ignore_strict_gc=true num_replicas=5 rangefeed_enabled=true
/Table/1{4-5}                              ttl_seconds=100 ignore_strict_gc=true num_replicas=5 rangefeed_enabled=true
/Table/1{5-6}                              ttl_seconds=100 ignore_strict_gc=true num_replicas=5 rangefeed_enabled=true
/Table/1{6-7}                              ttl_seconds=100 num_replicas=5
/Table/1{7-8}                              ttl_seconds=100 num_replicas=5
/Table/1{8-9}                              ttl_seconds=100 num_replicas=5
/Table/{19-20}                             ttl_seconds=100 ignore_strict_gc=true num_replicas=5 rangefeed_enabled=true
/Table/2{0-1}                              ttl_seconds=100 ignore_strict_gc=true num_replicas=5 rangefeed_enabled=true
/Table/2{1-2}                              ttl_seconds=100 ignore_strict_gc=true num_replicas=5 rangefeed_enabled=true
/Table/2{2-3}                              ttl_seconds=100 num_replicas=5
/Table/2{3-4}                              ttl_seconds=100 ignore_strict_gc=true num_replicas=5 rangefeed_enabled=true
/Table/2{4-5}                              ttl_seconds=100 ignore_strict_gc=true num_replicas=5 rangefeed_enabled=true
/Table/2{5-6}                              ttl_seconds=600 ignore_strict_gc=true num_replicas=5 rangefeed_enabled=true exclude_data_from_backup=true
/Table/2{6-7}                              ttl_seconds=100 ignore_strict_gc=true num_replicas=5 rangefeed_enabled=true
/Table/2{7-8}                              ttl_seconds=600 ignore_strict_gc=true num_replicas=5 rangefeed_enabled=true exclude_data_from_backup=true
/Table/2{8-9}                              ttl_seconds=100 ignore_strict_gc=true num_replicas=5 rangefeed_enabled=true
/{Table/29-NamespaceTable/30}              ttl_seconds=100 num_replicas=5
/NamespaceTable/{30-Max}                   ttl_seconds=100 ignore_strict_gc=true num_replicas=5 rangefeed_enabled=true
/{NamespaceTable/Max-Table/32}             ttl_seconds=100 ignore_strict_gc=true num_replicas=5 rangefeed_enabled=true
/Table/3{2-3}                              ttl_seconds=100 ignore_strict_gc=true num_replicas=5 rangefeed_enabled=true
/Table/3{3-4}                              ttl_seconds=100 ignore_strict_gc=true num_replicas=5 rangefeed_enabled=true
/Table/3{4-5}                              ttl_seconds=100 ignore_strict_gc=true num_replicas=5 rangefeed_enabled=true
/Table/3{5-6}                              ttl_seconds=100 ignore_strict_gc=true num_replicas=5 rangefeed_enabled=true
/Table/3{6-7}                              ttl_seconds=100 ignore_strict_gc=true num_replicas=5 rangefeed_enabled=true
/Table/3{7-8}                              ttl_seconds=100 ignore_strict_gc=true num_replicas=5 rangefeed_enabled=true
/Table/3{8-9}                              ttl_seconds=100 num_replicas=5
/Table/{39-40}                             ttl_seconds=100 ignore_strict_gc=true num_replicas=5 rangefeed_enabled=true
/Table/4{0-1}                              ttl_seconds=100 ignore_strict_gc=true num_replicas=5 rangefeed_enabled=true
/Table/4{1-2}                              ttl_seconds=100 ignore_strict_gc=true num_replicas=5 rangefeed_enabled=true
/Table/4{2-3}                              ttl_seconds=3600 ignore_strict_gc=true num_replicas=5 rangefeed_enabled=true
/Table/4{3-4}                              ttl_seconds=3600 ignore_strict_gc=true num_replicas=5 rangefeed_enabled=true
/Table/4{4-5}                              ttl_seconds=100 ignore_strict_gc=true num_replicas=5 rangefeed_enabled=true
/Table/4{5-6}                              ttl_seconds=7200 ignore_strict_gc=true num_replicas=5 rangefeed_enabled=true exclude_data_from_backup=true
...
