Copyright | (c) Ole Krüger 2016 |
---|---|
License | BSD3 |
Maintainer | Ole Krüger <ole@vprsm.de> |
Safe Haskell | None |
Language | Haskell2010 |
- type QueryBuilder = State BuilderState ()
- insertCode :: ByteString -> QueryBuilder
- insertTypedValue :: TypedValue -> QueryBuilder
- insertValue :: Value -> QueryBuilder
- insertValue' :: ByteString -> Value -> QueryBuilder
- insertQuote :: ByteString -> QueryBuilder
- insertName :: ByteString -> QueryBuilder
- insertCommaSeperated :: [QueryBuilder] -> QueryBuilder
- class FromQueryBuilder a where
Query Builder
type QueryBuilder = State BuilderState () Source #
Query builder
insertCode :: ByteString -> QueryBuilder Source #
Insert a piece of SQL.
insertTypedValue :: TypedValue -> QueryBuilder Source #
Insert a parameter placeholder into the code and attach the typed value to the query.
insertValue :: Value -> QueryBuilder Source #
Same as insertTypedValue
but untyped.
insertValue' :: ByteString -> Value -> QueryBuilder Source #
Extension of insertValue
which will add a type hint to the parameter placeholder.
insertQuote :: ByteString -> QueryBuilder Source #
Insert a quote into the code.
insertName :: ByteString -> QueryBuilder Source #
Insert a name into the code. It will be surrounded by double quotes if necessary.
insertCommaSeperated :: [QueryBuilder] -> QueryBuilder Source #
Join several builders into a comma-seperated list.
Generalized Building
class FromQueryBuilder a where Source #
a
can be instantiated using the query builder.
buildQuery :: QueryBuilder -> a Source #