qraft-core 0.1.2

Core type system, query model, decoding, and SQL lowering primitives for qraft.
Documentation
/// Supplies the target SQL dialect for query compilation.
pub trait HasDialect {
    /// Dialect emitted for this marker type.
    const DIALECT: Dialect;
}

/// Emits SQL using PostgreSQL syntax.
pub struct Postgres;
impl HasDialect for Postgres {
    const DIALECT: Dialect = Dialect::Postgres;
}

/// Emits SQL using MariaDB/MySQL syntax.
pub struct MySql;
impl HasDialect for MySql {
    const DIALECT: Dialect = Dialect::MariaDb;
}

/// Emits SQL using SQLite syntax.
pub struct Sqlite;
impl HasDialect for Sqlite {
    const DIALECT: Dialect = Dialect::Sqlite;
}

/// The SQL dialect variants `qraft-core` knows how to emit.
#[derive(Debug, Clone, Copy)]
pub enum Dialect {
    Postgres,
    MariaDb,
    Sqlite,
}