kosame 0.3.0

Macro-based Rust ORM focused on developer ergonomics
Documentation
macro_rules! custom_keyword {
    ($kw:ident) => {
        pub mod $kw {
            pub mod $kw {}
        }
    };
}

macro_rules! keyword_group {
    ($group:ident { $($kw:ident),* }) => {
        pub mod $group {
            $(
                pub use super::$kw::*;
            )*
        }
    };
}

custom_keyword!(all);
custom_keyword!(and);
custom_keyword!(asc);
custom_keyword!(by);
custom_keyword!(cast);
custom_keyword!(create);
custom_keyword!(cross);
custom_keyword!(default);
custom_keyword!(delete);
custom_keyword!(desc);
custom_keyword!(distinct);
custom_keyword!(driver);
custom_keyword!(except);
custom_keyword!(first);
custom_keyword!(from);
custom_keyword!(full);
custom_keyword!(group);
custom_keyword!(having);
custom_keyword!(inner);
custom_keyword!(insert);
custom_keyword!(intersect);
custom_keyword!(into);
custom_keyword!(is);
custom_keyword!(join);
custom_keyword!(key);
custom_keyword!(kosame);
custom_keyword!(last);
custom_keyword!(lateral);
custom_keyword!(left);
custom_keyword!(limit);
custom_keyword!(natural);
custom_keyword!(not);
custom_keyword!(null);
custom_keyword!(nulls);
custom_keyword!(offset);
custom_keyword!(on);
custom_keyword!(or);
custom_keyword!(order);
custom_keyword!(__pass);
custom_keyword!(primary);
custom_keyword!(references);
custom_keyword!(rename);
custom_keyword!(returning);
custom_keyword!(right);
custom_keyword!(select);
custom_keyword!(set);
custom_keyword!(__table);
custom_keyword!(table);
custom_keyword!(ty);
custom_keyword!(union);
custom_keyword!(update);
custom_keyword!(using);
custom_keyword!(values);
custom_keyword!(with);

keyword_group!(group_attribute { driver, rename, ty });
keyword_group!(group_column_constraint {
    not,
    default,
    primary,
    references
});
keyword_group!(group_command {
    select,
    insert,
    update,
    delete
});
keyword_group!(group_join {
    left,
    right,
    inner,
    full,
    natural,
    cross
});
keyword_group!(group_order_by_dir { asc, desc });
keyword_group!(group_order_by_nulls { first, last });
keyword_group!(group_set_op {
    union,
    intersect,
    except
});