List:Commits« Previous MessageNext Message »
From:pharvey Date:May 26 2006 7:45pm
Subject:Connector/ODBC 5 commit: r272 - in MYSQLPlus: MYSQLPlusLib MYSQLPlusTest
View as plain text  
Modified:
   MYSQLPlus/MYSQLPlusLib/MDiagnostic.cpp
   MYSQLPlus/MYSQLPlusLib/MDiagnosticRecord.cpp
   MYSQLPlus/MYSQLPlusLib/MResultRes.cpp
   MYSQLPlus/MYSQLPlusLib/MResultStmt.cpp
   MYSQLPlus/MYSQLPlusLib/MStatement.cpp
   MYSQLPlus/MYSQLPlusTest/MYSQLPlusTest.cpp
Log:


Modified: MYSQLPlus/MYSQLPlusLib/MDiagnostic.cpp
===================================================================
--- MYSQLPlus/MYSQLPlusLib/MDiagnostic.cpp	2006-05-26 15:45:05 UTC (rev 271)
+++ MYSQLPlus/MYSQLPlusLib/MDiagnostic.cpp	2006-05-26 17:45:13 UTC (rev 272)
@@ -348,7 +348,7 @@
     SQLSMALLINT nTextLength;
 
     for ( SQLSMALLINT nRecord = 1; 
-          SQL_SUCCEEDED(getDiagRec( nRecord, sSqlstate, &nNativeError, sMessageText,
1024, &nTextLength )); 
+          SQL_SUCCEEDED( getDiagRec( nRecord, sSqlstate, &nNativeError, sMessageText,
1024, &nTextLength ) ); 
           nRecord++ )
     {
         stringlist += QString::fromUtf16( sMessageText );

Modified: MYSQLPlus/MYSQLPlusLib/MDiagnosticRecord.cpp
===================================================================
--- MYSQLPlus/MYSQLPlusLib/MDiagnosticRecord.cpp	2006-05-26 15:45:05 UTC (rev 271)
+++ MYSQLPlus/MYSQLPlusLib/MDiagnosticRecord.cpp	2006-05-26 17:45:13 UTC (rev 272)
@@ -31,8 +31,8 @@
     Q_ASSERT( !pDiagnostic );
 
     this->nState        = nState;
-    this->nColumnNumber = SQL_NO_COLUMN_NUMBER;
-    this->nRowNumber    = SQL_NO_ROW_NUMBER;
+    nColumnNumber       = SQL_NO_COLUMN_NUMBER;
+    nRowNumber          = SQL_NO_ROW_NUMBER;
     stringServerName    = pDiagnostic->getServerName();
     stringConnectionName= pDiagnostic->getConnectionName();
 
@@ -114,13 +114,14 @@
     if ( !SQL_SUCCEEDED( nReturn ) )
         MYODBCDbgReturn( nReturn );
 
-    nReturn = getDiagField( SQL_DIAG_SQLSTATE, pszMessageText, nBufferLength,
&nStringLength );
+    nReturn = getDiagField( SQL_DIAG_MESSAGE_TEXT, pszMessageText, nBufferLength,
&nStringLength );
     if ( pnTextLengthPtr ) *pnTextLengthPtr = nStringLength;
     if ( nReturn == SQL_SUCCESS_WITH_INFO )
         bHasInfo = true;
     if ( !SQL_SUCCEEDED( nReturn ) )
         MYODBCDbgReturn( nReturn );
 
+    /* fini */
     if ( bHasInfo )
         MYODBCDbgReturn( SQL_SUCCESS_WITH_INFO );
 

Modified: MYSQLPlus/MYSQLPlusLib/MResultRes.cpp
===================================================================
--- MYSQLPlus/MYSQLPlusLib/MResultRes.cpp	2006-05-26 15:45:05 UTC (rev 271)
+++ MYSQLPlus/MYSQLPlusLib/MResultRes.cpp	2006-05-26 17:45:13 UTC (rev 272)
@@ -417,9 +417,18 @@
     */
     QByteArray bytearrayStatementWithParameters = bytearrayStatementTemplate;
 
-    if ( mysql_real_query( getMySQL(), bytearrayStatementWithParameters.data(),
bytearrayStatementWithParameters.count() ) )
+    /* escape the works */
+    char *p = (char *)MYODBCC::getMem( bytearrayStatementWithParameters.count() * + 2 );
+    unsigned long n = mysql_real_escape_string( getMySQL(), p,
bytearrayStatementWithParameters.constData(), bytearrayStatementWithParameters.count() );
+
+    if ( mysql_real_query( getMySQL(), p, n ) )
+    {
+        MYODBCC::doFree( p );
         MYODBCDbgReturn( getDiagnostic()->doAppend( MDiagnostic::DIA_HY000,
mysql_errno( getMySQL() ), mysql_error( getMySQL() ) ) );
+    }
 
+    MYODBCC::doFree( p );
+
     /*!
         \internal
         \todo

Modified: MYSQLPlus/MYSQLPlusLib/MResultStmt.cpp
===================================================================
--- MYSQLPlus/MYSQLPlusLib/MResultStmt.cpp	2006-05-26 15:45:05 UTC (rev 271)
+++ MYSQLPlus/MYSQLPlusLib/MResultStmt.cpp	2006-05-26 17:45:13 UTC (rev 272)
@@ -717,7 +717,6 @@
 {
     MYODBCDbgEnter();
 
-printf( "[PAH][%s][%d]\n", __FILE__, __LINE__ );
     SQLRETURN   nReturn;
     QString     stringStatement( QString::fromUtf16( psStatement ) );
 
@@ -727,18 +726,15 @@
     if ( mysql_stmt_prepare( pstm, stringStatement.toUtf8().data(),
stringStatement.length() ) )
         MYODBCDbgReturn( getDiagnostic()->doAppend( MDiagnostic::DIA_HY000,
mysql_stmt_errno( pstm ), mysql_stmt_error( pstm ) ) );
 
-printf( "[PAH][%s][%d]\n", __FILE__, __LINE__ );
     setState( STATE_PREPARED );
 
     /* get result-set meta-data */
     nReturn = doLoadMetaData();
     if ( !SQL_SUCCEEDED( nReturn ) )
     {
-printf( "[PAH][%s][%d]\n", __FILE__, __LINE__ );
         doStateRollBack( STATE_INITIALIZED );
         MYODBCDbgReturn( nReturn );
     }
-printf( "[PAH][%s][%d]\n", __FILE__, __LINE__ );
 
     MYODBCDbgReturn( SQL_SUCCESS );
 }
