use spg_engine::{Engine, QueryResult};
fn b(e: &mut Engine, sql: &str) -> bool {
match e.execute(sql).unwrap() {
QueryResult::Rows { rows, .. } => {
matches!(rows[0].values[0], spg_storage::Value::Bool(true))
}
_ => panic!("rows"),
}
}
#[test]
fn tsvector_ordering_operators() {
let mut e = Engine::new();
assert!(b(&mut e, "SELECT 'a b'::tsvector < 'a c'::tsvector"));
assert!(!b(&mut e, "SELECT 'ab'::tsvector < 'b'::tsvector")); assert!(b(&mut e, "SELECT 'cat'::tsvector < 'apple'::tsvector")); assert!(b(&mut e, "SELECT 'aa'::tsvector < 'ab'::tsvector")); assert!(b(&mut e, "SELECT 'z'::tsvector < 'a b'::tsvector")); assert!(b(&mut e, "SELECT 'a'::tsvector < 'a b'::tsvector"));
assert!(!b(&mut e, "SELECT 'b'::tsvector < 'a'::tsvector"));
assert!(b(&mut e, "SELECT 'a b'::tsvector >= 'a b'::tsvector"));
assert!(b(&mut e, "SELECT 'ab'::tsvector > 'b'::tsvector")); assert!(b(&mut e, "SELECT 'a'::tsvector = 'a'::tsvector"));
assert!(!b(&mut e, "SELECT 'a:1'::tsvector = 'a:2'::tsvector"));
}