mysql-simple-0.4.5: A mid-level MySQL client library.

Copyright(c) 2011 MailRank Inc.
LicenseBSD3
MaintainerPaul Rouse <pyr@doynton.org>
Stabilityexperimental
Portabilityportable
Safe HaskellNone
LanguageHaskell98

Database.MySQL.Simple.Result

Description

The Result typeclass, for converting a single value in a row returned by a SQL query into a more useful Haskell representation.

A Haskell numeric type is considered to be compatible with all MySQL numeric types that are less accurate than it. For instance, the Haskell Type type is compatible with the MySQL Long type because it can represent a Long exactly. On the other hand, since a Type might lose precision if representing a LongLong, the two are not considered compatible.

Synopsis

Documentation

class Result a where #

A type that may be converted from a SQL type.

Methods

convert :: Field -> Maybe ByteString -> a #

Convert a SQL value to a Haskell value.

Throws a ResultError if conversion fails.

Instances
Result Bool # 
Instance details

Defined in Database.MySQL.Simple.Result

Result Double # 
Instance details

Defined in Database.MySQL.Simple.Result

Result Float # 
Instance details

Defined in Database.MySQL.Simple.Result

Result Int # 
Instance details

Defined in Database.MySQL.Simple.Result

Methods

convert :: Field -> Maybe ByteString -> Int #

Result Int8 # 
Instance details

Defined in Database.MySQL.Simple.Result

Result Int16 # 
Instance details

Defined in Database.MySQL.Simple.Result

Result Int32 # 
Instance details

Defined in Database.MySQL.Simple.Result

Result Int64 # 
Instance details

Defined in Database.MySQL.Simple.Result

Result Integer # 
Instance details

Defined in Database.MySQL.Simple.Result

Result Word # 
Instance details

Defined in Database.MySQL.Simple.Result

Result Word8 # 
Instance details

Defined in Database.MySQL.Simple.Result

Result Word16 # 
Instance details

Defined in Database.MySQL.Simple.Result

Result Word32 # 
Instance details

Defined in Database.MySQL.Simple.Result

Result Word64 # 
Instance details

Defined in Database.MySQL.Simple.Result

Result ByteString # 
Instance details

Defined in Database.MySQL.Simple.Result

Result ByteString # 
Instance details

Defined in Database.MySQL.Simple.Result

Result Text # 
Instance details

Defined in Database.MySQL.Simple.Result

Result Text # 
Instance details

Defined in Database.MySQL.Simple.Result

Result TimeOfDay # 
Instance details

Defined in Database.MySQL.Simple.Result

Result UTCTime # 
Instance details

Defined in Database.MySQL.Simple.Result

Result Day # 
Instance details

Defined in Database.MySQL.Simple.Result

Methods

convert :: Field -> Maybe ByteString -> Day #

Result [Char] # 
Instance details

Defined in Database.MySQL.Simple.Result

Methods

convert :: Field -> Maybe ByteString -> [Char] #

Result a => Result (Maybe a) # 
Instance details

Defined in Database.MySQL.Simple.Result

Methods

convert :: Field -> Maybe ByteString -> Maybe a #

Result (Ratio Integer) # 
Instance details

Defined in Database.MySQL.Simple.Result

data ResultError #

Exception thrown if conversion from a SQL value to a Haskell value fails.

Constructors

Incompatible

The SQL and Haskell types are not compatible.

UnexpectedNull

A SQL NULL was encountered when the Haskell type did not permit it.

ConversionFailed

The SQL value could not be parsed, or could not be represented as a valid Haskell value, or an unexpected low-level error occurred (e.g. mismatch between metadata and actual data in a row).