diff options
Diffstat (limited to 'ndb/src/old_files/client/odbc/driver/driver.cpp')
-rw-r--r-- | ndb/src/old_files/client/odbc/driver/driver.cpp | 150 |
1 files changed, 150 insertions, 0 deletions
diff --git a/ndb/src/old_files/client/odbc/driver/driver.cpp b/ndb/src/old_files/client/odbc/driver/driver.cpp new file mode 100644 index 00000000000..f992fa70878 --- /dev/null +++ b/ndb/src/old_files/client/odbc/driver/driver.cpp @@ -0,0 +1,150 @@ +/* Copyright (C) 2003 MySQL AB + + This program is free software; you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 2 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program; if not, write to the Free Software + Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA */ + +#include "driver.hpp" +#include <NdbMutex.h> + +#undef NDB_ODBC_SIG_DFL +#ifdef NDB_ODBC_SIG_DFL +#include <signal.h> +#endif + +// The big mutex (just in case). + +#ifdef NDB_WIN32 +static NdbMutex & driver_mutex = * NdbMutex_Create(); +#else +static NdbMutex driver_mutex = NDB_MUTEX_INITIALIZER; +#endif + +static void +driver_lock() +{ + NdbMutex_Lock(&driver_mutex); +} + +static void +driver_unlock() +{ + NdbMutex_Unlock(&driver_mutex); +} + +// Hooks for function entry and exit. + +static inline void +driver_enter(SQLUSMALLINT functionId) +{ + switch (functionId) { + default: + break; + } +#ifdef NDB_ODBC_SIG_DFL + // XXX need to restore old sig + for (int i = 1; i <= 30; i++) + signal(i, SIG_DFL); +#endif +} + +static inline void +driver_exit(SQLUSMALLINT functionId) +{ + switch (functionId) { + default: + break; + } +} + +// Some C++ compilers (like gcc) cannot merge template code +// in different files. So compile all in one file. + +#include "SQLAllocConnect.cpp" +#include "SQLAllocEnv.cpp" +#include "SQLAllocHandle.cpp" +#include "SQLAllocHandleStd.cpp" +#include "SQLAllocStmt.cpp" +#include "SQLBindCol.cpp" +#include "SQLBindParam.cpp" +#include "SQLBindParameter.cpp" +#include "SQLBrowseConnect.cpp" +#include "SQLBulkOperations.cpp" +#include "SQLCancel.cpp" +#include "SQLCloseCursor.cpp" +#include "SQLColAttribute.cpp" +#include "SQLColAttributes.cpp" +#include "SQLColumnPrivileges.cpp" +#include "SQLColumns.cpp" +#include "SQLConnect.cpp" +#include "SQLCopyDesc.cpp" +#include "SQLDataSources.cpp" +#include "SQLDescribeCol.cpp" +#include "SQLDescribeParam.cpp" +#include "SQLDisconnect.cpp" +#include "SQLDriverConnect.cpp" +#include "SQLDrivers.cpp" +#include "SQLEndTran.cpp" +#include "SQLError.cpp" +#include "SQLExecDirect.cpp" +#include "SQLExecute.cpp" +#include "SQLExtendedFetch.cpp" +#include "SQLFetch.cpp" +#include "SQLFetchScroll.cpp" +#include "SQLForeignKeys.cpp" +#include "SQLFreeConnect.cpp" +#include "SQLFreeEnv.cpp" +#include "SQLFreeHandle.cpp" +#include "SQLFreeStmt.cpp" +#include "SQLGetConnectAttr.cpp" +#include "SQLGetConnectOption.cpp" +#include "SQLGetCursorName.cpp" +#include "SQLGetData.cpp" +#include "SQLGetDescField.cpp" +#include "SQLGetDescRec.cpp" +#include "SQLGetDiagField.cpp" +#include "SQLGetDiagRec.cpp" +#include "SQLGetEnvAttr.cpp" +#include "SQLGetFunctions.cpp" +#include "SQLGetInfo.cpp" +#include "SQLGetStmtAttr.cpp" +#include "SQLGetStmtOption.cpp" +#include "SQLGetTypeInfo.cpp" +#include "SQLMoreResults.cpp" +#include "SQLNativeSql.cpp" +#include "SQLNumParams.cpp" +#include "SQLNumResultCols.cpp" +#include "SQLParamData.cpp" +#include "SQLParamOptions.cpp" +#include "SQLPrepare.cpp" +#include "SQLPrimaryKeys.cpp" +#include "SQLProcedureColumns.cpp" +#include "SQLProcedures.cpp" +#include "SQLPutData.cpp" +#include "SQLRowCount.cpp" +#include "SQLSetConnectAttr.cpp" +#include "SQLSetConnectOption.cpp" +#include "SQLSetCursorName.cpp" +#include "SQLSetDescField.cpp" +#include "SQLSetDescRec.cpp" +#include "SQLSetEnvAttr.cpp" +#include "SQLSetParam.cpp" +#include "SQLSetPos.cpp" +#include "SQLSetScrollOptions.cpp" +#include "SQLSetStmtAttr.cpp" +#include "SQLSetStmtOption.cpp" +#include "SQLSpecialColumns.cpp" +#include "SQLStatistics.cpp" +#include "SQLTablePrivileges.cpp" +#include "SQLTables.cpp" +#include "SQLTransact.cpp" |