pub trait DataSet {
// Required methods
fn qualified_columns() -> bool
where Self: Sized;
fn write_query(
&self,
writer: &dyn SqlWriter,
context: &mut Context,
out: &mut String,
);
// Provided methods
fn select<'s, Exec, Item>(
&'s self,
executor: &'s mut Exec,
columns: impl IntoIterator<Item = Item> + Clone,
condition: impl Expression,
limit: Option<u32>,
) -> impl Stream<Item = Result<RowLabeled>> + 's
where Self: Sized,
Exec: Executor,
Item: Expression { ... }
fn prepare<Exec, Item>(
&self,
executor: &mut Exec,
columns: impl IntoIterator<Item = Item> + Clone,
condition: impl Expression,
limit: Option<u32>,
) -> impl Future<Output = Result<Query<Exec::Driver>>>
where Self: Sized,
Item: Expression,
Exec: Executor { ... }
}Expand description
Queryable data source (table or join tree).
Implementors know how to render themselves inside a FROM clause and whether column references should be qualified with schema and table.
Required Methods§
Sourcefn qualified_columns() -> boolwhere
Self: Sized,
fn qualified_columns() -> boolwhere
Self: Sized,
Should columns be qualified (schema.table.col)?
Sourcefn write_query(
&self,
writer: &dyn SqlWriter,
context: &mut Context,
out: &mut String,
)
fn write_query( &self, writer: &dyn SqlWriter, context: &mut Context, out: &mut String, )
Render into out.
Provided Methods§
Sourcefn select<'s, Exec, Item>(
&'s self,
executor: &'s mut Exec,
columns: impl IntoIterator<Item = Item> + Clone,
condition: impl Expression,
limit: Option<u32>,
) -> impl Stream<Item = Result<RowLabeled>> + 's
fn select<'s, Exec, Item>( &'s self, executor: &'s mut Exec, columns: impl IntoIterator<Item = Item> + Clone, condition: impl Expression, limit: Option<u32>, ) -> impl Stream<Item = Result<RowLabeled>> + 's
Fetch a SELECT query and stream labeled rows.
Trait Implementations§
Source§impl DataSet for &dyn DataSet
impl DataSet for &dyn DataSet
Source§fn qualified_columns() -> boolwhere
Self: Sized,
fn qualified_columns() -> boolwhere
Self: Sized,
Should columns be qualified (
schema.table.col)?Source§fn write_query(
&self,
writer: &dyn SqlWriter,
context: &mut Context,
out: &mut String,
)
fn write_query( &self, writer: &dyn SqlWriter, context: &mut Context, out: &mut String, )
Render into
out.Source§fn select<'s, Exec, Item>(
&'s self,
executor: &'s mut Exec,
columns: impl IntoIterator<Item = Item> + Clone,
condition: impl Expression,
limit: Option<u32>,
) -> impl Stream<Item = Result<RowLabeled>> + 's
fn select<'s, Exec, Item>( &'s self, executor: &'s mut Exec, columns: impl IntoIterator<Item = Item> + Clone, condition: impl Expression, limit: Option<u32>, ) -> impl Stream<Item = Result<RowLabeled>> + 's
Fetch a SELECT query and stream labeled rows.