File tree Expand file tree Collapse file tree 2 files changed +91
-0
lines changed
src/Database/PostgreSQL/Protocol Expand file tree Collapse file tree 2 files changed +91
-0
lines changed Original file line number Diff line number Diff line change
1
+ {-
2
+ Oids for built-in types.
3
+ -}
4
+ module Database.PostgreSQL.Protocol.Codecs.PgTypes where
5
+
6
+ import Data.Int (Int32 )
7
+
8
+ import Database.PostgreSQL.Protocol.Types
9
+
10
+ data Oids = Oids
11
+ { oidType :: {-# UNPACK #-} ! Oid
12
+ , oidArrayType :: {-# UNPACK #-} ! Oid
13
+ } deriving (Show , Eq )
14
+
15
+ mkOids :: Int32 -> Int32 -> Oids
16
+ mkOids a b = Oids (Oid a) (Oid b)
17
+
18
+ --
19
+ -- Primitives
20
+ --
21
+
22
+ bool :: Oids
23
+ bool = mkOids 16 1000
24
+
25
+ bytea :: Oids
26
+ bytea = mkOids 17 1001
27
+
28
+ char :: Oids
29
+ char = mkOids 18 1002
30
+
31
+ date :: Oids
32
+ date = mkOids 1
10000
082 1182
33
+
34
+ float4 :: Oids
35
+ float4 = mkOids 700 1021
36
+
37
+ float8 :: Oids
38
+ float8 = mkOids 701 1022
39
+
40
+ int2 :: Oids
41
+ int2 = mkOids 21 1005
42
+
43
+ int4 :: Oids
44
+ int4 = mkOids 23 1007
45
+
46
+ int8 :: Oids
47
+ int8 = mkOids 20 1016
48
+
49
+ interval :: Oids
50
+ interval = mkOids 1186 1187
51
+
52
+ json :: Oids
53
+ json = mkOids 114 199
54
+
55
+ numeric :: Oids
56
+ numeric = mkOids 1700 1231
57
+
58
+ text :: Oids
59
+ text = mkOids 25 1009
60
+
61
+ timestamp :: Oids
62
+ timestamp = mkOids 1114 1115
63
+
64
+ timestamptz :: Oids
65
+ timestamptz = mkOids 1184 1185
66
+
67
+ uuid :: Oids
68
+ uuid = mkOids 2950 2951
69
+
70
+ --
71
+ -- Ranges
72
+ --
73
+
74
+ daterange :: Oids
75
+ daterange = mkOids 3912 3913
76
+
77
+ int4range :: Oids
78
+ int4range = mkOids 3904 3905
79
+
80
+ int8range :: Oids
81
+ int8range = mkOids 3926 3927
82
+
83
+ numrange :: Oids
84
+ numrange = mkOids 3906 3907
85
+
86
+ tsrange :: Oids
87
+ tsrange = mkOids 3908 3909
88
+
89
+ tstzrange :: Oids
90
+ tstzrange = mkOids 3910 3911
Original file line number Diff line number Diff line change @@ -183,6 +183,7 @@ reverseDataRows = foldlDataRows (flip chunk) Empty
183
183
countDataRows :: DataRows -> Word
184
184
countDataRows = foldlDataRows (\ acc (DataChunk c _) -> acc + c) 0
185
185
186
+ -- FIXME delete later
186
187
-- | For testing only
187
188
{-# INLINE flattenDataRows #-}
188
189
flattenDataRows :: DataRows -> B. ByteString
You can’t perform that action at this time.
0 commit comments