List:Commits« Previous MessageNext Message »
From:pharvey Date:June 16 2006 6:23am
Subject:Connector/ODBC 5 commit: r343 - in trunk/MYSQLPlus: MYSQLPlusLib MYSQLPlusTest
View as plain text  
Modified:
   trunk/MYSQLPlus/MYSQLPlusLib/MDescriptorAPD.cpp
   trunk/MYSQLPlus/MYSQLPlusLib/MDescriptorARD.cpp
   trunk/MYSQLPlus/MYSQLPlusLib/MDescriptorIPD.cpp
   trunk/MYSQLPlus/MYSQLPlusLib/MDescriptorIRD.cpp
   trunk/MYSQLPlus/MYSQLPlusTest/MYSQLPlusTest.cpp
Log:
Corrected;
 - IPD record count now auto expands to support SQLBindParameter
 - some 1-based vs 0-based issues

Modified: trunk/MYSQLPlus/MYSQLPlusLib/MDescriptorAPD.cpp
===================================================================
--- trunk/MYSQLPlus/MYSQLPlusLib/MDescriptorAPD.cpp	2006-06-16 06:00:42 UTC (rev 342)
+++ trunk/MYSQLPlus/MYSQLPlusLib/MDescriptorAPD.cpp	2006-06-16 06:23:12 UTC (rev 343)
@@ -103,7 +103,7 @@
         MYODBCDbgReturn( getDiagnostic()->doAppend( MDiagnostic::DIA_07009 ) );
 
     /* auto expand record list... */
-    if ( nRecNumber >= getCount() )
+    if ( nRecNumber > getCount() )
         setCount( nRecNumber );
 
     /* handle as record field */

Modified: trunk/MYSQLPlus/MYSQLPlusLib/MDescriptorARD.cpp
===================================================================
--- trunk/MYSQLPlus/MYSQLPlusLib/MDescriptorARD.cpp	2006-06-16 06:00:42 UTC (rev 342)
+++ trunk/MYSQLPlus/MYSQLPlusLib/MDescriptorARD.cpp	2006-06-16 06:23:12 UTC (rev 343)
@@ -123,7 +123,7 @@
         MYODBCDbgReturn( getDiagnostic()->doAppend( MDiagnostic::DIA_07009 ) );
 
     /* auto expand record list... */
-    if ( nRecNumber >= getCount() )
+    if ( nRecNumber > getCount() )
         setCount( nRecNumber );
 
     /* handle as record field */

Modified: trunk/MYSQLPlus/MYSQLPlusLib/MDescriptorIPD.cpp
===================================================================
--- trunk/MYSQLPlus/MYSQLPlusLib/MDescriptorIPD.cpp	2006-06-16 06:00:42 UTC (rev 342)
+++ trunk/MYSQLPlus/MYSQLPlusLib/MDescriptorIPD.cpp	2006-06-16 06:23:12 UTC (rev 343)
@@ -112,10 +112,14 @@
     if ( nRecNumber == 0 )
         MYODBCDbgReturn( getDiagnostic()->doAppend( MDiagnostic::DIA_07009 ) );
 
-    /* record field needs a valid record */
-    if ( nRecNumber < 0 || nRecNumber >= getCount() )
+    /* record number must be > 0 */
+    if ( nRecNumber < 0 )
         MYODBCDbgReturn( getDiagnostic()->doAppend( MDiagnostic::DIA_07009 ) );
 
+    /* auto expand record list (ie to support doBindParameter()... */
+    if ( nRecNumber > getCount() )
+        setCount( nRecNumber );
+
     /* handle as record field */
     MYODBCDbgReturn( ((MDescriptorRecord*)(children().at( nRecNumber
)))->setDescField( nFieldIdentifier, pValuePtr, nBufferLength ) );
 }

