Modified:
Build.bat
MYODBCDriver/MYODBCDriverLib/MYODBCDriverInternal.h
MYODBCDriver/MYODBCDriverLib/MYODBCDriverLib.pro
MYSQLPlus/MYSQLPlusLib/MConnection.cpp
MYSQLPlus/MYSQLPlusLib/MInternal.h
MYSQLPlus/MYSQLPlusTest/MYSQLPlusTest.cpp
MYSQLPlus/include/M.h
MYSQLPlus/include/MConnection.h
root.pro
Log:
Modified: Build.bat
===================================================================
--- Build.bat 2006-05-06 18:37:04 UTC (rev 196)
+++ Build.bat 2006-05-07 18:29:38 UTC (rev 197)
@@ -21,6 +21,7 @@
IF EXIST lib (
rem rmdir /Q /S lib
del /Q lib\MYODBC*
+ del /Q lib\MYSQL*
)
IF EXIST bin (
rmdir /Q /S bin
Modified: MYODBCDriver/MYODBCDriverLib/MYODBCDriverInternal.h
===================================================================
--- MYODBCDriver/MYODBCDriverLib/MYODBCDriverInternal.h 2006-05-06 18:37:04 UTC (rev 196)
+++ MYODBCDriver/MYODBCDriverLib/MYODBCDriverInternal.h 2006-05-07 18:29:38 UTC (rev 197)
@@ -3,6 +3,7 @@
#include <MYODBCC.h>
#include <MYODBCDbg.h>
+#include <MYODBCIns.h>
#include <M.h>
#include "../include/MYODBCDriver.h"
Modified: MYODBCDriver/MYODBCDriverLib/MYODBCDriverLib.pro
===================================================================
--- MYODBCDriver/MYODBCDriverLib/MYODBCDriverLib.pro 2006-05-06 18:37:04 UTC (rev 196)
+++ MYODBCDriver/MYODBCDriverLib/MYODBCDriverLib.pro 2006-05-07 18:29:38 UTC (rev 197)
@@ -7,26 +7,27 @@
include( ../../common.pri )
include( ../../config.pri )
include( ../../defines.pri )
-CONFIG += plugin
+include( ../../odbc.pri )
+include( ../../mysql.pri )
+CONFIG += dll
+# CONFIG += plugin
INCLUDEPATH += ../../MYODBCC/include
INCLUDEPATH += ../../MYODBCDbg/include
-INCLUDEPATH += ../../MYSQLIns/include
+INCLUDEPATH += ../../MYODBCIns/include
INCLUDEPATH += ../../MYSQLPlus/include
+INCLUDEPATH += ../include
LIBS += -L../../lib
LIBS += -lMYSQLPlus
LIBS += -lMYODBCIns
LIBS += -lMYODBCDbg
LIBS += -lMYODBCC
-include( ../../odbc.pri )
-include( ../../mysql.pri )
-
# #########################################################
# WIN
# #########################################################
win32 {
LIBS += user32.lib
- LIBS += /VERBOSE:LIB /NODEFAULTLIB:libc.lib /NODEFAULTLIB:libcmt.lib
/NODEFAULTLIB:libcd.lib /NODEFAULTLIB:libcmtd.lib /NODEFAULTLIB:msvcrtd.lib
+# LIBS += /VERBOSE:LIB /NODEFAULTLIB:libc.lib /NODEFAULTLIB:libcmt.lib
/NODEFAULTLIB:libcd.lib /NODEFAULTLIB:libcmtd.lib /NODEFAULTLIB:msvcrtd.lib
}
# #########################################################
Modified: MYSQLPlus/MYSQLPlusLib/MConnection.cpp
===================================================================
--- MYSQLPlus/MYSQLPlusLib/MConnection.cpp 2006-05-06 18:37:04 UTC (rev 196)
+++ MYSQLPlus/MYSQLPlusLib/MConnection.cpp 2006-05-07 18:29:38 UTC (rev 197)
@@ -588,9 +588,9 @@
psAuthentication was longer than SQL_MAX_OPTION_STRING_LENGTH characters.
*/
if ( psAuthentication && nNameLength3 == SQL_NTS &&
stringAuthentication.length() > SQL_MAX_OPTION_STRING_LENGTH )
- MYODBCDbgReturn( pDiagnostic->doAppend( MDiagnostic::DIA_HY000, 0,
"pszAuthentication is too long"));
+ MYODBCDbgReturn( pDiagnostic->doAppend( MDiagnostic::DIA_HY000, 0,
"pszAuthentication is too long" ) );
if ( psAuthentication && nNameLength3 != SQL_NTS && nNameLength3 >
SQL_MAX_OPTION_STRING_LENGTH )
- MYODBCDbgReturn( pDiagnostic->doAppend( MDiagnostic::DIA_HY000, 0,
"pszAuthentication is too long"));
+ MYODBCDbgReturn( pDiagnostic->doAppend( MDiagnostic::DIA_HY000, 0,
"pszAuthentication is too long" ) );
/*!
\internal ODBC RULE (DM)
@@ -663,6 +663,55 @@
MYODBCDbgReturn( SQL_SUCCESS );
}
+SQLRETURN MConnection::doConnect( MYODBCInsDataSource *pDataSource )
+{
+ MYODBCDbgEnter();
+
+ pDiagnostic->doClear();
+
+ /*!
+ \internal ODBC RULE (DM)
+
+ The specified ConnectionHandle had already been used to establish a
+ connection with a data source, and the connection was still open or
+ the user was browsing for a connection.
+
+ Normally a DM thing but we also handle here for case when app linked
+ directly to driver.
+ */
+ if ( getState() != STATE_C2 )
+ MYODBCDbgReturn( pDiagnostic->doAppend( MDiagnostic::DIA_08002 ) );
+
+ /* allocate the MYSQL handle (this will silently do the library init as needed) */
+ pMySQL = mysql_init( NULL );
+
+ /* translate our flags into client while appling pre-connect flags */
+ ulong nFlags = getClientFlag( pDataSource->getOPTION().toULong(),
pDataSource->getSTMT() );
+
+ /* ask mysql for a connection */
+ if ( !mysql_real_connect( (MYSQL*)pMySQL,
+ pDataSource->getSERVER().toUtf8().data(),
+ pDataSource->getUID().toUtf8().data(),
+ pDataSource->getPWD().toUtf8().data(),
+ pDataSource->getDATABASE().toUtf8().data(),
+ pDataSource->getPORT().toInt(),
+ pDataSource->getSOCKET().toUtf8().data(),
+ (uint)nFlags ) )
+ {
+ pDiagnostic->doAppend( MDiagnostic::DIA_HY000, mysql_errno( (MYSQL*)pMySQL ),
mysql_error( (MYSQL*)pMySQL ) );
+ mysql_close( (MYSQL*)pMySQL );
+ pMySQL = NULL;
+ MYODBCDbgReturn( SQL_ERROR );
+ }
+
+ if ( !pDataSource->getDATABASE().isEmpty() )
+ stringCurrentCatalog = pDataSource->getDATABASE();
+
+ nState = STATE_C4;
+
+ MYODBCDbgReturn( SQL_SUCCESS );
+}
+
SQLRETURN MConnection::doDisconnect()
{
MYODBCDbgEnter();
@@ -1131,7 +1180,6 @@
if ( !stringSTMT.isEmpty() )
mysql_options( (MYSQL*)pMySQL, MYSQL_INIT_COMMAND, stringSTMT.toUtf8().data() );
-
mysql_options( (MYSQL*)pMySQL, MYSQL_OPT_CONNECT_TIMEOUT, (const char
*)&nLoginTimeout );
return nClientFlag;
Modified: MYSQLPlus/MYSQLPlusLib/MInternal.h
===================================================================
--- MYSQLPlus/MYSQLPlusLib/MInternal.h 2006-05-06 18:37:04 UTC (rev 196)
+++ MYSQLPlus/MYSQLPlusLib/MInternal.h 2006-05-07 18:29:38 UTC (rev 197)
@@ -8,7 +8,6 @@
#include <errmsg.h>
#include <MYODBCDbg.h>
-#include <MYODBCIns.h>
class MResult;
class MResultPlus;
Modified: MYSQLPlus/MYSQLPlusTest/MYSQLPlusTest.cpp
===================================================================
--- MYSQLPlus/MYSQLPlusTest/MYSQLPlusTest.cpp 2006-05-06 18:37:04 UTC (rev 196)
+++ MYSQLPlus/MYSQLPlusTest/MYSQLPlusTest.cpp 2006-05-07 18:29:38 UTC (rev 197)
@@ -38,13 +38,23 @@
void MYSQLPlusTest::connection()
{
- MEnvironment * pEnvironment = new MEnvironment();
- MConnection * pConnection = new MConnection( pEnvironment );
+ MEnvironment * pEnvironment = new MEnvironment();
+ MConnection * pConnection = new MConnection( pEnvironment );
+ MYODBCInsDataSource datasource;
+ datasource.setUID( "pharvey" );
+ datasource.setPWD( "pharvey" );
+ datasource.setDATABASE( "test" );
+
+ SQLRETURN nReturn = pConnection->doConnect( &datasource );
+
delete pEnvironment;
pConnection = NULL;
pEnvironment = NULL;
+
+ if ( !SQL_SUCCEEDED( nReturn ) )
+ QFAIL( "Failed to connect." );
}
QTEST_MAIN( MYSQLPlusTest )
Modified: MYSQLPlus/include/M.h
===================================================================
--- MYSQLPlus/include/M.h 2006-05-06 18:37:04 UTC (rev 196)
+++ MYSQLPlus/include/M.h 2006-05-07 18:29:38 UTC (rev 197)
@@ -2,6 +2,7 @@
#define M_H
#include <MYODBCC.h>
+#include <MYODBCIns.h>
#include <QObject>
#include <QFile>
Modified: MYSQLPlus/include/MConnection.h
===================================================================
--- MYSQLPlus/include/MConnection.h 2006-05-06 18:37:04 UTC (rev 196)
+++ MYSQLPlus/include/MConnection.h 2006-05-07 18:29:38 UTC (rev 197)
@@ -47,6 +47,7 @@
/* doers */
SQLRETURN doBrowseConnect( SQLWCHAR *psInConnectionString, SQLSMALLINT
nStringLength1, SQLWCHAR *psOutConnectionString, SQLSMALLINT nBufferLength, SQLSMALLINT
*pnStringLength2Ptr );
SQLRETURN doConnect( SQLWCHAR *psServerName, SQLSMALLINT nNameLength1, SQLWCHAR
*psUserName, SQLSMALLINT nNameLength2, SQLWCHAR *psAuthentication, SQLSMALLINT
nNameLength3 );
+ SQLRETURN doConnect( MYODBCInsDataSource *pDataSource );
SQLRETURN doDisconnect();
SQLRETURN doDriverConnect( SQLHWND hWnd, SQLWCHAR *pszInConnectionString, SQLSMALLINT
nStringLength1, SQLWCHAR *pszOutConnectionString, SQLSMALLINT nBufferLength, SQLSMALLINT
*pnStringLength2Ptr, SQLUSMALLINT nDriverCompletion );
SQLRETURN doEndTran( SQLSMALLINT nCompletionType );
Modified: root.pro
===================================================================
--- root.pro 2006-05-06 18:37:04 UTC (rev 196)
+++ root.pro 2006-05-07 18:29:38 UTC (rev 197)
@@ -50,7 +50,7 @@
MYODBCTst \
MYODBCIns \
MYSQLPlus \
- MYODBCDriver \
+# MYODBCDriver \
# MYODBCSetup \
MYODBCInstaller \
MYODBCShell
| Thread |
|---|
| • Connector/ODBC 5 commit: r197 - / MYODBCDriver/MYODBCDriverLib MYSQLPlus/MYSQLPlusLib MYSQLPlus/MYSQLPlusTest MYSQLPlus/include | pharvey | 7 May |