Expand description
Generated types for the protobuf substrait package.
The Rust code in this crate is generated at build time with
prost from the vendored Substrait .proto
definitions. Building this crate requires protoc to be available, or the
protoc feature to be enabled (which builds and vendors it from source).
Modules§
- aggregate_
function - Nested message and enum types in
AggregateFunction. - aggregate_
rel - Nested message and enum types in
AggregateRel. - comparison_
join_ key - Nested message and enum types in
ComparisonJoinKey. - consistent_
partition_ window_ rel - Nested message and enum types in
ConsistentPartitionWindowRel. - ddl_rel
- Nested message and enum types in
DdlRel. - exchange_
rel - Nested message and enum types in
ExchangeRel. - execution_
behavior - Nested message and enum types in
ExecutionBehavior. - expand_
rel - Nested message and enum types in
ExpandRel. - expression
- Nested message and enum types in
Expression. - expression_
reference - Nested message and enum types in
ExpressionReference. - extensions
- Generated types for the protobuf
substrait.extensionspackage. - function_
argument - Nested message and enum types in
FunctionArgument. - hash_
join_ rel - Nested message and enum types in
HashJoinRel. - join_
rel - Nested message and enum types in
JoinRel. - merge_
join_ rel - Nested message and enum types in
MergeJoinRel. - nested_
loop_ join_ rel - Nested message and enum types in
NestedLoopJoinRel. - plan_
rel - Nested message and enum types in
PlanRel. - read_
rel - Nested message and enum types in
ReadRel. - rel
- Nested message and enum types in
Rel. - rel_
common - Nested message and enum types in
RelCommon. - set_rel
- Nested message and enum types in
SetRel. - sort_
field - Nested message and enum types in
SortField. - type
- Nested message and enum types in
Type. - update_
rel - Nested message and enum types in
UpdateRel. - write_
rel - Nested message and enum types in
WriteRel.
Structs§
- Aggregate
Function - An aggregate function.
- Aggregate
Rel - The relational operator representing a GROUP BY Aggregate
- Comparison
Join Key - Hash joins and merge joins are a specialization of the general join where the join expression is an series of comparisons between fields that are ANDed together. The behavior of this comparison is flexible
- Consistent
Partition Window Rel - ConsistentPartitionWindowRel provides the ability to perform calculations across sets of rows that are related to the current query row. It can be used to execute window functions where all the windows share the same partitioning and ordering.
- Cross
Rel - Cartesian product relational operator of two tables (left and right)
- DdlRel
- Dynamic
Parameter - Expression that represents a dynamic parameter. Dynamic parameters are identified by a surrogate key within a plan.
- Dynamic
Parameter Binding - Represents a binding for a dynamic parameter.
- Exchange
Rel - A redistribution operation
- Execution
Behavior - ExecutionBehavior specifies the execution behavior for plan evaluation.
- Expand
Rel - Duplicates records by emitting one or more rows per input row. The number of rows emitted per input row is the same for all input rows.
- Expression
- Expression
Reference - Extended
Expression - Describe a set of operations to complete. For compactness sake, identifiers are normalized at the plan level.
- Extension
Leaf Rel - A custom relational operator with zero inputs. Producers and consumers must agree on how to derive the output schema of the relation.
- Extension
Multi Rel - A custom relational operator with multiple inputs. Producers and consumers must agree on how to derive the output schema of the relation.
- Extension
Object - A stub type that can be used to extend/introduce new table types outside the specification.
- Extension
Single Rel - A custom relational operator with a single input. Producers and consumers must agree on how to derive the output schema of the relation.
- Fetch
Rel - The relational operator representing LIMIT/OFFSET or TOP type semantics.
- Filter
Rel - The relational operator capturing simple FILTERs (as in the WHERE clause of SQL)
- Function
Argument - The argument of a function
- Function
Option - A named, optional behavioral preference for a function call. Options allow producers to express preferences about how consumers handle corner cases or engine-specific behavior (e.g. overflow or rounding mode). Unlike function arguments, options are not required. If omitted, the consumer is free to choose any supported behavior.
- Hash
Join Rel - The hash join operator will build a hash table out of one input (default
right) based on a set of join keys. It will then probe that hash table for the other input (defaultleft), finding matches. - JoinRel
- The binary JOIN relational operator left-join-right, including various join types, a join condition, and an optional filter on the joined output.
- Lateral
Join Rel - The binary lateral JOIN relational operator left-join-right. This is semantically identical to JoinRel, except the right input is evaluated once per row of the left input and may reference fields from the current left row via OuterReference rel_reference.
- Merge
Join Rel - The merge join does a join by taking advantage of two sets that are sorted on the join keys. This allows the join operation to be done in a streaming fashion.
- Named
Object Write - A base object for writing (e.g., a table or a view).
- Named
Struct - A message for modeling name/type pairs.
- Named
Table - A base table. The list of string is used to represent namespacing (e.g., mydb.mytable). This assumes shared catalog between systems exchanging a message.
- Nested
Loop Join Rel - The nested loop join (NLJ) operator will hold the entire right input and iterate over it using the left input, evaluating the join expression on the Cartesian product of all rows.
- Plan
- Describe a set of operations to complete. For compactness sake, identifiers are normalized at the plan level.
- PlanRel
- Either a relation or root relation
- Plan
Version - This message type can be used to deserialize only the version of a Substrait Plan message. This prevents deserialization errors when there were breaking changes between the Substrait version of the tool that produced the plan and the Substrait version used to deserialize it, such that a consumer can emit a more helpful error message in this case.
- Project
Rel - This operator allows to represent calculated expressions of fields (e.g., a+b). Direct/Emit are used to represent classical relational projections
- ReadRel
- The scan operator of base data (physical or virtual), including filtering and projection.
- Reference
Rel - This rel is used to create references, in case we refer to a RelRoot field names will be ignored
- Rel
- A relation (used internally in a plan)
- RelCommon
- Common fields for all relational operators
- RelRoot
- A relation with output field names.
- SetRel
- The relational set operators (intersection/union/etc..)
- Sort
Field - The description of a field to sort on (including the direction of sorting and null semantics)
- SortRel
- The ORDERY BY (or sorting) relational operator. Beside describing a base relation, it includes a list of fields to sort on
- TopNRel
- The top-N relational operator. A combination of a sort and fetch that only maintains the number of records required to ensure a limited output.
- Type
- Note: type_variation_reference fields within Type messages reference a type_variation_anchor defined in the plan’s extension declarations.
- Type
Alias - Update
Rel - The operator that modifies the columns of a table
- Version
- Write
Rel - The operator that modifies the content of a database (operates on 1 table at a time, but record-selection/source can be based on joining of multiple tables).
Enums§
- Aggregation
Phase - Describes which part of an aggregation or window function to perform within the context of distributed algorithms.
- Fetch
Mode - Determines how a fetch operation handles rows tied with the last returned row.