pub struct PoSqlContextProvider<A: SchemaAccessor> { /* private fields */ }
Expand description
A ContextProvider
implementation for Proof of SQL
This provider is used to provide tables to the Proof of SQL planner
Implementations§
Source§impl<A: SchemaAccessor> PoSqlContextProvider<A>
impl<A: SchemaAccessor> PoSqlContextProvider<A>
Trait Implementations§
Source§impl<A: SchemaAccessor> ContextProvider for PoSqlContextProvider<A>
impl<A: SchemaAccessor> ContextProvider for PoSqlContextProvider<A>
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_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 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 options(&self) -> &ConfigOptions
fn options(&self) -> &ConfigOptions
Get configuration options
fn udfs_names(&self) -> Vec<String>
fn udafs_names(&self) -> Vec<String>
fn udwfs_names(&self) -> Vec<String>
Source§fn get_table_provider(
&self,
name: TableReference,
) -> Result<Arc<dyn TableSource>, DataFusionError>
fn get_table_provider( &self, name: TableReference, ) -> Result<Arc<dyn TableSource>, DataFusionError>
👎Deprecated since 32.0.0: please use
get_table_source
insteadSource§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<A> Freeze for PoSqlContextProvider<A>where
A: Freeze,
impl<A> !RefUnwindSafe for PoSqlContextProvider<A>
impl<A> Send for PoSqlContextProvider<A>where
A: Send,
impl<A> Sync for PoSqlContextProvider<A>where
A: Sync,
impl<A> Unpin for PoSqlContextProvider<A>where
A: Unpin,
impl<A> !UnwindSafe for PoSqlContextProvider<A>
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