|
1 | | -use diesel::sql_types::{Date, Double, Integer, Interval, SingleValue, Text, Timestamp}; |
2 | | - |
3 | | -mod semver; |
4 | | - |
5 | | -pub use semver::SemverVersion; |
6 | | - |
7 | | -define_sql_function!(#[aggregate] fn array_agg<T: SingleValue>(x: T) -> Array<T>); |
8 | | -define_sql_function!(fn canon_crate_name(x: Text) -> Text); |
9 | | -define_sql_function!(fn to_char(a: Date, b: Text) -> Text); |
10 | | -define_sql_function!(fn lower(x: Text) -> Text); |
11 | | -define_sql_function!(fn date_part(x: Text, y: Timestamp) -> Double); |
12 | | -define_sql_function! { |
13 | | - #[sql_name = "date_part"] |
14 | | - fn interval_part(x: Text, y: Interval) -> Double; |
15 | | -} |
16 | | -define_sql_function!(fn floor(x: Double) -> Integer); |
17 | | -define_sql_function!(fn greatest<T: SingleValue>(x: T, y: T) -> T); |
18 | | -define_sql_function!(fn least<T: SingleValue>(x: T, y: T) -> T); |
19 | | -define_sql_function!(fn split_part(string: Text, delimiter: Text, n: Integer) -> Text); |
20 | | - |
| 1 | +#[macro_export] |
21 | 2 | macro_rules! pg_enum { |
22 | 3 | ( |
23 | 4 | $vis:vis enum $name:ident { |
24 | 5 | $($item:ident = $int:expr,)* |
25 | 6 | } |
26 | 7 | ) => { |
27 | | - #[derive(Debug, Copy, Clone, PartialEq, Eq, Hash, Serialize, Deserialize, FromSqlRow, AsExpression)] |
| 8 | + #[derive(Debug, Copy, Clone, PartialEq, Eq, Hash, serde::Serialize, serde::Deserialize, diesel::FromSqlRow, diesel::AsExpression)] |
28 | 9 | #[diesel(sql_type = diesel::sql_types::Integer)] |
29 | 10 | #[serde(rename_all = "snake_case")] |
30 | 11 | #[repr(i32)] |
@@ -55,5 +36,3 @@ macro_rules! pg_enum { |
55 | 36 | } |
56 | 37 | } |
57 | 38 | } |
58 | | - |
59 | | -pub(crate) use pg_enum; |
0 commit comments