mysql-simple-0.4.9: A mid-level MySQL client library.
Copyright(c) 2011 MailRank Inc.
LicenseBSD3
MaintainerPaul Rouse <pyr@doynton.org>
Stabilityexperimental
Portabilityportable
Safe HaskellSafe-Inferred
LanguageHaskell2010

Database.MySQL.Simple.Types

Description

Basic types.

Synopsis

Documentation

data Null Source #

A placeholder for the SQL NULL value.

Constructors

Null 

Instances

Instances details
Read Null Source # 
Instance details

Defined in Database.MySQL.Simple.Types

Show Null Source # 
Instance details

Defined in Database.MySQL.Simple.Types

Methods

showsPrec :: Int -> Null -> ShowS #

show :: Null -> String #

showList :: [Null] -> ShowS #

Eq Null Source # 
Instance details

Defined in Database.MySQL.Simple.Types

Methods

(==) :: Null -> Null -> Bool #

(/=) :: Null -> Null -> Bool #

Param Null Source # 
Instance details

Defined in Database.MySQL.Simple.Param

Methods

render :: Null -> Action Source #

newtype Only a Source #

A single-value "collection".

This is useful if you need to supply a single parameter to a SQL query, or extract a single column from a SQL result.

Parameter example:

query c "select x from scores where x > ?" (Only (42::Int))

Result example:

xs <- query_ c "select id from users"
forM_ xs $ \(Only id) -> {- ... -}

Constructors

Only 

Fields

Instances

Instances details
Functor Only Source # 
Instance details

Defined in Database.MySQL.Simple.Types

Methods

fmap :: (a -> b) -> Only a -> Only b #

(<$) :: a -> Only b -> Only a #

Read a => Read (Only a) Source # 
Instance details

Defined in Database.MySQL.Simple.Types

Show a => Show (Only a) Source # 
Instance details

Defined in Database.MySQL.Simple.Types

Methods

showsPrec :: Int -> Only a -> ShowS #

show :: Only a -> String #

showList :: [Only a] -> ShowS #

Eq a => Eq (Only a) Source # 
Instance details

Defined in Database.MySQL.Simple.Types

Methods

(==) :: Only a -> Only a -> Bool #

(/=) :: Only a -> Only a -> Bool #

Ord a => Ord (Only a) Source # 
Instance details

Defined in Database.MySQL.Simple.Types

Methods

compare :: Only a -> Only a -> Ordering #

(<) :: Only a -> Only a -> Bool #

(<=) :: Only a -> Only a -> Bool #

(>) :: Only a -> Only a -> Bool #

(>=) :: Only a -> Only a -> Bool #

max :: Only a -> Only a -> Only a #

min :: Only a -> Only a -> Only a #

Param a => QueryParams (Only a) Source # 
Instance details

Defined in Database.MySQL.Simple.QueryParams

Methods

renderParams :: Only a -> [Action] Source #

Result a => QueryResults (Only a) Source # 
Instance details

Defined in Database.MySQL.Simple.QueryResults

newtype In a Source #

Wrap a list of values for use in an IN clause. Replaces a single "?" character with a parenthesized list of rendered values.

Example:

query c "select * from whatever where id in ?" (Only (In [3,4,5]))

Constructors

In a 

Instances

Instances details
Functor In Source # 
Instance details

Defined in Database.MySQL.Simple.Types

Methods

fmap :: (a -> b) -> In a -> In b #

(<$) :: a -> In b -> In a #

Read a => Read (In a) Source # 
Instance details

Defined in Database.MySQL.Simple.Types

Show a => Show (In a) Source # 
Instance details

Defined in Database.MySQL.Simple.Types

Methods

showsPrec :: Int -> In a -> ShowS #

show :: In a -> String #

showList :: [In a] -> ShowS #

Eq a => Eq (In a) Source # 
Instance details

Defined in Database.MySQL.Simple.Types

Methods

(==) :: In a -> In a -> Bool #

(/=) :: In a -> In a -> Bool #

Ord a => Ord (In a) Source # 
Instance details

Defined in Database.MySQL.Simple.Types

Methods

compare :: In a -> In a -> Ordering #

(<) :: In a -> In a -> Bool #

(<=) :: In a -> In a -> Bool #

(>) :: In a -> In a -> Bool #

(>=) :: In a -> In a -> Bool #

max :: In a -> In a -> In a #

min :: In a -> In a -> In a #

Param a => Param (In (Set a)) Source # 
Instance details

Defined in Database.MySQL.Simple.Param

Methods

render :: In (Set a) -> Action Source #

Param a => Param (In [a]) Source # 
Instance details

Defined in Database.MySQL.Simple.Param

Methods

render :: In [a] -> Action Source #

newtype VaArgs a Source #

Wrap a list of values for use in a function with variable arguments. Replaces a single "?" character with a non-parenthesized list of rendered values.

Example:

query conn
  "SELECT * FROM example_table ORDER BY field(f,?)"
  (Only (VaArgs [3,2,1]))

Constructors

VaArgs a 

Instances

Instances details
Functor VaArgs Source # 
Instance details

Defined in Database.MySQL.Simple.Types

Methods

fmap :: (a -> b) -> VaArgs a -> VaArgs b #

