# Functions
ColumnMutationFilter is a filter that allows mutations that add or drop columns.
CompareEncDatumRowForMerge EncDatumRow compares two EncDatumRows for merging.
ConvertBackfillError returns a cleaner SQL error for a failed Batch.
DrainAndClose is a version of DrainAndForwardMetadata that drains multiple sources.
DrainAndForwardMetadata calls src.ConsumerDone() (thus asking src for draining metadata) and then forwards all the metadata to dst.
FlowVerIsCompatible checks a flow's version is compatible with this node's DistSQL version.
GeneratePlanDiagram generates the json data for a flow diagram.
GeneratePlanDiagramWithURL generates the json data for a flow diagram and a URL which encodes the diagram.
GetAggregateInfo returns the aggregate constructor and the return type for the given aggregate function when applied on the given type.
GetResumeSpanIndexofMutationID returns the index of a resume span within a job that corresponds to the given mutation index and table descriptor.
GetResumeSpansFromJob returns a ResumeSpanList from a job given a job id and index.
IndexMutationFilter is a filter that allows mutations that add indexes.
MakeDistSQLMetrics instantiates the metrics holder for DistSQL monitoring.
MakeEvalContext serializes some of the fields of a parser.EvalContext into a distsqlrun.EvalContext proto.
MakeNoMetadataRowSource builds a NoMetadataRowSource.
No description provided by the author
NewError creates an Error from an error, to be sent on the wire.
NewRepeatableRowSource creates a RepeatableRowSource with the given schema and rows.
NewRowBuffer creates a RowBuffer with the given schema and initial rows.
NewServer instantiates a DistSQLServer.
ProcessInboundStream receives rows from a DistSQL_FlowStreamServer and sends them to a RowReceiver.
No description provided by the author
SetResumeSpansInJob addeds a list of resume spans into a job details field.
WriteResumeSpan writes a checkpoint for the backfill work on origSpan.
# Constants
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
The identity function is set to be the default zero-value function, returning the last value added.
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
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
ConsumerClosed indicates that the consumer will not process any more data rows or metadata.
DrainRequested indicates that the consumer will not process any more data rows, but will accept trailing metadata from the producer.
Flow status indicators.
Flow status indicators.
Flow status indicators.
The input streams are guaranteed to be ordered according to the column ordering field; rows from the streams are interleaved to preserve that ordering.
Rows from the input streams are interleaved arbitrarily.
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
MinAcceptedVersion is the oldest version that the server is compatible with; see above.
NeedMoreRows indicates that the consumer is still expecting more rows.
No description provided by the author
No description provided by the author
Each row is sent to one stream, chosen by hashing certain columns of the row (specified by the hash_columns field).
Each row is sent to one stream, chosen according to preset boundaries for the values of certain columns of the row.
Each row is sent to all output streams.
Single output stream.
Stream that is part of the local flow.
Stream that has the other endpoint on a different node.
Special stream used when in "sync flow" mode.
Version identifies the distsqlrun protocol version.
# Variables
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
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
No description provided by the author
No description provided by the author
NewReadCSVProcessor is externally implemented and registered by ccl/sqlccl/csv.go.
NewSSTWriterProcessor is externally implemented and registered by ccl/sqlccl/csv.go.
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
# Structs
AggregatorSpec is the specification for an "aggregator" (processor core type, not the logical plan computation stage).
No description provided by the author
AlgebraicSetOpSpec is a specification for algebraic set operations currently only the EXCEPT ALL set operation, but extensible to other set operations.
BackfillerSpec is the specification for a "schema change backfiller".
BufferedRecord represents a row or metadata record that has been buffered inside a RowBuffer.
ConsumerHandshake is the first one or two message sent in the consumer->producer direction on a stream.
ConsumerSignal are messages flowing from consumer to producer (so, from RPC server to client) for the FlowStream RPC.
No description provided by the author
No description provided by the author
DistSQLMetrics contains pointers to the metrics for monitoring DistSQL processing.
DistSQLVersionGossipInfo represents the DistSQL server version information that gets gossiped for each node.
No description provided by the author
Error is a generic representation including a string message.
No description provided by the author
No description provided by the author
EvalContext is used to marshall some planner.EvalContext members.
No description provided by the author
Flow represents a flow which consists of processors and streams.
FlowCtx encompasses the contexts needed for various flow components.
FlowID identifies a flow.
FlowSpec describes a "flow" which is a subgraph of a distributed SQL computation consisting of processors and streams.
HashJoinerSpec is the specification for a hash join processor.
InputSyncSpec is the specification for an input synchronizer; it decides how to interleave rows from multiple input streams.
JoinReaderSpec is the specification for a "join reader".
MergeJoinerSpec is the specification for a merge join processor.
MultiplexedRowChannel is a RowChannel wrapper which allows multiple row producers to push rows on the same channel.
NoMetadataRowSource is a wrapper on top of a RowSource that automatically forwards metadata to a RowReceiver.
NoopCoreSpec indicates a "no-op" processor core.
Ordering defines an order - specifically a list of column indices and directions.
No description provided by the author
OutputRouterSpec is the specification for the output router of a processor; it decides how to send results to multiple output streams.
No description provided by the author
No description provided by the author
Span matches bytes in [start, end).
PostProcessSpec describes the processing required to obtain the output (filtering, projection).
No description provided by the author
Each processor has the following components: - one or more input synchronizers; each one merges rows between one or more input streams;
- a processor "core" which encapsulates the inner logic of each processor;
- a post-processing stage which allows "inline" post-processing on results (like projection or filtering);
- one or more output synchronizers; each one directs rows to one or more output streams.
ProcOutputHelper is a helper type that performs filtering and projection on the output of a processor.
ProducerData is a message that can be sent multiple times as part of a stream from a producer to a consumer.
ProducerHeader is a message that is sent once at the beginning of a stream.
No description provided by the author
ProducerMetadata represents a metadata record flowing through a DistSQL flow.
ReadCSVSpec is the specification for a processor that reads a CSV file at uri with descriptor table_desc, specified delimiter (comma), optional comment rune, and optional nullif string (which is nullable to differentiate between not set (nil) and the empty string (which could be used as the null marker).
RemoteProducerMetadata represents records that a producer wants to pass to a consumer, other than data rows.
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
RepeatableRowSource is a RowSource used in benchmarks to avoid having to reinitialize a new RowSource every time during multiple passes of the input.
RowBuffer is an implementation of RowReceiver that buffers (accumulates) results in memory, as well as an implementation of RowSource that returns records from a record buffer.
RowBufferArgs contains testing-oriented parameters for a RowBuffer.
RowChannel is a thin layer over a RowChannelMsg channel, which can be used to transfer rows between goroutines.
RowChannelMsg is the message used in the channels that implement local physical streams (i.e.
RowDisposer is a RowReceiver that discards any rows Push()ed.
ServerConfig encompasses the configuration required to create a DistSQLServer.
ServerImpl implements the server for the distributed SQL APIs.
No description provided by the author
No description provided by the author
SorterSpec is the specification for a "sorting aggregator".
SSTWriterSpec is the specification for a processor that consumes rows, uses tempStorage to sort them, then writes them all to a single SST file at uri/name.
StreamDecoder converts a sequence of ProducerMessage to rows and metadata records.
StreamEncoder converts EncDatum rows into a sequence of ProducerMessage.
StreamEndpointSpec describes one of the endpoints (input or output) of a physical stream.
No description provided by the author
TableReaderSpec is the specification for a "table reader".
TestingKnobs are the testing knobs.
ValuesCoreSpec is the core of a processor that has no inputs and generates "pre-canned" rows.
# Interfaces
CancellableRowReceiver is a special type of a RowReceiver that can be set to cancelled asynchronously (i.e.
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
Processor is a common interface implemented by all processors, used by the higher-level flow orchestration code.
RowReceiver is any component of a flow that receives rows from another component.
RowSource is any component of a flow that produces rows that cam be consumed by another component.
# Type aliases
These mirror the aggregate functions supported by sql/parser.
No description provided by the author
No description provided by the author
ConsumerStatus is the type returned by RowReceiver.Push(), informing a producer of a consumer's state.
DistSQLVersion identifies DistSQL engine versions.
No description provided by the author
No description provided by the author
MutationFilter is the type of a simple predicate on a mutation.
The direction of the desired ordering for a column.
No description provided by the author
No description provided by the author
StreamID identifies a stream; it may be local to a flow or it may cross machine boundaries.