ormlite_core/query_builder/
args.rs

1use core::default::Default;
2use sqlx::{Arguments, Database, IntoArguments};
3
4pub struct QueryBuilderArgs<'q, DB: Database>(pub Box<DB::Arguments<'q>>, usize);
5
6impl<'q, DB: Database> QueryBuilderArgs<'q, DB> {
7    pub fn add<T: 'q + Send + sqlx::Encode<'q, DB> + sqlx::Type<DB>>(&mut self, arg: T) {
8        self.0.add(arg).unwrap();
9        self.1 += 1;
10    }
11
12    pub fn len(&self) -> usize {
13        self.1
14    }
15}
16
17impl<'q, DB: Database> IntoArguments<'q, DB> for QueryBuilderArgs<'q, DB> {
18    fn into_arguments(self) -> DB::Arguments<'q> {
19        *self.0
20    }
21}
22
23impl<'q, DB: Database> Default for QueryBuilderArgs<'q, DB> {
24    fn default() -> Self {
25        Self(Box::default(), 0)
26    }
27}