Provides a logical query plan analyzer, which translates UnresolvedAttributes and UnresolvedRelations into fully typed objects using information in a schema Catalog and a FunctionRegistry.
An interface for looking up relations by name.
Throws user facing errors when passed invalid queries that fail to analyze.
This rule rewrites an aggregate query with distinct aggregations into an expanded double aggregation in which the regular aggregation expressions and every distinct clause is aggregated in a separate group.
Exist subquery expression, only used in subquery predicate only.
A catalog for looking up user defined functions, used by an Analyzer.
In subquery expression, only used in subquery predicate only.
Used to assign new names to Generator's output, such as hive udtf.
A trait that should be mixed into query operators where an single instance might appear multiple times in a logical query plan.
Thrown by a catalog when a table cannot be found.
A trait that can be mixed in with other Catalogs allowing specific tables to be overridden with new logical plans.
Represents all the resolved input attributes to a given relational operator.
Resolver should return true if the first string refers to the same entity as the second string.
Resolver should return true if the first string refers to the same entity as the second string. For example, by using case insensitive equality.
Represents all of the input attributes to a given relational operator, for example in "SELECT * FROM .
Represents the result of Expression.checkInputDataTypes
.
Holds the expression that has yet to be aliased.
Holds the name of an attribute that has yet to be resolved.
Thrown when an invalid attempt is made to access a property of a tree that has yet to be fully resolved.
Extracts a value or values from an Expression
Holds the name of a relation that has yet to be looked up in a Catalog.
Represents all of the input attributes to a given relational operator, for example in "SELECT * FROM .
Cleans up unnecessary Aliases inside the plan.
Computes the current date and time to make sure we return the same result in a single query.
Removes Subquery operators from the plan.
A trivial catalog that returns an error when a relation is requested.
A trivial catalog that returns an error when a function is requested.
A collection of Rules that can be used to coerce differing types that participate in operations into compatible ones.
Replace the UpCast
expression by Cast
, and throw exceptions if the cast may truncate.
A trivial Analyzer with an EmptyCatalog and EmptyFunctionRegistry.
Catches any AnalysisExceptions thrown by f
and attaches t
's position if any.
Provides a logical query plan Analyzer and supporting classes for performing analysis. Analysis consists of translating UnresolvedAttributes and UnresolvedRelations into fully typed objects using information in a schema Catalog.