#![cfg(feature = "std")]
use graphitesql::Connection;
#[test]
fn zero_arg_aggregates_error_not_panic() {
let c = Connection::open_memory().unwrap();
for sql in [
"SELECT group_concat()",
"SELECT count()",
"SELECT sum()",
"SELECT avg()",
"SELECT max()",
"SELECT min()",
"SELECT total()",
] {
assert!(c.query(sql).is_err(), "{sql} should error");
}
}
#[test]
fn arity_errors_in_grouped_context() {
let mut c = Connection::open_memory().unwrap();
c.execute("CREATE TABLE t(x)").unwrap();
c.execute("INSERT INTO t VALUES(1),(2),(3)").unwrap();
assert!(c.query("SELECT group_concat() FROM t").is_err());
assert!(c.query("SELECT json_group_object('k') FROM t").is_err());
assert_eq!(
c.query("SELECT group_concat(x,'-') FROM t").unwrap().rows[0][0],
graphitesql::Value::Text("1-2-3".into())
);
assert_eq!(
c.query("SELECT count(*) FROM t").unwrap().rows[0][0],
graphitesql::Value::Integer(3)
);
}