Skip to content

Commit 592ff6a

Browse files
committed
Version guards in SHOW CREATE tests
1 parent 2d68bf2 commit 592ff6a

File tree

12 files changed

+125
-37
lines changed

12 files changed

+125
-37
lines changed

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

Lines changed: 10 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -152,12 +152,19 @@ def validate(self) -> Testdrive:
152152
r"""
153153
$ set-regex match="FORMAT .*? ENVELOPE DEBEZIUM " replacement=""
154154
155-
> SHOW CREATE SOURCE debezium_source1;
155+
>[version>=14000] SHOW CREATE SOURCE debezium_source1;
156156
materialize.public.debezium_source1 "CREATE SOURCE materialize.public.debezium_source1\nIN CLUSTER quickstart\nFROM KAFKA CONNECTION materialize.public.kafka_conn (TOPIC = 'postgres.public.debezium_table')\nEXPOSE PROGRESS AS materialize.public.debezium_source1_progress;"
157-
> SHOW CREATE SOURCE debezium_source2;
157+
>[version>=14000] SHOW CREATE SOURCE debezium_source2;
158158
materialize.public.debezium_source2 "CREATE SOURCE materialize.public.debezium_source2\nIN CLUSTER quickstart\nFROM KAFKA CONNECTION materialize.public.kafka_conn (TOPIC = 'postgres.public.debezium_table')\nEXPOSE PROGRESS AS materialize.public.debezium_source2_progress;"
159-
> SHOW CREATE SOURCE debezium_source3;
159+
>[version>=14000] SHOW CREATE SOURCE debezium_source3;
160160
materialize.public.debezium_source3 "CREATE SOURCE materialize.public.debezium_source3\nIN CLUSTER quickstart\nFROM KAFKA CONNECTION materialize.public.kafka_conn (TOPIC = 'postgres.public.debezium_table')\nEXPOSE PROGRESS AS materialize.public.debezium_source3_progress;"
161+
162+
>[version<14000] SHOW CREATE SOURCE debezium_source1;
163+
materialize.public.debezium_source1 "CREATE SOURCE \\"materialize\\".\\"public\\".\\"debezium_source1\\" IN CLUSTER \\"quickstart\\" FROM KAFKA CONNECTION \\"materialize\\".\\"public\\".\\"kafka_conn\\" (TOPIC = 'postgres.public.debezium_table') EXPOSE PROGRESS AS \\"materialize\\".\\"public\\".\\"debezium_source1_progress\\""
164+
>[version<14000] SHOW CREATE SOURCE debezium_source2;
165+
materialize.public.debezium_source2 "CREATE SOURCE \\"materialize\\".\\"public\\".\\"debezium_source2\\" IN CLUSTER \\"quickstart\\" FROM KAFKA CONNECTION \\"materialize\\".\\"public\\".\\"kafka_conn\\" (TOPIC = 'postgres.public.debezium_table') EXPOSE PROGRESS AS \\"materialize\\".\\"public\\".\\"debezium_source2_progress\\""
166+
>[version<14000] SHOW CREATE SOURCE debezium_source3;
167+
materialize.public.debezium_source3 "CREATE SOURCE \\"materialize\\".\\"public\\".\\"debezium_source3\\" IN CLUSTER \\"quickstart\\" FROM KAFKA CONNECTION \\"materialize\\".\\"public\\".\\"kafka_conn\\" (TOPIC = 'postgres.public.debezium_table') EXPOSE PROGRESS AS \\"materialize\\".\\"public\\".\\"debezium_source3_progress\\""
161168
"""
162169
if not self.is_running_as_cloudtest()
163170
else ""

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

Lines changed: 5 additions & 1 deletion
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>=14000] 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<14000] 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

Lines changed: 4 additions & 1 deletion
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>=14000] 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<14000] 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

Lines changed: 4 additions & 1 deletion
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>=14000] 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<14000] 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

Lines changed: 16 additions & 4 deletions
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>=14000] 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>=14000] 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>=14000] 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<14000] 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<14000] 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<14000] 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>=14000] 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<14000] 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

Lines changed: 6 additions & 1 deletion
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>=14000] 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<14000] 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

Lines changed: 4 additions & 1 deletion
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>=14000] 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<14000] 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

Lines changed: 4 additions & 1 deletion
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>=14000] 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<14000] 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

Lines changed: 37 additions & 15 deletions
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>=14000] SELECT regexp_match(create_sql, 'TEXT COLUMNS = \((.*?)\)')[1] FROM (SHOW CREATE SOURCE mz_source);
116116
public.table_f.f2
117117

118+
>[version<14000] 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>=14000] SELECT regexp_match(create_sql, 'TEXT COLUMNS = \((.*?)\)')[1] FROM (SHOW CREATE SOURCE mz_source);
341+
public.table_f.f2
342+
343+
>[version<14000] 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>=14000] SELECT regexp_match(create_sql, 'TEXT COLUMNS = \((.*?)\)')[1] FROM (SHOW CREATE SOURCE table_f);
347+
"f2"
348+
349+
>[version<14000] 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
@@ -355,12 +360,18 @@ INSERT INTO table_f VALUES (3, 'var1');
355360