(<$) :: a -> VaArgs b -> VaArgs a #

Read a => Read (VaArgs a) Source # 
Instance details

Defined in Database.MySQL.Simple.Types

Show a => Show (VaArgs a) Source # 
Instance details

Defined in Database.MySQL.Simple.Types

Methods

showsPrec :: Int -> VaArgs a -> ShowS #

show :: VaArgs a -> String #

showList :: [VaArgs a] -> ShowS #

Eq a => Eq (VaArgs a) Source # 
Instance details

Defined in Database.MySQL.Simple.Types

Methods

(==) :: VaArgs a -> VaArgs a -> Bool #

(/=) :: VaArgs a -> VaArgs a -> Bool #

Ord a => Ord (VaArgs a) Source # 
Instance details

Defined in Database.MySQL.Simple.Types

Methods

compare :: VaArgs a -> VaArgs a -> Ordering #

(<) :: VaArgs a -> VaArgs a -> Bool #

(<=) :: VaArgs a -> VaArgs a -> Bool #

(>) :: VaArgs a -> VaArgs a -> Bool #

(>=) :: VaArgs a -> VaArgs a -> Bool #

max :: VaArgs a -> VaArgs a -> VaArgs a #

min :: VaArgs a -> VaArgs a -> VaArgs a #

Param a => Param (VaArgs [a]) Source # 
Instance details

Defined in Database.MySQL.Simple.Param

Methods

render :: VaArgs [a] -> Action Source #

newtype Binary a Source #

Wrap a mostly-binary string to be escaped in hexadecimal.

Constructors

Binary a 

Instances

Instances details
Functor Binary Source # 
Instance details

Defined in Database.MySQL.Simple.Types

Methods

fmap :: (a -> b) -> Binary a -> Binary b #

(<$) :: a -> Binary b -> Binary a #

Read a => Read (Binary a) Source # 
Instance details

Defined in Database.MySQL.Simple.Types

Show a => Show (Binary a) Source # 
Instance details

Defined in Database.MySQL.Simple.Types

Methods

showsPrec :: Int -> Binary a -> ShowS #

show :: Binary a -> String #

showList :: [Binary a] -> ShowS #

Eq a => Eq (Binary a) Source # 
Instance details

Defined in Database.MySQL.Simple.Types

Methods

(==) :: Binary a -> Binary a -> Bool #

(/=) :: Binary a -> Binary a -> Bool #

Ord a => Ord (Binary a) Source # 
Instance details

Defined in Database.MySQL.Simple.Types

Methods

compare :: Binary a -> Binary a -> Ordering #

(<) :: Binary a -> Binary a -> Bool #

(<=) :: Binary a -> Binary a -> Bool #

(>) :: Binary a -> Binary a -> Bool #

(>=) :: Binary a -> Binary a -> Bool #

max :: Binary a -> Binary a -> Binary a #

min :: Binary a -> Binary a -> Binary a #

Param (Binary ByteString) Source # 
Instance details

Defined in Database.MySQL.Simple.Param

Param (Binary ByteString) Source # 
Instance details

Defined in Database.MySQL.Simple.Param

newtype Query Source #

A query string. This type is intended to make it difficult to construct a SQL query by concatenating string fragments, as that is an extremely common way to accidentally introduce SQL injection vulnerabilities into an application.

This type is an instance of IsString, so the easiest way to construct a query is to enable the OverloadedStrings language extension and then simply write the query in double quotes.

{-# LANGUAGE OverloadedStrings #-}

import Database.MySQL.Simple

q :: Query
q = "select ?"

The underlying type is a ByteString, and literal Haskell strings that contain Unicode characters will be correctly transformed to UTF-8.

Constructors

Query 

Instances

Instances details
IsString Query Source # 
Instance details

Defined in Database.MySQL.Simple.Types

Methods

fromString :: String -> Query #

Monoid Query Source # 
Instance details

Defined in Database.MySQL.Simple.Types

Methods

mempty :: Query #

mappend :: Query -> Query -> Query #

mconcat :: [Query] -> Query #

Semigroup Query Source # 
Instance details

Defined in Database.MySQL.Simple.Types

Methods

(<>) :: Query -> Query -> Query #

sconcat :: NonEmpty Query -> Query #

stimes :: Integral b => b -> Query -> Query #

Read Query Source # 
Instance details

Defined in Database.MySQL.Simple.Types

Show Query Source # 
Instance details

Defined in Database.MySQL.Simple.Types

Methods

showsPrec :: Int -> Query -> ShowS #

show :: Query -> String #

showList :: [Query] -> ShowS #

Eq Query Source # 
Instance details

Defined in Database.MySQL.Simple.Types

Methods

(==) :: Query -> Query -> Bool #

(/=) :: Query -> Query -> Bool #

Ord Query Source # 
Instance details

Defined in Database.MySQL.Simple.Types

Methods

compare :: Query -> Query -> Ordering #

(<) :: Query -> Query -> Bool #

(<=) :: Query -> Query -> Bool #

(>) :: Query -> Query -> Bool #

(>=) :: Query -> Query -> Bool #

max :: Query -> Query -> Query #

min :: Query -> Query -> Query #