Module substrait::proto

source ·
Expand description

Generated types for the protobuf substrait package.

Modules§

Structs§

  • An aggregate function.
  • The relational operator representing a GROUP BY Aggregate
  • Defines a set of Capabilities that a system (producer or consumer) supports.
  • 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 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.
  • Cartesian product relational operator of two tables (left and right)
  • A redistribution operation
  • 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.
  • Describe a set of operations to complete. For compactness sake, identifiers are normalized at the plan level.
  • Stub to support extension with a zero inputs
  • Stub to support extension with multiple inputs
  • A stub type that can be used to extend/introduce new table types outside the specification.
  • Stub to support extension with a single input
  • The relational operator representing LIMIT/OFFSET or TOP type semantics.
  • The relational operator capturing simple FILTERs (as in the WHERE clause of SQL)
  • The argument of a function
  • An optional function argument. Typically used for specifying behavior in invalid or corner cases.
  • List of function signatures available.
  • The hash equijoin join operator will build a hash table out of the right input based on a set of join keys. It will then probe that hash table for incoming inputs, finding matches.
  • The binary JOIN relational operator left-join-right, including various join types, a join condition and post_join_filter expression
  • The merge equijoin 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.
  • A base object for writing (e.g., a table or a view).
  • A message for modeling name/type pairs.
  • 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.
  • Describe a set of operations to complete. For compactness sake, identifiers are normalized at the plan level.
  • Either a relation or root relation
  • 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.
  • This operator allows to represent calculated expressions of fields (e.g., a+b). Direct/Emit are used to represent classical relational projections
  • The scan operator of base data (physical or virtual), including filtering and projection.
  • This rel is used to create references, in case we refer to a RelRoot field names will be ignored
  • A relation (used internally in a plan)
  • Common fields for all relational operators
  • A relation with output field names.
  • The relational set operators (intersection/union/etc..)
  • The description of a field to sort on (including the direction of sorting and null semantics)
  • The ORDERY BY (or sorting) relational operator. Beside describing a base relation, it includes a list of fields to sort on
  • 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§

  • Describes which part of an aggregation or window function to perform within the context of distributed algorithms.