#[cfg(any(feature = "postgres", feature = "libsql", feature = "rusqlite"))]
use crate::error::DbCoreError;
#[cfg(all(
feature = "postgres",
not(feature = "libsql"),
not(feature = "rusqlite"),
))]
pub trait FromRow: Sized {
const REQUIRED_COLUMNS: &'static [&'static str];
fn from_row(row: &tokio_postgres::Row) -> Result<Self, DbCoreError>;
}
#[cfg(all(
feature = "libsql",
not(feature = "postgres"),
not(feature = "rusqlite"),
))]
pub trait FromRow: Sized {
const REQUIRED_COLUMNS: &'static [&'static str];
fn from_row(row: &libsql::Row) -> Result<Self, DbCoreError>;
}
#[cfg(all(
feature = "rusqlite",
not(feature = "postgres"),
not(feature = "libsql"),
))]
pub trait FromRow: Sized {
const REQUIRED_COLUMNS: &'static [&'static str];
fn from_row(row: &rusqlite::Row<'_>) -> Result<Self, DbCoreError>;
}
#[cfg(all(feature = "postgres", feature = "libsql", not(feature = "rusqlite"),))]
pub trait FromRow: Sized {
const REQUIRED_COLUMNS: &'static [&'static str];
fn from_pg_row(row: &tokio_postgres::Row) -> Result<Self, DbCoreError>;
fn from_libsql_row(row: &libsql::Row) -> Result<Self, DbCoreError>;
}
#[cfg(all(feature = "postgres", feature = "rusqlite", not(feature = "libsql"),))]
pub trait FromRow: Sized {
const REQUIRED_COLUMNS: &'static [&'static str];
fn from_pg_row(row: &tokio_postgres::Row) -> Result<Self, DbCoreError>;
fn from_rusqlite_row(row: &rusqlite::Row<'_>) -> Result<Self, DbCoreError>;
}
#[cfg(all(feature = "libsql", feature = "rusqlite", not(feature = "postgres"),))]
pub trait FromRow: Sized {
const REQUIRED_COLUMNS: &'static [&'static str];
fn from_libsql_row(row: &libsql::Row) -> Result<Self, DbCoreError>;
fn from_rusqlite_row(row: &rusqlite::Row<'_>) -> Result<Self, DbCoreError>;
}
#[cfg(all(feature = "postgres", feature = "libsql", feature = "rusqlite",))]
pub trait FromRow: Sized {
const REQUIRED_COLUMNS: &'static [&'static str];
fn from_pg_row(row: &tokio_postgres::Row) -> Result<Self, DbCoreError>;
fn from_libsql_row(row: &libsql::Row) -> Result<Self, DbCoreError>;
fn from_rusqlite_row(row: &rusqlite::Row<'_>) -> Result<Self, DbCoreError>;
}
#[cfg(not(any(
all(
feature = "postgres",
not(feature = "libsql"),
not(feature = "rusqlite")
),
all(
feature = "libsql",
not(feature = "postgres"),
not(feature = "rusqlite")
),
all(
feature = "rusqlite",
not(feature = "postgres"),
not(feature = "libsql")
),
all(feature = "postgres", feature = "libsql", not(feature = "rusqlite")),
all(feature = "postgres", feature = "rusqlite", not(feature = "libsql")),
all(feature = "libsql", feature = "rusqlite", not(feature = "postgres")),
all(feature = "postgres", feature = "libsql", feature = "rusqlite"),
)))]
pub trait FromRow: Sized {
const REQUIRED_COLUMNS: &'static [&'static str];
}