Ziyang Hu 3 months ago
parent 01fcd5b918
commit 6ab063c627

@ -929,7 +929,9 @@ fn filtering() {
.unwrap(); .unwrap();
assert_eq!(0, res.rows.len()); assert_eq!(0, res.rows.len());
let res = db.run_default(r" let res = db
.run_default(
r"
{ {
?[x, u, y] <- [[1, 0, 2]] ?[x, u, y] <- [[1, 0, 2]]
:create _rel {x, u => y} :create _rel {x, u => y}
@ -938,7 +940,8 @@ fn filtering() {
{ {
?[x, y] := x = 1, *_rel{x, y: 3}, y = 2 ?[x, y] := x = 1, *_rel{x, y: 3}, y = 2
} }
") ",
)
.unwrap(); .unwrap();
assert_eq!(0, res.rows.len()); assert_eq!(0, res.rows.len());
} }
@ -1187,20 +1190,29 @@ fn deletion() {
fn into_payload() { fn into_payload() {
let db = DbInstance::new("mem", "", "").unwrap(); let db = DbInstance::new("mem", "", "").unwrap();
db.run_default(r":create a {x => y}").unwrap(); db.run_default(r":create a {x => y}").unwrap();
db.run_default(r"?[x, y] <- [[1, 2], [3, 4]] :insert a {x => y}",).unwrap(); db.run_default(r"?[x, y] <- [[1, 2], [3, 4]] :insert a {x => y}")
.unwrap();
let mut res = db.run_default(r"?[x, y] := *a[x, y]").unwrap(); let mut res = db.run_default(r"?[x, y] := *a[x, y]").unwrap();
assert_eq!(res.rows.len(), 2); assert_eq!(res.rows.len(), 2);
let delete = res.clone().into_payload("a", "rm"); let delete = res.clone().into_payload("a", "rm");
db.run_script(delete.0.as_str(), delete.1, ScriptMutability::Mutable).unwrap(); db.run_script(delete.0.as_str(), delete.1, ScriptMutability::Mutable)
assert_eq!(db.run_default(r"?[x, y] := *a[x, y]").unwrap().rows.len(), 0); .unwrap();
assert_eq!(
db.run_default(r"?[x, y] := *a[x, y]").unwrap().rows.len(),
0
);
db.run_default(r":create b {m => n}").unwrap(); db.run_default(r":create b {m => n}").unwrap();
res.headers = vec!["m".into(), "n".into()]; res.headers = vec!["m".into(), "n".into()];
let put = res.into_payload("b", "put"); let put = res.into_payload("b", "put");
db.run_script(put.0.as_str(), put.1, ScriptMutability::Mutable).unwrap(); db.run_script(put.0.as_str(), put.1, ScriptMutability::Mutable)
assert_eq!(db.run_default(r"?[m, n] := *b[m, n]").unwrap().rows.len(), 2); .unwrap();
assert_eq!(
db.run_default(r"?[m, n] := *b[m, n]").unwrap().rows.len(),
2
);
} }
#[test] #[test]
@ -1416,6 +1428,29 @@ fn sysop_in_imperatives() {
db.run_default(script).unwrap(); db.run_default(script).unwrap();
} }
#[test]
fn bad_parse() {
let db = DbInstance::default();
db.run_default(
r"
:create named_hero_history {
name: String,
value: Bool,
when: Int
}",
)
.unwrap();
db.run_default(r"
last_named_hero[first, first, max(hist)] := *named_hero_history[first, first, value, hist], hist <= 1;
some_named_hero[first, first, value] := last_named_hero[first, first, last], *named_hero_history[first, first, value, last];
named_hero[first, first, value] := cast[first], value = false, not some_named_hero[first, first, _];
named_hero[first, first, value] := some_named_hero[first, first, value];
?[hero] :=
").expect_err("should fail");
}
#[test] #[test]
fn puts() { fn puts() {
let db = DbInstance::default(); let db = DbInstance::default();
@ -1570,7 +1605,10 @@ fn fts_drop() {
"#, "#,
) )
.unwrap(); .unwrap();
db.run_default(r#" db.run_default(
r#"
::fts drop entity:fts_index ::fts drop entity:fts_index
"#).unwrap(); "#,
)
.unwrap();
} }

Loading…
Cancel
Save