|
1 | 1 | use super::*; |
| 2 | +#[cfg(feature = "postgres-array")] |
| 3 | +use sea_query::ArrayElement; |
2 | 4 | use sea_query::{DateLikeValue, DateTimeLikeValue, TimeLikeValue}; |
3 | 5 |
|
4 | 6 | impl<E: EntityTrait> DateLikeColumn<E> { |
@@ -28,14 +30,11 @@ impl<E: EntityTrait> DateLikeColumn<E> { |
28 | 30 |
|
29 | 31 | /// `= ANY(..)` operator. Postgres only. |
30 | 32 | #[cfg(feature = "postgres-array")] |
31 | | - pub fn eq_any<V>(&self, v: impl IntoIterator<Item = V>) -> Expr |
| 33 | + pub fn eq_any<T>(&self, v: impl IntoIterator<Item = T>) -> Expr |
32 | 34 | where |
33 | | - V: DateLikeValue + sea_query::ValueType + sea_query::with_array::NotU8, |
34 | | - Vec<V>: Into<sea_query::value::Array>, |
| 35 | + T: DateLikeValue + ArrayElement, |
35 | 36 | { |
36 | | - use itertools::Itertools; |
37 | | - |
38 | | - self.0.eq_any(v.into_iter().collect_vec()) |
| 37 | + self.0.eq_any(v) |
39 | 38 | } |
40 | 39 |
|
41 | 40 | bind_subquery_func!(pub in_subquery); |
@@ -69,13 +68,11 @@ impl<E: EntityTrait> TimeLikeColumn<E> { |
69 | 68 |
|
70 | 69 | /// `= ANY(..)` operator. Postgres only. |
71 | 70 | #[cfg(feature = "postgres-array")] |
72 | | - pub fn eq_any<V>(&self, v: impl IntoIterator<Item = V>) -> Expr |
| 71 | + pub fn eq_any<T>(&self, v: impl IntoIterator<Item = T>) -> Expr |
73 | 72 | where |
74 | | - V: TimeLikeValue + sea_query::ValueType + sea_query::with_array::NotU8, |
75 | | - Vec<V>: Into<sea_query::value::Array>, |
| 73 | + T: TimeLikeValue + ArrayElement, |
76 | 74 | { |
77 | | - let vec: Vec<V> = v.into_iter().collect(); |
78 | | - self.0.eq_any(vec) |
| 75 | + self.0.eq_any(v) |
79 | 76 | } |
80 | 77 |
|
81 | 78 | bind_subquery_func!(pub in_subquery); |
@@ -111,11 +108,9 @@ impl<E: EntityTrait> DateTimeLikeColumn<E> { |
111 | 108 | #[cfg(feature = "postgres-array")] |
112 | 109 | pub fn eq_any<V>(&self, v: impl IntoIterator<Item = V>) -> Expr |
113 | 110 | where |
114 | | - V: DateTimeLikeValue + sea_query::ValueType + sea_query::with_array::NotU8, |
115 | | - Vec<V>: Into<sea_query::value::Array>, |
| 111 | + V: DateTimeLikeValue + sea_query::ArrayElement, |
116 | 112 | { |
117 | | - let vec: Vec<V> = v.into_iter().collect(); |
118 | | - self.0.eq_any(vec) |
| 113 | + self.0.eq_any(v) |
119 | 114 | } |
120 | 115 |
|
121 | 116 | bind_subquery_func!(pub in_subquery); |
|
0 commit comments