From: <kr_...@us...> - 2004-01-04 13:15:15
|
Update of /cvsroot/htoolkit/HSQL/ODBC In directory sc8-pr-cvs1:/tmp/cvs-serv27195/ODBC Modified Files: HSQL.hsc Added Files: HsODBC.h Removed Files: HSQLStructs.h Log Message: Make the HSQL package compatible with Hugs --- NEW FILE: HsODBC.h --- #ifndef HsODBC #define HsODBC #if defined(WINODBC) #include <windows.h> #endif #include <sqlext.h> #define FIELD_NAME_LENGTH 255 typedef struct { HSTMT hSTMT; SQLUSMALLINT fieldsCount; SQLCHAR fieldName[FIELD_NAME_LENGTH]; SQLSMALLINT NameLength; SQLSMALLINT DataType; SQLULEN ColumnSize; SQLSMALLINT DecimalDigits; SQLSMALLINT Nullable; } FIELD; #endif Index: HSQL.hsc =================================================================== RCS file: /cvsroot/htoolkit/HSQL/ODBC/HSQL.hsc,v retrieving revision 1.9 retrieving revision 1.10 diff -C2 -d -r1.9 -r1.10 *** HSQL.hsc 4 Jan 2004 10:22:34 -0000 1.9 --- HSQL.hsc 4 Jan 2004 13:14:58 -0000 1.10 *************** *** 40,44 **** import Foreign import Foreign.C - import qualified Foreign.Concurrent as C import Control.Monad(when,unless) import Control.Exception (throwDyn, catchDyn, dynExceptions, Exception(..), finally) --- 40,43 ---- *************** *** 47,51 **** #include <time.h> ! #include <HSQLStructs.h> type SQLHANDLE = Ptr () --- 46,50 ---- #include <time.h> ! #include <HsODBC.h> type SQLHANDLE = Ptr () *************** *** 63,83 **** type SQLULEN = SQLINTEGER ! foreign import stdcall "sqlext.h SQLAllocEnv" sqlAllocEnv :: Ptr HENV -> IO SQLRETURN ! foreign import stdcall "sqlext.h SQLFreeEnv" sqlFreeEnv :: HENV -> IO () ! foreign import stdcall "sqlext.h SQLAllocConnect" sqlAllocConnect :: HENV -> Ptr HDBC -> IO SQLRETURN ! foreign import stdcall "sqlext.h SQLFreeConnect" sqlFreeConnect:: HDBC -> IO SQLRETURN ! foreign import stdcall "sqlext.h SQLConnect" sqlConnect :: HDBC -> CString -> Int -> CString -> Int -> CString -> Int -> IO SQLRETURN ! foreign import stdcall "sqlext.h SQLDisconnect" sqlDisconnect :: HDBC -> IO SQLRETURN ! foreign import stdcall "sqlext.h SQLAllocStmt" sqlAllocStmt :: HDBC -> Ptr HSTMT -> IO SQLRETURN ! foreign import stdcall "sqlext.h SQLFreeStmt" sqlFreeStmt :: HSTMT -> SQLUSMALLINT -> IO SQLRETURN ! foreign import stdcall "sqlext.h SQLNumResultCols" sqlNumResultCols :: HSTMT -> Ptr SQLUSMALLINT -> IO SQLRETURN ! foreign import stdcall "sqlext.h SQLDescribeCol" sqlDescribeCol :: HSTMT -> SQLUSMALLINT -> CString -> SQLSMALLINT -> Ptr SQLSMALLINT -> Ptr SQLSMALLINT -> Ptr SQLULEN -> Ptr SQLSMALLINT -> Ptr SQLSMALLINT -> IO SQLRETURN ! foreign import stdcall "sqlext.h SQLBindCol" sqlBindCol :: HSTMT -> SQLUSMALLINT -> SQLSMALLINT -> Ptr a -> SQLLEN -> Ptr SQLINTEGER -> IO SQLRETURN ! foreign import stdcall "sqlext.h SQLFetch" sqlFetch :: HSTMT -> IO SQLRETURN ! foreign import stdcall "sqlext.h SQLGetDiagRec" sqlGetDiagRec :: SQLSMALLINT -> SQLHANDLE -> SQLSMALLINT -> CString -> Ptr SQLINTEGER -> CString -> SQLSMALLINT -> Ptr SQLSMALLINT -> IO SQLRETURN ! foreign import stdcall "sqlext.h SQLExecDirect" sqlExecDirect :: HSTMT -> CString -> Int -> IO SQLRETURN ! foreign import stdcall "sqlext.h SQLSetConnectOption" sqlSetConnectOption :: HDBC -> SQLUSMALLINT -> SQLULEN -> IO SQLRETURN ! foreign import stdcall "sqlext.h SQLTransact" sqlTransact :: HENV -> HDBC -> SQLUSMALLINT -> IO SQLRETURN ! foreign import stdcall "sqlext.h SQLGetData" sqlGetData :: HSTMT -> SQLUSMALLINT -> SQLSMALLINT -> Ptr () -> SQLINTEGER -> Ptr SQLINTEGER -> IO SQLRETURN --- 62,82 ---- type SQLULEN = SQLINTEGER ! foreign import stdcall "HsODBC.h SQLAllocEnv" sqlAllocEnv :: Ptr HENV -> IO SQLRETURN ! foreign import stdcall "HsODBC.h &SQLFreeEnv" sqlFreeEnv_p :: FunPtr (HENV -> IO ()) ! foreign import stdcall "HsODBC.h SQLAllocConnect" sqlAllocConnect :: HENV -> Ptr HDBC -> IO SQLRETURN ! foreign import stdcall "HsODBC.h SQLFreeConnect" sqlFreeConnect:: HDBC -> IO SQLRETURN ! foreign import stdcall "HsODBC.h SQLConnect" sqlConnect :: HDBC -> CString -> Int -> CString -> Int -> CString -> Int -> IO SQLRETURN ! foreign import stdcall "HsODBC.h SQLDisconnect" sqlDisconnect :: HDBC -> IO SQLRETURN ! foreign import stdcall "HsODBC.h SQLAllocStmt" sqlAllocStmt :: HDBC -> Ptr HSTMT -> IO SQLRETURN ! foreign import stdcall "HsODBC.h SQLFreeStmt" sqlFreeStmt :: HSTMT -> SQLUSMALLINT -> IO SQLRETURN ! foreign import stdcall "HsODBC.h SQLNumResultCols" sqlNumResultCols :: HSTMT -> Ptr SQLUSMALLINT -> IO SQLRETURN ! foreign import stdcall "HsODBC.h SQLDescribeCol" sqlDescribeCol :: HSTMT -> SQLUSMALLINT -> CString -> SQLSMALLINT -> Ptr SQLSMALLINT -> Ptr SQLSMALLINT -> Ptr SQLULEN -> Ptr SQLSMALLINT -> Ptr SQLSMALLINT -> IO SQLRETURN ! foreign import stdcall "HsODBC.h SQLBindCol" sqlBindCol :: HSTMT -> SQLUSMALLINT -> SQLSMALLINT -> Ptr a -> SQLLEN -> Ptr SQLINTEGER -> IO SQLRETURN ! foreign import stdcall "HsODBC.h SQLFetch" sqlFetch :: HSTMT -> IO SQLRETURN ! foreign import stdcall "HsODBC.h SQLGetDiagRec" sqlGetDiagRec :: SQLSMALLINT -> SQLHANDLE -> SQLSMALLINT -> CString -> Ptr SQLINTEGER -> CString -> SQLSMALLINT -> Ptr SQLSMALLINT -> IO SQLRETURN ! foreign import stdcall "HsODBC.h SQLExecDirect" sqlExecDirect :: HSTMT -> CString -> Int -> IO SQLRETURN ! foreign import stdcall "HsODBC.h SQLSetConnectOption" sqlSetConnectOption :: HDBC -> SQLUSMALLINT -> SQLULEN -> IO SQLRETURN ! foreign import stdcall "HsODBC.h SQLTransact" sqlTransact :: HENV -> HDBC -> SQLUSMALLINT -> IO SQLRETURN ! foreign import stdcall "HsODBC.h SQLGetData" sqlGetData :: HSTMT -> SQLUSMALLINT -> SQLSMALLINT -> Ptr () -> SQLINTEGER -> Ptr SQLINTEGER -> IO SQLRETURN *************** *** 139,143 **** { seFieldName :: String } ! deriving (Show, Typeable) ----------------------------------------------------------------------------------------- --- 138,148 ---- { seFieldName :: String } ! deriving Show ! ! sqlErrorTc :: TyCon ! sqlErrorTc = mkTyCon "Database.ODBC.HSQL.SqlError" ! ! instance Typeable SqlError where ! typeOf _ = mkAppTy sqlErrorTc [] ----------------------------------------------------------------------------------------- *************** *** 196,200 **** free phEnv handleSqlResult 0 nullPtr res ! C.newForeignPtr hEnv (sqlFreeEnv hEnv) ----------------------------------------------------------------------------------------- --- 201,205 ---- free phEnv handleSqlResult 0 nullPtr res ! newForeignPtr sqlFreeEnv_p hEnv ----------------------------------------------------------------------------------------- --- HSQLStructs.h DELETED --- |