hasql-dynamic-statements-0.3.1: Toolkit for constructing Hasql statements dynamically

Safe HaskellNone
LanguageHaskell2010

Hasql.DynamicStatements.Snippet

Synopsis

Documentation

data Snippet Source #

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 construct it directly from string literals.

Here's an example:

selectSubstring :: Text -> Maybe Int32 -> Maybe Int32 -> Snippet 
selectSubstring string from to =
 "select substring(" <> param  string <>
 foldMap  (\ x -> " from " <> param  x) from <>
 foldMap  (\ x -> " for " <> param  x) to <>
 ")"

Having a decoder you can lift it into Statement using dynamicallyParameterized or directly execute it in Session using dynamicallyParameterizedStatement .

Instances
Instance details

Defined in Hasql.DynamicStatements.Snippet.Defs

Methods

fromString :: String -> Snippet #

Instance details

Defined in Hasql.DynamicStatements.Snippet.Defs

Instance details

Defined in Hasql.DynamicStatements.Snippet.Defs

param :: DefaultParamEncoder param => param -> Snippet Source #

Parameter encoded using an implicitly derived encoder from the type.

encoderAndParam :: NullableOrNot Value param -> param -> Snippet Source #

Parameter with an explicitly defined encoder.

sql :: ByteString -> Snippet Source #

SQL chunk in ASCII.

AltStyle によって変換されたページ (->オリジナル) /