postgresql-simple-0.6.1: Mid-Level PostgreSQL client library

Copyright(c) 2011 MailRank Inc.
(c) 2011-2012 Leon P Smith
LicenseBSD3
MaintainerLeon P Smith <leon@melding-monads.com>
Stabilityexperimental
Safe HaskellNone
LanguageHaskell2010

Database.PostgreSQL.Simple.ToField

Description

The ToField typeclass, for rendering a parameter to a SQL query.

Synopsis

Documentation

data Action #

How to render an element when substituting it into a query.

Constructors

Plain Builder

Render without escaping or quoting. Use for non-text types such as numbers, when you are certain that they will not introduce formatting vulnerabilities via use of characters such as spaces or "'".

Escape ByteString

Escape and enclose in quotes before substituting. Use for all text-like types, and anything else that may contain unsafe characters when rendered.

EscapeByteA ByteString

Escape binary data for use as a bytea literal. Include surrounding quotes. This is used by the Binary newtype wrapper.

EscapeIdentifier ByteString

Escape before substituting. Use for all sql identifiers like table, column names, etc. This is used by the Identifier newtype wrapper.

Many [Action]

Concatenate a series of rendering actions.

Instances
Show Action # 
Instance details

Defined in Database.PostgreSQL.Simple.ToField

ToField Action # 
Instance details

Defined in Database.PostgreSQL.Simple.ToField

Methods

toField :: Action -> Action #

class ToField a where #

A type that may be used as a single parameter to a SQL query.

Methods

toField :: a -> Action #

Prepare a value for substitution into a query string.

Instances
ToField Bool # 
Instance details

Defined in Database.PostgreSQL.Simple.ToField

Methods

toField :: Bool -> Action #

ToField Double # 
Instance details

Defined in Database.PostgreSQL.Simple.ToField

Methods

toField :: Double -> Action #

ToField Float # 
Instance details

Defined in Database.PostgreSQL.Simple.ToField

Methods

toField :: Float -> Action #

ToField Int # 
Instance details

Defined in Database.PostgreSQL.Simple.ToField

Methods

toField :: Int -> Action #

ToField Int8 # 
Instance details

Defined in Database.PostgreSQL.Simple.ToField

Methods

toField :: Int8 -> Action #

ToField Int16 # 
Instance details

Defined in Database.PostgreSQL.Simple.ToField

Methods

toField :: Int16 -> Action #

ToField Int32 # 
Instance details

Defined in Database.PostgreSQL.Simple.ToField

Methods

toField :: Int32 -> Action #

ToField Int64 # 
Instance details

Defined in Database.PostgreSQL.Simple.ToField

Methods

toField :: Int64 -> Action #

ToField Integer # 
Instance details

Defined in Database.PostgreSQL.Simple.ToField

Methods

toField :: Integer -> Action #

ToField Word # 
Instance details

Defined in Database.PostgreSQL.Simple.ToField

Methods

toField :: Word -> Action #

ToField Word8 # 
Instance details

Defined in Database.PostgreSQL.Simple.ToField

Methods

toField :: Word8 -> Action #

ToField Word16 # 
Instance details

Defined in Database.PostgreSQL.Simple.ToField

Methods

toField :: Word16 -> Action #

ToField Word32 # 
Instance details

Defined in Database.PostgreSQL.Simple.ToField

Methods

toField :: Word32 -> Action #

ToField Word64 # 
Instance details

Defined in Database.PostgreSQL.Simple.ToField

Methods

toField :: Word64 -> Action #

ToField ByteString # 
Instance details

Defined in Database.PostgreSQL.Simple.ToField

Methods

toField :: ByteString -> Action #

ToField ByteString # 
Instance details

Defined in Database.PostgreSQL.Simple.ToField

Methods

toField :: ByteString -> Action #

ToField Scientific # 
Instance details

Defined in Database.PostgreSQL.Simple.ToField

Methods

toField :: Scientific -> Action #

ToField Text # 
Instance details

Defined in Database.PostgreSQL.Simple.ToField

Methods

toField :: Text -> Action #

ToField UTCTime # 
Instance details

Defined in Database.PostgreSQL.Simple.ToField

Methods

toField :: UTCTime -> Action #

ToField Value # 
Instance details

Defined in Database.PostgreSQL.Simple.ToField

Methods

toField :: Value -> Action #

ToField Text # 
Instance details

Defined in Database.PostgreSQL.Simple.ToField

Methods

toField :: Text -> Action #

ToField Oid # 
Instance details

Defined in Database.PostgreSQL.Simple.ToField

Methods

toField :: Oid -> Action #

ToField ZonedTime # 
Instance details

Defined in Database.PostgreSQL.Simple.ToField

Methods

toField :: ZonedTime -> Action #

ToField LocalTime # 
Instance details

Defined in Database.PostgreSQL.Simple.ToField

Methods

toField :: LocalTime -> Action #

ToField TimeOfDay # 
Instance details

Defined in Database.PostgreSQL.Simple.ToField

Methods

toField :: TimeOfDay -> Action #

ToField NominalDiffTime # 
Instance details

Defined in Database.PostgreSQL.Simple.ToField

ToField Day # 
Instance details

Defined in Database.PostgreSQL.Simple.ToField

Methods

toField :: Day -> Action #

ToField UUID # 
Instance details

Defined in Database.PostgreSQL.Simple.ToField

Methods

toField :: UUID -> Action #

ToField Date # 
Instance details

Defined in Database.PostgreSQL.Simple.ToField

Methods

toField :: Date -> Action #

ToField ZonedTimestamp # 
Instance details

Defined in Database.PostgreSQL.Simple.ToField

ToField UTCTimestamp # 
Instance details

Defined in Database.PostgreSQL.Simple.ToField

