package
19.1.0-beta.20190304+incompatible
Repository: https://github.com/darinpp/cockroach.git
Documentation: pkg.go.dev
# README
The opt
package defines common high-level interfaces and classes that multiple
sub-packages share. None of these definitions depend on any sub-packages, so all
sub-packages can therefore depend on opt
without causing cyclical dependencies
(which Go does not allow).
# Packages
Package bench houses benchmarks for the SQL optimizer.
Package cat contains interfaces that are used by the query optimizer to avoid including specifics of sqlbase structures in the opt code.
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
Package ordering contains operator-specific logic related to orderings - whether
ops can provide required orderings, what orderings do they need to require from
their children, etc.
No description provided by the author
No description provided by the author
No description provided by the author
# Functions
AggregateIgnoresNulls returns true if the given aggregate operator has a single input, and if it always evaluates to the same result regardless of how many NULL values are included in that input, in any order.
AggregateIsNullOnEmpty returns true if the given aggregate operator has a single input, and if it returns NULL when the input set contains no values.
AggregateIsOrderingSensitive returns true if the given aggregate operator is non-commutative.
BoolOperatorRequiresNotNullArgs returns true if the operator can never evaluate to true if one of its children is NULL.
ColSetToList converts a column id set to a list, in column id order.
MakeOrderingColumn initializes an ordering column with a ColumnID and a flag indicating whether the direction is descending.
NewTableAnnID allocates a unique annotation identifier that is used to associate arbitrary data with table metadata.
# Constants
Enumeration of all manual rule names.
NumManualRules tracks the number of manually-defined rules.
Enumeration of all manual rule names.
Enumeration of all manual rule names.
Enumeration of all manual rule names.
# Variables
AggregateOpReverseMap maps from an optimizer operator type to the name of an aggregation function.
BinaryOpReverseMap maps from an optimizer operator type to a semantic tree binary operator type.
ComparisonOpMap maps from a semantic tree comparison operator type to an optimizer operator type.
ComparisonOpReverseMap maps from an optimizer operator type to a semantic tree comparison operator type.
NegateOpMap maps from a comparison operator type to its negated operator type, as if the Not operator was applied to it.
UnaryOpReverseMap maps from an optimizer operator type to a semantic tree unary operator type.
# Structs
AliasedColumn specifies the label and id of a column.
ColumnMeta stores information about one of the columns stored in the metadata.
Metadata assigns unique ids to the columns, tables, and other metadata used within the scope of a particular query.
TableMeta stores information about one of the tables stored in the metadata.
# Interfaces
Expr is a node in an expression tree.
MutableExpr is implemented by expressions that allow their children to be updated.
ScalarExpr is a scalar expression, which is an expression that returns a primitive-typed value like boolean or string rather than rows and columns.
# Type aliases
ColList is a list of column ids.
ColMap provides a 1:1 mapping from one column id to another.
ColSet efficiently stores an unordered set of column ids.
ColumnID uniquely identifies the usage of a column within the scope of a query.
Operator describes the type of operation that a memo expression performs.
Ordering defines the order of rows provided or required by an operator.
OrderingColumn is the ColumnID for a column that is part of an ordering, except that it can be negated to indicate a descending ordering on that column.
OrderingSet is a set of orderings, with the restriction that no ordering is a prefix of another ordering in the set.
RuleName enumerates the names of all the optimizer rules.
ScalarID is the type of the memo-unique identifier given to every scalar expression.
SchemaID uniquely identifies the usage of a schema within the scope of a query.
SequenceID uniquely identifies the usage of a sequence within the scope of a query.
TableAnnID uniquely identifies an annotation on an instance of table metadata.
TableID uniquely identifies the usage of a table within the scope of a query.
ValuesID uniquely identifies the usage of a values clause within the scope of a query.