gluesql_core/query_builder/
transaction.rs1use crate::{ast::Statement, plan::StatementPlan};
2
3pub fn begin() -> StatementPlan {
4 Statement::StartTransaction.into()
5}
6pub fn commit() -> StatementPlan {
7 Statement::Commit.into()
8}
9pub fn rollback() -> StatementPlan {
10 Statement::Rollback.into()
11}
12
13#[cfg(test)]
14mod tests {
15 use crate::query_builder::{begin, commit, rollback, test};
16
17 #[test]
18 fn transaction() {
19 let actual = begin();
20 let expected = "START TRANSACTION";
21 test(&Ok(actual), expected);
22
23 let actual = commit();
24 let expected = "COMMIT";
25 test(&Ok(actual), expected);
26
27 let actual = rollback();
28 let expected = "ROLLBACK";
29 test(&Ok(actual), expected);
30 }
31}