Skip to main content

Module extensions

Module extensions 

Source
Expand description

Support for Substrait simple and advanced extensions.

Simple extensions describe YAML/URN-backed extension entities such as functions, types, and type variations. Advanced extensions carry google.protobuf.Any payloads for custom relation types, relation enhancements, and optimization hints.

The registry APIs connect those protobuf payloads to text-format arguments by way of Explainable implementations.

Re-exports§

pub use any::Any;
pub use any::AnyRef;
pub use args::EnumValue;
pub use args::Expr;
pub use args::ExtensionArgs;
pub use args::ExtensionColumn;
pub use args::ExtensionValue;
pub use args::ExtensionValueKind;
pub use args::TupleValue;
pub use registry::AnyConvertible;
pub use registry::Explainable;
pub use registry::Extension;
pub use registry::ExtensionError;
pub use registry::ExtensionProtoConvert;
pub use registry::ExtensionRegistry;
pub use registry::ExtensionType;
pub use registry::RegistrationError;
pub use simple::InsertError;
pub use simple::SimpleExtension;
pub use simple::SimpleExtensions;

Modules§

any
args
Text-format data structures used by registered advanced extension handlers.
examples
PartitionHint demonstrates how to implement a custom enhancement: positional enum arguments combined with an optional named integer argument.
registry
Registry for custom Substrait advanced extension payloads.
simple