summaryrefslogtreecommitdiffstats
path: root/tests/tpch.py
diff options
context:
space:
mode:
Diffstat (limited to 'tests/tpch.py')
-rw-r--r--tests/tpch.py37
1 files changed, 37 insertions, 0 deletions
diff --git a/tests/tpch.py b/tests/tpch.py
new file mode 100644
index 0000000..0b6de63
--- /dev/null
+++ b/tests/tpch.py
@@ -0,0 +1,37 @@
+import time
+
+from sqlglot.optimizer import optimize
+
+INPUT = ""
+OUTPUT = ""
+NUM = 99
+SCHEMA = {}
+KIND = "DS"
+
+with open(OUTPUT, "w", encoding="UTF-8") as fixture:
+ for i in range(NUM):
+ i = i + 1
+ with open(INPUT.format(i=i), encoding="UTF-8") as file:
+ original = "\n".join(
+ line.rstrip()
+ for line in file.read().split(";")[0].split("\n")
+ if not line.startswith("--")
+ )
+ original = original.replace("`", '"')
+ now = time.time()
+ try:
+ optimized = optimize(original, schema=SCHEMA)
+ except Exception as e:
+ print("****", i, e, "****")
+ continue
+
+ fixture.write(
+ f"""--------------------------------------
+-- TPC-{KIND} {i}
+--------------------------------------
+{original};
+{optimized.sql(pretty=True)};
+
+"""
+ )
+ print(i, time.time() - now)