diff options
Diffstat (limited to '')
-rw-r--r-- | tests/tpch.py | 37 |
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) |