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

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

import GHC.TypeLits (Symbol, KnownSymbol, symbolVal)
import Data.Bits (bitSizeMaybe)
import Data.ByteString (ByteString)
import Data.Fixed
import Data.Int
import qualified Data.IntMap as IM
import qualified Data.Map as M
import Data.Maybe (fromMaybe)
import Data.Monoid ((<>))
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 (UTCTime, TimeOfDay, Day)
import qualified Data.Vector as V
import Data.Word
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 = ([Text] -> Int
forall (t :: * -> *) a. Foldable t => t a -> Int
length [Text]
sqlFields, [Text -> [Text] -> Text
intercalate Text
", " [Text]
sqlFields])
        where
          sqlFields :: [Text]
sqlFields = (FieldNameDB -> Text) -> [FieldNameDB] -> [Text]
forall a b. (a -> b) -> [a] -> [b]
map (((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)
              ([FieldNameDB] -> [Text]) -> [FieldNameDB] -> [Text]
forall a b. (a -> b) -> a -> b
$ (FieldDef -> FieldNameDB) -> [FieldDef] -> [FieldNameDB]
forall a b. (a -> b) -> [a] -> [b]
map FieldDef -> FieldNameDB
fieldDB
              -- Hacky for a composite key because
              -- it selects the same field multiple times
              ([FieldDef] -> [FieldNameDB]) -> [FieldDef] -> [FieldNameDB]
forall a b. (a -> b) -> a -> b
$ EntityDef -> [FieldDef]
entityKeyFields EntityDef
entDef [FieldDef] -> [FieldDef] -> [FieldDef]
forall a. [a] -> [a] -> [a]
++ EntityDef -> [FieldDef]
entityFields EntityDef
entDef
          name :: Text
name = (Text -> Text) -> EntityNameDB -> Text
forall a str. DatabaseName a => (Text -> str) -> a -> str
escapeWith Text -> Text
escape (EntityDef -> EntityNameDB
entityDB 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. [a] -> [a] -> [a]
++ String
" columns for an 'Entity' data type"
    rawSqlProcessRow :: [PersistValue] -> Either Text (Entity 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) -> 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 = [FieldDef] -> Int
forall (t :: * -> *) a. Foldable t => t a -> Int
length ([FieldDef] -> Int) -> [FieldDef] -> Int
forall a b. (a -> b) -> a -> b
$ EntityDef -> [FieldDef]
entityKeyFields 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)

-- | 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 = map (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 = ([Text] -> Int
forall (t :: * -> *) a. Foldable t => t a -> Int
length [Text]
sqlFields, [Text -> [Text] -> Text
intercalate Text
", " [Text]
sqlFields])
        where
          sqlFields :: [Text]
sqlFields = (FieldNameDB -> Text) -> [FieldNameDB] -> [Text]
forall a b. (a -> b) -> [a] -> [b]
map (((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)
              ([FieldNameDB] -> [Text]) -> [FieldNameDB] -> [Text]
forall a b. (a -> b) -> a -> b
$ (FieldDef -> FieldNameDB) -> [FieldDef] -> [FieldNameDB]
forall a b. (a -> b) -> [a] -> [b]
map FieldDef -> FieldNameDB
fieldDB
              -- Hacky for a composite key because
              -- it selects the same field multiple times
              ([FieldDef] -> [FieldNameDB]) -> [FieldDef] -> [FieldNameDB]
forall a b. (a -> b) -> a -> b
$ EntityDef -> [FieldDef]
entityKeyFields EntityDef
entDef [FieldDef] -> [FieldDef] -> [FieldDef]
forall a. [a] -> [a] -> [a]
++ EntityDef -> [FieldDef]
entityFields 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 = [FieldDef] -> Int
forall (t :: * -> *) a. Foldable t => t a -> Int
length ([FieldDef] -> Int) -> [FieldDef] -> Int
forall a b. (a -> b) -> a -> b
$ EntityDef -> [FieldDef]
entityKeyFields 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 x, RawSql y, RawSql z, RawSql a2)
      => RawSql (a, b, c, d, e, f, g, h, i