rqlite_rs/
query_result.rs1use serde::Deserialize;
2
3#[derive(Debug, Deserialize, Clone)]
5pub struct QueryResult {
6 last_insert_id: Option<i64>,
8 rows_affected: Option<i64>,
10}
11
12impl QueryResult {
13 #[must_use]
15 pub fn last_insert_id(&self) -> Option<i64> {
16 self.last_insert_id
17 }
18
19 #[must_use]
21 pub fn rows_affected(&self) -> Option<i64> {
22 self.rows_affected
23 }
24
25 #[must_use]
27 pub fn changed(&self) -> bool {
28 self.rows_affected.unwrap_or(0) > 0
29 }
30}
31
32#[cfg(test)]
33mod tests {
34 use super::*;
35
36 #[test]
37 fn unit_query_result() {
38 let query_result = QueryResult {
39 last_insert_id: Some(1),
40 rows_affected: Some(1),
41 };
42
43 assert_eq!(query_result.last_insert_id(), Some(1));
44 assert_eq!(query_result.rows_affected(), Some(1));
45 assert!(query_result.changed());
46 }
47}