Skip to content

Commit f150d45

Browse files
craig[bot]fqazi
andcommitted
Merge #146882
146882: logictest: enable local-schema-locked in more test cases r=fqazi a=fqazi Previously, a numbers of tests had local-schema-locked disable because of transaction use. This patch enables these tests by adding required logic to disable schema_locked selectively and update SHOW CREATE TABLE oprations. After this patch ~14 tests have schema locked skipped in the logic test suite. Informs: #129694 Release note: None Co-authored-by: Faizan Qazi <[email protected]>
2 parents 8289064 + 018affe commit f150d45

20 files changed

+1402
-69
lines changed

pkg/sql/logictest/testdata/logic_test/alter_column_type

Lines changed: 271 additions & 3 deletions
Large diffs are not rendered by default.

pkg/sql/logictest/testdata/logic_test/computed

Lines changed: 178 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,3 @@
1-
# LogicTest: !local-schema-locked
2-
31
# Note: this file does not contain tests for virtual computed columns; those
42
# are in a separate test file.
53

@@ -11,6 +9,7 @@ CREATE TABLE with_no_column_refs (
119
FAMILY "primary" (a, b, c, rowid)
1210
)
1311

12+
skipif config local-schema-locked
1413
query TT
1514
SHOW CREATE TABLE with_no_column_refs
1615
----
@@ -22,6 +21,19 @@ with_no_column_refs CREATE TABLE public.with_no_column_refs (
2221
CONSTRAINT with_no_column_refs_pkey PRIMARY KEY (rowid ASC)
2322
);
2423

24+
onlyif config local-schema-locked
25+
query TT
26+
SHOW CREATE TABLE with_no_column_refs
27+
----
28+
with_no_column_refs CREATE TABLE public.with_no_column_refs (
29+
a INT8 NULL,
30+
b INT8 NULL,
31+
c INT8 NULL AS (3:::INT8) STORED,
32+
rowid INT8 NOT VISIBLE NOT NULL DEFAULT unique_rowid(),
33+
CONSTRAINT with_no_column_refs_pkey PRIMARY KEY (rowid ASC)
34+
) WITH (schema_locked = true);
35+
36+
skipif config local-schema-locked
2537
query TT
2638
SHOW CREATE TABLE with_no_column_refs WITH REDACT
2739
----
@@ -33,6 +45,18 @@ with_no_column_refs CREATE TABLE public.with_no_column_refs (
3345
CONSTRAINT with_no_column_refs_pkey PRIMARY KEY (rowid ASC)
3446
);
3547

