package
19.1.0-beta.20190304+incompatible
Repository: https://github.com/darinpp/cockroach.git
Documentation: pkg.go.dev

# Functions

AggregateOverloadExists returns whether or not the given operator has a unary overload which takes the given type as input.
BinaryAllowsNullArgs returns true if the given binary operator allows null arguments, and cannot therefore be folded away to null.
BinaryOverloadExists returns true if the given binary operator exists with the given arguments.
BuildSharedProps fills in the shared properties derived from the given expression's subtree.
CanExtractConstDatum returns true if a constant datum can be created from the given expression (tuples and arrays of constant values are considered constant values).
CanExtractConstTuple returns true if the expression is a TupleOp with constant values (a nested tuple of constant values is considered constant).
ExtractAggInputColumns returns the set of columns the aggregate depends on.
ExtractAggSingleInputColumn returns the input ColumnID of an aggregate operator that has a single input.
ExtractConstColumns returns columns in the filters expression that have been constrained to fixed values.
ExtractConstDatum returns the Datum that represents the value of an expression with a constant value.
ExtractJoinEqualityColumns returns pairs of columns (one from the left side, one from the right side) which are constrained to be equal in a join (and have equivalent types).
ExtractRemainingJoinFilters calculates the remaining ON condition after removing equalities that are handled separately.
ExtractValuesFromFilter returns a map of constant columns, to the values they're constrained to.
ExtractVarFromAggInput is given an argument to an Aggregate and returns the inner Variable expression, stripping out modifiers like AggDistinct.
FindAggregateOverload finds an aggregate function overload that matches the given aggregate function expression.
FindBinaryOverload finds the correct type signature overload for the specified binary operator, given the types of its inputs.
FindComparisonOverload finds the correct type signature overload for the specified comparison operator, given the types of its inputs.
FindUnaryOverload finds the correct type signature overload for the specified unary operator, given the type of its input.
FormatExpr returns a string representation of the given expression, formatted according to the specified flags.
FormatPrivate outputs a description of the private to f.Buffer.
InferBinaryType infers the return type of a binary expression, given the type of its inputs.
InferType derives the type of the given scalar expression and stores it in the expression's Type field.
InferUnaryType infers the return type of a unary operator, given the type of its input.
LastGroupMember returns the last member in the same memo group of the given relational expression.
MakeExprFmtCtx creates an expression formatting context from a new buffer.
MakeExprFmtCtxBuffer creates an expression formatting context from an existing buffer.
MakeScanLimit initializes a ScanLimit with a number of rows and a direction.
NormalizeComparison maps a given comparison operator into an equivalent operator that exists in the tree.CmpOps map, returning this new operator, along with "flipped" and "not" flags.
RequestColStat causes a column statistic to be calculated on the relational expression.

# Constants

ExprFmtHideAll shows only the basic structure of the expression.
ExprFmtHideColumns removes column information.
ExprFmtHideConstraints does not show inferred constraints in the output.
ExprFmtHideCost does not show expression cost in the output.
ExprFmtHideFuncDeps does not show functional dependencies in the output.
ExprFmtHideMiscProps does not show outer columns, row cardinality, provided orderings, or side effects in the output.
ExprFmtHideOrderings hides all orderings.
ExprFmtHideQualifications removes the qualification from column labels (except when a shortened name would be ambiguous).
ExprFmtHideRuleProps does not show rule-specific properties in the output.
ExprFmtHideScalars removes subtrees that contain only scalars and replaces them with the SQL expression (if possible).
ExprFmtHideStats does not show statistics in the output.
ExprFmtHideTypes hides type information from columns and scalar expressions.
ExprFmtShowAll shows all properties of the expression.

# Variables

CountRowsSingleton maintains a global instance of CountRowsExpr, to avoid allocations.
EmptyGroupingPrivate is a global instance of a GroupingPrivate that has no grouping columns and no ordering.
EmptyJoinPrivate is a global instance of a JoinPrivate that has no fields set.
EmptyTuple is a global instance of a TupleExpr that contains no elements.
ExprFmtInterceptor is a callback that can be set to a custom formatting function.
FalseFilter is a global instance of a FiltersExpr that contains a single False expression, used in contradiction situations: SELECT * FROM a WHERE 1=0 .
FalseSingleton is a global instance of FalseExpr, to avoid allocations.
MaxCost is the maximum possible estimated cost.
NullSingleton is a global instance of NullExpr having the Unknown type (most common case), to avoid allocations.
ScalarListWithEmptyTuple is a global instance of a ScalarListExpr containing a TupleExpr that contains no elements.
ScanIsReverseFn is a callback that is used to figure out if a scan needs to happen in reverse (the code lives in the ordering package, and depending on that directly would be a dependency loop).
TrueFilter is a global instance of the empty FiltersExpr, used in situations where the filter should always evaluate to true: SELECT * FROM a INNER JOIN b ON True .
TrueSingleton is a global instance of TrueExpr, to avoid allocations.

# Structs

ExprFmtCtx is passed as context to expression formatting functions, which need to know the formatting flags and memo in order to format.
JoinFlags stores restrictions on the join execution method, derived from hints for a join specified in the query (see tree.JoinTableExpr).
Memo is a data structure for efficiently storing a forest of query plans.
ScanFlags stores any flags for the scan specified in the query (see tree.IndexFlags).

# Interfaces

RelExpr is implemented by all operators tagged as Relational.
ScalarPropsExpr is implemented by scalar expressions which cache scalar properties, like FiltersExpr and ProjectionsExpr.

# Type aliases

Cost is the best-effort approximation of the actual cost of executing a particular operator tree.
ExprFmtFlags controls which properties of the expression are shown in formatted output.
ScanLimit is used for a limited table or index scan and stores the limit as well as the desired scan direction.
TupleOrdinal is an ordinal index into an expression of type Tuple.