summaryrefslogtreecommitdiffstats
path: root/tests/tpch.py
diff options
context:
space:
mode:
authorDaniel Baumann <daniel.baumann@progress-linux.org>2023-06-16 09:41:18 +0000
committerDaniel Baumann <daniel.baumann@progress-linux.org>2023-06-16 09:41:18 +0000
commit67578a7602a5be7eb51f324086c8d49bcf8b7498 (patch)
tree0b7515c922d1c383cea24af5175379cfc8edfd15 /tests/tpch.py
parentReleasing debian version 15.2.0-1. (diff)
downloadsqlglot-67578a7602a5be7eb51f324086c8d49bcf8b7498.tar.xz
sqlglot-67578a7602a5be7eb51f324086c8d49bcf8b7498.zip
Merging upstream version 16.2.1.
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
Diffstat (limited to 'tests/tpch.py')
-rw-r--r--tests/tpch.py90
1 files changed, 84 insertions, 6 deletions
diff --git a/tests/tpch.py b/tests/tpch.py
index 0b6de63..ef2b666 100644
--- a/tests/tpch.py
+++ b/tests/tpch.py
@@ -2,11 +2,89 @@ import time
from sqlglot.optimizer import optimize
-INPUT = ""
-OUTPUT = ""
-NUM = 99
-SCHEMA = {}
-KIND = "DS"
+INPUT = "/home/toby/dev/tpch/{i}.sql"
+OUTPUT = "/home/toby/dev/sqlglot/tests/fixtures/optimizer/tpc-h/tpc-h.sql"
+NUM = 22
+SCHEMA = {
+ "lineitem": {
+ "l_orderkey": "bigint",
+ "l_partkey": "bigint",
+ "l_suppkey": "bigint",
+ "l_linenumber": "bigint",
+ "l_quantity": "double",
+ "l_extendedprice": "double",
+ "l_discount": "double",
+ "l_tax": "double",
+ "l_returnflag": "string",
+ "l_linestatus": "string",
+ "l_shipdate": "string",
+ "l_commitdate": "string",
+ "l_receiptdate": "string",
+ "l_shipinstruct": "string",
+ "l_shipmode": "string",
+ "l_comment": "string",
+ },
+ "orders": {
+ "o_orderkey": "bigint",
+ "o_custkey": "bigint",
+ "o_orderstatus": "string",
+ "o_totalprice": "double",
+ "o_orderdate": "string",
+ "o_orderpriority": "string",
+ "o_clerk": "string",
+ "o_shippriority": "int",
+ "o_comment": "string",
+ },
+ "customer": {
+ "c_custkey": "bigint",
+ "c_name": "string",
+ "c_address": "string",
+ "c_nationkey": "bigint",
+ "c_phone": "string",
+ "c_acctbal": "double",
+ "c_mktsegment": "string",
+ "c_comment": "string",
+ },
+ "part": {
+ "p_partkey": "bigint",
+ "p_name": "string",
+ "p_mfgr": "string",
+ "p_brand": "string",
+ "p_type": "string",
+ "p_size": "int",
+ "p_container": "string",
+ "p_retailprice": "double",
+ "p_comment": "string",
+ },
+ "supplier": {
+ "s_suppkey": "bigint",
+ "s_name": "string",
+ "s_address": "string",
+ "s_nationkey": "bigint",
+ "s_phone": "string",
+ "s_acctbal": "double",
+ "s_comment": "string",
+ },
+ "partsupp": {
+ "ps_partkey": "bigint",
+ "ps_suppkey": "bigint",
+ "ps_availqty": "int",
+ "ps_supplycost": "double",
+ "ps_comment": "string",
+ },
+ "nation": {
+ "n_nationkey": "bigint",
+ "n_name": "string",
+ "n_regionkey": "bigint",
+ "n_comment": "string",
+ },
+ "region": {
+ "r_regionkey": "bigint",
+ "r_name": "string",
+ "r_comment": "string",
+ },
+}
+KIND = "H"
with open(OUTPUT, "w", encoding="UTF-8") as fixture:
for i in range(NUM):
@@ -17,7 +95,7 @@ with open(OUTPUT, "w", encoding="UTF-8") as fixture:
for line in file.read().split(";")[0].split("\n")
if not line.startswith("--")
)
- original = original.replace("`", '"')
+ original = original.replace("`", '"').strip()
now = time.time()
try:
optimized = optimize(original, schema=SCHEMA)