pub trait SQLColumn<'a, Value: SQLParam + 'a>:
SQLColumnInfo
+ Default
+ SQLSchema<'a, &'a str, Value>
+ Expr<'a, Value> {
type Table: SQLTable<'a, Self::TableType, Value>;
type TableType: SQLSchemaType;
type ForeignKeys;
type Type: TryInto<Value>;
const PRIMARY_KEY: bool = false;
const NOT_NULL: bool = false;
const UNIQUE: bool = false;
const DEFAULT: Option<Self::Type> = None;
// Provided methods
fn default_fn(&'a self) -> Option<impl Fn() -> Self::Type> { ... }
fn placeholder(
&self,
name: &'static str,
) -> TypedPlaceholder<<Self as Expr<'a, Value>>::SQLType, <Self as Expr<'a, Value>>::Nullable>
where Self: Sized { ... }
}Expand description
Column trait tying expression lifetimes to parameter values via 'a.
Provided Associated Constants§
const PRIMARY_KEY: bool = false
const NOT_NULL: bool = false
const UNIQUE: bool = false
const DEFAULT: Option<Self::Type> = None
Required Associated Types§
type Table: SQLTable<'a, Self::TableType, Value>
type TableType: SQLSchemaType
type ForeignKeys
type Type: TryInto<Value>
Provided Methods§
fn default_fn(&'a self) -> Option<impl Fn() -> Self::Type>
Sourcefn placeholder(
&self,
name: &'static str,
) -> TypedPlaceholder<<Self as Expr<'a, Value>>::SQLType, <Self as Expr<'a, Value>>::Nullable>where
Self: Sized,
fn placeholder(
&self,
name: &'static str,
) -> TypedPlaceholder<<Self as Expr<'a, Value>>::SQLType, <Self as Expr<'a, Value>>::Nullable>where
Self: Sized,
Creates a typed named placeholder for this column’s SQL type.
Dyn Compatibility§
This trait is not dyn compatible.
In older versions of Rust, dyn compatibility was called "object safety".