easy_sqlx_core/sql/utils/pair.rs
1use super::value::Value;
2// impl Value {
3// pub fn get<T: I32, I64, F64, String>(&self) -> T {
4// match self {
5// Self::Int(val) => val,
6// Self::Long(val) => val,
7// Self::Float(v) => v,
8// Self::Text(str) => str,
9// };
10// }
11// }
12
13#[derive(Debug, Clone)]
14pub struct Pair {
15 pub name: String,
16 pub value: Value,
17}
18
19impl Pair {
20 // pub fn bind_to_query<'a, DB: Database>(
21 // &self,
22 // query: sqlx::query::Query<'a, DB, DB::Arguments<'a>>,
23 // ) -> sqlx::query::Query<'a, DB, DB::Arguments<'a>>
24 // where
25 // Option<bool>: sqlx::Encode<'a, DB> + sqlx::Decode<'a, DB>,
26 // bool: sqlx::Type<DB>,
27 // Option<i16>: sqlx::Encode<'a, DB> + sqlx::Decode<'a, DB>,
28 // i16: sqlx::Type<DB>,
29 // Option<i32>: sqlx::Encode<'a, DB> + sqlx::Decode<'a, DB>,
30 // i32: sqlx::Type<DB>,
31 // Option<i64>: sqlx::Encode<'a, DB> + sqlx::Decode<'a, DB>,
32 // i64: sqlx::Type<DB>,
33 // Option<f64>: sqlx::Encode<'a, DB> + sqlx::Decode<'a, DB>,
34 // f64: sqlx::Type<DB>,
35 // Option<f32>: sqlx::Encode<'a, DB> + sqlx::Decode<'a, DB>,
36 // f32: sqlx::Type<DB>,
37 // Option<NaiveDateTime>: sqlx::Encode<'a, DB> + sqlx::Decode<'a, DB>,
38 // NaiveDateTime: sqlx::Type<DB>,
39 // Option<String>: sqlx::Encode<'a, DB> + sqlx::Decode<'a, DB>,
40 // String: sqlx::Type<DB>,
41 // Option<Vec<u8>>: sqlx::Encode<'a, DB> + sqlx::Decode<'a, DB>,
42 // Vec<u8>: sqlx::Type<DB>,
43 // {
44 // self.value.bind_to_query(query)
45 // }
46
47 // pub fn bind_to_query_as<'a, O, DB: Database>(
48 // &self,
49 // query: sqlx::query::QueryAs<'a, DB, O, DB::Arguments<'a>>,
50 // ) -> sqlx::query::QueryAs<'a, DB, O, DB::Arguments<'a>>
51 // where
52 // Option<bool>: sqlx::Encode<'a, DB> + sqlx::Decode<'a, DB>,
53 // bool: sqlx::Type<DB>,
54 // Option<i16>: sqlx::Encode<'a, DB> + sqlx::Decode<'a, DB>,
55 // i16: sqlx::Type<DB>,
56 // Option<i32>: sqlx::Encode<'a, DB> + sqlx::Decode<'a, DB>,
57 // i32: sqlx::Type<DB>,
58 // Option<i64>: sqlx::Encode<'a, DB> + sqlx::Decode<'a, DB>,
59 // i64: sqlx::Type<DB>,
60 // Option<f64>: sqlx::Encode<'a, DB> + sqlx::Decode<'a, DB>,
61 // f64: sqlx::Type<DB>,
62 // Option<f32>: sqlx::Encode<'a, DB> + sqlx::Decode<'a, DB>,
63 // f32: sqlx::Type<DB>,
64 // Option<NaiveDateTime>: sqlx::Encode<'a, DB> + sqlx::Decode<'a, DB>,
65 // NaiveDateTime: sqlx::Type<DB>,
66 // Option<String>: sqlx::Encode<'a, DB> + sqlx::Decode<'a, DB>,
67 // String: sqlx::Type<DB>,
68 // Option<Vec<u8>>: sqlx::Encode<'a, DB> + sqlx::Decode<'a, DB>,
69 // Vec<u8>: sqlx::Type<DB>,
70 // {
71 // self.value.bind_to_query_as(query)
72 // }
73
74 // pub fn bind_to_query_scalar<'a, O, DB: Database>(
75 // &self,
76 // query: sqlx::query::QueryAs<'a, DB, O, DB::Arguments<'a>>,
77 // ) -> sqlx::query::QueryAs<'a, DB, O, DB::Arguments<'a>>
78 // where
79 // Option<bool>: sqlx::Encode<'a, DB> + sqlx::Decode<'a, DB>,
80 // bool: sqlx::Type<DB>,
81 // Option<i16>: sqlx::Encode<'a, DB> + sqlx::Decode<'a, DB>,
82 // i16: sqlx::Type<DB>,
83 // Option<i32>: sqlx::Encode<'a, DB> + sqlx::Decode<'a, DB>,
84 // i32: sqlx::Type<DB>,
85 // Option<i64>: sqlx::Encode<'a, DB> + sqlx::Decode<'a, DB>,
86 // i64: sqlx::Type<DB>,
87 // Option<f64>: sqlx::Encode<'a, DB> + sqlx::Decode<'a, DB>,
88 // f64: sqlx::Type<DB>,
89 // Option<f32>: sqlx::Encode<'a, DB> + sqlx::Decode<'a, DB>,
90 // f32: sqlx::Type<DB>,
91 // Option<NaiveDateTime>: sqlx::Encode<'a, DB> + sqlx::Decode<'a, DB>,
92 // NaiveDateTime: sqlx::Type<DB>,
93 // Option<String>: sqlx::Encode<'a, DB> + sqlx::Decode<'a, DB>,
94 // String: sqlx::Type<DB>,
95 // Option<Vec<u8>>: sqlx::Encode<'a, DB> + sqlx::Decode<'a, DB>,
96 // Vec<u8>: sqlx::Type<DB>,
97 // {
98 // self.value.bind_to_query_as(query)
99 // }
100}