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", so this trait is not object safe.