Merging upstream version 10.5.6.
Signed-off-by: Daniel Baumann <daniel@debian.org>
This commit is contained in:
parent
3b8c9606bf
commit
599f59b0f8
39 changed files with 786 additions and 133 deletions
|
@ -52,7 +52,10 @@ def optimize(expression, schema=None, db=None, catalog=None, rules=RULES, **kwar
|
|||
If no schema is provided then the default schema defined at `sqlgot.schema` will be used
|
||||
db (str): specify the default database, as might be set by a `USE DATABASE db` statement
|
||||
catalog (str): specify the default catalog, as might be set by a `USE CATALOG c` statement
|
||||
rules (sequence): sequence of optimizer rules to use
|
||||
rules (sequence): sequence of optimizer rules to use.
|
||||
Many of the rules require tables and columns to be qualified.
|
||||
Do not remove qualify_tables or qualify_columns from the sequence of rules unless you know
|
||||
what you're doing!
|
||||
**kwargs: If a rule has a keyword argument with a same name in **kwargs, it will be passed in.
|
||||
Returns:
|
||||
sqlglot.Expression: optimized expression
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
import itertools
|
||||
|
||||
from sqlglot import alias, exp
|
||||
from sqlglot.errors import OptimizeError
|
||||
from sqlglot.errors import OptimizeError, SchemaError
|
||||
from sqlglot.optimizer.scope import Scope, traverse_scope
|
||||
from sqlglot.schema import ensure_schema
|
||||
|
||||
|
@ -382,7 +382,7 @@ class _Resolver:
|
|||
try:
|
||||
return self.schema.column_names(source, only_visible)
|
||||
except Exception as e:
|
||||
raise OptimizeError(str(e)) from e
|
||||
raise SchemaError(str(e)) from e
|
||||
|
||||
if isinstance(source, Scope) and isinstance(source.expression, exp.Values):
|
||||
return source.expression.alias_column_names
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue