Skip to content

Commit e4bcda0

Browse files
committed
Version guards in SHOW CREATE tests
1 parent bf9abe7 commit e4bcda0

File tree

10 files changed

+95
-28
lines changed

10 files changed

+95
-28
lines changed

misc/python/materialize/checks/all_checks/json_source.py

+5-1
Original file line numberDiff line numberDiff line change
@@ -82,8 +82,12 @@ def validate(self) -> Testdrive:
8282
"\\"str\\"" "\\"hello\\""
8383
"""
8484
+ r"""
85-
> SHOW CREATE SOURCE format_jsonb_src;
85+
86+
>[version>=13900] SHOW CREATE SOURCE format_jsonb_src;
8687
materialize.public.format_jsonb_src "CREATE SOURCE materialize.public.format_jsonb_src\nIN CLUSTER single_replica_cluster\nFROM KAFKA CONNECTION materialize.public.kafka_conn (TOPIC = 'testdrive-format-json-${testdrive.seed}')\nEXPOSE PROGRESS AS materialize.public.format_jsonb_src_progress;"
88+
89+
>[version<13900] SHOW CREATE SOURCE format_jsonb_src;
90+
materialize.public.format_jsonb_src "CREATE SOURCE \"materialize\".\"public\".\"format_jsonb_src\" IN CLUSTER \"single_replica_cluster\" FROM KAFKA CONNECTION \"materialize\".\"public\".\"kafka_conn\" (TOPIC = 'testdrive-format-json-1') EXPOSE PROGRESS AS \"materialize\".\"public\".\"format_jsonb_src_progress\""
8791
"""
8892
)
8993
)

misc/python/materialize/checks/all_checks/kafka_formats.py

+4-1
Original file line numberDiff line numberDiff line change
@@ -219,8 +219,11 @@ def validate(self) -> Testdrive:
219219
220220
$ set-regex match=testdrive-format-bytes-\d+ replacement=<TOPIC>
221221
222-
> SHOW CREATE SOURCE format_bytes1_src;
222+
>[version>=13900] SHOW CREATE SOURCE format_bytes1_src;
223223
materialize.public.format_bytes1_src "CREATE SOURCE materialize.public.format_bytes1_src\nIN CLUSTER kafka_formats\nFROM KAFKA CONNECTION materialize.public.kafka_conn (TOPIC = '<TOPIC>')\nEXPOSE PROGRESS AS materialize.public.format_bytes1_src_progress;"
224+
225+
>[version<13900] SHOW CREATE SOURCE format_bytes1_src;
226+
materialize.public.format_bytes1_src "CREATE SOURCE \"materialize\".\"public\".\"format_bytes1_src\" IN CLUSTER \"kafka_formats\" FROM KAFKA CONNECTION \"materialize\".\"public\".\"kafka_conn\" (TOPIC = '<TOPIC>') EXPOSE PROGRESS AS \"materialize\".\"public\".\"format_bytes1_src_progress\""
224227
"""
225228
)
226229
)

misc/python/materialize/checks/all_checks/rename_view.py

