Skip to main content

substrait_explain/extensions/
mod.rs

1//! Support for Substrait simple and advanced extensions.
2//!
3//! Simple extensions describe YAML/URN-backed extension entities such as
4//! functions, types, and type variations. Advanced extensions carry
5//! `google.protobuf.Any` payloads for custom relation types, relation
6//! enhancements, and optimization hints.
7//!
8//! The registry APIs connect those protobuf payloads to text-format arguments
9//! by way of [`Explainable`] implementations.
10
11pub mod any;
12pub mod args;
13pub mod examples;
14pub mod registry;
15pub mod simple;
16
17pub use any::{Any, AnyRef};
18pub(crate) use args::AddendumKind;
19pub use args::{
20    EnumValue, Expr, ExtensionArgs, ExtensionColumn, ExtensionValue, ExtensionValueKind, TupleValue,
21};
22pub use registry::{
23    AnyConvertible, Explainable, Extension, ExtensionError, ExtensionProtoConvert,
24    ExtensionRegistry, ExtensionType, RegistrationError,
25};
26pub use simple::{InsertError, SimpleExtension, SimpleExtensions};