An interface for looking up relations by name.
A catalog for looking up user defined functions, used by an Analyzer.
A collection of Rules that can be used to coerce differing types that participate in operations into compatible ones.
A trait that should be mixed into query operators where an single instance might appear multiple times in a logical query plan.
A trait that can be mixed in with other Catalogs allowing specific tables to be overridden with new logical plans.
Responsible for resolving which identifiers refer to the same entity.
Represents all of the input attributes to a given relational operator, for example in "SELECT * FROM ...".
an optional table that should be the target of the expansion. If omitted all tables' columns are produced.
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.
Holds the name of a relation that has yet to be looked up in a Catalog.
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.
If any MultiInstanceRelation appears more than once in the query plan then the plan is updated so that each instance has unique expression ids for the attributes produced.