pub trait Columns {
type Columns: Unpin + Index<usize, Output = usize>;
// Required method
fn columns(row: &Row) -> Self::Columns;
}Expand description
A type whose fields map to Postgres columns.
This trait is almost always derived with the Columns proc macro:
#[derive(Columns)]
struct User<'a> {
id: i32,
name: &'a str,
}In this case the associated Columns type is [usize; N] where N is the number of
fields.
Assume that a Row was created from the following query:
select 'john' user, 123 balance, 1 id;Then the implementation of Columns for the type User above should return [2, 0]
because the id field maps to the third column and the name field maps to the
first column.
Required Associated Types§
Required Methods§
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.