-- Hoogle documentation, generated by Haddock -- See Hoogle, http://www.haskell.org/hoogle/ -- | Haskell bindings to libpqtypes -- @package hpqtypes @version 1.2.2 -- | Mappings of types used by libpq/libpqtypes to Haskell ADTs. module Database.PostgreSQL.PQTypes.Internal.C.Types data PGconn data PGparam data PGresult data PGtypeArgs newtype ConnStatusType ConnStatusType :: CInt -> ConnStatusType c_CONNECTION_OK :: ConnStatusType c_CONNECTION_BAD :: ConnStatusType c_CONNECTION_STARTED :: ConnStatusType c_CONNECTION_MADE :: ConnStatusType c_CONNECTION_AWAITING_RESPONSE :: ConnStatusType c_CONNECTION_AUTH_OK :: ConnStatusType c_CONNECTION_SETENV :: ConnStatusType c_CONNECTION_SSL_STARTUP :: ConnStatusType c_CONNECTION_NEEDED :: ConnStatusType newtype ResultFormat ResultFormat :: CInt -> ResultFormat c_RESULT_TEXT :: ResultFormat c_RESULT_BINARY :: ResultFormat newtype ExecStatusType ExecStatusType :: CInt -> ExecStatusType c_PGRES_EMPTY_QUERY :: ExecStatusType c_PGRES_COMMAND_OK :: ExecStatusType c_PGRES_TUPLES_OK :: ExecStatusType c_PGRES_COPY_OUT :: ExecStatusType c_PGRES_COPY_IN :: ExecStatusType c_PGRES_BAD_RESPONSE :: ExecStatusType c_PGRES_NONFATAL_ERROR :: ExecStatusType c_PGRES_FATAL_ERROR :: ExecStatusType c_PGRES_COPY_BOTH :: ExecStatusType newtype ErrorField ErrorField :: CInt -> ErrorField c_PG_DIAG_SEVERITY :: ErrorField c_PG_DIAG_SQLSTATE :: ErrorField c_PG_DIAG_MESSAGE_PRIMARY :: ErrorField c_PG_DIAG_MESSAGE_DETAIL :: ErrorField c_PG_DIAG_MESSAGE_HINT :: ErrorField c_PG_DIAG_STATEMENT_POSITION :: ErrorField c_PG_DIAG_INTERNAL_POSITION :: ErrorField c_PG_DIAG_INTERNAL_QUERY :: ErrorField c_PG_DIAG_CONTEXT :: ErrorField c_PG_DIAG_SOURCE_FILE :: ErrorField c_PG_DIAG_SOURCE_LINE :: ErrorField c_PG_DIAG_SOURCE_FUNCTION :: ErrorField newtype TypeClass TypeClass :: CInt -> TypeClass c_PQT_SUBCLASS :: TypeClass c_PQT_COMPOSITE :: TypeClass c_PQT_USERDEFINED :: TypeClass newtype PGerror PGerror :: String -> PGerror pgErrorMsg :: PGerror -> String data PGregisterType PGregisterType :: !CString -> !(FunPtr (Ptr PGtypeArgs -> IO CInt)) -> !(FunPtr (Ptr PGtypeArgs -> IO CInt)) -> PGregisterType pgRegisterTypeTypName :: PGregisterType -> !CString pgRegisterTypeTypPut :: PGregisterType -> !(FunPtr (Ptr PGtypeArgs -> IO CInt)) pgRegisterTypeTypGet :: PGregisterType -> !(FunPtr (Ptr PGtypeArgs -> IO CInt)) data PGarray PGarray :: !CInt -> !(Vector CInt) -> !(Vector CInt) -> !(Ptr PGparam) -> !(Ptr PGresult) -> PGarray pgArrayNDims :: PGarray -> !CInt pgArrayLBound :: PGarray -> !(Vector CInt) pgArrayDims :: PGarray -> !(Vector CInt) pgArrayParam :: PGarray -> !(Ptr PGparam) pgArrayRes :: PGarray -> !(Ptr PGresult) data PGbytea PGbytea :: !CInt -> !CString -> PGbytea pgByteaLen :: PGbytea -> !CInt pgByteaData :: PGbytea -> !CString data PGdate PGdate :: !CInt -> !CInt -> !CInt -> !CInt -> !CInt -> !CInt -> !CInt -> PGdate pgDateIsBC :: PGdate -> !CInt pgDateYear :: PGdate -> !CInt pgDateMon :: PGdate -> !CInt pgDateMDay :: PGdate -> !CInt pgDateJDay :: PGdate -> !CInt pgDateYDay :: PGdate -> !CInt pgDateWDay :: PGdate -> !CInt data PGtime PGtime :: !CInt -> !CInt -> !CInt -> !CInt -> !CInt -> !CInt -> !CInt -> !ByteString -> PGtime pgTimeHour :: PGtime -> !CInt pgTimeMin :: PGtime -> !CInt pgTimeSec :: PGtime -> !CInt pgTimeUSec :: PGtime -> !CInt pgTimeWithTZ :: PGtime -> !CInt pgTimeIsDST :: PGtime -> !CInt pgTimeGMTOff :: PGtime -> !CInt pgTimeTZAbbr :: PGtime -> !ByteString data PGtimestamp PGtimestamp :: !CLLong -> !PGdate -> !PGtime -> PGtimestamp pgTimestampEpoch :: PGtimestamp -> !CLLong pgTimestampDate :: PGtimestamp -> !PGdate pgTimestampTime :: PGtimestamp -> !PGtime instance Eq ConnStatusType instance Eq ExecStatusType instance Eq ErrorField instance Eq TypeClass instance Show PGerror instance Show PGregisterType instance Show PGarray instance Show PGbytea instance Show PGdate instance Show PGtime instance Show PGtimestamp instance Storable PGtimestamp instance Storable PGtime instance Storable PGdate instance Storable PGbytea instance Storable PGarray instance Storable PGregisterType instance Storable PGerror -- | Exports a set of FFI-imported PQputf functions with different arities -- (PQputf is a variadic function and there is no way to import such -- functions with FFI in their most generic form). module Database.PostgreSQL.PQTypes.Internal.C.Put c_PQputf1 :: Ptr PGparam -> Ptr PGerror -> CString -> Ptr t -> IO CInt c_PQputf2 :: Ptr PGparam -> Ptr PGerror -> CString -> Ptr t1 -> Ptr t2 -> IO CInt c_PQputf3 :: Ptr PGparam -> Ptr PGerror -> CString -> Ptr t1 -> Ptr t2 -> Ptr t3 -> IO CInt c_PQputf4 :: Ptr PGparam -> Ptr PGerror -> CString -> Ptr t1 -> Ptr t2 -> Ptr t3 -> Ptr t4 -> IO CInt c_PQputf5 :: Ptr PGparam -> Ptr PGerror -> CString -> Ptr t1 -> Ptr t2 -> Ptr t3 -> Ptr t4 -> Ptr t5 -> IO CInt c_PQputf6 :: Ptr PGparam -> Ptr PGerror -> CString -> Ptr t1 -> Ptr t2 -> Ptr t3 -> Ptr t4 -> Ptr t5 -> Ptr t6 -> IO CInt c_PQputf7 :: Ptr PGparam -> Ptr PGerror -> CString -> Ptr t1 -> Ptr t2 -> Ptr t3 -> Ptr t4 -> Ptr t5 -> Ptr t6 -> Ptr t7 -> IO CInt c_PQputf8 :: Ptr PGparam -> Ptr PGerror -> CString -> Ptr t1 -> Ptr t2 -> Ptr t3 -> Ptr t4 -> Ptr t5 -> Ptr t6 -> Ptr t7 -> Ptr t8 -> IO CInt c_PQputf9 :: Ptr PGparam -> Ptr PGerror -> CString -> Ptr t1 -> Ptr t2 -> Ptr t3 -> Ptr t4 -> Ptr t5 -> Ptr t6 -> Ptr t7 -> Ptr t8 -> Ptr t9 -> IO CInt c_PQputf10 :: Ptr PGparam -> Ptr PGerror -> CString -> Ptr t1 -> Ptr t2 -> Ptr t3 -> Ptr t4 -> Ptr t5 -> Ptr t6 -> Ptr t7 -> Ptr t8 -> Ptr t9 -> Ptr t10 -> IO CInt c_PQputf11 :: Ptr PGparam -> Ptr PGerror -> CString -> Ptr t1 -> Ptr t2 -> Ptr t3 -> Ptr t4 -> Ptr t5 -> Ptr t6 -> Ptr t7 -> Ptr t8 -> Ptr t9 -> Ptr t10 -> Ptr t11 -> IO CInt c_PQputf12 :: Ptr PGparam -> Ptr PGerror -> CString -> Ptr t1 -> Ptr t2 -> Ptr t3 -> Ptr t4 -> Ptr t5 -> Ptr t6 -> Ptr t7 -> Ptr t8 -> Ptr t9 -> Ptr t10 -> Ptr t11 -> Ptr t12 -> IO CInt c_PQputf13 :: Ptr PGparam -> Ptr PGerror -> CString -> Ptr t1 -> Ptr t2 -> Ptr t3 -> Ptr t4 -> Ptr t5 -> Ptr t6 -> Ptr t7 -> Ptr t8 -> Ptr t9 -> Ptr t10 -> Ptr t11 -> Ptr t12 -> Ptr t13 -> IO CInt c_PQputf14 :: Ptr PGparam -> Ptr PGerror -> CString -> Ptr t1 -> Ptr t2 -> Ptr t3 -> Ptr t4 -> Ptr t5 -> Ptr t6 -> Ptr t7 -> Ptr t8 -> Ptr t9 -> Ptr t10 -> Ptr t11 -> Ptr t12 -> Ptr t13 -> Ptr t14 -> IO CInt c_PQputf15 :: Ptr PGparam -> Ptr PGerror -> CString -> Ptr t1 -> Ptr t2 -> Ptr t3 -> Ptr t4 -> Ptr t5 -> Ptr t6 -> Ptr t7 -> Ptr t8 -> Ptr t9 -> Ptr t10 -> Ptr t11 -> Ptr t12 -> Ptr t13 -> Ptr t14 -> Ptr t15 -> IO CInt c_PQputf16 :: Ptr PGparam -> Ptr PGerror -> CString -> Ptr t1 -> Ptr t2 -> Ptr t3 -> Ptr t4 -> Ptr t5 -> Ptr t6 -> Ptr t7 -> Ptr t8 -> Ptr t9 -> Ptr t10 -> Ptr t11 -> Ptr t12 -> Ptr t13 -> Ptr t14 -> Ptr t15 -> Ptr t16 -> IO CInt c_PQputf17 :: Ptr PGparam -> Ptr PGerror -> CString -> Ptr t1 -> Ptr t2 -> Ptr t3 -> Ptr t4 -> Ptr t5 -> Ptr t6 -> Ptr t7 -> Ptr t8 -> Ptr t9 -> Ptr t10 -> Ptr t11 -> Ptr t12 -> Ptr t13 -> Ptr t14 -> Ptr t15 -> Ptr t16 -> Ptr t17 -> IO CInt c_PQputf18 :: Ptr PGparam -> Ptr PGerror -> CString -> Ptr t1 -> Ptr t2 -> Ptr t3 -> Ptr t4 -> Ptr t5 -> Ptr t6 -> Ptr t7 -> Ptr t8 -> Ptr t9 -> Ptr t10 -> Ptr t11 -> Ptr t12 -> Ptr t13 -> Ptr t14 -> Ptr t15 -> Ptr t16 -> Ptr t17 -> Ptr t18 -> IO CInt c_PQputf19 :: Ptr PGparam -> Ptr PGerror -> CString -> Ptr t1 -> Ptr t2 -> Ptr t3 -> Ptr t4 -> Ptr t5 -> Ptr t6 -> Ptr t7 -> Ptr t8 -> Ptr t9 -> Ptr t10 -> Ptr t11 -> Ptr t12 -> Ptr t13 -> Ptr t14 -> Ptr t15 -> Ptr t16 -> Ptr t17 -> Ptr t18 -> Ptr t19 -> IO CInt c_PQputf20 :: Ptr PGparam -> Ptr PGerror -> CString -> Ptr t1 -> Ptr t2 -> Ptr t3 -> Ptr t4 -> Ptr t5 -> Ptr t6 -> Ptr t7 -> Ptr t8 -> Ptr t9 -> Ptr t10 -> Ptr t11 -> Ptr t12 -> Ptr t13 -> Ptr t14 -> Ptr t15 -> Ptr t16 -> Ptr t17 -> Ptr t18 -> Ptr t19 -> Ptr t20 -> IO CInt c_PQputf21 :: Ptr PGparam -> Ptr PGerror -> CString -> Ptr t1 -> Ptr t2 -> Ptr t3 -> Ptr t4 -> Ptr t5 -> Ptr t6 -> Ptr t7 -> Ptr t8 -> Ptr t9 -> Ptr t10 -> Ptr t11 -> Ptr t12 -> Ptr t13 -> Ptr t14 -> Ptr t15 -> Ptr t16 -> Ptr t17 -> Ptr t18 -> Ptr t19 -> Ptr t20 -> Ptr t21 -> IO CInt c_PQputf22 :: Ptr PGparam -> Ptr PGerror -> CString -> Ptr t1 -> Ptr t2 -> Ptr t3 -> Ptr t4 -> Ptr t5 -> Ptr t6 -> Ptr t7 -> Ptr t8 -> Ptr t9 -> Ptr t10 -> Ptr t11 -> Ptr t12 -> Ptr t13 -> Ptr t14 -> Ptr t15 -> Ptr t16 -> Ptr t17 -> Ptr t18 -> Ptr t19 -> Ptr t20 -> Ptr t21 -> Ptr t22 -> IO CInt c_PQputf23 :: Ptr PGparam -> Ptr PGerror -> CString -> Ptr t1 -> Ptr t2 -> Ptr t3 -> Ptr t4 -> Ptr t5 -> Ptr t6 -> Ptr t7 -> Ptr t8 -> Ptr t9 -> Ptr t10 -> Ptr t11 -> Ptr t12 -> Ptr t13 -> Ptr t14 -> Ptr t15 -> Ptr t16 -> Ptr t17 -> Ptr t18 -> Ptr t19 -> Ptr t20 -> Ptr t21 -> Ptr t22 -> Ptr t23 -> IO CInt c_PQputf24 :: Ptr PGparam -> Ptr PGerror -> CString -> Ptr t1 -> Ptr t2 -> Ptr t3 -> Ptr t4 -> Ptr t5 -> Ptr t6 -> Ptr t7 -> Ptr t8 -> Ptr t9 -> Ptr t10 -> Ptr t11 -> Ptr t12 -> Ptr t13 -> Ptr t14 -> Ptr t15 -> Ptr t16 -> Ptr t17 -> Ptr t18 -> Ptr t19 -> Ptr t20 -> Ptr t21 -> Ptr t22 -> Ptr t23 -> Ptr t24 -> IO CInt c_PQputf25 :: Ptr PGparam -> Ptr PGerror -> CString -> Ptr t1 -> Ptr t2 -> Ptr t3 -> Ptr t4 -> Ptr t5 -> Ptr t6 -> Ptr t7 -> Ptr t8 -> Ptr t9 -> Ptr t10 -> Ptr t11 -> Ptr t12 -> Ptr t13 -> Ptr t14 -> Ptr t15 -> Ptr t16 -> Ptr t17 -> Ptr t18 -> Ptr t19 -> Ptr t20 -> Ptr t21 -> Ptr t22 -> Ptr t23 -> Ptr t24 -> Ptr t25 -> IO CInt c_PQputf26 :: Ptr PGparam -> Ptr PGerror -> CString -> Ptr t1 -> Ptr t2 -> Ptr t3 -> Ptr t4 -> Ptr t5 -> Ptr t6 -> Ptr t7 -> Ptr t8 -> Ptr t9 -> Ptr t10 -> Ptr t11 -> Ptr t12 -> Ptr t13 -> Ptr t14 -> Ptr t15 -> Ptr t16 -> Ptr t17 -> Ptr t18 -> Ptr t19 -> Ptr t20 -> Ptr t21 -> Ptr t22 -> Ptr t23 -> Ptr t24 -> Ptr t25 -> Ptr t26 -> IO CInt c_PQputf27 :: Ptr PGparam -> Ptr PGerror -> CString -> Ptr t1 -> Ptr t2 -> Ptr t3 -> Ptr t4 -> Ptr t5 -> Ptr t6 -> Ptr t7 -> Ptr t8 -> Ptr t9 -> Ptr t10 -> Ptr t11 -> Ptr t12 -> Ptr t13 -> Ptr t14 -> Ptr t15 -> Ptr t16 -> Ptr t17 -> Ptr t18 -> Ptr t19 -> Ptr t20 -> Ptr t21 -> Ptr t22 -> Ptr t23 -> Ptr t24 -> Ptr t25 -> Ptr t26 -> Ptr t27 -> IO CInt c_PQputf28 :: Ptr PGparam -> Ptr PGerror -> CString -> Ptr t1 -> Ptr t2 -> Ptr t3 -> Ptr t4 -> Ptr t5 -> Ptr t6 -> Ptr t7 -> Ptr t8 -> Ptr t9 -> Ptr t10 -> Ptr t11 -> Ptr t12 -> Ptr t13 -> Ptr t14 -> Ptr t15 -> Ptr t16 -> Ptr t17 -> Ptr t18 -> Ptr t19 -> Ptr t20 -> Ptr t21 -> Ptr t22 -> Ptr t23 -> Ptr t24 -> Ptr t25 -> Ptr t26 -> Ptr t27 -> Ptr t28 -> IO CInt c_PQputf29 :: Ptr PGparam -> Ptr PGerror -> CString -> Ptr t1 -> Ptr t2 -> Ptr t3 -> Ptr t4 -> Ptr t5 -> Ptr t6 -> Ptr t7 -> Ptr t8 -> Ptr t9 -> Ptr t10 -> Ptr t11 -> Ptr t12 -> Ptr t13 -> Ptr t14 -> Ptr t15 -> Ptr t16 -> Ptr t17 -> Ptr t18 -> Ptr t19 -> Ptr t20 -> Ptr t21 -> Ptr t22 -> Ptr t23 -> Ptr t24 -> Ptr t25 -> Ptr t26 -> Ptr t27 -> Ptr t28 -> Ptr t29 -> IO CInt c_PQputf30 :: Ptr PGparam -> Ptr PGerror -> CString -> Ptr t1 -> Ptr t2 -> Ptr t3 -> Ptr t4 -> Ptr t5 -> Ptr t6 -> Ptr t7 -> Ptr t8 -> Ptr t9 -> Ptr t10 -> Ptr t11 -> Ptr t12 -> Ptr t13 -> Ptr t14 -> Ptr t15 -> Ptr t16 -> Ptr t17 -> Ptr t18 -> Ptr t19 -> Ptr t20 -> Ptr t21 -> Ptr t22 -> Ptr t23 -> Ptr t24 -> Ptr t25 -> Ptr t26 -> Ptr t27 -> Ptr t28 -> Ptr t29 -> Ptr t30 -> IO CInt c_PQputf31 :: Ptr PGparam -> Ptr PGerror -> CString -> Ptr t1 -> Ptr t2 -> Ptr t3 -> Ptr t4 -> Ptr t5 -> Ptr t6 -> Ptr t7 -> Ptr t8 -> Ptr t9 -> Ptr t10 -> Ptr t11 -> Ptr t12 -> Ptr t13 -> Ptr t14 -> Ptr t15 -> Ptr t16 -> Ptr t17 -> Ptr t18 -> Ptr t19 -> Ptr t20 -> Ptr t21 -> Ptr t22 -> Ptr t23 -> Ptr t24 -> Ptr t25 -> Ptr t26 -> Ptr t27 -> Ptr t28 -> Ptr t29 -> Ptr t30 -> Ptr t31 -> IO CInt c_PQputf32 :: Ptr PGparam -> Ptr PGerror -> CString -> Ptr t1 -> Ptr t2 -> Ptr t3 -> Ptr t4 -> Ptr t5 -> Ptr t6 -> Ptr t7 -> Ptr t8 -> Ptr t9 -> Ptr t10 -> Ptr t11 -> Ptr t12 -> Ptr t13 -> Ptr t14 -> Ptr t15 -> Ptr t16 -> Ptr t17 -> Ptr t18 -> Ptr t19 -> Ptr t20 -> Ptr t21 -> Ptr t22 -> Ptr t23 -> Ptr t24 -> Ptr t25 -> Ptr t26 -> Ptr t27 -> Ptr t28 -> Ptr t29 -> Ptr t30 -> Ptr t31 -> Ptr t32 -> IO CInt c_PQputf33 :: Ptr PGparam -> Ptr PGerror -> CString -> Ptr t1 -> Ptr t2 -> Ptr t3 -> Ptr t4 -> Ptr t5 -> Ptr t6 -> Ptr t7 -> Ptr t8 -> Ptr t9 -> Ptr t10 -> Ptr t11 -> Ptr t12 -> Ptr t13 -> Ptr t14 -> Ptr t15 -> Ptr t16 -> Ptr t17 -> Ptr t18 -> Ptr t19 -> Ptr t20 -> Ptr t21 -> Ptr t22 -> Ptr t23 -> Ptr t24 -> Ptr t25 -> Ptr t26 -> Ptr t27 -> Ptr t28 -> Ptr t29 -> Ptr t30 -> Ptr t31 -> Ptr t32 -> Ptr t33 -> IO CInt c_PQputf34 :: Ptr PGparam -> Ptr PGerror -> CString -> Ptr t1 -> Ptr t2 -> Ptr t3 -> Ptr t4 -> Ptr t5 -> Ptr t6 -> Ptr t7 -> Ptr t8 -> Ptr t9 -> Ptr t10 -> Ptr t11 -> Ptr t12 -> Ptr t13 -> Ptr t14 -> Ptr t15 -> Ptr t16 -> Ptr t17 -> Ptr t18 -> Ptr t19 -> Ptr t20 -> Ptr t21 -> Ptr t22 -> Ptr t23 -> Ptr t24 -> Ptr t25 -> Ptr t26 -> Ptr t27 -> Ptr t28 -> Ptr t29 -> Ptr t30 -> Ptr t31 -> Ptr t32 -> Ptr t33 -> Ptr t34 -> IO CInt c_PQputf35 :: Ptr PGparam -> Ptr PGerror -> CString -> Ptr t1 -> Ptr t2 -> Ptr t3 -> Ptr t4 -> Ptr t5 -> Ptr t6 -> Ptr t7 -> Ptr t8 -> Ptr t9 -> Ptr t10 -> Ptr t11 -> Ptr t12 -> Ptr t13 -> Ptr t14 -> Ptr t15 -> Ptr t16 -> Ptr t17 -> Ptr t18 -> Ptr t19 -> Ptr t20 -> Ptr t21 -> Ptr t22 -> Ptr t23 -> Ptr t24 -> Ptr t25 -> Ptr t26 -> Ptr t27 -> Ptr t28 -> Ptr t29 -> Ptr t30 -> Ptr t31 -> Ptr t32 -> Ptr t33 -> Ptr t34 -> Ptr t35 -> IO CInt c_PQputf36 :: Ptr PGparam -> Ptr PGerror -> CString -> Ptr t1 -> Ptr t2 -> Ptr t3 -> Ptr t4 -> Ptr t5 -> Ptr t6 -> Ptr t7 -> Ptr t8 -> Ptr t9 -> Ptr t10 -> Ptr t11 -> Ptr t12 -> Ptr t13 -> Ptr t14 -> Ptr t15 -> Ptr t16 -> Ptr t17 -> Ptr t18 -> Ptr t19 -> Ptr t20 -> Ptr t21 -> Ptr t22 -> Ptr t23 -> Ptr t24 -> Ptr t25 -> Ptr t26 -> Ptr t27 -> Ptr t28 -> Ptr t29 -> Ptr t30 -> Ptr t31 -> Ptr t32 -> Ptr t33 -> Ptr t34 -> Ptr t35 -> Ptr t36 -> IO CInt c_PQputf37 :: Ptr PGparam -> Ptr PGerror -> CString -> Ptr t1 -> Ptr t2 -> Ptr t3 -> Ptr t4 -> Ptr t5 -> Ptr t6 -> Ptr t7 -> Ptr t8 -> Ptr t9 -> Ptr t10 -> Ptr t11 -> Ptr t12 -> Ptr t13 -> Ptr t14 -> Ptr t15 -> Ptr t16 -> Ptr t17 -> Ptr t18 -> Ptr t19 -> Ptr t20 -> Ptr t21 -> Ptr t22 -> Ptr t23 -> Ptr t24 -> Ptr t25 -> Ptr t26 -> Ptr t27 -> Ptr t28 -> Ptr t29 -> Ptr t30 -> Ptr t31 -> Ptr t32 -> Ptr t33 -> Ptr t34 -> Ptr t35 -> Ptr t36 -> Ptr t37 -> IO CInt c_PQputf38 :: Ptr PGparam -> Ptr PGerror -> CString -> Ptr t1 -> Ptr t2 -> Ptr t3 -> Ptr t4 -> Ptr t5 -> Ptr t6 -> Ptr t7 -> Ptr t8 -> Ptr t9 -> Ptr t10 -> Ptr t11 -> Ptr t12 -> Ptr t13 -> Ptr t14 -> Ptr t15 -> Ptr t16 -> Ptr t17 -> Ptr t18 -> Ptr t19 -> Ptr t20 -> Ptr t21 -> Ptr t22 -> Ptr t23 -> Ptr t24 -> Ptr t25 -> Ptr t26 -> Ptr t27 -> Ptr t28 -> Ptr t29 -> Ptr t30 -> Ptr t31 -> Ptr t32 -> Ptr t33 -> Ptr t34 -> Ptr t35 -> Ptr t36 -> Ptr t37 -> Ptr t38 -> IO CInt c_PQputf39 :: Ptr PGparam -> Ptr PGerror -> CString -> Ptr t1 -> Ptr t2 -> Ptr t3 -> Ptr t4 -> Ptr t5 -> Ptr t6 -> Ptr t7 -> Ptr t8 -> Ptr t9 -> Ptr t10 -> Ptr t11 -> Ptr t12 -> Ptr t13 -> Ptr t14 -> Ptr t15 -> Ptr t16 -> Ptr t17 -> Ptr t18 -> Ptr t19 -> Ptr t20 -> Ptr t21 -> Ptr t22 -> Ptr t23 -> Ptr t24 -> Ptr t25 -> Ptr t26 -> Ptr t27 -> Ptr t28 -> Ptr t29 -> Ptr t30 -> Ptr t31 -> Ptr t32 -> Ptr t33 -> Ptr t34 -> Ptr t35 -> Ptr t36 -> Ptr t37 -> Ptr t38 -> Ptr t39 -> IO CInt c_PQputf40 :: Ptr PGparam -> Ptr PGerror -> CString -> Ptr t1 -> Ptr t2 -> Ptr t3 -> Ptr t4 -> Ptr t5 -> Ptr t6 -> Ptr t7 -> Ptr t8 -> Ptr t9 -> Ptr t10 -> Ptr t11 -> Ptr t12 -> Ptr t13 -> Ptr t14 -> Ptr t15 -> Ptr t16 -> Ptr t17 -> Ptr t18 -> Ptr t19 -> Ptr t20 -> Ptr t21 -> Ptr t22 -> Ptr t23 -> Ptr t24 -> Ptr t25 -> Ptr t26 -> Ptr t27 -> Ptr t28 -> Ptr t29 -> Ptr t30 -> Ptr t31 -> Ptr t32 -> Ptr t33 -> Ptr t34 -> Ptr t35 -> Ptr t36 -> Ptr t37 -> Ptr t38 -> Ptr t39 -> Ptr t40 -> IO CInt c_PQputf41 :: Ptr PGparam -> Ptr PGerror -> CString -> Ptr t1 -> Ptr t2 -> Ptr t3 -> Ptr t4 -> Ptr t5 -> Ptr t6 -> Ptr t7 -> Ptr t8 -> Ptr t9 -> Ptr t10 -> Ptr t11 -> Ptr t12 -> Ptr t13 -> Ptr t14 -> Ptr t15 -> Ptr t16 -> Ptr t17 -> Ptr t18 -> Ptr t19 -> Ptr t20 -> Ptr t21 -> Ptr t22 -> Ptr t23 -> Ptr t24 -> Ptr t25 -> Ptr t26 -> Ptr t27 -> Ptr t28 -> Ptr t29 -> Ptr t30 -> Ptr t31 -> Ptr t32 -> Ptr t33 -> Ptr t34 -> Ptr t35 -> Ptr t36 -> Ptr t37 -> Ptr t38 -> Ptr t39 -> Ptr t40 -> Ptr t41 -> IO CInt c_PQputf42 :: Ptr PGparam -> Ptr PGerror -> CString -> Ptr t1 -> Ptr t2 -> Ptr t3 -> Ptr t4 -> Ptr t5 -> Ptr t6 -> Ptr t7 -> Ptr t8 -> Ptr t9 -> Ptr t10 -> Ptr t11 -> Ptr t12 -> Ptr t13 -> Ptr t14 -> Ptr t15 -> Ptr t16 -> Ptr t17 -> Ptr t18 -> Ptr t19 -> Ptr t20 -> Ptr t21 -> Ptr t22 -> Ptr t23 -> Ptr t24 -> Ptr t25 -> Ptr t26 -> Ptr t27 -> Ptr t28 -> Ptr t29 -> Ptr t30 -> Ptr t31 -> Ptr t32 -> Ptr t33 -> Ptr t34 -> Ptr t35 -> Ptr t36 -> Ptr t37 -> Ptr t38 -> Ptr t39 -> Ptr t40 -> Ptr t41 -> Ptr t42 -> IO CInt c_PQputf43 :: Ptr PGparam -> Ptr PGerror -> CString -> Ptr t1 -> Ptr t2 -> Ptr t3 -> Ptr t4 -> Ptr t5 -> Ptr t6 -> Ptr t7 -> Ptr t8 -> Ptr t9 -> Ptr t10 -> Ptr t11 -> Ptr t12 -> Ptr t13 -> Ptr t14 -> Ptr t15 -> Ptr t16 -> Ptr t17 -> Ptr t18 -> Ptr t19 -> Ptr t20 -> Ptr t21 -> Ptr t22 -> Ptr t23 -> Ptr t24 -> Ptr t25 -> Ptr t26 -> Ptr t27 -> Ptr t28 -> Ptr t29 -> Ptr t30 -> Ptr t31 -> Ptr t32 -> Ptr t33 -> Ptr t34 -> Ptr t35 -> Ptr t36 -> Ptr t37 -> Ptr t38 -> Ptr t39 -> Ptr t40 -> Ptr t41 -> Ptr t42 -> Ptr t43 -> IO CInt c_PQputf44 :: Ptr PGparam -> Ptr PGerror -> CString -> Ptr t1 -> Ptr t2 -> Ptr t3 -> Ptr t4 -> Ptr t5 -> Ptr t6 -> Ptr t7 -> Ptr t8 -> Ptr t9 -> Ptr t10 -> Ptr t11 -> Ptr t12 -> Ptr t13 -> Ptr t14 -> Ptr t15 -> Ptr t16 -> Ptr t17 -> Ptr t18 -> Ptr t19 -> Ptr t20 -> Ptr t21 -> Ptr t22 -> Ptr t23 -> Ptr t24 -> Ptr t25 -> Ptr t26 -> Ptr t27 -> Ptr t28 -> Ptr t29 -> Ptr t30 -> Ptr t31 -> Ptr t32 -> Ptr t33 -> Ptr t34 -> Ptr t35 -> Ptr t36 -> Ptr t37 -> Ptr t38 -> Ptr t39 -> Ptr t40 -> Ptr t41 -> Ptr t42 -> Ptr t43 -> Ptr t44 -> IO CInt c_PQputf45 :: Ptr PGparam -> Ptr PGerror -> CString -> Ptr t1 -> Ptr t2 -> Ptr t3 -> Ptr t4 -> Ptr t5 -> Ptr t6 -> Ptr t7 -> Ptr t8 -> Ptr t9 -> Ptr t10 -> Ptr t11 -> Ptr t12 -> Ptr t13 -> Ptr t14 -> Ptr t15 -> Ptr t16 -> Ptr t17 -> Ptr t18 -> Ptr t19 -> Ptr t20 -> Ptr t21 -> Ptr t22 -> Ptr t23 -> Ptr t24 -> Ptr t25 -> Ptr t26 -> Ptr t27 -> Ptr t28 -> Ptr t29 -> Ptr t30 -> Ptr t31 -> Ptr t32 -> Ptr t33 -> Ptr t34 -> Ptr t35 -> Ptr t36 -> Ptr t37 -> Ptr t38 -> Ptr t39 -> Ptr t40 -> Ptr t41 -> Ptr t42 -> Ptr t43 -> Ptr t44 -> Ptr t45 -> IO CInt c_PQputf46 :: Ptr PGparam -> Ptr PGerror -> CString -> Ptr t1 -> Ptr t2 -> Ptr t3 -> Ptr t4 -> Ptr t5 -> Ptr t6 -> Ptr t7 -> Ptr t8 -> Ptr t9 -> Ptr t10 -> Ptr t11 -> Ptr t12 -> Ptr t13 -> Ptr t14 -> Ptr t15 -> Ptr t16 -> Ptr t17 -> Ptr t18 -> Ptr t19 -> Ptr t20 -> Ptr t21 -> Ptr t22 -> Ptr t23 -> Ptr t24 -> Ptr t25 -> Ptr t26 -> Ptr t27 -> Ptr t28 -> Ptr t29 -> Ptr t30 -> Ptr t31 -> Ptr t32 -> Ptr t33 -> Ptr t34 -> Ptr t35 -> Ptr t36 -> Ptr t37 -> Ptr t38 -> Ptr t39 -> Ptr t40 -> Ptr t41 -> Ptr t42 -> Ptr t43 -> Ptr t44 -> Ptr t45 -> Ptr t46 -> IO CInt c_PQputf47 :: Ptr PGparam -> Ptr PGerror -> CString -> Ptr t1 -> Ptr t2 -> Ptr t3 -> Ptr t4 -> Ptr t5 -> Ptr t6 -> Ptr t7 -> Ptr t8 -> Ptr t9 -> Ptr t10 -> Ptr t11 -> Ptr t12 -> Ptr t13 -> Ptr t14 -> Ptr t15 -> Ptr t16 -> Ptr t17 -> Ptr t18 -> Ptr t19 -> Ptr t20 -> Ptr t21 -> Ptr t22 -> Ptr t23 -> Ptr t24 -> Ptr t25 -> Ptr t26 -> Ptr t27 -> Ptr t28 -> Ptr t29 -> Ptr t30 -> Ptr t31 -> Ptr t32 -> Ptr t33 -> Ptr t34 -> Ptr t35 -> Ptr t36 -> Ptr t37 -> Ptr t38 -> Ptr t39 -> Ptr t40 -> Ptr t41 -> Ptr t42 -> Ptr t43 -> Ptr t44 -> Ptr t45 -> Ptr t46 -> Ptr t47 -> IO CInt c_PQputf48 :: Ptr PGparam -> Ptr PGerror -> CString -> Ptr t1 -> Ptr t2 -> Ptr t3 -> Ptr t4 -> Ptr t5 -> Ptr t6 -> Ptr t7 -> Ptr t8 -> Ptr t9 -> Ptr t10 -> Ptr t11 -> Ptr t12 -> Ptr t13 -> Ptr t14 -> Ptr t15 -> Ptr t16 -> Ptr t17 -> Ptr t18 -> Ptr t19 -> Ptr t20 -> Ptr t21 -> Ptr t22 -> Ptr t23 -> Ptr t24 -> Ptr t25 -> Ptr t26 -> Ptr t27 -> Ptr t28 -> Ptr t29 -> Ptr t30 -> Ptr t31 -> Ptr t32 -> Ptr t33 -> Ptr t34 -> Ptr t35 -> Ptr t36 -> Ptr t37 -> Ptr t38 -> Ptr t39 -> Ptr t40 -> Ptr t41 -> Ptr t42 -> Ptr t43 -> Ptr t44 -> Ptr t45 -> Ptr t46 -> Ptr t47 -> Ptr t48 -> IO CInt c_PQputf49 :: Ptr PGparam -> Ptr PGerror -> CString -> Ptr t1 -> Ptr t2 -> Ptr t3 -> Ptr t4 -> Ptr t5 -> Ptr t6 -> Ptr t7 -> Ptr t8 -> Ptr t9 -> Ptr t10 -> Ptr t11 -> Ptr t12 -> Ptr t13 -> Ptr t14 -> Ptr t15 -> Ptr t16 -> Ptr t17 -> Ptr t18 -> Ptr t19 -> Ptr t20 -> Ptr t21 -> Ptr t22 -> Ptr t23 -> Ptr t24 -> Ptr t25 -> Ptr t26 -> Ptr t27 -> Ptr t28 -> Ptr t29 -> Ptr t30 -> Ptr t31 -> Ptr t32 -> Ptr t33 -> Ptr t34 -> Ptr t35 -> Ptr t36 -> Ptr t37 -> Ptr t38 -> Ptr t39 -> Ptr t40 -> Ptr t41 -> Ptr t42 -> Ptr t43 -> Ptr t44 -> Ptr t45 -> Ptr t46 -> Ptr t47 -> Ptr t48 -> Ptr t49 -> IO CInt c_PQputf50 :: Ptr PGparam -> Ptr PGerror -> CString -> Ptr t1 -> Ptr t2 -> Ptr t3 -> Ptr t4 -> Ptr t5 -> Ptr t6 -> Ptr t7 -> Ptr t8 -> Ptr t9 -> Ptr t10 -> Ptr t11 -> Ptr t12 -> Ptr t13 -> Ptr t14 -> Ptr t15 -> Ptr t16 -> Ptr t17 -> Ptr t18 -> Ptr t19 -> Ptr t20 -> Ptr t21 -> Ptr t22 -> Ptr t23 -> Ptr t24 -> Ptr t25 -> Ptr t26 -> Ptr t27 -> Ptr t28 -> Ptr t29 -> Ptr t30 -> Ptr t31 -> Ptr t32 -> Ptr t33 -> Ptr t34 -> Ptr t35 -> Ptr t36 -> Ptr t37 -> Ptr t38 -> Ptr t39 -> Ptr t40 -> Ptr t41 -> Ptr t42 -> Ptr t43 -> Ptr t44 -> Ptr t45 -> Ptr t46 -> Ptr t47 -> Ptr t48 -> Ptr t49 -> Ptr t50 -> IO CInt -- | Exports a set of FFI-imported PQgetf functions with different arities -- (PQgetf is a variadic function and there is no way to import such -- functions with FFI in their most generic form). module Database.PostgreSQL.PQTypes.Internal.C.Get c_PQgetf1 :: Ptr PGresult -> Ptr PGerror -> CInt -> CString -> CInt -> Ptr t1 -> IO CInt c_PQgetf2 :: Ptr PGresult -> Ptr PGerror -> CInt -> CString -> CInt -> Ptr t1 -> CInt -> Ptr t2 -> IO CInt c_PQgetf3 :: Ptr PGresult -> Ptr PGerror -> CInt -> CString -> CInt -> Ptr t1 -> CInt -> Ptr t2 -> CInt -> Ptr t3 -> IO CInt c_PQgetf4 :: Ptr PGresult -> Ptr PGerror -> CInt -> CString -> CInt -> Ptr t1 -> CInt -> Ptr t2 -> CInt -> Ptr t3 -> CInt -> Ptr t4 -> IO CInt c_PQgetf5 :: Ptr PGresult -> Ptr PGerror -> CInt -> CString -> CInt -> Ptr t1 -> CInt -> Ptr t2 -> CInt -> Ptr t3 -> CInt -> Ptr t4 -> CInt -> Ptr t5 -> IO CInt c_PQgetf6 :: Ptr PGresult -> Ptr PGerror -> CInt -> CString -> CInt -> Ptr t1 -> CInt -> Ptr t2 -> CInt -> Ptr t3 -> CInt -> Ptr t4 -> CInt -> Ptr t5 -> CInt -> Ptr t6 -> IO CInt c_PQgetf7 :: Ptr PGresult -> Ptr PGerror -> CInt -> CString -> CInt -> Ptr t1 -> CInt -> Ptr t2 -> CInt -> Ptr t3 -> CInt -> Ptr t4 -> CInt -> Ptr t5 -> CInt -> Ptr t6 -> CInt -> Ptr t7 -> IO CInt c_PQgetf8 :: Ptr PGresult -> Ptr PGerror -> CInt -> CString -> CInt -> Ptr t1 -> CInt -> Ptr t2 -> CInt -> Ptr t3 -> CInt -> Ptr t4 -> CInt -> Ptr t5 -> CInt -> Ptr t6 -> CInt -> Ptr t7 -> CInt -> Ptr t8 -> IO CInt c_PQgetf9 :: Ptr PGresult -> Ptr PGerror -> CInt -> CString -> CInt -> Ptr t1 -> CInt -> Ptr t2 -> CInt -> Ptr t3 -> CInt -> Ptr t4 -> CInt -> Ptr t5 -> CInt -> Ptr t6 -> CInt -> Ptr t7 -> CInt -> Ptr t8 -> CInt -> Ptr t9 -> IO CInt c_PQgetf10 :: Ptr PGresult -> Ptr PGerror -> CInt -> CString -> CInt -> Ptr t1 -> CInt -> Ptr t2 -> CInt -> Ptr t3 -> CInt -> Ptr t4 -> CInt -> Ptr t5 -> CInt -> Ptr t6 -> CInt -> Ptr t7 -> CInt -> Ptr t8 -> CInt -> Ptr t9 -> CInt -> Ptr t10 -> IO CInt c_PQgetf11 :: Ptr PGresult -> Ptr PGerror -> CInt -> CString -> CInt -> Ptr t1 -> CInt -> Ptr t2 -> CInt -> Ptr t3 -> CInt -> Ptr t4 -> CInt -> Ptr t5 -> CInt -> Ptr t6 -> CInt -> Ptr t7 -> CInt -> Ptr t8 -> CInt -> Ptr t9 -> CInt -> Ptr t10 -> CInt -> Ptr t11 -> IO CInt c_PQgetf12 :: Ptr PGresult -> Ptr PGerror -> CInt -> CString -> CInt -> Ptr t1 -> CInt -> Ptr t2 -> CInt -> Ptr t3 -> CInt -> Ptr t4 -> CInt -> Ptr t5 -> CInt -> Ptr t6 -> CInt -> Ptr t7 -> CInt -> Ptr t8 -> CInt -> Ptr t9 -> CInt -> Ptr t10 -> CInt -> Ptr t11 -> CInt -> Ptr t12 -> IO CInt c_PQgetf13 :: Ptr PGresult -> Ptr PGerror -> CInt -> CString -> CInt -> Ptr t1 -> CInt -> Ptr t2 -> CInt -> Ptr t3 -> CInt -> Ptr t4 -> CInt -> Ptr t5 -> CInt -> Ptr t6 -> CInt -> Ptr t7 -> CInt -> Ptr t8 -> CInt -> Ptr t9 -> CInt -> Ptr t10 -> CInt -> Ptr t11 -> CInt -> Ptr t12 -> CInt -> Ptr t13 -> IO CInt c_PQgetf14 :: Ptr PGresult -> Ptr PGerror -> CInt -> CString -> CInt -> Ptr t1 -> CInt -> Ptr t2 -> CInt -> Ptr t3 -> CInt -> Ptr t4 -> CInt -> Ptr t5 -> CInt -> Ptr t6 -> CInt -> Ptr t7 -> CInt -> Ptr t8 -> CInt -> Ptr t9 -> CInt -> Ptr t10 -> CInt -> Ptr t11 -> CInt -> Ptr t12 -> CInt -> Ptr t13 -> CInt -> Ptr t14 -> IO CInt c_PQgetf15 :: Ptr PGresult -> Ptr PGerror -> CInt -> CString -> CInt -> Ptr t1 -> CInt -> Ptr t2 -> CInt -> Ptr t3 -> CInt -> Ptr t4 -> CInt -> Ptr t5 -> CInt -> Ptr t6 -> CInt -> Ptr t7 -> CInt -> Ptr t8 -> CInt -> Ptr t9 -> CInt -> Ptr t10 -> CInt -> Ptr t11 -> CInt -> Ptr t12 -> CInt -> Ptr t13 -> CInt -> Ptr t14 -> CInt -> Ptr t15 -> IO CInt c_PQgetf16 :: Ptr PGresult -> Ptr PGerror -> CInt -> CString -> CInt -> Ptr t1 -> CInt -> Ptr t2 -> CInt -> Ptr t3 -> CInt -> Ptr t4 -> CInt -> Ptr t5 -> CInt -> Ptr t6 -> CInt -> Ptr t7 -> CInt -> Ptr t8 -> CInt -> Ptr t9 -> CInt -> Ptr t10 -> CInt -> Ptr t11 -> CInt -> Ptr t12 -> CInt -> Ptr t13 -> CInt -> Ptr t14 -> CInt -> Ptr t15 -> CInt -> Ptr t16 -> IO CInt c_PQgetf17 :: Ptr PGresult -> Ptr PGerror -> CInt -> CString -> CInt -> Ptr t1 -> CInt -> Ptr t2 -> CInt -> Ptr t3 -> CInt -> Ptr t4 -> CInt -> Ptr t5 -> CInt -> Ptr t6 -> CInt -> Ptr t7 -> CInt -> Ptr t8 -> CInt -> Ptr t9 -> CInt -> Ptr t10 -> CInt -> Ptr t11 -> CInt -> Ptr t12 -> CInt -> Ptr t13 -> CInt -> Ptr t14 -> CInt -> Ptr t15 -> CInt -> Ptr t16 -> CInt -> Ptr t17 -> IO CInt c_PQgetf18 :: Ptr PGresult -> Ptr PGerror -> CInt -> CString -> CInt -> Ptr t1 -> CInt -> Ptr t2 -> CInt -> Ptr t3 -> CInt -> Ptr t4 -> CInt -> Ptr t5 -> CInt -> Ptr t6 -> CInt -> Ptr t7 -> CInt -> Ptr t8 -> CInt -> Ptr t9 -> CInt -> Ptr t10 -> CInt -> Ptr t11 -> CInt -> Ptr t12 -> CInt -> Ptr t13 -> CInt -> Ptr t14 -> CInt -> Ptr t15 -> CInt -> Ptr t16 -> CInt -> Ptr t17 -> CInt -> Ptr t18 -> IO CInt c_PQgetf19 :: Ptr PGresult -> Ptr PGerror -> CInt -> CString -> CInt -> Ptr t1 -> CInt -> Ptr t2 -> CInt -> Ptr t3 -> CInt -> Ptr t4 -> CInt -> Ptr t5 -> CInt -> Ptr t6 -> CInt -> Ptr t7 -> CInt -> Ptr t8 -> CInt -> Ptr t9 -> CInt -> Ptr t10 -> CInt -> Ptr t11 -> CInt -> Ptr t12 -> CInt -> Ptr t13 -> CInt -> Ptr t14 -> CInt -> Ptr t15 -> CInt -> Ptr t16 -> CInt -> Ptr t17 -> CInt -> Ptr t18 -> CInt -> Ptr t19 -> IO CInt c_PQgetf20 :: Ptr PGresult -> Ptr PGerror -> CInt -> CString -> CInt -> Ptr t1 -> CInt -> Ptr t2 -> CInt -> Ptr t3 -> CInt -> Ptr t4 -> CInt -> Ptr t5 -> CInt -> Ptr t6 -> CInt -> Ptr t7 -> CInt -> Ptr t8 -> CInt -> Ptr t9 -> CInt -> Ptr t10 -> CInt -> Ptr t11 -> CInt -> Ptr t12 -> CInt -> Ptr t13 -> CInt -> Ptr t14 -> CInt -> Ptr t15 -> CInt -> Ptr t16 -> CInt -> Ptr t17 -> CInt -> Ptr t18 -> CInt -> Ptr t19 -> CInt -> Ptr t20 -> IO CInt c_PQgetf21 :: Ptr PGresult -> Ptr PGerror -> CInt -> CString -> CInt -> Ptr t1 -> CInt -> Ptr t2 -> CInt -> Ptr t3 -> CInt -> Ptr t4 -> CInt -> Ptr t5 -> CInt -> Ptr t6 -> CInt -> Ptr t7 -> CInt -> Ptr t8 -> CInt -> Ptr t9 -> CInt -> Ptr t10 -> CInt -> Ptr t11 -> CInt -> Ptr t12 -> CInt -> Ptr t13 -> CInt -> Ptr t14 -> CInt -> Ptr t15 -> CInt -> Ptr t16 -> CInt -> Ptr t17 -> CInt -> Ptr t18 -> CInt -> Ptr t19 -> CInt -> Ptr t20 -> CInt -> Ptr t21 -> IO CInt c_PQgetf22 :: Ptr PGresult -> Ptr PGerror -> CInt -> CString -> CInt -> Ptr t1 -> CInt -> Ptr t2 -> CInt -> Ptr t3 -> CInt -> Ptr t4 -> CInt -> Ptr t5 -> CInt -> Ptr t6 -> CInt -> Ptr t7 -> CInt -> Ptr t8 -> CInt -> Ptr t9 -> CInt -> Ptr t10 -> CInt -> Ptr t11 -> CInt -> Ptr t12 -> CInt -> Ptr t13 -> CInt -> Ptr t14 -> CInt -> Ptr t15 -> CInt -> Ptr t16 -> CInt -> Ptr t17 -> CInt -> Ptr t18 -> CInt -> Ptr t19 -> CInt -> Ptr t20 -> CInt -> Ptr t21 -> CInt -> Ptr t22 -> IO CInt c_PQgetf23 :: Ptr PGresult -> Ptr PGerror -> CInt -> CString -> CInt -> Ptr t1 -> CInt -> Ptr t2 -> CInt -> Ptr t3 -> CInt -> Ptr t4 -> CInt -> Ptr t5 -> CInt -> Ptr t6 -> CInt -> Ptr t7 -> CInt -> Ptr t8 -> CInt -> Ptr t9 -> CInt -> Ptr t10 -> CInt -> Ptr t11 -> CInt -> Ptr t12 -> CInt -> Ptr t13 -> CInt -> Ptr t14 -> CInt -> Ptr t15 -> CInt -> Ptr t16 -> CInt -> Ptr t17 -> CInt -> Ptr t18 -> CInt -> Ptr t19 -> CInt -> Ptr t20 -> CInt -> Ptr t21 -> CInt -> Ptr t22 -> CInt -> Ptr t23 -> IO CInt c_PQgetf24 :: Ptr PGresult -> Ptr PGerror -> CInt -> CString -> CInt -> Ptr t1 -> CInt -> Ptr t2 -> CInt -> Ptr t3 -> CInt -> Ptr t4 -> CInt -> Ptr t5 -> CInt -> Ptr t6 -> CInt -> Ptr t7 -> CInt -> Ptr t8 -> CInt -> Ptr t9 -> CInt -> Ptr t10 -> CInt -> Ptr t11 -> CInt -> Ptr t12 -> CInt -> Ptr t13 -> CInt -> Ptr t14 -> CInt -> Ptr t15 -> CInt -> Ptr t16 -> CInt -> Ptr t17 -> CInt -> Ptr t18 -> CInt -> Ptr t19 -> CInt -> Ptr t20 -> CInt -> Ptr t21 -> CInt -> Ptr t22 -> CInt -> Ptr t23 -> CInt -> Ptr t24 -> IO CInt c_PQgetf25 :: Ptr PGresult -> Ptr PGerror -> CInt -> CString -> CInt -> Ptr t1 -> CInt -> Ptr t2 -> CInt -> Ptr t3 -> CInt -> Ptr t4 -> CInt -> Ptr t5 -> CInt -> Ptr t6 -> CInt -> Ptr t7 -> CInt -> Ptr t8 -> CInt -> Ptr t9 -> CInt -> Ptr t10 -> CInt -> Ptr t11 -> CInt -> Ptr t12 -> CInt -> Ptr t13 -> CInt -> Ptr t14 -> CInt -> Ptr t15 -> CInt -> Ptr t16 -> CInt -> Ptr t17 -> CInt -> Ptr t18 -> CInt -> Ptr t19 -> CInt -> Ptr t20 -> CInt -> Ptr t21 -> CInt -> Ptr t22 -> CInt -> Ptr t23 -> CInt -> Ptr t24 -> CInt -> Ptr t25 -> IO CInt c_PQgetf26 :: Ptr PGresult -> Ptr PGerror -> CInt -> CString -> CInt -> Ptr t1 -> CInt -> Ptr t2 -> CInt -> Ptr t3 -> CInt -> Ptr t4 -> CInt -> Ptr t5 -> CInt -> Ptr t6 -> CInt -> Ptr t7 -> CInt -> Ptr t8 -> CInt -> Ptr t9 -> CInt -> Ptr t10 -> CInt -> Ptr t11 -> CInt -> Ptr t12 -> CInt -> Ptr t13 -> CInt -> Ptr t14 -> CInt -> Ptr t15 -> CInt -> Ptr t16 -> CInt -> Ptr t17 -> CInt -> Ptr t18 -> CInt -> Ptr t19 -> CInt -> Ptr t20 -> CInt -> Ptr t21 -> CInt -> Ptr t22 -> CInt -> Ptr t23 -> CInt -> Ptr t24 -> CInt -> Ptr t25 -> CInt -> Ptr t26 -> IO CInt c_PQgetf27 :: Ptr PGresult -> Ptr PGerror -> CInt -> CString -> CInt -> Ptr t1 -> CInt -> Ptr t2 -> CInt -> Ptr t3 -> CInt -> Ptr t4 -> CInt -> Ptr t5 -> CInt -> Ptr t6 -> CInt -> Ptr t7 -> CInt -> Ptr t8 -> CInt -> Ptr t9 -> CInt -> Ptr t10 -> CInt -> Ptr t11 -> CInt -> Ptr t12 -> CInt -> Ptr t13 -> CInt -> Ptr t14 -> CInt -> Ptr t15 -> CInt -> Ptr t16 -> CInt -> Ptr t17 -> CInt -> Ptr t18 -> CInt -> Ptr t19 -> CInt -> Ptr t20 -> CInt -> Ptr t21 -> CInt -> Ptr t22 -> CInt -> Ptr t23 -> CInt -> Ptr t24 -> CInt -> Ptr t25 -> CInt -> Ptr t26 -> CInt -> Ptr t27 -> IO CInt c_PQgetf28 :: Ptr PGresult -> Ptr PGerror -> CInt -> CString -> CInt -> Ptr t1 -> CInt -> Ptr t2 -> CInt -> Ptr t3 -> CInt -> Ptr t4 -> CInt -> Ptr t5 -> CInt -> Ptr t6 -> CInt -> Ptr t7 -> CInt -> Ptr t8 -> CInt -> Ptr t9 -> CInt -> Ptr t10 -> CInt -> Ptr t11 -> CInt -> Ptr t12 -> CInt -> Ptr t13 -> CInt -> Ptr t14 -> CInt -> Ptr t15 -> CInt -> Ptr t16 -> CInt -> Ptr t17 -> CInt -> Ptr t18 -> CInt -> Ptr t19 -> CInt -> Ptr t20 -> CInt -> Ptr t21 -> CInt -> Ptr t22 -> CInt -> Ptr t23 -> CInt -> Ptr t24 -> CInt -> Ptr t25 -> CInt -> Ptr t26 -> CInt -> Ptr t27 -> CInt -> Ptr t28 -> IO CInt c_PQgetf29 :: Ptr PGresult -> Ptr PGerror -> CInt -> CString -> CInt -> Ptr t1 -> CInt -> Ptr t2 -> CInt -> Ptr t3 -> CInt -> Ptr t4 -> CInt -> Ptr t5 -> CInt -> Ptr t6 -> CInt -> Ptr t7 -> CInt -> Ptr t8 -> CInt -> Ptr t9 -> CInt -> Ptr t10 -> CInt -> Ptr t11 -> CInt -> Ptr t12 -> CInt -> Ptr t13 -> CInt -> Ptr t14 -> CInt -> Ptr t15 -> CInt -> Ptr t16 -> CInt -> Ptr t17 -> CInt -> Ptr t18 -> CInt -> Ptr t19 -> CInt -> Ptr t20 -> CInt -> Ptr t21 -> CInt -> Ptr t22 -> CInt -> Ptr t23 -> CInt -> Ptr t24 -> CInt -> Ptr t25 -> CInt -> Ptr t26 -> CInt -> Ptr t27 -> CInt -> Ptr t28 -> CInt -> Ptr t29 -> IO CInt c_PQgetf30 :: Ptr PGresult -> Ptr PGerror -> CInt -> CString -> CInt -> Ptr t1 -> CInt -> Ptr t2 -> CInt -> Ptr t3 -> CInt -> Ptr t4 -> CInt -> Ptr t5 -> CInt -> Ptr t6 -> CInt -> Ptr t7 -> CInt -> Ptr t8 -> CInt -> Ptr t9 -> CInt -> Ptr t10 -> CInt -> Ptr t11 -> CInt -> Ptr t12 -> CInt -> Ptr t13 -> CInt -> Ptr t14 -> CInt -> Ptr t15 -> CInt -> Ptr t16 -> CInt -> Ptr t17 -> CInt -> Ptr t18 -> CInt -> Ptr t19 -> CInt -> Ptr t20 -> CInt -> Ptr t21 -> CInt -> Ptr t22 -> CInt -> Ptr t23 -> CInt -> Ptr t24 -> CInt -> Ptr t25 -> CInt -> Ptr t26 -> CInt -> Ptr t27 -> CInt -> Ptr t28 -> CInt -> Ptr t29 -> CInt -> Ptr t30 -> IO CInt c_PQgetf31 :: Ptr PGresult -> Ptr PGerror -> CInt -> CString -> CInt -> Ptr t1 -> CInt -> Ptr t2 -> CInt -> Ptr t3 -> CInt -> Ptr t4 -> CInt -> Ptr t5 -> CInt -> Ptr t6 -> CInt -> Ptr t7 -> CInt -> Ptr t8 -> CInt -> Ptr t9 -> CInt -> Ptr t10 -> CInt -> Ptr t11 -> CInt -> Ptr t12 -> CInt -> Ptr t13 -> CInt -> Ptr t14 -> CInt -> Ptr t15 -> CInt -> Ptr t16 -> CInt -> Ptr t17 -> CInt -> Ptr t18 -> CInt -> Ptr t19 -> CInt -> Ptr t20 -> CInt -> Ptr t21 -> CInt -> Ptr t22 -> CInt -> Ptr t23 -> CInt -> Ptr t24 -> CInt -> Ptr t25 -> CInt -> Ptr t26 -> CInt -> Ptr t27 -> CInt -> Ptr t28 -> CInt -> Ptr t29 -> CInt -> Ptr t30 -> CInt -> Ptr t31 -> IO CInt c_PQgetf32 :: Ptr PGresult -> Ptr PGerror -> CInt -> CString -> CInt -> Ptr t1 -> CInt -> Ptr t2 -> CInt -> Ptr t3 -> CInt -> Ptr t4 -> CInt -> Ptr t5 -> CInt -> Ptr t6 -> CInt -> Ptr t7 -> CInt -> Ptr t8 -> CInt -> Ptr t9 -> CInt -> Ptr t10 -> CInt -> Ptr t11 -> CInt -> Ptr t12 -> CInt -> Ptr t13 -> CInt -> Ptr t14 -> CInt -> Ptr t15 -> CInt -> Ptr t16 -> CInt -> Ptr t17 -> CInt -> Ptr t18 -> CInt -> Ptr t19 -> CInt -> Ptr t20 -> CInt -> Ptr t21 -> CInt -> Ptr t22 -> CInt -> Ptr t23 -> CInt -> Ptr t24 -> CInt -> Ptr t25 -> CInt -> Ptr t26 -> CInt -> Ptr t27 -> CInt -> Ptr t28 -> CInt -> Ptr t29 -> CInt -> Ptr t30 -> CInt -> Ptr t31 -> CInt -> Ptr t32 -> IO CInt c_PQgetf33 :: Ptr PGresult -> Ptr PGerror -> CInt -> CString -> CInt -> Ptr t1 -> CInt -> Ptr t2 -> CInt -> Ptr t3 -> CInt -> Ptr t4 -> CInt -> Ptr t5 -> CInt -> Ptr t6 -> CInt -> Ptr t7 -> CInt -> Ptr t8 -> CInt -> Ptr t9 -> CInt -> Ptr t10 -> CInt -> Ptr t11 -> CInt -> Ptr t12 -> CInt -> Ptr t13 -> CInt -> Ptr t14 -> CInt -> Ptr t15 -> CInt -> Ptr t16 -> CInt -> Ptr t17 -> CInt -> Ptr t18 -> CInt -> Ptr t19 -> CInt -> Ptr t20 -> CInt -> Ptr t21 -> CInt -> Ptr t22 -> CInt -> Ptr t23 -> CInt -> Ptr t24 -> CInt -> Ptr t25 -> CInt -> Ptr t26 -> CInt -> Ptr t27 -> CInt -> Ptr t28 -> CInt -> Ptr t29 -> CInt -> Ptr t30 -> CInt -> Ptr t31 -> CInt -> Ptr t32 -> CInt -> Ptr t33 -> IO CInt c_PQgetf34 :: Ptr PGresult -> Ptr PGerror -> CInt -> CString -> CInt -> Ptr t1 -> CInt -> Ptr t2 -> CInt -> Ptr t3 -> CInt -> Ptr t4 -> CInt -> Ptr t5 -> CInt -> Ptr t6 -> CInt -> Ptr t7 -> CInt -> Ptr t8 -> CInt -> Ptr t9 -> CInt -> Ptr t10 -> CInt -> Ptr t11 -> CInt -> Ptr t12 -> CInt -> Ptr t13 -> CInt -> Ptr t14 -> CInt -> Ptr t15 -> CInt -> Ptr t16 -> CInt -> Ptr t17 -> CInt -> Ptr t18 -> CInt -> Ptr t19 -> CInt -> Ptr t20 -> CInt -> Ptr t21 -> CInt -> Ptr t22 -> CInt -> Ptr t23 -> CInt -> Ptr t24 -> CInt -> Ptr t25 -> CInt -> Ptr t26 -> CInt -> Ptr t27 -> CInt -> Ptr t28 -> CInt -> Ptr t29 -> CInt -> Ptr t30 -> CInt -> Ptr t31 -> CInt -> Ptr t32 -> CInt -> Ptr t33 -> CInt -> Ptr t34 -> IO CInt c_PQgetf35 :: Ptr PGresult -> Ptr PGerror -> CInt -> CString -> CInt -> Ptr t1 -> CInt -> Ptr t2 -> CInt -> Ptr t3 -> CInt -> Ptr t4 -> CInt -> Ptr t5 -> CInt -> Ptr t6 -> CInt -> Ptr t7 -> CInt -> Ptr t8 -> CInt -> Ptr t9 -> CInt -> Ptr t10 -> CInt -> Ptr t11 -> CInt -> Ptr t12 -> CInt -> Ptr t13 -> CInt -> Ptr t14 -> CInt -> Ptr t15 -> CInt -> Ptr t16 -> CInt -> Ptr t17 -> CInt -> Ptr t18 -> CInt -> Ptr t19 -> CInt -> Ptr t20 -> CInt -> Ptr t21 -> CInt -> Ptr t22 -> CInt -> Ptr t23 -> CInt -> Ptr t24 -> CInt -> Ptr t25 -> CInt -> Ptr t26 -> CInt -> Ptr t27 -> CInt -> Ptr t28 -> CInt -> Ptr t29 -> CInt -> Ptr t30 -> CInt -> Ptr t31 -> CInt -> Ptr t32 -> CInt -> Ptr t33 -> CInt -> Ptr t34 -> CInt -> Ptr t35 -> IO CInt c_PQgetf36 :: Ptr PGresult -> Ptr PGerror -> CInt -> CString -> CInt -> Ptr t1 -> CInt -> Ptr t2 -> CInt -> Ptr t3 -> CInt -> Ptr t4 -> CInt -> Ptr t5 -> CInt -> Ptr t6 -> CInt -> Ptr t7 -> CInt -> Ptr t8 -> CInt -> Ptr t9 -> CInt -> Ptr t10 -> CInt -> Ptr t11 -> CInt -> Ptr t12 -> CInt -> Ptr t13 -> CInt -> Ptr t14 -> CInt -> Ptr t15 -> CInt -> Ptr t16 -> CInt -> Ptr t17 -> CInt -> Ptr t18 -> CInt -> Ptr t19 -> CInt -> Ptr t20 -> CInt -> Ptr t21 -> CInt -> Ptr t22 -> CInt -> Ptr t23 -> CInt -> Ptr t24 -> CInt -> Ptr t25 -> CInt -> Ptr t26 -> CInt -> Ptr t27 -> CInt -> Ptr t28 -> CInt -> Ptr t29 -> CInt -> Ptr t30 -> CInt -> Ptr t31 -> CInt -> Ptr t32 -> CInt -> Ptr t33 -> CInt -> Ptr t34 -> CInt -> Ptr t35 -> CInt -> Ptr t36 -> IO CInt c_PQgetf37 :: Ptr PGresult -> Ptr PGerror -> CInt -> CString -> CInt -> Ptr t1 -> CInt -> Ptr t2 -> CInt -> Ptr t3 -> CInt -> Ptr t4 -> CInt -> Ptr t5 -> CInt -> Ptr t6 -> CInt -> Ptr t7 -> CInt -> Ptr t8 -> CInt -> Ptr t9 -> CInt -> Ptr t10 -> CInt -> Ptr t11 -> CInt -> Ptr t12 -> CInt -> Ptr t13 -> CInt -> Ptr t14 -> CInt -> Ptr t15 -> CInt -> Ptr t16 -> CInt -> Ptr t17 -> CInt -> Ptr t18 -> CInt -> Ptr t19 -> CInt -> Ptr t20 -> CInt -> Ptr t21 -> CInt -> Ptr t22 -> CInt -> Ptr t23 -> CInt -> Ptr t24 -> CInt -> Ptr t25 -> CInt -> Ptr t26 -> CInt -> Ptr t27 -> CInt -> Ptr t28 -> CInt -> Ptr t29 -> CInt -> Ptr t30 -> CInt -> Ptr t31 -> CInt -> Ptr t32 -> CInt -> Ptr t33 -> CInt -> Ptr t34 -> CInt -> Ptr t35 -> CInt -> Ptr t36 -> CInt -> Ptr t37 -> IO CInt c_PQgetf38 :: Ptr PGresult -> Ptr PGerror -> CInt -> CString -> CInt -> Ptr t1 -> CInt -> Ptr t2 -> CInt -> Ptr t3 -> CInt -> Ptr t4 -> CInt -> Ptr t5 -> CInt -> Ptr t6 -> CInt -> Ptr t7 -> CInt -> Ptr t8 -> CInt -> Ptr t9 -> CInt -> Ptr t10 -> CInt -> Ptr t11 -> CInt -> Ptr t12 -> CInt -> Ptr t13 -> CInt -> Ptr t14 -> CInt -> Ptr t15 -> CInt -> Ptr t16 -> CInt -> Ptr t17 -> CInt -> Ptr t18 -> CInt -> Ptr t19 -> CInt -> Ptr t20 -> CInt -> Ptr t21 -> CInt -> Ptr t22 -> CInt -> Ptr t23 -> CInt -> Ptr t24 -> CInt -> Ptr t25 -> CInt -> Ptr t26 -> CInt -> Ptr t27 -> CInt -> Ptr t28 -> CInt -> Ptr t29 -> CInt -> Ptr t30 -> CInt -> Ptr t31 -> CInt -> Ptr t32 -> CInt -> Ptr t33 -> CInt -> Ptr t34 -> CInt -> Ptr t35 -> CInt -> Ptr t36 -> CInt -> Ptr t37 -> CInt -> Ptr t38 -> IO CInt c_PQgetf39 :: Ptr PGresult -> Ptr PGerror -> CInt -> CString -> CInt -> Ptr t1 -> CInt -> Ptr t2 -> CInt -> Ptr t3 -> CInt -> Ptr t4 -> CInt -> Ptr t5 -> CInt -> Ptr t6 -> CInt -> Ptr t7 -> CInt -> Ptr t8 -> CInt -> Ptr t9 -> CInt -> Ptr t10 -> CInt -> Ptr t11 -> CInt -> Ptr t12 -> CInt -> Ptr t13 -> CInt -> Ptr t14 -> CInt -> Ptr t15 -> CInt -> Ptr t16 -> CInt -> Ptr t17 -> CInt -> Ptr t18 -> CInt -> Ptr t19 -> CInt -> Ptr t20 -> CInt -> Ptr t21 -> CInt -> Ptr t22 -> CInt -> Ptr t23 -> CInt -> Ptr t24 -> CInt -> Ptr t25 -> CInt -> Ptr t26 -> CInt -> Ptr t27 -> CInt -> Ptr t28 -> CInt -> Ptr t29 -> CInt -> Ptr t30 -> CInt -> Ptr t31 -> CInt -> Ptr t32 -> CInt -> Ptr t33 -> CInt -> Ptr t34 -> CInt -> Ptr t35 -> CInt -> Ptr t36 -> CInt -> Ptr t37 -> CInt -> Ptr t38 -> CInt -> Ptr t39 -> IO CInt c_PQgetf40 :: Ptr PGresult -> Ptr PGerror -> CInt -> CString -> CInt -> Ptr t1 -> CInt -> Ptr t2 -> CInt -> Ptr t3 -> CInt -> Ptr t4 -> CInt -> Ptr t5 -> CInt -> Ptr t6 -> CInt -> Ptr t7 -> CInt -> Ptr t8 -> CInt -> Ptr t9 -> CInt -> Ptr t10 -> CInt -> Ptr t11 -> CInt -> Ptr t12 -> CInt -> Ptr t13 -> CInt -> Ptr t14 -> CInt -> Ptr t15 -> CInt -> Ptr t16 -> CInt -> Ptr t17 -> CInt -> Ptr t18 -> CInt -> Ptr t19 -> CInt -> Ptr t20 -> CInt -> Ptr t21 -> CInt -> Ptr t22 -> CInt -> Ptr t23 -> CInt -> Ptr t24 -> CInt -> Ptr t25 -> CInt -> Ptr t26 -> CInt -> Ptr t27 -> CInt -> Ptr t28 -> CInt -> Ptr t29 -> CInt -> Ptr t30 -> CInt -> Ptr t31 -> CInt -> Ptr t32 -> CInt -> Ptr t33 -> CInt -> Ptr t34 -> CInt -> Ptr t35 -> CInt -> Ptr t36 -> CInt -> Ptr t37 -> CInt -> Ptr t38 -> CInt -> Ptr t39 -> CInt -> Ptr t40 -> IO CInt c_PQgetf41 :: Ptr PGresult -> Ptr PGerror -> CInt -> CString -> CInt -> Ptr t1 -> CInt -> Ptr t2 -> CInt -> Ptr t3 -> CInt -> Ptr t4 -> CInt -> Ptr t5 -> CInt -> Ptr t6 -> CInt -> Ptr t7 -> CInt -> Ptr t8 -> CInt -> Ptr t9 -> CInt -> Ptr t10 -> CInt -> Ptr t11 -> CInt -> Ptr t12 -> CInt -> Ptr t13 -> CInt -> Ptr t14 -> CInt -> Ptr t15 -> CInt -> Ptr t16 -> CInt -> Ptr t17 -> CInt -> Ptr t18 -> CInt -> Ptr t19 -> CInt -> Ptr t20 -> CInt -> Ptr t21 -> CInt -> Ptr t22 -> CInt -> Ptr t23 -> CInt -> Ptr t24 -> CInt -> Ptr t25 -> CInt -> Ptr t26 -> CInt -> Ptr t27 -> CInt -> Ptr t28 -> CInt -> Ptr t29 -> CInt -> Ptr t30 -> CInt -> Ptr t31 -> CInt -> Ptr t32 -> CInt -> Ptr t33 -> CInt -> Ptr t34 -> CInt -> Ptr t35 -> CInt -> Ptr t36 -> CInt -> Ptr t37 -> CInt -> Ptr t38 -> CInt -> Ptr t39 -> CInt -> Ptr t40 -> CInt -> Ptr t41 -> IO CInt c_PQgetf42 :: Ptr PGresult -> Ptr PGerror -> CInt -> CString -> CInt -> Ptr t1 -> CInt -> Ptr t2 -> CInt -> Ptr t3 -> CInt -> Ptr t4 -> CInt -> Ptr t5 -> CInt -> Ptr t6 -> CInt -> Ptr t7 -> CInt -> Ptr t8 -> CInt -> Ptr t9 -> CInt -> Ptr t10 -> CInt -> Ptr t11 -> CInt -> Ptr t12 -> CInt -> Ptr t13 -> CInt -> Ptr t14 -> CInt -> Ptr t15 -> CInt -> Ptr t16 -> CInt -> Ptr t17 -> CInt -> Ptr t18 -> CInt -> Ptr t19 -> CInt -> Ptr t20 -> CInt -> Ptr t21 -> CInt -> Ptr t22 -> CInt -> Ptr t23 -> CInt -> Ptr t24 -> CInt -> Ptr t25 -> CInt -> Ptr t26 -> CInt -> Ptr t27 -> CInt -> Ptr t28 -> CInt -> Ptr t29 -> CInt -> Ptr t30 -> CInt -> Ptr t31 -> CInt -> Ptr t32 -> CInt -> Ptr t33 -> CInt -> Ptr t34 -> CInt -> Ptr t35 -> CInt -> Ptr t36 -> CInt -> Ptr t37 -> CInt -> Ptr t38 -> CInt -> Ptr t39 -> CInt -> Ptr t40 -> CInt -> Ptr t41 -> CInt -> Ptr t42 -> IO CInt c_PQgetf43 :: Ptr PGresult -> Ptr PGerror -> CInt -> CString -> CInt -> Ptr t1 -> CInt -> Ptr t2 -> CInt -> Ptr t3 -> CInt -> Ptr t4 -> CInt -> Ptr t5 -> CInt -> Ptr t6 -> CInt -> Ptr t7 -> CInt -> Ptr t8 -> CInt -> Ptr t9 -> CInt -> Ptr t10 -> CInt -> Ptr t11 -> CInt -> Ptr t12 -> CInt -> Ptr t13 -> CInt -> Ptr t14 -> CInt -> Ptr t15 -> CInt -> Ptr t16 -> CInt -> Ptr t17 -> CInt -> Ptr t18 -> CInt -> Ptr t19 -> CInt -> Ptr t20 -> CInt -> Ptr t21 -> CInt -> Ptr t22 -> CInt -> Ptr t23 -> CInt -> Ptr t24 -> CInt -> Ptr t25 -> CInt -> Ptr t26 -> CInt -> Ptr t27 -> CInt -> Ptr t28 -> CInt -> Ptr t29 -> CInt -> Ptr t30 -> CInt -> Ptr t31 -> CInt -> Ptr t32 -> CInt -> Ptr t33 -> CInt -> Ptr t34 -> CInt -> Ptr t35 -> CInt -> Ptr t36 -> CInt -> Ptr t37 -> CInt -> Ptr t38 -> CInt -> Ptr t39 -> CInt -> Ptr t40 -> CInt -> Ptr t41 -> CInt -> Ptr t42 -> CInt -> Ptr t43 -> IO CInt c_PQgetf44 :: Ptr PGresult -> Ptr PGerror -> CInt -> CString -> CInt -> Ptr t1 -> CInt -> Ptr t2 -> CInt -> Ptr t3 -> CInt -> Ptr t4 -> CInt -> Ptr t5 -> CInt -> Ptr t6 -> CInt -> Ptr t7 -> CInt -> Ptr t8 -> CInt -> Ptr t9 -> CInt -> Ptr t10 -> CInt -> Ptr t11 -> CInt -> Ptr t12 -> CInt -> Ptr t13 -> CInt -> Ptr t14 -> CInt -> Ptr t15 -> CInt -> Ptr t16 -> CInt -> Ptr t17 -> CInt -> Ptr t18 -> CInt -> Ptr t19 -> CInt -> Ptr t20 -> CInt -> Ptr t21 -> CInt -> Ptr t22 -> CInt -> Ptr t23 -> CInt -> Ptr t24 -> CInt -> Ptr t25 -> CInt -> Ptr t26 -> CInt -> Ptr t27 -> CInt -> Ptr t28 -> CInt -> Ptr t29 -> CInt -> Ptr t30 -> CInt -> Ptr t31 -> CInt -> Ptr t32 -> CInt -> Ptr t33 -> CInt -> Ptr t34 -> CInt -> Ptr t35 -> CInt -> Ptr t36 -> CInt -> Ptr t37 -> CInt -> Ptr t38 -> CInt -> Ptr t39 -> CInt -> Ptr t40 -> CInt -> Ptr t41 -> CInt -> Ptr t42 -> CInt -> Ptr t43 -> CInt -> Ptr t44 -> IO CInt c_PQgetf45 :: Ptr PGresult -> Ptr PGerror -> CInt -> CString -> CInt -> Ptr t1 -> CInt -> Ptr t2 -> CInt -> Ptr t3 -> CInt -> Ptr t4 -> CInt -> Ptr t5 -> CInt -> Ptr t6 -> CInt -> Ptr t7 -> CInt -> Ptr t8 -> CInt -> Ptr t9 -> CInt -> Ptr t10 -> CInt -> Ptr t11 -> CInt -> Ptr t12 -> CInt -> Ptr t13 -> CInt -> Ptr t14 -> CInt -> Ptr t15 -> CInt -> Ptr t16 -> CInt -> Ptr t17 -> CInt -> Ptr t18 -> CInt -> Ptr t19 -> CInt -> Ptr t20 -> CInt -> Ptr t21 -> CInt -> Ptr t22 -> CInt -> Ptr t23 -> CInt -> Ptr t24 -> CInt -> Ptr t25 -> CInt -> Ptr t26 -> CInt -> Ptr t27 -> CInt -> Ptr t28 -> CInt -> Ptr t29 -> CInt -> Ptr t30 -> CInt -> Ptr t31 -> CInt -> Ptr t32 -> CInt -> Ptr t33 -> CInt -> Ptr t34 -> CInt -> Ptr t35 -> CInt -> Ptr t36 -> CInt -> Ptr t37 -> CInt -> Ptr t38 -> CInt -> Ptr t39 -> CInt -> Ptr t40 -> CInt -> Ptr t41 -> CInt -> Ptr t42 -> CInt -> Ptr t43 -> CInt -> Ptr t44 -> CInt -> Ptr t45 -> IO CInt c_PQgetf46 :: Ptr PGresult -> Ptr PGerror -> CInt -> CString -> CInt -> Ptr t1 -> CInt -> Ptr t2 -> CInt -> Ptr t3 -> CInt -> Ptr t4 -> CInt -> Ptr t5 -> CInt -> Ptr t6 -> CInt -> Ptr t7 -> CInt -> Ptr t8 -> CInt -> Ptr t9 -> CInt -> Ptr t10 -> CInt -> Ptr t11 -> CInt -> Ptr t12 -> CInt -> Ptr t13 -> CInt -> Ptr t14 -> CInt -> Ptr t15 -> CInt -> Ptr t16 -> CInt -> Ptr t17 -> CInt -> Ptr t18 -> CInt -> Ptr t19 -> CInt -> Ptr t20 -> CInt -> Ptr t21 -> CInt -> Ptr t22 -> CInt -> Ptr t23 -> CInt -> Ptr t24 -> CInt -> Ptr t25 -> CInt -> Ptr t26 -> CInt -> Ptr t27 -> CInt -> Ptr t28 -> CInt -> Ptr t29 -> CInt -> Ptr t30 -> CInt -> Ptr t31 -> CInt -> Ptr t32 -> CInt -> Ptr t33 -> CInt -> Ptr t34 -> CInt -> Ptr t35 -> CInt -> Ptr t36 -> CInt -> Ptr t37 -> CInt -> Ptr t38 -> CInt -> Ptr t39 -> CInt -> Ptr t40 -> CInt -> Ptr t41 -> CInt -> Ptr t42 -> CInt -> Ptr t43 -> CInt -> Ptr t44 -> CInt -> Ptr t45 -> CInt -> Ptr t46 -> IO CInt c_PQgetf47 :: Ptr PGresult -> Ptr PGerror -> CInt -> CString -> CInt -> Ptr t1 -> CInt -> Ptr t2 -> CInt -> Ptr t3 -> CInt -> Ptr t4 -> CInt -> Ptr t5 -> CInt -> Ptr t6 -> CInt -> Ptr t7 -> CInt -> Ptr t8 -> CInt -> Ptr t9 -> CInt -> Ptr t10 -> CInt -> Ptr t11 -> CInt -> Ptr t12 -> CInt -> Ptr t13 -> CInt -> Ptr t14 -> CInt -> Ptr t15 -> CInt -> Ptr t16 -> CInt -> Ptr t17 -> CInt -> Ptr t18 -> CInt -> Ptr t19 -> CInt -> Ptr t20 -> CInt -> Ptr t21 -> CInt -> Ptr t22 -> CInt -> Ptr t23 -> CInt -> Ptr t24 -> CInt -> Ptr t25 -> CInt -> Ptr t26 -> CInt -> Ptr t27 -> CInt -> Ptr t28 -> CInt -> Ptr t29 -> CInt -> Ptr t30 -> CInt -> Ptr t31 -> CInt -> Ptr t32 -> CInt -> Ptr t33 -> CInt -> Ptr t34 -> CInt -> Ptr t35 -> CInt -> Ptr t36 -> CInt -> Ptr t37 -> CInt -> Ptr t38 -> CInt -> Ptr t39 -> CInt -> Ptr t40 -> CInt -> Ptr t41 -> CInt -> Ptr t42 -> CInt -> Ptr t43 -> CInt -> Ptr t44 -> CInt -> Ptr t45 -> CInt -> Ptr t46 -> CInt -> Ptr t47 -> IO CInt c_PQgetf48 :: Ptr PGresult -> Ptr PGerror -> CInt -> CString -> CInt -> Ptr t1 -> CInt -> Ptr t2 -> CInt -> Ptr t3 -> CInt -> Ptr t4 -> CInt -> Ptr t5 -> CInt -> Ptr t6 -> CInt -> Ptr t7 -> CInt -> Ptr t8 -> CInt -> Ptr t9 -> CInt -> Ptr t10 -> CInt -> Ptr t11 -> CInt -> Ptr t12 -> CInt -> Ptr t13 -> CInt -> Ptr t14 -> CInt -> Ptr t15 -> CInt -> Ptr t16 -> CInt -> Ptr t17 -> CInt -> Ptr t18 -> CInt -> Ptr t19 -> CInt -> Ptr t20 -> CInt -> Ptr t21 -> CInt -> Ptr t22 -> CInt -> Ptr t23 -> CInt -> Ptr t24 -> CInt -> Ptr t25 -> CInt -> Ptr t26 -> CInt -> Ptr t27 -> CInt -> Ptr t28 -> CInt -> Ptr t29 -> CInt -> Ptr t30 -> CInt -> Ptr t31 -> CInt -> Ptr t32 -> CInt -> Ptr t33 -> CInt -> Ptr t34 -> CInt -> Ptr t35 -> CInt -> Ptr t36 -> CInt -> Ptr t37 -> CInt -> Ptr t38 -> CInt -> Ptr t39 -> CInt -> Ptr t40 -> CInt -> Ptr t41 -> CInt -> Ptr t42 -> CInt -> Ptr t43 -> CInt -> Ptr t44 -> CInt -> Ptr t45 -> CInt -> Ptr t46 -> CInt -> Ptr t47 -> CInt -> Ptr t48 -> IO CInt c_PQgetf49 :: Ptr PGresult -> Ptr PGerror -> CInt -> CString -> CInt -> Ptr t1 -> CInt -> Ptr t2 -> CInt -> Ptr t3 -> CInt -> Ptr t4 -> CInt -> Ptr t5 -> CInt -> Ptr t6 -> CInt -> Ptr t7 -> CInt -> Ptr t8 -> CInt -> Ptr t9 -> CInt -> Ptr t10 -> CInt -> Ptr t11 -> CInt -> Ptr t12 -> CInt -> Ptr t13 -> CInt -> Ptr t14 -> CInt -> Ptr t15 -> CInt -> Ptr t16 -> CInt -> Ptr t17 -> CInt -> Ptr t18 -> CInt -> Ptr t19 -> CInt -> Ptr t20 -> CInt -> Ptr t21 -> CInt -> Ptr t22 -> CInt -> Ptr t23 -> CInt -> Ptr t24 -> CInt -> Ptr t25 -> CInt -> Ptr t26 -> CInt -> Ptr t27 -> CInt -> Ptr t28 -> CInt -> Ptr t29 -> CInt -> Ptr t30 -> CInt -> Ptr t31 -> CInt -> Ptr t32 -> CInt -> Ptr t33 -> CInt -> Ptr t34 -> CInt -> Ptr t35 -> CInt -> Ptr t36 -> CInt -> Ptr t37 -> CInt -> Ptr t38 -> CInt -> Ptr t39 -> CInt -> Ptr t40 -> CInt -> Ptr t41 -> CInt -> Ptr t42 -> CInt -> Ptr t43 -> CInt -> Ptr t44 -> CInt -> Ptr t45 -> CInt -> Ptr t46 -> CInt -> Ptr t47 -> CInt -> Ptr t48 -> CInt -> Ptr t49 -> IO CInt c_PQgetf50 :: Ptr PGresult -> Ptr PGerror -> CInt -> CString -> CInt -> Ptr t1 -> CInt -> Ptr t2 -> CInt -> Ptr t3 -> CInt -> Ptr t4 -> CInt -> Ptr t5 -> CInt -> Ptr t6 -> CInt -> Ptr t7 -> CInt -> Ptr t8 -> CInt -> Ptr t9 -> CInt -> Ptr t10 -> CInt -> Ptr t11 -> CInt -> Ptr t12 -> CInt -> Ptr t13 -> CInt -> Ptr t14 -> CInt -> Ptr t15 -> CInt -> Ptr t16 -> CInt -> Ptr t17 -> CInt -> Ptr t18 -> CInt -> Ptr t19 -> CInt -> Ptr t20 -> CInt -> Ptr t21 -> CInt -> Ptr t22 -> CInt -> Ptr t23 -> CInt -> Ptr t24 -> CInt -> Ptr t25 -> CInt -> Ptr t26 -> CInt -> Ptr t27 -> CInt -> Ptr t28 -> CInt -> Ptr t29 -> CInt -> Ptr t30 -> CInt -> Ptr t31 -> CInt -> Ptr t32 -> CInt -> Ptr t33 -> CInt -> Ptr t34 -> CInt -> Ptr t35 -> CInt -> Ptr t36 -> CInt -> Ptr t37 -> CInt -> Ptr t38 -> CInt -> Ptr t39 -> CInt -> Ptr t40 -> CInt -> Ptr t41 -> CInt -> Ptr t42 -> CInt -> Ptr t43 -> CInt -> Ptr t44 -> CInt -> Ptr t45 -> CInt -> Ptr t46 -> CInt -> Ptr t47 -> CInt -> Ptr t48 -> CInt -> Ptr t49 -> CInt -> Ptr t50 -> IO CInt -- | Exports a set of FFI-imported libpq/libpqtypes functions. module Database.PostgreSQL.PQTypes.Internal.C.Interface c_PQstatus :: Ptr PGconn -> IO ConnStatusType c_PQerrorMessage :: Ptr PGconn -> IO CString c_PQsetClientEncoding :: Ptr PGconn -> CString -> IO CInt c_PQresultStatus :: Ptr PGresult -> IO ExecStatusType c_PQresultErrorField :: Ptr PGresult -> ErrorField -> IO CString c_PQresultErrorMessage :: Ptr PGresult -> IO CString c_PQntuples :: Ptr PGresult -> IO CInt c_PQnfields :: Ptr PGresult -> IO CInt c_PQcmdTuples :: Ptr PGresult -> IO CString c_PQgetisnull :: Ptr PGresult -> CInt -> CInt -> IO CInt c_PQfname :: Ptr PGresult -> CInt -> IO CString c_PQclear :: Ptr PGresult -> IO () c_PQfinishPtr :: Ptr (Ptr PGconn) -> IO () -- | Safe wrapper for c_rawPQconnectdb, returns ForeignPtr -- instead of Ptr. c_PQconnectdb :: CString -> IO (ForeignPtr (Ptr PGconn)) c_PQinitTypes :: Ptr PGconn -> IO () c_PQregisterTypes :: Ptr PGconn -> Ptr PGerror -> TypeClass -> Ptr PGregisterType -> CInt -> CInt -> IO CInt -- | Safe wrapper for c_rawPQparamExec. Wraps result returned by -- c_rawPQparamExec in ForeignPtr with asynchronous -- exceptions masked to prevent memory leaks. c_PQparamExec :: Ptr PGconn -> Ptr PGerror -> Ptr PGparam -> CString -> ResultFormat -> IO (ForeignPtr PGresult) c_PQparamCreate :: Ptr PGconn -> Ptr PGerror -> IO (Ptr PGparam) c_PQparamClear :: Ptr PGparam -> IO () c_PQparamCount :: Ptr PGparam -> IO CInt nullStringCStringLen :: CStringLen module Database.PostgreSQL.PQTypes.Internal.QueryResult -- | Wrapper for hiding representation of query result. newtype QueryResult QueryResult :: (ForeignPtr PGresult) -> QueryResult -- | Extract number of returned tuples (rows) from query result. ntuples :: QueryResult -> Int -- | Extract number of returned fields (columns) from query result. nfields :: QueryResult -> Int module Database.PostgreSQL.PQTypes.Internal.Error.Code -- | SQL error code. Reference: -- http://www.postgresql.org/docs/devel/static/errcodes-appendix.html. data ErrorCode SuccessfulCompletion :: ErrorCode Warning :: ErrorCode DynamicResultSetsReturned :: ErrorCode ImplicitZeroBitPadding :: ErrorCode NullValueEliminatedInSetFunction :: ErrorCode PrivilegeNotGranted :: ErrorCode PrivilegeNotRevoked :: ErrorCode StringDataRightTruncation_01 :: ErrorCode DeprecatedFeature :: ErrorCode NoData :: ErrorCode NoAdditionalDynamicResultSetsReturned :: ErrorCode SqlStatementNotYetComplete :: ErrorCode ConnectionException :: ErrorCode ConnectionDoesNotExist :: ErrorCode ConnectionFailure :: ErrorCode SqlclientUnableToEstablishSqlconnection :: ErrorCode SqlserverRejectedEstablishmentOfSqlconnection :: ErrorCode TransactionResolutionUnknown :: ErrorCode ProtocolViolation :: ErrorCode TriggeredActionException :: ErrorCode FeatureNotSupported :: ErrorCode InvalidTransactionInitiation :: ErrorCode LocatorException :: ErrorCode InvalidLocatorSpecification :: ErrorCode InvalidGrantor :: ErrorCode InvalidGrantOperation :: ErrorCode InvalidRoleSpecification :: ErrorCode DiagnosticsException :: ErrorCode StackedDiagnosticsAccessedWithoutActiveHandler :: ErrorCode CaseNotFound :: ErrorCode CardinalityViolation :: ErrorCode DataException :: ErrorCode ArraySubscriptError :: ErrorCode CharacterNotInRepertoire :: ErrorCode DatetimeFieldOverflow :: ErrorCode DivisionByZero :: ErrorCode ErrorInAssignment :: ErrorCode EscapeCharacterConflict :: ErrorCode IndicatorOverflow :: ErrorCode IntervalFieldOverflow :: ErrorCode InvalidArgumentForLogarithm :: ErrorCode InvalidArgumentForNtileFunction :: ErrorCode InvalidArgumentForNthValueFunction :: ErrorCode InvalidArgumentForPowerFunction :: ErrorCode InvalidArgumentForWidthBucketFunction :: ErrorCode InvalidCharacterValueForCast :: ErrorCode InvalidDatetimeFormat :: ErrorCode InvalidEscapeCharacter :: ErrorCode InvalidEscapeOctet :: ErrorCode InvalidEscapeSequence :: ErrorCode NonstandardUseOfEscapeCharacter :: ErrorCode InvalidIndicatorParameterValue :: ErrorCode InvalidParameterValue :: ErrorCode InvalidRegularExpression :: ErrorCode InvalidRowCountInLimitClause :: ErrorCode InvalidRowCountInResultOffsetClause :: ErrorCode InvalidTimeZoneDisplacementValue :: ErrorCode InvalidUseOfEscapeCharacter :: ErrorCode MostSpecificTypeMismatch :: ErrorCode NullValueNotAllowed_22 :: ErrorCode NullValueNoIndicatorParameter :: ErrorCode NumericValueOutOfRange :: ErrorCode StringDataLengthMismatch :: ErrorCode StringDataRightTruncation_22 :: ErrorCode SubstringError :: ErrorCode TrimError :: ErrorCode UnterminatedCString :: ErrorCode ZeroLengthCharacterString :: ErrorCode FloatingPointException :: ErrorCode InvalidTextRepresentation :: ErrorCode InvalidBinaryRepresentation :: ErrorCode BadCopyFileFormat :: ErrorCode UntranslatableCharacter :: ErrorCode NotAnXmlDocument :: ErrorCode InvalidXmlDocument :: ErrorCode InvalidXmlContent :: ErrorCode InvalidXmlComment :: ErrorCode InvalidXmlProcessingInstruction :: ErrorCode IntegrityConstraintViolation :: ErrorCode RestrictViolation :: ErrorCode NotNullViolation :: ErrorCode ForeignKeyViolation :: ErrorCode UniqueViolation :: ErrorCode CheckViolation :: ErrorCode ExclusionViolation :: ErrorCode InvalidCursorState :: ErrorCode InvalidTransactionState :: ErrorCode ActiveSqlTransaction :: ErrorCode BranchTransactionAlreadyActive :: ErrorCode HeldCursorRequiresSameIsolationLevel :: ErrorCode InappropriateAccessModeForBranchTransaction :: ErrorCode InappropriateIsolationLevelForBranchTransaction :: ErrorCode NoActiveSqlTransactionForBranchTransaction :: ErrorCode ReadOnlySqlTransaction :: ErrorCode SchemaAndDataStatementMixingNotSupported :: ErrorCode NoActiveSqlTransaction :: ErrorCode InFailedSqlTransaction :: ErrorCode InvalidSqlStatementName :: ErrorCode TriggeredDataChangeViolation :: ErrorCode InvalidAuthorizationSpecification :: ErrorCode InvalidPassword :: ErrorCode DependentPrivilegeDescriptorsStillExist :: ErrorCode DependentObjectsStillExist :: ErrorCode InvalidTransactionTermination :: ErrorCode SqlRoutineException :: ErrorCode FunctionExecutedNoReturnStatement :: ErrorCode ModifyingSqlDataNotPermitted_2F :: ErrorCode ProhibitedSqlStatementAttempted_2F :: ErrorCode ReadingSqlDataNotPermitted_2F :: ErrorCode InvalidCursorName :: ErrorCode ExternalRoutineException :: ErrorCode ContainingSqlNotPermitted :: ErrorCode ModifyingSqlDataNotPermitted_38 :: ErrorCode ProhibitedSqlStatementAttempted_38 :: ErrorCode ReadingSqlDataNotPermitted_38 :: ErrorCode ExternalRoutineInvocationException :: ErrorCode InvalidSqlstateReturned :: ErrorCode NullValueNotAllowed_39 :: ErrorCode TriggerProtocolViolated :: ErrorCode SrfProtocolViolated :: ErrorCode SavepointException :: ErrorCode InvalidSavepointSpecification :: ErrorCode InvalidCatalogName :: ErrorCode InvalidSchemaName :: ErrorCode TransactionRollback :: ErrorCode TransactionIntegrityConstraintViolation :: ErrorCode SerializationFailure :: ErrorCode StatementCompletionUnknown :: ErrorCode DeadlockDetected :: ErrorCode SyntaxErrorOrAccessRuleViolation :: ErrorCode SyntaxError :: ErrorCode InsufficientPrivilege :: ErrorCode CannotCoerce :: ErrorCode GroupingError :: ErrorCode WindowingError :: ErrorCode InvalidRecursion :: ErrorCode InvalidForeignKey :: ErrorCode InvalidName :: ErrorCode NameTooLong :: ErrorCode ReservedName :: ErrorCode DatatypeMismatch :: ErrorCode IndeterminateDatatype :: ErrorCode CollationMismatch :: ErrorCode IndeterminateCollation :: ErrorCode WrongObjectType :: ErrorCode UndefinedColumn :: ErrorCode UndefinedFunction :: ErrorCode UndefinedTable :: ErrorCode UndefinedParameter :: ErrorCode UndefinedObject :: ErrorCode DuplicateColumn :: ErrorCode DuplicateCursor :: ErrorCode DuplicateDatabase :: ErrorCode DuplicateFunction :: ErrorCode DuplicatePreparedStatement :: ErrorCode DuplicateSchema :: ErrorCode DuplicateTable :: ErrorCode DuplicateAlias :: ErrorCode DuplicateObject :: ErrorCode AmbiguousColumn :: ErrorCode AmbiguousFunction :: ErrorCode AmbiguousParameter :: ErrorCode AmbiguousAlias :: ErrorCode InvalidColumnReference :: ErrorCode InvalidColumnDefinition :: ErrorCode InvalidCursorDefinition :: ErrorCode InvalidDatabaseDefinition :: ErrorCode InvalidFunctionDefinition :: ErrorCode InvalidPreparedStatementDefinition :: ErrorCode InvalidSchemaDefinition :: ErrorCode InvalidTableDefinition :: ErrorCode InvalidObjectDefinition :: ErrorCode WithCheckOptionViolation :: ErrorCode InsufficientResources :: ErrorCode DiskFull :: ErrorCode OutOfMemory :: ErrorCode TooManyConnections :: ErrorCode ConfigurationLimitExceeded :: ErrorCode ProgramLimitExceeded :: ErrorCode StatementTooComplex :: ErrorCode TooManyColumns :: ErrorCode TooManyArguments :: ErrorCode ObjectNotInPrerequisiteState :: ErrorCode ObjectInUse :: ErrorCode CantChangeRuntimeParam :: ErrorCode LockNotAvailable :: ErrorCode OperatorIntervention :: ErrorCode QueryCanceled :: ErrorCode AdminShutdown :: ErrorCode CrashShutdown :: ErrorCode CannotConnectNow :: ErrorCode DatabaseDropped :: ErrorCode SystemError :: ErrorCode IoError :: ErrorCode UndefinedFile :: ErrorCode DuplicateFile :: ErrorCode ConfigFileError :: ErrorCode LockFileExists :: ErrorCode FdwError :: ErrorCode FdwColumnNameNotFound :: ErrorCode FdwDynamicParameterValueNeeded :: ErrorCode FdwFunctionSequenceError :: ErrorCode FdwInconsistentDescriptorInformation :: ErrorCode FdwInvalidAttributeValue :: ErrorCode FdwInvalidColumnName :: ErrorCode FdwInvalidColumnNumber :: ErrorCode FdwInvalidDataType :: ErrorCode FdwInvalidDataTypeDescriptors :: ErrorCode FdwInvalidDescriptorFieldIdentifier :: ErrorCode FdwInvalidHandle :: ErrorCode FdwInvalidOptionIndex :: ErrorCode FdwInvalidOptionName :: ErrorCode FdwInvalidStringLengthOrBufferLength :: ErrorCode FdwInvalidStringFormat :: ErrorCode FdwInvalidUseOfNullPointer :: ErrorCode FdwTooManyHandles :: ErrorCode FdwOutOfMemory :: ErrorCode FdwNoSchemas :: ErrorCode FdwOptionNameNotFound :: ErrorCode FdwReplyHandle :: ErrorCode FdwSchemaNotFound :: ErrorCode FdwTableNotFound :: ErrorCode FdwUnableToCreateExecution :: ErrorCode FdwUnableToCreateReply :: ErrorCode FdwUnableToEstablishConnection :: ErrorCode PlpgsqlError :: ErrorCode RaiseException :: ErrorCode NoDataFound :: ErrorCode TooManyRows :: ErrorCode InternalError :: ErrorCode DataCorrupted :: ErrorCode IndexCorrupted :: ErrorCode UnknownErrorCode :: String -> ErrorCode -- | Convert String to corresponding ErrorCode. stringToErrorCode :: String -> ErrorCode instance Typeable ErrorCode instance Eq ErrorCode instance Ord ErrorCode instance Show ErrorCode -- | Definitions of exception types. module Database.PostgreSQL.PQTypes.Internal.Error -- | SQL query error. Reference: description of PQresultErrorField at -- http://www.postgresql.org/docs/devel/static/libpq-exec.html. data DetailedQueryError DetailedQueryError :: !String -> !ErrorCode -> !String -> !(Maybe String) -> !(Maybe String) -> !(Maybe Int) -> !(Maybe Int) -> !(Maybe String) -> !(Maybe String) -> !(Maybe String) -> !(Maybe Int) -> !(Maybe String) -> DetailedQueryError qeSeverity :: DetailedQueryError -> !String qeErrorCode :: DetailedQueryError -> !ErrorCode qeMessagePrimary :: DetailedQueryError -> !String qeMessageDetail :: DetailedQueryError -> !(Maybe String) qeMessageHint :: DetailedQueryError -> !(Maybe String) qeStatementPosition :: DetailedQueryError -> !(Maybe Int) qeInternalPosition :: DetailedQueryError -> !(Maybe Int) qeInternalQuery :: DetailedQueryError -> !(Maybe String) qeContext :: DetailedQueryError -> !(Maybe String) qeSourceFile :: DetailedQueryError -> !(Maybe String) qeSourceLine :: DetailedQueryError -> !(Maybe Int) qeSourceFunction :: DetailedQueryError -> !(Maybe String) -- | Simple SQL query error. Thrown when there is no PGresult object -- corresponding to query execution. newtype QueryError QueryError :: String -> QueryError -- | Internal error in this library. newtype HPQTypesError HPQTypesError :: String -> HPQTypesError -- | Internal error in libpq/libpqtypes library. newtype LibPQError LibPQError :: String -> LibPQError -- | Data conversion error. Since it's polymorphic in error type, it nicely -- reports arbitrarily nested conversion errors. data ConversionError ConversionError :: !Int -> !String -> !Int -> !e -> ConversionError -- | Column number (Starts with 1). convColumn :: ConversionError -> !Int -- | Name of the column. convColumnName :: ConversionError -> !String -- | Row number (Starts with 1). convRow :: ConversionError -> !Int -- | Exact error. convError :: ConversionError -> !e -- | Array item error. Polymorphic in error type for the same reason as -- ConversionError. data ArrayItemError ArrayItemError :: !Int -> !e -> ArrayItemError -- | Item index (Starts with 1). arrItemIndex :: ArrayItemError -> !Int -- | Exact error. arrItemError :: ArrayItemError -> !e -- | "Invalid value" error for various data types. data InvalidValue t InvalidValue :: t -> Maybe [t] -> InvalidValue t -- | Invalid value. ivValue :: InvalidValue t -> t ivValidValues :: InvalidValue t -> Maybe [t] -- | Range error for various data types. data RangeError t RangeError :: [(t, t)] -> t -> RangeError t -- | Allowed range (sum of acceptable ranges). reRange :: RangeError t -> [(t, t)] -- | Provided value which is not in above range. reValue :: RangeError t -> t -- | Array dimenstion mismatch error. data ArrayDimensionMismatch ArrayDimensionMismatch :: !Int -> !Int -> ArrayDimensionMismatch -- | Dimension expected by the library. arrDimExpected :: ArrayDimensionMismatch -> !Int -- | Dimension provided by the database. arrDimDelivered :: ArrayDimensionMismatch -> !Int -- | Row length mismatch error. data RowLengthMismatch RowLengthMismatch :: !Int -> !Int -> RowLengthMismatch -- | Length expected by the library. lengthExpected :: RowLengthMismatch -> !Int -- | Length delivered by the database. lengthDelivered :: RowLengthMismatch -> !Int -- | Affected/returned rows mismatch error. data AffectedRowsMismatch AffectedRowsMismatch :: ![(Int, Int)] -> !Int -> AffectedRowsMismatch -- | Number of rows expected by the library, expressed as sum of acceptable -- ranges, eg. [(1,2), (5,10)] means that it would accept 1, 2, 5, 6, 7, -- 8, 9 or 10 affected/returned rows. rowsExpected :: AffectedRowsMismatch -> ![(Int, Int)] -- | Number of affected/returned rows by the database. rowsDelivered :: AffectedRowsMismatch -> !Int instance Typeable DetailedQueryError instance Typeable QueryError instance Typeable HPQTypesError instance Typeable LibPQError instance Typeable ConversionError instance Typeable ArrayItemError instance Typeable InvalidValue instance Typeable RangeError instance Typeable ArrayDimensionMismatch instance Typeable RowLengthMismatch instance Typeable AffectedRowsMismatch instance Show ArrayItemError instance Show ConversionError instance Eq DetailedQueryError instance Ord DetailedQueryError instance Show DetailedQueryError instance Eq QueryError instance Ord QueryError instance Show QueryError instance Eq HPQTypesError instance Ord HPQTypesError instance Show HPQTypesError instance Eq LibPQError instance Ord LibPQError instance Show LibPQError instance Eq t => Eq (InvalidValue t) instance Ord t => Ord (InvalidValue t) instance Show t => Show (InvalidValue t) instance Eq t => Eq (RangeError t) instance Ord t => Ord (RangeError t) instance Show t => Show (RangeError t) instance Eq ArrayDimensionMismatch instance Ord ArrayDimensionMismatch instance Show ArrayDimensionMismatch instance Eq RowLengthMismatch instance Ord RowLengthMismatch instance Show RowLengthMismatch instance Eq AffectedRowsMismatch instance Ord AffectedRowsMismatch instance Show AffectedRowsMismatch instance Exception AffectedRowsMismatch instance Exception RowLengthMismatch instance Exception ArrayDimensionMismatch instance (Show t, Typeable t) => Exception (RangeError t) instance (Show t, Typeable t) => Exception (InvalidValue t) instance Exception ArrayItemError instance Exception ConversionError instance Exception LibPQError instance Exception HPQTypesError instance Exception QueryError instance Exception DetailedQueryError module Database.PostgreSQL.PQTypes.Internal.Utils mread :: Read a => String -> Maybe a -- | Safely peek C string. safePeekCString :: CString -> IO (Maybe String) -- | Safely peek C string and return "" if NULL. safePeekCString' :: CString -> IO String -- | Convert C string to PGbytea. cStringLenToBytea :: CStringLen -> PGbytea -- | Convert PGbytea to C string. byteaToCStringLen :: PGbytea -> CStringLen -- | Convert ByteString to C string wrapped by foreign pointer. bsToCString :: ByteString -> IO (ForeignPtr CChar) -- | Check return value of a function from libpqtypes and if it indicates -- an error, throw appropriate exception. verifyPQTRes :: Ptr PGerror -> String -> CInt -> IO () withPGparam :: Ptr PGconn -> (Ptr PGparam -> IO r) -> IO r -- | Throw query error. throwQueryError :: Ptr PGconn -> Ptr PGresult -> IO a -- | Throw libpq specific error. throwLibPQError :: Ptr PGconn -> String -> IO a -- | Throw libpqtypes specific error. throwLibPQTypesError :: Ptr PGerror -> String -> IO a -- | Rethrow supplied exception enriched with array index. rethrowWithArrayError :: CInt -> SomeException -> IO a -- | Throw 'HPQTypesError exception. hpqTypesError :: String -> IO a -- | Throw 'unexpected NULL' exception. unexpectedNULL :: IO a module Database.PostgreSQL.PQTypes.Internal.Composite -- | Register a list of composite types. registerComposites :: Ptr PGconn -> [ByteString] -> IO () module Database.PostgreSQL.PQTypes.Transaction.Settings -- | Predicate that determines whether the transaction has to be restarted. data RestartPredicate RestartPredicate :: (e -> Integer -> Bool) -> RestartPredicate data TransactionSettings TransactionSettings :: !Bool -> !IsolationLevel -> !(Maybe RestartPredicate) -> !Permissions -> TransactionSettings -- | If set to True, transaction will be automatically started at the -- beginning of database action and after each commit / -- rollback. If set to False, no transaction will automatically -- start in either of above cases. tsAutoTransaction :: TransactionSettings -> !Bool -- | Isolation level of all transactions. tsIsolationLevel :: TransactionSettings -> !IsolationLevel -- | Defines behavior of withTransaction in case exceptions thrown -- within supplied monadic action are not caught and reach its body. If -- set to Nothing, exceptions will be propagated as usual. If set -- to Just f, exceptions will be intercepted and passed to f along -- with a number that indicates how many times the transaction block -- already failed. If f returns True, the transaction is -- restarted. Otherwise the exception is further propagated. This allows -- for restarting transactions e.g. in case of serialization failure. It -- is up to the caller to ensure that is it safe to execute supplied -- monadic action multiple times. tsRestartPredicate :: TransactionSettings -> !(Maybe RestartPredicate) -- | Permissions of all transactions. tsPermissions :: TransactionSettings -> !Permissions data IsolationLevel DefaultLevel :: IsolationLevel ReadCommitted :: IsolationLevel RepeatableRead :: IsolationLevel Serializable :: IsolationLevel data Permissions DefaultPermissions :: Permissions ReadOnly :: Permissions ReadWrite :: Permissions -- | Default transaction settings. defaultTransactionSettings :: TransactionSettings instance Typeable RestartPredicate instance Typeable IsolationLevel instance Typeable Permissions instance Typeable TransactionSettings instance Eq IsolationLevel instance Ord IsolationLevel instance Show IsolationLevel instance Eq Permissions instance Ord Permissions instance Show Permissions instance Show TransactionSettings instance Show RestartPredicate module Database.PostgreSQL.PQTypes.Format class PQFormat t where pqVariables _ = 1 pqFormat :: PQFormat t => t -> ByteString pqVariables :: PQFormat t => t -> Int instance (PQFormat t1, PQFormat t2, PQFormat t3, PQFormat t4, PQFormat t5, PQFormat t6, PQFormat t7, PQFormat t8, PQFormat t9, PQFormat t10, PQFormat t11, PQFormat t12, PQFormat t13, PQFormat t14, PQFormat t15, PQFormat t16, PQFormat t17, PQFormat t18, PQFormat t19, PQFormat t20, PQFormat t21, PQFormat t22, PQFormat t23, PQFormat t24, PQFormat t25, PQFormat t26, PQFormat t27, PQFormat t28, PQFormat t29, PQFormat t30, PQFormat t31, PQFormat t32, PQFormat t33, PQFormat t34, PQFormat t35, PQFormat t36, PQFormat t37, PQFormat t38, PQFormat t39, PQFormat t40, PQFormat t41, PQFormat t42, PQFormat t43, PQFormat t44, PQFormat t45, PQFormat t46, PQFormat t47, PQFormat t48, PQFormat t49, PQFormat t50) => PQFormat (t1, t2, t3, t4, t5, t6, t7, t8, t9, t10, t11, t12, t13, t14, t15, t16, t17, t18, t19, t20, t21, t22, t23, t24, t25, t26, t27, t28, t29, t30, t31, t32, t33, t34, t35, t36, t37, t38, t39, t40, t41, t42, t43, t44, t45, t46, t47, t48, t49, t50) instance (PQFormat t1, PQFormat t2, PQFormat t3, PQFormat t4, PQFormat t5, PQFormat t6, PQFormat t7, PQFormat t8, PQFormat t9, PQFormat t10, PQFormat t11, PQFormat t12, PQFormat t13, PQFormat t14, PQFormat t15, PQFormat t16, PQFormat t17, PQFormat t18, PQFormat t19, PQFormat t20, PQFormat t21, PQFormat t22, PQFormat t23, PQFormat t24, PQFormat t25, PQFormat t26, PQFormat t27, PQFormat t28, PQFormat t29, PQFormat t30, PQFormat t31, PQFormat t32, PQFormat t33, PQFormat t34, PQFormat t35, PQFormat t36, PQFormat t37, PQFormat t38, PQFormat t39, PQFormat t40, PQFormat t41, PQFormat t42, PQFormat t43, PQFormat t44, PQFormat t45, PQFormat t46, PQFormat t47, PQFormat t48, PQFormat t49) => PQFormat (t1, t2, t3, t4, t5, t6, t7, t8, t9, t10, t11, t12, t13, t14, t15, t16, t17, t18, t19, t20, t21, t22, t23, t24, t25, t26, t27, t28, t29, t30, t31, t32, t33, t34, t35, t36, t37, t38, t39, t40, t41, t42, t43, t44, t45, t46, t47, t48, t49) instance (PQFormat t1, PQFormat t2, PQFormat t3, PQFormat t4, PQFormat t5, PQFormat t6, PQFormat t7, PQFormat t8, PQFormat t9, PQFormat t10, PQFormat t11, PQFormat t12, PQFormat t13, PQFormat t14, PQFormat t15, PQFormat t16, PQFormat t17, PQFormat t18, PQFormat t19, PQFormat t20, PQFormat t21, PQFormat t22, PQFormat t23, PQFormat t24, PQFormat t25, PQFormat t26, PQFormat t27, PQFormat t28, PQFormat t29, PQFormat t30, PQFormat t31, PQFormat t32, PQFormat t33, PQFormat t34, PQFormat t35, PQFormat t36, PQFormat t37, PQFormat t38, PQFormat t39, PQFormat t40, PQFormat t41, PQFormat t42, PQFormat t43, PQFormat t44, PQFormat t45, PQFormat t46, PQFormat t47, PQFormat t48) => PQFormat (t1, t2, t3, t4, t5, t6, t7, t8, t9, t10, t11, t12, t13, t14, t15, t16, t17, t18, t19, t20, t21, t22, t23, t24, t25, t26, t27, t28, t29, t30, t31, t32, t33, t34, t35, t36, t37, t38, t39, t40, t41, t42, t43, t44, t45, t46, t47, t48) instance (PQFormat t1, PQFormat t2, PQFormat t3, PQFormat t4, PQFormat t5, PQFormat t6, PQFormat t7, PQFormat t8, PQFormat t9, PQFormat t10, PQFormat t11, PQFormat t12, PQFormat t13, PQFormat t14, PQFormat t15, PQFormat t16, PQFormat t17, PQFormat t18, PQFormat t19, PQFormat t20, PQFormat t21, PQFormat t22, PQFormat t23, PQFormat t24, PQFormat t25, PQFormat t26, PQFormat t27, PQFormat t28, PQFormat t29, PQFormat t30, PQFormat t31, PQFormat t32, PQFormat t33, PQFormat t34, PQFormat t35, PQFormat t36, PQFormat t37, PQFormat t38, PQFormat t39, PQFormat t40, PQFormat t41, PQFormat t42, PQFormat t43, PQFormat t44, PQFormat t45, PQFormat t46, PQFormat t47) => PQFormat (t1, t2, t3, t4, t5, t6, t7, t8, t9, t10, t11, t12, t13, t14, t15, t16, t17, t18, t19, t20, t21, t22, t23, t24, t25, t26, t27, t28, t29, t30, t31, t32, t33, t34, t35, t36, t37, t38, t39, t40, t41, t42, t43, t44, t45, t46, t47) instance (PQFormat t1, PQFormat t2, PQFormat t3, PQFormat t4, PQFormat t5, PQFormat t6, PQFormat t7, PQFormat t8, PQFormat t9, PQFormat t10, PQFormat t11, PQFormat t12, PQFormat t13, PQFormat t14, PQFormat t15, PQFormat t16, PQFormat t17, PQFormat t18, PQFormat t19, PQFormat t20, PQFormat t21, PQFormat t22, PQFormat t23, PQFormat t24, PQFormat t25, PQFormat t26, PQFormat t27, PQFormat t28, PQFormat t29, PQFormat t30, PQFormat t31, PQFormat t32, PQFormat t33, PQFormat t34, PQFormat t35, PQFormat t36, PQFormat t37, PQFormat t38, PQFormat t39, PQFormat t40, PQFormat t41, PQFormat t42, PQFormat t43, PQFormat t44, PQFormat t45, PQFormat t46) => PQFormat (t1, t2, t3, t4, t5, t6, t7, t8, t9, t10, t11, t12, t13, t14, t15, t16, t17, t18, t19, t20, t21, t22, t23, t24, t25, t26, t27, t28, t29, t30, t31, t32, t33, t34, t35, t36, t37, t38, t39, t40, t41, t42, t43, t44, t45, t46) instance (PQFormat t1, PQFormat t2, PQFormat t3, PQFormat t4, PQFormat t5, PQFormat t6, PQFormat t7, PQFormat t8, PQFormat t9, PQFormat t10, PQFormat t11, PQFormat t12, PQFormat t13, PQFormat t14, PQFormat t15, PQFormat t16, PQFormat t17, PQFormat t18, PQFormat t19, PQFormat t20, PQFormat t21, PQFormat t22, PQFormat t23, PQFormat t24, PQFormat t25, PQFormat t26, PQFormat t27, PQFormat t28, PQFormat t29, PQFormat t30, PQFormat t31, PQFormat t32, PQFormat t33, PQFormat t34, PQFormat t35, PQFormat t36, PQFormat t37, PQFormat t38, PQFormat t39, PQFormat t40, PQFormat t41, PQFormat t42, PQFormat t43, PQFormat t44, PQFormat t45) => PQFormat (t1, t2, t3, t4, t5, t6, t7, t8, t9, t10, t11, t12, t13, t14, t15, t16, t17, t18, t19, t20, t21, t22, t23, t24, t25, t26, t27, t28, t29, t30, t31, t32, t33, t34, t35, t36, t37, t38, t39, t40, t41, t42, t43, t44, t45) instance (PQFormat t1, PQFormat t2, PQFormat t3, PQFormat t4, PQFormat t5, PQFormat t6, PQFormat t7, PQFormat t8, PQFormat t9, PQFormat t10, PQFormat t11, PQFormat t12, PQFormat t13, PQFormat t14, PQFormat t15, PQFormat t16, PQFormat t17, PQFormat t18, PQFormat t19, PQFormat t20, PQFormat t21, PQFormat t22, PQFormat t23, PQFormat t24, PQFormat t25, PQFormat t26, PQFormat t27, PQFormat t28, PQFormat t29, PQFormat t30, PQFormat t31, PQFormat t32, PQFormat t33, PQFormat t34, PQFormat t35, PQFormat t36, PQFormat t37, PQFormat t38, PQFormat t39, PQFormat t40, PQFormat t41, PQFormat t42, PQFormat t43, PQFormat t44) => PQFormat (t1, t2, t3, t4, t5, t6, t7, t8, t9, t10, t11, t12, t13, t14, t15, t16, t17, t18, t19, t20, t21, t22, t23, t24, t25, t26, t27, t28, t29, t30, t31, t32, t33, t34, t35, t36, t37, t38, t39, t40, t41, t42, t43, t44) instance (PQFormat t1, PQFormat t2, PQFormat t3, PQFormat t4, PQFormat t5, PQFormat t6, PQFormat t7, PQFormat t8, PQFormat t9, PQFormat t10, PQFormat t11, PQFormat t12, PQFormat t13, PQFormat t14, PQFormat t15, PQFormat t16, PQFormat t17, PQFormat t18, PQFormat t19, PQFormat t20, PQFormat t21, PQFormat t22, PQFormat t23, PQFormat t24, PQFormat t25, PQFormat t26, PQFormat t27, PQFormat t28, PQFormat t29, PQFormat t30, PQFormat t31, PQFormat t32, PQFormat t33, PQFormat t34, PQFormat t35, PQFormat t36, PQFormat t37, PQFormat t38, PQFormat t39, PQFormat t40, PQFormat t41, PQFormat t42, PQFormat t43) => PQFormat (t1, t2, t3, t4, t5, t6, t7, t8, t9, t10, t11, t12, t13, t14, t15, t16, t17, t18, t19, t20, t21, t22, t23, t24, t25, t26, t27, t28, t29, t30, t31, t32, t33, t34, t35, t36, t37, t38, t39, t40, t41, t42, t43) instance (PQFormat t1, PQFormat t2, PQFormat t3, PQFormat t4, PQFormat t5, PQFormat t6, PQFormat t7, PQFormat t8, PQFormat t9, PQFormat t10, PQFormat t11, PQFormat t12, PQFormat t13, PQFormat t14, PQFormat t15, PQFormat t16, PQFormat t17, PQFormat t18, PQFormat t19, PQFormat t20, PQFormat t21, PQFormat t22, PQFormat t23, PQFormat t24, PQFormat t25, PQFormat t26, PQFormat t27, PQFormat t28, PQFormat t29, PQFormat t30, PQFormat t31, PQFormat t32, PQFormat t33, PQFormat t34, PQFormat t35, PQFormat t36, PQFormat t37, PQFormat t38, PQFormat t39, PQFormat t40, PQFormat t41, PQFormat t42) => PQFormat (t1, t2, t3, t4, t5, t6, t7, t8, t9, t10, t11, t12, t13, t14, t15, t16, t17, t18, t19, t20, t21, t22, t23, t24, t25, t26, t27, t28, t29, t30, t31, t32, t33, t34, t35, t36, t37, t38, t39, t40, t41, t42) instance (PQFormat t1, PQFormat t2, PQFormat t3, PQFormat t4, PQFormat t5, PQFormat t6, PQFormat t7, PQFormat t8, PQFormat t9, PQFormat t10, PQFormat t11, PQFormat t12, PQFormat t13, PQFormat t14, PQFormat t15, PQFormat t16, PQFormat t17, PQFormat t18, PQFormat t19, PQFormat t20, PQFormat t21, PQFormat t22, PQFormat t23, PQFormat t24, PQFormat t25, PQFormat t26, PQFormat t27, PQFormat t28, PQFormat t29, PQFormat t30, PQFormat t31, PQFormat t32, PQFormat t33, PQFormat t34, PQFormat t35, PQFormat t36, PQFormat t37, PQFormat t38, PQFormat t39, PQFormat t40, PQFormat t41) => PQFormat (t1, t2, t3, t4, t5, t6, t7, t8, t9, t10, t11, t12, t13, t14, t15, t16, t17, t18, t19, t20, t21, t22, t23, t24, t25, t26, t27, t28, t29, t30, t31, t32, t33, t34, t35, t36, t37, t38, t39, t40, t41) instance (PQFormat t1, PQFormat t2, PQFormat t3, PQFormat t4, PQFormat t5, PQFormat t6, PQFormat t7, PQFormat t8, PQFormat t9, PQFormat t10, PQFormat t11, PQFormat t12, PQFormat t13, PQFormat t14, PQFormat t15, PQFormat t16, PQFormat t17, PQFormat t18, PQFormat t19, PQFormat t20, PQFormat t21, PQFormat t22, PQFormat t23, PQFormat t24, PQFormat t25, PQFormat t26, PQFormat t27, PQFormat t28, PQFormat t29, PQFormat t30, PQFormat t31, PQFormat t32, PQFormat t33, PQFormat t34, PQFormat t35, PQFormat t36, PQFormat t37, PQFormat t38, PQFormat t39, PQFormat t40) => PQFormat (t1, t2, t3, t4, t5, t6, t7, t8, t9, t10, t11, t12, t13, t14, t15, t16, t17, t18, t19, t20, t21, t22, t23, t24, t25, t26, t27, t28, t29, t30, t31, t32, t33, t34, t35, t36, t37, t38, t39, t40) instance (PQFormat t1, PQFormat t2, PQFormat t3, PQFormat t4, PQFormat t5, PQFormat t6, PQFormat t7, PQFormat t8, PQFormat t9, PQFormat t10, PQFormat t11, PQFormat t12, PQFormat t13, PQFormat t14, PQFormat t15, PQFormat t16, PQFormat t17, PQFormat t18, PQFormat t19, PQFormat t20, PQFormat t21, PQFormat t22, PQFormat t23, PQFormat t24, PQFormat t25, PQFormat t26, PQFormat t27, PQFormat t28, PQFormat t29, PQFormat t30, PQFormat t31, PQFormat t32, PQFormat t33, PQFormat t34, PQFormat t35, PQFormat t36, PQFormat t37, PQFormat t38, PQFormat t39) => PQFormat (t1, t2, t3, t4, t5, t6, t7, t8, t9, t10, t11, t12, t13, t14, t15, t16, t17, t18, t19, t20, t21, t22, t23, t24, t25, t26, t27, t28, t29, t30, t31, t32, t33, t34, t35, t36, t37, t38, t39) instance (PQFormat t1, PQFormat t2, PQFormat t3, PQFormat t4, PQFormat t5, PQFormat t6, PQFormat t7, PQFormat t8, PQFormat t9, PQFormat t10, PQFormat t11, PQFormat t12, PQFormat t13, PQFormat t14, PQFormat t15, PQFormat t16, PQFormat t17, PQFormat t18, PQFormat t19, PQFormat t20, PQFormat t21, PQFormat t22, PQFormat t23, PQFormat t24, PQFormat t25, PQFormat t26, PQFormat t27, PQFormat t28, PQFormat t29, PQFormat t30, PQFormat t31, PQFormat t32, PQFormat t33, PQFormat t34, PQFormat t35, PQFormat t36, PQFormat t37, PQFormat t38) => PQFormat (t1, t2, t3, t4, t5, t6, t7, t8, t9, t10, t11, t12, t13, t14, t15, t16, t17, t18, t19, t20, t21, t22, t23, t24, t25, t26, t27, t28, t29, t30, t31, t32, t33, t34, t35, t36, t37, t38) instance (PQFormat t1, PQFormat t2, PQFormat t3, PQFormat t4, PQFormat t5, PQFormat t6, PQFormat t7, PQFormat t8, PQFormat t9, PQFormat t10, PQFormat t11, PQFormat t12, PQFormat t13, PQFormat t14, PQFormat t15, PQFormat t16, PQFormat t17, PQFormat t18, PQFormat t19, PQFormat t20, PQFormat t21, PQFormat t22, PQFormat t23, PQFormat t24, PQFormat t25, PQFormat t26, PQFormat t27, PQFormat t28, PQFormat t29, PQFormat t30, PQFormat t31, PQFormat t32, PQFormat t33, PQFormat t34, PQFormat t35, PQFormat t36, PQFormat t37) => PQFormat (t1, t2, t3, t4, t5, t6, t7, t8, t9, t10, t11, t12, t13, t14, t15, t16, t17, t18, t19, t20, t21, t22, t23, t24, t25, t26, t27, t28, t29, t30, t31, t32, t33, t34, t35, t36, t37) instance (PQFormat t1, PQFormat t2, PQFormat t3, PQFormat t4, PQFormat t5, PQFormat t6, PQFormat t7, PQFormat t8, PQFormat t9, PQFormat t10, PQFormat t11, PQFormat t12, PQFormat t13, PQFormat t14, PQFormat t15, PQFormat t16, PQFormat t17, PQFormat t18, PQFormat t19, PQFormat t20, PQFormat t21, PQFormat t22, PQFormat t23, PQFormat t24, PQFormat t25, PQFormat t26, PQFormat t27, PQFormat t28, PQFormat t29, PQFormat t30, PQFormat t31, PQFormat t32, PQFormat t33, PQFormat t34, PQFormat t35, PQFormat t36) => PQFormat (t1, t2, t3, t4, t5, t6, t7, t8, t9, t10, t11, t12, t13, t14, t15, t16, t17, t18, t19, t20, t21, t22, t23, t24, t25, t26, t27, t28, t29, t30, t31, t32, t33, t34, t35, t36) instance (PQFormat t1, PQFormat t2, PQFormat t3, PQFormat t4, PQFormat t5, PQFormat t6, PQFormat t7, PQFormat t8, PQFormat t9, PQFormat t10, PQFormat t11, PQFormat t12, PQFormat t13, PQFormat t14, PQFormat t15, PQFormat t16, PQFormat t17, PQFormat t18, PQFormat t19, PQFormat t20, PQFormat t21, PQFormat t22, PQFormat t23, PQFormat t24, PQFormat t25, PQFormat t26, PQFormat t27, PQFormat t28, PQFormat t29, PQFormat t30, PQFormat t31, PQFormat t32, PQFormat t33, PQFormat t34, PQFormat t35) => PQFormat (t1, t2, t3, t4, t5, t6, t7, t8, t9, t10, t11, t12, t13, t14, t15, t16, t17, t18, t19, t20, t21, t22, t23, t24, t25, t26, t27, t28, t29, t30, t31, t32, t33, t34, t35) instance (PQFormat t1, PQFormat t2, PQFormat t3, PQFormat t4, PQFormat t5, PQFormat t6, PQFormat t7, PQFormat t8, PQFormat t9, PQFormat t10, PQFormat t11, PQFormat t12, PQFormat t13, PQFormat t14, PQFormat t15, PQFormat t16, PQFormat t17, PQFormat t18, PQFormat t19, PQFormat t20, PQFormat t21, PQFormat t22, PQFormat t23, PQFormat t24, PQFormat t25, PQFormat t26, PQFormat t27, PQFormat t28, PQFormat t29, PQFormat t30, PQFormat t31, PQFormat t32, PQFormat t33, PQFormat t34) => PQFormat (t1, t2, t3, t4, t5, t6, t7, t8, t9, t10, t11, t12, t13, t14, t15, t16, t17, t18, t19, t20, t21, t22, t23, t24, t25, t26, t27, t28, t29, t30, t31, t32, t33, t34) instance (PQFormat t1, PQFormat t2, PQFormat t3, PQFormat t4, PQFormat t5, PQFormat t6, PQFormat t7, PQFormat t8, PQFormat t9, PQFormat t10, PQFormat t11, PQFormat t12, PQFormat t13, PQFormat t14, PQFormat t15, PQFormat t16, PQFormat t17, PQFormat t18, PQFormat t19, PQFormat t20, PQFormat t21, PQFormat t22, PQFormat t23, PQFormat t24, PQFormat t25, PQFormat t26, PQFormat t27, PQFormat t28, PQFormat t29, PQFormat t30, PQFormat t31, PQFormat t32, PQFormat t33) => PQFormat (t1, t2, t3, t4, t5, t6, t7, t8, t9, t10, t11, t12, t13, t14, t15, t16, t17, t18, t19, t20, t21, t22, t23, t24, t25, t26, t27, t28, t29, t30, t31, t32, t33) instance (PQFormat t1, PQFormat t2, PQFormat t3, PQFormat t4, PQFormat t5, PQFormat t6, PQFormat t7, PQFormat t8, PQFormat t9, PQFormat t10, PQFormat t11, PQFormat t12, PQFormat t13, PQFormat t14, PQFormat t15, PQFormat t16, PQFormat t17, PQFormat t18, PQFormat t19, PQFormat t20, PQFormat t21, PQFormat t22, PQFormat t23, PQFormat t24, PQFormat t25, PQFormat t26, PQFormat t27, PQFormat t28, PQFormat t29, PQFormat t30, PQFormat t31, PQFormat t32) => PQFormat (t1, t2, t3, t4, t5, t6, t7, t8, t9, t10, t11, t12, t13, t14, t15, t16, t17, t18, t19, t20, t21, t22, t23, t24, t25, t26, t27, t28, t29, t30, t31, t32) instance (PQFormat t1, PQFormat t2, PQFormat t3, PQFormat t4, PQFormat t5, PQFormat t6, PQFormat t7, PQFormat t8, PQFormat t9, PQFormat t10, PQFormat t11, PQFormat t12, PQFormat t13, PQFormat t14, PQFormat t15, PQFormat t16, PQFormat t17, PQFormat t18, PQFormat t19, PQFormat t20, PQFormat t21, PQFormat t22, PQFormat t23, PQFormat t24, PQFormat t25, PQFormat t26, PQFormat t27, PQFormat t28, PQFormat t29, PQFormat t30, PQFormat t31) => PQFormat (t1, t2, t3, t4, t5, t6, t7, t8, t9, t10, t11, t12, t13, t14, t15, t16, t17, t18, t19, t20, t21, t22, t23, t24, t25, t26, t27, t28, t29, t30, t31) instance (PQFormat t1, PQFormat t2, PQFormat t3, PQFormat t4, PQFormat t5, PQFormat t6, PQFormat t7, PQFormat t8, PQFormat t9, PQFormat t10, PQFormat t11, PQFormat t12, PQFormat t13, PQFormat t14, PQFormat t15, PQFormat t16, PQFormat t17, PQFormat t18, PQFormat t19, PQFormat t20, PQFormat t21, PQFormat t22, PQFormat t23, PQFormat t24, PQFormat t25, PQFormat t26, PQFormat t27, PQFormat t28, PQFormat t29, PQFormat t30) => PQFormat (t1, t2, t3, t4, t5, t6, t7, t8, t9, t10, t11, t12, t13, t14, t15, t16, t17, t18, t19, t20, t21, t22, t23, t24, t25, t26, t27, t28, t29, t30) instance (PQFormat t1, PQFormat t2, PQFormat t3, PQFormat t4, PQFormat t5, PQFormat t6, PQFormat t7, PQFormat t8, PQFormat t9, PQFormat t10, PQFormat t11, PQFormat t12, PQFormat t13, PQFormat t14, PQFormat t15, PQFormat t16, PQFormat t17, PQFormat t18, PQFormat t19, PQFormat t20, PQFormat t21, PQFormat t22, PQFormat t23, PQFormat t24, PQFormat t25, PQFormat t26, PQFormat t27, PQFormat t28, PQFormat t29) => PQFormat (t1, t2, t3, t4, t5, t6, t7, t8, t9, t10, t11, t12, t13, t14, t15, t16, t17, t18, t19, t20, t21, t22, t23, t24, t25, t26, t27, t28, t29) instance (PQFormat t1, PQFormat t2, PQFormat t3, PQFormat t4, PQFormat t5, PQFormat t6, PQFormat t7, PQFormat t8, PQFormat t9, PQFormat t10, PQFormat t11, PQFormat t12, PQFormat t13, PQFormat t14, PQFormat t15, PQFormat t16, PQFormat t17, PQFormat t18, PQFormat t19, PQFormat t20, PQFormat t21, PQFormat t22, PQFormat t23, PQFormat t24, PQFormat t25, PQFormat t26, PQFormat t27, PQFormat t28) => PQFormat (t1, t2, t3, t4, t5, t6, t7, t8, t9, t10, t11, t12, t13, t14, t15, t16, t17, t18, t19, t20, t21, t22, t23, t24, t25, t26, t27, t28) instance (PQFormat t1, PQFormat t2, PQFormat t3, PQFormat t4, PQFormat t5, PQFormat t6, PQFormat t7, PQFormat t8, PQFormat t9, PQFormat t10, PQFormat t11, PQFormat t12, PQFormat t13, PQFormat t14, PQFormat t15, PQFormat t16, PQFormat t17, PQFormat t18, PQFormat t19, PQFormat t20, PQFormat t21, PQFormat t22, PQFormat t23, PQFormat t24, PQFormat t25, PQFormat t26, PQFormat t27) => PQFormat (t1, t2, t3, t4, t5, t6, t7, t8, t9, t10, t11, t12, t13, t14, t15, t16, t17, t18, t19, t20, t21, t22, t23, t24, t25, t26, t27) instance (PQFormat t1, PQFormat t2, PQFormat t3, PQFormat t4, PQFormat t5, PQFormat t6, PQFormat t7, PQFormat t8, PQFormat t9, PQFormat t10, PQFormat t11, PQFormat t12, PQFormat t13, PQFormat t14, PQFormat t15, PQFormat t16, PQFormat t17, PQFormat t18, PQFormat t19, PQFormat t20, PQFormat t21, PQFormat t22, PQFormat t23, PQFormat t24, PQFormat t25, PQFormat t26) => PQFormat (t1, t2, t3, t4, t5, t6, t7, t8, t9, t10, t11, t12, t13, t14, t15, t16, t17, t18, t19, t20, t21, t22, t23, t24, t25, t26) instance (PQFormat t1, PQFormat t2, PQFormat t3, PQFormat t4, PQFormat t5, PQFormat t6, PQFormat t7, PQFormat t8, PQFormat t9, PQFormat t10, PQFormat t11, PQFormat t12, PQFormat t13, PQFormat t14, PQFormat t15, PQFormat t16, PQFormat t17, PQFormat t18, PQFormat t19, PQFormat t20, PQFormat t21, PQFormat t22, PQFormat t23, PQFormat t24, PQFormat t25) => PQFormat (t1, t2, t3, t4, t5, t6, t7, t8, t9, t10, t11, t12, t13, t14, t15, t16, t17, t18, t19, t20, t21, t22, t23, t24, t25) instance (PQFormat t1, PQFormat t2, PQFormat t3, PQFormat t4, PQFormat t5, PQFormat t6, PQFormat t7, PQFormat t8, PQFormat t9, PQFormat t10, PQFormat t11, PQFormat t12, PQFormat t13, PQFormat t14, PQFormat t15, PQFormat t16, PQFormat t17, PQFormat t18, PQFormat t19, PQFormat t20, PQFormat t21, PQFormat t22, PQFormat t23, PQFormat t24) => PQFormat (t1, t2, t3, t4, t5, t6, t7, t8, t9, t10, t11, t12, t13, t14, t15, t16, t17, t18, t19, t20, t21, t22, t23, t24) instance (PQFormat t1, PQFormat t2, PQFormat t3, PQFormat t4, PQFormat t5, PQFormat t6, PQFormat t7, PQFormat t8, PQFormat t9, PQFormat t10, PQFormat t11, PQFormat t12, PQFormat t13, PQFormat t14, PQFormat t15, PQFormat t16, PQFormat t17, PQFormat t18, PQFormat t19, PQFormat t20, PQFormat t21, PQFormat t22, PQFormat t23) => PQFormat (t1, t2, t3, t4, t5, t6, t7, t8, t9, t10, t11, t12, t13, t14, t15, t16, t17, t18, t19, t20, t21, t22, t23) instance (PQFormat t1, PQFormat t2, PQFormat t3, PQFormat t4, PQFormat t5, PQFormat t6, PQFormat t7, PQFormat t8, PQFormat t9, PQFormat t10, PQFormat t11, PQFormat t12, PQFormat t13, PQFormat t14, PQFormat t15, PQFormat t16, PQFormat t17, PQFormat t18, PQFormat t19, PQFormat t20, PQFormat t21, PQFormat t22) => PQFormat (t1, t2, t3, t4, t5, t6, t7, t8, t9, t10, t11, t12, t13, t14, t15, t16, t17, t18, t19, t20, t21, t22) instance (PQFormat t1, PQFormat t2, PQFormat t3, PQFormat t4, PQFormat t5, PQFormat t6, PQFormat t7, PQFormat t8, PQFormat t9, PQFormat t10, PQFormat t11, PQFormat t12, PQFormat t13, PQFormat t14, PQFormat t15, PQFormat t16, PQFormat t17, PQFormat t18, PQFormat t19, PQFormat t20, PQFormat t21) => PQFormat (t1, t2, t3, t4, t5, t6, t7, t8, t9, t10, t11, t12, t13, t14, t15, t16, t17, t18, t19, t20, t21) instance (PQFormat t1, PQFormat t2, PQFormat t3, PQFormat t4, PQFormat t5, PQFormat t6, PQFormat t7, PQFormat t8, PQFormat t9, PQFormat t10, PQFormat t11, PQFormat t12, PQFormat t13, PQFormat t14, PQFormat t15, PQFormat t16, PQFormat t17, PQFormat t18, PQFormat t19, PQFormat t20) => PQFormat (t1, t2, t3, t4, t5, t6, t7, t8, t9, t10, t11, t12, t13, t14, t15, t16, t17, t18, t19, t20) instance (PQFormat t1, PQFormat t2, PQFormat t3, PQFormat t4, PQFormat t5, PQFormat t6, PQFormat t7, PQFormat t8, PQFormat t9, PQFormat t10, PQFormat t11, PQFormat t12, PQFormat t13, PQFormat t14, PQFormat t15, PQFormat t16, PQFormat t17, PQFormat t18, PQFormat t19) => PQFormat (t1, t2, t3, t4, t5, t6, t7, t8, t9, t10, t11, t12, t13, t14, t15, t16, t17, t18, t19) instance (PQFormat t1, PQFormat t2, PQFormat t3, PQFormat t4, PQFormat t5, PQFormat t6, PQFormat t7, PQFormat t8, PQFormat t9, PQFormat t10, PQFormat t11, PQFormat t12, PQFormat t13, PQFormat t14, PQFormat t15, PQFormat t16, PQFormat t17, PQFormat t18) => PQFormat (t1, t2, t3, t4, t5, t6, t7, t8, t9, t10, t11, t12, t13, t14, t15, t16, t17, t18) instance (PQFormat t1, PQFormat t2, PQFormat t3, PQFormat t4, PQFormat t5, PQFormat t6, PQFormat t7, PQFormat t8, PQFormat t9, PQFormat t10, PQFormat t11, PQFormat t12, PQFormat t13, PQFormat t14, PQFormat t15, PQFormat t16, PQFormat t17) => PQFormat (t1, t2, t3, t4, t5, t6, t7, t8, t9, t10, t11, t12, t13, t14, t15, t16, t17) instance (PQFormat t1, PQFormat t2, PQFormat t3, PQFormat t4, PQFormat t5, PQFormat t6, PQFormat t7, PQFormat t8, PQFormat t9, PQFormat t10, PQFormat t11, PQFormat t12, PQFormat t13, PQFormat t14, PQFormat t15, PQFormat t16) => PQFormat (t1, t2, t3, t4, t5, t6, t7, t8, t9, t10, t11, t12, t13, t14, t15, t16) instance (PQFormat t1, PQFormat t2, PQFormat t3, PQFormat t4, PQFormat t5, PQFormat t6, PQFormat t7, PQFormat t8, PQFormat t9, PQFormat t10, PQFormat t11, PQFormat t12, PQFormat t13, PQFormat t14, PQFormat t15) => PQFormat (t1, t2, t3, t4, t5, t6, t7, t8, t9, t10, t11, t12, t13, t14, t15) instance (PQFormat t1, PQFormat t2, PQFormat t3, PQFormat t4, PQFormat t5, PQFormat t6, PQFormat t7, PQFormat t8, PQFormat t9, PQFormat t10, PQFormat t11, PQFormat t12, PQFormat t13, PQFormat t14) => PQFormat (t1, t2, t3, t4, t5, t6, t7, t8, t9, t10, t11, t12, t13, t14) instance (PQFormat t1, PQFormat t2, PQFormat t3, PQFormat t4, PQFormat t5, PQFormat t6, PQFormat t7, PQFormat t8, PQFormat t9, PQFormat t10, PQFormat t11, PQFormat t12, PQFormat t13) => PQFormat (t1, t2, t3, t4, t5, t6, t7, t8, t9, t10, t11, t12, t13) instance (PQFormat t1, PQFormat t2, PQFormat t3, PQFormat t4, PQFormat t5, PQFormat t6, PQFormat t7, PQFormat t8, PQFormat t9, PQFormat t10, PQFormat t11, PQFormat t12) => PQFormat (t1, t2, t3, t4, t5, t6, t7, t8, t9, t10, t11, t12) instance (PQFormat t1, PQFormat t2, PQFormat t3, PQFormat t4, PQFormat t5, PQFormat t6, PQFormat t7, PQFormat t8, PQFormat t9, PQFormat t10, PQFormat t11) => PQFormat (t1, t2, t3, t4, t5, t6, t7, t8, t9, t10, t11) instance (PQFormat t1, PQFormat t2, PQFormat t3, PQFormat t4, PQFormat t5, PQFormat t6, PQFormat t7, PQFormat t8, PQFormat t9, PQFormat t10) => PQFormat (t1, t2, t3, t4, t5, t6, t7, t8, t9, t10) instance (PQFormat t1, PQFormat t2, PQFormat t3, PQFormat t4, PQFormat t5, PQFormat t6, PQFormat t7, PQFormat t8, PQFormat t9) => PQFormat (t1, t2, t3, t4, t5, t6, t7, t8, t9) instance (PQFormat t1, PQFormat t2, PQFormat t3, PQFormat t4, PQFormat t5, PQFormat t6, PQFormat t7, PQFormat t8) => PQFormat (t1, t2, t3, t4, t5, t6, t7, t8) instance (PQFormat t1, PQFormat t2, PQFormat t3, PQFormat t4, PQFormat t5, PQFormat t6, PQFormat t7) => PQFormat (t1, t2, t3, t4, t5, t6, t7) instance (PQFormat t1, PQFormat t2, PQFormat t3, PQFormat t4, PQFormat t5, PQFormat t6) => PQFormat (t1, t2, t3, t4, t5, t6) instance (PQFormat t1, PQFormat t2, PQFormat t3, PQFormat t4, PQFormat t5) => PQFormat (t1, t2, t3, t4, t5) instance (PQFormat t1, PQFormat t2, PQFormat t3, PQFormat t4) => PQFormat (t1, t2, t3, t4) instance (PQFormat t1, PQFormat t2, PQFormat t3) => PQFormat (t1, t2, t3) instance (PQFormat t1, PQFormat t2) => PQFormat (t1, t2) instance PQFormat () instance PQFormat Bool instance PQFormat ZonedTime instance PQFormat UTCTime instance PQFormat LocalTime instance PQFormat TimeOfDay instance PQFormat Day instance PQFormat Text instance PQFormat ByteString instance PQFormat String instance PQFormat Word8 instance PQFormat Char instance PQFormat Double instance PQFormat Float instance PQFormat Int64 instance PQFormat Int32 instance PQFormat Int16 instance PQFormat t => PQFormat (Maybe t) module Database.PostgreSQL.PQTypes.FromSQL -- | Class which represents "from SQL (libpqtypes) type to Haskell type" -- transformation. class (PQFormat t, Storable (PQBase t)) => FromSQL t where type family PQBase t :: * fromSQL :: FromSQL t => Maybe (PQBase t) -> IO t instance FromSQL Bool instance FromSQL ZonedTime instance FromSQL UTCTime instance FromSQL LocalTime instance FromSQL TimeOfDay instance FromSQL Day instance FromSQL String instance FromSQL Text instance FromSQL ByteString instance FromSQL Word8 instance FromSQL Char instance FromSQL Double instance FromSQL Float instance FromSQL Int64 instance FromSQL Int32 instance FromSQL Int16 instance FromSQL t => FromSQL (Maybe t) module Database.PostgreSQL.PQTypes.Single -- | Representation of "single element tuple", used to avoid resorting to -- usage of OverlappingInstances. newtype Single a Single :: a -> Single a -- | Extract underlying value. unSingle :: Single a -> a instance Typeable Single instance Eq a => Eq (Single a) instance Functor Single instance Ord a => Ord (Single a) instance Show a => Show (Single a) instance PQFormat t => PQFormat (Single t) module Database.PostgreSQL.PQTypes.FromRow -- | Class which represents "from SQL row to Haskell tuple" transformation. class PQFormat row => FromRow row fromRow :: FromRow row => Ptr PGresult -> Ptr PGerror -> CInt -> CString -> IO row -- | More convenient version of fromRow that allocates -- PGerror and format string by itself. fromRow' :: FromRow row => Ptr PGresult -> CInt -> IO row instance (FromSQL t1, FromSQL t2, FromSQL t3, FromSQL t4, FromSQL t5, FromSQL t6, FromSQL t7, FromSQL t8, FromSQL t9, FromSQL t10, FromSQL t11, FromSQL t12, FromSQL t13, FromSQL t14, FromSQL t15, FromSQL t16, FromSQL t17, FromSQL t18, FromSQL t19, FromSQL t20, FromSQL t21, FromSQL t22, FromSQL t23, FromSQL t24, FromSQL t25, FromSQL t26, FromSQL t27, FromSQL t28, FromSQL t29, FromSQL t30, FromSQL t31, FromSQL t32, FromSQL t33, FromSQL t34, FromSQL t35, FromSQL t36, FromSQL t37, FromSQL t38, FromSQL t39, FromSQL t40, FromSQL t41, FromSQL t42, FromSQL t43, FromSQL t44, FromSQL t45, FromSQL t46, FromSQL t47, FromSQL t48, FromSQL t49, FromSQL t50) => FromRow (t1, t2, t3, t4, t5, t6, t7, t8, t9, t10, t11, t12, t13, t14, t15, t16, t17, t18, t19, t20, t21, t22, t23, t24, t25, t26, t27, t28, t29, t30, t31, t32, t33, t34, t35, t36, t37, t38, t39, t40, t41, t42, t43, t44, t45, t46, t47, t48, t49, t50) instance (FromSQL t1, FromSQL t2, FromSQL t3, FromSQL t4, FromSQL t5, FromSQL t6, FromSQL t7, FromSQL t8, FromSQL t9, FromSQL t10, FromSQL t11, FromSQL t12, FromSQL t13, FromSQL t14, FromSQL t15, FromSQL t16, FromSQL t17, FromSQL t18, FromSQL t19, FromSQL t20, FromSQL t21, FromSQL t22, FromSQL t23, FromSQL t24, FromSQL t25, FromSQL t26, FromSQL t27, FromSQL t28, FromSQL t29, FromSQL t30, FromSQL t31, FromSQL t32, FromSQL t33, FromSQL t34, FromSQL t35, FromSQL t36, FromSQL t37, FromSQL t38, FromSQL t39, FromSQL t40, FromSQL t41, FromSQL t42, FromSQL t43, FromSQL t44, FromSQL t45, FromSQL t46, FromSQL t47, FromSQL t48, FromSQL t49) => FromRow (t1, t2, t3, t4, t5, t6, t7, t8, t9, t10, t11, t12, t13, t14, t15, t16, t17, t18, t19, t20, t21, t22, t23, t24, t25, t26, t27, t28, t29, t30, t31, t32, t33, t34, t35, t36, t37, t38, t39, t40, t41, t42, t43, t44, t45, t46, t47, t48, t49) instance (FromSQL t1, FromSQL t2, FromSQL t3, FromSQL t4, FromSQL t5, FromSQL t6, FromSQL t7, FromSQL t8, FromSQL t9, FromSQL t10, FromSQL t11, FromSQL t12, FromSQL t13, FromSQL t14, FromSQL t15, FromSQL t16, FromSQL t17, FromSQL t18, FromSQL t19, FromSQL t20, FromSQL t21, FromSQL t22, FromSQL t23, FromSQL t24, FromSQL t25, FromSQL t26, FromSQL t27, FromSQL t28, FromSQL t29, FromSQL t30, FromSQL t31, FromSQL t32, FromSQL t33, FromSQL t34, FromSQL t35, FromSQL t36, FromSQL t37, FromSQL t38, FromSQL t39, FromSQL t40, FromSQL t41, FromSQL t42, FromSQL t43, FromSQL t44, FromSQL t45, FromSQL t46, FromSQL t47, FromSQL t48) => FromRow (t1, t2, t3, t4, t5, t6, t7, t8, t9, t10, t11, t12, t13, t14, t15, t16, t17, t18, t19, t20, t21, t22, t23, t24, t25, t26, t27, t28, t29, t30, t31, t32, t33, t34, t35, t36, t37, t38, t39, t40, t41, t42, t43, t44, t45, t46, t47, t48) instance (FromSQL t1, FromSQL t2, FromSQL t3, FromSQL t4, FromSQL t5, FromSQL t6, FromSQL t7, FromSQL t8, FromSQL t9, FromSQL t10, FromSQL t11, FromSQL t12, FromSQL t13, FromSQL t14, FromSQL t15, FromSQL t16, FromSQL t17, FromSQL t18, FromSQL t19, FromSQL t20, FromSQL t21, FromSQL t22, FromSQL t23, FromSQL t24, FromSQL t25, FromSQL t26, FromSQL t27, FromSQL t28, FromSQL t29, FromSQL t30, FromSQL t31, FromSQL t32, FromSQL t33, FromSQL t34, FromSQL t35, FromSQL t36, FromSQL t37, FromSQL t38, FromSQL t39, FromSQL t40, FromSQL t41, FromSQL t42, FromSQL t43, FromSQL t44, FromSQL t45, FromSQL t46, FromSQL t47) => FromRow (t1, t2, t3, t4, t5, t6, t7, t8, t9, t10, t11, t12, t13, t14, t15, t16, t17, t18, t19, t20, t21, t22, t23, t24, t25, t26, t27, t28, t29, t30, t31, t32, t33, t34, t35, t36, t37, t38, t39, t40, t41, t42, t43, t44, t45, t46, t47) instance (FromSQL t1, FromSQL t2, FromSQL t3, FromSQL t4, FromSQL t5, FromSQL t6, FromSQL t7, FromSQL t8, FromSQL t9, FromSQL t10, FromSQL t11, FromSQL t12, FromSQL t13, FromSQL t14, FromSQL t15, FromSQL t16, FromSQL t17, FromSQL t18, FromSQL t19, FromSQL t20, FromSQL t21, FromSQL t22, FromSQL t23, FromSQL t24, FromSQL t25, FromSQL t26, FromSQL t27, FromSQL t28, FromSQL t29, FromSQL t30, FromSQL t31, FromSQL t32, FromSQL t33, FromSQL t34, FromSQL t35, FromSQL t36, FromSQL t37, FromSQL t38, FromSQL t39, FromSQL t40, FromSQL t41, FromSQL t42, FromSQL t43, FromSQL t44, FromSQL t45, FromSQL t46) => FromRow (t1, t2, t3, t4, t5, t6, t7, t8, t9, t10, t11, t12, t13, t14, t15, t16, t17, t18, t19, t20, t21, t22, t23, t24, t25, t26, t27, t28, t29, t30, t31, t32, t33, t34, t35, t36, t37, t38, t39, t40, t41, t42, t43, t44, t45, t46) instance (FromSQL t1, FromSQL t2, FromSQL t3, FromSQL t4, FromSQL t5, FromSQL t6, FromSQL t7, FromSQL t8, FromSQL t9, FromSQL t10, FromSQL t11, FromSQL t12, FromSQL t13, FromSQL t14, FromSQL t15, FromSQL t16, FromSQL t17, FromSQL t18, FromSQL t19, FromSQL t20, FromSQL t21, FromSQL t22, FromSQL t23, FromSQL t24, FromSQL t25, FromSQL t26, FromSQL t27, FromSQL t28, FromSQL t29, FromSQL t30, FromSQL t31, FromSQL t32, FromSQL t33, FromSQL t34, FromSQL t35, FromSQL t36, FromSQL t37, FromSQL t38, FromSQL t39, FromSQL t40, FromSQL t41, FromSQL t42, FromSQL t43, FromSQL t44, FromSQL t45) => FromRow (t1, t2, t3, t4, t5, t6, t7, t8, t9, t10, t11, t12, t13, t14, t15, t16, t17, t18, t19, t20, t21, t22, t23, t24, t25, t26, t27, t28, t29, t30, t31, t32, t33, t34, t35, t36, t37, t38, t39, t40, t41, t42, t43, t44, t45) instance (FromSQL t1, FromSQL t2, FromSQL t3, FromSQL t4, FromSQL t5, FromSQL t6, FromSQL t7, FromSQL t8, FromSQL t9, FromSQL t10, FromSQL t11, FromSQL t12, FromSQL t13, FromSQL t14, FromSQL t15, FromSQL t16, FromSQL t17, FromSQL t18, FromSQL t19, FromSQL t20, FromSQL t21, FromSQL t22, FromSQL t23, FromSQL t24, FromSQL t25, FromSQL t26, FromSQL t27, FromSQL t28, FromSQL t29, FromSQL t30, FromSQL t31, FromSQL t32, FromSQL t33, FromSQL t34, FromSQL t35, FromSQL t36, FromSQL t37, FromSQL t38, FromSQL t39, FromSQL t40, FromSQL t41, FromSQL t42, FromSQL t43, FromSQL t44) => FromRow (t1, t2, t3, t4, t5, t6, t7, t8, t9, t10, t11, t12, t13, t14, t15, t16, t17, t18, t19, t20, t21, t22, t23, t24, t25, t26, t27, t28, t29, t30, t31, t32, t33, t34, t35, t36, t37, t38, t39, t40, t41, t42, t43, t44) instance (FromSQL t1, FromSQL t2, FromSQL t3, FromSQL t4, FromSQL t5, FromSQL t6, FromSQL t7, FromSQL t8, FromSQL t9, FromSQL t10, FromSQL t11, FromSQL t12, FromSQL t13, FromSQL t14, FromSQL t15, FromSQL t16, FromSQL t17, FromSQL t18, FromSQL t19, FromSQL t20, FromSQL t21, FromSQL t22, FromSQL t23, FromSQL t24, FromSQL t25, FromSQL t26, FromSQL t27, FromSQL t28, FromSQL t29, FromSQL t30, FromSQL t31, FromSQL t32, FromSQL t33, FromSQL t34, FromSQL t35, FromSQL t36, FromSQL t37, FromSQL t38, FromSQL t39, FromSQL t40, FromSQL t41, FromSQL t42, FromSQL t43) => FromRow (t1, t2, t3, t4, t5, t6, t7, t8, t9, t10, t11, t12, t13, t14, t15, t16, t17, t18, t19, t20, t21, t22, t23, t24, t25, t26, t27, t28, t29, t30, t31, t32, t33, t34, t35, t36, t37, t38, t39, t40, t41, t42, t43) instance (FromSQL t1, FromSQL t2, FromSQL t3, FromSQL t4, FromSQL t5, FromSQL t6, FromSQL t7, FromSQL t8, FromSQL t9, FromSQL t10, FromSQL t11, FromSQL t12, FromSQL t13, FromSQL t14, FromSQL t15, FromSQL t16, FromSQL t17, FromSQL t18, FromSQL t19, FromSQL t20, FromSQL t21, FromSQL t22, FromSQL t23, FromSQL t24, FromSQL t25, FromSQL t26, FromSQL t27, FromSQL t28, FromSQL t29, FromSQL t30, FromSQL t31, FromSQL t32, FromSQL t33, FromSQL t34, FromSQL t35, FromSQL t36, FromSQL t37, FromSQL t38, FromSQL t39, FromSQL t40, FromSQL t41, FromSQL t42) => FromRow (t1, t2, t3, t4, t5, t6, t7, t8, t9, t10, t11, t12, t13, t14, t15, t16, t17, t18, t19, t20, t21, t22, t23, t24, t25, t26, t27, t28, t29, t30, t31, t32, t33, t34, t35, t36, t37, t38, t39, t40, t41, t42) instance (FromSQL t1, FromSQL t2, FromSQL t3, FromSQL t4, FromSQL t5, FromSQL t6, FromSQL t7, FromSQL t8, FromSQL t9, FromSQL t10, FromSQL t11, FromSQL t12, FromSQL t13, FromSQL t14, FromSQL t15, FromSQL t16, FromSQL t17, FromSQL t18, FromSQL t19, FromSQL t20, FromSQL t21, FromSQL t22, FromSQL t23, FromSQL t24, FromSQL t25, FromSQL t26, FromSQL t27, FromSQL t28, FromSQL t29, FromSQL t30, FromSQL t31, FromSQL t32, FromSQL t33, FromSQL t34, FromSQL t35, FromSQL t36, FromSQL t37, FromSQL t38, FromSQL t39, FromSQL t40, FromSQL t41) => FromRow (t1, t2, t3, t4, t5, t6, t7, t8, t9, t10, t11, t12, t13, t14, t15, t16, t17, t18, t19, t20, t21, t22, t23, t24, t25, t26, t27, t28, t29, t30, t31, t32, t33, t34, t35, t36, t37, t38, t39, t40, t41) instance (FromSQL t1, FromSQL t2, FromSQL t3, FromSQL t4, FromSQL t5, FromSQL t6, FromSQL t7, FromSQL t8, FromSQL t9, FromSQL t10, FromSQL t11, FromSQL t12, FromSQL t13, FromSQL t14, FromSQL t15, FromSQL t16, FromSQL t17, FromSQL t18, FromSQL t19, FromSQL t20, FromSQL t21, FromSQL t22, FromSQL t23, FromSQL t24, FromSQL t25, FromSQL t26, FromSQL t27, FromSQL t28, FromSQL t29, FromSQL t30, FromSQL t31, FromSQL t32, FromSQL t33, FromSQL t34, FromSQL t35, FromSQL t36, FromSQL t37, FromSQL t38, FromSQL t39, FromSQL t40) => FromRow (t1, t2, t3, t4, t5, t6, t7, t8, t9, t10, t11, t12, t13, t14, t15, t16, t17, t18, t19, t20, t21, t22, t23, t24, t25, t26, t27, t28, t29, t30, t31, t32, t33, t34, t35, t36, t37, t38, t39, t40) instance (FromSQL t1, FromSQL t2, FromSQL t3, FromSQL t4, FromSQL t5, FromSQL t6, FromSQL t7, FromSQL t8, FromSQL t9, FromSQL t10, FromSQL t11, FromSQL t12, FromSQL t13, FromSQL t14, FromSQL t15, FromSQL t16, FromSQL t17, FromSQL t18, FromSQL t19, FromSQL t20, FromSQL t21, FromSQL t22, FromSQL t23, FromSQL t24, FromSQL t25, FromSQL t26, FromSQL t27, FromSQL t28, FromSQL t29, FromSQL t30, FromSQL t31, FromSQL t32, FromSQL t33, FromSQL t34, FromSQL t35, FromSQL t36, FromSQL t37, FromSQL t38, FromSQL t39) => FromRow (t1, t2, t3, t4, t5, t6, t7, t8, t9, t10, t11, t12, t13, t14, t15, t16, t17, t18, t19, t20, t21, t22, t23, t24, t25, t26, t27, t28, t29, t30, t31, t32, t33, t34, t35, t36, t37, t38, t39) instance (FromSQL t1, FromSQL t2, FromSQL t3, FromSQL t4, FromSQL t5, FromSQL t6, FromSQL t7, FromSQL t8, FromSQL t9, FromSQL t10, FromSQL t11, FromSQL t12, FromSQL t13, FromSQL t14, FromSQL t15, FromSQL t16, FromSQL t17, FromSQL t18, FromSQL t19, FromSQL t20, FromSQL t21, FromSQL t22, FromSQL t23, FromSQL t24, FromSQL t25, FromSQL t26, FromSQL t27, FromSQL t28, FromSQL t29, FromSQL t30, FromSQL t31, FromSQL t32, FromSQL t33, FromSQL t34, FromSQL t35, FromSQL t36, FromSQL t37, FromSQL t38) => FromRow (t1, t2, t3, t4, t5, t6, t7, t8, t9, t10, t11, t12, t13, t14, t15, t16, t17, t18, t19, t20, t21, t22, t23, t24, t25, t26, t27, t28, t29, t30, t31, t32, t33, t34, t35, t36, t37, t38) instance (FromSQL t1, FromSQL t2, FromSQL t3, FromSQL t4, FromSQL t5, FromSQL t6, FromSQL t7, FromSQL t8, FromSQL t9, FromSQL t10, FromSQL t11, FromSQL t12, FromSQL t13, FromSQL t14, FromSQL t15, FromSQL t16, FromSQL t17, FromSQL t18, FromSQL t19, FromSQL t20, FromSQL t21, FromSQL t22, FromSQL t23, FromSQL t24, FromSQL t25, FromSQL t26, FromSQL t27, FromSQL t28, FromSQL t29, FromSQL t30, FromSQL t31, FromSQL t32, FromSQL t33, FromSQL t34, FromSQL t35, FromSQL t36, FromSQL t37) => FromRow (t1, t2, t3, t4, t5, t6, t7, t8, t9, t10, t11, t12, t13, t14, t15, t16, t17, t18, t19, t20, t21, t22, t23, t24, t25, t26, t27, t28, t29, t30, t31, t32, t33, t34, t35, t36, t37) instance (FromSQL t1, FromSQL t2, FromSQL t3, FromSQL t4, FromSQL t5, FromSQL t6, FromSQL t7, FromSQL t8, FromSQL t9, FromSQL t10, FromSQL t11, FromSQL t12, FromSQL t13, FromSQL t14, FromSQL t15, FromSQL t16, FromSQL t17, FromSQL t18, FromSQL t19, FromSQL t20, FromSQL t21, FromSQL t22, FromSQL t23, FromSQL t24, FromSQL t25, FromSQL t26, FromSQL t27, FromSQL t28, FromSQL t29, FromSQL t30, FromSQL t31, FromSQL t32, FromSQL t33, FromSQL t34, FromSQL t35, FromSQL t36) => FromRow (t1, t2, t3, t4, t5, t6, t7, t8, t9, t10, t11, t12, t13, t14, t15, t16, t17, t18, t19, t20, t21, t22, t23, t24, t25, t26, t27, t28, t29, t30, t31, t32, t33, t34, t35, t36) instance (FromSQL t1, FromSQL t2, FromSQL t3, FromSQL t4, FromSQL t5, FromSQL t6, FromSQL t7, FromSQL t8, FromSQL t9, FromSQL t10, FromSQL t11, FromSQL t12, FromSQL t13, FromSQL t14, FromSQL t15, FromSQL t16, FromSQL t17, FromSQL t18, FromSQL t19, FromSQL t20, FromSQL t21, FromSQL t22, FromSQL t23, FromSQL t24, FromSQL t25, FromSQL t26, FromSQL t27, FromSQL t28, FromSQL t29, FromSQL t30, FromSQL t31, FromSQL t32, FromSQL t33, FromSQL t34, FromSQL t35) => FromRow (t1, t2, t3, t4, t5, t6, t7, t8, t9, t10, t11, t12, t13, t14, t15, t16, t17, t18, t19, t20, t21, t22, t23, t24, t25, t26, t27, t28, t29, t30, t31, t32, t33, t34, t35) instance (FromSQL t1, FromSQL t2, FromSQL t3, FromSQL t4, FromSQL t5, FromSQL t6, FromSQL t7, FromSQL t8, FromSQL t9, FromSQL t10, FromSQL t11, FromSQL t12, FromSQL t13, FromSQL t14, FromSQL t15, FromSQL t16, FromSQL t17, FromSQL t18, FromSQL t19, FromSQL t20, FromSQL t21, FromSQL t22, FromSQL t23, FromSQL t24, FromSQL t25, FromSQL t26, FromSQL t27, FromSQL t28, FromSQL t29, FromSQL t30, FromSQL t31, FromSQL t32, FromSQL t33, FromSQL t34) => FromRow (t1, t2, t3, t4, t5, t6, t7, t8, t9, t10, t11, t12, t13, t14, t15, t16, t17, t18, t19, t20, t21, t22, t23, t24, t25, t26, t27, t28, t29, t30, t31, t32, t33, t34) instance (FromSQL t1, FromSQL t2, FromSQL t3, FromSQL t4, FromSQL t5, FromSQL t6, FromSQL t7, FromSQL t8, FromSQL t9, FromSQL t10, FromSQL t11, FromSQL t12, FromSQL t13, FromSQL t14, FromSQL t15, FromSQL t16, FromSQL t17, FromSQL t18, FromSQL t19, FromSQL t20, FromSQL t21, FromSQL t22, FromSQL t23, FromSQL t24, FromSQL t25, FromSQL t26, FromSQL t27, FromSQL t28, FromSQL t29, FromSQL t30, FromSQL t31, FromSQL t32, FromSQL t33) => FromRow (t1, t2, t3, t4, t5, t6, t7, t8, t9, t10, t11, t12, t13, t14, t15, t16, t17, t18, t19, t20, t21, t22, t23, t24, t25, t26, t27, t28, t29, t30, t31, t32, t33) instance (FromSQL t1, FromSQL t2, FromSQL t3, FromSQL t4, FromSQL t5, FromSQL t6, FromSQL t7, FromSQL t8, FromSQL t9, FromSQL t10, FromSQL t11, FromSQL t12, FromSQL t13, FromSQL t14, FromSQL t15, FromSQL t16, FromSQL t17, FromSQL t18, FromSQL t19, FromSQL t20, FromSQL t21, FromSQL t22, FromSQL t23, FromSQL t24, FromSQL t25, FromSQL t26, FromSQL t27, FromSQL t28, FromSQL t29, FromSQL t30, FromSQL t31, FromSQL t32) => FromRow (t1, t2, t3, t4, t5, t6, t7, t8, t9, t10, t11, t12, t13, t14, t15, t16, t17, t18, t19, t20, t21, t22, t23, t24, t25, t26, t27, t28, t29, t30, t31, t32) instance (FromSQL t1, FromSQL t2, FromSQL t3, FromSQL t4, FromSQL t5, FromSQL t6, FromSQL t7, FromSQL t8, FromSQL t9, FromSQL t10, FromSQL t11, FromSQL t12, FromSQL t13, FromSQL t14, FromSQL t15, FromSQL t16, FromSQL t17, FromSQL t18, FromSQL t19, FromSQL t20, FromSQL t21, FromSQL t22, FromSQL t23, FromSQL t24, FromSQL t25, FromSQL t26, FromSQL t27, FromSQL t28, FromSQL t29, FromSQL t30, FromSQL t31) => FromRow (t1, t2, t3, t4, t5, t6, t7, t8, t9, t10, t11, t12, t13, t14, t15, t16, t17, t18, t19, t20, t21, t22, t23, t24, t25, t26, t27, t28, t29, t30, t31) instance (FromSQL t1, FromSQL t2, FromSQL t3, FromSQL t4, FromSQL t5, FromSQL t6, FromSQL t7, FromSQL t8, FromSQL t9, FromSQL t10, FromSQL t11, FromSQL t12, FromSQL t13, FromSQL t14, FromSQL t15, FromSQL t16, FromSQL t17, FromSQL t18, FromSQL t19, FromSQL t20, FromSQL t21, FromSQL t22, FromSQL t23, FromSQL t24, FromSQL t25, FromSQL t26, FromSQL t27, FromSQL t28, FromSQL t29, FromSQL t30) => FromRow (t1, t2, t3, t4, t5, t6, t7, t8, t9, t10, t11, t12, t13, t14, t15, t16, t17, t18, t19, t20, t21, t22, t23, t24, t25, t26, t27, t28, t29, t30) instance (FromSQL t1, FromSQL t2, FromSQL t3, FromSQL t4, FromSQL t5, FromSQL t6, FromSQL t7, FromSQL t8, FromSQL t9, FromSQL t10, FromSQL t11, FromSQL t12, FromSQL t13, FromSQL t14, FromSQL t15, FromSQL t16, FromSQL t17, FromSQL t18, FromSQL t19, FromSQL t20, FromSQL t21, FromSQL t22, FromSQL t23, FromSQL t24, FromSQL t25, FromSQL t26, FromSQL t27, FromSQL t28, FromSQL t29) => FromRow (t1, t2, t3, t4, t5, t6, t7, t8, t9, t10, t11, t12, t13, t14, t15, t16, t17, t18, t19, t20, t21, t22, t23, t24, t25, t26, t27, t28, t29) instance (FromSQL t1, FromSQL t2, FromSQL t3, FromSQL t4, FromSQL t5, FromSQL t6, FromSQL t7, FromSQL t8, FromSQL t9, FromSQL t10, FromSQL t11, FromSQL t12, FromSQL t13, FromSQL t14, FromSQL t15, FromSQL t16, FromSQL t17, FromSQL t18, FromSQL t19, FromSQL t20, FromSQL t21, FromSQL t22, FromSQL t23, FromSQL t24, FromSQL t25, FromSQL t26, FromSQL t27, FromSQL t28) => FromRow (t1, t2, t3, t4, t5, t6, t7, t8, t9, t10, t11, t12, t13, t14, t15, t16, t17, t18, t19, t20, t21, t22, t23, t24, t25, t26, t27, t28) instance (FromSQL t1, FromSQL t2, FromSQL t3, FromSQL t4, FromSQL t5, FromSQL t6, FromSQL t7, FromSQL t8, FromSQL t9, FromSQL t10, FromSQL t11, FromSQL t12, FromSQL t13, FromSQL t14, FromSQL t15, FromSQL t16, FromSQL t17, FromSQL t18, FromSQL t19, FromSQL t20, FromSQL t21, FromSQL t22, FromSQL t23, FromSQL t24, FromSQL t25, FromSQL t26, FromSQL t27) => FromRow (t1, t2, t3, t4, t5, t6, t7, t8, t9, t10, t11, t12, t13, t14, t15, t16, t17, t18, t19, t20, t21, t22, t23, t24, t25, t26, t27) instance (FromSQL t1, FromSQL t2, FromSQL t3, FromSQL t4, FromSQL t5, FromSQL t6, FromSQL t7, FromSQL t8, FromSQL t9, FromSQL t10, FromSQL t11, FromSQL t12, FromSQL t13, FromSQL t14, FromSQL t15, FromSQL t16, FromSQL t17, FromSQL t18, FromSQL t19, FromSQL t20, FromSQL t21, FromSQL t22, FromSQL t23, FromSQL t24, FromSQL t25, FromSQL t26) => FromRow (t1, t2, t3, t4, t5, t6, t7, t8, t9, t10, t11, t12, t13, t14, t15, t16, t17, t18, t19, t20, t21, t22, t23, t24, t25, t26) instance (FromSQL t1, FromSQL t2, FromSQL t3, FromSQL t4, FromSQL t5, FromSQL t6, FromSQL t7, FromSQL t8, FromSQL t9, FromSQL t10, FromSQL t11, FromSQL t12, FromSQL t13, FromSQL t14, FromSQL t15, FromSQL t16, FromSQL t17, FromSQL t18, FromSQL t19, FromSQL t20, FromSQL t21, FromSQL t22, FromSQL t23, FromSQL t24, FromSQL t25) => FromRow (t1, t2, t3, t4, t5, t6, t7, t8, t9, t10, t11, t12, t13, t14, t15, t16, t17, t18, t19, t20, t21, t22, t23, t24, t25) instance (FromSQL t1, FromSQL t2, FromSQL t3, FromSQL t4, FromSQL t5, FromSQL t6, FromSQL t7, FromSQL t8, FromSQL t9, FromSQL t10, FromSQL t11, FromSQL t12, FromSQL t13, FromSQL t14, FromSQL t15, FromSQL t16, FromSQL t17, FromSQL t18, FromSQL t19, FromSQL t20, FromSQL t21, FromSQL t22, FromSQL t23, FromSQL t24) => FromRow (t1, t2, t3, t4, t5, t6, t7, t8, t9, t10, t11, t12, t13, t14, t15, t16, t17, t18, t19, t20, t21, t22, t23, t24) instance (FromSQL t1, FromSQL t2, FromSQL t3, FromSQL t4, FromSQL t5, FromSQL t6, FromSQL t7, FromSQL t8, FromSQL t9, FromSQL t10, FromSQL t11, FromSQL t12, FromSQL t13, FromSQL t14, FromSQL t15, FromSQL t16, FromSQL t17, FromSQL t18, FromSQL t19, FromSQL t20, FromSQL t21, FromSQL t22, FromSQL t23) => FromRow (t1, t2, t3, t4, t5, t6, t7, t8, t9, t10, t11, t12, t13, t14, t15, t16, t17, t18, t19, t20, t21, t22, t23) instance (FromSQL t1, FromSQL t2, FromSQL t3, FromSQL t4, FromSQL t5, FromSQL t6, FromSQL t7, FromSQL t8, FromSQL t9, FromSQL t10, FromSQL t11, FromSQL t12, FromSQL t13, FromSQL t14, FromSQL t15, FromSQL t16, FromSQL t17, FromSQL t18, FromSQL t19, FromSQL t20, FromSQL t21, FromSQL t22) => FromRow (t1, t2, t3, t4, t5, t6, t7, t8, t9, t10, t11, t12, t13, t14, t15, t16, t17, t18, t19, t20, t21, t22) instance (FromSQL t1, FromSQL t2, FromSQL t3, FromSQL t4, FromSQL t5, FromSQL t6, FromSQL t7, FromSQL t8, FromSQL t9, FromSQL t10, FromSQL t11, FromSQL t12, FromSQL t13, FromSQL t14, FromSQL t15, FromSQL t16, FromSQL t17, FromSQL t18, FromSQL t19, FromSQL t20, FromSQL t21) => FromRow (t1, t2, t3, t4, t5, t6, t7, t8, t9, t10, t11, t12, t13, t14, t15, t16, t17, t18, t19, t20, t21) instance (FromSQL t1, FromSQL t2, FromSQL t3, FromSQL t4, FromSQL t5, FromSQL t6, FromSQL t7, FromSQL t8, FromSQL t9, FromSQL t10, FromSQL t11, FromSQL t12, FromSQL t13, FromSQL t14, FromSQL t15, FromSQL t16, FromSQL t17, FromSQL t18, FromSQL t19, FromSQL t20) => FromRow (t1, t2, t3, t4, t5, t6, t7, t8, t9, t10, t11, t12, t13, t14, t15, t16, t17, t18, t19, t20) instance (FromSQL t1, FromSQL t2, FromSQL t3, FromSQL t4, FromSQL t5, FromSQL t6, FromSQL t7, FromSQL t8, FromSQL t9, FromSQL t10, FromSQL t11, FromSQL t12, FromSQL t13, FromSQL t14, FromSQL t15, FromSQL t16, FromSQL t17, FromSQL t18, FromSQL t19) => FromRow (t1, t2, t3, t4, t5, t6, t7, t8, t9, t10, t11, t12, t13, t14, t15, t16, t17, t18, t19) instance (FromSQL t1, FromSQL t2, FromSQL t3, FromSQL t4, FromSQL t5, FromSQL t6, FromSQL t7, FromSQL t8, FromSQL t9, FromSQL t10, FromSQL t11, FromSQL t12, FromSQL t13, FromSQL t14, FromSQL t15, FromSQL t16, FromSQL t17, FromSQL t18) => FromRow (t1, t2, t3, t4, t5, t6, t7, t8, t9, t10, t11, t12, t13, t14, t15, t16, t17, t18) instance (FromSQL t1, FromSQL t2, FromSQL t3, FromSQL t4, FromSQL t5, FromSQL t6, FromSQL t7, FromSQL t8, FromSQL t9, FromSQL t10, FromSQL t11, FromSQL t12, FromSQL t13, FromSQL t14, FromSQL t15, FromSQL t16, FromSQL t17) => FromRow (t1, t2, t3, t4, t5, t6, t7, t8, t9, t10, t11, t12, t13, t14, t15, t16, t17) instance (FromSQL t1, FromSQL t2, FromSQL t3, FromSQL t4, FromSQL t5, FromSQL t6, FromSQL t7, FromSQL t8, FromSQL t9, FromSQL t10, FromSQL t11, FromSQL t12, FromSQL t13, FromSQL t14, FromSQL t15, FromSQL t16) => FromRow (t1, t2, t3, t4, t5, t6, t7, t8, t9, t10, t11, t12, t13, t14, t15, t16) instance (FromSQL t1, FromSQL t2, FromSQL t3, FromSQL t4, FromSQL t5, FromSQL t6, FromSQL t7, FromSQL t8, FromSQL t9, FromSQL t10, FromSQL t11, FromSQL t12, FromSQL t13, FromSQL t14, FromSQL t15) => FromRow (t1, t2, t3, t4, t5, t6, t7, t8, t9, t10, t11, t12, t13, t14, t15) instance (FromSQL t1, FromSQL t2, FromSQL t3, FromSQL t4, FromSQL t5, FromSQL t6, FromSQL t7, FromSQL t8, FromSQL t9, FromSQL t10, FromSQL t11, FromSQL t12, FromSQL t13, FromSQL t14) => FromRow (t1, t2, t3, t4, t5, t6, t7, t8, t9, t10, t11, t12, t13, t14) instance (FromSQL t1, FromSQL t2, FromSQL t3, FromSQL t4, FromSQL t5, FromSQL t6, FromSQL t7, FromSQL t8, FromSQL t9, FromSQL t10, FromSQL t11, FromSQL t12, FromSQL t13) => FromRow (t1, t2, t3, t4, t5, t6, t7, t8, t9, t10, t11, t12, t13) instance (FromSQL t1, FromSQL t2, FromSQL t3, FromSQL t4, FromSQL t5, FromSQL t6, FromSQL t7, FromSQL t8, FromSQL t9, FromSQL t10, FromSQL t11, FromSQL t12) => FromRow (t1, t2, t3, t4, t5, t6, t7, t8, t9, t10, t11, t12) instance (FromSQL t1, FromSQL t2, FromSQL t3, FromSQL t4, FromSQL t5, FromSQL t6, FromSQL t7, FromSQL t8, FromSQL t9, FromSQL t10, FromSQL t11) => FromRow (t1, t2, t3, t4, t5, t6, t7, t8, t9, t10, t11) instance (FromSQL t1, FromSQL t2, FromSQL t3, FromSQL t4, FromSQL t5, FromSQL t6, FromSQL t7, FromSQL t8, FromSQL t9, FromSQL t10) => FromRow (t1, t2, t3, t4, t5, t6, t7, t8, t9, t10) instance (FromSQL t1, FromSQL t2, FromSQL t3, FromSQL t4, FromSQL t5, FromSQL t6, FromSQL t7, FromSQL t8, FromSQL t9) => FromRow (t1, t2, t3, t4, t5, t6, t7, t8, t9) instance (FromSQL t1, FromSQL t2, FromSQL t3, FromSQL t4, FromSQL t5, FromSQL t6, FromSQL t7, FromSQL t8) => FromRow (t1, t2, t3, t4, t5, t6, t7, t8) instance (FromSQL t1, FromSQL t2, FromSQL t3, FromSQL t4, FromSQL t5, FromSQL t6, FromSQL t7) => FromRow (t1, t2, t3, t4, t5, t6, t7) instance (FromSQL t1, FromSQL t2, FromSQL t3, FromSQL t4, FromSQL t5, FromSQL t6) => FromRow (t1, t2, t3, t4, t5, t6) instance (FromSQL t1, FromSQL t2, FromSQL t3, FromSQL t4, FromSQL t5) => FromRow (t1, t2, t3, t4, t5) instance (FromSQL t1, FromSQL t2, FromSQL t3, FromSQL t4) => FromRow (t1, t2, t3, t4) instance (FromSQL t1, FromSQL t2, FromSQL t3) => FromRow (t1, t2, t3) instance (FromSQL t1, FromSQL t2) => FromRow (t1, t2) instance FromSQL t => FromRow (Single t) instance FromRow () module Database.PostgreSQL.PQTypes.ToSQL -- | alloca-like producer of PGparam objects. type ParamAllocator = forall r. (Ptr PGparam -> IO r) -> IO r -- | Class which represents "from Haskell type to SQL (libpqtypes) type" -- transformation. class PQFormat t => ToSQL t where type family PQDest t :: * toSQL :: ToSQL t => t -> ParamAllocator -> (Ptr (PQDest t) -> IO r) -> IO r -- | Function that abstracts away common elements of most ToSQL -- instance definitions to make them easier to write and less verbose. put :: Storable t => t -> (Ptr t -> IO r) -> IO r instance ToSQL Bool instance ToSQL ZonedTime instance ToSQL UTCTime instance ToSQL LocalTime instance ToSQL TimeOfDay instance ToSQL Day instance ToSQL String instance ToSQL Text instance ToSQL ByteString instance ToSQL Word8 instance ToSQL Char instance ToSQL Double instance ToSQL Float instance ToSQL Int64 instance ToSQL Int32 instance ToSQL Int16 instance ToSQL t => ToSQL (Maybe t) module Database.PostgreSQL.PQTypes.Interval -- | Representation of INTERVAL PostgreSQL type. data Interval Interval :: !Int32 -> !Int32 -> !Int32 -> !Int32 -> !Int32 -> !Int32 -> !Int32 -> Interval intYears :: Interval -> !Int32 intMonths :: Interval -> !Int32 intDays :: Interval -> !Int32 intHours :: Interval -> !Int32 intMinutes :: Interval -> !Int32 intSeconds :: Interval -> !Int32 intMicroseconds :: Interval -> !Int32 -- | Convert Int32 to appropriate Interval representation of -- given number of years. iyears :: Int32 -> Interval -- | Convert Int32 to appropriate Interval representation of -- given number of months. imonths :: Int32 -> Interval -- | Convert Int32 to appropriate Interval representation of -- given number of days. idays :: Int32 -> Interval -- | Convert Int32 to appropriate Interval representation of -- given number of hours. ihours :: Int32 -> Interval -- | Convert Int32 to appropriate Interval representation of -- given number of minutes. iminutes :: Int32 -> Interval -- | Convert Int32 to appropriate Interval representation of -- given number of seconds. iseconds :: Int32 -> Interval -- | Convert Int32 to appropriate Interval representation of -- given number of microseconds. imicroseconds :: Int32 -> Interval instance Typeable Interval instance Eq Interval instance Ord Interval instance Show Interval instance ToSQL Interval instance FromSQL Interval instance PQFormat Interval instance Storable Interval instance Monoid Interval module Database.PostgreSQL.PQTypes.SQL.Class -- | Container for SQL-like type storage. data SomeSQL SomeSQL :: sql -> SomeSQL -- | Class representing "SQLness" of a given type. class Show sql => IsSQL sql someSQL :: IsSQL sql => sql -> SomeSQL withSQL :: IsSQL sql => sql -> ParamAllocator -> (Ptr PGparam -> CString -> IO r) -> IO r -- | Convert unsafely from String to sql (Note: reckless -- usage of this function may introduce security vulnerabilities such as -- proneness to SQL injection attacks). unsafeSQL :: (IsSQL sql, IsString sql) => String -> sql -- | Definition of main exception type. module Database.PostgreSQL.PQTypes.Internal.Exception -- | Main exception type. All exceptions thrown by the library are -- additionally wrapped in this type. data DBException DBException :: !sql -> !e -> DBException -- | Last SQL query that was executed. dbeQueryContext :: DBException -> !sql -- | Specific error. dbeError :: DBException -> !e -- | Rethrow supplied exception enriched with given SQL. rethrowWithContext :: IsSQL sql => sql -> SomeException -> IO a instance Typeable DBException instance Show DBException instance Exception DBException module Database.PostgreSQL.PQTypes.ToRow -- | Class which represents "from Haskell tuple to SQL row" transformation. class PQFormat row => ToRow row toRow :: ToRow row => row -> ParamAllocator -> Ptr PGparam -> Ptr PGerror -> CString -> IO () -- | More convenient version of toRow that allocates PGerror -- and format string by itself. toRow' :: ToRow row => row -> ParamAllocator -> Ptr PGparam -> IO () instance (ToSQL t1, ToSQL t2, ToSQL t3, ToSQL t4, ToSQL t5, ToSQL t6, ToSQL t7, ToSQL t8, ToSQL t9, ToSQL t10, ToSQL t11, ToSQL t12, ToSQL t13, ToSQL t14, ToSQL t15, ToSQL t16, ToSQL t17, ToSQL t18, ToSQL t19, ToSQL t20, ToSQL t21, ToSQL t22, ToSQL t23, ToSQL t24, ToSQL t25, ToSQL t26, ToSQL t27, ToSQL t28, ToSQL t29, ToSQL t30, ToSQL t31, ToSQL t32, ToSQL t33, ToSQL t34, ToSQL t35, ToSQL t36, ToSQL t37, ToSQL t38, ToSQL t39, ToSQL t40, ToSQL t41, ToSQL t42, ToSQL t43, ToSQL t44, ToSQL t45, ToSQL t46, ToSQL t47, ToSQL t48, ToSQL t49, ToSQL t50) => ToRow (t1, t2, t3, t4, t5, t6, t7, t8, t9, t10, t11, t12, t13, t14, t15, t16, t17, t18, t19, t20, t21, t22, t23, t24, t25, t26, t27, t28, t29, t30, t31, t32, t33, t34, t35, t36, t37, t38, t39, t40, t41, t42, t43, t44, t45, t46, t47, t48, t49, t50) instance (ToSQL t1, ToSQL t2, ToSQL t3, ToSQL t4, ToSQL t5, ToSQL t6, ToSQL t7, ToSQL t8, ToSQL t9, ToSQL t10, ToSQL t11, ToSQL t12, ToSQL t13, ToSQL t14, ToSQL t15, ToSQL t16, ToSQL t17, ToSQL t18, ToSQL t19, ToSQL t20, ToSQL t21, ToSQL t22, ToSQL t23, ToSQL t24, ToSQL t25, ToSQL t26, ToSQL t27, ToSQL t28, ToSQL t29, ToSQL t30, ToSQL t31, ToSQL t32, ToSQL t33, ToSQL t34, ToSQL t35, ToSQL t36, ToSQL t37, ToSQL t38, ToSQL t39, ToSQL t40, ToSQL t41, ToSQL t42, ToSQL t43, ToSQL t44, ToSQL t45, ToSQL t46, ToSQL t47, ToSQL t48, ToSQL t49) => ToRow (t1, t2, t3, t4, t5, t6, t7, t8, t9, t10, t11, t12, t13, t14, t15, t16, t17, t18, t19, t20, t21, t22, t23, t24, t25, t26, t27, t28, t29, t30, t31, t32, t33, t34, t35, t36, t37, t38, t39, t40, t41, t42, t43, t44, t45, t46, t47, t48, t49) instance (ToSQL t1, ToSQL t2, ToSQL t3, ToSQL t4, ToSQL t5, ToSQL t6, ToSQL t7, ToSQL t8, ToSQL t9, ToSQL t10, ToSQL t11, ToSQL t12, ToSQL t13, ToSQL t14, ToSQL t15, ToSQL t16, ToSQL t17, ToSQL t18, ToSQL t19, ToSQL t20, ToSQL t21, ToSQL t22, ToSQL t23, ToSQL t24, ToSQL t25, ToSQL t26, ToSQL t27, ToSQL t28, ToSQL t29, ToSQL t30, ToSQL t31, ToSQL t32, ToSQL t33, ToSQL t34, ToSQL t35, ToSQL t36, ToSQL t37, ToSQL t38, ToSQL t39, ToSQL t40, ToSQL t41, ToSQL t42, ToSQL t43, ToSQL t44, ToSQL t45, ToSQL t46, ToSQL t47, ToSQL t48) => ToRow (t1, t2, t3, t4, t5, t6, t7, t8, t9, t10, t11, t12, t13, t14, t15, t16, t17, t18, t19, t20, t21, t22, t23, t24, t25, t26, t27, t28, t29, t30, t31, t32, t33, t34, t35, t36, t37, t38, t39, t40, t41, t42, t43, t44, t45, t46, t47, t48) instance (ToSQL t1, ToSQL t2, ToSQL t3, ToSQL t4, ToSQL t5, ToSQL t6, ToSQL t7, ToSQL t8, ToSQL t9, ToSQL t10, ToSQL t11, ToSQL t12, ToSQL t13, ToSQL t14, ToSQL t15, ToSQL t16, ToSQL t17, ToSQL t18, ToSQL t19, ToSQL t20, ToSQL t21, ToSQL t22, ToSQL t23, ToSQL t24, ToSQL t25, ToSQL t26, ToSQL t27, ToSQL t28, ToSQL t29, ToSQL t30, ToSQL t31, ToSQL t32, ToSQL t33, ToSQL t34, ToSQL t35, ToSQL t36, ToSQL t37, ToSQL t38, ToSQL t39, ToSQL t40, ToSQL t41, ToSQL t42, ToSQL t43, ToSQL t44, ToSQL t45, ToSQL t46, ToSQL t47) => ToRow (t1, t2, t3, t4, t5, t6, t7, t8, t9, t10, t11, t12, t13, t14, t15, t16, t17, t18, t19, t20, t21, t22, t23, t24, t25, t26, t27, t28, t29, t30, t31, t32, t33, t34, t35, t36, t37, t38, t39, t40, t41, t42, t43, t44, t45, t46, t47) instance (ToSQL t1, ToSQL t2, ToSQL t3, ToSQL t4, ToSQL t5, ToSQL t6, ToSQL t7, ToSQL t8, ToSQL t9, ToSQL t10, ToSQL t11, ToSQL t12, ToSQL t13, ToSQL t14, ToSQL t15, ToSQL t16, ToSQL t17, ToSQL t18, ToSQL t19, ToSQL t20, ToSQL t21, ToSQL t22, ToSQL t23, ToSQL t24, ToSQL t25, ToSQL t26, ToSQL t27, ToSQL t28, ToSQL t29, ToSQL t30, ToSQL t31, ToSQL t32, ToSQL t33, ToSQL t34, ToSQL t35, ToSQL t36, ToSQL t37, ToSQL t38, ToSQL t39, ToSQL t40, ToSQL t41, ToSQL t42, ToSQL t43, ToSQL t44, ToSQL t45, ToSQL t46) => ToRow (t1, t2, t3, t4, t5, t6, t7, t8, t9, t10, t11, t12, t13, t14, t15, t16, t17, t18, t19, t20, t21, t22, t23, t24, t25, t26, t27, t28, t29, t30, t31, t32, t33, t34, t35, t36, t37, t38, t39, t40, t41, t42, t43, t44, t45, t46) instance (ToSQL t1, ToSQL t2, ToSQL t3, ToSQL t4, ToSQL t5, ToSQL t6, ToSQL t7, ToSQL t8, ToSQL t9, ToSQL t10, ToSQL t11, ToSQL t12, ToSQL t13, ToSQL t14, ToSQL t15, ToSQL t16, ToSQL t17, ToSQL t18, ToSQL t19, ToSQL t20, ToSQL t21, ToSQL t22, ToSQL t23, ToSQL t24, ToSQL t25, ToSQL t26, ToSQL t27, ToSQL t28, ToSQL t29, ToSQL t30, ToSQL t31, ToSQL t32, ToSQL t33, ToSQL t34, ToSQL t35, ToSQL t36, ToSQL t37, ToSQL t38, ToSQL t39, ToSQL t40, ToSQL t41, ToSQL t42, ToSQL t43, ToSQL t44, ToSQL t45) => ToRow (t1, t2, t3, t4, t5, t6, t7, t8, t9, t10, t11, t12, t13, t14, t15, t16, t17, t18, t19, t20, t21, t22, t23, t24, t25, t26, t27, t28, t29, t30, t31, t32, t33, t34, t35, t36, t37, t38, t39, t40, t41, t42, t43, t44, t45) instance (ToSQL t1, ToSQL t2, ToSQL t3, ToSQL t4, ToSQL t5, ToSQL t6, ToSQL t7, ToSQL t8, ToSQL t9, ToSQL t10, ToSQL t11, ToSQL t12, ToSQL t13, ToSQL t14, ToSQL t15, ToSQL t16, ToSQL t17, ToSQL t18, ToSQL t19, ToSQL t20, ToSQL t21, ToSQL t22, ToSQL t23, ToSQL t24, ToSQL t25, ToSQL t26, ToSQL t27, ToSQL t28, ToSQL t29, ToSQL t30, ToSQL t31, ToSQL t32, ToSQL t33, ToSQL t34, ToSQL t35, ToSQL t36, ToSQL t37, ToSQL t38, ToSQL t39, ToSQL t40, ToSQL t41, ToSQL t42, ToSQL t43, ToSQL t44) => ToRow (t1, t2, t3, t4, t5, t6, t7, t8, t9, t10, t11, t12, t13, t14, t15, t16, t17, t18, t19, t20, t21, t22, t23, t24, t25, t26, t27, t28, t29, t30, t31, t32, t33, t34, t35, t36, t37, t38, t39, t40, t41, t42, t43, t44) instance (ToSQL t1, ToSQL t2, ToSQL t3, ToSQL t4, ToSQL t5, ToSQL t6, ToSQL t7, ToSQL t8, ToSQL t9, ToSQL t10, ToSQL t11, ToSQL t12, ToSQL t13, ToSQL t14, ToSQL t15, ToSQL t16, ToSQL t17, ToSQL t18, ToSQL t19, ToSQL t20, ToSQL t21, ToSQL t22, ToSQL t23, ToSQL t24, ToSQL t25, ToSQL t26, ToSQL t27, ToSQL t28, ToSQL t29, ToSQL t30, ToSQL t31, ToSQL t32, ToSQL t33, ToSQL t34, ToSQL t35, ToSQL t36, ToSQL t37, ToSQL t38, ToSQL t39, ToSQL t40, ToSQL t41, ToSQL t42, ToSQL t43) => ToRow (t1, t2, t3, t4, t5, t6, t7, t8, t9, t10, t11, t12, t13, t14, t15, t16, t17, t18, t19, t20, t21, t22, t23, t24, t25, t26, t27, t28, t29, t30, t31, t32, t33, t34, t35, t36, t37, t38, t39, t40, t41, t42, t43) instance (ToSQL t1, ToSQL t2, ToSQL t3, ToSQL t4, ToSQL t5, ToSQL t6, ToSQL t7, ToSQL t8, ToSQL t9, ToSQL t10, ToSQL t11, ToSQL t12, ToSQL t13, ToSQL t14, ToSQL t15, ToSQL t16, ToSQL t17, ToSQL t18, ToSQL t19, ToSQL t20, ToSQL t21, ToSQL t22, ToSQL t23, ToSQL t24, ToSQL t25, ToSQL t26, ToSQL t27, ToSQL t28, ToSQL t29, ToSQL t30, ToSQL t31, ToSQL t32, ToSQL t33, ToSQL t34, ToSQL t35, ToSQL t36, ToSQL t37, ToSQL t38, ToSQL t39, ToSQL t40, ToSQL t41, ToSQL t42) => ToRow (t1, t2, t3, t4, t5, t6, t7, t8, t9, t10, t11, t12, t13, t14, t15, t16, t17, t18, t19, t20, t21, t22, t23, t24, t25, t26, t27, t28, t29, t30, t31, t32, t33, t34, t35, t36, t37, t38, t39, t40, t41, t42) instance (ToSQL t1, ToSQL t2, ToSQL t3, ToSQL t4, ToSQL t5, ToSQL t6, ToSQL t7, ToSQL t8, ToSQL t9, ToSQL t10, ToSQL t11, ToSQL t12, ToSQL t13, ToSQL t14, ToSQL t15, ToSQL t16, ToSQL t17, ToSQL t18, ToSQL t19, ToSQL t20, ToSQL t21, ToSQL t22, ToSQL t23, ToSQL t24, ToSQL t25, ToSQL t26, ToSQL t27, ToSQL t28, ToSQL t29, ToSQL t30, ToSQL t31, ToSQL t32, ToSQL t33, ToSQL t34, ToSQL t35, ToSQL t36, ToSQL t37, ToSQL t38, ToSQL t39, ToSQL t40, ToSQL t41) => ToRow (t1, t2, t3, t4, t5, t6, t7, t8, t9, t10, t11, t12, t13, t14, t15, t16, t17, t18, t19, t20, t21, t22, t23, t24, t25, t26, t27, t28, t29, t30, t31, t32, t33, t34, t35, t36, t37, t38, t39, t40, t41) instance (ToSQL t1, ToSQL t2, ToSQL t3, ToSQL t4, ToSQL t5, ToSQL t6, ToSQL t7, ToSQL t8, ToSQL t9, ToSQL t10, ToSQL t11, ToSQL t12, ToSQL t13, ToSQL t14, ToSQL t15, ToSQL t16, ToSQL t17, ToSQL t18, ToSQL t19, ToSQL t20, ToSQL t21, ToSQL t22, ToSQL t23, ToSQL t24, ToSQL t25, ToSQL t26, ToSQL t27, ToSQL t28, ToSQL t29, ToSQL t30, ToSQL t31, ToSQL t32, ToSQL t33, ToSQL t34, ToSQL t35, ToSQL t36, ToSQL t37, ToSQL t38, ToSQL t39, ToSQL t40) => ToRow (t1, t2, t3, t4, t5, t6, t7, t8, t9, t10, t11, t12, t13, t14, t15, t16, t17, t18, t19, t20, t21, t22, t23, t24, t25, t26, t27, t28, t29, t30, t31, t32, t33, t34, t35, t36, t37, t38, t39, t40) instance (ToSQL t1, ToSQL t2, ToSQL t3, ToSQL t4, ToSQL t5, ToSQL t6, ToSQL t7, ToSQL t8, ToSQL t9, ToSQL t10, ToSQL t11, ToSQL t12, ToSQL t13, ToSQL t14, ToSQL t15, ToSQL t16, ToSQL t17, ToSQL t18, ToSQL t19, ToSQL t20, ToSQL t21, ToSQL t22, ToSQL t23, ToSQL t24, ToSQL t25, ToSQL t26, ToSQL t27, ToSQL t28, ToSQL t29, ToSQL t30, ToSQL t31, ToSQL t32, ToSQL t33, ToSQL t34, ToSQL t35, ToSQL t36, ToSQL t37, ToSQL t38, ToSQL t39) => ToRow (t1, t2, t3, t4, t5, t6, t7, t8, t9, t10, t11, t12, t13, t14, t15, t16, t17, t18, t19, t20, t21, t22, t23, t24, t25, t26, t27, t28, t29, t30, t31, t32, t33, t34, t35, t36, t37, t38, t39) instance (ToSQL t1, ToSQL t2, ToSQL t3, ToSQL t4, ToSQL t5, ToSQL t6, ToSQL t7, ToSQL t8, ToSQL t9, ToSQL t10, ToSQL t11, ToSQL t12, ToSQL t13, ToSQL t14, ToSQL t15, ToSQL t16, ToSQL t17, ToSQL t18, ToSQL t19, ToSQL t20, ToSQL t21, ToSQL t22, ToSQL t23, ToSQL t24, ToSQL t25, ToSQL t26, ToSQL t27, ToSQL t28, ToSQL t29, ToSQL t30, ToSQL t31, ToSQL t32, ToSQL t33, ToSQL t34, ToSQL t35, ToSQL t36, ToSQL t37, ToSQL t38) => ToRow (t1, t2, t3, t4, t5, t6, t7, t8, t9, t10, t11, t12, t13, t14, t15, t16, t17, t18, t19, t20, t21, t22, t23, t24, t25, t26, t27, t28, t29, t30, t31, t32, t33, t34, t35, t36, t37, t38) instance (ToSQL t1, ToSQL t2, ToSQL t3, ToSQL t4, ToSQL t5, ToSQL t6, ToSQL t7, ToSQL t8, ToSQL t9, ToSQL t10, ToSQL t11, ToSQL t12, ToSQL t13, ToSQL t14, ToSQL t15, ToSQL t16, ToSQL t17, ToSQL t18, ToSQL t19, ToSQL t20, ToSQL t21, ToSQL t22, ToSQL t23, ToSQL t24, ToSQL t25, ToSQL t26, ToSQL t27, ToSQL t28, ToSQL t29, ToSQL t30, ToSQL t31, ToSQL t32, ToSQL t33, ToSQL t34, ToSQL t35, ToSQL t36, ToSQL t37) => ToRow (t1, t2, t3, t4, t5, t6, t7, t8, t9, t10, t11, t12, t13, t14, t15, t16, t17, t18, t19, t20, t21, t22, t23, t24, t25, t26, t27, t28, t29, t30, t31, t32, t33, t34, t35, t36, t37) instance (ToSQL t1, ToSQL t2, ToSQL t3, ToSQL t4, ToSQL t5, ToSQL t6, ToSQL t7, ToSQL t8, ToSQL t9, ToSQL t10, ToSQL t11, ToSQL t12, ToSQL t13, ToSQL t14, ToSQL t15, ToSQL t16, ToSQL t17, ToSQL t18, ToSQL t19, ToSQL t20, ToSQL t21, ToSQL t22, ToSQL t23, ToSQL t24, ToSQL t25, ToSQL t26, ToSQL t27, ToSQL t28, ToSQL t29, ToSQL t30, ToSQL t31, ToSQL t32, ToSQL t33, ToSQL t34, ToSQL t35, ToSQL t36) => ToRow (t1, t2, t3, t4, t5, t6, t7, t8, t9, t10, t11, t12, t13, t14, t15, t16, t17, t18, t19, t20, t21, t22, t23, t24, t25, t26, t27, t28, t29, t30, t31, t32, t33, t34, t35, t36) instance (ToSQL t1, ToSQL t2, ToSQL t3, ToSQL t4, ToSQL t5, ToSQL t6, ToSQL t7, ToSQL t8, ToSQL t9, ToSQL t10, ToSQL t11, ToSQL t12, ToSQL t13, ToSQL t14, ToSQL t15, ToSQL t16, ToSQL t17, ToSQL t18, ToSQL t19, ToSQL t20, ToSQL t21, ToSQL t22, ToSQL t23, ToSQL t24, ToSQL t25, ToSQL t26, ToSQL t27, ToSQL t28, ToSQL t29, ToSQL t30, ToSQL t31, ToSQL t32, ToSQL t33, ToSQL t34, ToSQL t35) => ToRow (t1, t2, t3, t4, t5, t6, t7, t8, t9, t10, t11, t12, t13, t14, t15, t16, t17, t18, t19, t20, t21, t22, t23, t24, t25, t26, t27, t28, t29, t30, t31, t32, t33, t34, t35) instance (ToSQL t1, ToSQL t2, ToSQL t3, ToSQL t4, ToSQL t5, ToSQL t6, ToSQL t7, ToSQL t8, ToSQL t9, ToSQL t10, ToSQL t11, ToSQL t12, ToSQL t13, ToSQL t14, ToSQL t15, ToSQL t16, ToSQL t17, ToSQL t18, ToSQL t19, ToSQL t20, ToSQL t21, ToSQL t22, ToSQL t23, ToSQL t24, ToSQL t25, ToSQL t26, ToSQL t27, ToSQL t28, ToSQL t29, ToSQL t30, ToSQL t31, ToSQL t32, ToSQL t33, ToSQL t34) => ToRow (t1, t2, t3, t4, t5, t6, t7, t8, t9, t10, t11, t12, t13, t14, t15, t16, t17, t18, t19, t20, t21, t22, t23, t24, t25, t26, t27, t28, t29, t30, t31, t32, t33, t34) instance (ToSQL t1, ToSQL t2, ToSQL t3, ToSQL t4, ToSQL t5, ToSQL t6, ToSQL t7, ToSQL t8, ToSQL t9, ToSQL t10, ToSQL t11, ToSQL t12, ToSQL t13, ToSQL t14, ToSQL t15, ToSQL t16, ToSQL t17, ToSQL t18, ToSQL t19, ToSQL t20, ToSQL t21, ToSQL t22, ToSQL t23, ToSQL t24, ToSQL t25, ToSQL t26, ToSQL t27, ToSQL t28, ToSQL t29, ToSQL t30, ToSQL t31, ToSQL t32, ToSQL t33) => ToRow (t1, t2, t3, t4, t5, t6, t7, t8, t9, t10, t11, t12, t13, t14, t15, t16, t17, t18, t19, t20, t21, t22, t23, t24, t25, t26, t27, t28, t29, t30, t31, t32, t33) instance (ToSQL t1, ToSQL t2, ToSQL t3, ToSQL t4, ToSQL t5, ToSQL t6, ToSQL t7, ToSQL t8, ToSQL t9, ToSQL t10, ToSQL t11, ToSQL t12, ToSQL t13, ToSQL t14, ToSQL t15, ToSQL t16, ToSQL t17, ToSQL t18, ToSQL t19, ToSQL t20, ToSQL t21, ToSQL t22, ToSQL t23, ToSQL t24, ToSQL t25, ToSQL t26, ToSQL t27, ToSQL t28, ToSQL t29, ToSQL t30, ToSQL t31, ToSQL t32) => ToRow (t1, t2, t3, t4, t5, t6, t7, t8, t9, t10, t11, t12, t13, t14, t15, t16, t17, t18, t19, t20, t21, t22, t23, t24, t25, t26, t27, t28, t29, t30, t31, t32) instance (ToSQL t1, ToSQL t2, ToSQL t3, ToSQL t4, ToSQL t5, ToSQL t6, ToSQL t7, ToSQL t8, ToSQL t9, ToSQL t10, ToSQL t11, ToSQL t12, ToSQL t13, ToSQL t14, ToSQL t15, ToSQL t16, ToSQL t17, ToSQL t18, ToSQL t19, ToSQL t20, ToSQL t21, ToSQL t22, ToSQL t23, ToSQL t24, ToSQL t25, ToSQL t26, ToSQL t27, ToSQL t28, ToSQL t29, ToSQL t30, ToSQL t31) => ToRow (t1, t2, t3, t4, t5, t6, t7, t8, t9, t10, t11, t12, t13, t14, t15, t16, t17, t18, t19, t20, t21, t22, t23, t24, t25, t26, t27, t28, t29, t30, t31) instance (ToSQL t1, ToSQL t2, ToSQL t3, ToSQL t4, ToSQL t5, ToSQL t6, ToSQL t7, ToSQL t8, ToSQL t9, ToSQL t10, ToSQL t11, ToSQL t12, ToSQL t13, ToSQL t14, ToSQL t15, ToSQL t16, ToSQL t17, ToSQL t18, ToSQL t19, ToSQL t20, ToSQL t21, ToSQL t22, ToSQL t23, ToSQL t24, ToSQL t25, ToSQL t26, ToSQL t27, ToSQL t28, ToSQL t29, ToSQL t30) => ToRow (t1, t2, t3, t4, t5, t6, t7, t8, t9, t10, t11, t12, t13, t14, t15, t16, t17, t18, t19, t20, t21, t22, t23, t24, t25, t26, t27, t28, t29, t30) instance (ToSQL t1, ToSQL t2, ToSQL t3, ToSQL t4, ToSQL t5, ToSQL t6, ToSQL t7, ToSQL t8, ToSQL t9, ToSQL t10, ToSQL t11, ToSQL t12, ToSQL t13, ToSQL t14, ToSQL t15, ToSQL t16, ToSQL t17, ToSQL t18, ToSQL t19, ToSQL t20, ToSQL t21, ToSQL t22, ToSQL t23, ToSQL t24, ToSQL t25, ToSQL t26, ToSQL t27, ToSQL t28, ToSQL t29) => ToRow (t1, t2, t3, t4, t5, t6, t7, t8, t9, t10, t11, t12, t13, t14, t15, t16, t17, t18, t19, t20, t21, t22, t23, t24, t25, t26, t27, t28, t29) instance (ToSQL t1, ToSQL t2, ToSQL t3, ToSQL t4, ToSQL t5, ToSQL t6, ToSQL t7, ToSQL t8, ToSQL t9, ToSQL t10, ToSQL t11, ToSQL t12, ToSQL t13, ToSQL t14, ToSQL t15, ToSQL t16, ToSQL t17, ToSQL t18, ToSQL t19, ToSQL t20, ToSQL t21, ToSQL t22, ToSQL t23, ToSQL t24, ToSQL t25, ToSQL t26, ToSQL t27, ToSQL t28) => ToRow (t1, t2, t3, t4, t5, t6, t7, t8, t9, t10, t11, t12, t13, t14, t15, t16, t17, t18, t19, t20, t21, t22, t23, t24, t25, t26, t27, t28) instance (ToSQL t1, ToSQL t2, ToSQL t3, ToSQL t4, ToSQL t5, ToSQL t6, ToSQL t7, ToSQL t8, ToSQL t9, ToSQL t10, ToSQL t11, ToSQL t12, ToSQL t13, ToSQL t14, ToSQL t15, ToSQL t16, ToSQL t17, ToSQL t18, ToSQL t19, ToSQL t20, ToSQL t21, ToSQL t22, ToSQL t23, ToSQL t24, ToSQL t25, ToSQL t26, ToSQL t27) => ToRow (t1, t2, t3, t4, t5, t6, t7, t8, t9, t10, t11, t12, t13, t14, t15, t16, t17, t18, t19, t20, t21, t22, t23, t24, t25, t26, t27) instance (ToSQL t1, ToSQL t2, ToSQL t3, ToSQL t4, ToSQL t5, ToSQL t6, ToSQL t7, ToSQL t8, ToSQL t9, ToSQL t10, ToSQL t11, ToSQL t12, ToSQL t13, ToSQL t14, ToSQL t15, ToSQL t16, ToSQL t17, ToSQL t18, ToSQL t19, ToSQL t20, ToSQL t21, ToSQL t22, ToSQL t23, ToSQL t24, ToSQL t25, ToSQL t26) => ToRow (t1, t2, t3, t4, t5, t6, t7, t8, t9, t10, t11, t12, t13, t14, t15, t16, t17, t18, t19, t20, t21, t22, t23, t24, t25, t26) instance (ToSQL t1, ToSQL t2, ToSQL t3, ToSQL t4, ToSQL t5, ToSQL t6, ToSQL t7, ToSQL t8, ToSQL t9, ToSQL t10, ToSQL t11, ToSQL t12, ToSQL t13, ToSQL t14, ToSQL t15, ToSQL t16, ToSQL t17, ToSQL t18, ToSQL t19, ToSQL t20, ToSQL t21, ToSQL t22, ToSQL t23, ToSQL t24, ToSQL t25) => ToRow (t1, t2, t3, t4, t5, t6, t7, t8, t9, t10, t11, t12, t13, t14, t15, t16, t17, t18, t19, t20, t21, t22, t23, t24, t25) instance (ToSQL t1, ToSQL t2, ToSQL t3, ToSQL t4, ToSQL t5, ToSQL t6, ToSQL t7, ToSQL t8, ToSQL t9, ToSQL t10, ToSQL t11, ToSQL t12, ToSQL t13, ToSQL t14, ToSQL t15, ToSQL t16, ToSQL t17, ToSQL t18, ToSQL t19, ToSQL t20, ToSQL t21, ToSQL t22, ToSQL t23, ToSQL t24) => ToRow (t1, t2, t3, t4, t5, t6, t7, t8, t9, t10, t11, t12, t13, t14, t15, t16, t17, t18, t19, t20, t21, t22, t23, t24) instance (ToSQL t1, ToSQL t2, ToSQL t3, ToSQL t4, ToSQL t5, ToSQL t6, ToSQL t7, ToSQL t8, ToSQL t9, ToSQL t10, ToSQL t11, ToSQL t12, ToSQL t13, ToSQL t14, ToSQL t15, ToSQL t16, ToSQL t17, ToSQL t18, ToSQL t19, ToSQL t20, ToSQL t21, ToSQL t22, ToSQL t23) => ToRow (t1, t2, t3, t4, t5, t6, t7, t8, t9, t10, t11, t12, t13, t14, t15, t16, t17, t18, t19, t20, t21, t22, t23) instance (ToSQL t1, ToSQL t2, ToSQL t3, ToSQL t4, ToSQL t5, ToSQL t6, ToSQL t7, ToSQL t8, ToSQL t9, ToSQL t10, ToSQL t11, ToSQL t12, ToSQL t13, ToSQL t14, ToSQL t15, ToSQL t16, ToSQL t17, ToSQL t18, ToSQL t19, ToSQL t20, ToSQL t21, ToSQL t22) => ToRow (t1, t2, t3, t4, t5, t6, t7, t8, t9, t10, t11, t12, t13, t14, t15, t16, t17, t18, t19, t20, t21, t22) instance (ToSQL t1, ToSQL t2, ToSQL t3, ToSQL t4, ToSQL t5, ToSQL t6, ToSQL t7, ToSQL t8, ToSQL t9, ToSQL t10, ToSQL t11, ToSQL t12, ToSQL t13, ToSQL t14, ToSQL t15, ToSQL t16, ToSQL t17, ToSQL t18, ToSQL t19, ToSQL t20, ToSQL t21) => ToRow (t1, t2, t3, t4, t5, t6, t7, t8, t9, t10, t11, t12, t13, t14, t15, t16, t17, t18, t19, t20, t21) instance (ToSQL t1, ToSQL t2, ToSQL t3, ToSQL t4, ToSQL t5, ToSQL t6, ToSQL t7, ToSQL t8, ToSQL t9, ToSQL t10, ToSQL t11, ToSQL t12, ToSQL t13, ToSQL t14, ToSQL t15, ToSQL t16, ToSQL t17, ToSQL t18, ToSQL t19, ToSQL t20) => ToRow (t1, t2, t3, t4, t5, t6, t7, t8, t9, t10, t11, t12, t13, t14, t15, t16, t17, t18, t19, t20) instance (ToSQL t1, ToSQL t2, ToSQL t3, ToSQL t4, ToSQL t5, ToSQL t6, ToSQL t7, ToSQL t8, ToSQL t9, ToSQL t10, ToSQL t11, ToSQL t12, ToSQL t13, ToSQL t14, ToSQL t15, ToSQL t16, ToSQL t17, ToSQL t18, ToSQL t19) => ToRow (t1, t2, t3, t4, t5, t6, t7, t8, t9, t10, t11, t12, t13, t14, t15, t16, t17, t18, t19) instance (ToSQL t1, ToSQL t2, ToSQL t3, ToSQL t4, ToSQL t5, ToSQL t6, ToSQL t7, ToSQL t8, ToSQL t9, ToSQL t10, ToSQL t11, ToSQL t12, ToSQL t13, ToSQL t14, ToSQL t15, ToSQL t16, ToSQL t17, ToSQL t18) => ToRow (t1, t2, t3, t4, t5, t6, t7, t8, t9, t10, t11, t12, t13, t14, t15, t16, t17, t18) instance (ToSQL t1, ToSQL t2, ToSQL t3, ToSQL t4, ToSQL t5, ToSQL t6, ToSQL t7, ToSQL t8, ToSQL t9, ToSQL t10, ToSQL t11, ToSQL t12, ToSQL t13, ToSQL t14, ToSQL t15, ToSQL t16, ToSQL t17) => ToRow (t1, t2, t3, t4, t5, t6, t7, t8, t9, t10, t11, t12, t13, t14, t15, t16, t17) instance (ToSQL t1, ToSQL t2, ToSQL t3, ToSQL t4, ToSQL t5, ToSQL t6, ToSQL t7, ToSQL t8, ToSQL t9, ToSQL t10, ToSQL t11, ToSQL t12, ToSQL t13, ToSQL t14, ToSQL t15, ToSQL t16) => ToRow (t1, t2, t3, t4, t5, t6, t7, t8, t9, t10, t11, t12, t13, t14, t15, t16) instance (ToSQL t1, ToSQL t2, ToSQL t3, ToSQL t4, ToSQL t5, ToSQL t6, ToSQL t7, ToSQL t8, ToSQL t9, ToSQL t10, ToSQL t11, ToSQL t12, ToSQL t13, ToSQL t14, ToSQL t15) => ToRow (t1, t2, t3, t4, t5, t6, t7, t8, t9, t10, t11, t12, t13, t14, t15) instance (ToSQL t1, ToSQL t2, ToSQL t3, ToSQL t4, ToSQL t5, ToSQL t6, ToSQL t7, ToSQL t8, ToSQL t9, ToSQL t10, ToSQL t11, ToSQL t12, ToSQL t13, ToSQL t14) => ToRow (t1, t2, t3, t4, t5, t6, t7, t8, t9, t10, t11, t12, t13, t14) instance (ToSQL t1, ToSQL t2, ToSQL t3, ToSQL t4, ToSQL t5, ToSQL t6, ToSQL t7, ToSQL t8, ToSQL t9, ToSQL t10, ToSQL t11, ToSQL t12, ToSQL t13) => ToRow (t1, t2, t3, t4, t5, t6, t7, t8, t9, t10, t11, t12, t13) instance (ToSQL t1, ToSQL t2, ToSQL t3, ToSQL t4, ToSQL t5, ToSQL t6, ToSQL t7, ToSQL t8, ToSQL t9, ToSQL t10, ToSQL t11, ToSQL t12) => ToRow (t1, t2, t3, t4, t5, t6, t7, t8, t9, t10, t11, t12) instance (ToSQL t1, ToSQL t2, ToSQL t3, ToSQL t4, ToSQL t5, ToSQL t6, ToSQL t7, ToSQL t8, ToSQL t9, ToSQL t10, ToSQL t11) => ToRow (t1, t2, t3, t4, t5, t6, t7, t8, t9, t10, t11) instance (ToSQL t1, ToSQL t2, ToSQL t3, ToSQL t4, ToSQL t5, ToSQL t6, ToSQL t7, ToSQL t8, ToSQL t9, ToSQL t10) => ToRow (t1, t2, t3, t4, t5, t6, t7, t8, t9, t10) instance (ToSQL t1, ToSQL t2, ToSQL t3, ToSQL t4, ToSQL t5, ToSQL t6, ToSQL t7, ToSQL t8, ToSQL t9) => ToRow (t1, t2, t3, t4, t5, t6, t7, t8, t9) instance (ToSQL t1, ToSQL t2, ToSQL t3, ToSQL t4, ToSQL t5, ToSQL t6, ToSQL t7, ToSQL t8) => ToRow (t1, t2, t3, t4, t5, t6, t7, t8) instance (ToSQL t1, ToSQL t2, ToSQL t3, ToSQL t4, ToSQL t5, ToSQL t6, ToSQL t7) => ToRow (t1, t2, t3, t4, t5, t6, t7) instance (ToSQL t1, ToSQL t2, ToSQL t3, ToSQL t4, ToSQL t5, ToSQL t6) => ToRow (t1, t2, t3, t4, t5, t6) instance (ToSQL t1, ToSQL t2, ToSQL t3, ToSQL t4, ToSQL t5) => ToRow (t1, t2, t3, t4, t5) instance (ToSQL t1, ToSQL t2, ToSQL t3, ToSQL t4) => ToRow (t1, t2, t3, t4) instance (ToSQL t1, ToSQL t2, ToSQL t3) => ToRow (t1, t2, t3) instance (ToSQL t1, ToSQL t2) => ToRow (t1, t2) instance ToSQL t => ToRow (Single t) instance ToRow () module Database.PostgreSQL.PQTypes.Composite -- | Wrapper for (de)serializing composite types. newtype Composite a Composite :: a -> Composite a -- | Extract underlying value. unComposite :: Composite a -> a -- | Type function which maps composite type to its intermediate -- representation as a tuple (row) of Haskell types that correspond to -- PostgreSQL types in composite type definition. -- -- As an example, consider the type defined as (a INTEGER, b DATE). Then -- its CompositeRow instance could be (Maybe Int32, Maybe Day), (Maybe -- Int32, Day), (Int32, Maybe Day) or (Int32, Day). -- | Class which represents "from SQL to composite" transformation. class (PQFormat t, FromRow (CompositeRow t)) => CompositeFromSQL t toComposite :: CompositeFromSQL t => CompositeRow t -> IO t -- | Class which represents "from composite to SQL" transformation. class (PQFormat t, ToRow (CompositeRow t)) => CompositeToSQL t fromComposite :: CompositeToSQL t => t -> IO (CompositeRow t) instance Typeable Composite instance Eq a => Eq (Composite a) instance Functor Composite instance Ord a => Ord (Composite a) instance Show a => Show (Composite a) instance CompositeToSQL t => ToSQL (Composite t) instance CompositeFromSQL t => FromSQL (Composite t) instance PQFormat t => PQFormat (Composite t) module Database.PostgreSQL.PQTypes.Binary -- | Wrapper for (de)serializing underlying type as bytea. newtype Binary b Binary :: b -> Binary b -- | Extract underlying value. unBinary :: Binary b -> b instance Typeable Binary instance Eq b => Eq (Binary b) instance Functor Binary instance Ord b => Ord (Binary b) instance Show b => Show (Binary b) instance ToSQL (Binary ByteString) instance FromSQL (Binary ByteString) instance PQFormat (Binary ByteString) module Database.PostgreSQL.PQTypes.Array -- | One dimensional array of non-composite elements. newtype Array1 a Array1 :: [a] -> Array1 a -- | Extract list of elements from Array1. unArray1 :: Array1 a -> [a] -- | One dimensional array of composite elements. newtype CompositeArray1 a CompositeArray1 :: [a] -> CompositeArray1 a -- | Extract list of elements from CompositeArray1. unCompositeArray1 :: CompositeArray1 a -> [a] -- | Two dimensional array of non-composite elements. newtype Array2 a Array2 :: [[a]] -> Array2 a -- | Extract list of elements from Array2. unArray2 :: Array2 a -> [[a]] -- | Two dimensional array of composite elements. newtype CompositeArray2 a CompositeArray2 :: [[a]] -> CompositeArray2 a -- | Extract list of elements from CompositeArray2. unCompositeArray2 :: CompositeArray2 a -> [[a]] instance Typeable Array1 instance Typeable CompositeArray1 instance Typeable Array2 instance Typeable CompositeArray2 instance Eq a => Eq (Array1 a) instance Functor Array1 instance Ord a => Ord (Array1 a) instance Show a => Show (Array1 a) instance Eq a => Eq (CompositeArray1 a) instance Functor CompositeArray1 instance Ord a => Ord (CompositeArray1 a) instance Show a => Show (CompositeArray1 a) instance Eq a => Eq (Array2 a) instance Functor Array2 instance Ord a => Ord (Array2 a) instance Show a => Show (Array2 a) instance Eq a => Eq (CompositeArray2 a) instance Functor CompositeArray2 instance Ord a => Ord (CompositeArray2 a) instance Show a => Show (CompositeArray2 a) instance CompositeToSQL t => ToSQL (CompositeArray2 t) instance CompositeFromSQL t => FromSQL (CompositeArray2 t) instance PQFormat t => PQFormat (CompositeArray2 t) instance ToSQL t => ToSQL (Array2 t) instance FromSQL t => FromSQL (Array2 t) instance PQFormat t => PQFormat (Array2 t) instance CompositeToSQL t => ToSQL (CompositeArray1 t) instance CompositeFromSQL t => FromSQL (CompositeArray1 t) instance PQFormat t => PQFormat (CompositeArray1 t) instance ToSQL t => ToSQL (Array1 t) instance FromSQL t => FromSQL (Array1 t) instance PQFormat t => PQFormat (Array1 t) module Data.Monoid.Utils -- | Generalization of intercalate to arbitrary Monoid. mintercalate :: Monoid m => m -> [m] -> m module Data.Monoid.Space -- | Extension of Monoid which abstracts the notion of 'separator'. class Monoid m => SpaceMonoid m mspace :: SpaceMonoid m => m -- | Concatenate two elements with separator between them. smappend :: SpaceMonoid m => m -> m -> m -- | Concatenate a list of elements, inserting separators between them. smconcat :: SpaceMonoid m => [m] -> m -- | Infix version of smappend. (<+>) :: SpaceMonoid m => m -> m -> m instance SpaceMonoid Text instance SpaceMonoid ByteString instance SpaceMonoid String module Database.PostgreSQL.PQTypes.SQL -- | Primary SQL type that supports efficient concatenation and variable -- number of parameters. data SQL -- | Convert ByteString to SQL. mkSQL :: ByteString -> SQL -- | Embed parameter value inside SQL. sqlParam :: (Show t, ToSQL t) => t -> SQL -- | Embed parameter value inside existing SQL. Example: -- --
-- f :: Int32 -> String -> SQL -- f idx name = "SELECT foo FROM bar WHERE id =" <?> idx <+> "AND name =" <?> name --(>) :: (Show t, ToSQL t) => SQL -> t -> SQL -- | Test whether an SQL is empty. isSqlEmpty :: SQL -> Bool instance Show SQL instance SpaceMonoid SQL instance Monoid SQL instance IsSQL SQL instance IsString SQL module Database.PostgreSQL.PQTypes.Internal.Connection -- | Wrapper for hiding representation of a connection object. newtype Connection Connection :: MVar (Maybe ConnectionData) -> Connection unConnection :: Connection -> MVar (Maybe ConnectionData) -- | Representation of a connection object. data ConnectionData ConnectionData :: !(ForeignPtr (Ptr PGconn)) -> !(Ptr PGconn) -> !ConnectionStats -> ConnectionData -- | Foreign pointer to pointer to connection object. cdFrgnPtr :: ConnectionData -> !(ForeignPtr (Ptr PGconn)) -- | Pointer to connection object (the same as in cdFrgnPtr). cdPtr :: ConnectionData -> !(Ptr PGconn) -- | Statistics associated with the connection. cdStats :: ConnectionData -> !ConnectionStats -- | Simple connection statistics. data ConnectionStats ConnectionStats :: !Int -> !Int -> !Int -> !Int -> ConnectionStats -- | Number of queries executed so far. statsQueries :: ConnectionStats -> !Int -- | Number of rows fetched from the database. statsRows :: ConnectionStats -> !Int -- | Number of values fetched from the database. statsValues :: ConnectionStats -> !Int -- | Number of parameters sent to the database. statsParams :: ConnectionStats -> !Int data ConnectionSettings ConnectionSettings :: !ByteString -> !(Maybe ByteString) -> ![ByteString] -> ConnectionSettings -- | Connection info string. csConnInfo :: ConnectionSettings -> !ByteString -- | Client-side encoding. If set to Nothing, database encoding is -- used. csClientEncoding :: ConnectionSettings -> !(Maybe ByteString) -- | A list of composite types to register. In order to be able to -- (de)serialize specific composite types, you need to register them. csComposites :: ConnectionSettings -> ![ByteString] -- | Default connection settings. defaultSettings :: ConnectionSettings -- | Database connection supplier. newtype ConnectionSource ConnectionSource :: (forall m a. (MonadBase IO m, MonadMask m) => (Connection -> m a) -> m a) -> ConnectionSource withConnection :: ConnectionSource -> forall m a. (MonadBase IO m, MonadMask m) => (Connection -> m a) -> m a -- | Default connection supplier. It estabilishes new database connection -- each time withConnection is called. defaultSource :: ConnectionSettings -> ConnectionSource -- | Pooled source. It uses striped pool from resource-pool package to -- cache estabilished connections and reuse them. poolSource :: ConnectionSettings -> Int -> NominalDiffTime -> Int -> IO ConnectionSource -- | Low-level function for connecting to the database. Useful if one wants -- to implement custom connection source. connect :: ConnectionSettings -> IO Connection -- | Low-level function for disconnecting from the database. Useful if one -- wants to implement custom connection source. disconnect :: Connection -> IO () instance Eq ConnectionSettings instance Ord ConnectionSettings instance Show ConnectionSettings instance Eq ConnectionStats instance Ord ConnectionStats instance Show ConnectionStats module Database.PostgreSQL.PQTypes.Class class (Applicative m, Monad m) => MonadDB m runQuery :: (MonadDB m, IsSQL sql) => sql -> m Int getLastQuery :: MonadDB m => m SomeSQL getConnectionStats :: MonadDB m => m ConnectionStats getQueryResult :: MonadDB m => m (Maybe QueryResult) clearQueryResult :: MonadDB m => m () getTransactionSettings :: MonadDB m => m TransactionSettings setTransactionSettings :: MonadDB m => TransactionSettings -> m () foldlM :: (MonadDB m, FromRow row) => (acc -> row -> m acc) -> acc -> m acc foldrM :: (MonadDB m, FromRow row) => (row -> acc -> m acc) -> acc -> m acc withNewConnection :: MonadDB m => m a -> m a module Database.PostgreSQL.PQTypes.Fold -- | Fold the result set of rows from left to right. foldLeftM :: (MonadBase IO m, MonadDB m, FromRow row) => (acc -> row -> m acc) -> acc -> m acc -- | Fold the result set of rows from right to left. foldRightM :: (MonadBase IO m, MonadDB m, FromRow row) => (row -> acc -> m acc) -> acc -> m acc module Database.PostgreSQL.PQTypes.Class.Instances instance (Monoid w, MonadDB m) => MonadDB (WriterT w m) instance (Monoid w, MonadDB m) => MonadDB (WriterT w m) instance MonadDB m => MonadDB (StateT s m) instance MonadDB m => MonadDB (StateT s m) instance MonadDB m => MonadDB (ReaderT r m) instance (Monoid w, MonadDB m) => MonadDB (RWST r w s m) instance (Monoid w, MonadDB m) => MonadDB (RWST r w s m) instance MonadDB m => MonadDB (MaybeT m) instance MonadDB m => MonadDB (ListT m) instance MonadDB m => MonadDB (IdentityT m) instance (Error e, MonadDB m) => MonadDB (ErrorT e m) -- | Definition of generic MonadDB instance which works for any -- transformer with MonadTrans and MonadTransControl -- instances. Quite convenient, but not imported by default due to -- OverlappingInstances requirement. module Database.PostgreSQL.PQTypes.Class.Instances.Overlapping instance [overlap ok] (Applicative (t m), Monad (t m), MonadTrans t, MonadTransControl t, MonadDB m) => MonadDB (t m) -- | Definition of internal DBT state. module Database.PostgreSQL.PQTypes.Internal.State -- | Internal DB state. data DBState DBState :: !Connection -> !ConnectionSource -> !TransactionSettings -> !SomeSQL -> !(Maybe QueryResult) -> DBState -- | Active connection. dbConnection :: DBState -> !Connection -- | Supplied connection source. dbConnectionSource :: DBState -> !ConnectionSource -- | Current transaction settings. dbTransactionSettings :: DBState -> !TransactionSettings -- | Last SQL query that was executed. dbLastQuery :: DBState -> !SomeSQL -- | Current query result. dbQueryResult :: DBState -> !(Maybe QueryResult) module Database.PostgreSQL.PQTypes.Internal.Query -- | Run SQL query. runSQLQuery :: (IsSQL sql, MonadBase IO m) => (StateT DBState m Int -> r) -> sql -> r module Database.PostgreSQL.PQTypes.SQL.Raw -- | Form of SQL query which is very close to libpqtypes specific -- representation. Note that, in particular, RawSQL () is -- isomorphic (modulo bottom) to ByteString. data RawSQL row -- | Construct RawSQL from ByteString and a tuple of -- parameters. rawSQL :: (Show row, ToRow row) => ByteString -> row -> RawSQL row -- | Take query string out of RawSQL (). unRawSQL :: RawSQL () -> ByteString instance Eq row => Eq (RawSQL row) instance Ord row => Ord (RawSQL row) instance Show row => Show (RawSQL row) instance SpaceMonoid (RawSQL ()) instance Monoid (RawSQL ()) instance IsString (RawSQL ()) instance (Show row, ToRow row) => IsSQL (RawSQL row) module Database.PostgreSQL.PQTypes.Utils -- | Convert RawSQL () to SQL. raw :: RawSQL () -> SQL -- | Specialization of runQuery that discards the result. runQuery_ :: (IsSQL sql, MonadDB m) => sql -> m () -- | Specialization of runQuery that checks whether -- affected/returned number of rows is in range [0, 1] and returns -- appropriate Bool value. Otherwise, AffectedRowsMismatch -- exception is thrown. runQuery01 :: (IsSQL sql, MonadDB m, MonadThrow m) => sql -> m Bool -- | Specialization of runQuery01 that discards the result. runQuery01_ :: (IsSQL sql, MonadDB m, MonadThrow m) => sql -> m () -- | Specialization of runQuery to SQL type. runSQL :: MonadDB m => SQL -> m Int -- | Specialization of runQuery_ to SQL type. runSQL_ :: MonadDB m => SQL -> m () -- | Specialization of runQuery01 to SQL type. runSQL01 :: (MonadDB m, MonadThrow m) => SQL -> m Bool -- | Specialization of runQuery01_ to SQL type. runSQL01_ :: (MonadDB m, MonadThrow m) => SQL -> m () -- | Specialization of foldrM that fetches list of rows. fetchMany :: (MonadDB m, FromRow row) => (row -> t) -> m [t] -- | Specialization of foldlM that fetches one or zero rows. If more -- rows are delivered, AffectedRowsMismatch exception is thrown. fetchMaybe :: (MonadDB m, MonadThrow m, FromRow row) => (row -> t) -> m (Maybe t) -- | Specialization of foldlM that fetches exactly one row. If -- different number of rows is delivered, AffectedRowsMismatch -- exception is thrown. fetchOne :: (MonadDB m, MonadThrow m, FromRow row) => (row -> t) -> m t -- | Throw 'HPQTypesError exception. hpqTypesError :: String -> IO a module Database.PostgreSQL.PQTypes.Transaction -- | Wrapper that represents savepoint name. newtype Savepoint Savepoint :: (RawSQL ()) -> Savepoint -- | Create a savepoint and roll back to it if given monadic action throws. -- This may only be used if a transaction is already active. Note that it -- provides something like "nested transaction". -- -- See -- http://www.postgresql.org/docs/current/static/sql-savepoint.html withSavepoint :: (MonadDB m, MonadMask m) => Savepoint -> m a -> m a -- | Same as withTransaction' except that it uses current -- transaction settings instead of custom ones. It is worth noting that -- changing transaction settings inside supplied monadic action won't -- have any effect on the final commit / rollback as -- settings that were in effect during the call to withTransaction -- will be used. withTransaction :: (MonadDB m, MonadMask m) => m a -> m a -- | Begin transaction using current transaction settings. begin :: MonadDB m => m () -- | Commit active transaction using current transaction settings. commit :: MonadDB m => m () -- | Rollback active transaction using current transaction settings. rollback :: MonadDB m => m () -- | Execute monadic action within a transaction using given transaction -- settings. Note that it won't work as expected if a transaction is -- already active (in such case withSavepoint should be used -- instead). withTransaction' :: (MonadDB m, MonadMask m) => TransactionSettings -> m a -> m a -- | Begin transaction using given transaction settings. begin' :: MonadDB m => TransactionSettings -> m () -- | Commit active transaction using given transaction settings. commit' :: MonadDB m => TransactionSettings -> m () -- | Rollback active transaction using given transaction settings. rollback' :: MonadDB m => TransactionSettings -> m () module Database.PostgreSQL.PQTypes.Internal.Monad -- | Monad transformer for adding database interaction capabilities to the -- underlying monad. newtype DBT m a DBT :: InnerDBT m a -> DBT m a unDBT :: DBT m a -> InnerDBT m a -- | Evaluate monadic action with supplied connection source and -- transaction settings. runDBT :: (MonadBase IO m, MonadMask m) => ConnectionSource -> TransactionSettings -> DBT m a -> m a -- | Transform the underlying monad. mapDBT :: (m (a, DBState) -> n (b, DBState)) -> DBT m a -> DBT n b instance (Functor m, MonadPlus m) => Alternative (DBT m) instance (Monad m, Functor m) => Applicative (DBT m) instance Functor m => Functor (DBT m) instance Monad m => Monad (DBT m) instance MonadBase b m => MonadBase b (DBT m) instance MonadCatch m => MonadCatch (DBT m) instance MonadIO m => MonadIO (DBT m) instance MonadMask m => MonadMask (DBT m) instance MonadPlus m => MonadPlus (DBT m) instance MonadTrans DBT instance MonadWriter w m => MonadWriter w (DBT m) instance MonadState s m => MonadState s (DBT m) instance MonadReader r m => MonadReader r (DBT m) instance MonadError e m => MonadError e (DBT m) instance MonadThrow m => MonadThrow (DBT m) instance MonadBaseControl b m => MonadBaseControl b (DBT m) instance MonadTransControl DBT instance (MonadBase IO m, MonadMask m) => MonadDB (DBT m) -- | Set of definitions exposed to the end user. module Database.PostgreSQL.PQTypes -- | Wrapper for hiding representation of a connection object. data Connection -- | Simple connection statistics. data ConnectionStats ConnectionStats :: !Int -> !Int -> !Int -> !Int -> ConnectionStats -- | Number of queries executed so far. statsQueries :: ConnectionStats -> !Int -- | Number of rows fetched from the database. statsRows :: ConnectionStats -> !Int -- | Number of values fetched from the database. statsValues :: ConnectionStats -> !Int -- | Number of parameters sent to the database. statsParams :: ConnectionStats -> !Int data ConnectionSettings ConnectionSettings :: !ByteString -> !(Maybe ByteString) -> ![ByteString] -> ConnectionSettings -- | Connection info string. csConnInfo :: ConnectionSettings -> !ByteString -- | Client-side encoding. If set to Nothing, database encoding is -- used. csClientEncoding :: ConnectionSettings -> !(Maybe ByteString) -- | A list of composite types to register. In order to be able to -- (de)serialize specific composite types, you need to register them. csComposites :: ConnectionSettings -> ![ByteString] -- | Default connection settings. defaultSettings :: ConnectionSettings -- | Database connection supplier. data ConnectionSource -- | Default connection supplier. It estabilishes new database connection -- each time withConnection is called. defaultSource :: ConnectionSettings -> ConnectionSource -- | Pooled source. It uses striped pool from resource-pool package to -- cache estabilished connections and reuse them. poolSource :: ConnectionSettings -> Int -> NominalDiffTime -> Int -> IO ConnectionSource -- | SQL error code. Reference: -- http://www.postgresql.org/docs/devel/static/errcodes-appendix.html. data ErrorCode SuccessfulCompletion :: ErrorCode Warning :: ErrorCode DynamicResultSetsReturned :: ErrorCode ImplicitZeroBitPadding :: ErrorCode NullValueEliminatedInSetFunction :: ErrorCode PrivilegeNotGranted :: ErrorCode PrivilegeNotRevoked :: ErrorCode StringDataRightTruncation_01 :: ErrorCode DeprecatedFeature :: ErrorCode NoData :: ErrorCode NoAdditionalDynamicResultSetsReturned :: ErrorCode SqlStatementNotYetComplete :: ErrorCode ConnectionException :: ErrorCode ConnectionDoesNotExist :: ErrorCode ConnectionFailure :: ErrorCode SqlclientUnableToEstablishSqlconnection :: ErrorCode SqlserverRejectedEstablishmentOfSqlconnection :: ErrorCode TransactionResolutionUnknown :: ErrorCode ProtocolViolation :: ErrorCode TriggeredActionException :: ErrorCode FeatureNotSupported :: ErrorCode InvalidTransactionInitiation :: ErrorCode LocatorException :: ErrorCode InvalidLocatorSpecification :: ErrorCode InvalidGrantor :: ErrorCode InvalidGrantOperation :: ErrorCode InvalidRoleSpecification :: ErrorCode DiagnosticsException :: ErrorCode StackedDiagnosticsAccessedWithoutActiveHandler :: ErrorCode CaseNotFound :: ErrorCode CardinalityViolation :: ErrorCode DataException :: ErrorCode ArraySubscriptError :: ErrorCode CharacterNotInRepertoire :: ErrorCode DatetimeFieldOverflow :: ErrorCode DivisionByZero :: ErrorCode ErrorInAssignment :: ErrorCode EscapeCharacterConflict :: ErrorCode IndicatorOverflow :: ErrorCode IntervalFieldOverflow :: ErrorCode InvalidArgumentForLogarithm :: ErrorCode InvalidArgumentForNtileFunction :: ErrorCode InvalidArgumentForNthValueFunction :: ErrorCode InvalidArgumentForPowerFunction :: ErrorCode InvalidArgumentForWidthBucketFunction :: ErrorCode InvalidCharacterValueForCast :: ErrorCode InvalidDatetimeFormat :: ErrorCode InvalidEscapeCharacter :: ErrorCode InvalidEscapeOctet :: ErrorCode InvalidEscapeSequence :: ErrorCode NonstandardUseOfEscapeCharacter :: ErrorCode InvalidIndicatorParameterValue :: ErrorCode InvalidParameterValue :: ErrorCode InvalidRegularExpression :: ErrorCode InvalidRowCountInLimitClause :: ErrorCode InvalidRowCountInResultOffsetClause :: ErrorCode InvalidTimeZoneDisplacementValue :: ErrorCode InvalidUseOfEscapeCharacter :: ErrorCode MostSpecificTypeMismatch :: ErrorCode NullValueNotAllowed_22 :: ErrorCode NullValueNoIndicatorParameter :: ErrorCode NumericValueOutOfRange :: ErrorCode StringDataLengthMismatch :: ErrorCode StringDataRightTruncation_22 :: ErrorCode SubstringError :: ErrorCode TrimError :: ErrorCode UnterminatedCString :: ErrorCode ZeroLengthCharacterString :: ErrorCode FloatingPointException :: ErrorCode InvalidTextRepresentation :: ErrorCode InvalidBinaryRepresentation :: ErrorCode BadCopyFileFormat :: ErrorCode UntranslatableCharacter :: ErrorCode NotAnXmlDocument :: ErrorCode InvalidXmlDocument :: ErrorCode InvalidXmlContent :: ErrorCode InvalidXmlComment :: ErrorCode InvalidXmlProcessingInstruction :: ErrorCode IntegrityConstraintViolation :: ErrorCode RestrictViolation :: ErrorCode NotNullViolation :: ErrorCode ForeignKeyViolation :: ErrorCode UniqueViolation :: ErrorCode CheckViolation :: ErrorCode ExclusionViolation :: ErrorCode InvalidCursorState :: ErrorCode InvalidTransactionState :: ErrorCode ActiveSqlTransaction :: ErrorCode BranchTransactionAlreadyActive :: ErrorCode HeldCursorRequiresSameIsolationLevel :: ErrorCode InappropriateAccessModeForBranchTransaction :: ErrorCode InappropriateIsolationLevelForBranchTransaction :: ErrorCode NoActiveSqlTransactionForBranchTransaction :: ErrorCode ReadOnlySqlTransaction :: ErrorCode SchemaAndDataStatementMixingNotSupported :: ErrorCode NoActiveSqlTransaction :: ErrorCode InFailedSqlTransaction :: ErrorCode InvalidSqlStatementName :: ErrorCode TriggeredDataChangeViolation :: ErrorCode InvalidAuthorizationSpecification :: ErrorCode InvalidPassword :: ErrorCode DependentPrivilegeDescriptorsStillExist :: ErrorCode DependentObjectsStillExist :: ErrorCode InvalidTransactionTermination :: ErrorCode SqlRoutineException :: ErrorCode FunctionExecutedNoReturnStatement :: ErrorCode ModifyingSqlDataNotPermitted_2F :: ErrorCode ProhibitedSqlStatementAttempted_2F :: ErrorCode ReadingSqlDataNotPermitted_2F :: ErrorCode InvalidCursorName :: ErrorCode ExternalRoutineException :: ErrorCode ContainingSqlNotPermitted :: ErrorCode ModifyingSqlDataNotPermitted_38 :: ErrorCode ProhibitedSqlStatementAttempted_38 :: ErrorCode ReadingSqlDataNotPermitted_38 :: ErrorCode ExternalRoutineInvocationException :: ErrorCode InvalidSqlstateReturned :: ErrorCode NullValueNotAllowed_39 :: ErrorCode TriggerProtocolViolated :: ErrorCode SrfProtocolViolated :: ErrorCode SavepointException :: ErrorCode InvalidSavepointSpecification :: ErrorCode InvalidCatalogName :: ErrorCode InvalidSchemaName :: ErrorCode TransactionRollback :: ErrorCode TransactionIntegrityConstraintViolation :: ErrorCode SerializationFailure :: ErrorCode StatementCompletionUnknown :: ErrorCode DeadlockDetected :: ErrorCode SyntaxErrorOrAccessRuleViolation :: ErrorCode SyntaxError :: ErrorCode InsufficientPrivilege :: ErrorCode CannotCoerce :: ErrorCode GroupingError :: ErrorCode WindowingError :: ErrorCode InvalidRecursion :: ErrorCode InvalidForeignKey :: ErrorCode InvalidName :: ErrorCode NameTooLong :: ErrorCode ReservedName :: ErrorCode DatatypeMismatch :: ErrorCode IndeterminateDatatype :: ErrorCode CollationMismatch :: ErrorCode IndeterminateCollation :: ErrorCode WrongObjectType :: ErrorCode UndefinedColumn :: ErrorCode UndefinedFunction :: ErrorCode UndefinedTable :: ErrorCode UndefinedParameter :: ErrorCode UndefinedObject :: ErrorCode DuplicateColumn :: ErrorCode DuplicateCursor :: ErrorCode DuplicateDatabase :: ErrorCode DuplicateFunction :: ErrorCode DuplicatePreparedStatement :: ErrorCode DuplicateSchema :: ErrorCode DuplicateTable :: ErrorCode DuplicateAlias :: ErrorCode DuplicateObject :: ErrorCode AmbiguousColumn :: ErrorCode AmbiguousFunction :: ErrorCode AmbiguousParameter :: ErrorCode AmbiguousAlias :: ErrorCode InvalidColumnReference :: ErrorCode InvalidColumnDefinition :: ErrorCode InvalidCursorDefinition :: ErrorCode InvalidDatabaseDefinition :: ErrorCode InvalidFunctionDefinition :: ErrorCode InvalidPreparedStatementDefinition :: ErrorCode InvalidSchemaDefinition :: ErrorCode InvalidTableDefinition :: ErrorCode InvalidObjectDefinition :: ErrorCode WithCheckOptionViolation :: ErrorCode InsufficientResources :: ErrorCode DiskFull :: ErrorCode OutOfMemory :: ErrorCode TooManyConnections :: ErrorCode ConfigurationLimitExceeded :: ErrorCode ProgramLimitExceeded :: ErrorCode StatementTooComplex :: ErrorCode TooManyColumns :: ErrorCode TooManyArguments :: ErrorCode ObjectNotInPrerequisiteState :: ErrorCode ObjectInUse :: ErrorCode CantChangeRuntimeParam :: ErrorCode LockNotAvailable :: ErrorCode OperatorIntervention :: ErrorCode QueryCanceled :: ErrorCode AdminShutdown :: ErrorCode CrashShutdown :: ErrorCode CannotConnectNow :: ErrorCode DatabaseDropped :: ErrorCode SystemError :: ErrorCode IoError :: ErrorCode UndefinedFile :: ErrorCode DuplicateFile :: ErrorCode ConfigFileError :: ErrorCode LockFileExists :: ErrorCode FdwError :: ErrorCode FdwColumnNameNotFound :: ErrorCode FdwDynamicParameterValueNeeded :: ErrorCode FdwFunctionSequenceError :: ErrorCode FdwInconsistentDescriptorInformation :: ErrorCode FdwInvalidAttributeValue :: ErrorCode FdwInvalidColumnName :: ErrorCode FdwInvalidColumnNumber :: ErrorCode FdwInvalidDataType :: ErrorCode FdwInvalidDataTypeDescriptors :: ErrorCode FdwInvalidDescriptorFieldIdentifier :: ErrorCode FdwInvalidHandle :: ErrorCode FdwInvalidOptionIndex :: ErrorCode FdwInvalidOptionName :: ErrorCode FdwInvalidStringLengthOrBufferLength :: ErrorCode FdwInvalidStringFormat :: ErrorCode FdwInvalidUseOfNullPointer :: ErrorCode FdwTooManyHandles :: ErrorCode FdwOutOfMemory :: ErrorCode FdwNoSchemas :: ErrorCode FdwOptionNameNotFound :: ErrorCode FdwReplyHandle :: ErrorCode FdwSchemaNotFound :: ErrorCode FdwTableNotFound :: ErrorCode FdwUnableToCreateExecution :: ErrorCode FdwUnableToCreateReply :: ErrorCode FdwUnableToEstablishConnection :: ErrorCode PlpgsqlError :: ErrorCode RaiseException :: ErrorCode NoDataFound :: ErrorCode TooManyRows :: ErrorCode InternalError :: ErrorCode DataCorrupted :: ErrorCode IndexCorrupted :: ErrorCode UnknownErrorCode :: String -> ErrorCode -- | SQL query error. Reference: description of PQresultErrorField at -- http://www.postgresql.org/docs/devel/static/libpq-exec.html. data DetailedQueryError DetailedQueryError :: !String -> !ErrorCode -> !String -> !(Maybe String) -> !(Maybe String) -> !(Maybe Int) -> !(Maybe Int) -> !(Maybe String) -> !(Maybe String) -> !(Maybe String) -> !(Maybe Int) -> !(Maybe String) -> DetailedQueryError qeSeverity :: DetailedQueryError -> !String qeErrorCode :: DetailedQueryError -> !ErrorCode qeMessagePrimary :: DetailedQueryError -> !String qeMessageDetail :: DetailedQueryError -> !(Maybe String) qeMessageHint :: DetailedQueryError -> !(Maybe String) qeStatementPosition :: DetailedQueryError -> !(Maybe Int) qeInternalPosition :: DetailedQueryError -> !(Maybe Int) qeInternalQuery :: DetailedQueryError -> !(Maybe String) qeContext :: DetailedQueryError -> !(Maybe String) qeSourceFile :: DetailedQueryError -> !(Maybe String) qeSourceLine :: DetailedQueryError -> !(Maybe Int) qeSourceFunction :: DetailedQueryError -> !(Maybe String) -- | Simple SQL query error. Thrown when there is no PGresult object -- corresponding to query execution. newtype QueryError QueryError :: String -> QueryError -- | Internal error in this library. newtype HPQTypesError HPQTypesError :: String -> HPQTypesError -- | Internal error in libpq/libpqtypes library. newtype LibPQError LibPQError :: String -> LibPQError -- | Data conversion error. Since it's polymorphic in error type, it nicely -- reports arbitrarily nested conversion errors. data ConversionError ConversionError :: !Int -> !String -> !Int -> !e -> ConversionError -- | Column number (Starts with 1). convColumn :: ConversionError -> !Int -- | Name of the column. convColumnName :: ConversionError -> !String -- | Row number (Starts with 1). convRow :: ConversionError -> !Int -- | Exact error. convError :: ConversionError -> !e -- | Array item error. Polymorphic in error type for the same reason as -- ConversionError. data ArrayItemError ArrayItemError :: !Int -> !e -> ArrayItemError -- | Item index (Starts with 1). arrItemIndex :: ArrayItemError -> !Int -- | Exact error. arrItemError :: ArrayItemError -> !e -- | "Invalid value" error for various data types. data InvalidValue t InvalidValue :: t -> Maybe [t] -> InvalidValue t -- | Invalid value. ivValue :: InvalidValue t -> t ivValidValues :: InvalidValue t -> Maybe [t] -- | Range error for various data types. data RangeError t RangeError :: [(t, t)] -> t -> RangeError t -- | Allowed range (sum of acceptable ranges). reRange :: RangeError t -> [(t, t)] -- | Provided value which is not in above range. reValue :: RangeError t -> t -- | Array dimenstion mismatch error. data ArrayDimensionMismatch ArrayDimensionMismatch :: !Int -> !Int -> ArrayDimensionMismatch -- | Dimension expected by the library. arrDimExpected :: ArrayDimensionMismatch -> !Int -- | Dimension provided by the database. arrDimDelivered :: ArrayDimensionMismatch -> !Int -- | Row length mismatch error. data RowLengthMismatch RowLengthMismatch :: !Int -> !Int -> RowLengthMismatch -- | Length expected by the library. lengthExpected :: RowLengthMismatch -> !Int -- | Length delivered by the database. lengthDelivered :: RowLengthMismatch -> !Int -- | Affected/returned rows mismatch error. data AffectedRowsMismatch AffectedRowsMismatch :: ![(Int, Int)] -> !Int -> AffectedRowsMismatch -- | Number of rows expected by the library, expressed as sum of acceptable -- ranges, eg. [(1,2), (5,10)] means that it would accept 1, 2, 5, 6, 7, -- 8, 9 or 10 affected/returned rows. rowsExpected :: AffectedRowsMismatch -> ![(Int, Int)] -- | Number of affected/returned rows by the database. rowsDelivered :: AffectedRowsMismatch -> !Int -- | Main exception type. All exceptions thrown by the library are -- additionally wrapped in this type. data DBException DBException :: !sql -> !e -> DBException -- | Last SQL query that was executed. dbeQueryContext :: DBException -> !sql -- | Specific error. dbeError :: DBException -> !e -- | Monad transformer for adding database interaction capabilities to the -- underlying monad. data DBT m a -- | Evaluate monadic action with supplied connection source and -- transaction settings. runDBT :: (MonadBase IO m, MonadMask m) => ConnectionSource -> TransactionSettings -> DBT m a -> m a -- | Transform the underlying monad. mapDBT :: (m (a, DBState) -> n (b, DBState)) -> DBT m a -> DBT n b -- | Wrapper for hiding representation of query result. data QueryResult -- | Extract number of returned tuples (rows) from query result. ntuples :: QueryResult -> Int -- | Extract number of returned fields (columns) from query result. nfields :: QueryResult -> Int