Safe Haskell | None |
---|---|
Language | Haskell2010 |
PostgreSQL.Binary.Encoder
Contents
- run :: Encoder a -> a -> ByteString
- type Encoder a = a -> Builder
- int2_int16 :: Encoder Int16
- int2_word16 :: Encoder Word16
- int4_int32 :: Encoder Int32
- int4_word32 :: Encoder Word32
- int8_int64 :: Encoder Int64
- int8_word64 :: Encoder Word64
- float4 :: Encoder Float
- float8 :: Encoder Double
- composite :: Encoder Composite
- bool :: Encoder Bool
- numeric :: Encoder Scientific
- uuid :: Encoder UUID
- json_ast :: Encoder Value
- json_bytes :: Encoder ByteString
- jsonb_ast :: Encoder Value
- jsonb_bytes :: Encoder ByteString
- char :: Encoder Char
- text_strict :: Encoder Text
- text_lazy :: Encoder Text
- bytea_strict :: Encoder ByteString
- bytea_lazy :: Encoder ByteString
- date :: Encoder Day
- time_int :: Encoder TimeOfDay
- time_float :: Encoder TimeOfDay
- timetz_int :: Encoder (TimeOfDay, TimeZone)
- timetz_float :: Encoder (TimeOfDay, TimeZone)
- timestamp_int :: Encoder LocalTime
- timestamp_float :: Encoder LocalTime
- timestamptz_int :: Encoder UTCTime
- timestamptz_float :: Encoder UTCTime
- interval_int :: Encoder DiffTime
- interval_float :: Encoder DiffTime
- hstore :: (forall a. (a -> (Text, Maybe Text) -> a) -> a -> b -> a) -> Encoder b
- hstoreRep :: Encoder HStore
- array :: Word32 -> ArrayEncoder a -> Encoder a
- data ArrayEncoder a
- arrayValue :: Encoder a -> ArrayEncoder a
- arrayNullableValue :: Encoder a -> ArrayEncoder (Maybe a)
- arrayDimension :: (forall a. (a -> b -> a) -> a -> c -> a) -> ArrayEncoder b -> ArrayEncoder c
- arrayRep :: Encoder Array
- enum :: (a -> Text) -> Encoder a
Documentation
run :: Encoder a -> a -> ByteString Source #
Value encoder
A UTF-8-encoded char.
Note that since it's UTF-8-encoded not the "char" but the "text" OID should be used with it.
hstore :: (forall a. (a -> (Text, Maybe Text) -> a) -> a -> b -> a) -> Encoder b Source #
A polymorphic in-place HSTORE
encoder.
Accepts:
- An implementation of the
foldl
function (e.g.,Data.Foldable.
), which determines the input value.foldl'
Here's how you can use it to produce a specific encoder:
hashMapHStore :: Encoder (Data.HashMap.Strict.HashMap Text (Maybe Text)) hashMapHStore = hstore foldl'
Array encoder
data ArrayEncoder a Source #
arrayValue :: Encoder a -> ArrayEncoder a Source #
arrayNullableValue :: Encoder a -> ArrayEncoder (Maybe a) Source #
arrayDimension :: (forall a. (a -> b -> a) -> a -> c -> a) -> ArrayEncoder b -> ArrayEncoder c Source #