Trait ColIdx

pub trait ColIdx: Debug + Copy {
    type SqlxMySqlIndex: ColumnIndex<MySqlRow>;
    type SqlxPostgresIndex: ColumnIndex<PgRow>;
    type SqlxSqliteIndex: ColumnIndex<SqliteRow>;

    // Required methods
    fn as_sqlx_mysql_index(&self) -> Self::SqlxMySqlIndex;
    fn as_sqlx_postgres_index(&self) -> Self::SqlxPostgresIndex;
    fn as_sqlx_sqlite_index(&self) -> Self::SqlxSqliteIndex;
    fn as_str(&self) -> Option<&str>;
    fn as_usize(&self) -> Option<&usize>;
}
Expand description

Column Index, used by TryGetable. Implemented for &str and usize

Required Associated Types§

type SqlxMySqlIndex: ColumnIndex<MySqlRow>

Type surrogate

type SqlxPostgresIndex: ColumnIndex<PgRow>

Type surrogate

type SqlxSqliteIndex: ColumnIndex<SqliteRow>

Type surrogate

Required Methods§

fn as_sqlx_mysql_index(&self) -> Self::SqlxMySqlIndex

Basically a no-op; only to satisfy trait bounds

fn as_sqlx_postgres_index(&self) -> Self::SqlxPostgresIndex

Basically a no-op; only to satisfy trait bounds

fn as_sqlx_sqlite_index(&self) -> Self::SqlxSqliteIndex

Basically a no-op; only to satisfy trait bounds

fn as_str(&self) -> Option<&str>

Self must be &str, return None otherwise

fn as_usize(&self) -> Option<&usize>

Self must be usize, return None otherwise

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.

Implementations on Foreign Types§

§

impl ColIdx for &str

§

impl ColIdx for usize

Implementors§