| Copyright | (c) 2011 MailRank Inc. |
|---|---|
| License | BSD3 |
| Maintainer | Paul Rouse <pyr@doynton.org> |
| Stability | experimental |
| Portability | portable |
| Safe Haskell | Safe-Inferred |
| Language | Haskell2010 |
Database.MySQL.Simple.Types
Description
Basic types.
Documentation
A placeholder for the SQL NULL value.
Constructors
| Null |
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) -> {- ... -}Instances
| Functor Only Source # | |
| Read a => Read (Only a) Source # | |
| Show a => Show (Only a) Source # | |
| Eq a => Eq (Only a) Source # | |
| Ord a => Ord (Only a) Source # | |
| Param a => QueryParams (Only a) Source # | |
Defined in Database.MySQL.Simple.QueryParams Methods renderParams :: Only a -> [Action] Source # | |
| Result a => QueryResults (Only a) Source # | |
Defined in Database.MySQL.Simple.QueryResults Methods convertResults :: [Field] -> [Maybe ByteString] -> Only 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 |
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 |
Wrap a mostly-binary string to be escaped in hexadecimal.
Constructors
| Binary a |
Instances
| Functor Binary Source # | |
| Read a => Read (Binary a) Source # | |
| Show a => Show (Binary a) Source # | |
| Eq a => Eq (Binary a) Source # | |
| Ord a => Ord (Binary a) Source # | |
Defined in Database.MySQL.Simple.Types | |
| Param (Binary ByteString) Source # | |
Defined in Database.MySQL.Simple.Param | |
| Param (Binary ByteString) Source # | |
Defined in Database.MySQL.Simple.Param | |
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 | |
Fields | |