Struct datafusion_iceberg_sql::context::IcebergContext
source · pub struct IcebergContext { /* private fields */ }Implementations§
source§impl IcebergContext
impl IcebergContext
pub async fn new( tables: &[(String, String, String)], catalogs: Arc<dyn CatalogList>, branch: Option<&str>, ) -> Result<IcebergContext, DataFusionError>
Trait Implementations§
source§impl ContextProvider for IcebergContext
impl ContextProvider for IcebergContext
source§fn get_table_source(
&self,
name: TableReference,
) -> Result<Arc<dyn TableSource>, DataFusionError>
fn get_table_source( &self, name: TableReference, ) -> Result<Arc<dyn TableSource>, DataFusionError>
Getter for a datasource
source§fn get_function_meta(&self, _name: &str) -> Option<Arc<ScalarUDF>>
fn get_function_meta(&self, _name: &str) -> Option<Arc<ScalarUDF>>
Getter for a UDF description
source§fn get_variable_type(&self, _variable_names: &[String]) -> Option<DataType>
fn get_variable_type(&self, _variable_names: &[String]) -> Option<DataType>
Getter for system/user-defined variable type
source§fn get_aggregate_meta(&self, _name: &str) -> Option<Arc<AggregateUDF>>
fn get_aggregate_meta(&self, _name: &str) -> Option<Arc<AggregateUDF>>
Getter for a UDAF description
source§fn options(&self) -> &ConfigOptions
fn options(&self) -> &ConfigOptions
Get configuration options
source§fn udaf_names(&self) -> Vec<String>
fn udaf_names(&self) -> Vec<String>
Get all user defined aggregate function names
source§fn udwf_names(&self) -> Vec<String>
fn udwf_names(&self) -> Vec<String>
Get all user defined window function names
fn get_file_type( &self, _ext: &str, ) -> Result<Arc<dyn FileType>, DataFusionError>
source§fn get_table_function_source(
&self,
_name: &str,
_args: Vec<Expr>,
) -> Result<Arc<dyn TableSource>, DataFusionError>
fn get_table_function_source( &self, _name: &str, _args: Vec<Expr>, ) -> Result<Arc<dyn TableSource>, DataFusionError>
Getter for a table function
source§fn create_cte_work_table(
&self,
_name: &str,
_schema: Arc<Schema>,
) -> Result<Arc<dyn TableSource>, DataFusionError>
fn create_cte_work_table( &self, _name: &str, _schema: Arc<Schema>, ) -> Result<Arc<dyn TableSource>, DataFusionError>
This provides a worktable (an intermediate table that is used to store the results of a CTE during execution)
We don’t directly implement this in the logical plan’s [’SqlToRel
] because the sql code needs access to a table that contains execution-related types that can't be a direct dependency of the sql crate (namely, the CteWorktable). The [ContextProvider`] provides a way to “hide” this dependency.Auto Trait Implementations§
impl Freeze for IcebergContext
impl !RefUnwindSafe for IcebergContext
impl Send for IcebergContext
impl Sync for IcebergContext
impl Unpin for IcebergContext
impl !UnwindSafe for IcebergContext
Blanket Implementations§
source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
source§impl<T> Instrument for T
impl<T> Instrument for T
source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
source§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
source§impl<T> IntoEither for T
impl<T> IntoEither for T
source§fn into_either(self, into_left: bool) -> Either<Self, Self>
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 moresource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
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