Trait Textify

Source
pub trait Textify {
    // Required methods
    fn textify<S: Scope, W: Write>(&self, ctx: &S, w: &mut W) -> Result;
    fn name() -> &'static str;
}
Expand description

A trait for types that can be output in text format.

This trait is used to convert a Substrait type into a string representation that can be written to a text writer.

Required Methods§

Source

fn textify<S: Scope, W: Write>(&self, ctx: &S, w: &mut W) -> Result

Source

fn name() -> &'static str

Dyn Compatibility§

This trait is not dyn compatible.

In older versions of Rust, dyn compatibility was called "object safety", so this trait is not object safe.

Implementations on Foreign Types§

Source§

impl Textify for RexType

Source§

fn name() -> &'static str

Source§

fn textify<S: Scope, W: Write>(&self, ctx: &S, w: &mut W) -> Result

Source§

impl Textify for LiteralType

Source§

fn name() -> &'static str

Source§

fn textify<S: Scope, W: Write>(&self, ctx: &S, w: &mut W) -> Result

Source§

impl Textify for ArgType

Source§

fn name() -> &'static str

Source§

fn textify<S: Scope, W: Write>(&self, ctx: &S, w: &mut W) -> Result

Source§

impl Textify for RelType

Source§

fn name() -> &'static str

Source§

fn textify<S: Scope, W: Write>(&self, ctx: &S, w: &mut W) -> Result

Source§

impl Textify for Kind

Source§

fn name() -> &'static str

Source§

fn textify<S: Scope, W: Write>(&self, ctx: &S, w: &mut W) -> Result

Source§

impl Textify for Nullability

Source§

fn name() -> &'static str

Source§

fn textify<S: Scope, W: Write>(&self, ctx: &S, w: &mut W) -> Result

Source§

impl Textify for Parameter

Source§

fn name() -> &'static str

Source§

fn textify<S: Scope, W: Write>(&self, ctx: &S, w: &mut W) -> Result

Source§

impl Textify for FieldReference

Source§

fn name() -> &'static str

Source§

fn textify<S: Scope, W: Write>(&self, ctx: &S, w: &mut W) -> Result

Source§

impl Textify for Literal

Source§

fn name() -> &'static str

Source§

fn textify<S: Scope, W: Write>(&self, ctx: &S, w: &mut W) -> Result

Source§

impl Textify for ScalarFunction

Source§

fn name() -> &'static str

Source§

fn textify<S: Scope, W: Write>(&self, ctx: &S, w: &mut W) -> Result

Source§

impl Textify for AggregateFunction

Source§

fn name() -> &'static str

Source§

fn textify<S: Scope, W: Write>(&self, ctx: &S, w: &mut W) -> Result

Source§

impl Textify for Expression

Source§

fn name() -> &'static str

Source§

fn textify<S: Scope, W: Write>(&self, ctx: &S, w: &mut W) -> Result

Source§

impl Textify for FunctionArgument

Source§

fn name() -> &'static str

Source§

fn textify<S: Scope, W: Write>(&self, ctx: &S, w: &mut W) -> Result

Source§

impl Textify for FunctionOption

Source§

fn name() -> &'static str

Source§

fn textify<S: Scope, W: Write>(&self, _ctx: &S, w: &mut W) -> Result

Source§

impl Textify for PlanRel

Source§

fn textify<S: Scope, W: Write>(&self, ctx: &S, w: &mut W) -> Result

Write the relation as a string. Inputs are ignored - those are handled separately.

Source§

fn name() -> &'static str

Source§

impl Textify for RelRoot

Source§

fn name() -> &'static str

Source§

fn textify<S: Scope, W: Write>(&self, ctx: &S, w: &mut W) -> Result

Source§

impl Textify for Type

Source§

fn name() -> &'static str

Source§

fn textify<S: Scope, W: Write>(&self, ctx: &S, w: &mut W) -> Result

Source§

impl Textify for Parameter

Source§

fn name() -> &'static str

Source§

fn textify<S: Scope, W: Write>(&self, ctx: &S, w: &mut W) -> Result

Source§

impl Textify for UserDefined

Source§

fn name() -> &'static str

Source§

fn textify<S: Scope, W: Write>(&self, ctx: &S, w: &mut W) -> Result

Implementors§

Source§

impl Textify for Reference

Source§

impl Textify for Relation<'_>

Source§

impl Textify for Anchor

Source§

impl Textify for TypeVariation

Source§

impl<'a> Textify for Value<'a>

Source§

impl<'a> Textify for Arguments<'a>

Source§

impl<'a> Textify for Emitted<'a>

Source§

impl<'a> Textify for NamedArg<'a>

Source§

impl<'a> Textify for TableName<'a>

Source§

impl<'a> Textify for Name<'a>

Source§

impl<'a> Textify for NamedAnchor<'a>

Source§

impl<'a> Textify for Parameters<'a>

Source§

impl<T: Deref<Target = Type>> Textify for OutputType<T>