From c89eeaa869a7fee2072df791bc066229c10d1504 Mon Sep 17 00:00:00 2001 From: Korinne Adler Date: Wed, 21 Aug 2024 18:45:01 -0500 Subject: [PATCH] refactor: Remove dynodbc support I don't think this has ever been enabled by default and certainly hasn't been tested in years. Trying to dynamically load the ODBC libraries is fraught with problems for a cross-platform module such as this. --- binding.gyp | 1 - src/dynodbc.cpp | 189 ------------------------ src/dynodbc.h | 383 ------------------------------------------------ src/odbc.cpp | 21 --- src/odbc.h | 8 - 5 files changed, 602 deletions(-) delete mode 100644 src/dynodbc.cpp delete mode 100644 src/dynodbc.h diff --git a/binding.gyp b/binding.gyp index a19ac7e0..a7e0c412 100644 --- a/binding.gyp +++ b/binding.gyp @@ -7,7 +7,6 @@ 'src/odbc_connection.cpp', 'src/odbc_statement.cpp', 'src/odbc_cursor.cpp', - 'src/dynodbc.cpp' ], 'cflags' : ['-Wall', '-Wextra', '-Wno-unused-parameter', '-DNAPI_DISABLE_CPP_EXCEPTIONS'], 'include_dirs': [ diff --git a/src/dynodbc.cpp b/src/dynodbc.cpp deleted file mode 100644 index e7a74661..00000000 --- a/src/dynodbc.cpp +++ /dev/null @@ -1,189 +0,0 @@ -#ifdef dynodbc - -#include "dynodbc.h" -#include - -#ifdef _WIN32 - #include -#elif defined(__GNUC__) // GNU compiler - #include -#else -#error define your copiler -#endif - -#include -/* -#define RTLD_LAZY 1 -#define RTLD_NOW 2 -#define RTLD_GLOBAL 4 -*/ - -void* LoadSharedLibrary(char *pcDllname, int iMode = 2) -{ - std::string sDllName = pcDllname; -#ifdef _WIN32 - sDllName += ".dll"; - return (void*)LoadLibraryA(pcDllname); -#elif defined(__GNUC__) // GNU compiler - sDllName += ".so"; - void* handle = dlopen(sDllName.c_str(),iMode); - - if (!handle) { - printf("node-odbc: error loading ODBC library: %s\n", dlerror()); - } - - return handle; -#endif -} - -void* GetFunction(void *Lib, char *Fnname) -{ -#if defined(_MSC_VER) // Microsoft compiler - return (void*)GetProcAddress((HINSTANCE)Lib,Fnname); -#elif defined(__GNUC__) // GNU compiler - void * tmp = dlsym(Lib, Fnname); - if (!tmp) { - printf("node-odbc: error loading function: %s\n", Fnname); - } - return tmp; -#endif -} - -bool FreeSharedLibrary(void *hDLL) -{ -#if defined(_MSC_VER) // Microsoft compiler - return (FreeLibrary((HINSTANCE)hDLL)!=0); -#elif defined(__GNUC__) // GNU compiler - return dlclose(hDLL); -#endif -} - -pfnSQLGetData pSQLGetData; -pfnSQLGetFunctions pSQLGetFunctions; -pfnSQLAllocConnect pSQLAllocConnect; -pfnSQLAllocEnv pSQLAllocEnv; -pfnSQLAllocStmt pSQLAllocStmt; -pfnSQLBindCol pSQLBindCol; -pfnSQLCancel pSQLCancel; -pfnSQLColAttributes pSQLColAttributes; -pfnSQLConnect pSQLConnect; -pfnSQLDescribeCol pSQLDescribeCol; -pfnSQLDisconnect pSQLDisconnect; -pfnSQLError pSQLError; -pfnSQLExecDirect pSQLExecDirect; -pfnSQLExecute pSQLExecute; -pfnSQLFetch pSQLFetch; -pfnSQLGetDiagRec pSQLGetDiagRec; -pfnSQLGetDiagField pSQLGetDiagField; -pfnSQLFreeHandle pSQLFreeHandle; -pfnSQLFetchScroll pSQLFetchScroll; -pfnSQLColAttribute pSQLColAttribute; -pfnSQLSetConnectAttr pSQLSetConnectAttr; -pfnSQLDriverConnect pSQLDriverConnect; -pfnSQLAllocHandle pSQLAllocHandle; -pfnSQLRowCount pSQLRowCount; -pfnSQLNumResultCols pSQLNumResultCols; -pfnSQLEndTran pSQLEndTran; -pfnSQLTables pSQLTables; -pfnSQLColumns pSQLColumns; -pfnSQLBindParameter pSQLBindParameter; -pfnSQLPrimaryKeys pSQLPrimaryKeys; -pfnSQLSetEnvAttr pSQLSetEnvAttr ; -pfnSQLFreeConnect pSQLFreeConnect; -pfnSQLFreeEnv pSQLFreeEnv; -pfnSQLFreeStmt pSQLFreeStmt; -pfnSQLGetCursorName pSQLGetCursorName; -pfnSQLPrepare pSQLPrepare; -pfnSQLSetCursorName pSQLSetCursorName; -pfnSQLTransact pSQLTransact; -pfnSQLSetConnectOption pSQLSetConnectOption; -pfnSQLDrivers pSQLDrivers; -pfnSQLDataSources pSQLDataSources; -pfnSQLGetInfo pSQLGetInfo; -pfnSQLMoreResults pSQLMoreResults; - -//#define LOAD_ENTRY( hMod, Name ) (p##Name = (pfn##Name) GetProcAddress( (hMod), #Name )) -#define LOAD_ENTRY( hMod, Name ) (p##Name = (pfn##Name) GetFunction( (hMod), #Name )) - -static BOOL s_fODBCLoaded = false; - -BOOL DynLoadODBC( char* odbcModuleName ) -{ -#ifdef _WIN32 - HMODULE hMod; -#elif defined(__GNUC__) // GNU compiler - void* hMod; -#endif - - if ( s_fODBCLoaded ) - return true; - - // if ( (hMod = (HMODULE) LoadLibrary( odbcModuleName ))) { -#ifdef _WIN32 - if ( (hMod = (HMODULE) LoadSharedLibrary( odbcModuleName ))) { -#elif defined(__GNUC__) // GNU compiler - if ( (hMod = (void *) LoadSharedLibrary( odbcModuleName ))) { -#endif - -//#if (ODBCVER < 0x0300) - if (LOAD_ENTRY( hMod, SQLGetData ) ) - if (LOAD_ENTRY( hMod, SQLGetFunctions ) ) - //Unused-> if (LOAD_ENTRY( hMod, SQLAllocConnect ) ) - //Unused-> if (LOAD_ENTRY( hMod, SQLAllocEnv ) ) - //Unused-> if (LOAD_ENTRY( hMod, SQLAllocStmt ) ) - //Unused-> if (LOAD_ENTRY( hMod, SQLColAttributes ) ) - //Unused-> if (LOAD_ENTRY( hMod, SQLError ) ) - //Unused-> if (LOAD_ENTRY( hMod, SQLFreeConnect ) ) - //Unused-> if (LOAD_ENTRY( hMod, SQLFreeEnv ) ) - //Unused-> if (LOAD_ENTRY( hMod, SQLTransact ) ) - //Unused-> if (LOAD_ENTRY( hMod, SQLSetConnectOption ) ) -/* - * NOTE: This is commented out because it wouldn't be used - * in a direct-to-driver situation and we currently never - * call SQLDrivers. But if we ever do we may need to have - * some type of flag to determine if we should try to load - * this function if the user is not doing a direct-to-driver - * and is specifying a specific libodbc library. - */ -//Unused-> if (LOAD_ENTRY( hMod, SQLDrivers ) ) - - //Unused-> if (LOAD_ENTRY( hMod, SQLDataSources ) ) -//#endif - //Unused-> if (LOAD_ENTRY( hMod, SQLBindCol ) ) - //Unused-> if (LOAD_ENTRY( hMod, SQLCancel ) ) - //Unused-> if (LOAD_ENTRY( hMod, SQLConnect ) ) - //Unused-> if (LOAD_ENTRY( hMod, SQLDescribeCol ) ) - if (LOAD_ENTRY( hMod, SQLDisconnect ) ) - if (LOAD_ENTRY( hMod, SQLExecDirect ) ) - if (LOAD_ENTRY( hMod, SQLExecute ) ) - if (LOAD_ENTRY( hMod, SQLFetch ) ) - if (LOAD_ENTRY( hMod, SQLGetDiagRec ) ) - if (LOAD_ENTRY( hMod, SQLGetDiagField ) ) - if (LOAD_ENTRY( hMod, SQLFreeHandle ) ) - //Unused-> if (LOAD_ENTRY( hMod, SQLFetchScroll ) ) - if (LOAD_ENTRY( hMod, SQLColAttribute ) ) - if (LOAD_ENTRY( hMod, SQLSetConnectAttr ) ) - if (LOAD_ENTRY( hMod, SQLDriverConnect ) ) - if (LOAD_ENTRY( hMod, SQLAllocHandle ) ) - if (LOAD_ENTRY( hMod, SQLRowCount ) ) - if (LOAD_ENTRY( hMod, SQLNumResultCols ) ) - if (LOAD_ENTRY( hMod, SQLEndTran ) ) - if (LOAD_ENTRY( hMod, SQLTables ) ) - if (LOAD_ENTRY( hMod, SQLColumns ) ) - if (LOAD_ENTRY( hMod, SQLBindParameter ) ) - //Unused-> if (LOAD_ENTRY( hMod, SQLPrimaryKeys) ) - if (LOAD_ENTRY( hMod, SQLSetEnvAttr ) ) - if (LOAD_ENTRY( hMod, SQLFreeStmt ) ) - if (LOAD_ENTRY( hMod, SQLPrepare ) ) - //Unused-> if (LOAD_ENTRY( hMod, SQLGetInfo ) ) - if (LOAD_ENTRY( hMod, SQLBindParameter ) ) - if (LOAD_ENTRY( hMod, SQLMoreResults ) - ) { - - s_fODBCLoaded = true; - } - } - - return (s_fODBCLoaded); -} -#endif diff --git a/src/dynodbc.h b/src/dynodbc.h deleted file mode 100644 index 70c50150..00000000 --- a/src/dynodbc.h +++ /dev/null @@ -1,383 +0,0 @@ -#ifndef _SRC_DYNODBC_H_ -#define _SRC_DYNODBC_H_ - -#ifdef dynodbc - -#ifdef _WIN32 -#include -#endif -#include -#include - -typedef RETCODE (SQL_API * pfnSQLGetData)( - SQLHSTMT StatementHandle, - SQLUSMALLINT Col_or_Param_Num, - SQLSMALLINT TargetType, - SQLPOINTER TargetValuePtr, - SQLLEN BufferLength, - SQLLEN * StrLen_or_IndPtr); - -typedef RETCODE (SQL_API * pfnSQLGetFunctions)( - HDBC ConnectionHandle, - SQLUSMALLINT FunctionId, - SQLUSMALLINT * SupportedPtr); - -typedef RETCODE (SQL_API * pfnSQLAllocConnect)( - HENV henv, - HDBC FAR *phdbc); - -typedef RETCODE (SQL_API * pfnSQLAllocEnv)( - HENV FAR *phenv); - -typedef RETCODE (SQL_API * pfnSQLAllocStmt)( - HDBC hdbc, - HSTMT FAR *phstmt); - -typedef RETCODE (SQL_API * pfnSQLBindCol)( - HSTMT hstmt, - UWORD icol, - SWORD fCType, - PTR rgbValue, - SDWORD cbValueMax, - SDWORD FAR *pcbValue); - -typedef RETCODE (SQL_API * pfnSQLCancel)( - HSTMT hstmt); - -typedef RETCODE (SQL_API * pfnSQLColAttributes)( - HSTMT hstmt, - UWORD icol, - UWORD fDescType, - PTR rgbDesc, - SWORD cbDescMax, - SWORD FAR *pcbDesc, - SDWORD FAR *pfDesc); - - -typedef RETCODE (SQL_API * pfnSQLColAttribute)( - SQLHSTMT StatementHandle, - SQLUSMALLINT ColumnNumber, SQLUSMALLINT FieldIdentifier, - SQLPOINTER CharacterAttribute, SQLSMALLINT BufferLength, - SQLSMALLINT *StringLength, SQLPOINTER NumericAttribute); - -typedef RETCODE (SQL_API * pfnSQLSetConnectAttr)( - SQLHDBC ConnectionHandle, - SQLINTEGER Attribute, SQLPOINTER Value, - SQLINTEGER StringLength); - -typedef RETCODE (SQL_API * pfnSQLDriverConnect)( - SQLHDBC hdbc, - SQLHWND hwnd, - SQLTCHAR *szConnStrIn, - SQLSMALLINT cbConnStrIn, - SQLTCHAR *szConnStrOut, - SQLSMALLINT cbConnStrOutMax, - SQLSMALLINT *pcbConnStrOut, - SQLUSMALLINT fDriverCompletion); - -typedef RETCODE (SQL_API * pfnSQLAllocHandle)( - SQLSMALLINT HandleType, - SQLHANDLE InputHandle, SQLHANDLE *OutputHandle); - -typedef RETCODE (SQL_API * pfnSQLRowCount)( - SQLHSTMT StatementHandle, - SQLLEN *RowCount); - -typedef RETCODE (SQL_API * pfnSQLNumResultCols)( - SQLHSTMT StatementHandle, - SQLSMALLINT *ColumnCount); - -typedef RETCODE (SQL_API * pfnSQLEndTran)( - SQLSMALLINT HandleType, SQLHANDLE Handle, - SQLSMALLINT CompletionType); - -typedef RETCODE (SQL_API * pfnSQLExecDirect)( - SQLHSTMT StatementHandle, - SQLTCHAR *StatementText, SQLINTEGER TextLength); - - -typedef RETCODE (SQL_API * pfnSQLTables)( - SQLHSTMT StatementHandle, - SQLTCHAR *CatalogName, SQLSMALLINT NameLength1, - SQLTCHAR *SchemaName, SQLSMALLINT NameLength2, - SQLTCHAR *TableName, SQLSMALLINT NameLength3, - SQLTCHAR *TableType, SQLSMALLINT NameLength4); - -typedef RETCODE (SQL_API * pfnSQLColumns)( - SQLHSTMT StatementHandle, - SQLTCHAR *CatalogName, SQLSMALLINT NameLength1, - SQLTCHAR *SchemaName, SQLSMALLINT NameLength2, - SQLTCHAR *TableName, SQLSMALLINT NameLength3, - SQLTCHAR *ColumnName, SQLSMALLINT NameLength4); - -typedef RETCODE (SQL_API * pfnSQLBindParameter)( - SQLHSTMT hstmt, - SQLUSMALLINT ipar, - SQLSMALLINT fParamType, - SQLSMALLINT fCType, - SQLSMALLINT fSqlType, - SQLUINTEGER cbColDef, - SQLSMALLINT ibScale, - SQLPOINTER rgbValue, - SQLINTEGER cbValueMax, - SQLLEN *pcbValue); - -typedef RETCODE (SQL_API * pfnSQLPrimaryKeys)( - SQLHSTMT hstmt, - SQLTCHAR *szCatalogName, - SQLSMALLINT cbCatalogName, - SQLTCHAR *szSchemaName, - SQLSMALLINT cbSchemaName, - SQLTCHAR *szTableName, - SQLSMALLINT cbTableName); - -typedef RETCODE (SQL_API * pfnSQLSetEnvAttr)( - SQLHENV EnvironmentHandle, - SQLINTEGER Attribute, SQLPOINTER Value, - SQLINTEGER StringLength); - - -typedef RETCODE (SQL_API * pfnSQLConnect)( - HDBC hdbc, - UCHAR FAR *szDSN, - SWORD cbDSN, - UCHAR FAR *szUID, - SWORD cbUID, - UCHAR FAR *szAuthStr, - SWORD cbAuthStr); - -typedef RETCODE (SQL_API * pfnSQLDescribeCol)( - HSTMT hstmt, - UWORD icol, - UCHAR FAR *szColName, - SWORD cbColNameMax, - SWORD FAR *pcbColName, - SWORD FAR *pfSqlType, - UDWORD FAR *pcbColDef, - SWORD FAR *pibScale, - SWORD FAR *pfNullable); - -typedef RETCODE (SQL_API * pfnSQLDisconnect)( - HDBC hdbc); - -typedef RETCODE (SQL_API * pfnSQLError)( - HENV henv, - HDBC hdbc, - HSTMT hstmt, - UCHAR FAR *szSqlState, - SDWORD FAR *pfNativeError, - UCHAR FAR *szErrorMsg, - SWORD cbErrorMsgMax, - SWORD FAR *pcbErrorMsg); - -/*typedef RETCODE (SQL_API * pfnSQLExecDirect)( - HSTMT hstmt, - UCHAR FAR *szSqlStr, - SDWORD cbSqlStr); -*/ -typedef RETCODE (SQL_API * pfnSQLExecute)( - HSTMT hstmt); - -typedef RETCODE (SQL_API * pfnSQLFetch)( - HSTMT hstmt); - -typedef RETCODE (SQL_API * pfnSQLGetDiagRec)( - SQLSMALLINT HandleType, SQLHANDLE Handle, - SQLSMALLINT RecNumber, SQLTCHAR *Sqlstate, - SQLINTEGER *NativeError, SQLTCHAR *MessageText, - SQLSMALLINT BufferLength, SQLSMALLINT *TextLength); - -typedef RETCODE (SQL_API * pfnSQLGetDiagField)( - SQLSMALLINT HandleType, SQLHANDLE Handle, - SQLSMALLINT RecNumber, SQLSMALLINT DiagIdentifier, - SQLPOINTER DiagInfoPtr, SQLSMALLINT BufferLength, - SQLSMALLINT *StringLengthPtr); - -typedef RETCODE (SQL_API * pfnSQLFreeHandle)( - SQLSMALLINT HandleType, SQLHANDLE Handle); - -typedef RETCODE (SQL_API * pfnSQLFetchScroll)( - SQLHSTMT StatementHandle, - SQLSMALLINT FetchOrientation, SQLINTEGER FetchOffset); - -typedef RETCODE (SQL_API * pfnSQLColAttribute)( - SQLHSTMT StatementHandle, - SQLUSMALLINT ColumnNumber, SQLUSMALLINT FieldIdentifier, - SQLPOINTER CharacterAttribute, SQLSMALLINT BufferLength, - SQLSMALLINT *StringLength, SQLPOINTER NumericAttribute); - - -typedef RETCODE (SQL_API * pfnSQLFreeConnect)( - HDBC hdbc); - -typedef RETCODE (SQL_API * pfnSQLFreeEnv)( - HENV henv); - -typedef RETCODE (SQL_API * pfnSQLFreeStmt)( - HSTMT hstmt, - UWORD fOption); - -typedef RETCODE (SQL_API * pfnSQLGetCursorName)( - HSTMT hstmt, - UCHAR FAR *szCursor, - SWORD cbCursorMax, - SWORD FAR *pcbCursor); - -typedef RETCODE (SQL_API * pfnSQLNumResultCols)( - HSTMT hstmt, - SWORD FAR *pccol); - -typedef RETCODE (SQL_API * pfnSQLPrepare)( - SQLHSTMT StatementHandle, - SQLTCHAR *StatementText, - SQLINTEGER TextLength); -// HSTMT hstmt, -// UCHAR FAR *szSqlStr, -// SDWORD cbSqlStr); - -typedef RETCODE (SQL_API * pfnSQLRowCount)( - HSTMT hstmt, - SQLLEN FAR *pcrow); - -typedef RETCODE (SQL_API * pfnSQLSetCursorName)( - HSTMT hstmt, - UCHAR FAR *szCursor, - SWORD cbCursor); - -typedef RETCODE (SQL_API * pfnSQLTransact)( - HENV henv, - HDBC hdbc, - UWORD fType); - -typedef RETCODE (SQL_API * pfnSQLSetConnectOption)( - HDBC hdbc, - UWORD fOption, - UDWORD vParam); - -typedef RETCODE (SQL_API * pfnSQLDrivers)( - HENV henv, - UWORD fDirection, - UCHAR FAR *szDriverDesc, - SWORD cbDriverDescMax, - SWORD FAR *pcbDriverDesc, - UCHAR FAR *szDriverAttributes, - SWORD cbDrvrAttrMax, - SWORD FAR *pcbDrvrAttr); - -// typedef RETCODE (SQL_API * pfnSQLBindParameter)( -// HSTMT hstmt, -// UWORD ipar, -// SWORD fParamType, -// SWORD fCType, -// SWORD fSqlType, -// UDWORD cbColDef, -// SWORD ibScale, -// PTR rgbValue, -// SDWORD cbValueMax, -// SDWORD FAR *pcbValue); - -typedef RETCODE (SQL_API * pfnSQLDataSources)( - HENV henv, - UWORD fDirection, - UCHAR FAR *szDSN, - SWORD cbDSNMax, - SWORD FAR *pcbDSN, - UCHAR FAR *szDescription, - SWORD cbDescriptionMax, - SWORD FAR *pcbDescription); - -typedef RETCODE (SQL_API * pfnSQLGetInfo)( - HDBC hdbc, - UWORD fInfoType, - PTR rgbInfoValue, - SWORD cbInfoValueMax, - SWORD FAR *pcbInfoValue); - -typedef RETCODE (SQL_API * pfnSQLMoreResults)( - HSTMT hstmt); - -extern pfnSQLGetData pSQLGetData; -extern pfnSQLGetFunctions pSQLGetFunctions; -extern pfnSQLAllocConnect pSQLAllocConnect; -extern pfnSQLAllocEnv pSQLAllocEnv; -extern pfnSQLAllocStmt pSQLAllocStmt; -extern pfnSQLBindCol pSQLBindCol; -extern pfnSQLCancel pSQLCancel; -extern pfnSQLColAttributes pSQLColAttributes; -extern pfnSQLConnect pSQLConnect; -extern pfnSQLDescribeCol pSQLDescribeCol; -extern pfnSQLDisconnect pSQLDisconnect; -extern pfnSQLError pSQLError; -extern pfnSQLExecDirect pSQLExecDirect; -extern pfnSQLExecute pSQLExecute; -extern pfnSQLFetch pSQLFetch; -extern pfnSQLGetDiagRec pSQLGetDiagRec; -extern pfnSQLGetDiagField pSQLGetDiagField; -extern pfnSQLFreeHandle pSQLFreeHandle; -extern pfnSQLFetchScroll pSQLFetchScroll; -extern pfnSQLFetchScroll pSQLFetchScroll; -extern pfnSQLColAttribute pSQLColAttribute; -extern pfnSQLSetConnectAttr pSQLSetConnectAttr; -extern pfnSQLDriverConnect pSQLDriverConnect; -extern pfnSQLAllocHandle pSQLAllocHandle; -extern pfnSQLRowCount pSQLRowCount; -extern pfnSQLNumResultCols pSQLNumResultCols; -extern pfnSQLEndTran pSQLEndTran; -//extern pfnSQLExecDirect pSQLExecDirect; -extern pfnSQLTables pSQLTables; -extern pfnSQLColumns pSQLColumns; -// extern pfnSQLBindParameter pSQLBindParameter; -extern pfnSQLPrimaryKeys pSQLPrimaryKeys; -extern pfnSQLSetEnvAttr pSQLSetEnvAttr; -extern pfnSQLFreeConnect pSQLFreeConnect; -extern pfnSQLFreeEnv pSQLFreeEnv; -extern pfnSQLFreeStmt pSQLFreeStmt; -extern pfnSQLGetCursorName pSQLGetCursorName; -extern pfnSQLNumResultCols pSQLNumResultCols; -extern pfnSQLPrepare pSQLPrepare; -extern pfnSQLRowCount pSQLRowCount; -extern pfnSQLSetCursorName pSQLSetCursorName; -extern pfnSQLTransact pSQLTransact; -extern pfnSQLSetConnectOption pSQLSetConnectOption; -extern pfnSQLDrivers pSQLDrivers; -extern pfnSQLDataSources pSQLDataSources; -extern pfnSQLBindParameter pSQLBindParameter; -extern pfnSQLGetInfo pSQLGetInfo; -extern pfnSQLMoreResults pSQLMoreResults; - -BOOL DynLoadODBC( char* odbcModuleName ); - -#define SQLAllocEnv pSQLAllocEnv -#define SQLAllocConnect pSQLAllocConnect -#define SQLSetConnectOption pSQLSetConnectOption -#define SQLAllocStmt pSQLAllocStmt -#define SQLGetFunctions pSQLGetFunctions -#define SQLError pSQLError -#define SQLGetData pSQLGetData -#define SQLMoreResults pSQLMoreResults -#define SQLPrepare pSQLPrepare -#define SQLExecute pSQLExecute -#define SQLGetDiagRec pSQLGetDiagRec -#define SQLGetDiagField pSQLGetDiagField -#define SQLFreeHandle pSQLFreeHandle -#define SQLFreeStmt pSQLFreeStmt -#define SQLFetchScroll pSQLFetchScroll -#define SQLFetch pSQLFetch -#define SQLBindCol pSQLBindCol -#define SQLColAttribute pSQLColAttribute -#define SQLGetInfo pSQLGetInfo -#define SQLDriverConnect pSQLDriverConnect -#define SQLAllocHandle pSQLAllocHandle -#define SQLDisconnect pSQLDisconnect -#define SQLRowCount pSQLRowCount -#define SQLNumResultCols pSQLNumResultCols -#define SQLSetConnectAttr pSQLSetConnectAttr -#define SQLEndTran pSQLEndTran -#define SQLExecDirect pSQLExecDirect -#define SQLTables pSQLTables -#define SQLColumns pSQLColumns -#define SQLBindParameter pSQLBindParameter -#define SQLPrimaryKeys pSQLPrimaryKeys -#define SQLSetEnvAttr pSQLSetEnvAttr -#endif -#endif // _SRC_DYNODBC_H_ diff --git a/src/odbc.cpp b/src/odbc.cpp index 871e00ff..a9a7bb8b 100644 --- a/src/odbc.cpp +++ b/src/odbc.cpp @@ -24,10 +24,6 @@ #include "odbc_statement.h" #include "odbc_cursor.h" -#ifdef dynodbc -#include "dynodbc.h" -#endif - // // object keys for the result object // const char* NAME = "name\0"; // const char* DATA_TYPE = "dataType\0"; @@ -827,24 +823,7 @@ Napi::Object InitAll(Napi::Env env, Napi::Object exports) { ODBCStatement::Init(env, exports); ODBCCursor::Init(env, exports); - #ifdef dynodbc - exports.Set(Napi::String::New(env, "loadODBCLibrary"), - Napi::Function::New(env, ODBC::LoadODBCLibrary);()); - #endif - return exports; } -#ifdef dynodbc -Napi::Value ODBC::LoadODBCLibrary(const Napi::CallbackInfo& info) { - Napi::HandleScope scope(env); - - REQ_STR_ARG(0, js_library); - - bool result = DynLoadODBC(*js_library); - - return (result) ? env.True() : env.False();W -} -#endif - NODE_API_MODULE(odbc_bindings, InitAll) diff --git a/src/odbc.h b/src/odbc.h index 4d5e7c58..6ea94c8a 100644 --- a/src/odbc.h +++ b/src/odbc.h @@ -31,12 +31,8 @@ #include #include -#ifdef dynodbc -#include "dynodbc.h" -#else #include #include -#endif #define MAX_FIELD_SIZE 1024 #define MAX_VALUE_SIZE 1048576 @@ -335,10 +331,6 @@ class ODBC { ~ODBC(); static Napi::Value Connect(const Napi::CallbackInfo& info); - - #ifdef dynodbc - static Napi::Value LoadODBCLibrary(const Napi::CallbackInfo& info); - #endif }; class ODBCAsyncWorker : public Napi::AsyncWorker {