pub enum TableRef {
Table(DynIden),
SchemaTable(DynIden, DynIden),
DatabaseSchemaTable(DynIden, DynIden, DynIden),
TableAlias(DynIden, DynIden),
SchemaTableAlias(DynIden, DynIden, DynIden),
SubQuery(Box<SelectStatement>, DynIden),
}Expand description
Reference to a table in a SQL query.
This enum represents different ways to reference a table, from simple table names to subqueries.
Variants§
Table(DynIden)
Simple table reference (e.g., users)
SchemaTable(DynIden, DynIden)
Schema-qualified table reference (e.g., public.users)
DatabaseSchemaTable(DynIden, DynIden, DynIden)
Database, schema, and table reference (e.g., mydb.public.users)
TableAlias(DynIden, DynIden)
Table with alias (e.g., users AS u)
SchemaTableAlias(DynIden, DynIden, DynIden)
Schema-qualified table with alias (e.g., public.users AS u)
SubQuery(Box<SelectStatement>, DynIden)
Subquery with alias (e.g., (SELECT ...) AS alias)
Implementations§
Source§impl TableRef
impl TableRef
Sourcepub fn table<I: IntoIden>(table: I) -> Self
pub fn table<I: IntoIden>(table: I) -> Self
Create a simple table reference.
§Example
use reinhardt_query::TableRef;
let table = TableRef::table("users");Sourcepub fn schema_table<S: IntoIden, T: IntoIden>(schema: S, table: T) -> Self
pub fn schema_table<S: IntoIden, T: IntoIden>(schema: S, table: T) -> Self
Create a schema-qualified table reference.
§Example
use reinhardt_query::TableRef;
let table = TableRef::schema_table("public", "users");Sourcepub fn database_schema_table<D: IntoIden, S: IntoIden, T: IntoIden>(
database: D,
schema: S,
table: T,
) -> Self
pub fn database_schema_table<D: IntoIden, S: IntoIden, T: IntoIden>( database: D, schema: S, table: T, ) -> Self
Create a database, schema, and table reference.
§Example
use reinhardt_query::TableRef;
let table = TableRef::database_schema_table("mydb", "public", "users");Sourcepub fn table_alias<T: IntoIden, A: IntoIden>(table: T, alias: A) -> Self
pub fn table_alias<T: IntoIden, A: IntoIden>(table: T, alias: A) -> Self
Create a table reference with an alias.
§Example
use reinhardt_query::TableRef;
let table = TableRef::table_alias("users", "u");Trait Implementations§
Source§impl IntoTableRef for TableRef
impl IntoTableRef for TableRef
Source§fn into_table_ref(self) -> TableRef
fn into_table_ref(self) -> TableRef
Convert this type into a
TableRef.Auto Trait Implementations§
impl Freeze for TableRef
impl !RefUnwindSafe for TableRef
impl !Send for TableRef
impl !Sync for TableRef
impl Unpin for TableRef
impl UnsafeUnpin for TableRef
impl !UnwindSafe for TableRef
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