8000 Oids for builtin pg types · postgres-haskell/postgres-wire@6233dcf · GitHub
[go: up one dir, main page]

Skip to content

Commit 6233dcf

Browse files
Oids for builtin pg types
1 parent 1c63283 commit 6233dcf

File tree

2 files changed

+91
-0
lines changed

2 files changed

+91
-0
lines changed
Lines changed: 90 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,90 @@
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

src/Database/PostgreSQL/Protocol/DataRows.hs

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -183,6 +183,7 @@ reverseDataRows = foldlDataRows (flip chunk) Empty
183183
countDataRows :: DataRows -> Word
184184
countDataRows = foldlDataRows (\acc (DataChunk c _) -> acc + c) 0
185185

186+
-- FIXME delete later
186187
-- | For testing only
187188
{-# INLINE flattenDataRows #-}
188189
flattenDataRows :: DataRows -> B.ByteString

0 commit comments

Comments
 (0)
0