Struct Documentation

Source
pub struct Documentation {
    pub doc_section: DocSection,
    pub description: String,
    pub syntax_example: String,
    pub sql_example: Option<String>,
    pub arguments: Option<Vec<(String, String)>>,
    pub alternative_syntax: Option<Vec<String>>,
    pub related_udfs: Option<Vec<String>>,
}
Expand description

Documentation for use by ScalarUDFImpl, AggregateUDFImpl and WindowUDFImpl functions.

See the DocumentationBuilder to create a new Documentation struct.

The DataFusion SQL function documentation is automatically generated from these structs. The name of the udf will be pulled from the ScalarUDFImpl::name, AggregateUDFImpl::name or WindowUDFImpl::name function as appropriate.

All strings in the documentation are required to be in markdown format.

Currently, documentation only supports a single language thus all text should be in English.

Fields§

§doc_section: DocSection

The section in the documentation where the UDF will be documented

§description: String

The description for the UDF

§syntax_example: String

A brief example of the syntax. For example “ascii(str)”

§sql_example: Option<String>

A sql example for the UDF, usually in the form of a sql prompt query and output. It is strongly recommended to provide an example for anything but the most basic UDF’s

§arguments: Option<Vec<(String, String)>>

Arguments for the UDF which will be displayed in array order. Left member of a pair is the argument name, right is a description for the argument

§alternative_syntax: Option<Vec<String>>

A list of alternative syntax examples for a function

§related_udfs: Option<Vec<String>>

Related functions if any. Values should match the related udf’s name exactly. Related udf’s must be of the same UDF type (scalar, aggregate or window) for proper linking to occur

Implementations§

Source§

impl Documentation

Source

pub fn builder( doc_section: DocSection, description: impl Into<String>, syntax_example: impl Into<String>, ) -> DocumentationBuilder

Returns a new DocumentationBuilder with no options set.

Source

pub fn to_doc_attribute(&self) -> String

Output the Documentation struct in form of custom Rust documentation attributes It is useful to semi automate during tmigration of UDF documentation generation from code based to attribute based and can be safely removed after

Trait Implementations§

Source§

impl Clone for Documentation

Source§

fn clone(&self) -> Documentation

Returns a copy of the value. Read more
1.0.0 · Source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
Source§

impl Debug for Documentation

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), Error>

Formats the value using the given formatter. Read more

Auto Trait Implementations§

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> CloneToUninit for T
where T: Clone,

Source§

unsafe fn clone_to_uninit(&self, dst: *mut u8)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dst. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T> IntoEither for T

Source§

fn into_either(self, into_left: bool) -> Either<Self, Self>

Converts self into a Left variant of Either<Self, Self> if into_left is true. Converts self into a Right variant of Either<Self, Self> otherwise. Read more
Source§

fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
where F: FnOnce(&Self) -> bool,

Converts self into a Left variant of Either<Self, Self> if into_left(&self) returns true. Converts self into a Right variant of Either<Self, Self> otherwise. Read more
Source§

impl<T> ToOwned for T
where T: Clone,

Source§

type Owned = T

The resulting type after obtaining ownership.
Source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
Source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
Source§

impl<T> Allocation for T
where T: RefUnwindSafe + Send + Sync,