module Database.PostgreSQL.Opium.Oid where

import Database.PostgreSQL.LibPQ (Oid (..))

-- raw byte string

bytea :: Oid
bytea = Oid 17

-- string types

text :: Oid
text = Oid 25

character :: Oid
character = Oid 1042

characterVarying :: Oid
characterVarying = Oid 1043

-- integer types

-- | 16-bit integer
smallint :: Oid
smallint = Oid 21

-- | 32-bit integer
integer :: Oid
integer = Oid 23

-- | 64-bit integer
bigint :: Oid
bigint = Oid 20

-- floating point types

-- | 32-bit IEEE float
real :: Oid
real = Oid 700

-- | 64-bit IEEE float
doublePrecision :: Oid
doublePrecision = Oid 701

-- | Oid
boolean :: Oid
boolean = Oid 16

-- | Single days/dates.
date :: Oid
date = Oid 1082

-- | Time of day.
time :: Oid
time = Oid 1083

-- | A point in time.
timestamp :: Oid
timestamp = Oid 1114

-- | A point in time.
timestampWithTimezone :: Oid
timestampWithTimezone = Oid 1184