Hoogle Search

Within LTS Haskell 24.32 (ghc-9.10.3)

Note that Stackage only displays results for the latest LTS and Nightly snapshot. Learn more.

  1. newtype SQLEnumAsText a

    hpqtypes-extras Database.PostgreSQL.PQTypes.Deriving

    A special case of SQLEnum, where the enum is to be encoded as text (SQLEnum can't be used because of the Enum constraint on the domain of encodeEnum).

    >>> :{
    data Person = Alfred | Bertrand | Charles
    deriving (Eq, Show, Enum, Bounded)
    instance EnumAsTextEncoding Person where
    encodeEnumAsText = \case
    Alfred   -> "alfred"
    Bertrand -> "bertrand"
    Charles  -> "charles"
    :}
    
    Note: To get SQL-specific instances use DerivingVia:
    data Person = ...
    ...
    deriving (PQFormat, ToSQL, FromSQL) via SQLEnumAsText Person
    
    >>> isInjective (encodeEnumAsText @Person)
    True
    
    >>> decodeEnumAsText @Person "bertrand"
    Right Bertrand
    
    >>> decodeEnumAsText @Person "batman"
    Left ["alfred","bertrand","charles"]
    

  2. SQLEnumAsText :: a -> SQLEnumAsText a

    hpqtypes-extras Database.PostgreSQL.PQTypes.Deriving

    No documentation available.

  3. decodeEnum :: EnumEncoding a => EnumBase a -> Either [(EnumBase a, EnumBase a)] a

    hpqtypes-extras Database.PostgreSQL.PQTypes.Deriving

    Decode base type to an a. If the conversion fails, a list of valid ranges is returned instead. Note: The default implementation looks up values in decodeEnumMap and can be overwritten for performance if necessary.

  4. decodeEnumAsText :: EnumAsTextEncoding a => Text -> Either [Text] a

    hpqtypes-extras Database.PostgreSQL.PQTypes.Deriving

    Decode Text to an a. If the conversion fails, a list of valid values is returned instead. Note: The default implementation looks up values in decodeEnumAsTextMap and can be overwritten for performance if necessary.

  5. decodeEnumAsTextMap :: EnumAsTextEncoding a => Map Text a

    hpqtypes-extras Database.PostgreSQL.PQTypes.Deriving

    Include the inverse map as a top-level part of the SQLEnumTextEncoding instance to ensure it is only computed once by GHC.

  6. decodeEnumMap :: EnumEncoding a => Map (EnumBase a) a

    hpqtypes-extras Database.PostgreSQL.PQTypes.Deriving

    Include the inverse map as a top-level part of the EnumEncoding instance to ensure it is only computed once by GHC.

  7. encodeEnum :: EnumEncoding a => a -> EnumBase a

    hpqtypes-extras Database.PostgreSQL.PQTypes.Deriving

    Encode a as a base type.

  8. encodeEnumAsText :: EnumAsTextEncoding a => a -> Text

    hpqtypes-extras Database.PostgreSQL.PQTypes.Deriving

    Encode a as Text.

  9. sqlCreateEnum :: EnumType -> RawSQL ()

    hpqtypes-extras Database.PostgreSQL.PQTypes.Model.EnumType

    Make SQL query that creates an enum type.

  10. sqlDropEnum :: RawSQL () -> RawSQL ()

    hpqtypes-extras Database.PostgreSQL.PQTypes.Model.EnumType

    Make SQL query that drops a composite type.

Page 178 of many | Previous | Next