halo-sqlbuilder 1.0.0

Composable SQL builder and argument collector
Documentation
use criterion::{Criterion, black_box, criterion_group, criterion_main};
use halo_space::Flavor;
use halo_space::modifiers::Builder;
use halo_space::select::SelectBuilder;

fn bench_select_build(c: &mut Criterion) {
    c.bench_function("select_build_join_where_mysql", |b| {
        b.iter(|| {
            let mut sb = SelectBuilder::new();
            sb.select(vec!["id", "name", "score"]);
            sb.from(["users", "user_ext"]);
            sb.join("teams", ["users.team_id = teams.id"]);
            sb.where_(["score >= 100", "status = 'active'"]);
            sb.order_by(["score DESC", "id"]);

            let (sql, args) = sb.build_with_flavor(Flavor::MySQL, &[]);
            black_box((sql, args));
        });
    });
}

criterion_group!(benches, bench_select_build);
criterion_main!(benches);