relational-query-0.12.2.0: src/Database/Relational/PureUTF8.hs
{-# OPTIONS_GHC -fno-warn-orphans #-}
-- |
-- Module : Database.Relational.PureUTF8
-- Copyright : 2013-2019 Kei Hibino
-- License : BSD3
--
-- Maintainer : ex8k.hibino@gmail.com
-- Stability : experimental
-- Portability : unknown
--
-- This module defines instances to lift from haskell UTF8 byte-sequence
-- to query internal record values.
-- This module is not defaultly imported to be selectable instance of byte-sequences.
module Database.Relational.PureUTF8 () where
import Control.Applicative (pure)
import Data.ByteString (ByteString)
import qualified Data.ByteString.Lazy as LB
import qualified Data.Text as T
import qualified Data.Text.Encoding as T
import qualified Data.Text.Lazy as LT
import qualified Data.Text.Lazy.Encoding as LT
import qualified Database.Relational.Internal.Literal as Lit
import Database.Relational.ProjectableClass (LiteralSQL (..))
-- | Constant SQL terms of 'ByteString'.
instance LiteralSQL ByteString where
showLiteral' = pure . Lit.stringExpr . T.unpack . T.decodeUtf8
-- | Constant SQL terms of 'LB.ByteString'.
instance LiteralSQL LB.ByteString where
showLiteral' = pure . Lit.stringExpr . LT.unpack . LT.decodeUtf8