Added:
branches/guffert/wingui/odbcdialogparams/callbacks.cpp
branches/guffert/wingui/odbcdialogparams/callbacks.h
branches/guffert/wingui/odbcdialogparams/utils.cpp
branches/guffert/wingui/odbcdialogparams/utils.h
Removed:
branches/guffert/wingui/setup/callbacks.cpp
branches/guffert/wingui/setup/callbacks.h
branches/guffert/wingui/setup/utils.cpp
branches/guffert/wingui/setup/utils.h
Modified:
branches/guffert/wingui/odbcdialogparams/odbcdialogparams.cpp
branches/guffert/wingui/odbcdialogparams/odbcdialogparams.rc
branches/guffert/wingui/odbcdialogparams/tooltip.cpp
branches/guffert/wingui/setup/ConfigDSN.c
branches/guffert/wingui/setup/MYODBCSetupConfigDSNAdd.c
branches/guffert/wingui/setup/MYODBCSetupConfigDSNEdit.c
branches/guffert/wingui/setup/myodbc3S.vcproj
Log:
moved callbacas and utils to other directory(left them is setup project though)
fixed saving data on tabs
put back hook, but added unhook
removed PostQuitMessage on dialog close
Added: branches/guffert/wingui/odbcdialogparams/callbacks.cpp
===================================================================
--- branches/guffert/wingui/odbcdialogparams/callbacks.cpp (rev 0)
+++ branches/guffert/wingui/odbcdialogparams/callbacks.cpp 2007-10-30 19:56:13 UTC (rev
830)
@@ -0,0 +1,136 @@
+/****************************************************************************
+ * *
+ * File : *
+ * *
+ * Purpose : GUI Callbacks *
+ * *
+ * History : Date Reason *
+ * 00/00/00 Created *
+ * *
+ ****************************************************************************/
+/*#include "stdafx.h"*/
+
+#include "callbacks.h"
+/*#include "../odbcdialogparams/odbcdialogparams.h"*/
+#include "../odbcdialogparams/myString.h"
+#include "../../util/MYODBCUtil.h"
+/*#include <WinSock2.h>*/
+#include "../util/stringutil.h"
+
+myString stringConnectIn = NULL;
+WCHAR ** errorMsgs = NULL;
+myString popupMsg = NULL;
+
+SQLHDBC hDBC = SQL_NULL_HDBC;
+
+static WCHAR ** databases = NULL;
+
+void cleanUp()
+{
+ clearList(databases);
+ clearList(errorMsgs);
+
+ x_free( stringConnectIn );
+ x_free( popupMsg );
+}
+
+const wchar_t * mytest(HWND hwnd, DataSource* params)
+{
+ SQLHDBC hDbc = hDBC;
+ SQLHENV hEnv = SQL_NULL_HENV;
+
+ if ( SQL_SUCCEEDED( Connect( hDbc, hEnv, params ) ) )
+ return L"Connection successful";
+ else
+ {
+ myString tmp = NULL;
+
+ strAssign(tmp,myString(L"Connection Failed:"));
+
+ concat( tmp, popupMsg );
+
+ x_free( popupMsg );
+
+ popupMsg = tmp;
+
+ return popupMsg;
+ }
+
+ Disconnect( hDbc, hEnv );
+ //MessageBox(hwnd, params->dbname.c_str(), params->drvdesc.c_str(), MB_OK);
+}
+
+BOOL mytestaccept(HWND hwnd, DataSource* params)
+{
+ return true/*(IDYES == MessageBoxW(hwnd, params->dbname.c_str(),
params->drvdesc.c_str(), MB_YESNO))*/;
+}
+
+const WCHAR** mygetdatabases(HWND hwnd, DataSource* params)
+{
+ // = { L"DB1", L"DB2", NULL };
+
+ SQLHENV hEnv = SQL_NULL_HENV;
+ SQLHDBC hDbc = hDBC;
+ SQLHSTMT hStmt;
+ SQLRETURN nReturn;
+ // QStringList stringlistDatabases;
+ SQLWCHAR szCatalog[MYODBC_DB_NAME_MAX];//MYODBC_DB_NAME_MAX];
+ SQLLEN nCatalog;
+ myString stringConnectIn= buildConnectString( params );
+
+ clearList(databases);
+
+ nReturn = Connect( hDbc, hEnv, params );
+
+ if ( nReturn != SQL_SUCCESS )
+ ShowDiagnostics( nReturn, SQL_HANDLE_DBC, hDbc );
+ if ( !SQL_SUCCEEDED(nReturn) )
+ {
+ Disconnect( hDbc,hEnv );
+ return NULL;
+ }
+
+ nReturn = SQLAllocHandle( SQL_HANDLE_STMT, hDbc, &hStmt );
+ if ( nReturn != SQL_SUCCESS )
+ ShowDiagnostics( nReturn, SQL_HANDLE_DBC, hDbc );
+ if ( !SQL_SUCCEEDED(nReturn) )
+ {
+ Disconnect( hDbc,hEnv );
+ return NULL;
+ }
+
+ nReturn = SQLTablesW( hStmt, (SQLWCHAR*)SQL_ALL_CATALOGS, SQL_NTS, (SQLWCHAR*)L"",
SQL_NTS, (SQLWCHAR*)L"", 0, (SQLWCHAR*)L"", 0 );
+
+ if ( nReturn != SQL_SUCCESS )
+ ShowDiagnostics( nReturn, SQL_HANDLE_STMT, hStmt );
+ if ( !SQL_SUCCEEDED(nReturn) )
+ {
+ Disconnect( hStmt, hDbc, hEnv );
+ return NULL;
+ }
+
+ nReturn = SQLBindCol( hStmt, 1, SQL_C_WCHAR, szCatalog, MYODBC_DB_NAME_MAX,
&nCatalog );
+ while ( TRUE )
+ {
+ nReturn = SQLFetch( hStmt );
+
+ if ( nReturn == SQL_NO_DATA )
+ break;
+ else if ( nReturn != SQL_SUCCESS )
+ ShowDiagnostics( nReturn, SQL_HANDLE_STMT, hStmt );
+ if ( SQL_SUCCEEDED(nReturn) )
+ add2list( databases, (const wchar_t*)(szCatalog) );
+ else
+ break;
+ }
+
+ Disconnect( hStmt, hDbc, hEnv );
+
+ return (const WCHAR**)databases;
+}
+
+void myhelp(HWND hwnd)
+{
+ /** TODO: Rewrite - Shouldn't be windows stuff here */
+ MessageBoxW(hwnd, L"HELP", L"Sorry, Help is not Available", MB_OK);
+}
\ No newline at end of file
Added: branches/guffert/wingui/odbcdialogparams/callbacks.h
===================================================================
--- branches/guffert/wingui/odbcdialogparams/callbacks.h (rev 0)
+++ branches/guffert/wingui/odbcdialogparams/callbacks.h 2007-10-30 19:56:13 UTC (rev 830)
@@ -0,0 +1,22 @@
+#ifndef _CALLBACKS_H
+#define _CALLBACKS_H
+
+#ifdef _WIN32
+#include <windows.h>
+#endif
+
+#include "utils.h"
+
+
+// Not a callback though
+ void cleanUp();
+
+// Callbacks indeed
+const wchar_t * mytest (HWND hwnd, DataSource* params);
+ BOOL mytestaccept (HWND hwnd, DataSource* params);
+ /*BOOL mytestaccept (HWND hwnd, DataSource* params);*/
+const WCHAR** mygetdatabases (HWND hwnd, DataSource* params);
+ void myhelp (HWND hwnd);
+
+
+#endif
\ No newline at end of file
Modified: branches/guffert/wingui/odbcdialogparams/odbcdialogparams.cpp
===================================================================
--- branches/guffert/wingui/odbcdialogparams/odbcdialogparams.cpp 2007-10-29 17:21:35 UTC
(rev 829)
+++ branches/guffert/wingui/odbcdialogparams/odbcdialogparams.cpp 2007-10-30 19:56:13 UTC
(rev 830)
@@ -9,6 +9,9 @@
/* #define NOMCX */
/* #define NOIME */
+#define DEBUG_TAB 4
+#define SSL_TAB 5
+
#include <windows.h>
#include <windowsx.h>
#include <commctrl.h>
@@ -24,6 +27,7 @@
#include <winsock2.h>
#include "odbcdialogparams.h"
+#include "utils.h"
#include "../MYODBC_MYSQL.h"
@@ -76,6 +80,7 @@
}
VOID OnWMNotify(WPARAM wParam, LPARAM lParam);
+
static BOOL FormMain_OnNotify (HWND hwnd, WPARAM wParam, LPARAM lParam)
{
OnWMNotify(wParam, lParam);
@@ -117,6 +122,16 @@
}
}
+void getStrFieldData(myString & param, unsigned int framenum, int idc )
+{
+ assert(TabCtrl_1.hTabPages);
+ HWND tab = TabCtrl_1.hTabPages[framenum-1];
+
+ assert(tab);
+
+ getStrFieldData(tab, param, idc );
+}
+
void setUnsignedFieldData(HWND hwnd, unsigned int & param, int idc )
{
wchar_t buf[1024];
@@ -176,11 +191,6 @@
GET_STRING(uid);
GET_STRING(pwd);
GET_STRING(database);
- GET_STRING(sslkey);
- GET_STRING(sslcert);
- GET_STRING(sslca);
- GET_STRING(sslcapath);
- GET_STRING(sslcipher);
}
void syncForm(HWND hwnd, DataSource ¶ms)
@@ -192,11 +202,6 @@
SET_STRING(uid);
SET_STRING(pwd);
SET_STRING(database);
- SET_STRING(sslkey);
- SET_STRING(sslcert);
- SET_STRING(sslca);
- SET_STRING(sslcapath);
- SET_STRING(sslcipher);
}
void syncTabsData(HWND hwnd, DataSource ¶ms)
{
@@ -226,6 +231,13 @@
GET_BOOL(3,force_use_of_forward_only_cursors);
/* debug*/
GET_BOOL(4,save_queries);
+
+ /* ssl settings */
+ getStrFieldData( params.sslkey , 5, IDC_EDIT_sslkey);
+ getStrFieldData( params.sslcert , 5, IDC_EDIT_sslcert);
+ getStrFieldData( params.sslca , 5, IDC_EDIT_sslca);
+ getStrFieldData( params.sslcapath , 5, IDC_EDIT_sslcapath);
+ getStrFieldData( params.sslcipher , 5, IDC_EDIT_sslkey);
}
void syncTabs(HWND hwnd, DataSource ¶ms)
@@ -255,7 +267,20 @@
SET_BOOL(3,disable_transactions);
SET_BOOL(3,force_use_of_forward_only_cursors);
/* debug*/
- SET_BOOL(4,save_queries);
+ SET_BOOL(DEBUG_TAB,save_queries);
+
+ /* ssl related */
+ if ( TabCtrl_1.hTabPages[SSL_TAB-1])
+ {
+ HWND tabHwnd = TabCtrl_1.hTabPages[SSL_TAB-1];
+
+ Edit_SetText( GetDlgItem( tabHwnd, IDC_EDIT_sslkey) , params.sslkey);
+ Edit_SetText( GetDlgItem( tabHwnd, IDC_EDIT_sslcert) , params.sslcert);
+ Edit_SetText( GetDlgItem( tabHwnd, IDC_EDIT_sslca) , params.sslca);
+ Edit_SetText( GetDlgItem( tabHwnd, IDC_EDIT_sslcapath) , params.sslcapath);
+ Edit_SetText( GetDlgItem( tabHwnd, IDC_EDIT_sslcipher) , params.sslcipher);
+ }
+
}
void FillParameters(HWND hwnd, DataSource & params)
@@ -266,9 +291,14 @@
syncTabsData(hwnd, params);
}
+void OnDialogClose();
+
void FormMain_OnClose(HWND hwnd)
{
- PostQuitMessage(0);// turn off message loop
+ //PostQuitMessage(0);// turn off message loop
+ //Unhooks hook(s) :)
+ OnDialogClose();
+
TabControl_Destroy(&TabCtrl_1);
DWORD err;
@@ -326,6 +356,7 @@
if( (*gAcceptParamsCallback)( hwnd, pParams ) )
{
OkPressed = true;
+ CompileOptions( pParams );
PostMessage(hwnd, WM_CLOSE, NULL, NULL);
}
}
@@ -545,6 +576,7 @@
//Get the initial Width and height of the dialog
//in order to fix the minimum size of dialog
+ DecompileOptions( pParams );
syncForm(hwnd,*pParams);
BOOL b = DoCreateDialogTooltip();
Modified: branches/guffert/wingui/odbcdialogparams/odbcdialogparams.rc
===================================================================
--- branches/guffert/wingui/odbcdialogparams/odbcdialogparams.rc 2007-10-29 17:21:35 UTC
(rev 829)
+++ branches/guffert/wingui/odbcdialogparams/odbcdialogparams.rc 2007-10-30 19:56:13 UTC
(rev 830)
@@ -127,7 +127,7 @@
STYLE DS_SETFONT | DS_FIXEDSYS | WS_CHILD
FONT 8, "MS Shell Dlg", 400, 0, 0x1
BEGIN
- EDITTEXT IDC_EDIT_sslkey,89,11,97,14,ES_AUTOHSCROLL
+ EDITTEXT IDC_EDIT_sslkey,89,11,97,14,ES_AUTOHSCROLL | WS_GROUP
EDITTEXT IDC_EDIT_sslcert,89,27,97,14,ES_AUTOHSCROLL
EDITTEXT IDC_EDIT_sslca,89,41,97,14,ES_AUTOHSCROLL
EDITTEXT IDC_EDIT_sslcapath,89,57,97,14,ES_AUTOHSCROLL | ES_NUMBER
Modified: branches/guffert/wingui/odbcdialogparams/tooltip.cpp
===================================================================
(Binary files differ)
Added: branches/guffert/wingui/odbcdialogparams/utils.cpp
===================================================================
--- branches/guffert/wingui/odbcdialogparams/utils.cpp (rev 0)
+++ branches/guffert/wingui/odbcdialogparams/utils.cpp 2007-10-30 19:56:13 UTC (rev 830)
@@ -0,0 +1,334 @@
+/****************************************************************************
+ * *
+ * File : *
+ * *
+ * Purpose : utilities for callbacks. *
+ * *
+ * History : Date Reason *
+ * 00/00/00 Created *
+ * *
+ ****************************************************************************/
+
+/*#include "stdafx.h"*/
+
+/** couple of temporary hacks to make it compile here*/
+/*typedef char byte;*/
+#ifdef _WIN32
+#include <winsock2.h>
+#endif
+/** end hacks */
+
+#include <sql.h>
+
+#include "utils.h"
+#include "../odbcdialogparams/myString.h"
+
+#include "../driver/driver.h"
+#include "../util/stringutil.h"
+#include "../util/MYODBCUtil.h"
+
+
+extern SQLHDBC hDBC;
+extern myString stringConnectIn;
+extern WCHAR ** errorMsgs;
+extern myString popupMsg;
+
+void DecompileOptions(DataSource * params)
+{
+ if ( params == NULL )
+ return;
+
+ ulong nOptions = sqlwchartoul( params->option );
+
+ params->dont_optimize_column_width= (nOptions & FLAG_FIELD_LENGTH)
> 0;
+ params->return_matching_rows= (nOptions & FLAG_FOUND_ROWS)
> 0; /* 2 */
+ params->allow_big_results= (nOptions & FLAG_BIG_PACKETS)
> 0;
+ params->dont_prompt_upon_connect= (nOptions & FLAG_NO_PROMPT) >
0;
+ params->enable_dynamic_cursor= (nOptions & FLAG_DYNAMIC_CURSOR)
> 0;
+ params->ignore_N_in_name_table= (nOptions & FLAG_NO_SCHEMA) >
0;
+ params->user_manager_cursor= (nOptions &
FLAG_NO_DEFAULT_CURSOR) > 0;
+ params->dont_use_set_locale= (nOptions & FLAG_NO_LOCALE) >
0;
+ params->pad_char_to_full_length= (nOptions & FLAG_PAD_SPACE) >
0;
+ params->return_table_names_for_SqlDesribeCol= (nOptions &
FLAG_FULL_COLUMN_NAMES) > 0;
+ params->use_compressed_protocol= (nOptions &
FLAG_COMPRESSED_PROTO) > 0;
+ params->ignore_space_after_function_names= (nOptions & FLAG_IGNORE_SPACE)
> 0;
+ params->force_use_of_named_pipes= (nOptions & FLAG_NAMED_PIPE) >
0;
+ params->change_bigint_columns_to_int= (nOptions & FLAG_NO_BIGINT) >
0;
+ params->no_catalog= (nOptions & FLAG_NO_CATALOG) >
0;
+ params->read_options_from_mycnf= (nOptions & FLAG_USE_MYCNF) >
0;
+ params->safe= (nOptions & FLAG_SAFE) > 0;
+ params->disable_transactions= (nOptions & FLAG_NO_TRANSACTIONS)
> 0;
+ params->save_queries= (nOptions & FLAG_LOG_QUERY) >
0;
+ params->dont_cache_result= (nOptions & FLAG_NO_CACHE) >
0;
+ params->force_use_of_forward_only_cursors= (nOptions & FLAG_FORWARD_CURSOR)
> 0;
+ params->enable_auto_reconnect= (nOptions & FLAG_AUTO_RECONNECT)
> 0;
+ params->enable_auto_increment_null_search= (nOptions & FLAG_AUTO_IS_NULL )
> 0;
+}
+
+void FreeEnvHandle( SQLHENV &hEnv )
+{
+ if ( hDBC == SQL_NULL_HDBC )
+ SQLFreeHandle( SQL_HANDLE_ENV, hEnv );
+}
+
+
+void Disconnect( SQLHDBC &hDbc, SQLHENV &hEnv )
+{
+ SQLDisconnect( hDbc );
+
+ if ( hDBC == SQL_NULL_HDBC )
+ SQLFreeHandle( SQL_HANDLE_DBC, hDbc );
+
+ FreeEnvHandle( hEnv );
+}
+
+
+void Disconnect( SQLHSTMT &hStmt, SQLHDBC &hDbc, SQLHENV &hEnv )
+{
+ SQLFreeHandle( SQL_HANDLE_STMT, hStmt );
+
+ Disconnect( hDbc, hEnv );
+}
+
+
+const myString & buildConnectString( DataSource* params )
+{
+ strAssign(stringConnectIn, L"DRIVER=");
+
+ if ( myStrlen(params->driver) > 0 )
+ concat(stringConnectIn, params->driver);
+ else
+ concat( stringConnectIn, MYODBCINST_DRIVER_NAME );
+
+ wchar_t portstr[5];
+
+#ifdef Q_WS_MACX
+ /*
+ The iODBC that ships with Mac OS X (10.4) must be given a filename for
+ the driver library in SQLDriverConnect(), not just the driver name. So
+ we have to look it up using SQLGetPrivateProfileString() if we haven't
+ already.
+ */
+ {
+ if (!params->drvname.empty())
+ {
+ /*
+ SQLGetPrivateProfileString has bugs on iODBC, so we have to check
+ both the SYSTEM and USER space explicitly.
+ */
+ UWORD configMode;
+ if (!SQLGetConfigMode(&configMode))
+ return FALSE;
+ if (!SQLSetConfigMode(ODBC_SYSTEM_DSN))
+ return FALSE;
+
+ char driver[PATH_MAX];
+ if (!SQLGetPrivateProfileString(pDataSource->pszDRIVER,
+ "DRIVER", pDataSource->pszDRIVER,
+ driver, sizeof(driver),
+ "ODBCINST.INI"))
+ return FALSE;
+
+ /* If we're creating a user DSN, make sure we really got a driver. */
+ if (configMode != ODBC_SYSTEM_DSN &&
+ strcmp(driver, pDataSource->pszDRIVER) == 0)
+ {
+ if (configMode != ODBC_SYSTEM_DSN)
+ {
+ if (!SQLSetConfigMode(ODBC_USER_DSN))
+ return FALSE;
+ if (!SQLGetPrivateProfileString(pDataSource->pszDRIVER,
+ "DRIVER", pDataSource->pszDRIVER,
+ driver, sizeof(driver),
+ "ODBCINST.INI"))
+ return FALSE;
+ }
+ }
+
+ pDataSource->pszDriverFileName= _global_strdup(driver);
+
+ if (!SQLSetConfigMode(configMode))
+ return FALSE;
+ }
+
+ stringConnectIn= concat( stringConnectIn, pDataSource->pszDriverFileName );
+ }
+ /*
+ //#else
+ concat(stringConnectIn, params->drvname );//pDataSource->pszDRIVER);*/
+#endif
+
+ concat( concat( stringConnectIn,L";UID=" ), params->uid );
+
+ concat( concat( stringConnectIn, L";PWD=" ), params->pwd );
+
+ concat( concat( stringConnectIn, L";SERVER=" ), params->server );
+
+ if ( myStrlen( params->database ) )
+ concat( concat( stringConnectIn, L";DATABASE="), params->database );
+
+ if ( params->port > 0 )
+ {
+ wsprintfW( portstr, L"%d", params->port );
+ concat( concat( stringConnectIn, L";PORT=" ), myString( portstr ) );
+ }
+ if ( myStrlen( params->socket) )
+ concat( concat( stringConnectIn, L";SOCKET=" ), params->socket );
+ // if ( myStrlen( params->getOptions()) )
+ // stringConnectIn += ";OPTION=" ), params->getOptions );
+ if ( myStrlen( params->initstmt))
+ concat( concat( stringConnectIn, L";STMT=" ), params->initstmt );
+ if ( myStrlen( params->charset ) )
+ concat( concat( stringConnectIn, L";CHARSET=" ), params->charset );
+ if ( myStrlen( params->sslkey) )
+ concat( concat( stringConnectIn, L";SSLKEY=" ), params->sslkey );
+ if ( myStrlen( params->sslcert ) )
+ concat( concat( stringConnectIn, L";SSLERT=" ), params->sslcert );
+ if ( myStrlen( params->sslca ) )
+ concat( concat( stringConnectIn, L";SSLCA=" ), params->sslca);
+ if ( myStrlen( params->sslcapath ) )
+ concat( concat( stringConnectIn, L";SSLCAPATH=" ), params->sslcapath );
+ if ( myStrlen( params->sslcipher ) )
+ concat( concat( stringConnectIn, L";SSLCIPHER=" ), params->sslcipher );
+
+ return stringConnectIn;
+}
+
+
+SQLRETURN Connect( SQLHDBC & hDbc, SQLHENV & hEnv, DataSource * params )
+{
+ SQLRETURN nReturn;
+ // QStringList stringlistDatabases;
+ myString stringConnectIn= buildConnectString( params );
+
+
+ if ( hDBC == SQL_NULL_HDBC )
+ {
+ nReturn = SQLAllocHandle( SQL_HANDLE_ENV, NULL, &hEnv );
+
+ if ( nReturn != SQL_SUCCESS )
+ ShowDiagnostics( nReturn, SQL_HANDLE_ENV, NULL );
+
+ if ( !SQL_SUCCEEDED(nReturn) )
+ return nReturn;
+
+ nReturn = SQLSetEnvAttr( hEnv, SQL_ATTR_ODBC_VERSION, (SQLPOINTER)SQL_OV_ODBC3, 0 );
+
+ if ( nReturn != SQL_SUCCESS )
+ ShowDiagnostics( nReturn, SQL_HANDLE_ENV, NULL );
+
+ if ( !SQL_SUCCEEDED(nReturn) )
+ {
+ return nReturn;
+ }
+
+ nReturn = SQLAllocHandle( SQL_HANDLE_DBC, hEnv, &hDbc );
+ if ( nReturn != SQL_SUCCESS )
+ ShowDiagnostics( nReturn, SQL_HANDLE_ENV, hEnv );
+ if ( !SQL_SUCCEEDED(nReturn) )
+ {
+ return nReturn;
+ }
+ }
+
+ nReturn = SQLDriverConnectW( hDbc, NULL, (SQLWCHAR*)( stringConnectIn ), SQL_NTS, NULL,
0, NULL, SQL_DRIVER_NOPROMPT );
+
+ if ( nReturn != SQL_SUCCESS )
+ ShowDiagnostics( nReturn, SQL_HANDLE_DBC, hDbc );
+
+ return nReturn;
+}
+
+
+void ShowDiagnostics( SQLRETURN nReturn, SQLSMALLINT nHandleType, SQLHANDLE h )
+{
+ BOOL bDiagnostics = FALSE;
+ SQLSMALLINT nRec = 1;
+ SQLWCHAR szSQLState[6];
+ SQLINTEGER nNative;
+ SQLWCHAR szMessage[SQL_MAX_MESSAGE_LENGTH];
+ SQLSMALLINT nMessage;
+
+ if ( h )
+ {
+ *szSQLState = '\0';
+ *szMessage = '\0';
+
+ while ( SQL_SUCCEEDED( SQLGetDiagRecW( nHandleType,
+ h,
+ nRec,
+ szSQLState,
+ &nNative,
+ szMessage,
+ SQL_MAX_MESSAGE_LENGTH,
+ &nMessage ) ) )
+ {
+ szSQLState[5] = '\0';
+ szMessage[SQL_MAX_MESSAGE_LENGTH - 1] = '\0';
+
+
+ add2list(errorMsgs, szMessage);
+
+ bDiagnostics = TRUE;
+ nRec++;
+
+ *szSQLState = '\0';
+ *szMessage = '\0';
+ }
+ }
+
+ switch ( nReturn )
+ {
+ case SQL_ERROR:
+ strAssign( popupMsg, L"Request returned with SQL_ERROR." );//, L"MYODBCConfig" );
+ break;
+ case SQL_SUCCESS_WITH_INFO:
+ strAssign( popupMsg, L"Request return with SQL_SUCCESS_WITH_INFO." );//,
L"MYODBCConfig" );
+ break;
+ case SQL_INVALID_HANDLE:
+ strAssign( popupMsg, L"Request returned with SQL_INVALID_HANDLE." );//, L"MYODBCConfig"
);
+ break;
+ default:
+ strAssign( popupMsg, L"Request did not return with SQL_SUCCESS." );//, L"MYODBCConfig"
);
+ }
+}
+
+
+unsigned long CompileOptions( DataSource * params )
+{
+ unsigned long nFlags = 0;
+
+ if (params==NULL)
+ return NULL;
+
+ if (params->dont_optimize_column_width) nFlags |= FLAG_FIELD_LENGTH;
+ if (params->return_matching_rows) nFlags |= FLAG_FOUND_ROWS; /*
2 */
+ if (params->allow_big_results) nFlags |= FLAG_BIG_PACKETS;
+ if (params->dont_prompt_upon_connect) nFlags |= FLAG_NO_PROMPT;
+ if (params->enable_dynamic_cursor) nFlags |= FLAG_DYNAMIC_CURSOR;
+ if (params->ignore_N_in_name_table) nFlags |= FLAG_NO_SCHEMA;
+ if (params->user_manager_cursor) nFlags |= FLAG_NO_DEFAULT_CURSOR;
+ if (params->dont_use_set_locale) nFlags |= FLAG_NO_LOCALE;
+ if (params->pad_char_to_full_length) nFlags |= FLAG_PAD_SPACE;
+ if (params->return_table_names_for_SqlDesribeCol) nFlags |=
FLAG_FULL_COLUMN_NAMES;
+ if (params->use_compressed_protocol) nFlags |= FLAG_COMPRESSED_PROTO;
+ if (params->ignore_space_after_function_names) nFlags |= FLAG_IGNORE_SPACE;
+ if (params->force_use_of_named_pipes) nFlags |= FLAG_NAMED_PIPE;
+ if (params->change_bigint_columns_to_int) nFlags |= FLAG_NO_BIGINT;
+ if (params->no_catalog) nFlags |= FLAG_NO_CATALOG;
+ if (params->read_options_from_mycnf) nFlags |= FLAG_USE_MYCNF;
+ if (params->safe) nFlags |= FLAG_SAFE;
+ if (params->disable_transactions) nFlags |= FLAG_NO_TRANSACTIONS;
+ if (params->save_queries) nFlags |= FLAG_LOG_QUERY;
+ if (params->dont_cache_result) nFlags |= FLAG_NO_CACHE;
+ if (params->force_use_of_forward_only_cursors) nFlags |= FLAG_FORWARD_CURSOR;
+ if (params->enable_auto_reconnect) nFlags |= FLAG_AUTO_RECONNECT;
+ if (params->enable_auto_increment_null_search) nFlags |= FLAG_AUTO_IS_NULL;
+
+ if (params->option == NULL)
+ myReserveMemory(params->option, 20);
+
+ sqlwcharfromul(params->option, nFlags);
+
+ return nFlags;
+}
Added: branches/guffert/wingui/odbcdialogparams/utils.h
===================================================================
--- branches/guffert/wingui/odbcdialogparams/utils.h (rev 0)
+++ branches/guffert/wingui/odbcdialogparams/utils.h 2007-10-30 19:56:13 UTC (rev 830)
@@ -0,0 +1,19 @@
+#ifndef _CALLBACKS_UTILS_
+
+#define _CALLBACKS_UTILS_
+
+#include "../odbcdialogparams/odbcdialogparams.h"
+#include "../util/installer.h"
+
+#include <sqltypes.h>
+
+void ShowDiagnostics ( SQLRETURN nReturn, SQLSMALLINT nHandleType, SQLHANDLE h );
+void FreeEnvHandle ( SQLHENV &hEnv );
+void Disconnect ( SQLHDBC &hDbc, SQLHENV &hEnv );
+void Disconnect ( SQLHSTMT &hStmt, SQLHDBC &hDbc, SQLHENV &hEnv );
+const myString & buildConnectString ( DataSource* params );
+SQLRETURN Connect ( SQLHDBC & hDbc, SQLHENV & hEnv, DataSource *
params );
+unsigned long CompileOptions ( DataSource * params );
+void DecompileOptions ( DataSource * src );
+
+#endif
Modified: branches/guffert/wingui/setup/ConfigDSN.c
===================================================================
--- branches/guffert/wingui/setup/ConfigDSN.c 2007-10-29 17:21:35 UTC (rev 829)
+++ branches/guffert/wingui/setup/ConfigDSN.c 2007-10-30 19:56:13 UTC (rev 830)
@@ -20,7 +20,7 @@
/*#include "../util/MYODBCUtil.h"*/
#include "../util/installer.h"
-#include "callbacks.h"
+#include "../odbcdialogparams/callbacks.h"
#include "MYODBCSetup.h"
/*!
Modified: branches/guffert/wingui/setup/MYODBCSetupConfigDSNAdd.c
===================================================================
--- branches/guffert/wingui/setup/MYODBCSetupConfigDSNAdd.c 2007-10-29 17:21:35 UTC (rev
829)
+++ branches/guffert/wingui/setup/MYODBCSetupConfigDSNAdd.c 2007-10-30 19:56:13 UTC (rev
830)
@@ -19,7 +19,7 @@
Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA */
#include "MYODBCSetup.h"
-#include "callbacks.h"
+#include "../odbcdialogparams/callbacks.h"
/*!
\internal
Modified: branches/guffert/wingui/setup/MYODBCSetupConfigDSNEdit.c
===================================================================
--- branches/guffert/wingui/setup/MYODBCSetupConfigDSNEdit.c 2007-10-29 17:21:35 UTC (rev
829)
+++ branches/guffert/wingui/setup/MYODBCSetupConfigDSNEdit.c 2007-10-30 19:56:13 UTC (rev
830)
@@ -20,7 +20,7 @@
#include "MYODBCSetup.h"
#include "../util/stringutil.h"
-#include "callbacks.h"
+#include "../odbcdialogparams/callbacks.h"
/*!
\internal
Deleted: branches/guffert/wingui/setup/callbacks.cpp
===================================================================
--- branches/guffert/wingui/setup/callbacks.cpp 2007-10-29 17:21:35 UTC (rev 829)
+++ branches/guffert/wingui/setup/callbacks.cpp 2007-10-30 19:56:13 UTC (rev 830)
@@ -1,136 +0,0 @@
-/****************************************************************************
- * *
- * File : *
- * *
- * Purpose : GUI Callbacks *
- * *
- * History : Date Reason *
- * 00/00/00 Created *
- * *
- ****************************************************************************/
-/*#include "stdafx.h"*/
-
-#include "callbacks.h"
-/*#include "../odbcdialogparams/odbcdialogparams.h"*/
-#include "../odbcdialogparams/myString.h"
-#include "../../util/MYODBCUtil.h"
-/*#include <WinSock2.h>*/
-#include "../util/stringutil.h"
-
-myString stringConnectIn = NULL;
-WCHAR ** errorMsgs = NULL;
-myString popupMsg = NULL;
-
-SQLHDBC hDBC = SQL_NULL_HDBC;
-
-static WCHAR ** databases = NULL;
-
-void cleanUp()
-{
- clearList(databases);
- clearList(errorMsgs);
-
- x_free( stringConnectIn );
- x_free( popupMsg );
-}
-
-const wchar_t * mytest(HWND hwnd, DataSource* params)
-{
- SQLHDBC hDbc = hDBC;
- SQLHENV hEnv = SQL_NULL_HENV;
-
- if ( SQL_SUCCEEDED( Connect( hDbc, hEnv, params ) ) )
- return L"Connection successful";
- else
- {
- myString tmp = NULL;
-
- strAssign(tmp,myString(L"Connection Failed:"));
-
- concat( tmp, popupMsg );
-
- x_free( popupMsg );
-
- popupMsg = tmp;
-
- return popupMsg;
- }
-
- Disconnect( hDbc, hEnv );
- //MessageBox(hwnd, params->dbname.c_str(), params->drvdesc.c_str(), MB_OK);
-}
-
-BOOL mytestaccept(HWND hwnd, DataSource* params)
-{
- return true/*(IDYES == MessageBoxW(hwnd, params->dbname.c_str(),
params->drvdesc.c_str(), MB_YESNO))*/;
-}
-
-const WCHAR** mygetdatabases(HWND hwnd, DataSource* params)
-{
- // = { L"DB1", L"DB2", NULL };
-
- SQLHENV hEnv = SQL_NULL_HENV;
- SQLHDBC hDbc = hDBC;
- SQLHSTMT hStmt;
- SQLRETURN nReturn;
- // QStringList stringlistDatabases;
- SQLWCHAR szCatalog[MYODBC_DB_NAME_MAX];//MYODBC_DB_NAME_MAX];
- SQLLEN nCatalog;
- myString stringConnectIn= buildConnectString( params );
-
- clearList(databases);
-
- nReturn = Connect( hDbc, hEnv, params );
-
- if ( nReturn != SQL_SUCCESS )
- ShowDiagnostics( nReturn, SQL_HANDLE_DBC, hDbc );
- if ( !SQL_SUCCEEDED(nReturn) )
- {
- Disconnect( hDbc,hEnv );
- return NULL;
- }
-
- nReturn = SQLAllocHandle( SQL_HANDLE_STMT, hDbc, &hStmt );
- if ( nReturn != SQL_SUCCESS )
- ShowDiagnostics( nReturn, SQL_HANDLE_DBC, hDbc );
- if ( !SQL_SUCCEEDED(nReturn) )
- {
- Disconnect( hDbc,hEnv );
- return NULL;
- }
-
- nReturn = SQLTablesW( hStmt, (SQLWCHAR*)SQL_ALL_CATALOGS, SQL_NTS, (SQLWCHAR*)L"",
SQL_NTS, (SQLWCHAR*)L"", 0, (SQLWCHAR*)L"", 0 );
-
- if ( nReturn != SQL_SUCCESS )
- ShowDiagnostics( nReturn, SQL_HANDLE_STMT, hStmt );
- if ( !SQL_SUCCEEDED(nReturn) )
- {
- Disconnect( hStmt, hDbc, hEnv );
- return NULL;
- }
-
- nReturn = SQLBindCol( hStmt, 1, SQL_C_WCHAR, szCatalog, MYODBC_DB_NAME_MAX,
&nCatalog );
- while ( TRUE )
- {
- nReturn = SQLFetch( hStmt );
-
- if ( nReturn == SQL_NO_DATA )
- break;
- else if ( nReturn != SQL_SUCCESS )
- ShowDiagnostics( nReturn, SQL_HANDLE_STMT, hStmt );
- if ( SQL_SUCCEEDED(nReturn) )
- add2list( databases, (const wchar_t*)(szCatalog) );
- else
- break;
- }
-
- Disconnect( hStmt, hDbc, hEnv );
-
- return (const WCHAR**)databases;
-}
-
-void myhelp(HWND hwnd)
-{
- /** TODO: Rewrite - Shouldn't be windows stuff here */
- MessageBoxW(hwnd, L"HELP", L"Sorry, Help is not Available", MB_OK);
-}
\ No newline at end of file
Deleted: branches/guffert/wingui/setup/callbacks.h
===================================================================
--- branches/guffert/wingui/setup/callbacks.h 2007-10-29 17:21:35 UTC (rev 829)
+++ branches/guffert/wingui/setup/callbacks.h 2007-10-30 19:56:13 UTC (rev 830)
@@ -1,22 +0,0 @@
-#ifndef _CALLBACKS_H
-#define _CALLBACKS_H
-
-#ifdef _WIN32
-#include <windows.h>
-#endif
-
-#include "utils.h"
-
-
-// Not a callback though
- void cleanUp();
-
-// Callbacks indeed
-const wchar_t * mytest (HWND hwnd, DataSource* params);
- BOOL mytestaccept (HWND hwnd, DataSource* params);
- /*BOOL mytestaccept (HWND hwnd, DataSource* params);*/
-const WCHAR** mygetdatabases (HWND hwnd, DataSource* params);
- void myhelp (HWND hwnd);
-
-
-#endif
\ No newline at end of file
Modified: branches/guffert/wingui/setup/myodbc3S.vcproj
===================================================================
--- branches/guffert/wingui/setup/myodbc3S.vcproj 2007-10-29 17:21:35 UTC (rev 829)
+++ branches/guffert/wingui/setup/myodbc3S.vcproj 2007-10-30 19:56:13 UTC (rev 830)
@@ -436,7 +436,7 @@
Name="Source Files"
>
<File
- RelativePath=".\callbacks.cpp"
+ RelativePath="..\odbcdialogparams\callbacks.cpp"
>
</File>
<File
@@ -456,7 +456,7 @@
>
</File>
<File
- RelativePath=".\utils.cpp"
+ RelativePath="..\odbcdialogparams\utils.cpp"
>
</File>
</Filter>
@@ -464,11 +464,11 @@
Name="Header Files"
>
<File
- RelativePath=".\callbacks.h"
+ RelativePath="..\odbcdialogparams\callbacks.h"
>
</File>
<File
- RelativePath=".\utils.h"
+ RelativePath="..\odbcdialogparams\utils.h"
>
</File>
</Filter>
Deleted: branches/guffert/wingui/setup/utils.cpp
===================================================================
--- branches/guffert/wingui/setup/utils.cpp 2007-10-29 17:21:35 UTC (rev 829)
+++ branches/guffert/wingui/setup/utils.cpp 2007-10-30 19:56:13 UTC (rev 830)
@@ -1,323 +0,0 @@
-/****************************************************************************
- * *
- * File : *
- * *
- * Purpose : utilities for callbacks. *
- * *
- * History : Date Reason *
- * 00/00/00 Created *
- * *
- ****************************************************************************/
-
-/*#include "stdafx.h"*/
-
-/** couple of temporary hacks to make it compile here*/
-/*typedef char byte;*/
-#ifdef _WIN32
-#include <winsock2.h>
-#endif
-/** end hacks */
-
-#include <sql.h>
-
-#include "utils.h"
-#include "../odbcdialogparams/myString.h"
-
-#include "../driver/driver.h"
-#include "../util/stringutil.h"
-#include "../util/MYODBCUtil.h"
-
-
-extern SQLHDBC hDBC;
-extern myString stringConnectIn;
-extern WCHAR ** errorMsgs;
-extern myString popupMsg;
-
-void DecompileOptions(DataSource ¶ms)
-{
- ulong nOptions = sqlwchartoul( params.option );
-
- params.dont_optimize_column_width= (nOptions & FLAG_FIELD_LENGTH) > 0;
- params.return_matching_rows= (nOptions & FLAG_FOUND_ROWS) >
0; /* 2 */
- params.allow_big_results= (nOptions & FLAG_BIG_PACKETS) > 0;
- params.dont_prompt_upon_connect= (nOptions & FLAG_NO_PROMPT) > 0;
- params.enable_dynamic_cursor= (nOptions & FLAG_DYNAMIC_CURSOR) > 0;
- params.ignore_N_in_name_table= (nOptions & FLAG_NO_SCHEMA) > 0;
- params.user_manager_cursor= (nOptions & FLAG_NO_DEFAULT_CURSOR) > 0;
- params.dont_use_set_locale= (nOptions & FLAG_NO_LOCALE) > 0;
- params.pad_char_to_full_length= (nOptions & FLAG_PAD_SPACE) > 0;
- params.return_table_names_for_SqlDesribeCol= (nOptions & FLAG_FULL_COLUMN_NAMES)
> 0;
- params.use_compressed_protocol= (nOptions & FLAG_COMPRESSED_PROTO) > 0;
- params.ignore_space_after_function_names= (nOptions & FLAG_IGNORE_SPACE) > 0;
- params.force_use_of_named_pipes= (nOptions & FLAG_NAMED_PIPE) > 0;
- params.change_bigint_columns_to_int= (nOptions & FLAG_NO_BIGINT) > 0;
- params.no_catalog= (nOptions & FLAG_NO_CATALOG) > 0;
- params.read_options_from_mycnf= (nOptions & FLAG_USE_MYCNF) > 0;
- params.safe= (nOptions & FLAG_SAFE) > 0;
- params.disable_transactions= (nOptions & FLAG_NO_TRANSACTIONS) > 0;
- params.save_queries= (nOptions & FLAG_LOG_QUERY) > 0;
- params.dont_cache_result= (nOptions & FLAG_NO_CACHE) > 0;
- params.force_use_of_forward_only_cursors= (nOptions & FLAG_FORWARD_CURSOR) > 0;
- params.enable_auto_reconnect= (nOptions & FLAG_AUTO_RECONNECT) > 0;
- params.enable_auto_increment_null_search= (nOptions & FLAG_AUTO_IS_NULL ) > 0;
-}
-
-void FreeEnvHandle( SQLHENV &hEnv )
-{
- if ( hDBC == SQL_NULL_HDBC )
- SQLFreeHandle( SQL_HANDLE_ENV, hEnv );
-}
-
-
-void Disconnect( SQLHDBC &hDbc, SQLHENV &hEnv )
-{
- SQLDisconnect( hDbc );
-
- if ( hDBC == SQL_NULL_HDBC )
- SQLFreeHandle( SQL_HANDLE_DBC, hDbc );
-
- FreeEnvHandle( hEnv );
-}
-
-
-void Disconnect( SQLHSTMT &hStmt, SQLHDBC &hDbc, SQLHENV &hEnv )
-{
- SQLFreeHandle( SQL_HANDLE_STMT, hStmt );
-
- Disconnect( hDbc, hEnv );
-}
-
-
-const myString & buildConnectString( DataSource* params )
-{
- strAssign(stringConnectIn, L"DRIVER=");
-
- if ( myStrlen(params->driver) > 0 )
- concat(stringConnectIn, params->driver);
- else
- concat( stringConnectIn, MYODBCINST_DRIVER_NAME );
-
- wchar_t portstr[5];
-
-#ifdef Q_WS_MACX
- /*
- The iODBC that ships with Mac OS X (10.4) must be given a filename for
- the driver library in SQLDriverConnect(), not just the driver name. So
- we have to look it up using SQLGetPrivateProfileString() if we haven't
- already.
- */
- {
- if (!params->drvname.empty())
- {
- /*
- SQLGetPrivateProfileString has bugs on iODBC, so we have to check
- both the SYSTEM and USER space explicitly.
- */
- UWORD configMode;
- if (!SQLGetConfigMode(&configMode))
- return FALSE;
- if (!SQLSetConfigMode(ODBC_SYSTEM_DSN))
- return FALSE;
-
- char driver[PATH_MAX];
- if (!SQLGetPrivateProfileString(pDataSource->pszDRIVER,
- "DRIVER", pDataSource->pszDRIVER,
- driver, sizeof(driver),
- "ODBCINST.INI"))
- return FALSE;
-
- /* If we're creating a user DSN, make sure we really got a driver. */
- if (configMode != ODBC_SYSTEM_DSN &&
- strcmp(driver, pDataSource->pszDRIVER) == 0)
- {
- if (configMode != ODBC_SYSTEM_DSN)
- {
- if (!SQLSetConfigMode(ODBC_USER_DSN))
- return FALSE;
- if (!SQLGetPrivateProfileString(pDataSource->pszDRIVER,
- "DRIVER", pDataSource->pszDRIVER,
- driver, sizeof(driver),
- "ODBCINST.INI"))
- return FALSE;
- }
- }
-
- pDataSource->pszDriverFileName= _global_strdup(driver);
-
- if (!SQLSetConfigMode(configMode))
- return FALSE;
- }
-
- stringConnectIn= concat( stringConnectIn, pDataSource->pszDriverFileName );
- }
- /*
- //#else
- concat(stringConnectIn, params->drvname );//pDataSource->pszDRIVER);*/
-#endif
-
- concat( concat( stringConnectIn,L";UID=" ), params->uid );
-
- concat( concat( stringConnectIn, L";PWD=" ), params->pwd );
-
- concat( concat( stringConnectIn, L";SERVER=" ), params->server );
-
- if ( myStrlen( params->database ) )
- concat( concat( stringConnectIn, L";DATABASE="), params->database );
-
- if ( params->port > 0 )
- {
- wsprintfW( portstr, L"%d", params->port );
- concat( concat( stringConnectIn, L";PORT=" ), myString( portstr ) );
- }
- if ( myStrlen( params->socket) )
- concat( concat( stringConnectIn, L";SOCKET=" ), params->socket );
- // if ( myStrlen( params->getOptions()) )
- // stringConnectIn += ";OPTION=" ), params->getOptions );
- if ( myStrlen( params->initstmt))
- concat( concat( stringConnectIn, L";STMT=" ), params->initstmt );
- if ( myStrlen( params->charset ) )
- concat( concat( stringConnectIn, L";CHARSET=" ), params->charset );
- if ( myStrlen( params->sslkey) )
- concat( concat( stringConnectIn, L";SSLKEY=" ), params->sslkey );
- if ( myStrlen( params->sslcert ) )
- concat( concat( stringConnectIn, L";SSLERT=" ), params->sslcert );
- if ( myStrlen( params->sslca ) )
- concat( concat( stringConnectIn, L";SSLCA=" ), params->sslca);
- if ( myStrlen( params->sslcapath ) )
- concat( concat( stringConnectIn, L";SSLCAPATH=" ), params->sslcapath );
- if ( myStrlen( params->sslcipher ) )
- concat( concat( stringConnectIn, L";SSLCIPHER=" ), params->sslcipher );
-
- return stringConnectIn;
-}
-
-
-SQLRETURN Connect( SQLHDBC & hDbc, SQLHENV & hEnv, DataSource * params )
-{
- SQLRETURN nReturn;
- // QStringList stringlistDatabases;
- myString stringConnectIn= buildConnectString( params );
-
-
- if ( hDBC == SQL_NULL_HDBC )
- {
- nReturn = SQLAllocHandle( SQL_HANDLE_ENV, NULL, &hEnv );
-
- if ( nReturn != SQL_SUCCESS )
- ShowDiagnostics( nReturn, SQL_HANDLE_ENV, NULL );
-
- if ( !SQL_SUCCEEDED(nReturn) )
- return nReturn;
-
- nReturn = SQLSetEnvAttr( hEnv, SQL_ATTR_ODBC_VERSION, (SQLPOINTER)SQL_OV_ODBC3, 0 );
-
- if ( nReturn != SQL_SUCCESS )
- ShowDiagnostics( nReturn, SQL_HANDLE_ENV, NULL );
-
- if ( !SQL_SUCCEEDED(nReturn) )
- {
- return nReturn;
- }
-
- nReturn = SQLAllocHandle( SQL_HANDLE_DBC, hEnv, &hDbc );
- if ( nReturn != SQL_SUCCESS )
- ShowDiagnostics( nReturn, SQL_HANDLE_ENV, hEnv );
- if ( !SQL_SUCCEEDED(nReturn) )
- {
- return nReturn;
- }
- }
-
- nReturn = SQLDriverConnectW( hDbc, NULL, (SQLWCHAR*)( stringConnectIn ), SQL_NTS, NULL,
0, NULL, SQL_DRIVER_NOPROMPT );
-
- if ( nReturn != SQL_SUCCESS )
- ShowDiagnostics( nReturn, SQL_HANDLE_DBC, hDbc );
-
- return nReturn;
-}
-
-
-void ShowDiagnostics( SQLRETURN nReturn, SQLSMALLINT nHandleType, SQLHANDLE h )
-{
- BOOL bDiagnostics = FALSE;
- SQLSMALLINT nRec = 1;
- SQLWCHAR szSQLState[6];
- SQLINTEGER nNative;
- SQLWCHAR szMessage[SQL_MAX_MESSAGE_LENGTH];
- SQLSMALLINT nMessage;
-
- if ( h )
- {
- *szSQLState = '\0';
- *szMessage = '\0';
-
- while ( SQL_SUCCEEDED( SQLGetDiagRecW( nHandleType,
- h,
- nRec,
- szSQLState,
- &nNative,
- szMessage,
- SQL_MAX_MESSAGE_LENGTH,
- &nMessage ) ) )
- {
- szSQLState[5] = '\0';
- szMessage[SQL_MAX_MESSAGE_LENGTH - 1] = '\0';
-
-
- add2list(errorMsgs, szMessage);
-
- bDiagnostics = TRUE;
- nRec++;
-
- *szSQLState = '\0';
- *szMessage = '\0';
- }
- }
-
- switch ( nReturn )
- {
- case SQL_ERROR:
- strAssign( popupMsg, L"Request returned with SQL_ERROR." );//, L"MYODBCConfig" );
- break;
- case SQL_SUCCESS_WITH_INFO:
- strAssign( popupMsg, L"Request return with SQL_SUCCESS_WITH_INFO." );//,
L"MYODBCConfig" );
- break;
- case SQL_INVALID_HANDLE:
- strAssign( popupMsg, L"Request returned with SQL_INVALID_HANDLE." );//, L"MYODBCConfig"
);
- break;
- default:
- strAssign( popupMsg, L"Request did not return with SQL_SUCCESS." );//, L"MYODBCConfig"
);
- }
-}
-
-
-unsigned long CompileOptions( DataSource * params )
-{
- unsigned long nFlags = 0;
-
- if (params->dont_optimize_column_width) nFlags |= FLAG_FIELD_LENGTH;
- if (params->return_matching_rows) nFlags |= FLAG_FOUND_ROWS; /*
2 */
- if (params->allow_big_results) nFlags |= FLAG_BIG_PACKETS;
- if (params->dont_prompt_upon_connect) nFlags |= FLAG_NO_PROMPT;
- if (params->enable_dynamic_cursor) nFlags |= FLAG_DYNAMIC_CURSOR;
- if (params->ignore_N_in_name_table) nFlags |= FLAG_NO_SCHEMA;
- if (params->user_manager_cursor) nFlags |= FLAG_NO_DEFAULT_CURSOR;
- if (params->dont_use_set_locale) nFlags |= FLAG_NO_LOCALE;
- if (params->pad_char_to_full_length) nFlags |= FLAG_PAD_SPACE;
- if (params->return_table_names_for_SqlDesribeCol) nFlags |=
FLAG_FULL_COLUMN_NAMES;
- if (params->use_compressed_protocol) nFlags |= FLAG_COMPRESSED_PROTO;
- if (params->ignore_space_after_function_names) nFlags |= FLAG_IGNORE_SPACE;
- if (params->force_use_of_named_pipes) nFlags |= FLAG_NAMED_PIPE;
- if (params->change_bigint_columns_to_int) nFlags |= FLAG_NO_BIGINT;
- if (params->no_catalog) nFlags |= FLAG_NO_CATALOG;
- if (params->read_options_from_mycnf) nFlags |= FLAG_USE_MYCNF;
- if (params->safe) nFlags |= FLAG_SAFE;
- if (params->disable_transactions) nFlags |= FLAG_NO_TRANSACTIONS;
- if (params->save_queries) nFlags |= FLAG_LOG_QUERY;
- if (params->dont_cache_result) nFlags |= FLAG_NO_CACHE;
- if (params->force_use_of_forward_only_cursors) nFlags |= FLAG_FORWARD_CURSOR;
- if (params->enable_auto_reconnect) nFlags |= FLAG_AUTO_RECONNECT;
- if (params->enable_auto_increment_null_search) nFlags |= FLAG_AUTO_IS_NULL;
-
- return nFlags;
-}
Deleted: branches/guffert/wingui/setup/utils.h
===================================================================
--- branches/guffert/wingui/setup/utils.h 2007-10-29 17:21:35 UTC (rev 829)
+++ branches/guffert/wingui/setup/utils.h 2007-10-30 19:56:13 UTC (rev 830)
@@ -1,19 +0,0 @@
-#ifndef _CALLBACKS_UTILS_
-
-#define _CALLBACKS_UTILS_
-
-#include "../odbcdialogparams/odbcdialogparams.h"
-#include "../util/installer.h"
-
-#include <sqltypes.h>
-
-void ShowDiagnostics ( SQLRETURN nReturn, SQLSMALLINT nHandleType, SQLHANDLE h );
-void FreeEnvHandle ( SQLHENV &hEnv );
-void Disconnect ( SQLHDBC &hDbc, SQLHENV &hEnv );
-void Disconnect ( SQLHSTMT &hStmt, SQLHDBC &hDbc, SQLHENV &hEnv );
-const myString & buildConnectString ( DataSource* params );
-SQLRETURN Connect ( SQLHDBC & hDbc, SQLHENV & hEnv, DataSource *
params );
-unsigned long CompileOptions ( DataSource * params );
-void DecompileOptions ( DataSource &src );
-
-#endif
| Thread |
|---|
| • Connector/ODBC 3.51 commit: r830 - in branches/guffert/wingui: odbcdialogparams setup | lnovitsky | 30 Oct |