-- Hoogle documentation, generated by Haddock
-- See Hoogle, http://www.haskell.org/hoogle/


-- | A Haskell Interface to ODBC.
--   
--   ODBC driver for HSQL.
@package hsql-odbc
@version 1.8.2

module DB.HSQL.ODBC.Type
type SQLHANDLE = Ptr ()
type HENV = SQLHANDLE
type HDBC = SQLHANDLE
type HSTMT = SQLHANDLE
type HENVRef = ForeignPtr ()
type SQLSMALLINT = Int16
type SQLUSMALLINT = Word16
type SQLINTEGER = Int32
type SQLUINTEGER = Word32
type SQLRETURN = SQLSMALLINT
type SQLLEN = SQLINTEGER
type SQLULEN = SQLINTEGER
mkSqlType :: SQLSMALLINT -> SQLULEN -> SQLSMALLINT -> SqlType

-- | #const
sqlChar :: Integer
sqlVarChar :: Integer
sqlLongVarChar :: Integer
sqlDecimal :: Integer
sqlNumeric :: Integer
sqlSmallint :: Integer
sqlInteger :: Integer
sqlReal :: Integer
sqlFloat :: Integer
sqlDouble :: Integer
sqlBit :: Integer
sqlTinyInt :: Integer
sqlBigint :: Integer
sqlBinary :: Integer
sqlVarBinary :: Integer
sqlLongVarBinary :: Integer
sqlDate :: Integer
sqlTime :: Integer
sqlTimestamp :: Integer
sqlWChar :: Integer
sqlWVarChar :: Integer
sqlWLongVarChar :: Integer

module DB.HSQL.ODBC.Functions
sqlAllocEnv :: Ptr HENV -> IO SQLRETURN
sqlFreeEnv_p :: FunPtr (HENV -> IO ())
sqlAllocConnect :: HENV -> Ptr HDBC -> IO SQLRETURN
sqlFreeConnect :: HDBC -> IO SQLRETURN
sqlConnect :: HDBC -> CString -> Int -> CString -> Int -> CString -> Int -> IO SQLRETURN
sqlDriverConnect :: HDBC -> Ptr () -> CString -> SQLSMALLINT -> CString -> SQLSMALLINT -> Ptr SQLSMALLINT -> SQLUSMALLINT -> IO SQLRETURN
sqlDisconnect :: HDBC -> IO SQLRETURN
sqlAllocStmt :: HDBC -> Ptr HSTMT -> IO SQLRETURN
sqlFreeStmt :: HSTMT -> SQLUSMALLINT -> IO SQLRETURN
sqlNumResultCols :: HSTMT -> Ptr SQLUSMALLINT -> IO SQLRETURN
sqlDescribeCol :: HSTMT -> SQLUSMALLINT -> CString -> SQLSMALLINT -> Ptr SQLSMALLINT -> Ptr SQLSMALLINT -> Ptr SQLULEN -> Ptr SQLSMALLINT -> Ptr SQLSMALLINT -> IO SQLRETURN
sqlBindCol :: HSTMT -> SQLUSMALLINT -> SQLSMALLINT -> Ptr a -> SQLLEN -> Ptr SQLINTEGER -> IO SQLRETURN
sqlFetch :: HSTMT -> IO SQLRETURN
sqlGetDiagRec :: SQLSMALLINT -> SQLHANDLE -> SQLSMALLINT -> CString -> Ptr SQLINTEGER -> CString -> SQLSMALLINT -> Ptr SQLSMALLINT -> IO SQLRETURN
sqlExecDirect :: HSTMT -> CString -> Int -> IO SQLRETURN
sqlSetConnectOption :: HDBC -> SQLUSMALLINT -> SQLULEN -> IO SQLRETURN
sqlTransact :: HENV -> HDBC -> SQLUSMALLINT -> IO SQLRETURN
sqlGetData :: HSTMT -> SQLUSMALLINT -> SQLSMALLINT -> Ptr () -> SQLINTEGER -> Ptr SQLINTEGER -> IO SQLRETURN
sqlTables :: HSTMT -> CString -> SQLSMALLINT -> CString -> SQLSMALLINT -> CString -> SQLSMALLINT -> CString -> SQLSMALLINT -> IO SQLRETURN
sqlColumns :: HSTMT -> CString -> SQLSMALLINT -> CString -> SQLSMALLINT -> CString -> SQLSMALLINT -> CString -> SQLSMALLINT -> IO SQLRETURN
sqlMoreResults :: HSTMT -> IO SQLRETURN
sqlNts :: SQLSMALLINT
sqlDriverNoPrompt :: SQLUSMALLINT
sqlHandleEnv :: SQLSMALLINT
sqlHandleDbc :: SQLSMALLINT
sizeOfHStmt :: Int
sizeOfField :: Int
sqlHandleStmt :: SQLSMALLINT
sqlDrop :: SQLUSMALLINT
fieldNameLength :: SQLSMALLINT
sqlAutoCommit :: SQLUSMALLINT
sqlAutoCommitOff :: SQLULEN
sqlAutoCommitOn :: SQLULEN
sqlCommit :: SQLUSMALLINT
sqlRollback :: SQLUSMALLINT
sqlNullData :: SQLINTEGER
sqlCChar :: SQLSMALLINT
sqlAttrRowArraySize :: Integer
sqlIsInteger :: Integer
sqlAttrCursorType :: Integer
sqlCursorStatic :: Integer

module DB.HSQL.ODBC.Status
sqlSuccess :: SQLRETURN
sqlNoData :: SQLRETURN
sqlSuccessWithInfo :: SQLRETURN
sqlInvalidHandle :: SQLRETURN
sqlStillExecuting :: SQLRETURN
sqlNeedData :: SQLRETURN
sqlError :: SQLRETURN

module DB.HSQL.ODBC.Core
handleSqlResult :: SQLSMALLINT -> SQLHANDLE -> SQLRETURN -> IO ()
withStatement :: Connection -> HDBC -> (HSTMT -> IO SQLRETURN) -> IO Statement


module Database.HSQL.ODBC

-- | Makes a new connection to the ODBC data source
connect :: String -> String -> String -> IO Connection

-- | <a>driverConnect</a> is an alternative to <a>connect</a>. It supports
--   data sources that require more connection information than the three
--   arguments in <a>connect</a> and data sources that are not defined in
--   the system information.
driverConnect :: String -> IO Connection
