Skip to main content

drizzle_types/postgres/
mod.rs

1//! `PostgreSQL` type definitions
2//!
3//! This module provides type definitions for `PostgreSQL` including:
4//!
5//! - [`PostgreSQLType`] - `PostgreSQL` column types
6//! - [`TypeCategory`] - Rust type classification for `PostgreSQL` mapping
7//! - [`PgTypeCategory`] - SQL type categories for parsing
8
9pub mod ddl;
10mod sql_type;
11mod type_category;
12
13pub mod types {
14    #[derive(Debug, Clone, Copy, Default, PartialEq, Eq, Hash)]
15    pub struct Int2;
16
17    #[derive(Debug, Clone, Copy, Default, PartialEq, Eq, Hash)]
18    pub struct Int4;
19
20    #[derive(Debug, Clone, Copy, Default, PartialEq, Eq, Hash)]
21    pub struct Int8;
22
23    #[derive(Debug, Clone, Copy, Default, PartialEq, Eq, Hash)]
24    pub struct Float4;
25
26    #[derive(Debug, Clone, Copy, Default, PartialEq, Eq, Hash)]
27    pub struct Float8;
28
29    #[derive(Debug, Clone, Copy, Default, PartialEq, Eq, Hash)]
30    pub struct Varchar;
31
32    #[derive(Debug, Clone, Copy, Default, PartialEq, Eq, Hash)]
33    pub struct Text;
34
35    #[derive(Debug, Clone, Copy, Default, PartialEq, Eq, Hash)]
36    pub struct Char;
37
38    #[derive(Debug, Clone, Copy, Default, PartialEq, Eq, Hash)]
39    pub struct Bytea;
40
41    #[derive(Debug, Clone, Copy, Default, PartialEq, Eq, Hash)]
42    pub struct Boolean;
43
44    #[derive(Debug, Clone, Copy, Default, PartialEq, Eq, Hash)]
45    pub struct Timestamptz;
46
47    #[derive(Debug, Clone, Copy, Default, PartialEq, Eq, Hash)]
48    pub struct Timestamp;
49
50    #[derive(Debug, Clone, Copy, Default, PartialEq, Eq, Hash)]
51    pub struct Date;
52
53    #[derive(Debug, Clone, Copy, Default, PartialEq, Eq, Hash)]
54    pub struct Time;
55
56    #[derive(Debug, Clone, Copy, Default, PartialEq, Eq, Hash)]
57    pub struct Timetz;
58
59    #[derive(Debug, Clone, Copy, Default, PartialEq, Eq, Hash)]
60    pub struct Numeric;
61
62    #[derive(Debug, Clone, Copy, Default, PartialEq, Eq, Hash)]
63    pub struct Uuid;
64
65    #[derive(Debug, Clone, Copy, Default, PartialEq, Eq, Hash)]
66    pub struct Json;
67
68    #[derive(Debug, Clone, Copy, Default, PartialEq, Eq, Hash)]
69    pub struct Jsonb;
70
71    #[derive(Debug, Clone, Copy, Default, PartialEq, Eq, Hash)]
72    pub struct Any;
73
74    #[derive(Debug, Clone, Copy, Default, PartialEq, Eq, Hash)]
75    pub struct Interval;
76
77    #[derive(Debug, Clone, Copy, Default, PartialEq, Eq, Hash)]
78    pub struct Inet;
79
80    #[derive(Debug, Clone, Copy, Default, PartialEq, Eq, Hash)]
81    pub struct Cidr;
82
83    #[derive(Debug, Clone, Copy, Default, PartialEq, Eq, Hash)]
84    pub struct MacAddr;
85
86    #[derive(Debug, Clone, Copy, Default, PartialEq, Eq, Hash)]
87    pub struct MacAddr8;
88
89    #[derive(Debug, Clone, Copy, Default, PartialEq, Eq, Hash)]
90    pub struct Point;
91
92    #[derive(Debug, Clone, Copy, Default, PartialEq, Eq, Hash)]
93    pub struct LineString;
94
95    #[derive(Debug, Clone, Copy, Default, PartialEq, Eq, Hash)]
96    pub struct Rect;
97
98    #[derive(Debug, Clone, Copy, Default, PartialEq, Eq, Hash)]
99    pub struct BitString;
100
101    #[derive(Debug, Clone, Copy, Default, PartialEq, Eq, Hash)]
102    pub struct Line;
103
104    #[derive(Debug, Clone, Copy, Default, PartialEq, Eq, Hash)]
105    pub struct LineSegment;
106
107    #[derive(Debug, Clone, Copy, Default, PartialEq, Eq, Hash)]
108    pub struct Polygon;
109
110    #[derive(Debug, Clone, Copy, Default, PartialEq, Eq, Hash)]
111    pub struct Circle;
112
113    #[derive(Debug, Clone, Copy, Default, PartialEq, Eq, Hash)]
114    pub struct Enum;
115}
116
117pub use sql_type::PostgreSQLType;
118pub use type_category::{PgTypeCategory, TypeCategory};