| Safe Haskell | None |
|---|---|
| Language | Haskell2010 |
Hasql.DynamicStatements.Snippet
Documentation
Composable SQL snippet with parameters injected. Abstracts over placeholders and matching of encoders.
It has an instance of IsString, so having the OverloadedStrings extension enabled
you can use string literals to construct it from string.
Here's an example:
selectSubstring :: Text -> Maybe Int32 -> Maybe Int32 ->SnippetselectSubstring string from to = "select substring(" <>paramstring <>foldMap(\ x -> " from " <>paramx) from <>foldMap(\ x -> " for " <>paramx) to <> ")"
Having a decoder you can lift it into Statement using
dynamicallyParameterized or directly execute it in
Session using
snippet.
param :: Default (Value param) => param -> Snippet Source #
Parameter encoded using an implicitly derived encoder from the type.
nullableParam :: Default (Value param) => Maybe param -> Snippet Source #
Nullable parameter encoded using an implicitly derived encoder from the type.
encoderAndParam :: Value param -> param -> Snippet Source #
Parameter with an explicitly defined encoder.