356361
> ALTER SOURCE mz_source ADD SUBSOURCE public.table_i WITH (TEXT COLUMNS [public.table_i.f2]);
357362

358-
> SELECT regexp_match(create_sql, 'TEXT COLUMNS = \((.*?)\)')[1] FROM (SHOW CREATE SOURCE mz_source);
363+
>[version>=14000] SELECT regexp_match(create_sql, 'TEXT COLUMNS = \((.*?)\)')[1] FROM (SHOW CREATE SOURCE mz_source);
364+
"public.table_f.f2, public.table_i.f2"
365+
366+
>[version<14000] SELECT regexp_match(create_sql, 'TEXT COLUMNS = \((.*?)\)')[1] FROM (SHOW CREATE SOURCE mz_source);
359367
"\"public\".\"table_f\".\"f2\", \"public\".\"table_i\".\"f2\""
360368

361-
> SELECT regexp_match(create_sql, 'TEXT COLUMNS = \((.*?)\)')[1] FROM (SHOW CREATE SOURCE table_i);
369+
>[version>=14000] SELECT regexp_match(create_sql, 'TEXT COLUMNS = \((.*?)\)')[1] FROM (SHOW CREATE SOURCE table_i);
362370
f2
363371

372+
>[version<14000] SELECT regexp_match(create_sql, 'TEXT COLUMNS = \((.*?)\)')[1] FROM (SHOW CREATE SOURCE table_i);
373+
"\"f2\""
374+
364375
> SELECT * FROM table_f
365376
1 var0
366377
2 var1
@@ -389,9 +400,11 @@ detail:the following columns are referenced but not added: public.table_f.f2
389400

390401
> ALTER SOURCE mz_source_wo_init_text_cols ADD SUBSOURCE public.table_f AS t_f WITH (TEXT COLUMNS [public.table_f.f2]);
391402

392-
> SELECT regexp_match(create_sql, 'TEXT COLUMNS = \((.*?)\)')[1] FROM (SHOW CREATE SOURCE mz_source_wo_init_text_cols);
393-
"\"public\".\"table_f\".\"f2\""
403+
>[version>=14000] SELECT regexp_match(create_sql, 'TEXT COLUMNS = \((.*?)\)')[1] FROM (SHOW CREATE SOURCE mz_source_wo_init_text_cols);
404+
"public.table_f.f2"
394405

406+
>[version<14000] SELECT regexp_match(create_sql, 'TEXT COLUMNS = \((.*?)\)')[1] FROM (SHOW CREATE SOURCE mz_source_wo_init_text_cols);
407+
"\"public\".\"table_f\".\"f2\""
395408

396409
#
397410
# Can add tables with exclude columns
@@ -406,17 +419,26 @@ contains: invalid EXCLUDE COLUMNS option value: unexpected multiple references t
406419
2
407420
3
408421

409-
> SELECT regexp_match(create_sql, 'EXCLUDE COLUMNS = \((.*?)\)')[1] FROM (SHOW CREATE SOURCE mz_source);
422+
>[version>=14000] SELECT regexp_match(create_sql, 'EXCLUDE COLUMNS = \((.*?)\)')[1] FROM (SHOW CREATE SOURCE mz_source);
423+
"public.table_f.f2"
424+
425+
>[version<14000] SELECT regexp_match(create_sql, 'EXCLUDE COLUMNS = \((.*?)\)')[1] FROM (SHOW CREATE SOURCE mz_source);
410426
"\"public\".\"table_f\".\"f2\""
411427

412428
> ALTER SOURCE mz_source ADD SUBSOURCE public.table_i WITH (EXCLUDE COLUMNS [public.table_i.f2]);
413429

414-
> SELECT regexp_match(create_sql, 'EXCLUDE COLUMNS = \((.*?)\)')[1] FROM (SHOW CREATE SOURCE mz_source);
430+
>[version>=14000] SELECT regexp_match(create_sql, 'EXCLUDE COLUMNS = \((.*?)\)')[1] FROM (SHOW CREATE SOURCE mz_source);
431+
"public.table_f.f2, public.table_i.f2"
432+
433+
>[version<14000] SELECT regexp_match(create_sql, 'EXCLUDE COLUMNS = \((.*?)\)')[1] FROM (SHOW CREATE SOURCE mz_source);
415434
"\"public\".\"table_f\".\"f2\", \"public\".\"table_i\".\"f2\""
416435

417-
> SELECT regexp_match(create_sql, 'EXCLUDE COLUMNS = \((.*?)\)')[1] FROM (SHOW CREATE SOURCE table_i);
436+
>[version>=14000] SELECT regexp_match(create_sql, 'EXCLUDE COLUMNS = \((.*?)\)')[1] FROM (SHOW CREATE SOURCE table_i);
418437
f2
419438

439+
>[version<14000] SELECT regexp_match(create_sql, 'EXCLUDE COLUMNS = \((.*?)\)')[1] FROM (SHOW CREATE SOURCE table_i);
440+
"\"f2\""
441+
420442
> SELECT * FROM table_i
421443
1
422444
2

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

Lines changed: 6 additions & 1 deletion
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>=14000] 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<14000] 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
#

0 commit comments

Comments
 (0)