github.com/cockroachdb/cockroach@v20.2.0-alpha.1+incompatible/pkg/cmd/roachtest/tpchvec_smithcmp.toml (about) 1 smither = "vec-off" 2 seed = -1 3 timeoutmins = 30 4 stmttimeoutsecs = 120 5 6 sql = [ 7 """ 8 SELECT 9 l_returnflag, 10 l_linestatus, 11 sum(l_quantity) AS sum_qty, 12 sum(l_extendedprice) AS sum_base_price, 13 sum(l_extendedprice * (1 - l_discount)) AS sum_disc_price, 14 sum(l_extendedprice * (1 - l_discount) * (1 + l_tax)) AS sum_charge, 15 avg(l_quantity) AS avg_qty, 16 avg(l_extendedprice) AS avg_price, 17 avg(l_discount) AS avg_disc, 18 count(*) AS count_order 19 FROM 20 lineitem 21 WHERE 22 l_shipdate <= $1::DATE - $2::INTERVAL 23 GROUP BY 24 l_returnflag, 25 l_linestatus 26 ORDER BY 27 l_returnflag, 28 l_linestatus; 29 """, 30 """ 31 SELECT 32 s_acctbal, 33 s_name, 34 n_name, 35 p_partkey, 36 p_mfgr, 37 s_address, 38 s_phone, 39 s_comment 40 FROM 41 part, 42 supplier, 43 partsupp, 44 nation, 45 region 46 WHERE 47 p_partkey = ps_partkey 48 AND s_suppkey = ps_suppkey 49 AND p_size = $1 50 AND p_type LIKE '%BRASS' 51 AND s_nationkey = n_nationkey 52 AND n_regionkey = r_regionkey 53 AND r_name = 'EUROPE' 54 AND ps_supplycost = ( 55 SELECT 56 min(ps_supplycost) 57 FROM 58 partsupp, 59 supplier, 60 nation, 61 region 62 WHERE 63 p_partkey = ps_partkey 64 AND s_suppkey = ps_suppkey 65 AND s_nationkey = n_nationkey 66 AND n_regionkey = r_regionkey 67 AND r_name = 'EUROPE' 68 ) 69 ORDER BY 70 s_acctbal DESC, 71 n_name, 72 s_name, 73 p_partkey 74 LIMIT 100; 75 """, 76 """ 77 SELECT 78 l_orderkey, 79 sum(l_extendedprice * (1 - l_discount)) AS revenue, 80 o_orderdate, 81 o_shippriority 82 FROM 83 customer, 84 orders, 85 lineitem 86 WHERE 87 c_mktsegment = 'BUILDING' 88 AND c_custkey = o_custkey 89 AND l_orderkey = o_orderkey 90 AND o_orderDATE < $1::DATE 91 AND l_shipdate > $2::DATE 92 GROUP BY 93 l_orderkey, 94 o_orderdate, 95 o_shippriority 96 ORDER BY 97 revenue DESC, 98 o_orderdate 99 LIMIT 10; 100 """, 101 """ 102 SELECT 103 o_orderpriority, 104 count(*) AS order_count 105 FROM 106 orders 107 WHERE 108 o_orderdate >= $1::DATE 109 AND o_orderdate < $2::DATE + $3::INTERVAL 110 AND EXISTS ( 111 SELECT 112 * 113 FROM 114 lineitem 115 WHERE 116 l_orderkey = o_orderkey 117 AND l_commitDATE < l_receiptdate 118 ) 119 GROUP BY 120 o_orderpriority 121 ORDER BY 122 o_orderpriority; 123 """, 124 """ 125 SELECT 126 n_name, 127 sum(l_extendedprice * (1 - l_discount)) AS revenue 128 FROM 129 customer, 130 orders, 131 lineitem, 132 supplier, 133 nation, 134 region 135 WHERE 136 c_custkey = o_custkey 137 AND l_orderkey = o_orderkey 138 AND l_suppkey = s_suppkey 139 AND c_nationkey = s_nationkey 140 AND s_nationkey = n_nationkey 141 AND n_regionkey = r_regionkey 142 AND r_name = 'ASIA' 143 AND o_orderDATE >= $1::DATE 144 AND o_orderDATE < $2::DATE + $3::INTERVAL 145 GROUP BY 146 n_name 147 ORDER BY 148 revenue DESC; 149 """, 150 """ 151 SELECT 152 sum(l_extendedprice * l_discount) AS revenue 153 FROM 154 lineitem 155 WHERE 156 l_shipdate >= $1::DATE 157 AND l_shipdate < $2::DATE + $3::INTERVAL 158 AND l_discount BETWEEN $4::FLOAT8 - $5::FLOAT8 AND $6::FLOAT8 + $7::FLOAT8 159 AND l_quantity < $8::FLOAT8; 160 """, 161 """ 162 SELECT 163 supp_nation, 164 cust_nation, 165 l_year, 166 sum(volume) AS revenue 167 FROM 168 ( 169 SELECT 170 n1.n_name AS supp_nation, 171 n2.n_name AS cust_nation, 172 EXTRACT(year FROM l_shipdate) AS l_year, 173 l_extendedprice * (1 - l_discount) AS volume 174 FROM 175 supplier, 176 lineitem, 177 orders, 178 customer, 179 nation n1, 180 nation n2 181 WHERE 182 s_suppkey = l_suppkey 183 AND o_orderkey = l_orderkey 184 AND c_custkey = o_custkey 185 AND s_nationkey = n1.n_nationkey 186 AND c_nationkey = n2.n_nationkey 187 AND ( 188 (n1.n_name = 'FRANCE' AND n2.n_name = 'GERMANY') 189 or (n1.n_name = 'GERMANY' AND n2.n_name = 'FRANCE') 190 ) 191 AND l_shipdate BETWEEN $1::DATE AND $2::DATE 192 ) AS shipping 193 GROUP BY 194 supp_nation, 195 cust_nation, 196 l_year 197 ORDER BY 198 supp_nation, 199 cust_nation, 200 l_year; 201 """, 202 """ 203 SELECT 204 o_year, 205 sum(CASE 206 WHEN nation = 'BRAZIL' THEN volume 207 ELSE 0 208 END) / sum(volume) AS mkt_share 209 FROM 210 ( 211 SELECT 212 EXTRACT(year FROM o_orderdate) AS o_year, 213 l_extendedprice * (1 - l_discount) AS volume, 214 n2.n_name AS nation 215 FROM 216 part, 217 supplier, 218 lineitem, 219 orders, 220 customer, 221 nation n1, 222 nation n2, 223 region 224 WHERE 225 p_partkey = l_partkey 226 AND s_suppkey = l_suppkey 227 AND l_orderkey = o_orderkey 228 AND o_custkey = c_custkey 229 AND c_nationkey = n1.n_nationkey 230 AND n1.n_regionkey = r_regionkey 231 AND r_name = 'AMERICA' 232 AND s_nationkey = n2.n_nationkey 233 AND o_orderdate BETWEEN $1::DATE AND $2::DATE 234 AND p_type = 'ECONOMY ANODIZED STEEL' 235 ) AS all_nations 236 GROUP BY 237 o_year 238 ORDER BY 239 o_year; 240 """, 241 """ 242 SELECT 243 c_custkey, 244 c_name, 245 sum(l_extendedprice * (1 - l_discount)) AS revenue, 246 c_acctbal, 247 n_name, 248 c_address, 249 c_phone, 250 c_comment 251 FROM 252 customer, 253 orders, 254 lineitem, 255 nation 256 WHERE 257 c_custkey = o_custkey 258 AND l_orderkey = o_orderkey 259 AND o_orderDATE >= $1::DATE 260 AND o_orderDATE < $2::DATE + $3::INTERVAL 261 AND l_returnflag = 'R' 262 AND c_nationkey = n_nationkey 263 GROUP BY 264 c_custkey, 265 c_name, 266 c_acctbal, 267 c_phone, 268 n_name, 269 c_address, 270 c_comment 271 ORDER BY 272 revenue DESC 273 LIMIT 20; 274 """, 275 """ 276 SELECT 277 ps_partkey, 278 sum(ps_supplycost * ps_availqty::float) AS value 279 FROM 280 partsupp, 281 supplier, 282 nation 283 WHERE 284 ps_suppkey = s_suppkey 285 AND s_nationkey = n_nationkey 286 AND n_name = 'GERMANY' 287 GROUP BY 288 ps_partkey HAVING 289 sum(ps_supplycost * ps_availqty::float) > ( 290 SELECT 291 sum(ps_supplycost * ps_availqty::float) * $1::FLOAT8 292 FROM 293 partsupp, 294 supplier, 295 nation 296 WHERE 297 ps_suppkey = s_suppkey 298 AND s_nationkey = n_nationkey 299 AND n_name = 'GERMANY' 300 ) 301 ORDER BY 302 value DESC, ps_partkey; 303 """, 304 """ 305 SELECT 306 l_shipmode, 307 sum(CASE 308 WHEN o_orderpriority = '1-URGENT' 309 or o_orderpriority = '2-HIGH' 310 THEN 1 311 ELSE 0 312 END) AS high_line_count, 313 sum(CASE 314 WHEN o_orderpriority <> '1-URGENT' 315 AND o_orderpriority <> '2-HIGH' 316 THEN 1 317 ELSE 0 318 END) AS low_line_count 319 FROM 320 orders, 321 lineitem 322 WHERE 323 o_orderkey = l_orderkey 324 AND l_shipmode IN ('MAIL', 'SHIP') 325 AND l_commitdate < l_receiptdate 326 AND l_shipdate < l_commitdate 327 AND l_receiptdate >= $1::DATE 328 AND l_receiptdate < $2::DATE + $3::INTERVAL 329 GROUP BY 330 l_shipmode 331 ORDER BY 332 l_shipmode; 333 """, 334 """ 335 SELECT 336 100.00 * sum(CASE 337 WHEN p_type LIKE 'PROMO%' 338 THEN l_extendedprice * (1 - l_discount) 339 ELSE 0 340 END) / sum(l_extendedprice * (1 - l_discount)) AS promo_revenue 341 FROM 342 lineitem, 343 part 344 WHERE 345 l_partkey = p_partkey 346 AND l_shipdate >= $1::DATE 347 AND l_shipdate < $2::DATE + $3::INTERVAL; 348 """, 349 """ 350 SELECT 351 c_name, 352 c_custkey, 353 o_orderkey, 354 o_orderdate, 355 o_totalprice, 356 sum(l_quantity) 357 FROM 358 customer, 359 orders, 360 lineitem 361 WHERE 362 o_orderkey IN ( 363 SELECT 364 l_orderkey 365 FROM 366 lineitem 367 GROUP BY 368 l_orderkey HAVING 369 sum(l_quantity) > $1::INT8 370 ) 371 AND c_custkey = o_custkey 372 AND o_orderkey = l_orderkey 373 GROUP BY 374 c_name, 375 c_custkey, 376 o_orderkey, 377 o_orderdate, 378 o_totalprice 379 ORDER BY 380 o_totalprice DESC, 381 o_orderdate 382 LIMIT 100; 383 """, 384 """ 385 SELECT 386 sum(l_extendedprice* (1 - l_discount)) AS revenue 387 FROM 388 lineitem, 389 part 390 WHERE 391 ( 392 p_partkey = l_partkey 393 AND p_brand = 'Brand#12' 394 AND p_container IN ('SM CASE', 'SM BOX', 'SM PACK', 'SM PKG') 395 AND l_quantity >= $1::INT8 AND l_quantity <= $2::INT8 + $3::INT8 396 AND p_size BETWEEN $4::INT8 AND $5::INT8 397 AND l_shipmode IN ('AIR', 'AIR REG') 398 AND l_shipinstruct = 'DELIVER IN PERSON' 399 ) 400 OR 401 ( 402 p_partkey = l_partkey 403 AND p_brand = 'Brand#23' 404 AND p_container IN ('MED BAG', 'MED BOX', 'MED PKG', 'MED PACK') 405 AND l_quantity >= $6::INT8 AND l_quantity <= $7::INT8 + $8::INT8 406 AND p_size BETWEEN $9::INT8 AND $10::INT8 407 AND l_shipmode IN ('AIR', 'AIR REG') 408 AND l_shipinstruct = 'DELIVER IN PERSON' 409 ) 410 OR 411 ( 412 p_partkey = l_partkey 413 AND p_brand = 'Brand#34' 414 AND p_container IN ('LG CASE', 'LG BOX', 'LG PACK', 'LG PKG') 415 AND l_quantity >= $11::INT8 AND l_quantity <= $12::INT8 + $13::INT8 416 AND p_size BETWEEN $14::INT8 AND $15::INT8 417 AND l_shipmode IN ('AIR', 'AIR REG') 418 AND l_shipinstruct = 'DELIVER IN PERSON' 419 ); 420 """, 421 """ 422 SELECT 423 s_name, 424 s_address 425 FROM 426 supplier, 427 nation 428 WHERE 429 s_suppkey IN ( 430 SELECT 431 ps_suppkey 432 FROM 433 partsupp 434 WHERE 435 ps_partkey IN ( 436 SELECT 437 p_partkey 438 FROM 439 part 440 WHERE 441 p_name LIKE 'forest%' 442 ) 443 AND ps_availqty > ( 444 SELECT 445 $1::FLOAT8 * sum(l_quantity) 446 FROM 447 lineitem 448 WHERE 449 l_partkey = ps_partkey 450 AND l_suppkey = ps_suppkey 451 AND l_shipdate >= $2::DATE 452 AND l_shipdate < $3::DATE + $4::INTERVAL 453 ) 454 ) 455 AND s_nationkey = n_nationkey 456 AND n_name = 'CANADA' 457 ORDER BY 458 s_name; 459 """, 460 """ 461 SELECT 462 cntrycode, 463 count(*) AS numcust, 464 sum(c_acctbal) AS totacctbal 465 FROM 466 ( 467 SELECT 468 substring(c_phone FROM $1::INT4 FOR $2::INT4) AS cntrycode, 469 c_acctbal 470 FROM 471 customer 472 WHERE 473 substring(c_phone FROM $3::INT4 FOR $4::INT4) in 474 ('13', '31', '23', '29', '30', '18', '17') 475 AND c_acctbal > ( 476 SELECT 477 avg(c_acctbal) 478 FROM 479 customer 480 WHERE 481 c_acctbal > $5::FLOAT8 482 AND substring(c_phone FROM $6::INT4 FOR $7::INT4) in 483 ('13', '31', '23', '29', '30', '18', '17') 484 ) 485 AND NOT EXISTS ( 486 SELECT 487 * 488 FROM 489 orders 490 WHERE 491 o_custkey = c_custkey 492 ) 493 ) AS custsale 494 GROUP BY 495 cntrycode 496 ORDER BY 497 cntrycode; 498 """, 499 ] 500 501 # Missing: 9, 13, 15, 16, 17, 21 502 # These are missing either because 1) they use a CREATE VIEW, or 2) 503 # they don't have any parameters that make sense to randomize, and we'd 504 # thus be executing the same query each time. Queries that don't change 505 # should be tested in other places; smithcmp is for random testing. 506 507 [databases.vec-off] 508 addr = "postgresql://root@localhost:26257/tpch?sslmode=disable" 509 allowmutations = true 510 initsql = """ 511 set vectorize=off; 512 """ 513 514 [databases.vec-on] 515 addr = "postgresql://root@localhost:26257/tpch?sslmode=disable" 516 allowmutations = true 517 initsql = """ 518 set vectorize=on; 519 """