postgres_querybuilder/
bucket.rs1use postgres_types::ToSql;
2
3type BucketValue = dyn ToSql + Sync;
4
5pub struct Bucket {
6 content: Vec<Box<BucketValue>>,
7}
8
9impl Bucket {
10 pub fn new() -> Bucket {
11 Bucket { content: vec![] }
12 }
13
14 pub fn get_refs(self) -> Vec<&'static BucketValue> {
15 let mut args: Vec<&BucketValue> = vec![];
16 for item in self.content {
17 args.push(Box::leak(item));
18 }
19 args
20 }
21
22 pub fn push<T: 'static + ToSql + Sync + Clone>(&mut self, value: T) -> usize {
23 self.content.push(Box::new(value));
24 self.content.len()
25 }
26
27 pub fn len(&self) -> usize {
28 self.content.len()
29 }
30}