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 registry;
14pub mod simple;
15
16#[doc(hidden)]
17pub mod examples;
18
19pub use any::{Any, AnyRef};
20pub(crate) use args::AddendumKind;
21pub use args::{
22    EnumValue, Expr, ExtensionArgs, ExtensionColumn, ExtensionValue, ExtensionValueKind, TupleValue,
23};
24pub use registry::{
25    AnyConvertible, Explainable, Extension, ExtensionError, ExtensionProtoConvert,
26    ExtensionRegistry, ExtensionType, RegistrationError,
27};
28pub use simple::{InsertError, SimpleExtension, SimpleExtensions};