{-# LANGUAGE CPP #-}
{-# LANGUAGE DataKinds #-}
{-# LANGUAGE FlexibleInstances #-}
{-# LANGUAGE PatternGuards #-}
{-# LANGUAGE ScopedTypeVariables #-}
{-# LANGUAGE TypeOperators #-}
{-# LANGUAGE TypeSynonymInstances #-}
{-# LANGUAGE UndecidableInstances #-}

module Database.Persist.Sql.Class
    ( RawSql (..)
    , PersistFieldSql (..)
    , EntityWithPrefix(..)
    , unPrefix
    ) where

import Data.Bits (bitSizeMaybe)
import Data.ByteString (ByteString)
import Data.Fixed
import Data.Foldable (toList)
import Data.Int
import qualified Data.IntMap as IM
import qualified Data.Map as M
import Data.Maybe (fromMaybe)
import Data.Proxy (Proxy(..))
import qualified Data.Set as S
import Data.Text (Text, intercalate, pack)
import qualified Data.Text as T
import qualified Data.Text.Lazy as TL
import Data.Time (Day, TimeOfDay, UTCTime)
import qualified Data.Vector as V
import Data.Word
import GHC.TypeLits (KnownSymbol, Symbol, symbolVal)
import Text.Blaze.Html (Html)

import Database.Persist
import Database.Persist.Sql.Types


-- | Class for data types that may be retrived from a 'rawSql'
-- query.
class RawSql a where
    -- | Number of columns that this data type needs and the list
    -- of substitutions for @SELECT@ placeholders @??@.
    rawSqlCols :: (Text -> Text) -> a -> (Int, [Text])

    -- | A string telling the user why the column count is what
    -- it is.
    rawSqlColCountReason :: a -> String

    -- | Transform a row of the result into the data type.
    rawSqlProcessRow :: [PersistValue] -> Either Text a

instance PersistField a => RawSql (Single a) where
    rawSqlCols :: (Text -> Text) -> Single a -> (Int, [Text])
rawSqlCols Text -> Text
_ Single a
_         = (Int
1, [])
    rawSqlColCountReason :: Single a -> String
rawSqlColCountReason Single a
_ = String
"one column for a 'Single' data type"
    rawSqlProcessRow :: [PersistValue] -> Either Text (Single a)
rawSqlProcessRow [PersistValue
pv]  = a -> Single a
forall a. a -> Single a
Single (a -> Single a) -> Either Text a -> Either Text (Single a)
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
<$> PersistValue -> Either Text a
forall a. PersistField a => PersistValue -> Either Text a
fromPersistValue PersistValue
pv
    rawSqlProcessRow [PersistValue]
_     = Text -> Either Text (Single a)
forall a b. a -> Either a b
Left (Text -> Either Text (Single a)) -> Text -> Either Text (Single a)
forall a b. (a -> b) -> a -> b
$ String -> Text
pack String
"RawSql (Single a): wrong number of columns."

instance
    (PersistEntity a, PersistEntityBackend a ~ backend, IsPersistBackend backend) =>
    RawSql (Key a) where
    rawSqlCols :: (Text -> Text) -> Key a -> (Int, [Text])
rawSqlCols Text -> Text
_ Key a
key         = ([PersistValue] -> Int
forall (t :: * -> *) a. Foldable t => t a -> Int
length ([PersistValue] -> Int) -> [PersistValue] -> Int
forall a b. (a -> b) -> a -> b
$ Key a -> [PersistValue]
forall record. PersistEntity record => Key record -> [PersistValue]
keyToValues Key a
key, [])
    rawSqlColCountReason :: Key a -> String
rawSqlColCountReason Key a
key = String
"The primary key is composed of "
                               String -> String -> String
forall a. [a] -> [a] -> [a]
++ (Int -> String
forall a. Show a => a -> String
show (Int -> String) -> Int -> String
forall a b. (a -> b) -> a -> b
$ [PersistValue] -> Int
forall (t :: * -> *) a. Foldable t => t a -> Int
length ([PersistValue] -> Int) -> [PersistValue] -> Int
forall a b. (a -> b) -> a -> b
$ Key a -> [PersistValue]
forall record. PersistEntity record => Key record -> [PersistValue]
keyToValues Key a
key)
                               String -> String -> String
forall a. [a] -> [a] -> [a]
++ String
" columns"
    rawSqlProcessRow :: [PersistValue] -> Either Text (Key a)
rawSqlProcessRow         = [PersistValue] -> Either Text (Key a)
forall record.
PersistEntity record =>
[PersistValue] -> Either Text (Key record)
keyFromValues

instance
    (PersistEntity record, PersistEntityBackend record ~ backend, IsPersistBackend backend)
  =>
    RawSql (Entity record)
  where
    rawSqlCols :: (Text -> Text) -> Entity record -> (Int, [Text])
rawSqlCols Text -> Text
escape Entity record
_ent = (NonEmpty Text -> Int
forall (t :: * -> *) a. Foldable t => t a -> Int
length NonEmpty Text
sqlFields, [Text -> [Text] -> Text
intercalate Text
", " ([Text] -> Text) -> [Text] -> Text
forall a b. (a -> b) -> a -> b
$ NonEmpty Text -> [Text]
forall (t :: * -> *) a. Foldable t => t a -> [a]
toList NonEmpty Text
sqlFields])
      where
        sqlFields :: NonEmpty Text
sqlFields =
            (FieldNameDB -> Text) -> NonEmpty FieldNameDB -> NonEmpty Text
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
fmap (((Text
name Text -> Text -> Text
forall a. Semigroup a => a -> a -> a
<> Text
".") Text -> Text -> Text
forall a. Semigroup a => a -> a -> a
<>) (Text -> Text) -> (FieldNameDB -> Text) -> FieldNameDB -> Text
forall b c a. (b -> c) -> (a -> b) -> a -> c
. (Text -> Text) -> FieldNameDB -> Text
forall a str. DatabaseName a => (Text -> str) -> a -> str
escapeWith Text -> Text
escape)
            (NonEmpty FieldNameDB -> NonEmpty Text)
-> NonEmpty FieldNameDB -> NonEmpty Text
forall a b. (a -> b) -> a -> b
$ (FieldDef -> FieldNameDB)
-> NonEmpty FieldDef -> NonEmpty FieldNameDB
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
fmap FieldDef -> FieldNameDB
fieldDB
            (NonEmpty FieldDef -> NonEmpty FieldNameDB)
-> NonEmpty FieldDef -> NonEmpty FieldNameDB
forall a b. (a -> b) -> a -> b
$ EntityDef -> NonEmpty FieldDef
keyAndEntityFields EntityDef
entDef
        name :: Text
name =
            (Text -> Text) -> EntityNameDB -> Text
forall a str. DatabaseName a => (Text -> str) -> a -> str
escapeWith Text -> Text
escape (EntityDef -> EntityNameDB
getEntityDBName EntityDef
entDef)
        entDef :: EntityDef
entDef =
            Maybe record -> EntityDef
forall record (proxy :: * -> *).
PersistEntity record =>
proxy record -> EntityDef
entityDef (Maybe record
forall a. Maybe a
Nothing :: Maybe record)
    rawSqlColCountReason :: Entity record -> String
rawSqlColCountReason Entity record
a =
        case (Int, [Text]) -> Int
forall a b. (a, b) -> a
fst ((Text -> Text) -> Entity record -> (Int, [Text])
forall a. RawSql a => (Text -> Text) -> a -> (Int, [Text])
rawSqlCols (String -> Text -> Text
forall a. HasCallStack => String -> a
error String
"RawSql") Entity record
a) of
          Int
1 -> String
"one column for an 'Entity' data type without fields"
          Int
n -> Int -> String
forall a. Show a => a -> String
show Int
n String -> String -> String
forall a. Semigroup a => a -> a -> a
<> String
" columns for an 'Entity' data type"
    rawSqlProcessRow :: [PersistValue] -> Either Text (Entity record)
rawSqlProcessRow [PersistValue]
row =
        case Maybe (record -> Key record)
forall record. PersistEntity record => Maybe (record -> Key record)
keyFromRecordM of
            Just record -> Key record
mkKey -> do
                record
val <- [PersistValue] -> Either Text record
forall record.
PersistEntity record =>
[PersistValue] -> Either Text record
fromPersistValues [PersistValue]
row
                Entity record -> Either Text (Entity record)
forall (f :: * -> *) a. Applicative f => a -> f a
pure Entity :: forall record. Key record -> record -> Entity record
Entity
                    { entityKey :: Key record
entityKey =
                        record -> Key record
mkKey record
val
                    , entityVal :: record
entityVal =
                        record
val
                    }
            Maybe (record -> Key record)
Nothing ->
                case [PersistValue]
row of
                    (PersistValue
k : [PersistValue]
rest) ->
                        Key record -> record -> Entity record
forall record. Key record -> record -> Entity record
Entity
                            (Key record -> record -> Entity record)
-> Either Text (Key record)
-> Either Text (record -> Entity record)
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
<$> [PersistValue] -> Either Text (Key record)
forall record.
PersistEntity record =>
[PersistValue] -> Either Text (Key record)
keyFromValues [PersistValue
k]
                            Either Text (record -> Entity record)
-> Either Text record -> Either Text (Entity record)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
<*> [PersistValue] -> Either Text record
forall record.
PersistEntity record =>
[PersistValue] -> Either Text record
fromPersistValues [PersistValue]
rest
                    [] ->
                        Text -> Either Text (Entity record)
forall a b. a -> Either a b
Left Text
"Row was empty"

-- | This newtype wrapper is useful when selecting an entity out of the
-- database and you want to provide a prefix to the table being selected.
--
-- Consider this raw SQL query:
--
-- > SELECT ??
-- > FROM my_long_table_name AS mltn
-- > INNER JOIN other_table AS ot
-- >    ON mltn.some_col = ot.other_col
-- > WHERE ...
--
-- We don't want to refer to @my_long_table_name@ every time, so we create
-- an alias. If we want to select it, we have to tell the raw SQL
-- quasi-quoter that we expect the entity to be prefixed with some other
-- name.
--
-- We can give the above query a type with this, like:
--
-- @
-- getStuff :: 'SqlPersistM' ['EntityWithPrefix' \"mltn\" MyLongTableName]
-- getStuff = rawSql queryText []
-- @
--
-- The 'EntityWithPrefix' bit is a boilerplate newtype wrapper, so you can
-- remove it with 'unPrefix', like this:
--
-- @
-- getStuff :: 'SqlPersistM' ['Entity' MyLongTableName]
-- getStuff = 'unPrefix' @\"mltn\" '<$>' 'rawSql' queryText []
-- @
--
-- The @ symbol is a "type application" and requires the @TypeApplications@
-- language extension.
--
-- @since 2.10.5
newtype EntityWithPrefix (prefix :: Symbol) record
    = EntityWithPrefix { EntityWithPrefix prefix record -> Entity record
unEntityWithPrefix :: Entity record }

-- | A helper function to tell GHC what the 'EntityWithPrefix' prefix
-- should be. This allows you to use a type application to specify the
-- prefix, instead of specifying the etype on the result.
--
-- As an example, here's code that uses this:
--
-- @
-- myQuery :: 'SqlPersistM' ['Entity' Person]
-- myQuery = fmap (unPrefix @\"p\") <$> rawSql query []
--   where
--     query = "SELECT ?? FROM person AS p"
-- @
--
-- @since 2.10.5
unPrefix :: forall prefix record. EntityWithPrefix prefix record -> Entity record
unPrefix :: EntityWithPrefix prefix record -> Entity record
unPrefix = EntityWithPrefix prefix record -> Entity record
forall (prefix :: Symbol) record.
EntityWithPrefix prefix record -> Entity record
unEntityWithPrefix

instance
    ( PersistEntity record
    , KnownSymbol prefix
    , PersistEntityBackend record ~ backend
    , IsPersistBackend backend
    )
  =>
    RawSql (EntityWithPrefix prefix record)
  where
    rawSqlCols :: (Text -> Text) -> EntityWithPrefix prefix record -> (Int, [Text])
rawSqlCols Text -> Text
escape EntityWithPrefix prefix record
_ent = (NonEmpty Text -> Int
forall (t :: * -> *) a. Foldable t => t a -> Int
length NonEmpty Text
sqlFields, [Text -> [Text] -> Text
intercalate Text
", " ([Text] -> Text) -> [Text] -> Text
forall a b. (a -> b) -> a -> b
$ NonEmpty Text -> [Text]
forall (t :: * -> *) a. Foldable t => t a -> [a]
toList NonEmpty Text
sqlFields])
      where
          sqlFields :: NonEmpty Text
sqlFields =
              (FieldNameDB -> Text) -> NonEmpty FieldNameDB -> NonEmpty Text
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
fmap (((Text
name Text -> Text -> Text
forall a. Semigroup a => a -> a -> a
<> Text
".") Text -> Text -> Text
forall a. Semigroup a => a -> a -> a
<>) (Text -> Text) -> (FieldNameDB -> Text) -> FieldNameDB -> Text
forall b c a. (b -> c) -> (a -> b) -> a -> c
. (Text -> Text) -> FieldNameDB -> Text
forall a str. DatabaseName a => (Text -> str) -> a -> str
escapeWith Text -> Text
escape)
              (NonEmpty FieldNameDB -> NonEmpty Text)
-> NonEmpty FieldNameDB -> NonEmpty Text
forall a b. (a -> b) -> a -> b
$ (FieldDef -> FieldNameDB)
-> NonEmpty FieldDef -> NonEmpty FieldNameDB
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
fmap FieldDef -> FieldNameDB
fieldDB
              -- Hacky for a composite key because
              -- it selects the same field multiple times
              (NonEmpty FieldDef -> NonEmpty FieldNameDB)
-> NonEmpty FieldDef -> NonEmpty FieldNameDB
forall a b. (a -> b) -> a -> b
$ EntityDef -> NonEmpty FieldDef
keyAndEntityFields EntityDef
entDef
          name :: Text
name =
              String -> Text
pack (String -> Text) -> String -> Text
forall a b. (a -> b) -> a -> b
$ Proxy prefix -> String
forall (n :: Symbol) (proxy :: Symbol -> *).
KnownSymbol n =>
proxy n -> String
symbolVal (Proxy prefix
forall k (t :: k). Proxy t
Proxy :: Proxy prefix)
          entDef :: EntityDef
entDef =
              Maybe record -> EntityDef
forall record (proxy :: * -> *).
PersistEntity record =>
proxy record -> EntityDef
entityDef (Maybe record
forall a. Maybe a
Nothing :: Maybe record)
    rawSqlColCountReason :: EntityWithPrefix prefix record -> String
rawSqlColCountReason EntityWithPrefix prefix record
a =
        case (Int, [Text]) -> Int
forall a b. (a, b) -> a
fst ((Text -> Text) -> EntityWithPrefix prefix record -> (Int, [Text])
forall a. RawSql a => (Text -> Text) -> a -> (Int, [Text])
rawSqlCols (String -> Text -> Text
forall a. HasCallStack => String -> a
error String
"RawSql") EntityWithPrefix prefix record
a) of
            Int
1 -> String
"one column for an 'Entity' data type without fields"
            Int
n -> Int -> String
forall a. Show a => a -> String
show Int
n String -> String -> String
forall a. [a] -> [a] -> [a]
++ String
" columns for an 'Entity' data type"
    rawSqlProcessRow :: [PersistValue] -> Either Text (EntityWithPrefix prefix record)
rawSqlProcessRow [PersistValue]
row =
        case Int -> [PersistValue] -> ([PersistValue], [PersistValue])
forall a. Int -> [a] -> ([a], [a])
splitAt Int
nKeyFields [PersistValue]
row of
            ([PersistValue]
rowKey, [PersistValue]
rowVal) ->
                (Entity record -> EntityWithPrefix prefix record)
-> Either Text (Entity record)
-> Either Text (EntityWithPrefix prefix record)
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
fmap Entity record -> EntityWithPrefix prefix record
forall (prefix :: Symbol) record.
Entity record -> EntityWithPrefix prefix record
EntityWithPrefix (Either Text (Entity record)
 -> Either Text (EntityWithPrefix prefix record))
-> Either Text (Entity record)
-> Either Text (EntityWithPrefix prefix record)
forall a b. (a -> b) -> a -> b
$
                    Key record -> record -> Entity record
forall record. Key record -> record -> Entity record
Entity
                        (Key record -> record -> Entity record)
-> Either Text (Key record)
-> Either Text (record -> Entity record)
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
<$> [PersistValue] -> Either Text (Key record)
forall record.
PersistEntity record =>
[PersistValue] -> Either Text (Key record)
keyFromValues [PersistValue]
rowKey
                        Either Text (record -> Entity record)
-> Either Text record -> Either Text (Entity record)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
<*> [PersistValue] -> Either Text record
forall record.
PersistEntity record =>
[PersistValue] -> Either Text record
fromPersistValues [PersistValue]
rowVal
      where
        nKeyFields :: Int
nKeyFields = NonEmpty FieldDef -> Int
forall (t :: * -> *) a. Foldable t => t a -> Int
length (NonEmpty FieldDef -> Int) -> NonEmpty FieldDef -> Int
forall a b. (a -> b) -> a -> b
$ EntityDef -> NonEmpty FieldDef
getEntityKeyFields EntityDef
entDef
        entDef :: EntityDef
entDef = Maybe record -> EntityDef
forall record (proxy :: * -> *).
PersistEntity record =>
proxy record -> EntityDef
entityDef (Maybe record
forall a. Maybe a
Nothing :: Maybe record)

-- | @since 1.0.1
instance RawSql a => RawSql (Maybe a) where
    rawSqlCols :: (Text -> Text) -> Maybe a -> (Int, [Text])
rawSqlCols Text -> Text
e = (Text -> Text) -> a -> (Int, [Text])
forall a. RawSql a => (Text -> Text) -> a -> (Int, [Text])
rawSqlCols Text -> Text
e (a -> (Int, [Text])) -> (Maybe a -> a) -> Maybe a -> (Int, [Text])
forall b c a. (b -> c) -> (a -> b) -> a -> c
. Maybe a -> a
forall a. Maybe a -> a
extractMaybe
    rawSqlColCountReason :: Maybe a -> String
rawSqlColCountReason = a -> String
forall a. RawSql a => a -> String
rawSqlColCountReason (a -> String) -> (Maybe a -> a) -> Maybe a -> String
forall b c a. (b -> c) -> (a -> b) -> a -> c
. Maybe a -> a
forall a. Maybe a -> a
extractMaybe
    rawSqlProcessRow :: [PersistValue] -> Either Text (Maybe a)
rawSqlProcessRow [PersistValue]
cols
      | (PersistValue -> Bool) -> [PersistValue] -> Bool
forall (t :: * -> *) a. Foldable t => (a -> Bool) -> t a -> Bool
all PersistValue -> Bool
isNull [PersistValue]
cols = Maybe a -> Either Text (Maybe a)
forall (m :: * -> *) a. Monad m => a -> m a
return Maybe a
forall a. Maybe a
Nothing
      | Bool
otherwise       =
        case [PersistValue] -> Either Text a
forall a. RawSql a => [PersistValue] -> Either Text a
rawSqlProcessRow [PersistValue]
cols of
          Right a
v  -> Maybe a -> Either Text (Maybe a)
forall a b. b -> Either a b
Right (a -> Maybe a
forall a. a -> Maybe a
Just a
v)
          Left Text
msg -> Text -> Either Text (Maybe a)
forall a b. a -> Either a b
Left (Text -> Either Text (Maybe a)) -> Text -> Either Text (Maybe a)
forall a b. (a -> b) -> a -> b
$ Text
"RawSql (Maybe a): not all columns were Null " Text -> Text -> Text
forall a. Semigroup a => a -> a -> a
<>
                             Text
"but the inner parser has failed.  Its message " Text -> Text -> Text
forall a. Semigroup a => a -> a -> a
<>
                             Text
"was \"" Text -> Text -> Text
forall a. Semigroup a => a -> a -> a
<> Text
msg Text -> Text -> Text
forall a. Semigroup a => a -> a -> a
<> Text
"\".  Did you apply Maybe " Text -> Text -> Text
forall a. Semigroup a => a -> a -> a
<>
                             Text
"to a tuple, perhaps?  The main use case for " Text -> Text -> Text
forall a. Semigroup a => a -> a -> a
<>
                             Text
"Maybe is to allow OUTER JOINs to be written, " Text -> Text -> Text
forall a. Semigroup a => a -> a -> a
<>
                             Text
"in which case 'Maybe (Entity v)' is used."
      where isNull :: PersistValue -> Bool
isNull PersistValue
PersistNull = Bool
True
            isNull PersistValue
_           = Bool
False

instance (RawSql a, RawSql b) => RawSql (a, b) where
    rawSqlCols :: (Text -> Text) -> (a, b) -> (Int, [Text])
rawSqlCols Text -> Text
e (a, b)
x = (Text -> Text) -> a -> (Int, [Text])
forall a. RawSql a => (Text -> Text) -> a -> (Int, [Text])
rawSqlCols Text -> Text
e ((a, b) -> a
forall a b. (a, b) -> a
fst (a, b)
x) (Int, [Text]) -> (Int, [Text]) -> (Int, [Text])
forall a a. Num a => (a, [a]) -> (a, [a]) -> (a, [a])
# (Text -> Text) -> b -> (Int, [Text])
forall a. RawSql a => (Text -> Text) -> a -> (Int, [Text])
rawSqlCols Text -> Text
e ((a, b) -> b
forall a b. (a, b) -> b
snd (a, b)
x)
        where (a
cnta, [a]
lsta) # :: (a, [a]) -> (a, [a]) -> (a, [a])
# (a
cntb, [a]
lstb) = (a
cnta a -> a -> a
forall a. Num a => a -> a -> a
+ a
cntb, [a]
lsta [a] -> [a] -> [a]
forall a. [a] -> [a] -> [a]
++ [a]
lstb)
    rawSqlColCountReason :: (a, b) -> String
rawSqlColCountReason (a, b)
x = a -> String
forall a. RawSql a => a -> String
rawSqlColCountReason ((a, b) -> a
forall a b. (a, b) -> a
fst (a, b)
x) String -> String -> String
forall a. [a] -> [a] -> [a]
++ String
", " String -> String -> String
forall a. [a] -> [a] -> [a]
++
                             b -> String
forall a. RawSql a => a -> String
rawSqlColCountReason ((a, b) -> b
forall a b. (a, b) -> b
snd (a, b)
x)
    rawSqlProcessRow :: [PersistValue] -> Either Text (a, b)
rawSqlProcessRow =
        let x :: (a, b)
x = ([PersistValue] -> Either Text (a, b)) -> (a, b)
forall z y x. (z -> Either y x) -> x
getType [PersistValue] -> Either Text (a, b)
processRow
            getType :: (z -> Either y x) -> x
            getType :: (z -> Either y x) -> x
getType = String -> (z -> Either y x) -> x
forall a. HasCallStack => String -> a
error String
"RawSql.getType"

            colCountFst :: Int
colCountFst = (Int, [Text]) -> Int
forall a b. (a, b) -> a
fst ((Int, [Text]) -> Int) -> (Int, [Text]) -> Int
forall a b. (a -> b) -> a -> b
$ (Text -> Text) -> a -> (Int, [Text])
forall a. RawSql a => (Text -> Text) -> a -> (Int, [Text])
rawSqlCols (String -> Text -> Text
forall a. HasCallStack => String -> a
error String
"RawSql.getType2") ((a, b) -> a
forall a b. (a, b) -> a
fst (a, b)
x)
            processRow :: [PersistValue] -> Either Text (a, b)
processRow [PersistValue]
row =
                let ([PersistValue]
rowFst, [PersistValue]
rowSnd) = Int -> [PersistValue] -> ([PersistValue], [PersistValue])
forall a. Int -> [a] -> ([a], [a])
splitAt Int
colCountFst [PersistValue]
row
                in (,) (a -> b -> (a, b)) -> Either Text a -> Either Text (b -> (a, b))
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
<$> [PersistValue] -> Either Text a
forall a. RawSql a => [PersistValue] -> Either Text a
rawSqlProcessRow [PersistValue]
rowFst
                       Either Text (b -> (a, b)) -> Either Text b -> Either Text (a, b)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
<*> [PersistValue] -> Either Text b
forall a. RawSql a => [PersistValue] -> Either Text a
rawSqlProcessRow [PersistValue]
rowSnd

        in Int
colCountFst Int
-> ([PersistValue] -> Either Text (a, b))
-> [PersistValue]
-> Either Text (a, b)
`seq` [PersistValue] -> Either Text (a, b)
processRow
           -- Avoids recalculating 'colCountFst'.

instance (RawSql a, RawSql b, RawSql c) => RawSql (a, b, c) where
    rawSqlCols :: (Text -> Text) -> (a, b, c) -> (Int, [Text])
rawSqlCols Text -> Text
e         = (Text -> Text) -> ((a, b), c) -> (Int, [Text])
forall a. RawSql a => (Text -> Text) -> a -> (Int, [Text])
rawSqlCols Text -> Text
e         (((a, b), c) -> (Int, [Text]))
-> ((a, b, c) -> ((a, b), c)) -> (a, b, c) -> (Int, [Text])
forall b c a. (b -> c) -> (a -> b) -> a -> c
. (a, b, c) -> ((a, b), c)
forall a b c. (a, b, c) -> ((a, b), c)
from3
    rawSqlColCountReason :: (a, b, c) -> String
rawSqlColCountReason = ((a, b), c) -> String
forall a. RawSql a => a -> String
rawSqlColCountReason (((a, b), c) -> String)
-> ((a, b, c) -> ((a, b), c)) -> (a, b, c) -> String
forall b c a. (b -> c) -> (a -> b) -> a -> c
. (a, b, c) -> ((a, b), c)
forall a b c. (a, b, c) -> ((a, b), c)
from3
    rawSqlProcessRow :: [PersistValue] -> Either Text (a, b, c)
rawSqlProcessRow     = (((a, b), c) -> (a, b, c))
-> Either Text ((a, b), c) -> Either Text (a, b, c)
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
fmap ((a, b), c) -> (a, b, c)
forall a b c. ((a, b), c) -> (a, b, c)
to3 (Either Text ((a, b), c) -> Either Text (a, b, c))
-> ([PersistValue] -> Either Text ((a, b), c))
-> [PersistValue]
-> Either Text (a, b, c)
forall b c a. (b -> c) -> (a -> b) -> a -> c
. [PersistValue] -> Either Text ((a, b), c)
forall a. RawSql a => [PersistValue] -> Either Text a
rawSqlProcessRow

from3 :: (a,b,c) -> ((a,b),c)
from3 :: (a, b, c) -> ((a, b), c)
from3 (a
a,b
b,c
c) = ((a
a,b
b),c
c)

to3 :: ((a,b),c) -> (a,b,c)
to3 :: ((a, b), c) -> (a, b, c)
to3 ((a
a,b
b),c
c) = (a
a,b
b,c
c)

instance (RawSql a, RawSql b, RawSql c, RawSql d) => RawSql (a, b, c, d) where
    rawSqlCols :: (Text -> Text) -> (a, b, c, d) -> (Int, [Text])
rawSqlCols Text -> Text
e         = (Text -> Text) -> ((a, b), (c, d)) -> (Int, [Text])
forall a. RawSql a => (Text -> Text) -> a -> (Int, [Text])
rawSqlCols Text -> Text
e         (((a, b), (c, d)) -> (Int, [Text]))
-> ((a, b, c, d) -> ((a, b), (c, d)))
-> (a, b, c, d)
-> (Int, [Text])
forall b c a. (b -> c) -> (a -> b) -> a -> c
. (a, b, c, d) -> ((a, b), (c, d))
forall a b c d. (a, b, c, d) -> ((a, b), (c, d))
from4
    rawSqlColCountReason :: (a, b, c, d) -> String
rawSqlColCountReason = ((a, b), (c, d)) -> String
forall a. RawSql a => a -> String
rawSqlColCountReason (((a, b), (c, d)) -> String)
-> ((a, b, c, d) -> ((a, b), (c, d))) -> (a, b, c, d) -> String
forall b c a. (b -> c) -> (a -> b) -> a -> c
. (a, b, c, d) -> ((a, b), (c, d))
forall a b c d. (a, b, c, d) -> ((a, b), (c, d))
from4
    rawSqlProcessRow :: [PersistValue] -> Either Text (a, b, c, d)
rawSqlProcessRow     = (((a, b), (c, d)) -> (a, b, c, d))
-> Either Text ((a, b), (c, d)) -> Either Text (a, b, c, d)
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
fmap ((a, b), (c, d)) -> (a, b, c, d)
forall a b c d. ((a, b), (c, d)) -> (a, b, c, d)
to4 (Either Text ((a, b), (c, d)) -> Either Text (a, b, c, d))
-> ([PersistValue] -> Either Text ((a, b), (c, d)))
-> [PersistValue]
-> Either Text (a, b, c, d)
forall b c a. (b -> c) -> (a -> b) -> a -> c
. [PersistValue] -> Either Text ((a, b), (c, d))
forall a. RawSql a => [PersistValue] -> Either Text a
rawSqlProcessRow

from4 :: (a,b,c,d) -> ((a,b),(c,d))
from4 :: (a, b, c, d) -> ((a, b), (c, d))
from4 (a
a,b
b,c
c,d
d) = ((a
a,b
b),(c
c,d
d))

to4 :: ((a,b),(c,d)) -> (a,b,c,d)
to4 :: ((a, b), (c, d)) -> (a, b, c, d)
to4 ((a
a,b
b),(c
c,d
d)) = (a
a,b
b,c
c,d
d)

instance (RawSql a, RawSql b, RawSql c,
          RawSql d, RawSql e)
       => RawSql (a, b, c, d, e) where
    rawSqlCols :: (Text -> Text) -> (a, b, c, d, e) -> (Int, [Text])
rawSqlCols Text -> Text
e         = (Text -> Text) -> ((a, b), (c, d), e) -> (Int, [Text])
forall a. RawSql a => (Text -> Text) -> a -> (Int, [Text])
rawSqlCols Text -> Text
e         (((a, b), (c, d), e) -> (Int, [Text]))
-> ((a, b, c, d, e) -> ((a, b), (c, d), e))
-> (a, b, c, d, e)
-> (Int, [Text])
forall b c a. (b -> c) -> (a -> b) -> a -> c
. (a, b, c, d, e) -> ((a, b), (c, d), e)
forall a b c d e. (a, b, c, d, e) -> ((a, b), (c, d), e)
from5
    rawSqlColCountReason :: (a, b, c, d, e) -> String
rawSqlColCountReason = ((a, b), (c, d), e) -> String
forall a. RawSql a => a -> String
rawSqlColCountReason (((a, b), (c, d), e) -> String)
-> ((a, b, c, d, e) -> ((a, b), (c, d), e))
-> (a, b, c, d, e)
-> String
forall b c a. (b -> c) -> (a -> b) -> a -> c
. (a, b, c, d, e) -> ((a, b), (c, d), e)
forall a b c d e. (a, b, c, d, e) -> ((a, b), (c, d), e)
from5
    rawSqlProcessRow :: [PersistValue] -> Either Text (a, b, c, d, e)
rawSqlProcessRow     = (((a, b), (c, d), e) -> (a, b, c, d, e))
-> Either Text ((a, b), (c, d), e) -> Either Text (a, b, c, d, e)
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
fmap ((a, b), (c, d), e) -> (a, b, c, d, e)
forall a b c d e. ((a, b), (c, d), e) -> (a, b, c, d, e)
to5 (Either Text ((a, b), (c, d), e) -> Either Text (a, b, c, d, e))
-> ([PersistValue] -> Either Text ((a, b), (c, d), e))
-> [PersistValue]
-> Either Text (a, b, c, d, e)
forall b c a. (b -> c) -> (a -> b) -> a -> c
. [PersistValue] -> Either Text ((a, b), (c, d), e)
forall a. RawSql a => [PersistValue] -> Either Text a
rawSqlProcessRow

from5 :: (a,b,c,d,e) -> ((a,b),(c,d),e)
from5 :: (a, b, c, d, e) -> ((a, b), (c, d), e)
from5 (a
a,b
b,c
c,d
d,e
e) = ((a
a,b
b),(c
c,d
d),e
e)

to5 :: ((a,b),(c,d),e) -> (a,b,c,d,e)
to5 :: ((a, b), (c, d), e) -> (a, b, c, d, e)
to5 ((a
a,b
b),(c
c,d
d),e
e) = (a
a,b
b,c
c,d
d,e
e)

instance (RawSql a, RawSql b, RawSql c,
          RawSql d, RawSql e, RawSql f)
       => RawSql (a, b, c, d, e, f) where
    rawSqlCols :: (Text -> Text) -> (a, b, c, d, e, f) -> (Int, [Text])
rawSqlCols Text -> Text
e         = (Text -> Text) -> ((a, b), (c, d), (e, f)) -> (Int, [Text])
forall a. RawSql a => (Text -> Text) -> a -> (Int, [Text])
rawSqlCols Text -> Text
e         (((a, b), (c, d), (e, f)) -> (Int, [Text]))
-> ((a, b, c, d, e, f) -> ((a, b), (c, d), (e, f)))
-> (a, b, c, d, e, f)
-> (Int, [Text])
forall b c a. (b -> c) -> (a -> b) -> a -> c
. (a, b, c, d, e, f) -> ((a, b), (c, d), (e, f))
forall a b c d e f. (a, b, c, d, e, f) -> ((a, b), (c, d), (e, f))
from6
    rawSqlColCountReason :: (a, b, c, d, e, f) -> String
rawSqlColCountReason = ((a, b), (c, d), (e, f)) -> String
forall a. RawSql a => a -> String
rawSqlColCountReason (((a, b), (c, d), (e, f)) -> String)
-> ((a, b, c, d, e, f) -> ((a, b), (c, d), (e, f)))
-> (a, b, c, d, e, f)
-> String
forall b c a. (b -> c) -> (a -> b) -> a -> c
. (a, b, c, d, e, f) -> ((a, b), (c, d), (e, f))
forall a b c d e f. (a, b, c, d, e, f) -> ((a, b), (c, d), (e, f))
from6
    rawSqlProcessRow :: [PersistValue] -> Either Text (a, b, c, d, e, f)
rawSqlProcessRow     = (((a, b), (c, d), (e, f)) -> (a, b, c, d, e, f))
-> Either Text ((a, b), (c, d), (e, f))
-> Either Text (a, b, c, d, e, f)
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
fmap ((a, b), (c, d), (e, f)) -> (a, b, c, d, e, f)
forall a b c d e f. ((a, b), (c, d), (e, f)) -> (a, b, c, d, e, f)
to6 (Either Text ((a, b), (c, d), (e, f))
 -> Either Text (a, b, c, d, e, f))
-> ([PersistValue] -> Either Text ((a, b), (c, d), (e, f)))
-> [PersistValue]
-> Either Text (a, b, c, d, e, f)
forall b c a. (b -> c) -> (a -> b) -> a -> c
. [PersistValue] -> Either Text ((a, b), (c, d), (e, f))
forall a. RawSql a => [PersistValue] -> Either Text a
rawSqlProcessRow

from6 :: (a,b,c,d,e,f) -> ((a,b),(c,d),(e,f))
from6 :: (a, b, c, d, e, f) -> ((a, b), (c, d), (e, f))
from6 (a
a,b
b,c
c,d
d,e
e,f
f) = ((a
a,b
b),(c
c,d
d),(e
e,f
f))

to6 :: ((a,b),(c,d),(e,f)) -> (a,b,c,d,e,f)
to6 :: ((a, b), (c, d), (e, f)) -> (a, b, c, d, e, f)
to6 ((a
a,b
b),(c
c,d
d),(e
e,f
f)) = (a
a,b
b,c
c,d
d,e
e,f
f)

instance (RawSql a, RawSql b, RawSql c,
          RawSql d, RawSql e, RawSql f,
          RawSql g)
       => RawSql (a, b, c, d, e, f, g) where
    rawSqlCols :: (Text -> Text) -> (a, b, c, d, e, f, g) -> (Int, [Text])
rawSqlCols Text -> Text
e         = (Text -> Text) -> ((a, b), (c, d), (e, f), g) -> (Int, [Text])
forall a. RawSql a => (Text -> Text) -> a -> (Int, [Text])
rawSqlCols Text -> Text
e         (((a, b), (c, d), (e, f), g) -> (Int, [Text]))
-> ((a, b, c, d, e, f, g) -> ((a, b), (c, d), (e, f), g))
-> (a, b, c, d, e, f, g)
-> (Int, [Text])
forall b c a. (b -> c) -> (a -> b) -> a -> c
. (a, b, c, d, e, f, g) -> ((a, b), (c, d), (e, f), g)
forall a b c d e f g.
(a, b, c, d, e, f, g) -> ((a, b), (c, d), (e, f), g)
from7
    rawSqlColCountReason :: (a, b, c, d, e, f, g) -> String
rawSqlColCountReason = ((a, b), (c, d), (e, f), g) -> String
forall a. RawSql a => a -> String
rawSqlColCountReason (((a, b), (c, d), (e, f), g) -> String)
-> ((a, b, c, d, e, f, g) -> ((a, b), (c, d), (e, f), g))
-> (a, b, c, d, e, f, g)
-> String
forall b c a. (b -> c) -> (a -> b) -> a -> c
. (a, b, c, d, e, f, g) -> ((a, b), (c, d), (e, f), g)
forall a b c d e f g.
(a, b, c, d, e, f, g) -> ((a, b), (c, d), (e, f), g)
from7
    rawSqlProcessRow :: [PersistValue] -> Either Text (a, b, c, d, e, f, g)
rawSqlProcessRow     = (((a, b), (c, d), (e, f), g) -> (a, b, c, d, e, f, g))
-> Either Text ((a, b), (c, d), (e, f), g)
-> Either Text (a, b, c, d, e, f, g)
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
fmap ((a, b), (c, d), (e, f), g) -> (a, b, c, d, e, f, g)
forall a b c d e f g.
((a, b), (c, d), (e, f), g) -> (a, b, c, d, e, f, g)
to7 (Either Text ((a, b), (c, d), (e, f), g)
 -> Either Text (a, b, c, d, e, f, g))
-> ([PersistValue] -> Either Text ((a, b), (c, d), (e, f), g))
-> [PersistValue]
-> Either Text (a, b, c, d, e, f, g)
forall b c a. (b -> c) -> (a -> b) -> a -> c
. [PersistValue] -> Either Text ((a, b), (c, d), (e, f), g)
forall a. RawSql a => [PersistValue] -> Either Text a
rawSqlProcessRow

from7 :: (a,b,c,d,e,f,g) -> ((a,b),(c,d),(e,f),g)
from7 :: (a, b, c, d, e, f, g) -> ((a, b), (c, d), (e, f), g)
from7 (a
a,b
b,c
c,d
d,e
e,f
f,g
g) = ((a
a,b
b),(c
c,d
d),(e
e,f
f),g
g)

to7 :: ((a,b),(c,d),(e,f),g) -> (a,b,c,d,e,f,g)
to7 :: ((a, b), (c, d), (e, f), g) -> (a, b, c, d, e, f, g)
to7 ((a
a,b
b),(c
c,d
d),(e
e,f
f),g
g) = (a
a,b
b,c
c,d
d,e
e,f
f,g
g)

instance (RawSql a, RawSql b, RawSql c,
          RawSql d, RawSql e, RawSql f,
          RawSql g, RawSql h)
       => RawSql (a, b, c, d, e, f, g, h) where
    rawSqlCols :: (Text -> Text) -> (a, b, c, d, e, f, g, h) -> (Int, [Text])
rawSqlCols Text -> Text
e         = (Text -> Text) -> ((a, b), (c, d), (e, f), (g, h)) -> (Int, [Text])
forall a. RawSql a => (Text -> Text) -> a -> (Int, [Text])
rawSqlCols Text -> Text
e         (((a, b), (c, d), (e, f), (g, h)) -> (Int, [Text]))
-> ((a, b, c, d, e, f, g, h) -> ((a, b), (c, d), (e, f), (g, h)))
-> (a, b, c, d, e, f, g, h)
-> (Int, [Text])
forall b c a. (b -> c) -> (a -> b) -> a -> c
. (a, b, c, d, e, f, g, h) -> ((a, b), (c, d), (e, f), (g, h))
forall a b c d e f g h.
(a, b, c, d, e, f, g, h) -> ((a, b), (c, d), (e, f), (g, h))
from8
    rawSqlColCountReason :: (a, b, c, d, e, f, g, h) -> String
rawSqlColCountReason = ((a, b), (c, d), (e, f), (g, h)) -> String
forall a. RawSql a => a -> String
rawSqlColCountReason (((a, b), (c, d), (e, f), (g, h)) -> String)
-> ((a, b, c, d, e, f, g, h) -> ((a, b), (c, d), (e, f), (g, h)))
-> (a, b, c, d, e, f, g, h)
-> String
forall b c a. (b -> c) -> (a -> b) -> a -> c
. (a, b, c, d, e, f, g, h) -> ((a, b), (c, d), (e, f), (g, h))
forall a b c d e f g h.
(a, b, c, d, e, f, g, h) -> ((a, b), (c, d), (e, f), (g, h))
from8
    rawSqlProcessRow :: [PersistValue] -> Either Text (a, b, c, d, e, f, g, h)
rawSqlProcessRow     = (((a, b), (c, d), (e, f), (g, h)) -> (a, b, c, d, e, f, g, h))
-> Either Text ((a, b), (c, d), (e, f), (g, h))
-> Either Text (a, b, c, d, e, f, g, h)
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
fmap ((a, b), (c, d), (e, f), (g, h)) -> (a, b, c, d, e, f, g, h)
forall a b c d e f g h.
((a, b), (c, d), (e, f), (g, h)) -> (a, b, c, d, e, f, g, h)
to8 (Either Text ((a, b), (c, d), (e, f), (g, h))
 -> Either Text (a, b, c, d, e, f, g, h))
-> ([PersistValue] -> Either Text ((a, b), (c, d), (e, f), (g, h)))
-> [PersistValue]
-> Either Text (a, b, c, d, e, f, g, h)
forall b c a. (b -> c) -> (a -> b) -> a -> c
. [PersistValue] -> Either Text ((a, b), (c, d), (e, f), (g, h))
forall a. RawSql a => [PersistValue] -> Either Text a
rawSqlProcessRow

from8 :: (a,b,c,d,e,f,g,h) -> ((a,b),(c,d),(e,f),(g,h))
from8 :: (a, b, c, d, e, f, g, h) -> ((a, b), (c, d), (e, f), (g, h))
from8 (a
a,b
b,c
c,d
d,e
e,f
f,g
g,h
h) = ((a
a,b
b),(c
c,d
d),(e
e,f
f),(g
g,h
h))

to8 :: ((a,b),(c,d),(e,f),(g,h)) -> (a,b,c,d,e,f,g,h)
to8 :: ((a, b), (c, d), (e, f), (g, h)) -> (a, b, c, d, e, f, g, h)
to8 ((a
a,b
b),(c
c,d
d),(e
e,f
f),(g
g,h
h)) = (a
a,b
b,c
c,d
d,e
e,f
f,g
g,h
h)

-- | @since 2.10.2
instance (RawSql a, RawSql b, RawSql c,
          RawSql d, RawSql e, RawSql f,
          RawSql g, RawSql h, RawSql i)
       => RawSql (a, b, c, d, e, f, g, h, i) where
    rawSqlCols :: (Text -> Text) -> (a, b, c, d, e, f, g, h, i) -> (Int, [Text])
rawSqlCols Text -> Text
e         = (Text -> Text)
-> ((a, b), (c, d), (e, f), (g, h), i) -> (Int, [Text])
forall a. RawSql a => (Text -> Text) -> a -> (Int, [Text])
rawSqlCols Text -> Text
e         (((a, b), (c, d), (e, f), (g, h), i) -> (Int, [Text]))
-> ((a, b, c, d, e, f, g, h, i)
    -> ((a, b), (c, d), (e, f), (g, h), i))
-> (a, b, c, d, e, f, g, h, i)
-> (Int, [Text])
forall b c a. (b -> c) -> (a -> b) -> a -> c
. (a, b, c, d, e, f, g, h, i) -> ((a, b), (c, d), (e, f), (g, h), i)
forall a b c d e f g h i.
(a, b, c, d, e, f, g, h, i) -> ((a, b), (c, d), (e, f), (g, h), i)
from9
    rawSqlColCountReason :: (a, b, c, d, e, f, g, h, i) -> String
rawSqlColCountReason = ((a, b), (c, d), (e, f), (g, h), i) -> String
forall a. RawSql a => a -> String
rawSqlColCountReason (((a, b), (c, d), (e, f), (g, h), i) -> String)
-> ((a, b, c, d, e, f, g, h, i)
    -> ((a, b), (c, d), (e, f), (g, h), i))
-> (a, b, c, d, e, f, g, h, i)
-> String
forall b c a. (b -> c) -> (a -> b) -> a -> c
. (a, b, c, d, e, f, g, h, i) -> ((a, b), (c, d), (e, f), (g, h), i)
forall a b c d e f g h i.
(a, b, c, d, e, f, g, h, i) -> ((a, b), (c, d), (e, f), (g, h), i)
from9
    rawSqlProcessRow :: [PersistValue] -> Either Text (a, b, c, d, e, f, g, h, i)
rawSqlProcessRow     = (((a, b), (c, d), (e, f), (g, h), i)
 -> (a, b, c, d, e, f, g, h, i))
-> Either Text ((a, b), (c, d), (e, f), (g, h), i)
-> Either Text (a, b, c, d, e, f, g, h, i)
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
fmap ((a, b), (c, d), (e, f), (g, h), i) -> (a, b, c, d, e, f, g, h, i)
forall a b c d e f g h i.
((a, b), (c, d), (e, f), (g, h), i) -> (a, b, c, d, e, f, g, h, i)
to9 (Either Text ((a, b), (c, d), (e, f), (g, h), i)
 -> Either Text (a, b, c, d, e, f, g, h, i))
-> ([PersistValue]
    -> Either Text ((a, b), (c, d), (e, f), (g, h), i))
-> [PersistValue]
-> Either Text (a, b, c, d, e, f, g, h, i)
forall b c a. (b -> c) -> (a -> b) -> a -> c
. [PersistValue] -> Either Text ((a, b), (c, d), (e, f), (g, h), i)
forall a. RawSql a => [PersistValue] -> Either Text a
rawSqlProcessRow

-- | @since 2.10.2
from9 :: (a,b,c,d,e,f,g,h,i) -> ((a,b),(c,d),(e,f),(g,h),i)
from9 :: (a, b, c, d, e, f, g, h, i) -> ((a, b), (c, d), (e, f), (g, h), i)
from9 (a
a,b
b,c
c,d
d,e
e,f
f,g
g,h
h,i
i) = ((a
a,b
b),(c
c,d
d),(e
e,f
f),(g
g,h
h),i
i)

-- | @since 2.10.2
to9 :: ((a,b),(c,d),(e,f),(g,h),i) -> (a,b,c,d,e,f,g,h,i)
to9 :: ((a, b), (c, d), (e, f), (g, h), i) -> (a, b, c, d, e, f, g, h, i)
to9 ((a
a,b
b),(c
c,d
d),(e
e,f
f),(g
g,h
h),i
i) = (a
a,b
b,c
c,d
d,e
e,f
f,g
g,h
h,i
i)

-- | @since 2.10.2
instance (RawSql a, RawSql b, RawSql c,
          RawSql d, RawSql e, RawSql f,
          RawSql g, RawSql h, RawSql i,
          RawSql j)
       => RawSql (a, b, c, d, e, f, g, h, i, j) where
    rawSqlCols :: (Text -> Text) -> (a, b, c, d, e, f, g, h, i, j) -> (Int, [Text])
rawSqlCols Text -> Text
e         = (Text -> Text)
-> ((a, b), (c, d), (e, f), (g, h), (i, j)) -> (Int, [Text])
forall a. RawSql a => (Text -> Text) -> a -> (Int, [Text])
rawSqlCols Text -> Text
e         (((a, b), (c, d), (e, f), (g, h), (i, j)) -> (Int, [Text]))
-> ((a, b, c, d, e, f, g, h, i, j)
    -> ((a, b), (c, d), (e, f), (g, h), (i, j)))
-> (a, b, c, d, e, f, g, h, i, j)
-> (Int, [Text])
forall b c a. (b -> c) -> (a -> b) -> a -> c
. (a, b, c, d, e, f, g, h, i, j)
-> ((a, b), (c, d), (e, f), (g, h), (i, j))
forall a b c d e f g h i j.
(a, b, c, d, e, f, g, h, i, j)
-> ((a, b), (c, d), (e, f), (g, h), (i, j))
from10
    rawSqlColCountReason :: (a, b, c, d, e, f, g, h, i, j) -> String
rawSqlColCountReason = ((a, b), (c, d), (e, f), (g, h), (i, j)) -> String
forall a. RawSql a => a -> String
rawSqlColCountReason (((a, b), (c, d), (e, f), (g, h), (i, j)) -> String)
-> ((a, b, c, d, e, f, g, h, i, j)
    -> ((a, b), (c, d), (e, f), (g, h), (i, j)))
-> (a, b, c, d, e, f, g, h, i, j)
-> String
forall b c a. (b -> c) -> (a -> b) -> a -> c
. (a, b, c, d, e, f, g, h, i, j)
-> ((a, b), (c, d), (e, f), (g, h), (i, j))
forall a b c d e f g h i j.
(a, b, c, d, e, f, g, h, i, j)
-> ((a, b), (c, d), (e, f), (g, h), (i, j))
from10
    rawSqlProcessRow :: [PersistValue] -> Either Text (a, b, c, d, e, f, g, h, i, j)
rawSqlProcessRow     = (((a, b), (c, d), (e, f), (g, h), (i, j))
 -> (a, b, c, d, e, f, g, h, i, j))
-> Either Text ((a, b), (c, d), (e, f), (g, h), (i, j))
-> Either Text (a, b, c, d, e, f, g, h, i, j)
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
fmap ((a, b), (c, d), (e, f), (g, h), (i, j))
-> (a, b, c, d, e, f, g, h, i, j)
forall a b c d e f g h i j.
((a, b), (c, d), (e, f), (g, h), (i, j))
-> (a, b, c, d, e, f, g, h, i, j)
to10 (Either Text ((a, b), (c, d), (e, f), (g, h), (i, j))
 -> Either Text (a, b, c, d, e, f, g, h, i, j))
-> ([PersistValue]
    -> Either Text ((a, b), (c, d), (e, f), (g, h), (i, j)))
-> [PersistValue]
-> Either Text (a, b, c, d, e, f, g, h, i, j)
forall b c a. (b -> c) -> (a -> b) -> a -> c
. [PersistValue]
-> Either Text ((a, b), (c, d), (e, f), (g, h), (i, j))
forall a. RawSql a => [PersistValue] -> Either Text a
rawSqlProcessRow

-- | @since 2.10.2
from10 :: (a,b,c,d,e,f,g,h,i,j) -> ((a,b),(c,d),(e,f),(g,h),(i,j))
from10 :: (a, b, c, d, e, f, g, h, i, j)
-> ((a, b), (c, d), (e, f), (g, h), (i, j))
from10 (a
a,b
b,c
c,d
d,e
e,f
f,g
g,h
h,i
i,j
j) = ((a
a,b
b),(c
c,d
d),(e
e,f
f),(g
g,h
h),(i
i,j
j))

-- | @since 2.10.2
to10 :: ((a,b),(c,d),(e,f),(g,h),(i,j)) -> (a,b,c,d,e,f,g,h,i,j)
to10 :: ((a, b), (c, d), (e, f), (g, h), (i, j))
-> (a, b, c, d, e, f, g, h, i, j)
to10 ((a
a,b
b),(c
c,d
d),(e
e,f
f),(g
g,h
h),(i
i,j
j)) = (a
a,b
b,c
c,d
d,e
e,f
f,g
g,h
h,i
i,j
j)

-- | @since 2.10.2
instance (RawSql a, RawSql b, RawSql c,
          RawSql d, RawSql e, RawSql f,
          RawSql g, RawSql h, RawSql i,
          RawSql j, RawSql k)
       => RawSql (a, b, c, d, e, f, g, h, i, j, k) where
    rawSqlCols :: (Text -> Text)
-> (a, b, c, d, e, f, g, h, i, j, k) -> (Int, [Text])
rawSqlCols Text -> Text
e         = (Text -> Text)
-> ((a, b), (c, d), (e, f), (g, h), (i, j), k) -> (Int, [Text])
forall a. RawSql a => (Text -> Text) -> a -> (Int, [Text])
rawSqlCols Text -> Text
e         (((a, b), (c, d), (e, f), (g, h), (i, j), k) -> (Int, [Text]))
-> ((a, b, c, d, e, f, g, h, i, j, k)
    -> ((a, b), (c, d), (e, f), (g, h), (i, j), k))
-> (a, b, c, d, e, f, g, h, i, j, k)
-> (Int, [Text])
forall b c a. (b -> c) -> (a -> b) -> a -> c
. (a, b, c, d, e, f, g, h, i, j, k)
-> ((a, b), (c, d), (e, f), (g, h), (i, j), k)
forall a b c d e f g h i j k.
(a, b, c, d, e, f, g, h, i, j, k)
-> ((a, b), (c, d), (e, f), (g, h), (i, j), k)
from11
    rawSqlColCountReason :: (a, b, c, d, e, f, g, h, i, j, k) -> String
rawSqlColCountReason = ((a, b), (c, d), (e, f), (g, h), (i, j), k) -> String
forall a. RawSql a => a -> String
rawSqlColCountReason (((a, b), (c, d), (e, f), (g, h), (i, j), k) -> String)
-> ((a, b, c, d, e, f, g, h, i, j, k)
    -> ((a, b), (c, d), (e, f), (g, h), (i, j), k))
-> (a, b, c, d, e, f, g, h, i, j, k)
-> String
forall b c a. (b -> c) -> (a -> b) -> a -> c
. (a, b, c, d, e, f, g, h, i, j, k)
-> ((a, b), (c, d), (e, f), (g, h), (i, j), k)
forall a b c d e f g h i j k.
(a, b, c, d, e, f, g, h, i, j, k)
-> ((a, b), (c, d), (e, f), (g, h), (i, j), k)
from11
    rawSqlProcessRow :: [PersistValue] -> Either Text (a, b, c, d, e, f, g, h, i, j, k)
rawSqlProcessRow     = (((a, b), (c, d), (e, f), (g, h), (i, j), k)
 -> (a, b, c, d, e, f, g, h, i, j, k))
-> Either Text ((a, b), (c, d), (e, f), (g, h), (i, j), k)
-> Either Text (a, b, c, d, e, f, g, h, i, j, k)
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
fmap ((a, b), (c, d), (e, f), (g, h), (i, j), k)
-> (a, b, c, d, e, f, g, h, i, j, k)
forall a b c d e f g h i j k.
((a, b), (c, d), (e, f), (g, h), (i, j), k)
-> (a, b, c, d, e, f, g, h, i, j, k)
to11 (Either Text ((a, b), (c, d), (e, f), (g, h), (i, j), k)
 -> Either Text (a, b, c, d, e, f, g, h, i, j, k))
-> ([PersistValue]
    -> Either Text ((a, b), (c, d), (e, f), (g, h), (i, j), k))
-> [PersistValue]
-> Either Text (a, b, c, d, e, f, g, h, i, j, k)
forall b c a. (b -> c) -> (a -> b) -> a -> c
. [PersistValue]
-> Either Text ((a, b), (c, d), (e, f), (g, h), (i, j), k)
forall a. RawSql a => [PersistValue] -> Either Text a
rawSqlProcessRow

-- | @since 2.10.2
from11 :: (a,b,c,d,e,f,g,h,i,j,k) -> ((a,b),(c,d),(e,f),(g,h),(i,j),k)
from11 :: (a, b, c, d, e, f, g, h, i, j, k)
-> ((a, b), (c, d), (e, f), (g, h), (i, j), k)
from11 (a
a,b
b,c
c,d
d,e
e,f
f,g
g,h
h,i
i,j
j,k
k) = ((a
a,b
b),(c
c,d
d),(e
e,f
f),(g
g,h
h),(i
i,j
j),k
k)

-- | @since 2.10.2
to11 :: ((a,b),(c,d),(e,f),(g,h),(i,j),k) -> (a,b,c,d,e,f,g,h,i,j,k)
to11 :: ((a, b), (c, d), (e, f), (g, h), (i, j), k)
-> (a, b, c, d, e, f, g, h, i, j, k)
to11 ((a
a,b
b),(c
c,d
d),(e
e,f
f),(g
g,h
h),(i
i,j
j),k
k) = (a
a,b
b,c
c,d
d,e
e,f
f,g
g,h
h,i
i,j
j,k
k)

-- | @since 2.10.2
instance (RawSql a, RawSql b, RawSql c,
          RawSql d, RawSql e, RawSql f,
          RawSql g, RawSql h, RawSql i,
          RawSql j, RawSql k, RawSql l)
       => RawSql (a, b, c, d, e, f, g, h, i, j, k, l) where
    rawSqlCols :: (Text -> Text)
-> (a, b, c, d, e, f, g, h, i, j, k, l) -> (Int, [Text])
rawSqlCols Text -> Text
e         = (Text -> Text)
-> ((a, b), (c, d), (e, f), (g, h), (i, j), (k, l))
-> (Int, [Text])
forall a. RawSql a => (Text -> Text) -> a -> (Int, [Text])
rawSqlCols Text -> Text
e         (((a, b), (c, d), (e, f), (g, h), (i, j), (k, l)) -> (Int, [Text]))
-> ((a, b, c, d, e, f, g, h, i, j, k, l)
    -> ((a, b), (c, d), (e, f), (g, h), (i, j), (k, l)))
-> (a, b, c, d, e, f, g, h, i, j, k, l)
-> (Int, [Text])
forall b c a. (b -> c) -> (a -> b) -> a -> c
. (a, b, c, d, e, f, g, h, i, j, k, l)
-> ((a, b), (c, d), (e, f), (g, h), (i, j), (k, l))
forall a b c d e f g h i j k l.
(a, b, c, d, e, f, g, h, i, j, k, l)
-> ((a, b), (c, d), (e, f), (g, h), (i, j), (k, l))
from12
    rawSqlColCountReason :: (a, b, c, d, e, f, g, h, i, j, k, l) -> String
rawSqlColCountReason = ((a, b), (c, d), (e, f), (g, h), (i, j), (k, l)) -> String
forall a. RawSql a => a -> String
rawSqlColCountReason (((a, b), (c, d), (e, f), (g, h), (i, j), (k, l)) -> String)
-> ((a, b, c, d, e, f, g, h, i, j, k, l)
    -> ((a, b), (c, d), (e, f), (g, h), (i, j), (k, l)))
-> (a, b, c, d, e, f, g, h, i, j, k, l)
-> String
forall b c a. (b -> c) -> (a -> b) -> a -> c
. (a, b, c, d, e, f, g, h, i, j, k, l)
-> ((a, b), (c, d), (e, f), (g, h), (i, j), (k, l))
forall a b c d e f g h i j k l.
(a, b, c, d, e, f, g, h, i, j, k, l)
-> ((a, b), (c, d), (e, f), (g, h), (i, j), (k, l))
from12
    rawSqlProcessRow :: [PersistValue] -> Either Text (a, b, c, d, e, f, g, h, i, j, k, l)
rawSqlProcessRow     = (((a, b), (c, d), (e, f), (g, h), (i, j), (k, l))
 -> (a, b, c, d, e, f, g, h, i, j, k, l))
-> Either Text ((a, b), (c, d), (e, f), (g, h), (i, j), (k, l))
-> Either Text (a, b, c, d, e, f, g, h, i, j, k, l)
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
fmap ((a, b), (c, d), (e, f), (g, h), (i, j), (k, l))
-> (a, b, c, d, e, f, g, h, i, j, k, l)
forall a b c d e f g h i j k l.
((a, b), (c, d), (e, f), (g, h), (i, j), (k, l))
-> (a, b, c, d, e, f, g, h, i, j, k, l)
to12 (Either Text ((a, b), (c, d), (e, f), (g, h), (i, j), (k, l))
 -> Either Text (a, b, c, d, e, f, g, h, i, j, k, l))
-> ([PersistValue]
    -> Either Text ((a, b), (c, d), (e, f), (g, h), (i, j), (k, l)))
-> [PersistValue]
-> Either Text (a, b, c, d, e, f, g, h, i, j, k, l)
forall b c a. (b -> c) -> (a -> b) -> a -> c
. [PersistValue]
-> Either Text ((a, b), (c, d), (e, f), (g, h), (i, j), (k, l))
forall a. RawSql a => [PersistValue] -> Either Text a
rawSqlProcessRow

-- | @since 2.10.2
from12 :: (a,b,c,d,e,f,g,h,i,j,k,l) -> ((a,b),(c,d),(e,f),(g,h),(i,j),(k,l))
from12 :: (a, b, c, d, e, f, g, h, i, j, k, l)
-> ((a, b), (c, d), (e, f), (g, h), (i, j), (k, l))
from12 (a
a,b
b,c
c,d
d,e
e,f
f,g
g,h
h,i
i,j
j,k
k,l
l) = ((a
a,b
b),(c
c,d
d),(e
e,f
f),(g
g,h
h),(i
i,j
j),(k
k,l
l))

-- | @since 2.10.2
to12 :: ((a,b),(c,d),(e,f),(g,h),(i,j),(k,l)) -> (a,b,c,d,e,f,g,h,i,j,k,l)
to12 :: ((a, b), (c, d), (e, f), (g, h), (i, j), (k, l))
-> (a, b, c, d, e, f, g, h, i, j, k, l)
to12 ((a
a,b
b),(c
c,d
d),(e
e,f
f),(g
g,h
h),(i
i,j
j),(k
k,l
l)) = (a
a,b
b,c
c,d
d,e
e,f
f,g
g,h
h,i
i,j
j,k
k,l
l)

-- | @since 2.11.0
instance (RawSql a, RawSql b, RawSql c, RawSql d, RawSql e, RawSql f, RawSql g, RawSql h, RawSql i, RawSql j, RawSql k, RawSql l, RawSql m)
      => RawSql (a, b, c, d, e, f, g, h, i, j, k, l, m) where
    rawSqlCols :: (Text -> Text)
-> (a, b, c, d, e, f, g, h, i, j, k, l, m) -> (Int, [Text])
rawSqlCols Text -> Text
e         = (Text -> Text)
-> ((a, b), (c, d), (e, f), (g, h), (i, j), (k, l), m)
-> (Int, [Text])
forall a. RawSql a => (Text -> Text) -> a -> (Int, [Text])
rawSqlCols Text -> Text
e         (((a, b), (c, d), (e, f), (g, h), (i, j), (k, l), m)
 -> (Int, [Text]))
-> ((a, b, c, d, e, f, g, h, i, j, k, l, m)
    -> ((a, b), (c, d), (e, f), (g, h), (i, j), (k, l), m))
-> (a, b, c, d, e, f, g, h, i, j, k, l, m)
-> (Int, [Text])
forall b c a. (b -> c) -> (a -> b) -> a -> c
. (a, b, c, d, e, f, g, h, i, j, k, l, m)
-> ((a, b), (c, d), (e, f), (g, h), (i, j), (k, l), m)
forall a b c d e f g h i j k l m.
(a, b, c, d, e, f, g, h, i, j, k, l, m)
-> ((a, b), (c, d), (e, f), (g, h), (i, j), (k, l), m)
from13
    rawSqlColCountReason :: (a, b, c, d, e, f, g, h, i, j, k, l, m) -> String
rawSqlColCountReason = ((a, b), (c, d), (e, f), (g, h), (i, j), (k, l), m) -> String
forall a. RawSql a => a -> String
rawSqlColCountReason (((a, b), (c, d), (e, f), (g, h), (i, j), (k, l), m) -> String)
-> ((a, b, c, d, e, f, g, h, i, j, k, l, m)
    -> ((a, b), (c, d), (e, f), (g, h), (i, j), (k, l), m))
-> (a, b, c, d, e, f, g, h, i, j, k, l, m)
-> String
forall b c a. (b -> c) -> (a -> b) -> a -> c
. (a, b, c, d, e, f, g, h, i, j, k, l, m)
-> ((a, b), (c, d), (e, f), (g, h), (i, j), (k, l), m)
forall a b c d e f g h i j k l m.
(a, b, c, d, e, f, g, h, i, j, k, l, m)
-> ((a, b), (c, d), (e, f), (g, h), (i, j), (k, l), m)
from13
    rawSqlProcessRow :: [PersistValue]
-> Either Text (a, b, c, d, e, f, g, h, i, j, k, l, m)
rawSqlProcessRow     = (((a, b), (c, d), (e, f), (g, h), (i, j), (k, l), m)
 -> (a, b, c, d, e, f, g, h, i, j, k, l, m))
-> Either Text ((a, b), (c, d), (e, f), (g, h), (i, j), (k, l), m)
-> Either Text (a, b, c, d, e, f, g, h, i, j, k, l, m)
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
fmap ((a, b), (c, d), (e, f), (g, h), (i, j), (k, l), m)
-> (a, b, c, d, e, f, g, h, i, j, k, l, m)
forall a b c d e f g h i j k l m.
((a, b), (c, d), (e, f), (g, h), (i, j), (k, l), m)
-> (a, b, c, d, e, f, g, h, i, j, k, l, m)
to13 (Either Text ((a, b), (c, d), (e, f), (g, h), (i, j), (k, l), m)
 -> Either Text (a, b, c, d, e, f, g, h, i, j, k, l, m))
-> ([PersistValue]
    -> Either Text ((a, b), (c, d), (e, f), (g, h), (i, j), (k, l), m))
-> [PersistValue]
-> Either Text (a, b, c, d, e, f, g, h, i, j, k, l, m)
forall b c a. (b -> c) -> (a -> b) -> a -> c
. [PersistValue]
-> Either Text ((a, b), (c, d), (e, f), (g, h), (i, j), (k, l), m)
forall a. RawSql a => [PersistValue] -> Either Text a
rawSqlProcessRow

-- | @since 2.11.0
from13 :: (a,b,c,d,e,f,g,h,i,j,k,l,m) -> ((a,b),(c,d),(e,f),(g,h),(i,j),(k,l),m)
from13 :: (a, b, c, d, e, f, g, h, i, j, k, l, m)
-> ((a, b), (c, d), (e, f), (g, h), (i, j), (k, l), m)
from13 (a
a,b
b,c
c,d
d,e
e,f
f,g
g,h
h,i
i,j
j,k
k,l
l,m
m) = ((a
a,b
b),(c
c,d
d),(e
e,f
f),(g
g,h
h),(i
i,j
j),(k
k,l
l),m
m)

-- | @since 2.11.0
to13 :: ((a,b),(c,d),(e,f),(g,h),(i,j),(k,l),m) -> (a,b,c,d,e,f,g,h,i,j,k,l,m)
to13 :: ((a, b), (c, d), (e, f), (g, h), (i, j), (k, l), m)
-> (a, b, c, d, e, f, g, h, i, j, k, l, m)
to13 ((a
a,b
b),(c
c,d
d),(e
e,f
f),(g
g,h
h),(i
i,j
j),(k
k,l
l),m
m) = (a
a,b
b,c
c,d
d,e
e,f
f,g
g,h
h,i
i,j
j,k
k,l
l,m
m)

-- | @since 2.11.0
instance (RawSql a, RawSql b, RawSql c, RawSql d, RawSql e, RawSql f, RawSql g, RawSql h, RawSql i, RawSql j, RawSql k, RawSql l, RawSql m, RawSql n)
      => RawSql (a, b, c, d, e, f, g, h, i, j, k, l, m, n) where
    rawSqlCols :: (Text -> Text)
-> (a, b, c, d, e, f, g, h, i, j, k, l, m, n) -> (Int, [Text])
rawSqlCols Text -> Text
e         = (Text -> Text)
-> ((a, b), (c, d), (e, f), (g, h), (i, j), (k, l), (m, n))
-> (Int, [Text])
forall a. RawSql a => (Text -> Text) -> a -> (Int, [Text])
rawSqlCols Text -> Text
e         (((a, b), (c, d), (e, f), (g, h), (i, j), (k, l), (m, n))
 -> (Int, [Text]))
-> ((a, b, c, d, e, f, g, h, i, j, k, l, m, n)
    -> ((a, b), (c, d), (e, f), (g, h), (i, j), (k, l), (m, n)))
-> (a, b, c, d, e, f, g, h, i, j, k, l, m, n)
-> (Int, [Text])
forall b c a. (b -> c) -> (a -> b) -> a -> c
. (a, b, c, d, e, f, g, h, i, j, k, l, m, n)
-> ((a, b), (c, d), (e, f), (g, h), (i, j), (k, l), (m, n))
forall a b c d e f g h i j k l m n.
(a, b, c, d, e, f, g, h, i, j, k, l, m, n)
-> ((a, b), (c, d), (e, f), (g, h), (i, j), (k, l), (m, n))
from14
    rawSqlColCountReason :: (a, b, c, d, e, f, g, h, i, j, k, l, m, n) -> String
rawSqlColCountReason = ((a, b), (c, d), (e, f), (g, h), (i, j), (k, l), (m, n)) -> String
forall a. RawSql a => a -> String
rawSqlColCountReason (((a, b), (c, d), (e, f), (g, h), (i, j), (k, l), (m, n))
 -> String)
-> ((a, b, c, d, e, f, g, h, i, j, k, l, m, n)
    -> ((a, b), (c, d), (e, f), (g, h), (i, j), (k, l), (m, n)))
-> (a, b, c, d, e, f, g, h, i, j, k, l, m, n)
-> String
forall b c a. (b -> c) -> (a -> b) -> a -> c
. (a, b, c, d, e, f, g, h, i, j, k, l, m, n)
-> ((a, b), (c, d), (e, f), (g, h), (i, j), (k, l), (m, n))
forall a b c d e f g h i j k l m n.
(a, b, c, d, e, f, g, h, i, j, k, l, m, n)
-> ((a, b), (c, d), (e, f), (g, h), (i, j), (k, l), (m, n))
from14
    rawSqlProcessRow :: [PersistValue]
-> Either Text (a, b, c, d, e, f, g, h, i, j, k, l, m, n)
rawSqlProcessRow     = (((a, b), (c, d), (e, f), (g, h), (i, j), (k, l), (m, n))
 -> (a, b, c, d, e, f, g, h, i, j, k, l, m, n))
-> Either
     Text ((a, b), (c, d), (e, f), (g, h), (i, j), (k, l), (m, n))
-> Either Text (a, b, c, d, e, f, g, h, i, j, k, l, m, n)
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
fmap ((a, b), (c, d), (e, f), (g, h), (i, j), (k, l), (m, n))
-> (a, b, c, d, e, f, g, h, i, j, k, l, m, n)
forall a b c d e f g h i j k l m n.
((a, b), (c, d), (e, f), (g, h), (i, j), (k, l), (m, n))
-> (a, b, c, d, e, f, g, h, i, j, k, l, m, n)
to14 (Either
   Text ((a, b), (c, d), (e, f), (g, h), (i, j), (k, l), (m, n))
 -> Either Text (a, b, c, d, e, f, g, h, i, j, k, l, m, n))
-> ([PersistValue]
    -> Either
         Text ((a, b), (c, d), (e, f), (g, h), (i, j), (k, l), (m, n)))
-> [PersistValue]
-> Either Text (a, b, c, d, e, f, g, h, i, j, k, l, m, n)
forall b c a. (b -> c) -> (a -> b) -> a -> c
. [PersistValue]
-> Either
     Text ((a, b), (c, d), (e, f), (g, h), (i, j), (k, l), (m, n))
forall a. RawSql a => [PersistValue] -> Either Text a
rawSqlProcessRow

-- | @since 2.11.0
from14 :: (a,b,c,d,e,f,g,h,i,j,k,l,m,n) -> ((a,b),(c,d),(e,f),(g,h),(i,j),(k,l),(m,n))
from14 :: (a, b, c, d, e, f, g, h, i, j, k, l, m, n)
-> ((a, b), (c, d), (e, f), (g, h), (i, j), (k, l), (m, n))
from14 (a
a,b
b,c
c,d
d,e
e,f
f,g
g,h
h,i
i,j
j,k
k,l
l,m
m,n
n) = ((a
a,b
b),(c
c,d
d),(e
e,f
f),(g
g,h
h),(i
i,j
j),(k
k,l
l),(m
m,n
n))

-- | @since 2.11.0
to14 :: ((a,b),(c,d),(e,f),(g,h),(i,j),(k,l),(m,n)) -> (a,b,c,d,e,f,g,h,i,j,k,l,m,n)
to14 :: ((a, b), (c, d), (e, f), (g, h), (i, j), (k, l), (m, n))
-> (a, b, c, d, e, f, g, h, i, j, k, l, m, n)
to14 ((a
a,b
b),(c
c,d
d),(e
e,f
f),(g
g,h
h),(i
i,j
j),(k
k,l
l),(m
m,n
n)) = (a
a,b
b,c
c,d
d,e
e,f
f,g
g,h
h,i
i,j
j,k
k,l
l,m
m,n
n)

-- | @since 2.11.0
instance (RawSql a, RawSql b, RawSql c, RawSql d, RawSql e, RawSql f, RawSql g, RawSql h, RawSql i, RawSql j, RawSql k, RawSql l, RawSql m, RawSql n, RawSql o)
      => RawSql (a, b, c, d, e, f, g, h, i, j, k, l, m, n, o) where
    rawSqlCols :: (Text -> Text)
-> (a, b, c, d, e, f, g, h, i, j, k, l, m, n, o) -> (Int, [Text])
rawSqlCols Text -> Text
e         = (Text -> Text)
-> ((a, b), (c, d), (e, f), (g, h), (i, j), (k, l), (m, n), o)
-> (Int, [Text])
forall a. RawSql a => (Text -> Text) -> a -> (Int, [Text])
rawSqlCols Text -> Text
e         (((a, b), (c, d), (e, f), (g, h), (i, j), (k, l), (m, n), o)
 -> (Int, [Text]))
-> ((a, b, c, d, e, f, g, h, i, j, k, l, m, n, o)
    -> ((a, b), (c, d), (e, f), (g, h), (i, j), (k, l), (m, n), o))
-> (a, b, c, d, e, f, g, h, i, j, k, l, m, n, o)
-> (Int, [Text])
forall b c a. (b -> c) -> (a -> b) -> a -> c
. (a, b, c, d, e, f, g, h, i, j, k, l, m, n, o)
-> ((a, b), (c, d), (e, f), (g, h), (i, j), (k, l), (m, n), o)
forall a b c d e f g h i j k l m n o.
(a, b, c, d, e, f, g, h, i, j, k, l, m, n, o)
-> ((a, b), (c, d), (e, f), (g, h), (i, j), (k, l), (m, n), o)
from15
    rawSqlColCountReason :: (a, b, c, d, e, f, g, h, i, j, k, l, m, n, o) -> String
rawSqlColCountReason = ((a, b), (c, d), (e, f), (g, h), (i, j), (k, l), (m, n), o)
-> String
forall a. RawSql a => a -> String
rawSqlColCountReason (((a, b), (c, d), (e, f), (g, h), (i, j), (k, l), (m, n), o)
 -> String)
-> ((a, b, c, d, e, f, g, h, i, j, k, l, m, n, o)
    -> ((a, b), (c, d), (e, f), (g, h), (i, j), (k, l), (m, n), o))
-> (a, b, c, d, e, f, g, h, i, j, k, l, m, n, o)
-> String
forall b c a. (b -> c) -> (a -> b) -> a -> c
. (a, b, c, d, e, f, g, h, i, j, k, l, m, n, o)
-> ((a, b), (c, d), (e, f), (g, h), (i, j), (k, l), (m, n), o)
forall a b c d e f g h i j k l m n o.
(a, b, c, d, e, f, g, h, i, j, k, l, m, n, o)
-> ((a, b), (c, d), (e, f), (g, h), (i, j), (k, l), (m, n), o)
from15
    rawSqlProcessRow :: [PersistValue]
-> Either Text (a, b, c, d, e, f, g, h, i, j, k, l, m, n, o)
rawSqlProcessRow     = (((a, b), (c, d), (e, f), (g, h), (i, j), (k, l), (m, n), o)
 -> (a, b, c, d, e, f, g, h, i, j, k, l, m, n, o))
-> Either
     Text ((a, b), (c, d), (e, f), (g, h), (i, j), (k, l), (m, n), o)
-> Either Text (a, b, c, d, e, f, g, h, i, j, k, l, m, n, o)
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
fmap ((a, b), (c, d), (e, f), (g, h), (i, j), (k, l), (m, n), o)
-> (a, b, c, d, e, f, g, h, i, j, k, l, m, n, o)
forall a b c d e f g h i j k l m n o.
((a, b), (c, d), (e, f), (g, h), (i, j), (k, l), (m, n), o)
-> (a, b, c, d, e, f, g, h, i, j, k, l, m, n, o)
to15 (Either
   Text ((a, b), (c, d), (e, f), (g, h), (i, j), (k, l), (m, n), o)
 -> Either Text (a, b, c, d, e, f, g, h, i, j, k, l, m, n, o))
-> ([PersistValue]
    -> Either
         Text ((a, b), (c, d), (e, f), (g, h), (i, j), (k, l), (m, n), o))
-> [PersistValue]
-> Either Text (a, b, c, d, e, f, g, h, i, j, k, l, m, n, o)
forall b c a. (b -> c) -> (a -> b) -> a -> c
. [PersistValue]
-> Either
     Text ((a, b), (c, d), (e, f), (g, h), (i, j), (k, l), (m, n), o)
forall a. RawSql a => [PersistValue] -> Either Text a
rawSqlProcessRow

-- | @since 2.11.0
from15 :: (a,b,c,d,e,f,g,h,i,j,k,l,m,n,o) -> ((a,b),(c,d),(e,f),(g,h),(i,j),(k,l),(m,n),o)
from15 :: (a, b, c, d, e, f, g, h, i, j, k, l, m, n, o)
-> ((a, b), (c, d), (e, f), (g, h), (i, j), (k, l), (m, n), o)
from15 (a
a,b
b,c
c,d
d,e
e,f
f,g
g,h
h,i
i,j
j,k
k,l
l,m
m,n
n,o
o) = ((a
a,b
b),(c
c,d
d),(e
e,f
f),(g
g,h
h),(i
i,j
j),(k
k,l
l),(m
m,n
n),o
o)

-- | @since 2.11.0
to15 :: ((a,b),(c,d),(e,f),(g,h),(i,j),(k,l),(m,n),o) -> (a,b,c,d,e,f,g,h,i,j,k,l,m,n,o)
to15 :: ((a, b), (c, d), (e, f), (g, h), (i, j), (k, l), (m, n), o)
-> (a, b, c, d, e, f, g, h, i, j, k, l, m, n, o)
to15 ((a
a,b
b),(c
c,d
d),(e
e,f
f),(g
g,h
h),(i
i,j
j),(k
k,l
l),(m
m,n
n),o
o) = (a
a,b
b,c
c,d
d,e
e,f
f,g
g,h
h,i
i,j
j,k
k,l
l,m
m,n
n,o
o)

-- | @since 2.11.0
instance (RawSql a, RawSql b, RawSql c, RawSql d, RawSql e, RawSql f, RawSql g, RawSql h, RawSql i, RawSql j, RawSql k, RawSql l, RawSql m, RawSql n, RawSql o, RawSql p)
      => RawSql (a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p) where
    rawSqlCols :: (Text -> Text)
-> (a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p)
-> (Int, [Text])
rawSqlCols Text -> Text
e         = (Text -> Text)
-> ((a, b), (c, d), (e, f), (g, h), (i, j), (k, l), (m, n), (o, p))
-> (Int, [Text])
forall a. RawSql a => (Text -> Text) -> a -> (Int, [Text])
rawSqlCols Text -> Text
e         (((a, b), (c, d), (e, f), (g, h), (i, j), (k, l), (m, n), (o, p))
 -> (Int, [Text]))
-> ((a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p)
    -> ((a, b), (c, d), (e, f), (g, h), (i, j), (k, l), (m, n),
        (o, p)))
-> (a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p)
-> (Int, [Text])
forall b c a. (b -> c) -> (a -> b) -> a -> c
. (a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p)
-> ((a, b), (c, d), (e, f), (g, h), (i, j), (k, l), (m, n), (o, p))
forall a b c d e f g h i j k l m n o p.
(a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p)
-> ((a, b), (c, d), (e, f), (g, h), (i, j), (k, l), (m, n), (o, p))
from16
    rawSqlColCountReason :: (a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p) -> String
rawSqlColCountReason = ((a, b), (c, d), (e, f), (g, h), (i, j), (k, l), (m, n), (o, p))
-> String
forall a. RawSql a => a -> String
rawSqlColCountReason (((a, b), (c, d), (e, f), (g, h), (i, j), (k, l), (m, n), (o, p))
 -> String)
-> ((a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p)
    -> ((a, b), (c, d), (e, f), (g, h), (i, j), (k, l), (m, n),
        (o, p)))
-> (a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p)
-> String
forall b c a. (b -> c) -> (a -> b) -> a -> c
. (a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p)
-> ((a, b), (c, d), (e, f), (g, h), (i, j), (k, l), (m, n), (o, p))
forall a b c d e f g h i j k l m n o p.
(a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p)
-> ((a, b), (c, d), (e, f), (g, h), (i, j), (k, l), (m, n), (o, p))
from16
    rawSqlProcessRow :: [PersistValue]
-> Either Text (a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p)
rawSqlProcessRow     = (((a, b), (c, d), (e, f), (g, h), (i, j), (k, l), (m, n), (o, p))
 -> (a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p))
-> Either
     Text
     ((a, b), (c, d), (e, f), (g, h), (i, j), (k, l), (m, n), (o, p))
-> Either Text (a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p)
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
fmap ((a, b), (c, d), (e, f), (g, h), (i, j), (k, l), (m, n), (o, p))
-> (a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p)
forall a b c d e f g h i j k l m n o p.
((a, b), (c, d), (e, f), (g, h), (i, j), (k, l), (m, n), (o, p))
-> (a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p)
to16 (Either
   Text
   ((a, b), (c, d), (e, f), (g, h), (i, j), (k, l), (m, n), (o, p))
 -> Either Text (a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p))
-> ([PersistValue]
    -> Either
         Text
         ((a, b), (c, d), (e, f), (g, h), (i, j), (k, l), (m, n), (o, p)))
-> [PersistValue]
-> Either Text (a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p)
forall b c a. (b -> c) -> (a -> b) -> a -> c
. [PersistValue]
-> Either
     Text
     ((a, b), (c, d), (e, f), (g, h), (i, j), (k, l), (m, n), (o, p))
forall a. RawSql a => [PersistValue] -> Either Text a
rawSqlProcessRow

-- | @since 2.11.0
from16 :: (a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p) -> ((a,b),(c,d),(e,f),(g,h),(i,j),(k,l),(m,n),(o,p))
from16 :: (a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p)
-> ((a, b), (c, d), (e, f), (g, h), (i, j), (k, l), (m, n), (o, p))
from16 (a
a,b
b,c
c,d
d,e
e,f
f,g
g,h
h,i
i,j
j,k
k,l
l,m
m,n
n,o
o,p
p) = ((a
a,b
b),(c
c,d
d),(e
e,f
f),(g
g,h
h),(i
i,j
j),(k
k,l
l),(m
m,n
n),(o
o,p
p))

-- | @since 2.11.0
to16 :: ((a,b),(c,d),(e,f),(g,h),(i,j),(k,l),(m,n),(o,p)) -> (a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p)
to16 :: ((a, b), (c, d), (e, f), (g, h), (i, j), (k, l), (m, n), (o, p))
-> (a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p)
to16 ((a
a,b
b),(c
c,d
d),(e
e,f
f),(g
g,h
h),(i
i,j
j),(k
k,l
l),(m
m,n
n),(o
o,p
p)) = (a
a,b
b,c
c,d
d,e
e,f
f,g
g,h
h,i
i,j
j,k
k,l
l,m
m,n
n,o
o,p
p)

-- | @since 2.11.0
instance (RawSql a, RawSql b, RawSql c, RawSql d, RawSql e, RawSql f, RawSql g, RawSql h, RawSql i, RawSql j, RawSql k, RawSql l, RawSql m, RawSql n, RawSql o, RawSql p, RawSql q)
      => RawSql (a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q) where
    rawSqlCols :: (Text -> Text)
-> (a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q)
-> (Int, [Text])
rawSqlCols Text -> Text
e         = (Text -> Text)
-> ((a, b), (c, d), (e, f), (g, h), (i, j), (k, l), (m, n), (o, p),
    q)
-> (Int, [Text])
forall a. RawSql a => (Text -> Text) -> a -> (Int, [Text])
rawSqlCols Text -> Text
e         (((a, b), (c, d), (e, f), (g, h), (i, j), (k, l), (m, n), (o, p),
  q)
 -> (Int, [Text]))
-> ((a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q)
    -> ((a, b), (c, d), (e, f), (g, h), (i, j), (k, l), (m, n), (o, p),
        q))
-> (a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q)
-> (Int, [Text])
forall b c a. (b -> c) -> (a -> b) -> a -> c
. (a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q)
-> ((a, b), (c, d), (e, f), (g, h), (i, j), (k, l), (m, n), (o, p),
    q)
forall a b c d e f g h i j k l m n o p q.
(a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q)
-> ((a, b), (c, d), (e, f), (g, h), (i, j), (k, l), (m, n), (o, p),
    q)
from17
    rawSqlColCountReason :: (a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q) -> String
rawSqlColCountReason = ((a, b), (c, d), (e, f), (g, h), (i, j), (k, l), (m, n), (o, p), q)
-> String
forall a. RawSql a => a -> String
rawSqlColCountReason (((a, b), (c, d), (e, f), (g, h), (i, j), (k, l), (m, n), (o, p),
  q)
 -> String)
-> ((a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q)
    -> ((a, b), (c, d), (e, f), (g, h), (i, j), (k, l), (m, n), (o, p),
        q))
-> (a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q)
-> String
forall b c a. (b -> c) -> (a -> b) -> a -> c
. (a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q)
-> ((a, b), (c, d), (e, f), (g, h), (i, j), (k, l), (m, n), (o, p),
    q)
forall a b c d e f g h i j k l m n o p q.
(a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q)
-> ((a, b), (c, d), (e, f), (g, h), (i, j), (k, l), (m, n), (o, p),
    q)
from17
    rawSqlProcessRow :: [PersistValue]
-> Either Text (a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q)
rawSqlProcessRow     = (((a, b), (c, d), (e, f), (g, h), (i, j), (k, l), (m, n), (o, p),
  q)
 -> (a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q))
-> Either
     Text
     ((a, b), (c, d), (e, f), (g, h), (i, j), (k, l), (m, n), (o, p), q)
-> Either Text (a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q)
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
fmap ((a, b), (c, d), (e, f), (g, h), (i, j), (k, l), (m, n), (o, p), q)
-> (a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q)
forall a b c d e f g h i j k l m n o p q.
((a, b), (c, d), (e, f), (g, h), (i, j), (k, l), (m, n), (o, p), q)
-> (a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q)
to17 (Either
   Text
   ((a, b), (c, d), (e, f), (g, h), (i, j), (k, l), (m, n), (o, p), q)
 -> Either Text (a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q))
-> ([PersistValue]
    -> Either
         Text
         ((a, b), (c, d), (e, f), (g, h), (i, j), (k, l), (m, n), (o, p),
          q))
-> [PersistValue]
-> Either Text (a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q)
forall b c a. (b -> c) -> (a -> b) -> a -> c
. [PersistValue]
-> Either
     Text
     ((a, b), (c, d), (e, f), (g, h), (i, j), (k, l), (m, n), (o, p), q)
forall a. RawSql a => [PersistValue] -> Either Text a
rawSqlProcessRow

-- | @since 2.11.0
from17 :: (a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q) -> ((a,b),(c,d),(e,f),(g,h),(i,j),(k,l),(m,n),(o,p),q)
from17 :: (a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q)
-> ((a, b), (c, d), (e, f), (g, h), (i, j), (k, l), (m, n), (o, p),
    q)
from17 (a
a,b
b,c
c,d
d,e
e,f
f,g
g,h
h,i
i,j
j,k
k,l
l,m
m,n
n,o
o,p
p,q
q) = ((a
a,b
b),(c
c,d
d),(e
e,f
f),(g
g,h
h),(i
i,j
j),(k
k,l
l),(m
m,n
n),(o
o,p
p),q
q)

-- | @since 2.11.0
to17 :: ((a,b),(c,d),(e,f),(g,h),(i,j),(k,l),(m,n),(o,p),q) -> (a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q)
to17 :: ((a, b), (c, d), (e, f), (g, h), (i, j), (k, l), (m, n), (o, p), q)
-> (a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q)
to17 ((a
a,b
b),(c
c,d
d),(e
e,f
f),(g
g,h
h),(i
i,j
j),(k
k,l
l),(m
m,n
n),(o
o,p
p),q
q) = (a
a,b
b,c
c,d
d,e
e,f
f,g
g,h
h,i
i,j
j,k
k,l
l,m
m,n
n,o
o,p
p,q
q)

-- | @since 2.11.0
instance (RawSql a, RawSql b, RawSql c, RawSql d, RawSql e, RawSql f, RawSql g, RawSql h, RawSql i, RawSql j, RawSql k, RawSql l, RawSql m, RawSql n, RawSql o, RawSql p, RawSql q, RawSql r)
      => RawSql (a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r) where
    rawSqlCols :: (Text -> Text)
-> (a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r)
-> (Int, [Text])
rawSqlCols Text -> Text
e         = (Text -> Text)
-> ((a, b), (c, d), (e, f), (g, h), (i, j), (k, l), (m, n), (o, p),
    (q, r))
-> (Int, [Text])
forall a. RawSql a => (Text -> Text) -> a -> (Int, [Text])
rawSqlCols Text -> Text
e         (((a, b), (c, d), (e, f), (g, h), (i, j), (k, l), (m, n), (o, p),
  (q, r))
 -> (Int, [Text]))
-> ((a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r)
    -> ((a, b), (c, d), (e, f), (g, h), (i, j), (k, l), (m, n), (o, p),
        (q, r)))
-> (a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r)
-> (Int, [Text])
forall b c a. (b -> c) -> (a -> b) -> a -> c
. (a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r)
-> ((a, b), (c, d), (e, f), (g, h), (i, j), (k, l), (m, n), (o, p),
    (q, r))
forall a b c d e f g h i j k l m n o p q r.
(a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r)
-> ((a, b), (c, d), (e, f), (g, h), (i, j), (k, l), (m, n), (o, p),
    (q, r))
from18
    rawSqlColCountReason :: (a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r) -> String
rawSqlColCountReason = ((a, b), (c, d), (e, f), (g, h), (i, j), (k, l), (m, n), (o, p),
 (q, r))
-> String
forall a. RawSql a => a -> String
rawSqlColCountReason (((a, b), (c, d), (e, f), (g, h), (i, j), (k, l), (m, n), (o, p),
  (q, r))
 -> String)
-> ((a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r)
    -> ((a, b), (c, d), (e, f), (g, h), (i, j), (k, l), (m, n), (o, p),
        (q, r)))
-> (a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r)
-> String
forall b c a. (b -> c) -> (a -> b) -> a -> c
. (a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r)
-> ((a, b), (c, d), (e, f), (g, h), (i, j), (k, l), (m, n), (o, p),
    (q, r))
forall a b c d e f g h i j k l m n o p q r.
(a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r)
-> ((a, b), (c, d), (e, f), (g, h), (i, j), (k, l), (m, n), (o, p),
    (q, r))
from18
    rawSqlProcessRow :: [PersistValue]
-> Either
     Text (a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r)
rawSqlProcessRow     = (((a, b), (c, d), (e, f), (g, h), (i, j), (k, l), (m, n), (o, p),
  (q, r))
 -> (a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r))
-> Either
     Text
     ((a, b), (c, d), (e, f), (g, h), (i, j), (k, l), (m, n), (o, p),
      (q, r))
-> Either
     Text (a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r)
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
fmap ((a, b), (c, d), (e, f), (g, h), (i, j), (k, l), (m, n), (o, p),
 (q, r))
-> (a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r)
forall a b c d e f g h i j k l m n o p q r.
((a, b), (c, d), (e, f), (g, h), (i, j), (k, l), (m, n), (o, p),
 (q, r))
-> (a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r)
to18 (Either
   Text
   ((a, b), (c, d), (e, f), (g, h), (i, j), (k, l), (m, n), (o, p),
    (q, r))
 -> Either
      Text (a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r))
-> ([PersistValue]
    -> Either
         Text
         ((a, b), (c, d), (e, f), (g, h), (i, j), (k, l), (m, n), (o, p),
          (q, r)))
-> [PersistValue]
-> Either
     Text (a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r)
forall b c a. (b -> c) -> (a -> b) -> a -> c
. [PersistValue]
-> Either
     Text
     ((a, b), (c, d), (e, f), (g, h), (i, j), (k, l), (m, n), (o, p),
      (q, r))
forall a. RawSql a => [PersistValue] -> Either Text a
rawSqlProcessRow

-- | @since 2.11.0
from18 :: (a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r) -> ((a,b),(c,d),(e,f),(g,h),(i,j),(k,l),(m,n),(o,p),(q,r))
from18 :: (a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r)
-> ((a, b), (c, d), (e, f), (g, h), (i, j), (k, l), (m, n), (o, p),
    (q, r))
from18 (a
a,b
b,c
c,d
d,e
e,f
f,g
g,h
h,i
i,j
j,k
k,l
l,m
m,n
n,o
o,p
p,q
q,r
r) = ((a
a,b
b),(c
c,d
d),(e
e,f
f),(g
g,h
h),(i
i,j
j),(k
k,l
l),(m
m,n
n),(o
o,p
p),(q
q,r
r))

-- | @since 2.11.0
to18 :: ((a,b),(c,d),(e,f),(g,h),(i,j),(k,l),(m,n),(o,p),(q,r)) -> (a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r)
to18 :: ((a, b), (c, d), (e, f), (g, h), (i, j), (k, l), (m, n), (o, p),
 (q, r))
-> (a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r)
to18 ((a
a,b
b),(c
c,d
d),(e
e,f
f),(g
g,h
h),(i
i,j
j),(k
k,l
l),(m
m,n
n),(o
o,p
p),(q
q,r
r)) = (a
a,b
b,c
c,d
d,e
e,f
f,g
g,h
h,i
i,j
j,k
k,l
l,m
m,n
n,o
o,p
p,q
q,r
r)

-- | @since 2.11.0
instance (RawSql a, RawSql b, RawSql c, RawSql d, RawSql e, RawSql f, RawSql g, RawSql h, RawSql i, RawSql j, RawSql k, RawSql l, RawSql m, RawSql n, RawSql o, RawSql p, RawSql q, RawSql r, RawSql s)
      => RawSql (a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r, s) where
    rawSqlCols :: (Text -> Text)
-> (a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r, s)
-> (Int, [Text])
rawSqlCols Text -> Text
e         = (Text -> Text)
-> ((a, b), (c, d), (e, f), (g, h), (i, j), (k, l), (m, n), (o, p),
    (q, r), s)
-> (Int, [Text])
forall a. RawSql a => (Text -> Text) -> a -> (Int, [Text])
rawSqlCols Text -> Text
e         (((a, b), (c, d), (e, f), (g, h), (i, j), (k, l), (m, n), (o, p),
  (q, r), s)
 -> (Int, [Text]))
-> ((a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r, s)
    -> ((a, b), (c, d), (e, f), (g, h), (i, j), (k, l), (m, n), (o, p),
        (q, r), s))
-> (a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r, s)
-> (Int, [Text])
forall b c a. (b -> c) -> (a -> b) -> a -> c
. (a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r, s)
-> ((a, b), (c, d), (e, f), (g, h), (i, j), (k, l), (m, n), (o, p),
    (q, r), s)
forall a b c d e f g h i j k l m n o p q r s.
(a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r, s)
-> ((a, b), (c, d), (e, f), (g, h), (i, j), (k, l), (m, n), (o, p),
    (q, r), s)
from19
    rawSqlColCountReason :: (a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r, s) -> String
rawSqlColCountReason = ((a, b), (c, d), (e, f), (g, h), (i, j), (k, l), (m, n), (o, p),
 (q, r), s)
-> String
forall a. RawSql a => a -> String
rawSqlColCountReason (((a, b), (c, d), (e, f), (g, h), (i, j), (k, l), (m, n), (o, p),
  (q, r), s)
 -> String)
-> ((a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r, s)
    -> ((a, b), (c, d), (e, f), (g, h), (i, j), (k, l), (m, n), (o, p),
        (q, r), s))
-> (a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r, s)
-> String
forall b c a. (b -> c) -> (a -> b) -> a -> c
. (a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r, s)
-> ((a, b), (c, d), (e, f), (g, h), (i, j), (k, l), (m, n), (o, p),
    (q, r), s)
forall a b c d e f g h i j k l m n o p q r s.
(a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r, s)
-> ((a, b), (c, d), (e, f), (g, h), (i, j), (k, l), (m, n), (o, p),
    (q, r), s)
from19
    rawSqlProcessRow :: [PersistValue]
-> Either
     Text (a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r, s)
rawSqlProcessRow     = (((a, b), (c, d), (e, f), (g, h), (i, j), (k, l), (m, n), (o, p),
  (q, r), s)
 -> (a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r, s))
-> Either
     Text
     ((a, b), (c, d), (e, f), (g, h), (i, j), (k, l), (m, n), (o, p),
      (q, r), s)
-> Either
     Text (a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r, s)
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
fmap ((a, b), (c, d), (e, f), (g, h), (i, j), (k, l), (m, n), (o, p),
 (q, r), s)
-> (a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r, s)
forall a b c d e f g h i j k l m n o p q r s.
((a, b), (c, d), (e, f), (g, h), (i, j), (k, l), (m, n), (o, p),
 (q, r), s)
-> (a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r, s)
to19 (Either
   Text
   ((a, b), (c, d), (e, f), (g, h), (i, j), (k, l), (m, n), (o, p),
    (q, r), s)
 -> Either
      Text (a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r, s))
-> ([PersistValue]
    -> Either
         Text
         ((a, b), (c, d), (e, f), (g, h), (i, j), (k, l), (m, n), (o, p),
          (q, r), s))
-> [PersistValue]
-> Either
     Text (a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r, s)
forall b c a. (b -> c) -> (a -> b) -> a -> c
. [PersistValue]
-> Either
     Text
     ((a, b), (c, d), (e, f), (g, h), (i, j), (k, l), (m, n), (o, p),
      (q, r), s)
forall a. RawSql a => [PersistValue] -> Either Text a
rawSqlProcessRow

-- | @since 2.11.0
from19 :: (a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s) -> ((a,b),(c,d),(e,f),(g,h),(i,j),(k,l),(m,n),(o,p),(q,r),s)
from19 :: (a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r, s)
-> ((a, b), (c, d), (e, f), (g, h), (i, j), (k, l), (m, n), (o, p),
    (q, r), s)
from19 (a
a,b
b,c
c,d
d,e
e,f
f,g
g,h
h,i
i,j
j,k
k,l
l,m
m,n
n,o
o,p
p,q
q,r
r,s
s) = ((a
a,b
b),(c
c,d
d),(e
e,f
f),(g
g,h
h),(i
i,j
j),(k
k,l
l),(m
m,n
n),(o
o,p
p),(q
q,r
r),s
s)

-- | @since 2.11.0
to19 :: ((a,b),(c,d),(e,f),(g,h),(i,j),(k,l),(m,n),(o,p),(q,r),s) -> (a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s)
to19 :: ((a, b), (c, d), (e, f), (g, h), (i, j), (k, l), (m, n), (o, p),
 (q, r), s)
-> (a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r, s)
to19 ((a
a,b
b),(c
c,d
d),(e
e,f
f),(g
g,h
h),(i
i,j
j),(k
k,l
l),(m
m,n
n),(o
o,p
p),(q
q,r
r),s
s) = (a
a,b
b,c
c,d
d,e
e,f
f,g
g,h
h,i
i,j
j,k
k,l
l,m
m,n
n,o
o,p
p,q
q,r
r,s
s)

-- | @since 2.11.0
instance (RawSql a, RawSql b, RawSql c, RawSql d, RawSql e, RawSql f, RawSql g, RawSql h, RawSql i, RawSql j, RawSql k, RawSql l, RawSql m, RawSql n, RawSql o, RawSql p, RawSql q, RawSql r, RawSql s, RawSql t)
      => RawSql (a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r, s, t) where
    rawSqlCols :: (Text -> Text)
-> (a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r, s, t)
-> (Int, [Text])
rawSqlCols Text -> Text
e         = (Text -> Text)
-> ((a, b), (c, d), (e, f), (g, h), (i, j), (k, l), (m, n), (o, p),
    (q, r), (s, t))
-> (Int, [Text])
forall a. RawSql a => (Text -> Text) -> a -> (Int, [Text])
rawSqlCols Text -> Text
e         (((a, b), (c, d), (e, f), (g, h), (i, j), (k, l), (m, n), (o, p),
  (q, r), (s, t))
 -> (Int, [Text]))
-> ((a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r, s, t)
    -> ((a, b), (c, d), (e, f), (g, h), (i, j), (k, l), (m, n), (o, p),
        (q, r), (s, t)))
-> (a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r, s, t)
-> (Int, [Text])
forall b c a. (b -> c) -> (a -> b) -> a -> c
. (a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r, s, t)
-> ((a, b), (c, d), (e, f), (g, h), (i, j), (k, l), (m, n), (o, p),
    (q, r), (s, t))
forall a b c d e f g h i j k l m n o p q r s t.
(a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r, s, t)
-> ((a, b), (c, d), (e, f), (g, h), (i, j), (k, l), (m, n), (o, p),
    (q, r), (s, t))
from20
    rawSqlColCountReason :: (a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r, s, t)
-> String
rawSqlColCountReason = ((a, b), (c, d), (e, f), (g, h), (i, j), (k, l), (m, n), (o, p),
 (q, r), (s, t))
-> String
forall a. RawSql a => a -> String
rawSqlColCountReason (((a, b), (c, d), (e, f), (g, h), (i, j), (k, l), (m, n), (o, p),
  (q, r), (s, t))
 -> String)
-> ((a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r, s, t)
    -> ((a, b), (c, d), (e, f), (g, h), (i, j), (k, l), (m, n), (o, p),
        (q, r), (s, t)))
-> (a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r, s, t)
-> String
forall b c a. (b -> c) -> (a -> b) -> a -> c
. (a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r, s, t)
-> ((a, b), (c, d), (e, f), (g, h), (i, j), (k, l), (m, n), (o, p),
    (q, r), (s, t))
forall a b c d e f g h i j k l m n o p q r s t.
(a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r, s, t)
-> ((a, b), (c, d), (e, f), (g, h), (i, j), (k, l), (m, n), (o, p),
    (q, r), (s, t))
from20
    rawSqlProcessRow :: [PersistValue]
-> Either
     Text (a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r, s, t)
rawSqlProcessRow     = (((a, b), (c, d), (e, f), (g, h), (i, j), (k, l), (m, n), (o, p),
  (q, r), (s, t))
 -> (a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r, s, t))
-> Either
     Text
     ((a, b), (c, d), (e, f), (g, h), (i, j), (k, l), (m, n), (o, p),
      (q, r), (s, t))
-> Either
     Text (a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r, s, t)
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
fmap ((a, b), (c, d), (e, f), (g, h), (i, j), (k, l), (m, n), (o, p),
 (q, r), (s, t))
-> (a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r, s, t)
forall a b c d e f g h i j k l m n o p q r s t.
((a, b), (c, d), (e, f), (g, h), (i, j), (k, l), (m, n), (o, p),
 (q, r), (s, t))
-> (a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r, s, t)
to20 (Either
   Text
   ((a, b), (c, d), (e, f), (g, h), (i, j), (k, l), (m, n), (o, p),
    (q, r), (s, t))
 -> Either
      Text (a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r, s, t))
-> ([PersistValue]
    -> Either
         Text
         ((a, b), (c, d), (e, f), (g, h), (i, j), (k, l), (m, n), (o, p),
          (q, r), (s, t)))
-> [PersistValue]
-> Either
     Text (a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r, s, t)
forall b c a. (b -> c) -> (a -> b) -> a -> c
. [PersistValue]
-> Either
     Text
     ((a, b), (c, d), (e, f), (g, h), (i, j), (k, l), (m, n), (o, p),
      (q, r), (s, t))
forall a. RawSql a => [PersistValue] -> Either Text a
rawSqlProcessRow

-- | @since 2.11.0
from20 :: (a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t) -> ((a,b),(c,d),(e,f),(g,h),(i,j),(k,l),(m,n),(o,p),(q,r),(s,t))
from20 :: (a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r, s, t)
-> ((a, b), (c, d), (e, f), (g, h), (i, j), (k, l), (m, n), (o, p),
    (q, r), (s, t))
from20 (a
a,b
b,c
c,d
d,e
e,f
f,g
g,h
h,i
i,j
j,k
k,l
l,m
m,n
n,o
o,p
p,q
q,r
r,s
s,t
t) = ((a
a,b
b),(c
c,d
d),(e
e,f
f),(g
g,h
h),(i
i,j
j),(k
k,l
l),(m
m,n
n),(o
o,p
p),(q
q,r
r),(s
s,t
t))

-- | @since 2.11.0
to20 :: ((a,b),(c,d),(e,f),(g,h),(i,j),(k,l),(m,n),(o,p),(q,r),(s,t)) -> (a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t)
to20 :: ((a, b), (c, d), (e, f), (g, h), (i, j), (k, l), (m, n), (o, p),
 (q, r), (s, t))
-> (a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r, s, t)
to20 ((a
a,b
b),(c
c,d
d),(e
e,f
f),(g
g,h
h),(i
i,j
j),(k
k,l
l),(m
m,n
n),(o
o,p
p),(q
q,r
r),(s
s,t
t)) = (a
a,b
b,c
c,d
d,e
e,f
f,g
g,h
h,i
i,j
j,k
k,l
l,m
m,n
n,o
o,p
p,q
q,r
r,s
s,t
t)

-- | @since 2.11.0
instance (RawSql a, RawSql b, RawSql c, RawSql d, RawSql e, RawSql f, RawSql g, RawSql h, RawSql i, RawSql j, RawSql k, RawSql l, RawSql m, RawSql n, RawSql o, RawSql p, RawSql q, RawSql r, RawSql s, RawSql t, RawSql u)
      => RawSql (a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r, s, t, u) where
    rawSqlCols :: (Text -> Text)
-> (a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r, s, t, u)
-> (Int, [Text])
rawSqlCols Text -> Text
e         = (Text -> Text)
-> ((a, b), (c, d), (e, f), (g, h), (i, j), (k, l), (m, n), (o, p),
    (q, r), (s, t), u)
-> (Int, [Text])
forall a. RawSql a => (Text -> Text) -> a -> (Int, [Text])
rawSqlCols Text -> Text
e         (((a, b), (c, d), (e, f), (g, h), (i, j), (k, l), (m, n), (o, p),
  (q, r), (s, t), u)
 -> (Int, [Text]))
-> ((a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r, s, t, u)
    -> ((a, b), (c, d), (e, f), (g, h), (i, j), (k, l), (m, n), (o, p),
        (q, r), (s, t), u))
-> (a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r, s, t, u)
-> (Int, [Text])
forall b c a. (b -> c) -> (a -> b) -> a -> c
. (a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r, s, t, u)
-> ((a, b), (c, d), (e, f), (g, h), (i, j), (k, l), (m, n), (o, p),
    (q, r), (s, t), u)
forall a b c d e f g h i j k l m n o p q r s t u.
(a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r, s, t, u)
-> ((a, b), (c, d), (e, f), (g, h), (i, j), (k, l), (m, n), (o, p),
    (q, r), (s, t), u)
from21
    rawSqlColCountReason :: (a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r, s, t, u)
-> String
rawSqlColCountReason = ((a, b), (c, d), (e, f), (g, h), (i, j), (k, l), (m, n), (o, p),
 (q, r), (s, t), u)
-> String
forall a. RawSql a => a -> String
rawSqlColCountReason (((a, b), (c, d), (e, f), (g, h), (i, j), (k, l), (m, n), (o, p),
  (q, r), (s, t), u)
 -> String)
-> ((a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r, s, t, u)
    -> ((a, b), (c, d), (e, f), (g, h), (i, j), (k, l), (m, n), (o, p),
        (q, r), (s, t), u))
-> (a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r, s, t, u)
-> String
forall b c a. (b -> c) -> (a -> b) -> a -> c
. (a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r, s, t, u)
-> ((a, b), (c, d), (e, f), (g, h), (i, j), (k, l), (m, n), (o, p),
    (q, r), (s, t), u)
forall a b c d e f g h i j k l m n o p q r s t u.
(a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r, s, t, u)
-> ((a, b), (c, d), (e, f), (g, h), (i, j), (k, l), (m, n), (o, p),
    (q, r), (s, t), u)
from21
    rawSqlProcessRow :: [PersistValue]
-> Either
     Text
     (a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r, s, t, u)
rawSqlProcessRow     = (((a, b), (c, d), (e, f), (g, h), (i, j), (k, l), (m, n), (o, p),
  (q, r), (s, t), u)
 -> (a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r, s, t, u))
-> Either
     Text
     ((a, b), (c, d), (e, f), (g, h), (i, j), (k, l), (m, n), (o, p),
      (q, r), (s, t), u)
-> Either
     Text
     (a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r, s, t, u)
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
fmap ((a, b), (c, d), (e, f), (g, h), (i, j), (k, l), (m, n), (o, p),
 (q, r), (s, t), u)
-> (a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r, s, t, u)
forall a b c d e f g h i j k l m n o p q r s t u.
((a, b), (c, d), (e, f), (g, h), (i, j), (k, l), (m, n), (o, p),
 (q, r), (s, t), u)
-> (a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r, s, t, u)
to21 (Either
   Text
   ((a, b), (c, d), (e, f), (g, h), (i, j), (k, l), (m, n), (o, p),
    (q, r), (s, t), u)
 -> Either
      Text
      (a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r, s, t, u))
-> ([PersistValue]
    -> Either
         Text
         ((a, b), (c, d), (e, f), (g, h), (i, j), (k, l), (m, n), (o, p),
          (q, r), (s, t), u))
-> [PersistValue]
-> Either
     Text
     (a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r, s, t, u)
forall b c a. (b -> c) -> (a -> b) -> a -> c
. [PersistValue]
-> Either
     Text
     ((a, b), (c, d), (e, f), (g, h), (i, j), (k, l), (m, n), (o, p),
      (q, r), (s, t), u)
forall a. RawSql a => [PersistValue] -> Either Text a
rawSqlProcessRow

-- | @since 2.11.0
from21 :: (a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u) -> ((a,b),(c,d),(e,f),(g,h),(i,j),(k,l),(m,n),(o,p),(q,r),(s,t),u)
from21 :: (a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r, s, t, u)
-> ((a, b), (c, d), (e, f), (g, h), (i, j), (k, l), (m, n), (o, p),
    (q, r), (s, t), u)
from21 (a
a,b
b,c
c,d
d,e
e,f
f,g
g,h
h,i
i,j
j,k
k,l
l,m
m,n
n,o
o,p
p,q
q,r
r,s
s,t
t,u
u) = ((a
a,b
b),(c
c,d
d),(e
e,f
f),(g
g,h
h),(i
i,j
j),(k
k,l
l),(m
m,n
n),(o
o,p
p),(q
q,r
r),(s
s,t
t),u
u)

-- | @since 2.11.0
to21 :: ((a,b),(c,d),(e,f),(g,h),(i,j),(k,l),(m,n),(o,p),(q,r),(s,t),u) -> (a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u)
to21 :: ((a, b), (c, d), (e, f), (g, h), (i, j), (k, l), (m, n), (o, p),
 (q, r), (s, t), u)
-> (a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r, s, t, u)
to21 ((a
a,b
b),(c
c,d
d),(e
e,f
f),(g
g,h
h),(i
i,j
j),(k
k,l
l),(m
m,n
n),(o
o,p
p),(q
q,r
r),(s
s,t
t),u
u) = (a
a,b
b,c
c,d
d,e
e,f
f,g
g,h
h,i
i,j
j,k
k,l
l,m
m,n
n,o
o,p
p,q
q,r
r,s
s,t
t,u
u)

-- | @since 2.11.0
instance (RawSql a, RawSql b, RawSql c, RawSql d, RawSql e, RawSql f, RawSql g, RawSql h, RawSql i, RawSql j, RawSql k, RawSql l, RawSql m, RawSql n, RawSql o, RawSql p, RawSql q, RawSql r, RawSql s, RawSql t, RawSql u, RawSql v)
      => RawSql (a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r, s, t, u, v) where
    rawSqlCols :: (Text -> Text)
-> (a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r, s, t, u,
    v)
-> (Int, [Text])
rawSqlCols Text -> Text
e         = (Text -> Text)
-> ((a, b), (c, d), (e, f), (g, h), (i, j), (k, l), (m, n), (o, p),
    (q, r), (s, t), (u, v))
-> (Int, [Text])
forall a. RawSql a => (Text -> Text) -> a -> (Int, [Text])
rawSqlCols Text -> Text
e         (((a, b), (c, d), (e, f), (g, h), (i, j), (k, l), (m, n), (o, p),
  (q, r), (s, t), (u, v))
 -> (Int, [Text]))
-> ((a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r, s, t, u,
     v)
    -> ((a, b), (c, d), (e, f), (g, h), (i, j), (k, l), (m, n), (o, p),
        (q, r), (s, t), (u, v)))
-> (a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r, s, t, u,
    v)
-> (Int, [Text])
forall b c a. (b -> c) -> (a -> b) -> a -> c
. (a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r, s, t, u, v)
-> ((a, b), (c, d), (e, f), (g, h), (i, j), (k, l), (m, n), (o, p),
    (q, r), (s, t), (u, v))
forall a b c d e f g h i j k l m n o p q r s t u v.
(a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r, s, t, u, v)
-> ((a, b), (c, d), (e, f), (g, h), (i, j), (k, l), (m, n), (o, p),
    (q, r), (s, t), (u, v))
from22
    rawSqlColCountReason :: (a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r, s, t, u, v)
-> String
rawSqlColCountReason = ((a, b), (c, d), (e, f), (g, h), (i, j), (k, l), (m, n), (o, p),
 (q, r), (s, t), (u, v))
-> String
forall a. RawSql a => a -> String
rawSqlColCountReason (((a, b), (c, d), (e, f), (g, h), (i, j), (k, l), (m, n), (o, p),
  (q, r), (s, t), (u, v))
 -> String)
-> ((a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r, s, t, u,
     v)
    -> ((a, b), (c, d), (e, f), (g, h), (i, j), (k, l), (m, n), (o, p),
        (q, r), (s, t), (u, v)))
-> (a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r, s, t, u,
    v)
-> String
forall b c a. (b -> c) -> (a -> b) -> a -> c
. (a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r, s, t, u, v)
-> ((a, b), (c, d), (e, f), (g, h), (i, j), (k, l), (m, n), (o, p),
    (q, r), (s, t), (u, v))
forall a b c d e f g h i j k l m n o p q r s t u v.
(a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r, s, t, u, v)
-> ((a, b), (c, d), (e, f), (g, h), (i, j), (k, l), (m, n), (o, p),
    (q, r), (s, t), (u, v))
from22
    rawSqlProcessRow :: [PersistValue]
-> Either
     Text
     (a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r, s, t, u, v)
rawSqlProcessRow     = (((a, b), (c, d), (e, f), (g, h), (i, j), (k, l), (m, n), (o, p),
  (q, r), (s, t), (u, v))
 -> (a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r, s, t, u,
     v))
-> Either
     Text
     ((a, b), (c, d), (e, f), (g, h), (i, j), (k, l), (m, n), (o, p),
      (q, r), (s, t), (u, v))
-> Either
     Text
     (a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r, s, t, u, v)
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
fmap ((a, b), (c, d), (e, f), (g, h), (i, j), (k, l), (m, n), (o, p),
 (q, r), (s, t), (u, v))
-> (a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r, s, t, u,
    v)
forall a b c d e f g h i j k l m n o p q r s t u v.
((a, b), (c, d), (e, f), (g, h), (i, j), (k, l), (m, n), (o, p),
 (q, r), (s, t), (u, v))
-> (a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r, s, t, u,
    v)
to22 (Either
   Text
   ((a, b), (c, d), (e, f), (g, h), (i, j), (k, l), (m, n), (o, p),
    (q, r), (s, t), (u, v))
 -> Either
      Text
      (a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r, s, t, u, v))
-> ([PersistValue]
    -> Either
         Text
         ((a, b), (c, d), (e, f), (g, h), (i, j), (k, l), (m, n), (o, p),
          (q, r), (s, t), (u, v)))
-> [PersistValue]
-> Either
     Text
     (a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r, s, t, u, v)
forall b c a. (b -> c) -> (a -> b) -> a -> c
. [PersistValue]
-> Either
     Text
     ((a, b), (c, d), (e, f), (g, h), (i, j), (k, l), (m, n), (o, p),
      (q, r), (s, t), (u, v))
forall a. RawSql a => [PersistValue] -> Either Text a
rawSqlProcessRow

-- | @since 2.11.0
from22 :: (a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v) -> ((a,b),(c,d),(e,f),(g,h),(i,j),(k,l),(m,n),(o,p),(q,r),(s,t),(u,v))
from22 :: (a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r, s, t, u, v)
-> ((a, b), (c, d), (e, f), (g, h), (i, j), (k, l), (m, n), (o, p),
    (q, r), (s, t), (u, v))
from22 (a
a,b
b,c
c,d
d,e
e,f
f,g
g,h
h,i
i,j
j,k
k,l
l,m
m,n
n,o
o,p
p,q
q,r
r,s
s,t
t,u
u,v
v) = ((a
a,b
b),(c
c,d
d),(e
e,f
f),(g
g,h
h),(i
i,j
j),(k
k,l
l),(m
m,n
n),(o
o,p
p),(q
q,r
r),(s
s,t
t),(u
u,v
v))

-- | @since 2.11.0
to22 :: ((a,b),(c,d),(e,f),(g,h),(i,j),(k,l),(m,n),(o,p),(q,r),(s,t),(u,v)) -> (a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v)
to22 :: ((a, b), (c, d), (e, f), (g, h), (i, j), (k, l), (m, n), (o, p),
 (q, r), (s, t), (u, v))
-> (a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r, s, t, u,
    v)
to22 ((a
a,b
b),(c
c,d
d),(e
e,f
f),(g
g,h
h),(i
i,j
j),(k
k,l
l),(m
m,n
n),(o
o,p
p),(q
q,r
r),(s
s,t
t),(u
u,v
v)) = (a
a,b
b,c
c,d
d,e
e,f
f,g
g,h
h,i
i,j
j,k
k,l
l,m
m,n
n,o
o,p
p,q
q,r
r,s
s,t
t,u
u,v
v)

-- | @since 2.11.0
instance (RawSql a, RawSql b, RawSql c, RawSql d, RawSql e, RawSql f, RawSql g, RawSql h, RawSql i, RawSql j, RawSql k, RawSql l, RawSql m, RawSql n, RawSql o, RawSql p, RawSql q, RawSql r, RawSql s, RawSql t, RawSql u, RawSql v, RawSql w)
      => RawSql (a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r, s, t, u, v, w) where
    rawSqlCols :: (Text -> Text)
-> (a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r, s, t, u,
    v, w)
-> (Int, [Text])
rawSqlCols Text -> Text
e         = (Text -> Text)
-> ((a, b), (c, d), (e, f), (g, h), (i, j), (k, l), (m, n), (o, p),
    (q, r), (s, t), (u, v), w)
-> (Int, [Text])
forall a. RawSql a => (Text -> Text) -> a -> (Int, [Text])
rawSqlCols Text -> Text
e         (((a, b), (c, d), (e, f), (g, h), (i, j), (k, l), (m, n), (o, p),
  (q, r), (s, t), (u, v), w)
 -> (Int, [Text]))
-> ((a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r, s, t, u,
     v, w)
    -> ((a, b), (c, d), (e, f), (g, h), (i, j), (k, l), (m, n), (o, p),
        (q, r), (s, t), (u, v), w))
-> (a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r, s, t, u,
    v, w)
-> (Int, [Text])
forall b c a. (b -> c) -> (a -> b) -> a -> c
. (a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r, s, t, u, v,
 w)
-> ((a, b), (c, d), (e, f), (g, h), (i, j), (k, l), (m, n), (o, p),
    (q, r), (s, t), (u, v), w)
forall a b c d e f g h i j k l m n o p q r s t u v w.
(a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r, s, t, u, v,
 w)
-> ((a, b), (c, d), (e, f), (g, h), (i, j), (k, l), (m, n), (o, p),
    (q, r), (s, t), (u, v), w)
from23
    rawSqlColCountReason :: (a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r, s, t, u, v,
 w)
-> String
rawSqlColCountReason = ((a, b), (c, d), (e, f), (g, h), (i, j), (k, l), (m, n), (o, p),
 (q, r), (s, t), (u, v), w)
-> String
forall a. RawSql a => a -> String
rawSqlColCountReason (((a, b), (c, d), (e, f), (g, h), (i, j), (k, l), (m, n), (o, p),
  (q, r), (s, t), (u, v), w)
 -> String)
-> ((a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r, s, t, u,
     v, w)
    -> ((a, b), (c, d), (e, f), (g, h), (i, j), (k, l), (m, n), (o, p),
        (q, r), (s, t), (u, v), w))
-> (a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r, s, t, u,
    v, w)
-> String
forall b c a. (b -> c) -> (a -> b) -> a -> c
. (a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r, s, t, u, v,
 w)
-> ((a, b), (c, d), (e, f), (g, h), (i, j), (k, l), (m, n), (o, p),
    (q, r), (s, t), (u, v), w)
forall a b c d e f g h i j k l m n o p q r s t u v w.
(a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r, s, t, u, v,
 w)
-> ((a, b), (c, d), (e, f), (g, h), (i, j), (k, l), (m, n), (o, p),
    (q, r), (s, t), (u, v), w)
from23
    rawSqlProcessRow :: [PersistValue]
-> Either
     Text
     (a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r, s, t, u, v,
      w)
rawSqlProcessRow     = (((a, b), (c, d), (e, f), (g, h), (i, j), (k, l), (m, n), (o, p),
  (q, r), (s, t), (u, v), w)
 -> (a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r, s, t, u,
     v, w))
-> Either
     Text
     ((a, b), (c, d), (e, f), (g, h), (i, j), (k, l), (m, n), (o, p),
      (q, r), (s, t), (u, v), w)
-> Either
     Text
     (a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r, s, t, u, v,
      w)
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
fmap ((a, b), (c, d), (e, f), (g, h), (i, j), (k, l), (m, n), (o, p),
 (q, r), (s, t), (u, v), w)
-> (a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r, s, t, u,
    v, w)
forall a b c d e f g h i j k l m n o p q r s t u v w.
((a, b), (c, d), (e, f), (g, h), (i, j), (k, l), (m, n), (o, p),
 (q, r), (s, t), (u, v), w)
-> (a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r, s, t, u,
    v, w)
to23 (Either
   Text
   ((a, b), (c, d), (e, f), (g, h), (i, j), (k, l), (m, n), (o, p),
    (q, r), (s, t), (u, v), w)
 -> Either
      Text
      (a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r, s, t, u, v,
       w))
-> ([PersistValue]
    -> Either
         Text
         ((a, b), (c, d), (e, f), (g, h), (i, j), (k, l), (m, n), (o, p),
          (q, r), (s, t), (u, v), w))
-> [PersistValue]
-> Either
     Text
     (a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r, s, t, u, v,
      w)
forall b c a. (b -> c) -> (a -> b) -> a -> c
. [PersistValue]
-> Either
     Text
     ((a, b), (c, d), (e, f), (g, h), (i, j), (k, l), (m, n), (o, p),
      (q, r), (s, t), (u, v), w)
forall a. RawSql a => [PersistValue] -> Either Text a
rawSqlProcessRow

-- | @since 2.11.0
from23 :: (a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w) -> ((a,b),(c,d),(e,f),(g,h),(i,j),(k,l),(m,n),(o,p),(q,r),(s,t),(u,v),w)
from23 :: (a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r, s, t, u, v,
 w)
-> ((a, b), (c, d), (e, f), (g, h), (i, j), (k, l), (m, n), (o, p),
    (q, r), (s, t), (u, v), w)
from23 (a
a,b
b,c
c,d
d,e
e,f
f,g
g,h
h,i
i,j
j,k
k,l
l,m
m,n
n,o
o,p
p,q
q,r
r,s
s,t
t,u
u,v
v,w
w) = ((a
a,b
b),(c
c,d
d),(e
e,f
f),(g
g,h
h),(i
i,j
j),(k
k,l
l),(m
m,n
n),(o
o,p
p),(q
q,r
r),(s
s,t
t),(u
u,v
v),w
w)

-- | @since 2.11.0
to23 :: ((a,b),(c,d),(e,f),(g,h),(i,j),(k,l),(m,n),(o,p),(q,r),(s,t),(u,v),w) -> (a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w)
to23 :: ((a, b), (c, d), (e, f), (g, h), (i, j), (k, l), (m, n), (o, p),
 (q, r), (s, t), (u, v), w)
-> (a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r, s, t, u,
    v, w)
to23 ((a
a,b
b),(c
c,d
d),(e
e,f
f),(g
g,h
h),(i
i,j
j),(k
k,l
l),(m
m,n
n),(o
o,p
p),(q
q,r
r),(s
s,t
t),(u
u,v
v),w
w) = (a
a,b
b,c
c,d
d,e
e,f
f,g
g,h
h,i
i,j
j,k
k,l
l,m
m,n
n,o
o,p
p,q
q,r
r,s
s,t
t,u
u,v
v,w
w)

-- | @since 2.11.0
instance (RawSql a, RawSql b, RawSql c, RawSql d, RawSql e, RawSql f, RawSql g, RawSql h, RawSql i, RawSql j, RawSql k, RawSql l, RawSql m, RawSql n, RawSql o, RawSql p, RawSql q, RawSql r, RawSql s, RawSql t, RawSql u, RawSql v, RawSql w, RawSql x)
      => RawSql (a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r, s, t, u, v, w, x) where
    rawSqlCols :: (Text -> Text)
-> (a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r, s, t, u,
    v, w, x)
-> (Int, [Text])
rawSqlCols Text -> Text
e         = (Text -> Text)
-> ((a, b), (c, d), (e, f), (g, h), (i, j), (k, l), (m, n), (o, p),
    (q, r), (s, t), (u, v), (w, x))
-> (Int, [Text])
forall a. RawSql a => (Text -> Text) -> a -> (Int, [Text])
rawSqlCols Text -> Text
e         (((a, b), (c, d), (e, f), (g, h), (i, j), (k, l), (m, n), (o, p),
  (q, r), (s, t), (u, v), (w, x))
 -> (Int, [Text]))
-> ((a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r, s, t, u,
     v, w, x)
    -> ((a, b), (c, d), (e, f), (g, h), (i, j), (k, l), (m, n), (o, p),
        (q, r), (s, t), (u, v), (w, x)))
-> (a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r, s, t, u,
    v, w, x)
-> (Int, [Text])
forall b c a. (b -> c) -> (a -> b) -> a -> c
. (a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r, s, t, u, v,
 w, x)
-> ((a, b), (c, d), (e, f), (g, h), (i, j), (k, l), (m, n), (o, p),
    (q, r), (s, t), (u, v), (w, x))
forall a b c d e f g h i j k l m n o p q r s t u v w x.
(a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r, s, t, u, v,
 w, x)
-> ((a, b), (c, d), (e, f), (g, h), (i, j), (k, l), (m, n), (o, p),
    (q, r), (s, t), (u, v), (w, x))
from24
    rawSqlColCountReason :: (a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r, s, t, u, v,
 w, x)
-> String
rawSqlColCountReason = ((a, b), (c, d), (e, f), (g, h), (i, j), (k, l), (m, n), (o, p),
 (q, r), (s, t), (u, v), (w, x))
-> String
forall a. RawSql a => a -> String
rawSqlColCountReason (((a, b), (c, d), (e, f), (g, h), (i, j), (k, l), (m, n), (o, p),
  (q, r), (s, t), (u, v), (w, x))
 -> String)
-> ((a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r, s, t, u,
     v, w, x)
    -> ((a, b), (c, d), (e, f), (g, h), (i, j), (k, l), (m, n), (o, p),
        (q, r), (s, t), (u, v), (w, x)))
-> (a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r, s, t, u,
    v, w, x)
-> String
forall b c a. (b -> c) -> (a -> b) -> a -> c
. (a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r, s, t, u, v,
 w, x)
-> ((a, b), (c, d), (e, f), (g, h), (i, j), (k, l), (m, n), (o, p),
    (q, r), (s, t), (u, v), (w, x))
forall a b c d e f g h i j k l m n o p q r s t u v w x.
(a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r, s, t, u, v,
 w, x)
-> ((a, b), (c, d), (e, f), (g, h), (i, j), (k, l), (m, n), (o, p),
    (q, r), (s, t), (u, v), (w, x))
from24
    rawSqlProcessRow :: [PersistValue]
-> Either
     Text
     (a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r, s, t, u, v,
      w, x)
rawSqlProcessRow     = (((a, b), (c, d), (e, f), (g, h), (i, j), (k, l), (m, n), (o, p),
  (q, r), (s, t), (u, v), (w, x))
 -> (a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r, s, t, u,
     v, w, x))
-> Either
     Text
     ((a, b), (c, d), (e, f), (g, h), (i, j), (k, l), (m, n), (o, p),
      (q, r), (s, t), (u, v), (w, x))
-> Either
     Text
     (a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r, s, t, u, v,
      w, x)
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
fmap ((a, b), (c, d), (e, f), (g, h), (i, j), (k, l), (m, n), (o, p),
 (q, r), (s, t), (u, v), (w, x))
-> (a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r, s, t, u,
    v, w, x)
forall a b c d e f g h i j k l m n o p q r s t u v w x.
((a, b), (c, d), (e, f), (g, h), (i, j), (k, l), (m, n), (o, p),
 (q, r), (s, t), (u, v), (w, x))
-> (a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r, s, t, u,
    v, w, x)
to24 (Either
   Text
   ((a, b), (c, d), (e, f), (g, h), (i, j), (k, l), (m, n), (o, p),
    (q, r), (s, t), (u, v), (w, x))
 -> Either
      Text
      (a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r, s, t, u, v,
       w, x))
-> ([PersistValue]
    -> Either
         Text
         ((a, b), (c, d), (e, f), (g, h), (i, j), (k, l), (m, n), (o, p),
          (q, r), (s, t), (u, v), (w, x)))
-> [PersistValue]
-> Either
     Text
     (a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r, s, t, u, v,
      w, x)
forall b c a. (b -> c) -> (a -> b) -> a -> c
. [PersistValue]
-> Either
     Text
     ((a, b), (c, d), (e, f), (g, h), (i, j), (k, l), (m, n), (o, p),
      (q, r), (s, t), (u, v), (w, x))
forall a. RawSql a => [PersistValue] -> Either Text a
rawSqlProcessRow

-- | @since 2.11.0
from24 :: (a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x) -> ((a,b),(c,d),(e,f),(g,h),(i,j),(k,l),(m,n),(o,p),(q,r),(s,t),(u,v),(w,x))
from24 :: (a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r, s, t, u, v,
 w, x)
-> ((a, b), (c, d), (e, f), (g, h), (i, j), (k, l), (m, n), (o, p),
    (q, r), (s, t), (u, v), (w, x))
from24 (a
a,b
b,c
c,d
d,e
e,f
f,g
g,h
h,i
i,j
j,k
k,l
l,m
m,n
n,o
o,p
p,q
q,r
r,s
s,t
t,u
u,v
v,w
w,x
x) = ((a
a,b
b),(c
c,d
d),(e
e,f
f),(g
g,h
h),(i
i,j
j),(k
k,l
l),(m
m,n
n),(o
o,p
p),(q
q,r
r),(s
s,t
t),(u
u,v
v),(w
w,x
x))

-- | @since 2.11.0
to24 :: ((a,b),(c,d),(e,f),(g,h),(i,j),(k,l),(m,n),(o,p),(q,r),(s,t),(u,v),(w,x)) -> (a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x)
to24 :: ((a, b), (c, d), (e, f), (g, h), (i, j), (k, l), (m, n), (o, p),
 (q, r), (s, t), (u, v), (w, x))
-> (a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r, s, t, u,
    v, w, x)
to24 ((a
a,b
b),(c
c,d
d),(e
e,f
f),(g
g,h
h),(i
i,j
j),(k
k,l
l),(m
m,n
n),(o
o,p
p),(q
q,r
r),(s
s,t
t),(u
u,v
v),(w
w,x
x)) = (a
a,b
b,c
c,d
d,e
e,f
f,g
g,h
h,i
i,j
j,k
k,l
l,m
m,n
n,o
o,p
p,q
q,r
r,s
s,t
t,u
u,v
v,w
w,x
x)

-- | @since 2.11.0
instance (RawSql a, RawSql b, RawSql c, RawSql d, RawSql e, RawSql f, RawSql g, RawSql h, RawSql i, RawSql j, RawSql k, RawSql l, RawSql m, RawSql n, RawSql o, RawSql p, RawSql q, RawSql r, RawSql s, RawSql t, RawSql u, RawSql v, RawSql w, RawSql x, RawSql y)
      => RawSql (a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r, s, t, u, v, w, x, y) where
    rawSqlCols :: (Text -> Text)
-> (a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r, s, t, u,
    v, w, x, y)
-> (Int, [Text])
rawSqlCols Text -> Text
e         = (Text -> Text)
-> ((a, b), (c, d), (e, f), (g, h), (i, j), (k, l), (m, n), (o, p),
    (q, r), (s, t), (u, v), (w, x), y)
-> (Int, [Text])
forall a. RawSql a => (Text -> Text) -> a -> (Int, [Text])
rawSqlCols Text -> Text
e         (((a, b), (c, d), (e, f), (g, h), (i, j), (k, l), (m, n), (o, p),
  (q, r), (s, t), (u, v), (w, x), y)
 -> (Int, [Text]))
-> ((a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r, s, t, u,
     v, w, x, y)
    -> ((a, b), (c, d), (e, f), (g, h), (i, j), (k, l), (m, n), (o, p),
        (q, r), (s, t), (u, v), (w, x), y))
-> (a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r, s, t, u,
    v, w, x, y)
-> (Int, [Text])
forall b c a. (b -> c) -> (a -> b) -> a -> c
. (a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r, s, t, u, v,
 w, x, y)
-> ((a, b), (c, d), (e, f), (g, h), (i, j), (k, l), (m, n), (o, p),
    (q, r), (s, t), (u, v), (w, x), y)
forall a b c d e f g h i j k l m n o p q r s t u v w x y.
(a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r, s, t, u, v,
 w, x, y)
-> ((a, b), (c, d), (e, f), (g, h), (i, j), (k, l), (m, n), (o, p),
    (q, r), (s, t), (u, v), (w, x), y)
from25
    rawSqlColCountReason :: (a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r, s, t, u, v,
 w, x, y)
-> String
rawSqlColCountReason = ((a, b), (c, d), (e, f), (g, h), (i, j), (k, l), (m, n), (o, p),
 (q, r), (s, t), (u, v), (w, x), y)
-> String
forall a. RawSql a => a -> String
rawSqlColCountReason (((a, b), (c, d), (e, f), (g, h), (i, j), (k, l), (m, n), (o, p),
  (q, r), (s, t), (u, v), (w, x), y)
 -> String)
-> ((a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r, s, t, u,
     v, w, x, y)
    -> ((a, b), (c, d), (e, f), (g, h), (i, j), (k, l), (m, n), (o, p),
        (q, r), (s, t), (u, v), (w, x), y))
-> (a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r, s, t, u,
    v, w, x, y)
-> String
forall b c a. (b -> c) -> (a -> b) -> a -> c
. (a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r, s, t, u, v,
 w, x, y)
-> ((a, b), (c, d), (e, f), (g, h), (i, j), (k, l), (m, n), (o, p),
    (q, r), (s, t), (u, v), (w, x), y)
forall a b c d e f g h i j k l m n o p q r s t u v w x y.
(a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r, s, t, u, v,
 w, x, y)
-> ((a, b), (c, d), (e, f), (g, h), (i, j), (k, l), (m, n), (o, p),
    (q, r), (s, t), (u, v), (w, x), y)
from25
    rawSqlProcessRow :: [PersistValue]
-> Either
     Text
     (a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r, s, t, u, v,
      w, x, y)
rawSqlProcessRow     = (((a, b), (c, d), (e, f), (g, h), (i, j), (k, l), (m, n), (o, p),
  (q, r), (s, t), (u, v), (w, x), y)
 -> (a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r, s, t, u,
     v, w, x, y))
-> Either
     Text
     ((a, b), (c, d), (e, f), (g, h), (i, j), (k, l), (m, n), (o, p),
      (q, r), (s, t), (u, v), (w, x), y)
-> Either
     Text
     (a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r, s, t, u, v,
      w, x, y)
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
fmap ((a, b), (c, d), (e, f), (g, h), (i, j), (k, l), (m, n), (o, p),
 (q, r), (s, t), (u, v), (w, x), y)
-> (a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r, s, t, u,
    v, w, x, y)
forall a b c d e f g h i j k l m n o p q r s t u v w x y.
((a, b), (c, d), (e, f), (g, h), (i, j), (k, l), (m, n), (o, p),
 (q, r), (s, t), (u, v), (w, x), y)
-> (a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r, s, t, u,
    v, w, x, y)
to25 (Either
   Text
   ((a, b), (c, d), (e, f), (g, h), (i, j), (k, l), (m, n), (o, p),
    (q, r), (s, t), (u, v), (w, x), y)
 -> Either
      Text
      (a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r, s, t, u, v,
       w, x, y))
-> ([PersistValue]
    -> Either
         Text
         ((a, b), (c, d), (e, f), (g, h), (i, j), (k, l), (m, n), (o, p),
          (q, r), (s, t), (u, v), (w, x), y))
-> [PersistValue]
-> Either
     Text
     (a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r, s, t, u, v,
      w, x, y)
forall b c a. (b -> c) -> (a -> b) -> a -> c
. [PersistValue]
-> Either
     Text
     ((a, b), (c, d), (e, f), (g, h), (i, j), (k, l), (m, n), (o, p),
      (q, r), (s, t), (u, v), (w, x), y)
forall a. RawSql a => [PersistValue] -> Either Text a
rawSqlProcessRow

-- | @since 2.11.0
from25 :: (a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y) -> ((a,b),(c,d),(e,f),(g,h),(i,j),(k,l),(m,n),(o,p),(q,r),(s,t),(u,v),(w,x),y)
from25 :: (a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r, s, t, u, v,
 w, x, y)
-> ((a, b), (c, d), (e, f), (g, h), (i, j), (k, l), (m, n), (o, p),
    (q, r), (s, t), (u, v), (w, x), y)
from25 (a
a,b
b,c
c,d
d,e
e,f
f,g
g,h
h,i
i,j
j,k
k,l
l,m
m,n
n,o
o,p
p,q
q,r
r,s
s,t
t,u
u,v
v,w
w,x
x,y
y) = ((a
a,b
b),(c
c,d
d),(e
e,f
f),(g
g,h
h),(i
i,j
j),(k
k,l
l),(m
m,n
n),(o
o,p
p),(q
q,r
r),(s
s,t
t),(u
u,v
v),(w
w,x
x),y
y)

-- | @since 2.11.0
to25 :: ((a,b),(c,d),(e,f),(g,h),(i,j),(k,l),(m,n),(o,p),(q,r),(s,t),(u,v),(w,x),y) -> (a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y)
to25 :: ((a, b), (c, d), (e, f), (g, h), (i, j), (k, l), (m, n), (o, p),
 (q, r), (s, t), (u, v), (w, x), y)
-> (a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r, s, t, u,
    v, w, x, y)
to25 ((a
a,b
b),(c
c,d
d),(e
e,f
f),(g
g,h
h),(i
i,j
j),(k
k,l
l),(m
m,n
n),(o
o,p
p),(q
q,r
r),(s
s,t
t),(u
u,v
v),(w
w,x
x),y
y) = (a
a,b
b,c
c,d
d,e
e,f
f,g
g,h
h,i
i,j
j,k
k,l
l,m
m,n
n,o
o,p
p,q
q,r
r,s
s,t
t,u
u,v
v,w
w,x
x,y
y)

-- | @since 2.11.0
instance (RawSql a, RawSql b, RawSql c, RawSql d, RawSql e, RawSql f, RawSql g, RawSql h, RawSql i, RawSql j, RawSql k, RawSql l, RawSql m, RawSql n, RawSql o, RawSql p, RawSql q, RawSql r, RawSql s, RawSql t, RawSql u, RawSql v, RawSql w, RawSql x, RawSql y, RawSql z)
      => RawSql (a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r, s, t, u, v, w, x, y, z) where
    rawSqlCols :: (Text -> Text)
-> (a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r, s, t, u,
    v, w, x, y, z)
-> (Int, [Text])
rawSqlCols Text -> Text
e         = (Text -> Text)
-> ((a, b), (c, d), (e, f), (g, h), (i, j), (k, l), (m, n), (o, p),
    (q, r), (s, t), (u, v), (w, x), (y, z))
-> (Int, [Text])
forall a. RawSql a => (Text -> Text) -> a -> (Int, [Text])
rawSqlCols Text -> Text
e         (((a, b), (c, d), (e, f), (g, h), (i, j), (k, l), (m, n), (o, p),
  (q, r), (s, t), (u, v), (w, x), (y, z))
 -> (Int, [Text]))
-> ((a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r, s, t, u,
     v, w, x, y, z)
    -> ((a, b), (c, d), (e, f), (g, h), (i, j), (k, l), (m, n), (o, p),
        (q, r), (s, t), (u, v), (w, x), (y, z)))
-> (a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r, s, t, u,
    v, w, x, y, z)
-> (Int, [Text])
forall b c a. (b -> c) -> (a -> b) -> a -> c
. (a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r, s, t, u, v,
 w, x, y, z)
-> ((a, b), (c, d), (e, f), (g, h), (i, j), (k, l), (m, n), (o, p),
    (q, r), (s, t), (u, v), (w, x), (y, z))
forall a b c d e f g h i j k l m n o p q r s t u v w x y z.
(a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r, s, t, u, v,
 w, x, y, z)
-> ((a, b), (c, d), (e, f), (g, h), (i, j), (k, l), (m, n), (o, p),
    (q, r), (s, t), (u, v), (w, x), (y, z))
from26
    rawSqlColCountReason :: (a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r, s, t, u, v,
 w, x, y, z)
-> String
rawSqlColCountReason = ((a, b), (c, d), (e, f), (g, h), (i, j), (k, l), (m, n), (o, p),
 (q, r), (s, t), (u, v), (w, x), (y, z))
-> String
forall a. RawSql a => a -> String
rawSqlColCountReason (((a, b), (c, d), (e, f), (g, h), (i, j), (k, l), (m, n), (o, p),
  (q, r), (s, t), (u, v), (w, x), (y, z))
 -> String)
-> ((a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r, s, t, u,
     v, w, x, y, z)
    -> ((a, b), (c, d), (e, f), (g, h), (i, j), (k, l), (m, n), (o, p),
        (q, r), (s, t), (u, v), (w, x), (y, z)))
-> (a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r, s, t, u,
    v, w, x, y, z)
-> String
forall b c a. (b -> c) -> (a -> b) -> a -> c
. (a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r, s, t, u, v,
 w, x, y, z)
-> ((a, b), (c, d), (e, f), (g, h), (i, j), (k, l), (m, n), (o, p),
    (q, r), (s, t), (u, v), (w, x), (y, z))
forall a b c d e f g h i j k l m n o p q r s t u v w x y z.
(a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r, s, t, u, v,
 w, x, y, z)
-> ((a, b), (c, d), (e, f), (g, h), (i, j), (k, l), (m, n), (o, p),
    (q, r), (s, t), (u, v), (w, x), (y, z))
from26
    rawSqlProcessRow :: [PersistValue]
-> Either
     Text
     (a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r, s, t, u, v,
      w, x, y, z)
rawSqlProcessRow     = (((a, b), (c, d), (e, f), (g, h), (i, j), (k, l), (m, n), (o, p),
  (q, r), (s, t), (u, v), (w, x), (y, z))
 -> (a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r, s, t, u,
     v, w, x, y, z))
-> Either
     Text
     ((a, b), (c, d), (e, f), (g, h), (i, j), (k, l), (m, n), (o, p),
      (q, r), (s, t), (u, v), (w, x), (y, z))
-> Either
     Text
     (a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r, s, t, u, v,
      w, x, y, z)
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
fmap ((a, b), (c, d), (e, f), (g, h), (i, j), (k, l), (m, n), (o, p),
 (q, r), (s, t), (u, v), (w, x), (y, z))
-> (a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r, s, t, u,
    v, w, x, y, z)
forall a b c d e f g h i j k l m n o p q r s t u v w x y z.
((a, b), (c, d), (e, f), (g, h), (i, j), (k, l), (m, n), (o, p),
 (q, r), (s, t), (u, v), (w, x), (y, z))
-> (a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r, s, t, u,
    v, w, x, y, z)
to26 (Either
   Text
   ((a, b), (c, d), (e, f), (g, h), (i, j), (k, l), (m, n), (o, p),
    (q, r), (s, t), (u, v), (w, x), (y, z))
 -> Either
      Text
      (a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r, s, t, u, v,
       w, x, y, z))
-> ([PersistValue]
    -> Either
         Text
         ((a, b), (c, d), (e, f), (g, h), (i, j), (k, l), (m, n), (o, p),
          (q, r), (s, t), (u, v), (w, x), (y, z)))
-> [PersistValue]
-> Either
     Text
     (a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r, s, t, u, v,
      w, x, y, z)
forall b c a. (b -> c) -> (a -> b) -> a -> c
. [PersistValue]
-> Either
     Text
     ((a, b), (c, d), (e, f), (g, h), (i, j), (k, l), (m, n), (o, p),
      (q, r), (s, t), (u, v), (w, x), (y, z))
forall a. RawSql a => [PersistValue] -> Either Text a
rawSqlProcessRow

-- | @since 2.11.0
from26 :: (a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z) -> ((a,b),(c,d),(e,f),(g,h),(i,j),(k,l),(m,n),(o,p),(q,r),(s,t),(u,v),(w,x),(y,z))
from26 :: (a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r, s, t, u, v,
 w, x, y, z)
-> ((a, b), (c, d), (e, f), (g, h), (i, j), (k, l), (m, n), (o, p),
    (q, r), (s, t), (u, v), (w, x), (y, z))
from26 (a
a,b
b,c
c,d
d,e
e,f
f,g
g,h
h,i
i,j
j,k
k,l
l,m
m,n
n,o
o,p
p,q
q,r
r,s
s,t
t,u
u,v
v,w
w,x
x,y
y,z
z) = ((a
a,b
b),(c
c,d
d),(e
e,f
f),(g
g,h
h),(i
i,j
j),(k
k,l
l),(m
m,n
n),(o
o,p
p),(q
q,r
r),(s
s,t
t),(u
u,v
v),(w
w,x
x),(y
y,z
z))

-- | @since 2.11.0
to26 :: ((a,b),(c,d),(e,f),(g,h),(i,j),(k,l),(m,n),(o,p),(q,r),(s,t),(u,v),(w,x),(y,z)) -> (a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z)
to26 :: ((a, b), (c, d), (e, f), (g, h), (i, j), (k, l), (m, n), (o, p),
 (q, r), (s, t), (u, v), (w, x), (y, z))
-> (a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r, s, t, u,
    v, w, x, y, z)
to26 ((a
a,b
b),(c
c,d
d),(e
e,f
f),(g
g,h
h),(i
i,j
j),(k
k,l
l),(m
m,n
n),(o
o,p
p),(q
q,r
r),(s
s,t
t),(u
u,v
v),(w
w,x
x),(y
y,z
z)) = (a
a,b
b,c
c,d
d,e
e,f
f,g
g,h
h,i
i,j
j,k
k,l
l,m
m,n
n,o
o,p
p,q
q,r
r,s
s,t
t,u
u,v
v,w
w,x
x,y
y,z
z)

-- | @since 2.11.0
instance (RawSql a, RawSql b, RawSql c, RawSql d, RawSql e, RawSql f, RawSql g, RawSql h, RawSql i, RawSql j, RawSql k, RawSql l, RawSql m, RawSql n, RawSql o, RawSql p, RawSql q, RawSql r, RawSql s, RawSql t, RawSql u, RawSql v, RawSql w, RawSql