column_store 0.1.0

Column-oriented database management system.
Documentation
use std::env::temp_dir;

#[macro_use]
use column_store::get_first_match;
use column_store::Table;

#[derive(Table)]
struct ExampleRow {
  a: u64,
  b: u64,
  c: u8,
  d: String,
}

#[test]
fn test_get_first_match_1 () {
  let mut tbl_dir = temp_dir();
  let mut example_table = ExampleTable::new(tbl_dir);
  example_table.insert_one(13, 37, 42, "Hello World!".into());
  example_table.insert_one(23, 23, 90, "Hot pepper sauce!".into());

  let (a1, d1) = get_first_match!(a, d; example_table; a > 20).unwrap();
  assert_eq!(a1, 23);
  assert_eq!(d1, "Hot pepper sauce!");
}

#[test]
fn test_get_first_match_2 () {
  let mut tbl_dir = temp_dir();
  let mut example_table = ExampleTable::new(tbl_dir);
  example_table.insert_one(13, 37, 42, "Hello World!".into());
  example_table.insert_one(23, 23, 90, "Hot pepper sauce!".into());

  let (c2, d2) = get_first_match!(c, d; example_table; b > 20).unwrap();
  assert_eq!(c2, 42);
  assert_eq!(d2, "Hello World!");
}