Modified: trunk/MYSQLPlus/MYSQLPlusLib/MDescriptorIRD.cpp
===================================================================
--- trunk/MYSQLPlus/MYSQLPlusLib/MDescriptorIRD.cpp	2006-06-16 06:00:42 UTC (rev 342)
+++ trunk/MYSQLPlus/MYSQLPlusLib/MDescriptorIRD.cpp	2006-06-16 06:23:12 UTC (rev 343)
@@ -76,7 +76,7 @@
     } /* switch (for header fields) */
 
     /* record field needs a valid record */
-    if ( nRecNumber < 0 || nRecNumber >= getCount() )
+    if ( nRecNumber < 0 || nRecNumber > getCount() )
         MYODBCDbgReturn( getDiagnostic()->doAppend( MDiagnostic::DIA_07009 ) );
 
     /* handle as record field */

Modified: trunk/MYSQLPlus/MYSQLPlusTest/MYSQLPlusTest.cpp
===================================================================
--- trunk/MYSQLPlus/MYSQLPlusTest/MYSQLPlusTest.cpp	2006-06-16 06:00:42 UTC (rev 342)
+++ trunk/MYSQLPlus/MYSQLPlusTest/MYSQLPlusTest.cpp	2006-06-16 06:23:12 UTC (rev 343)
@@ -189,10 +189,8 @@
     SQLWCHAR    szNameWide[100];
     SQLINTEGER  nStrLenOrInd;
 
-    /* this should error out */
+    /* this *should* error out so do not show diag message */
     nReturn = statement.doNumResultCols( &nCols );
-    if ( nReturn != SQL_SUCCESS )
-        textstreamStdOut << endl << endl <<
statement.getDiagnostics().join( "\n" ) << endl << endl;
     QCOMPARE( nReturn, (SQLRETURN)SQL_ERROR );
 
     nReturn = statement.doExecDirect( TEXT("SELECT * FROM tbMyODBCTest"), SQL_NTS );
@@ -272,21 +270,25 @@
     SQLINTEGER  nStrLenOrIndCreated = 0;
     SQLINTEGER  nRowCount           = 0;
 
+printf( "[PAH][%s][%d]\n", __FILE__, __LINE__ );
     nReturn = statement.doBindParameter( 1, SQL_PARAM_INPUT, SQL_C_CHAR, SQL_CHAR, 100,
0, szName, 0, &nStrLenOrIndName );
     if ( nReturn != SQL_SUCCESS )
         textstreamStdOut << endl << endl <<
statement.getDiagnostics().join( "\n" ) << endl << endl;
     QCOMPARE( nReturn, (SQLRETURN)SQL_SUCCESS );
 
+printf( "[PAH][%s][%d]\n", __FILE__, __LINE__ );
     nReturn = statement.doBindParameter( 2, SQL_PARAM_INPUT, SQL_C_CHAR, SQL_CHAR, 100,
0, szCreated, 0, &nStrLenOrIndCreated );
     if ( nReturn != SQL_SUCCESS )
         textstreamStdOut << endl << endl <<
statement.getDiagnostics().join( "\n" ) << endl << endl;
     QCOMPARE( nReturn, (SQLRETURN)SQL_SUCCESS );
 
+printf( "[PAH][%s][%d]\n", __FILE__, __LINE__ );
     nReturn = statement.doPrepare( TEXT("UPDATE tbMyODBCTest SET dCreated = ? WHERE
vcName = ?"), SQL_NTS );
     if ( nReturn != SQL_SUCCESS )
         textstreamStdOut << endl << endl <<
statement.getDiagnostics().join( "\n" ) << endl << endl;
     QCOMPARE( nReturn, (SQLRETURN)SQL_SUCCESS );
 
+printf( "[PAH][%s][%d]\n", __FILE__, __LINE__ );
     strcpy( (char*)szName, "name2" ); 
     sprintf( (char*)szCreated, "1963-08-17 01:45:00" );
 

Thread
Connector/ODBC 5 commit: r343 - in trunk/MYSQLPlus: MYSQLPlusLib MYSQLPlusTestpharvey16 Jun