ToField LocalTimestamp # 
Instance details

Defined in Database.PostgreSQL.Simple.ToField

ToField QualifiedIdentifier # 
Instance details

Defined in Database.PostgreSQL.Simple.ToField

ToField Identifier # 
Instance details

Defined in Database.PostgreSQL.Simple.ToField

Methods

toField :: Identifier -> Action #

ToField Default # 
Instance details

Defined in Database.PostgreSQL.Simple.ToField

Methods

toField :: Default -> Action #

ToField Null # 
Instance details

Defined in Database.PostgreSQL.Simple.ToField

Methods

toField :: Null -> Action #

ToField Action # 
Instance details

Defined in Database.PostgreSQL.Simple.ToField

Methods

toField :: Action -> Action #

ToField HStoreMap # 
Instance details

Defined in Database.PostgreSQL.Simple.HStore.Implementation

Methods

toField :: HStoreMap -> Action #

ToField HStoreList # 
Instance details

Defined in Database.PostgreSQL.Simple.HStore.Implementation

Methods

toField :: HStoreList -> Action #

ToField HStoreBuilder # 
Instance details

Defined in Database.PostgreSQL.Simple.HStore.Implementation

ToField [Char] # 
Instance details

Defined in Database.PostgreSQL.Simple.ToField

Methods

toField :: [Char] -> Action #

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

Defined in Database.PostgreSQL.Simple.ToField

Methods

toField :: Maybe a -> Action #

ToField (CI Text) #

citext

Instance details

Defined in Database.PostgreSQL.Simple.ToField

Methods

toField :: CI Text -> Action #

ToField (CI Text) #

citext

Instance details

Defined in Database.PostgreSQL.Simple.ToField

Methods

toField :: CI Text -> Action #

ToField a => ToField (Vector a) # 
Instance details

Defined in Database.PostgreSQL.Simple.ToField

Methods

toField :: Vector a -> Action #

ToRow a => ToField (Values a) # 
Instance details

Defined in Database.PostgreSQL.Simple.ToField

Methods

toField :: Values a -> Action #

ToField a => ToField (PGArray a) # 
Instance details

Defined in Database.PostgreSQL.Simple.ToField

Methods

toField :: PGArray a -> Action #

ToField (Binary ByteString) # 
Instance details

Defined in Database.PostgreSQL.Simple.ToField

ToField (Binary ByteString) # 
Instance details

Defined in Database.PostgreSQL.Simple.ToField

ToField a => ToField (In [a]) # 
Instance details

Defined in Database.PostgreSQL.Simple.ToField

Methods

toField :: In [a] -> Action #

ToField (PGRange Double) # 
Instance details

Defined in Database.PostgreSQL.Simple.Range

ToField (PGRange Float) # 
Instance details

Defined in Database.PostgreSQL.Simple.Range

ToField (PGRange Int) # 
Instance details

Defined in Database.PostgreSQL.Simple.Range

Methods

toField :: PGRange Int -> Action #

ToField (PGRange Int8) # 
Instance details

Defined in Database.PostgreSQL.Simple.Range

Methods

toField :: PGRange Int8 -> Action #

ToField (PGRange Int16) # 
Instance details

Defined in Database.PostgreSQL.Simple.Range

ToField (PGRange Int32) # 
Instance details

Defined in Database.PostgreSQL.Simple.Range

ToField (PGRange Int64) # 
Instance details

Defined in Database.PostgreSQL.Simple.Range

ToField (PGRange Integer) # 
Instance details

Defined in Database.PostgreSQL.Simple.Range

ToField (PGRange Word) # 
Instance details

Defined in Database.PostgreSQL.Simple.Range

Methods

toField :: PGRange Word -> Action #

ToField (PGRange Word8) # 
Instance details

Defined in Database.PostgreSQL.Simple.Range

ToField (PGRange Word16) # 
Instance details

Defined in Database.PostgreSQL.Simple.Range

ToField (PGRange Word32) # 
Instance details

Defined in Database.PostgreSQL.Simple.Range

ToField (PGRange Word64) # 
Instance details

Defined in Database.PostgreSQL.Simple.Range

ToField (PGRange Scientific) # 
Instance details

Defined in Database.PostgreSQL.Simple.Range

ToField (PGRange UTCTime) # 
Instance details

Defined in Database.PostgreSQL.Simple.Range

ToField (PGRange ZonedTime) # 
Instance details

Defined in Database.PostgreSQL.Simple.Range

ToField (PGRange LocalTime) # 
Instance details

Defined in Database.PostgreSQL.Simple.Range

ToField (PGRange TimeOfDay) # 
Instance details

Defined in Database.PostgreSQL.Simple.Range

ToField (PGRange NominalDiffTime) # 
Instance details

Defined in Database.PostgreSQL.Simple.Range

ToField (PGRange Day) # 
Instance details

Defined in Database.PostgreSQL.Simple.Range

Methods

toField :: PGRange Day -> Action #

ToField (PGRange Date) # 
Instance details

Defined in Database.PostgreSQL.Simple.Range

Methods

toField :: PGRange Date -> Action #

ToField (PGRange ZonedTimestamp) # 
Instance details

Defined in Database.PostgreSQL.Simple.Range

ToField (PGRange UTCTimestamp) # 
Instance details

Defined in Database.PostgreSQL.Simple.Range

ToField (PGRange LocalTimestamp) # 
Instance details

Defined in Database.PostgreSQL.Simple.Range

toJSONField :: ToJSON a => a -> Action #

Convert a Haskell value to a JSON Value using toJSON and convert that to a field using toField.

This can be used as the default implementation for the toField method for Haskell types that have a JSON representation in PostgreSQL.

inQuotes :: Builder -> Builder #

Surround a string with single-quote characters: "'"

This function does not perform any other escaping.