# Functions
Inspect traverses the plan in depth-first order: It starts by calling f(node); node must not be nil.
InspectExpressions traverses the plan and calls expression.Inspect on any expression it finds.
IsBinary returns whether the node is binary or not.
IsUnary returns whether the node is unary or not.
NewCreateIndex creates a new CreateIndex node.
NewCreateTable creates a new CreateTable node.
NewCrossJoin creates a new cross join node from two tables.
NewDeleteFrom creates a DeleteFrom node.
NewDescribe creates a new Describe node.
NewDescribeQuery creates a new DescribeQuery node.
NewDistinct creates a new Distinct node.
NewDropIndex creates a new DropIndex node.
NewExchange creates a new Exchange node.
NewFilter creates a new filter node.
NewFilterIter creates a new FilterIter.
NewGenerate creates a new generate node.
NewGroupBy creates a new GroupBy node.
NewHaving creates a new having node.
NewInnerJoin creates a new inner join node from two tables.
NewInsertInto creates an InsertInto node.
NewLeftJoin creates a new left join node from two tables.
NewLimit creates a new Limit node with the given size.
NewLockTables creates a new LockTables node.
NewNaturalJoin returns a new NaturalJoin node.
NewOffset creates a new Offset node.
NewOrderedDistinct creates a new OrderedDistinct node.
NewProcessIndexableTable returns a new ProcessIndexableTable.
NewProcessTable returns a new ProcessTable.
NewProject creates a new projection.
NewQueryProcess creates a new QueryProcess node.
NewResolvedTable creates a new instance of ResolvedTable.
NewRightJoin creates a new right join node from two tables.
NewRollback creates a new Rollback node.
NewSet creates a new Set node.
NewShowCollation creates a new ShowCollation node.
NewShowColumns creates a new ShowColumns node.
NewShowCreateDatabase creates a new ShowCreateDatabase node.
NewShowCreateTable creates a new ShowCreateTable node.
NewShowDatabases creates a new show databases node.
NewShowIndexes creates a new ShowIndexes node.
NewShowProcessList creates a new ProcessList node.
NewShowTables creates a new show tables node given a database.
NewShowTableStatus creates a new ShowTableStatus node.
NewShowVariables returns a new ShowVariables reference.
NewSort creates a new Sort node.
NewSubqueryAlias creates a new SubqueryAlias node.
NewTableAlias returns a new Table alias node.
NewUnlockTables returns a new UnlockTables node.
NewUnresolvedTable creates a new Unresolved table.
NewUse creates a new Use node.
NewValues creates a Values node with the given tuples.
TransformExpressions applies a transformation function to all expressions on the given node.
TransformExpressionsUp applies a transformation function to all expressions on the given tree from the bottom up.
TransformUp applies a transformation function to the given tree from the bottom up.
Walk traverses the plan tree in depth-first order.
WalkExpressions traverses the plan and calls expression.Walk on any expression it finds.
# Constants
Ascending order.
Descending order.
NullsFirst puts the null values before any other values.
NullsLast puts the null values after all other values.
# Variables
DescribeSchema is the schema returned by a DescribeQuery node.
EmptyTable is a node representing an empty table.
ErrCreateTable is thrown when the database doesn't support table creation.
No description provided by the author
ErrExprTypeNotIndexable is returned when the expression type cannot be indexed, such as BLOB or JSON.
ErrGroupBy is returned when the aggregation is not supported.
ErrIndexNotAvailable is returned when trying to delete an index that is still not ready for usage.
ErrIndexNotFound is returned when the index cannot be found.
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
ErrInsertIntoNotSupported is thrown when a table doesn't support inserts.
No description provided by the author
ErrInvalidIndexDriver is returned when the index driver can't be found.
ErrNoPartitionable is returned when no Partitionable node is found in the Exchange tree.
ErrNotIndexable is returned when the table is not indexable.
No description provided by the author
ErrTableNotLockable is returned whenever a lockable table can't be found.
ErrTableNotNameable is returned when the table is not nameable.
ErrTableNotValid is returned when the table is not valid.
ErrUnableSort is thrown when something happens on sorting.
ErrUnresolvedTable is thrown when a table cannot be resolved.
Nothing is a node that will return no rows.
# Structs
BinaryNode is a node with two children.
CreateIndex is a node to create an index.
CreateTable is a node describing the creation of some table.
CrossJoin is a cross join between two tables.
DeleteFrom is a node describing a deletion from some table.
Describe is a node that describes its children.
DescribeQuery returns the description of the query plan.
Distinct is a node that ensures all rows that come from it are unique.
DropIndex is a node to drop an index.
Exchange is a node that can parallelize the underlying tree iterating partitions concurrently.
Filter skips rows that don't match a certain expression.
FilterIter is an iterator that filters another iterator and skips rows that don't match the given condition.
Generate will explode rows using a generator.
GroupBy groups the rows by some expressions.
Having node is a filter that supports aggregate expressions.
InnerJoin is an inner join between two tables.
InsertInto is a node describing the insertion into some table.
LeftJoin is a left join between two tables.
Limit is a node that only allows up to N rows to be retrieved.
LockTables will lock tables for the session in which it's executed.
NaturalJoin is a join that automatically joins by all the columns with the same name.
Offset is a node that skips the first N rows.
OrderedDistinct is a Distinct node optimized for sorted row sets.
ProcessIndexableTable is a wrapper for sql.Tables inside a query process that support indexing.
ProcessTable is a wrapper for sql.Tables inside a query process.
Project is a projection of certain expression from the children node.
QueryProcess represents a running query process node.
ResolvedTable represents a resolved SQL Table.
RightJoin is a left join between two tables.
Rollback undoes the changes performed in a transaction.
Set configuration variables.
SetVariable is a key-value pair to represent the value that will be set on a variable.
ShowCollation shows all available collations.
ShowColumns shows the columns details of a table.
ShowCreateDatabase returns the SQL for creating a database.
ShowCreateTable is a node that shows the CREATE TABLE statement for a table.
ShowDatabases is a node that shows the databases.
ShowIndexes is a node that shows the indexes on a table.
ShowProcessList shows a list of all current running processes.
ShowTables is a node that shows the database tables.
ShowTableStatus returns the status of the tables in the databases.
ShowVariables is a node that shows the global and session variables.
Sort is the sort node.
SortField is a field by which the query will be sorted.
SubqueryAlias is a node that gives a subquery a name.
TableAlias is a node that acts as a table with a given name.
TableLock is a read or write lock on a table.
UnaryNode is a node that has only one children.
UnlockTables will release all locks for the current session.
UnresolvedTable is a table that has not been resolved yet but whose name is known.
Use changes the current database.
Values represents a set of tuples of expressions.
# Interfaces
Visitor visits nodes in the plan.
# Type aliases
NotifyFunc is a function to notify about some event.
NullOrdering represents how to order based on null values.
ShowWarnings is a node that shows the session warnings.
SortOrder represents the order of the sort (ascending or descending).