use std::ops::{Add, AddAssign};
#[derive(Copy, Clone, Debug, Default)]
pub struct ExaQueryResult {
rows_affected: u64,
}
impl ExaQueryResult {
pub fn new(rows_affected: u64) -> Self {
Self { rows_affected }
}
pub fn rows_affected(&self) -> u64 {
self.rows_affected
}
}
impl Extend<ExaQueryResult> for ExaQueryResult {
fn extend<T: IntoIterator<Item = ExaQueryResult>>(&mut self, iter: T) {
for elem in iter {
self.rows_affected += elem.rows_affected;
}
}
}
impl Add for ExaQueryResult {
type Output = Self;
fn add(self, rhs: Self) -> Self::Output {
Self {
rows_affected: self.rows_affected + rhs.rows_affected,
}
}
}
impl AddAssign for ExaQueryResult {
fn add_assign(&mut self, rhs: Self) {
self.rows_affected += rhs.rows_affected;
}
}