| 86 | |
| 87 | |
| 88 | def workflow_default(c: Composition, parser: WorkflowArgumentParser) -> None: |
| 89 | parser.add_argument("--num-sqlsmith", default=len(MZ_SERVERS), type=int) |
| 90 | # parser.add_argument("--queries", default=10000, type=int) |
| 91 | parser.add_argument("--runtime", default=600, type=int) |
| 92 | parser.add_argument("--max-joins", default=5, type=int) |
| 93 | parser.add_argument("--explain-only", action="store_true") |
| 94 | parser.add_argument("--exclude-catalog", default=False, type=bool) |
| 95 | parser.add_argument("--seed", default=None, type=int) |
| 96 | args = parser.parse_args() |
| 97 | |
| 98 | c.up(*MZ_SERVERS) |
| 99 | |
| 100 | for mz_server in MZ_SERVERS: |
| 101 | # Very simple data for our workload |
| 102 | c.sql( |
| 103 | """ |
| 104 | CREATE TABLE t1 (a int2, b int4, c int8, d uint2, e uint4, f uint8, g text); |
| 105 | INSERT INTO t1 VALUES (1, 2, 3, 4, 5, 6, '7'), (3, 4, 5, 6, 7, 8, '9'), (5, 6, 7, 8, 9, 10, '11'), (7, 8, 9, 10, 11, 12, '13'), (9, 10, 11, 12, 13, 14, '15'), (11, 12, 13, 14, 15, 16, '17'), (13, 14, 15, 16, 17, 18, '19'), (15, 16, 17, 18, 19, 20, '21'); |
| 106 | CREATE MATERIALIZED VIEW mv AS SELECT a + b AS col1, c + d AS col2, e + f AS col3, g AS col4 FROM t1; |
| 107 | CREATE MATERIALIZED VIEW mv2 AS SELECT count(*) FROM mv; |
| 108 | CREATE DEFAULT INDEX ON mv; |
| 109 | CREATE TABLE t2 ( |
| 110 | a_bool BOOL, |
| 111 | b_float4 FLOAT4, |
| 112 | c_float8 FLOAT8, |
| 113 | d_numeric NUMERIC, |
| 114 | e_char CHAR(5), |
| 115 | f_varchar VARCHAR(10), |
| 116 | g_bytes BYTES, |
| 117 | h_date DATE, |
| 118 | i_time TIME, |
| 119 | k_timestamp TIMESTAMP, |
| 120 | l_timestamptz TIMESTAMPTZ, |
| 121 | m_interval INTERVAL, |
| 122 | n_jsonb JSONB, |
| 123 | o_uuid UUID |
| 124 | ); |
| 125 | |
| 126 | INSERT INTO t2 VALUES |
| 127 | ( |
| 128 | TRUE, |
| 129 | 1.23, |
| 130 | 4.56, |
| 131 | 7.89, |
| 132 | 'abc', |
| 133 | 'hello', |
| 134 | '\x68656c6c6f', |
| 135 | DATE '2023-01-01', |
| 136 | TIME '12:34:56', |
| 137 | TIMESTAMP '2023-01-01 12:34:56', |
| 138 | TIMESTAMPTZ '2023-01-01 12:34:56+00', |
| 139 | INTERVAL '1 day 2 hours', |
| 140 | '{"key": "value"}', |
| 141 | '550e8400-e29b-41d4-a716-446655440000' |
| 142 | ); |
| 143 | |
| 144 | CREATE MATERIALIZED VIEW mv3 AS SELECT * FROM t2; |
| 145 | """, |