drizzle-mysql 0.2.0

A type-safe SQL query builder for Rust
Documentation
mod column;
mod table;
mod value;

#[doc(hidden)]
pub use column::optional_str_eq;
pub use column::{MySQLColumn, MySQLIndexColumn};
pub use table::MySQLTable;
#[cfg(feature = "query")]
#[doc(hidden)]
pub use value::MySQLJsonStorage;
pub use value::{DrizzleMySQLColumn, MySQLColumnType};

use drizzle_core::error::DrizzleError;

/// Metadata and text conversion generated by `#[derive(MySQLEnum)]`.
///
/// MySQL enum declarations are inline column types. [`SQL_TYPE`](Self::SQL_TYPE)
/// therefore contains the complete escaped `ENUM(...)` declaration rather
/// than the name of a separately-created schema object.
pub trait MySQLEnum:
    Sized + Send + Sync + 'static + core::str::FromStr<Err = DrizzleError>
{
    /// Complete inline `ENUM(...)` declaration.
    const SQL_TYPE: &'static str;
    /// Accepted values in declaration order.
    const VARIANTS: &'static [&'static str];

    /// Return the database value for this variant.
    fn variant_name(&self) -> &'static str;
}