@@ -1167,16 +1163,13 @@
 {
     MYODBCDbgEnter();
 
-printf( "[PAH][%s][%d]\n", __FILE__, __LINE__ );
     getImpRowDesc()->doClear();
 
     MYSQL_RES *pMetaData = mysql_stmt_result_metadata( pstm );
     if ( !pMetaData )
     {
-printf( "[PAH][%s][%d]\n", __FILE__, __LINE__ );
         if ( mysql_stmt_error( pstm ) )
         {
-printf( "[PAH][%s][%d] %d %s\n", __FILE__, __LINE__, mysql_stmt_errno( pstm ),
mysql_stmt_error( pstm ) );
             MYODBCDbgReturn( getDiagnostic()->doAppend( MDiagnostic::DIA_HY000,
mysql_stmt_errno( pstm ), mysql_stmt_error( pstm ) ) );
         }
         MYODBCDbgReturn( SQL_SUCCESS );
@@ -1186,7 +1179,6 @@
 
     if ( nFields )
     {
-printf( "[PAH][%s][%d]\n", __FILE__, __LINE__ );
         unsigned int    nField;
         MYSQL_FIELD *   pField;
 
@@ -1197,7 +1189,6 @@
         mysql_field_seek( pMetaData, 0 );
         for ( nField = 0; nField < nFields; nField++ )
         {
-printf( "[PAH][%s][%d] %s\n", __FILE__, __LINE__, pField->name );
             pField  = mysql_fetch_field( pMetaData );
             SQLRETURN nReturn = doLoadMetaDataField( nField + 1, pField );
             if ( !SQL_SUCCEEDED( nReturn ) )
@@ -1219,7 +1210,6 @@
             pbindColumns[nField].buffer          = MYODBCC::getMem( pField->max_length
+ 1 );
         }
     }
-printf( "[PAH][%s][%d]\n", __FILE__, __LINE__ );
 
     MYODBCDbgReturn( SQL_SUCCESS );
 }

Modified: MYSQLPlus/MYSQLPlusLib/MStatement.cpp
===================================================================
--- MYSQLPlus/MYSQLPlusLib/MStatement.cpp	2006-05-26 15:45:05 UTC (rev 271)
+++ MYSQLPlus/MYSQLPlusLib/MStatement.cpp	2006-05-26 17:45:13 UTC (rev 272)
@@ -1475,12 +1475,10 @@
 {
     MYODBCDbgEnter();
 
-printf( "[PAH][%s][%d]\n", __FILE__, __LINE__ );
     SQLRETURN nReturn1 = doPrepare( psStatementText, nTextLength );
     if ( !SQL_SUCCEEDED( nReturn1 ) )
         MYODBCDbgReturn( nReturn1 );
 
-printf( "[PAH][%s][%d]\n", __FILE__, __LINE__ );
     /*!
         \internal
         \note
@@ -1491,7 +1489,6 @@
         - we do not want to clear diag (it was done in doPrepare())
     */
     SQLRETURN nReturn2 = pResult->doExecute();
-printf( "[PAH][%s][%d]\n", __FILE__, __LINE__ );
     if ( !SQL_SUCCEEDED( nReturn2 ) )
     {
         /*!
@@ -1916,7 +1913,6 @@
         setState( STATE_S1 );
     }
 
-printf( "[PAH][%s][%d]\n", __FILE__, __LINE__ );
     /* what flavour of resultset do we want? */
     switch ( getConnection()->getStatementType() )
     {
@@ -1946,17 +1942,14 @@
             break;
     }
 
-printf( "[PAH][%s][%d]\n", __FILE__, __LINE__ );
     /* do it */
     SQLRETURN nReturn = pResult->doPrepare( psStatementText );
     if ( !SQL_SUCCEEDED( nReturn ) )
     {
-printf( "[PAH][%s][%d]\n", __FILE__, __LINE__ );
         Q_ASSERT( !pResult );
         delete pResult;
         pResult = NULL;
     }
-printf( "[PAH][%s][%d]\n", __FILE__, __LINE__ );
 
     setState( STATE_S3 );
 

Modified: MYSQLPlus/MYSQLPlusTest/MYSQLPlusTest.cpp
===================================================================
--- MYSQLPlus/MYSQLPlusTest/MYSQLPlusTest.cpp	2006-05-26 15:45:05 UTC (rev 271)
+++ MYSQLPlus/MYSQLPlusTest/MYSQLPlusTest.cpp	2006-05-26 17:45:13 UTC (rev 272)
@@ -112,13 +112,20 @@
     MStatement  statement( pConnection );
     SQLRETURN   nReturn;
 
-    nReturn = statement.doExecDirect( TEXT("INSERT INTO tbMyODBCTest ( 'name1' )"),
SQL_NTS );
+    nReturn = statement.doExecDirect( TEXT("INSERT INTO tbMyODBCTest ( vcName ) VALUES (
'name1' )"), SQL_NTS );
+    if ( nReturn != SQL_SUCCESS )
+        *gpMYODBCDbg << endl << statement.getDiagnostics().join( "\n" )
<< endl;
+//        std::cout << endl << endl << statement.getDiagnostics().join(
"\n" ).toAscii().data() << endl << endl;
     QCOMPARE( nReturn, (SQLRETURN)SQL_SUCCESS );
 
-    nReturn = statement.doExecDirect( TEXT("INSERT INTO tbMyODBCTest ( 'name2' )"),
SQL_NTS );
+    nReturn = statement.doExecDirect( TEXT("INSERT INTO tbMyODBCTest ( vcName ) VALUES (
'name2' )"), SQL_NTS );
+    if ( nReturn != SQL_SUCCESS )
+        std::cout << endl << endl << statement.getDiagnostics().join(
"\n" ).toAscii().data() << endl << endl;
     QCOMPARE( nReturn, (SQLRETURN)SQL_SUCCESS );
 
-    nReturn = statement.doExecDirect( TEXT("INSERT INTO tbMyODBCTest ( 'name3' )"),
SQL_NTS );
+    nReturn = statement.doExecDirect( TEXT("INSERT INTO tbMyODBCTest ( vcName ) VALUES (
'name3' )"), SQL_NTS );
+    if ( nReturn != SQL_SUCCESS )
+        std::cout << endl << endl << statement.getDiagnostics().join(
"\n" ).toAscii().data() << endl << endl;
     QCOMPARE( nReturn, (SQLRETURN)SQL_SUCCESS );
 }
 

Thread
Connector/ODBC 5 commit: r272 - in MYSQLPlus: MYSQLPlusLib MYSQLPlusTestpharvey26 May