+4-1
Original file line numberDiff line numberDiff line change
@@ -48,9 +48,12 @@ def validate(self) -> Testdrive:
4848
return Testdrive(
4949
dedent(
5050
r"""
51-
> SHOW CREATE VIEW rename_view_viewB3;
51+
>[version>=13900] SHOW CREATE VIEW rename_view_viewB3;
5252
materialize.public.rename_view_viewb3 "CREATE VIEW\n materialize.public.rename_view_viewb3\n AS SELECT f2 FROM materialize.public.rename_view_viewa3 WHERE f2 > 0;"
5353
54+
>[version<13900] SHOW CREATE VIEW rename_view_viewB3;
55+
materialize.public.rename_view_viewb3 "CREATE VIEW \\"materialize\\".\\"public\\".\\"rename_view_viewb3\\" AS SELECT \\"f2\\" FROM \\"materialize\\".\\"public\\".\\"rename_view_viewa3\\" WHERE \\"f2\\" > 0"
56+
5457
> SELECT * FROM rename_view_viewA3;
5558
1
5659
2

misc/python/materialize/checks/all_checks/webhook.py

+16-4
Original file line numberDiff line numberDiff line change
@@ -110,14 +110,23 @@ def validate(self) -> Testdrive:
110110
\\\\x01
111111
\\\\x01\\x02\\x03\\x04
112112
113-
> SHOW CREATE SOURCE webhook_text
113+
>[version>=13900] SHOW CREATE SOURCE webhook_text
114114
materialize.public.webhook_text "CREATE SOURCE materialize.public.webhook_text IN CLUSTER webhook_cluster FROM WEBHOOK BODY FORMAT TEXT;"
115115
116-
> SHOW CREATE SOURCE webhook_json
116+
>[version>=13900] SHOW CREATE SOURCE webhook_json
117117
materialize.public.webhook_json "CREATE SOURCE materialize.public.webhook_json IN CLUSTER webhook_cluster FROM WEBHOOK BODY FORMAT JSON INCLUDE HEADERS;"
118118
119-
> SHOW CREATE SOURCE webhook_bytes
119+
>[version>=13900] SHOW CREATE SOURCE webhook_bytes
120120
materialize.public.webhook_bytes "CREATE SOURCE materialize.public.webhook_bytes IN CLUSTER webhook_cluster FROM WEBHOOK BODY FORMAT BYTES;"
121+
122+
>[version<13900] SHOW CREATE SOURCE webhook_text
123+
materialize.public.webhook_text "CREATE SOURCE \\"materialize\\".\\"public\\".\\"webhook_text\\" IN CLUSTER \\"webhook_cluster\\" FROM WEBHOOK BODY FORMAT TEXT"
124+
125+
>[version<13900] SHOW CREATE SOURCE webhook_json
126+
materialize.public.webhook_json "CREATE SOURCE \\"materialize\\".\\"public\\".\\"webhook_json\\" IN CLUSTER \\"webhook_cluster\\" FROM WEBHOOK BODY FORMAT JSON INCLUDE HEADERS"
127+
128+
>[version<13900] SHOW CREATE SOURCE webhook_bytes
129+
materialize.public.webhook_bytes "CREATE SOURCE \\"materialize\\".\\"public\\".\\"webhook_bytes\\" IN CLUSTER \\"webhook_cluster\\" FROM WEBHOOK BODY FORMAT BYTES"
121130
"""
122131
)
123132
)
@@ -164,8 +173,11 @@ def validate(self) -> Testdrive:
164173
anotha_one!
165174
threeeeeee
166175
167-
> SHOW CREATE TABLE webhook_table_text
176+
>[version>=13900] SHOW CREATE TABLE webhook_table_text
168177
materialize.public.webhook_table_text "CREATE TABLE materialize.public.webhook_table_text FROM WEBHOOK BODY FORMAT TEXT;"
178+
179+
>[version<13900] SHOW CREATE TABLE webhook_table_text
180+
materialize.public.webhook_table_text "CREATE TABLE \"materialize\".\"public\".\"webhook_table_text\" FROM WEBHOOK BODY FORMAT TEXT"
169181
"""
170182
)
171183
)

test/mysql-cdc-old-syntax/10-create-connection.td

+6-1
Original file line numberDiff line numberDiff line change
@@ -41,11 +41,16 @@ name type
4141
------------------------------
4242
mysq mysql
4343

44-
> SHOW CREATE CONNECTION mysq
44+
>[version>=13900] SHOW CREATE CONNECTION mysq
4545
name create_sql
4646
---------------------------------
4747
materialize.public.mysq "CREATE CONNECTION materialize.public.mysq TO MYSQL (HOST = mysql, PASSWORD = SECRET materialize.public.mysqlpass, USER = root);"
4848

49+
>[version<13900] SHOW CREATE CONNECTION mysq
50+
name create_sql
51+
---------------------------------
52+
materialize.public.mysq "CREATE CONNECTION \"materialize\".\"public\".\"mysq\" TO MYSQL (HOST = \"mysql\", PASSWORD = SECRET \"materialize\".\"public\".\"mysqlpass\", USER = \"root\")"
53+
4954
#
5055
# Error checking
5156
#

test/mysql-cdc-old-syntax/30-text-columns.td

+4-1
Original file line numberDiff line numberDiff line change
@@ -88,9 +88,12 @@ INSERT INTO t1 SELECT * FROM t1;
8888
"0000-00-00 00:00:00.0000"
8989
"0000-00-00 00:00:00.0000"
9090

91-
> SHOW CREATE SOURCE t1;
91+
>[version>=13900] SHOW CREATE SOURCE t1;
9292
materialize.public.t1 "CREATE SUBSOURCE materialize.public.t1 (f1 pg_catalog.text, f2 pg_catalog.text, f3 pg_catalog.text, f4 pg_catalog.text, f5 pg_catalog.text, f6 pg_catalog.text, f7 pg_catalog.text, f8 pg_catalog.text, f9 pg_catalog.text) OF SOURCE materialize.public.da WITH (EXTERNAL REFERENCE = public.t1, TEXT COLUMNS = (f1, f2, f3, f4, f5, f6, f7, f8, f9));"
9393

94+
>[version<13900] SHOW CREATE SOURCE t1;
95+
materialize.public.t1 "CREATE SUBSOURCE \"materialize\".\"public\".\"t1\" (\"f1\" \"pg_catalog\".\"text\", \"f2\" \"pg_catalog\".\"text\", \"f3\" \"pg_catalog\".\"text\", \"f4\" \"pg_catalog\".\"text\", \"f5\" \"pg_catalog\".\"text\", \"f6\" \"pg_catalog\".\"text\", \"f7\" \"pg_catalog\".\"text\", \"f8\" \"pg_catalog\".\"text\", \"f9\" \"pg_catalog\".\"text\") OF SOURCE \"materialize\".\"public\".\"da\" WITH (EXTERNAL REFERENCE = \"public\".\"t1\", TEXT COLUMNS = (\"f1\", \"f2\", \"f3\", \"f4\", \"f5\", \"f6\", \"f7\", \"f8\", \"f9\"))"
96+
9497
> DROP SOURCE da CASCADE;
9598

9699
#

test/mysql-cdc-old-syntax/35-exclude-columns.td

+4-1
Original file line numberDiff line numberDiff line change
@@ -61,9 +61,12 @@ INSERT INTO t1 SELECT * FROM t1;
6161
"test"
6262
"test"
6363

64-
> SHOW CREATE SOURCE t1;
64+
>[version>=13900] SHOW CREATE SOURCE t1;
6565
materialize.public.t1 "CREATE SUBSOURCE materialize.public.t1 (f1 pg_catalog.int4, f4 pg_catalog.varchar(64)) OF SOURCE materialize.public.da WITH (EXTERNAL REFERENCE = public.t1, EXCLUDE COLUMNS = (f2, f3));"
6666

67+
>[version<13900] SHOW CREATE SOURCE t1;
68+
materialize.public.t1 "CREATE SUBSOURCE \"materialize\".\"public\".\"t1\" (\"f1\" \"pg_catalog\".\"int4\", \"f4\" \"pg_catalog\".\"varchar\"(64)) OF SOURCE \"materialize\".\"public\".\"da\" WITH (EXTERNAL REFERENCE = \"public\".\"t1\", EXCLUDE COLUMNS = (\"f2\", \"f3\"))"
69+
6770
! SELECT f2 FROM t1;
6871
contains:column "f2" does not exist
6972

test/mysql-cdc-old-syntax/alter-source.td

+21-10
Original file line numberDiff line numberDiff line change
@@ -112,9 +112,12 @@ table_e subsource
112112
table_f subsource
113113
table_g subsource
114114

115-
> SELECT regexp_match(create_sql, 'TEXT COLUMNS = \((.*?)\)')[1] FROM (SHOW CREATE SOURCE mz_source);
115+
>[version>=13900] SELECT regexp_match(create_sql, 'TEXT COLUMNS = \((.*?)\)')[1] FROM (SHOW CREATE SOURCE mz_source);
116116
public.table_f.f2
117117

118+
>[version<13900] SELECT regexp_match(create_sql, 'TEXT COLUMNS = \((.*?)\)')[1] FROM (SHOW CREATE SOURCE mz_source);
119+
"\"public\".\"table_f\".\"f2\""
120+
118121
#
119122
# Error checking
120123
#
@@ -204,10 +207,6 @@ contains:cannot drop source "table_e": still depended upon by materialized view
204207
mz_source_progress progress
205208
table_g subsource
206209

207-
# Show that all table definitions have been updated
208-
> SELECT regexp_match(create_sql, 'FOR TABLES \((.+?)\) EXPOSE') FROM (SHOW CREATE SOURCE mz_source);
209-
"{\"public\".\"table_g\" AS \"materialize\".\"public\".\"table_g\"}"
210-
211210
> SHOW MATERIALIZED VIEWS
212211

213212
> DROP SOURCE table_g;
@@ -338,11 +337,17 @@ contains: invalid TEXT COLUMNS option value: unexpected multiple references to p
338337
1 var0
339338
2 var1
340339

341-
> SELECT regexp_match(create_sql, 'TEXT COLUMNS = \((.*?)\)')[1] FROM (SHOW CREATE SOURCE mz_source);
340+
>[version>=13900] SELECT regexp_match(create_sql, 'TEXT COLUMNS = \((.*?)\)')[1] FROM (SHOW CREATE SOURCE mz_source);
341+
public.table_f.f2
342+
343+
>[version<13900] SELECT regexp_match(create_sql, 'TEXT COLUMNS = \((.*?)\)')[1] FROM (SHOW CREATE SOURCE mz_source);
342344
"\"public\".\"table_f\".\"f2\""
343345

344-
> SELECT regexp_match(create_sql, 'TEXT COLUMNS = \((.*?)\)')[1] FROM (SHOW CREATE SOURCE table_f);
345-
f2
346+
>[version>=13900] SELECT regexp_match(create_sql, 'TEXT COLUMNS = \((.*?)\)')[1] FROM (SHOW CREATE SOURCE table_f);
347+
"f2"
348+
349+
>[version<13900] SELECT regexp_match(create_sql, 'TEXT COLUMNS = \((.*?)\)')[1] FROM (SHOW CREATE SOURCE table_f);
350+
"\"f2\""
346351

347352
# Drop a table, which shuffles the tables' output indexes, then add a table and ensure it can be added.
348353
$ mysql-execute name=mysql
@@ -358,9 +363,12 @@ INSERT INTO table_f VALUES (3, 'var1');
358363
> SELECT regexp_match(create_sql, 'TEXT COLUMNS = \((.*?)\)')[1] FROM (SHOW CREATE SOURCE mz_source);
359364
"\"public\".\"table_f\".\"f2\", \"public\".\"table_i\".\"f2\""
360365

361-
> SELECT regexp_match(create_sql, 'TEXT COLUMNS = \((.*?)\)')[1] FROM (SHOW CREATE SOURCE table_i);
366+
>[version>=13900] SELECT regexp_match(create_sql, 'TEXT COLUMNS = \((.*?)\)')[1] FROM (SHOW CREATE SOURCE table_i);
362367
f2
363368

369+
>[version<13900] SELECT regexp_match(create_sql, 'TEXT COLUMNS = \((.*?)\)')[1] FROM (SHOW CREATE SOURCE table_i);
370+
"\"f2\""
371+
364372
> SELECT * FROM table_f
365373
1 var0
366374
2 var1
@@ -414,9 +422,12 @@ contains: invalid EXCLUDE COLUMNS option value: unexpected multiple references t
414422
> SELECT regexp_match(create_sql, 'EXCLUDE COLUMNS = \((.*?)\)')[1] FROM (SHOW CREATE SOURCE mz_source);
415423
"\"public\".\"table_f\".\"f2\", \"public\".\"table_i\".\"f2\""
416424

417-
> SELECT regexp_match(create_sql, 'EXCLUDE COLUMNS = \((.*?)\)')[1] FROM (SHOW CREATE SOURCE table_i);
425+
>[version>=13900] SELECT regexp_match(create_sql, 'EXCLUDE COLUMNS = \((.*?)\)')[1] FROM (SHOW CREATE SOURCE table_i);
418426
f2
419427

428+
>[version<13900] SELECT regexp_match(create_sql, 'EXCLUDE COLUMNS = \((.*?)\)')[1] FROM (SHOW CREATE SOURCE table_i);
429+
"\"f2\""
430+
420431
> SELECT * FROM table_i
421432
1
422433
2

test/mysql-cdc/10-create-connection.td

+6-1
Original file line numberDiff line numberDiff line change
@@ -41,11 +41,16 @@ name type
4141
------------------------------
4242
mysq mysql
4343

44-
> SHOW CREATE CONNECTION mysq
44+
>[version>=13900] SHOW CREATE CONNECTION mysq
4545
name create_sql
4646
---------------------------------
4747
materialize.public.mysq "CREATE CONNECTION materialize.public.mysq TO MYSQL (HOST = mysql, PASSWORD = SECRET materialize.public.mysqlpass, USER = root);"
4848

49+
>[version<13900] SHOW CREATE CONNECTION mysq
50+
name create_sql
51+
---------------------------------
52+
materialize.public.mysq "CREATE CONNECTION \"materialize\".\"public\".\"mysq\" TO MYSQL (HOST = \"mysql\", PASSWORD = SECRET \"materialize\".\"public\".\"mysqlpass\", USER = \"root\")"
53+
4954
#
5055
# Error checking
5156
#

test/pg-cdc-old-syntax/alter-source.td

+25-7
Original file line numberDiff line numberDiff line change
@@ -129,11 +129,17 @@ table_e subsource
129129
table_f subsource
130130
table_g subsource
131131

132-
> SELECT regexp_match(create_sql, 'TEXT COLUMNS = \((.*?)\)')[1] FROM (SHOW CREATE SOURCE mz_source);
132+
>[version>=13900] SELECT regexp_match(create_sql, 'TEXT COLUMNS = \((.*?)\)')[1] FROM (SHOW CREATE SOURCE mz_source);
133133
postgres.public.table_f.f2
134134

135-
> SELECT regexp_match(create_sql, 'TEXT COLUMNS = \((.*?)\)')[1] FROM (SHOW CREATE SOURCE table_f);
136-
f2
135+
>[version<13900] SELECT regexp_match(create_sql, 'TEXT COLUMNS = \((.*?)\)')[1] FROM (SHOW CREATE SOURCE mz_source);
136+
"\"postgres\".\"public\".\"table_f\".\"f2\""
137+
138+
>[version>=13900] SELECT regexp_match(create_sql, 'TEXT COLUMNS = \((.*?)\)')[1] FROM (SHOW CREATE SOURCE table_f);
139+
"f2"
140+
141+
>[version<13900] SELECT regexp_match(create_sql, 'TEXT COLUMNS = \((.*?)\)')[1] FROM (SHOW CREATE SOURCE table_f);
142+
"\"f2\""
137143

138144
#
139145
# State checking
@@ -338,7 +344,10 @@ contains: invalid TEXT COLUMNS option value: unexpected multiple references to p
338344
1 var0
339345
2 var1
340346

341-
> SELECT regexp_match(create_sql, 'TEXT COLUMNS = \((.*?)\)')[1] FROM (SHOW CREATE SOURCE mz_source);
347+
>[version>=13900] SELECT regexp_match(create_sql, 'TEXT COLUMNS = \((.*?)\)')[1] FROM (SHOW CREATE SOURCE mz_source);
348+
postgres.public.table_f.f2
349+
350+
>[version<13900] SELECT regexp_match(create_sql, 'TEXT COLUMNS = \((.*?)\)')[1] FROM (SHOW CREATE SOURCE mz_source);
342351
"\"postgres\".\"public\".\"table_f\".\"f2\""
343352

344353
# Drop a table that's in the publication, which shuffles the tables' output
@@ -355,12 +364,18 @@ INSERT INTO table_f VALUES (3, 'var1');
355364

356365
> ALTER SOURCE mz_source ADD SUBSOURCE table_i WITH (TEXT COLUMNS [table_i.f2]);
357366

358-
> SELECT regexp_match(create_sql, 'TEXT COLUMNS = \((.*?)\)')[1] FROM (SHOW CREATE SOURCE mz_source);
367+
>[version>=13900] SELECT regexp_match(create_sql, 'TEXT COLUMNS = \((.*?)\)')[1] FROM (SHOW CREATE SOURCE mz_source);
368+
"postgres.public.table_f.f2, postgres.public.table_i.f2"
369+
370+
>[version<13900] SELECT regexp_match(create_sql, 'TEXT COLUMNS = \((.*?)\)')[1] FROM (SHOW CREATE SOURCE mz_source);
359371
"\"postgres\".\"public\".\"table_f\".\"f2\", \"postgres\".\"public\".\"table_i\".\"f2\""
360372

361-
> SELECT regexp_match(create_sql, 'TEXT COLUMNS = \((.*?)\)')[1] FROM (SHOW CREATE SOURCE table_i);
373+
>[version>=13900] SELECT regexp_match(create_sql, 'TEXT COLUMNS = \((.*?)\)')[1] FROM (SHOW CREATE SOURCE table_i);
362374
f2
363375

376+
>[version<13900] SELECT regexp_match(create_sql, 'TEXT COLUMNS = \((.*?)\)')[1] FROM (SHOW CREATE SOURCE table_i);
377+
"\"f2\""
378+
364379
> SELECT * FROM table_f
365380
1 var0
366381
2 var1
@@ -391,7 +406,10 @@ detail:the following tables are referenced but not added: public.table_f
391406

392407
> ALTER SOURCE mz_source_wo_init_text_cols ADD SUBSOURCE table_f AS t_f WITH (TEXT COLUMNS [table_f.f2]);
393408

394-
> SELECT regexp_match(create_sql, 'TEXT COLUMNS = \((.*?)\)')[1] FROM (SHOW CREATE SOURCE mz_source_wo_init_text_cols);
409+
>[version>=13900] SELECT regexp_match(create_sql, 'TEXT COLUMNS = \((.*?)\)')[1] FROM (SHOW CREATE SOURCE mz_source_wo_init_text_cols);
410+
postgres.public.table_f.f2
411+
412+
>[version<13900] SELECT regexp_match(create_sql, 'TEXT COLUMNS = \((.*?)\)')[1] FROM (SHOW CREATE SOURCE mz_source_wo_init_text_cols);
395413
"\"postgres\".\"public\".\"table_f\".\"f2\""
396414

397415
# add a table after having created the source

0 commit comments

Comments
 (0)