Skip to main content

Crate substrait_prost

Crate substrait_prost 

Source
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.extensions package.
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§

AggregateFunction
An aggregate function.
AggregateRel
The relational operator representing a GROUP BY Aggregate
ComparisonJoinKey
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
ConsistentPartitionWindowRel
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.
CrossRel
Cartesian product relational operator of two tables (left and right)
DdlRel
DynamicParameter
Expression that represents a dynamic parameter. Dynamic parameters are identified by a surrogate key within a plan.
DynamicParameterBinding
Represents a binding for a dynamic parameter.
ExchangeRel
A redistribution operation
ExecutionBehavior
ExecutionBehavior specifies the execution behavior for plan evaluation.
ExpandRel
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
ExpressionReference
ExtendedExpression
Describe a set of operations to complete. For compactness sake, identifiers are normalized at the plan level.
ExtensionLeafRel
A custom relational operator with zero inputs. Producers and consumers must agree on how to derive the output schema of the relation.
ExtensionMultiRel
A custom relational operator with multiple inputs. Producers and consumers must agree on how to derive the output schema of the relation.
ExtensionObject
A stub type that can be used to extend/introduce new table types outside the specification.
ExtensionSingleRel
A custom relational operator with a single input. Producers and consumers must agree on how to derive the output schema of the relation.
FetchRel
The relational operator representing LIMIT/OFFSET or TOP type semantics.
FilterRel
The relational operator capturing simple FILTERs (as in the WHERE clause of SQL)
FunctionArgument
The argument of a function
FunctionOption
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.
HashJoinRel
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 (default left), 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.
LateralJoinRel
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.
MergeJoinRel
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.
NamedObjectWrite
A base object for writing (e.g., a table or a view).
NamedStruct
A message for modeling name/type pairs.
NamedTable
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.
NestedLoopJoinRel
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
PlanVersion
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.
ProjectRel
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.
ReferenceRel
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..)
SortField
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.
TypeAlias
UpdateRel
The operator that modifies the columns of a table
Version
WriteRel
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§

AggregationPhase
Describes which part of an aggregation or window function to perform within the context of distributed algorithms.
FetchMode
Determines how a fetch operation handles rows tied with the last returned row.