Skip to main content

ExtensionOptions

Trait ExtensionOptions 

Source
pub trait ExtensionOptions:
    Send
    + Sync
    + Debug
    + 'static {
    // Required methods
    fn as_any(&self) -> &(dyn Any + 'static);
    fn as_any_mut(&mut self) -> &mut (dyn Any + 'static);
    fn cloned(&self) -> Box<dyn ExtensionOptions>;
    fn set(&mut self, key: &str, value: &str) -> Result<(), DataFusionError>;
    fn entries(&self) -> Vec<ConfigEntry>;
}
Expand description

An object-safe API for storing arbitrary configuration.

See ConfigExtension for user defined configuration

Required Methods§

Source

fn as_any(&self) -> &(dyn Any + 'static)

Return self as Any

This is needed until trait upcasting is stabilized

Source

fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)

Return self as Any

This is needed until trait upcasting is stabilized

Source

fn cloned(&self) -> Box<dyn ExtensionOptions>

Return a deep clone of this ExtensionOptions

It is important this does not share mutable state to avoid consistency issues with configuration changing whilst queries are executing

Source

fn set(&mut self, key: &str, value: &str) -> Result<(), DataFusionError>

Set the given key, value pair

Source

fn entries(&self) -> Vec<ConfigEntry>

Returns the ConfigEntry stored in this ExtensionOptions

Dyn Compatibility§

This trait is dyn compatible.

In older versions of Rust, dyn compatibility was called "object safety".

Implementations on Foreign Types§

Source§

impl ExtensionOptions for FFI_ExtensionOptions

Source§

fn as_any(&self) -> &(dyn Any + 'static)

Source§

fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)

Source§

fn cloned(&self) -> Box<dyn ExtensionOptions>

Source§

fn set(&mut self, key: &str, value: &str) -> Result<(), DataFusionError>

Source§

fn entries(&self) -> Vec<ConfigEntry>

Implementors§