48+
onlyif config local-schema-locked
49+
query TT
50+
SHOW CREATE TABLE with_no_column_refs WITH REDACT
51+
----
52+
with_no_column_refs CREATE TABLE public.with_no_column_refs (
53+
a INT8 NULL,
54+
b INT8 NULL,
55+
c INT8 NULL AS (‹×›:::INT8) STORED,
56+
rowid INT8 NOT VISIBLE NOT NULL DEFAULT unique_rowid(),
57+
CONSTRAINT with_no_column_refs_pkey PRIMARY KEY (rowid ASC)
58+
) WITH (schema_locked = true);
59+
3660
statement ok
3761
CREATE TABLE extra_parens (
3862
a INT,
@@ -41,6 +65,7 @@ CREATE TABLE extra_parens (
4165
FAMILY "primary" (a, b, c, rowid)
4266
)
4367

68+
skipif config local-schema-locked
4469
query TT
4570
SHOW CREATE TABLE extra_parens
4671
----
@@ -52,6 +77,17 @@ extra_parens CREATE TABLE public.extra_parens (
5277
CONSTRAINT extra_parens_pkey PRIMARY KEY (rowid ASC)
5378
);
5479

80+
onlyif config local-schema-locked
81+
query TT
82+
SHOW CREATE TABLE extra_parens
83+
----
84+
extra_parens CREATE TABLE public.extra_parens (
85+
a INT8 NULL,
86+
b INT8 NULL,
87+
c INT8 NULL AS (3:::INT8) STORED,
88+
rowid INT8 NOT VISIBLE NOT NULL DEFAULT unique_rowid(),
89+
CONSTRAINT extra_parens_pkey PRIMARY KEY (rowid ASC)
90+
) WITH (schema_locked = true);
5591

5692
statement error cannot write directly to computed column "c"
5793
INSERT INTO with_no_column_refs VALUES (1, 2, 3)
@@ -95,6 +131,7 @@ CREATE TABLE x (
95131
FAMILY "primary" (a, b, c, d, rowid)
96132
)
97133

134+
skipif config local-schema-locked
98135
query TT
99136
SHOW CREATE TABLE x
100137
----
@@ -107,6 +144,19 @@ x CREATE TABLE public.x (
107144
CONSTRAINT x_pkey PRIMARY KEY (rowid ASC)
108145
);
109146

147+
onlyif config local-schema-locked
148+
query TT
149+
SHOW CREATE TABLE x
150+
----
151+
x CREATE TABLE public.x (
152+
a INT8 NULL DEFAULT 3:::INT8,
153+
b INT8 NULL DEFAULT 7:::INT8,
154+
c INT8 NULL AS (a) STORED,
155+
d INT8 NULL AS (a + b) STORED,
156+
rowid INT8 NOT VISIBLE NOT NULL DEFAULT unique_rowid(),
157+
CONSTRAINT x_pkey PRIMARY KEY (rowid ASC)
158+
) WITH (schema_locked = true);
159+
110160
query TTBTTTB colnames
111161
SELECT * FROM [SHOW COLUMNS FROM x] ORDER BY column_name
112162
----
@@ -791,6 +841,7 @@ CREATE TABLE x (
791841
FAMILY "primary" (a, b, rowid)
792842
)
793843

844+
skipif config local-schema-locked
794845
query TT
795846
SHOW CREATE TABLE x
796847
----
@@ -801,6 +852,17 @@ x CREATE TABLE public.x (
801852
CONSTRAINT x_pkey PRIMARY KEY (rowid ASC)
802853
);
803854

855+
onlyif config local-schema-locked
856+
query TT
857+
SHOW CREATE TABLE x
858+
----
859+
x CREATE TABLE public.x (
860+
a INT8 NULL,
861+
b INT8 NULL AS (a) STORED,
862+
rowid INT8 NOT VISIBLE NOT NULL DEFAULT unique_rowid(),
863+
CONSTRAINT x_pkey PRIMARY KEY (rowid ASC)
864+
) WITH (schema_locked = true);
865+
804866
statement ok
805867
DROP TABLE x
806868

@@ -815,6 +877,7 @@ CREATE TABLE x (
815877
statement ok
816878
ALTER TABLE x RENAME COLUMN a TO c
817879

880+
skipif config local-schema-locked
818881
query TT
819882
SHOW CREATE TABLE x
820883
----
@@ -825,6 +888,17 @@ x CREATE TABLE public.x (
825888
CONSTRAINT x_pkey PRIMARY KEY (rowid ASC)
826889
);
827890

891+
onlyif config local-schema-locked
892+
query TT
893+
SHOW CREATE TABLE x
894+
----
895+
x CREATE TABLE public.x (
896+
c INT8 NULL,
897+
b INT8 NULL AS (c) STORED,
898+
rowid INT8 NOT VISIBLE NOT NULL DEFAULT unique_rowid(),
899+
CONSTRAINT x_pkey PRIMARY KEY (rowid ASC)
900+
) WITH (schema_locked = true);
901+
828902
statement ok
829903
DROP TABLE x
830904

@@ -855,6 +929,7 @@ INSERT INTO x VALUES (3)
855929
statement ok
856930
ALTER TABLE x ADD COLUMN c INT NOT NULL AS (a + 4) STORED
857931

932+
skipif config local-schema-locked
858933
query TT
859934
SHOW CREATE TABLE x
860935
----
@@ -866,6 +941,19 @@ x CREATE TABLE public.x (
866941
CONSTRAINT x_pkey PRIMARY KEY (rowid ASC)
867942
);
868943

944+
onlyif config local-schema-locked
945+
query TT
946+
SHOW CREATE TABLE x
947+
----
948+
x CREATE TABLE public.x (
949+
a INT8 NULL,
950+
b INT8 NULL AS (a * 2:::INT8) STORED,
951+
rowid INT8 NOT VISIBLE NOT NULL DEFAULT unique_rowid(),
952+
c INT8 NOT NULL AS (a + 4:::INT8) STORED,
953+
CONSTRAINT x_pkey PRIMARY KEY (rowid ASC)
954+
) WITH (schema_locked = true);
955+
956+
skipif config local-schema-locked
869957
query TT
870958
SHOW CREATE TABLE x WITH REDACT
871959
----
@@ -877,6 +965,18 @@ x CREATE TABLE public.x (
877965
CONSTRAINT x_pkey PRIMARY KEY (rowid ASC)
878966
);
879967

968+
onlyif config local-schema-locked
969+
query TT
970+
SHOW CREATE TABLE x WITH REDACT
971+
----
972+
x CREATE TABLE public.x (
973+
a INT8 NULL,
974+
b INT8 NULL AS (a * ‹×›:::INT8) STORED,
975+
rowid INT8 NOT VISIBLE NOT NULL DEFAULT unique_rowid(),
976+
c INT8 NOT NULL AS (a + ‹×›:::INT8) STORED,
977+
CONSTRAINT x_pkey PRIMARY KEY (rowid ASC)
978+
) WITH (schema_locked = true);
979+
880980
statement ok
881981
INSERT INTO x VALUES (6)
882982

@@ -886,6 +986,10 @@ SELECT * FROM x ORDER BY a
886986
3 6 7
887987
6 12 10
888988

989+
onlyif config local-schema-locked
990+
statement ok
991+
ALTER TABLE x SET (schema_locked=false);
992+
889993
# Multiple ADD COLUMNs can only reference columns that are defined previously.
890994
statement error pq: column "t" does not exist, referenced in "lower\(t\)"
891995
ALTER TABLE x
@@ -897,6 +1001,10 @@ ALTER TABLE x
8971001
ADD COLUMN s STRING,
8981002
ADD COLUMN t STRING AS (lower(s)) STORED
8991003

1004+
onlyif config local-schema-locked
1005+
statement ok
1006+
ALTER TABLE x SET (schema_locked=true);
1007+
9001008
# Verify a bad statement fails.
9011009
statement error pq: could not parse "a" as type int
9021010
ALTER TABLE x ADD COLUMN d INT AS (a + 'a') STORED
@@ -1000,6 +1108,7 @@ statement ok
10001108
CREATE TABLE t42418 (x INT GENERATED ALWAYS AS (1) STORED);
10011109
ALTER TABLE t42418 ADD COLUMN y INT GENERATED ALWAYS AS (1) STORED
10021110

1111+
skipif config local-schema-locked
10031112
query TT
10041113
SHOW CREATE t42418
10051114
----
@@ -1010,6 +1119,17 @@ t42418 CREATE TABLE public.t42418 (
10101119
CONSTRAINT t42418_pkey PRIMARY KEY (rowid ASC)
10111120
);
10121121

1122+
onlyif config local-schema-locked
1123+
query TT
1124+
SHOW CREATE t42418
1125+
----
1126+
t42418 CREATE TABLE public.t42418 (
1127+
x INT8 NULL AS (1:::INT8) STORED,
1128+
rowid INT8 NOT VISIBLE NOT NULL DEFAULT unique_rowid(),
1129+
y INT8 NULL AS (1:::INT8) STORED,
1130+
CONSTRAINT t42418_pkey PRIMARY KEY (rowid ASC)
1131+
) WITH (schema_locked = true);
1132+
10131133
# Tests for computed column rewrites.
10141134
statement error timestamptz::string: context-dependent operators are not allowed in STORED COMPUTED COLUMN
10151135
CREATE TABLE trewrite(k INT PRIMARY KEY, ts TIMESTAMPTZ, c STRING AS (ts::STRING) STORED, FAMILY (k,ts,c))
@@ -1026,6 +1146,7 @@ SET experimental_computed_column_rewrites = "(ts :: STRING) -> (to_char(ts AT TI
10261146
statement ok
10271147
CREATE TABLE trewrite(k INT PRIMARY KEY, ts TIMESTAMPTZ, c STRING AS (ts::STRING) STORED, FAMILY (k,ts,c))
10281148

1149+
skipif config local-schema-locked
10291150
query T
10301151
SELECT create_statement FROM [SHOW CREATE TABLE trewrite]
10311152
----
@@ -1037,6 +1158,18 @@ CREATE TABLE public.trewrite (
10371158
FAMILY fam_0_k_ts_c (k, ts, c)
10381159
);
10391160

1161+
onlyif config local-schema-locked
1162+
query T
1163+
SELECT create_statement FROM [SHOW CREATE TABLE trewrite]
1164+
----
1165+
CREATE TABLE public.trewrite (
1166+
k INT8 NOT NULL,
1167+
ts TIMESTAMPTZ NULL,
1168+
c STRING NULL AS (to_char(timezone('utc':::STRING, ts))) STORED,
1169+
CONSTRAINT trewrite_pkey PRIMARY KEY (k ASC),
1170+
FAMILY fam_0_k_ts_c (k, ts, c)
1171+
) WITH (schema_locked = true);
1172+
10401173
statement ok
10411174
DROP TABLE trewrite
10421175

@@ -1046,6 +1179,7 @@ CREATE TABLE trewrite(k INT PRIMARY KEY, ts TIMESTAMPTZ, FAMILY (k,ts))
10461179
statement ok
10471180
ALTER TABLE trewrite ADD COLUMN c STRING AS (ts::STRING) STORED
10481181

1182+
skipif config local-schema-locked
10491183
query T
10501184
SELECT create_statement FROM [SHOW CREATE TABLE trewrite]
10511185
----
@@ -1057,12 +1191,25 @@ CREATE TABLE public.trewrite (
10571191
FAMILY fam_0_k_ts (k, ts, c)
10581192
);
10591193

1194+
onlyif config local-schema-locked
1195+
query T
1196+
SELECT create_statement FROM [SHOW CREATE TABLE trewrite]
1197+
----
1198+
CREATE TABLE public.trewrite (
1199+
k INT8 NOT NULL,
1200+
ts TIMESTAMPTZ NULL,
1201+
c STRING NULL AS (to_char(timezone('utc':::STRING, ts))) STORED,
1202+
CONSTRAINT trewrite_pkey PRIMARY KEY (k ASC),
1203+
FAMILY fam_0_k_ts (k, ts, c)
1204+
) WITH (schema_locked = true);
1205+
10601206
statement ok
10611207
SET experimental_computed_column_rewrites = ""
10621208

10631209
statement ok
10641210
CREATE TABLE trewrite_copy (LIKE trewrite INCLUDING ALL)
10651211

1212+
skipif config local-schema-locked
10661213
query T
10671214
SELECT create_statement FROM [SHOW CREATE TABLE trewrite_copy]
10681215
----
@@ -1073,6 +1220,17 @@ CREATE TABLE public.trewrite_copy (
10731220
CONSTRAINT trewrite_pkey PRIMARY KEY (k ASC)
10741221
);
10751222

1223+
onlyif config local-schema-locked
1224+
query T
1225+
SELECT create_statement FROM [SHOW CREATE TABLE trewrite_copy]
1226+
----
1227+
CREATE TABLE public.trewrite_copy (
1228+
k INT8 NOT NULL,
1229+
ts TIMESTAMPTZ NULL,
1230+
c STRING NULL AS (to_char(timezone('utc':::STRING, ts))) STORED,
1231+
CONSTRAINT trewrite_pkey PRIMARY KEY (k ASC)
1232+
) WITH (schema_locked = true);
1233+
10761234
statement ok
10771235
DROP TABLE trewrite
10781236

@@ -1099,6 +1257,7 @@ CREATE TABLE trewrite2(
10991257
FAMILY (k,ts,b,str,c1,c2,c3)
11001258
)
11011259

1260+
skipif config local-schema-locked
11021261
query T
11031262
SELECT create_statement FROM [SHOW CREATE TABLE trewrite2]
11041263
----
@@ -1114,6 +1273,23 @@ CREATE TABLE public.trewrite2 (
11141273
FAMILY fam_0_k_ts_b_str_c1_c2_c3 (k, ts, b, str, c1, c2, c3)
11151274
);
11161275

1276+
1277+
onlyif config local-schema-locked
1278+
query T
1279+
SELECT create_statement FROM [SHOW CREATE TABLE trewrite2]
1280+
----
1281+
CREATE TABLE public.trewrite2 (
1282+
k INT8 NOT NULL,
1283+
ts TIMESTAMPTZ NULL,
1284+
b BYTES NULL,
1285+
str STRING NULL,
1286+
c1 STRING NULL AS (to_char(timezone('utc':::STRING, ts))) STORED,
1287+
c2 TIMESTAMP NULL AS (parse_timestamp(str)) STORED,
1288+
c3 INT8 NULL AS (mod(fnv32(b), 4:::INT8)) STORED,
1289+
CONSTRAINT trewrite2_pkey PRIMARY KEY (k ASC),
1290+
FAMILY fam_0_k_ts_b_str_c1_c2_c3 (k, ts, b, str, c1, c2, c3)
1291+
) WITH (schema_locked = true);
1292+
11171293
statement ok
11181294
DROP TABLE trewrite2
11191295

pkg/sql/logictest/testdata/logic_test/delete

Lines changed: 2 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,3 @@
1-
# LogicTest: !local-schema-locked
2-
31
statement ok
42
CREATE TABLE kv (
53
k INT PRIMARY KEY,
@@ -230,7 +228,7 @@ SELECT count(*) FROM [DELETE FROM unindexed LIMIT 5 RETURNING v]
230228
subtest regression_29494
231229

232230
statement ok
233-
CREATE TABLE t29494(x INT PRIMARY KEY); INSERT INTO t29494 VALUES (12)
231+
CREATE TABLE t29494(x INT PRIMARY KEY) WITH (schema_locked=false); INSERT INTO t29494 VALUES (12)
234232

235233
statement ok
236234
BEGIN TRANSACTION ISOLATION LEVEL SERIALIZABLE;
@@ -269,7 +267,7 @@ COMMIT
269267
subtest regression_33361
270268

271269
statement ok
272-
CREATE TABLE t33361(x INT PRIMARY KEY, y INT UNIQUE, z INT); INSERT INTO t33361 VALUES (1, 2, 3)
270+
CREATE TABLE t33361(x INT PRIMARY KEY, y INT UNIQUE, z INT) WITH (schema_locked=false); INSERT INTO t33361 VALUES (1, 2, 3)
273271

274272
statement ok
275273
BEGIN TRANSACTION ISOLATION LEVEL SERIALIZABLE;

0 commit comments

Comments
 (0)