Enum ExprReference
pub enum ExprReference {
Column(ExprColumn),
Field {
nesting: usize,
index: usize,
},
Model {
nesting: usize,
},
}Expand description
A reference to a model, field, or column.
References use scope-based nesting to support subqueries. A nesting level of
0 refers to the current query scope, while higher levels reference higher
scope queries.
§Examples
ref(field: 0, nesting: 0) // field 0 in current query
ref(field: 2, nesting: 1) // field 2 in parent query
ref(column: 0, table: 1) // column 0 in table 1Variants§
Column(ExprColumn)
A reference to a column in a database-level statement.
ExprReference::Column represents resolved column references after lowering from the application schema to the database schema. It uses a scope-based approach similar to ExprReference::Field, referencing a specific column within a target at a given nesting level.
Field
Reference a specific field in a query’s relation.
For Query/Delete statements, the relation is the Source. For Insert/Update statements, the relation is the target.
Fields
Model
Reference a model at a specific nesting level.
This is roughly referencing the full record instead of a specific field.
Implementations§
§impl ExprReference
impl ExprReference
pub fn field(field: impl Into<FieldId>) -> ExprReference
pub fn is_field(&self) -> bool
pub fn is_model(&self) -> bool
pub fn column(table: usize, column: usize) -> ExprReference
pub fn is_column(&self) -> bool
pub fn as_expr_column(&self) -> Option<&ExprColumn>
pub fn as_expr_column_unwrap(&self) -> &ExprColumn
pub fn as_expr_column_mut_unwrap(&mut self) -> &mut ExprColumn
Trait Implementations§
§impl Clone for ExprReference
impl Clone for ExprReference
§fn clone(&self) -> ExprReference
fn clone(&self) -> ExprReference
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read more§impl Debug for ExprReference
impl Debug for ExprReference
§impl From<&ExprReference> for Expr
impl From<&ExprReference> for Expr
§fn from(value: &ExprReference) -> Expr
fn from(value: &ExprReference) -> Expr
§impl From<ColumnId> for ExprReference
impl From<ColumnId> for ExprReference
§fn from(value: ColumnId) -> ExprReference
fn from(value: ColumnId) -> ExprReference
§impl From<ExprColumn> for ExprReference
impl From<ExprColumn> for ExprReference
§fn from(value: ExprColumn) -> ExprReference
fn from(value: ExprColumn) -> ExprReference
§impl From<ExprReference> for Expr
impl From<ExprReference> for Expr
§fn from(value: ExprReference) -> Expr
fn from(value: ExprReference) -> Expr
§impl Hash for ExprReference
impl Hash for ExprReference
§impl PartialEq for ExprReference
impl PartialEq for ExprReference
impl Copy for ExprReference
impl Eq for ExprReference
impl StructuralPartialEq for ExprReference
Auto Trait Implementations§
impl Freeze for ExprReference
impl RefUnwindSafe for ExprReference
impl Send for ExprReference
impl Sync for ExprReference
impl Unpin for ExprReference
impl UnwindSafe for ExprReference
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
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
key and return true if they are equal.