sqlx_exasol_impl/
query_result.rs

1use std::ops::{Add, AddAssign};
2
3/// A query result containing the number of affected rows.
4#[derive(Copy, Clone, Debug, Default)]
5pub struct ExaQueryResult {
6    rows_affected: u64,
7}
8
9impl ExaQueryResult {
10    #[must_use]
11    pub fn new(rows_affected: u64) -> Self {
12        Self { rows_affected }
13    }
14
15    #[must_use]
16    pub fn rows_affected(&self) -> u64 {
17        self.rows_affected
18    }
19}
20
21impl Extend<ExaQueryResult> for ExaQueryResult {
22    fn extend<T: IntoIterator<Item = ExaQueryResult>>(&mut self, iter: T) {
23        for elem in iter {
24            self.rows_affected += elem.rows_affected;
25        }
26    }
27}
28
29impl Add for ExaQueryResult {
30    type Output = Self;
31
32    fn add(self, rhs: Self) -> Self::Output {
33        Self {
34            rows_affected: self.rows_affected + rhs.rows_affected,
35        }
36    }
37}
38
39impl AddAssign for ExaQueryResult {
40    fn add_assign(&mut self, rhs: Self) {
41        self.rows_affected += rhs.rows_affected;
42    }
43}