#[macro_use]
extern crate criterion;
use criterion::Criterion;
extern crate datafusion;
use datafusion::rel::*;
use datafusion::exec::*;
extern crate serde_json;
fn sql() {
let mut ctx = ExecutionContext::local("test/data".to_string());
let schema = Schema::new(vec![
Field::new("city", DataType::String, false),
Field::new("lat", DataType::Double, false),
Field::new("lng", DataType::Double, false)]);
ctx.define_schema("uk_cities", &schema);
let sql = "SELECT ST_AsText(ST_Point(lat, lng)) FROM uk_cities";
let df1 = ctx.sql(&sql).unwrap();
ctx.write(df1, "_southern_cities.csv").unwrap();
}
fn criterion_benchmark(c: &mut Criterion) {
c.bench_function("sql_query", |b| b.iter(|| sql()));
}
criterion_group!(benches, criterion_benchmark);
criterion_main!(benches);