@@ -13,122 +13,61 @@ ALTER DATABASE d ADD REGION "ap-southeast-2"
1313----
1414
1515#####################################################################
16- # CREATE TABLE: Test initial table creation with different localities
16+ # CREATE TABLE: Test each locality type once
1717#####################################################################
1818
1919feature-usage
20- CREATE TABLE t0 ()
20+ CREATE TABLE t_unspecified ()
2121----
2222sql.multiregion.create_table.locality.unspecified
2323
2424feature-usage
25- CREATE TABLE t1 () LOCALITY REGIONAL BY TABLE
25+ CREATE TABLE t_regional () LOCALITY REGIONAL BY TABLE
2626----
2727sql.multiregion.create_table.locality.regional_by_table
2828
2929feature-usage
30- CREATE TABLE t2 () LOCALITY REGIONAL BY TABLE IN "ap-southeast-2"
30+ CREATE TABLE t_regional_in () LOCALITY REGIONAL BY TABLE IN "ap-southeast-2"
3131----
3232sql.multiregion.create_table.locality.regional_by_table_in
3333
3434feature-usage
35- CREATE TABLE t3 () LOCALITY GLOBAL
35+ CREATE TABLE t_global () LOCALITY GLOBAL
3636----
3737sql.multiregion.create_table.locality.global
3838
3939#####################################################################
40- # ALTER TABLE from REGIONAL BY TABLE
40+ # ALTER TABLE: Test representative transitions (not exhaustive)
4141#####################################################################
4242
4343exec
44- CREATE TABLE t1_to_row () WITH (schema_locked=false) LOCALITY REGIONAL BY TABLE;
45- CREATE TABLE t1_to_global () WITH (schema_locked=false) LOCALITY REGIONAL BY TABLE;
46- CREATE TABLE t1_to_table_in () WITH (schema_locked=false) LOCALITY REGIONAL BY TABLE ;
47- CREATE TABLE t1_to_row_as () WITH (schema_locked=false) LOCALITY REGIONAL BY TABLE;
48- ALTER TABLE t1_to_row_as ADD COLUMN cr crdb_internal_region NOT NULL;
44+ CREATE TABLE t_alter1 () WITH (schema_locked=false) LOCALITY REGIONAL BY TABLE;
45+ CREATE TABLE t_alter2 () WITH (schema_locked=false) LOCALITY REGIONAL BY TABLE IN "ap-southeast-2" ;
46+ CREATE TABLE t_alter3 () WITH (schema_locked=false) LOCALITY GLOBAL ;
47+ CREATE TABLE t_alter4 () WITH (schema_locked=false) LOCALITY REGIONAL BY TABLE;
48+ ALTER TABLE t_alter4 ADD COLUMN cr crdb_internal_region NOT NULL;
4949----
5050
51+ # Test REGIONAL BY TABLE -> REGIONAL BY ROW
5152feature-usage
52- ALTER TABLE t1_to_row SET LOCALITY REGIONAL BY ROW
53+ ALTER TABLE t_alter1 SET LOCALITY REGIONAL BY ROW
5354----
5455sql.multiregion.alter_table.locality.from.regional_by_table.to.regional_by_row
5556
57+ # Test REGIONAL BY TABLE IN -> GLOBAL
5658feature-usage
57- ALTER TABLE t1_to_global SET LOCALITY GLOBAL
58- ----
59- sql.multiregion.alter_table.locality.from.regional_by_table.to.global
60-
61- feature-usage
62- ALTER TABLE t1_to_table_in SET LOCALITY REGIONAL BY TABLE IN "ap-southeast-2"
63- ----
64- sql.multiregion.alter_table.locality.from.regional_by_table.to.regional_by_table_in
65-
66- feature-usage
67- ALTER TABLE t1_to_row_as SET LOCALITY REGIONAL BY ROW AS "cr"
68- ----
69- sql.multiregion.alter_table.locality.from.regional_by_table.to.regional_by_row_as
70-
71- #####################################################################
72- # ALTER TABLE from REGIONAL BY TABLE IN
73- #####################################################################
74-
75- exec
76- CREATE TABLE t2_to_row () WITH (schema_locked = false) LOCALITY REGIONAL BY TABLE IN "ap-southeast-2";
77- CREATE TABLE t2_to_global () WITH (schema_locked = false) LOCALITY REGIONAL BY TABLE IN "ap-southeast-2";
78- CREATE TABLE t2_to_table () WITH (schema_locked = false) LOCALITY REGIONAL BY TABLE IN "ap-southeast-2";
79- CREATE TABLE t2_to_row_as () WITH (schema_locked = false) LOCALITY REGIONAL BY TABLE IN "ap-southeast-2";
80- ALTER TABLE t2_to_row_as ADD COLUMN cr crdb_internal_region NOT NULL;
81- ----
82-
83- feature-usage
84- ALTER TABLE t2_to_row SET LOCALITY REGIONAL BY ROW
85- ----
86- sql.multiregion.alter_table.locality.from.regional_by_table_in.to.regional_by_row
87-
88- feature-usage
89- ALTER TABLE t2_to_global SET LOCALITY GLOBAL
59+ ALTER TABLE t_alter2 SET LOCALITY GLOBAL
9060----
9161sql.multiregion.alter_table.locality.from.regional_by_table_in.to.global
9262
63+ # Test GLOBAL -> REGIONAL BY TABLE IN
9364feature-usage
94- ALTER TABLE t2_to_table SET LOCALITY REGIONAL BY TABLE
95- ----
96- sql.multiregion.alter_table.locality.from.regional_by_table_in.to.regional_by_table
97-
98- feature-usage
99- ALTER TABLE t2_to_row_as SET LOCALITY REGIONAL BY ROW AS "cr"
100- ----
101- sql.multiregion.alter_table.locality.from.regional_by_table_in.to.regional_by_row_as
102-
103-
104- #####################################################################
105- # ALTER TABLE from GLOBAL
106- #####################################################################exec
107-
108- exec
109- CREATE TABLE t3_to_row () WITH (schema_locked = false) LOCALITY GLOBAL;
110- CREATE TABLE t3_to_table () WITH (schema_locked = false) LOCALITY GLOBAL;
111- CREATE TABLE t3_to_table_in () WITH (schema_locked = false) LOCALITY GLOBAL;
112- CREATE TABLE t3_to_row_as () WITH (schema_locked = false) LOCALITY GLOBAL;
113- ALTER TABLE t3_to_row_as ADD COLUMN cr crdb_internal_region NOT NULL;
114- ----
115-
116- feature-usage
117- ALTER TABLE t3_to_row SET LOCALITY REGIONAL BY ROW
118- ----
119- sql.multiregion.alter_table.locality.from.global.to.regional_by_row
120-
121- feature-usage
122- ALTER TABLE t3_to_table SET LOCALITY REGIONAL BY TABLE
123- ----
124- sql.multiregion.alter_table.locality.from.global.to.regional_by_table
125-
126- feature-usage
127- ALTER TABLE t3_to_table_in SET LOCALITY REGIONAL BY TABLE IN "ap-southeast-2"
65+ ALTER TABLE t_alter3 SET LOCALITY REGIONAL BY TABLE IN "ap-southeast-2"
12866----
12967sql.multiregion.alter_table.locality.from.global.to.regional_by_table_in
13068
69+ # Test REGIONAL BY TABLE -> REGIONAL BY ROW AS
13170feature-usage
132- ALTER TABLE t3_to_row_as SET LOCALITY REGIONAL BY ROW AS "cr"
71+ ALTER TABLE t_alter4 SET LOCALITY REGIONAL BY ROW AS "cr"
13372----
134- sql.multiregion.alter_table.locality.from.global .to.regional_by_row_as
73+ sql.multiregion.alter_table.locality.from.regional_by_table .to.regional_by_row_as
0 commit comments