diff options
author | Daniel Baumann <daniel.baumann@progress-linux.org> | 2022-09-22 04:31:28 +0000 |
---|---|---|
committer | Daniel Baumann <daniel.baumann@progress-linux.org> | 2022-09-22 04:31:28 +0000 |
commit | 90150543f9314be683d22a16339effd774192f6d (patch) | |
tree | 0717782154823582e47cd23fd4e79f7b1b91c093 /sqlglot/executor/__init__.py | |
parent | Adding debian version 6.0.4-1. (diff) | |
download | sqlglot-90150543f9314be683d22a16339effd774192f6d.tar.xz sqlglot-90150543f9314be683d22a16339effd774192f6d.zip |
Merging upstream version 6.1.1.
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
Diffstat (limited to 'sqlglot/executor/__init__.py')
-rw-r--r-- | sqlglot/executor/__init__.py | 10 |
1 files changed, 8 insertions, 2 deletions
diff --git a/sqlglot/executor/__init__.py b/sqlglot/executor/__init__.py index a437431..bca9f3e 100644 --- a/sqlglot/executor/__init__.py +++ b/sqlglot/executor/__init__.py @@ -3,11 +3,17 @@ import time from sqlglot import parse_one from sqlglot.executor.python import PythonExecutor -from sqlglot.optimizer import optimize +from sqlglot.optimizer import RULES, optimize +from sqlglot.optimizer.merge_derived_tables import merge_derived_tables from sqlglot.planner import Plan logger = logging.getLogger("sqlglot") +OPTIMIZER_RULES = list(RULES) + +# The executor needs isolated table selects +OPTIMIZER_RULES.remove(merge_derived_tables) + def execute(sql, schema, read=None): """ @@ -28,7 +34,7 @@ def execute(sql, schema, read=None): """ expression = parse_one(sql, read=read) now = time.time() - expression = optimize(expression, schema) + expression = optimize(expression, schema, rules=OPTIMIZER_RULES) logger.debug("Optimization finished: %f", time.time() - now) logger.debug("Optimized SQL: %s", expression.sql(pretty=True)) plan = Plan(expression) |