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 MYSQLPlusTest | pharvey | 26 May |