List:Commits« Previous MessageNext Message »
From:pharvey Date:May 18 2006 5:52pm
Subject:Connector/ODBC 5 commit: r255 - MYSQLPlus/MYSQLPlusLib
View as plain text  
Modified:
   MYSQLPlus/MYSQLPlusLib/MResult.cpp
   MYSQLPlus/MYSQLPlusLib/MResult.h
Log:


Modified: MYSQLPlus/MYSQLPlusLib/MResult.cpp
===================================================================
--- MYSQLPlus/MYSQLPlusLib/MResult.cpp	2006-05-18 04:33:05 UTC (rev 254)
+++ MYSQLPlus/MYSQLPlusLib/MResult.cpp	2006-05-18 17:52:46 UTC (rev 255)
@@ -55,9 +55,9 @@
 {
     MYODBCDbgEnter();
 
-    if ( resultGetData.nColumn == nColumnNumber     &&
-         resultGetData.nBytesOrCharsRemaining > 0   &&
-         resultGetData.nTargetType == nTargetType   &&
+    if ( this->nColumn == nColumn           &&
+         nBytesOrCharsRemaining > 0         &&
+         this->nTargetType == nTargetType   &&
          MDescriptorRecordIRD::isVariableLength( nType ) )
     {
         MYODBCDbgReturn3( "%d", true );
@@ -170,7 +170,7 @@
         resultGetData.nColumn                   = nColumnNumber;
         resultGetData.nTargetType               = nTargetType;
         resultGetData.nTargetTypeAdjusted       = nTargetType;
-        resultGetData.pDescriptorRecordIRD      = getImpRowDesc()->getRecord(
nColumnNumber );
+        resultGetData.pDescriptorRecordIRD      =
(MDescriptorRecordIRD*)getImpRowDesc()->getRecord( nColumnNumber );
         resultGetData.pnBytesOrCharsRemaining   = pnLength;
         resultGetData.pnIndicator               = pnIndicator;
 
@@ -226,7 +226,7 @@
                 TargetType argument of SQL_ARD_TYPE, which will cause the precision and
scale values in 
                 the descriptor fields to be used.
             */
-            resultGetData.pDescriptorRecordARD  = getAppRowDesc()->getRecord(
nColumnNumber );
+            resultGetData.pDescriptorRecordARD  =
(MDescriptorRecordARD*)getAppRowDesc()->getRecord( nColumnNumber );
             resultGetData.nTargetTypeAdjusted   =
resultGetData.pDescriptorRecordARD->getConciseType();
         }
         else if ( nTargetType == SQL_C_DEFAULT )
@@ -262,7 +262,7 @@
         case SQL_WCHAR:
         case SQL_WVARCHAR:
         case SQL_WLONGVARCHAR:
-            MYODBCDbgReturn( fromCharacterSQL();
+            MYODBCDbgReturn( fromCharacterSQL() );
 
         case SQL_DECIMAL:
         case SQL_NUMERIC:
@@ -273,32 +273,32 @@
         case SQL_REAL:
         case SQL_FLOAT:
         case SQL_DOUBLE:
-            MYODBCDbgReturn( fromNumericSQL();
+            MYODBCDbgReturn( fromNumericSQL() );
 
         case SQL_BIT:
-            MYODBCDbgReturn( fromBitSQL();
+            MYODBCDbgReturn( fromBitSQL() );
 
         case SQL_BINARY:
         case SQL_VARBINARY:
         case SQL_LONGVARBINARY:
-            MYODBCDbgReturn( fromBinarySQL();
+            MYODBCDbgReturn( fromBinarySQL() );
 
         case SQL_TYPE_DATE:
-            MYODBCDbgReturn( fromDateSQL();
+            MYODBCDbgReturn( fromDateSQL() );
 
         case SQL_GUID:
-            MYODBCDbgReturn( fromGuidSQL();
+            MYODBCDbgReturn( fromGuidSQL() );
 
         case SQL_TYPE_TIME:
-            MYODBCDbgReturn( fromTimeSQL();
+            MYODBCDbgReturn( fromTimeSQL() );
 
         case SQL_TYPE_TIMESTAMP:
-            MYODBCDbgReturn( fromTimeStampSQL();
+            MYODBCDbgReturn( fromTimeStampSQL() );
 
         case SQL_INTERVAL_YEAR:
         case SQL_INTERVAL_MONTH:
         case SQL_INTERVAL_YEAR_TO_MONTH:
-            MYODBCDbgReturn( fromIntervalYearMonthSQL();
+            MYODBCDbgReturn( fromIntervalYearMonthSQL() );
 
         case SQL_INTERVAL_DAY:
         case SQL_INTERVAL_HOUR:
@@ -310,7 +310,7 @@
         case SQL_INTERVAL_HOUR_TO_MINUTE:
         case SQL_INTERVAL_HOUR_TO_SECOND:
         case SQL_INTERVAL_MINUTE_TO_SECOND:
-            MYODBCDbgReturn( fromIntervalDayTimeSQL();
+            MYODBCDbgReturn( fromIntervalDayTimeSQL() );
 
         default:
             MYODBCDbgReturn( getDiagnostic()->doAppend( MDiagnostic::DIA_HY003 ) );
@@ -970,20 +970,20 @@
        
+-------------+-------------------------------------+-----------------+-------------------------+----------+
     */
 
-    if ( !pResultDataTarget->variantData.canConvert<QString>() )
+    if ( !resultGetData.variantData.canConvert<QString>() )
         MYODBCDbgReturn( getDiagnostic()->doAppend( MDiagnostic::DIA_07006 ) );
 
-    QString stringData = pResultDataTarget->variantData.toString();
-    if ( pResultDataTarget->pTarget && pResultDataTarget->nBytesOrCharsMax
)
+    QString stringData = resultGetData.variantData.toString();
+    if ( resultGetData.pTarget && resultGetData.nBytesOrCharsMax )
     {
-        MYODBCC::doStrNCpy( (SQLCHAR*)pResultDataTarget->pTarget,
pResultDataTarget->nBytesOrCharsMax, stringData.toAscii().data() );
-        if ( pResultDataTarget->nBytesOrCharsMax >= stringData.length() )
+        MYODBCC::doStrNCpy( (SQLCHAR*)resultGetData.pTarget,
resultGetData.nBytesOrCharsMax, stringData.toAscii().data() );
+        if ( resultGetData.nBytesOrCharsMax >= stringData.length() )
             MYODBCDbgReturn( getDiagnostic()->doAppend( MDiagnostic::DIA_01004 ) );
     }
     else 
         MYODBCDbgReturn( getDiagnostic()->doAppend( MDiagnostic::DIA_01004 ) );
 
-    if ( pResultDataTarget->pnBytesOrCharsRemaining )
*pResultDataTarget->pnBytesOrCharsRemaining = ( stringData.length() + 1 ) -
pResultDataTarget->nBytesOrCharsMax;
+    if ( resultGetData.pnBytesOrCharsRemaining ) *resultGetData.pnBytesOrCharsRemaining =
( stringData.length() + 1 ) - resultGetData.nBytesOrCharsMax;
 
     MYODBCDbgReturn( SQL_SUCCESS );
 }
@@ -1003,20 +1003,20 @@
        
+-------------+------------------------------------------+-----------------+------------------------------+----------+
     */
 
-    if ( !pResultDataTarget->variantData.canConvert<QString>() )
+    if ( !resultGetData.variantData.canConvert<QString>() )
         MYODBCDbgReturn( getDiagnostic()->doAppend( MDiagnostic::DIA_07006 ) );
 
-    QString stringData = pResultDataTarget->variantData.toString();
-    if ( pResultDataTarget->pTarget && pResultDataTarget->nBytesOrCharsMax
)
+    QString stringData = resultGetData.variantData.toString();
+    if ( resultGetData.pTarget && resultGetData.nBytesOrCharsMax )
     {
-        MYODBCC::doStrNCpy( (SQLWCHAR*)pResultDataTarget->pTarget,
pResultDataTarget->nBytesOrCharsMax, stringData.utf16() );
-        if ( pResultDataTarget->nBytesOrCharsMax >= stringData.length() )
+        MYODBCC::doStrNCpy( (SQLWCHAR*)resultGetData.pTarget,
resultGetData.nBytesOrCharsMax, stringData.utf16() );
+        if ( resultGetData.nBytesOrCharsMax >= stringData.length() )
             MYODBCDbgReturn( getDiagnostic()->doAppend( MDiagnostic::DIA_01004 ) );
     }
     else 
         MYODBCDbgReturn( getDiagnostic()->doAppend( MDiagnostic::DIA_01004 ) );
 
-    if ( pResultDataTarget->pnBytesOrCharsRemaining )
*pResultDataTarget->pnBytesOrCharsRemaining = ( stringData.length() + 1 ) -
pResultDataTarget->nBytesOrCharsMax;
+    if ( resultGetData.pnBytesOrCharsRemaining ) *resultGetData.pnBytesOrCharsRemaining =
( stringData.length() + 1 ) - resultGetData.nBytesOrCharsMax;
 
     MYODBCDbgReturn( SQL_SUCCESS );
 }
@@ -1035,13 +1035,13 @@
         +--------------+
     */
 
-    if ( !pResultDataTarget->variantData.canConvert<short int>() ) 
+    if ( !resultGetData.variantData.canConvert<short int>() ) 
         MYODBCDbgReturn( getDiagnostic()->doAppend( MDiagnostic::DIA_07006 ) );
 
-    if ( pResultDataTarget->pTargetValue &&
pResultDataTarget->nBytesOrCharsMax )
-        *((short int*)(pResultDataTarget->pTarget)) = (short
int)pResultDataTarget->variantData.toInt();
+    if ( resultGetData.pTargetValue && resultGetData.nBytesOrCharsMax )
+        *((short int*)(resultGetData.pTarget)) = (short
int)resultGetData.variantData.toInt();
 
-    if ( pResultDataTarget->pnBytesOrCharsRemaining )
*pResultDataTarget->pnBytesOrCharsRemaining = sizeof(short int);
+    if ( resultGetData.pnBytesOrCharsRemaining ) *resultGetData.pnBytesOrCharsRemaining =
sizeof(short int);
 
     MYODBCDbgReturn( SQL_SUCCESS );
 }
@@ -1050,12 +1050,12 @@
 {
     MYODBCDbgEnter();
 
-    if ( !pResultDataTarget->variantData.canConvert<unsigned short int>() ) 
+    if ( !resultGetData.variantData.canConvert<unsigned short int>() ) 
         MYODBCDbgReturn( getDiagnostic()->doAppend( MDiagnostic::DIA_07006 ) );
 
-    *pResultDataTarget->pTarget = (unsigned short
int)pResultDataTarget->variantData.toUInt();
+    *resultGetData.pTarget = (unsigned short int)resultGetData.variantData.toUInt();
 
-    if ( pResultDataTarget->pnBytesOrCharsRemaining )
*pResultDataTarget->pnBytesOrCharsRemaining = sizeof(unsigned short int);
+    if ( resultGetData.pnBytesOrCharsRemaining ) *resultGetData.pnBytesOrCharsRemaining =
sizeof(unsigned short int);
 
     MYODBCDbgReturn( SQL_SUCCESS );
 }
@@ -1064,12 +1064,12 @@
 {
     MYODBCDbgEnter();
 
-    if ( !pResultDataTarget->variantData.canConvert<long int>() ) 
+    if ( !resultGetData.variantData.canConvert<long int>() ) 
         MYODBCDbgReturn( getDiagnostic()->doAppend( MDiagnostic::DIA_07006 ) );
 
-    *pResultDataTarget->pTarget = (long
int)pResultDataTarget->variantData.toLongLong();
+    *resultGetData.pTarget = (long int)resultGetData.variantData.toLongLong();
 
-    if ( pResultDataTarget->pnBytesOrCharsRemaining )
*pResultDataTarget->pnBytesOrCharsRemaining = sizeof(long int);
+    if ( resultGetData.pnBytesOrCharsRemaining ) *resultGetData.pnBytesOrCharsRemaining =
sizeof(long int);
 
     MYODBCDbgReturn( SQL_SUCCESS );
 }
@@ -1078,12 +1078,12 @@
 {
     MYODBCDbgEnter();
 
-    if ( !pResultDataTarget->variantData.canConvert<unsigned long int>() ) 
+    if ( !resultGetData.variantData.canConvert<unsigned long int>() ) 
         MYODBCDbgReturn( getDiagnostic()->doAppend( MDiagnostic::DIA_07006 ) );
 
-    *pTarget = (unsigned long int)pResultDataTarget->variantData.toULongLong();
+    *pTarget = (unsigned long int)resultGetData.variantData.toULongLong();
 
-    if ( pResultDataTarget->pnBytesOrCharsRemaining )
*pResultDataTarget->pnBytesOrCharsRemaining = sizeof(unsigned long int);
+    if ( resultGetData.pnBytesOrCharsRemaining ) *resultGetData.pnBytesOrCharsRemaining =
sizeof(unsigned long int);
 
     MYODBCDbgReturn( SQL_SUCCESS );
 }
@@ -1092,12 +1092,12 @@
 {
     MYODBCDbgEnter();
 
-    if ( !pResultDataTarget->variantData.canConvert<float>() ) 
+    if ( !resultGetData.variantData.canConvert<float>() ) 
         MYODBCDbgReturn( getDiagnostic()->doAppend( MDiagnostic::DIA_07006 ) );
 
-    *pResultDataTarget->pTarget = (float)pResultDataTarget->variantData.toDouble();
+    *resultGetData.pTarget = (float)resultGetData.variantData.toDouble();
 
-    if ( pResultDataTarget->pnBytesOrCharsRemaining )
*pResultDataTarget->pnBytesOrCharsRemaining = sizeof(float);
+    if ( resultGetData.pnBytesOrCharsRemaining ) *resultGetData.pnBytesOrCharsRemaining =
sizeof(float);
 
     MYODBCDbgReturn( SQL_SUCCESS );
 }
@@ -1106,12 +1106,12 @@
 {
     MYODBCDbgEnter();
 
-    if ( !pResultDataTarget->variantData.canConvert<double>() ) 
+    if ( !resultGetData.variantData.canConvert<double>() ) 
         MYODBCDbgReturn( getDiagnostic()->doAppend( MDiagnostic::DIA_07006 ) );
 
-    *pResultDataTarget->pTarget =
(double)pResultDataTarget->variantData.toDouble();
+    *resultGetData.pTarget = (double)resultGetData.variantData.toDouble();
 
-    if ( pResultDataTarget->pnBytesOrCharsRemaining )
*pResultDataTarget->pnBytesOrCharsRemaining = sizeof(double);
+    if ( resultGetData.pnBytesOrCharsRemaining ) *resultGetData.pnBytesOrCharsRemaining =
sizeof(double);
 
     MYODBCDbgReturn( SQL_SUCCESS );
 }
@@ -1120,12 +1120,12 @@
 {
     MYODBCDbgEnter();
 
-    if ( !pResultDataTarget->variantData.canConvert<char>() ) 
+    if ( !resultGetData.variantData.canConvert<char>() ) 
         MYODBCDbgReturn( getDiagnostic()->doAppend( MDiagnostic::DIA_07006 ) );
 
-    *pResultDataTarget->pTarget = pResultDataTarget->variantData.toInt();
+    *resultGetData.pTarget = resultGetData.variantData.toInt();
 
-    if ( pResultDataTarget->pnBytesOrCharsRemaining )
*pResultDataTarget->pnBytesOrCharsRemaining = sizeof(char);
+    if ( resultGetData.pnBytesOrCharsRemaining ) *resultGetData.pnBytesOrCharsRemaining =
sizeof(char);
 
     MYODBCDbgReturn( SQL_SUCCESS );
 }
@@ -1134,12 +1134,12 @@
 {
     MYODBCDbgEnter();
 
-    if ( !pResultDataTarget->variantData.canConvert<unsigned char>() ) 
+    if ( !resultGetData.variantData.canConvert<unsigned char>() ) 
         MYODBCDbgReturn( getDiagnostic()->doAppend( MDiagnostic::DIA_07006 ) );
 
-    *pResultDataTarget->pTarget = pResultDataTarget->variantData.toInt();
+    *resultGetData.pTarget = resultGetData.variantData.toInt();
 
-    if ( pResultDataTarget->pnBytesOrCharsRemaining )
*pResultDataTarget->pnBytesOrCharsRemaining = sizeof(unsigned char);
+    if ( resultGetData.pnBytesOrCharsRemaining ) *resultGetData.pnBytesOrCharsRemaining =
sizeof(unsigned char);
 
     MYODBCDbgReturn( SQL_SUCCESS );
 }
@@ -1148,12 +1148,14 @@
 {
     MYODBCDbgEnter();
 
-    if ( !pResultDataTarget->variantData.canConvert<qint64>() ) 
+    qint64 *pnInt64 = (qint64*)resultGetData.pTarget;
+
+    if ( !resultGetData.variantData.canConvert<qint64>() ) 
         MYODBCDbgReturn( getDiagnostic()->doAppend( MDiagnostic::DIA_07006 ) );
 
-    *pResultDataTarget->pTarget =
(qint64)pResultDataTarget->variantData.toLongLong();
+    *pnInt64 = (qint64)resultGetData.variantData.toLongLong();
 
-    if ( pResultDataTarget->pnBytesOrCharsRemaining )
*pResultDataTarget->pnBytesOrCharsRemaining = sizeof(qint64);
+    if ( resultGetData.pnBytesOrCharsRemaining ) *resultGetData.pnBytesOrCharsRemaining =
sizeof(qint64);
 
     MYODBCDbgReturn( SQL_SUCCESS );
 }
@@ -1162,12 +1164,14 @@
 {
     MYODBCDbgEnter();
 
-    if ( !pResultDataTarget->variantData.canConvert<quint64>() ) 
+    quint64 *pnUInt64 = (quint64*)resultGetData.pTarget;
+
+    if ( !resultGetData.variantData.canConvert<quint64>() ) 
         MYODBCDbgReturn( getDiagnostic()->doAppend( MDiagnostic::DIA_07006 ) );
 
-    *pResultDataTarget->pTarget =
(quint64)pResultDataTarget->variantData.toLongLong();
+    *pnUInt64 = (quint64)resultGetData.variantData.toLongLong();
 
-    if ( pResultDataTarget->pnBytesOrCharsRemaining )
*pResultDataTarget->pnBytesOrCharsRemaining = sizeof(quint64);
+    if ( resultGetData.pnBytesOrCharsRemaining ) *resultGetData.pnBytesOrCharsRemaining =
sizeof(quint64);
 
     MYODBCDbgReturn( SQL_SUCCESS );
 }
@@ -1176,9 +1180,9 @@
 {
     MYODBCDbgEnter();
 
-    QByteArray bytearray = pResultDataTarget->variantData.toByteArray();
+    QByteArray bytearray = resultGetData.variantData.toByteArray();
 
-    MYODBCC::doMemCpy( pTarget, bytearray.constData(), nBytesMax );
+    MYODBCC::doMemCpy( resultGetData.pTarget, bytearray.constData(),
resultGetData.nBytesOrCharsMax );
 
     if ( pnBytesAvailable ) *pnBytesAvailable = bytearray.size();
 
@@ -1189,13 +1193,15 @@
 {
     MYODBCDbgEnter();
 
-    if ( !pResultDataTarget->variantData.canConvert<QDate>() ) 
+    SQL_DATE_STRUCT *pDateTarget = (SQL_DATE_STRUCT *)resultGetData.pTarget;
+
+    if ( !resultGetData.variantData.canConvert<QDate>() ) 
         MYODBCDbgReturn( getDiagnostic()->doAppend( MDiagnostic::DIA_07006 ) );
-    QDate d         = pResultDataTarget->variantData.toDate();
-    pTarget->day    = d.day();
-    pTarget->month  = d.month();
-    pTarget->year   = d.year();
-    if ( pResultDataTarget->pnBytesOrCharsRemaining )
*pResultDataTarget->pnBytesOrCharsRemaining = sizeof(SQL_DATE_STRUCT);
+    QDate d             = resultGetData.variantData.toDate();
+    pDateTarget->day    = d.day();
+    pDateTarget->month  = d.month();
+    pDateTarget->year   = d.year();
+    if ( resultGetData.pnBytesOrCharsRemaining ) *resultGetData.pnBytesOrCharsRemaining =
sizeof(SQL_DATE_STRUCT);
 
     MYODBCDbgReturn( SQL_SUCCESS );
 }
@@ -1204,13 +1210,15 @@
 {
     MYODBCDbgEnter();
 
-    if ( !pResultDataTarget->variantData.canConvert<QTime>() ) 
+    SQL_TIME_STRUCT *pTimeTarget = (SQL_TIME_STRUCT *)resultGetData.pTarget;
+
+    if ( !resultGetData.variantData.canConvert<QTime>() ) 
         MYODBCDbgReturn( getDiagnostic()->doAppend( MDiagnostic::DIA_07006 ) );
-    QTime t         = pResultDataTarget->variantData.toTime();
-    pTarget->hour   = t.hour();
-    pTarget->minute = t.minute();
-    pTarget->second = t.second();
-    if ( pResultDataTarget->pnBytesOrCharsRemaining )
*pResultDataTarget->pnBytesOrCharsRemaining = sizeof(SQL_TIME_STRUCT);
+    QTime t             = resultGetData.variantData.toTime();
+    pTimeTarget->hour   = t.hour();
+    pTimeTarget->minute = t.minute();
+    pTimeTarget->second = t.second();
+    if ( resultGetData.pnBytesOrCharsRemaining ) *resultGetData.pnBytesOrCharsRemaining =
sizeof(SQL_TIME_STRUCT);
 
     MYODBCDbgReturn( SQL_SUCCESS );
 }
@@ -1219,17 +1227,19 @@
 {
     MYODBCDbgEnter();
 
-    if ( !pResultDataTarget->variantData.canConvert<QDateTime>() ) 
+    SQL_TIMESTAMP_STRUCT *pTimeStampTarget = (SQL_TIMESTAMP_STRUCT
*)resultGetData.pTarget;
+
+    if ( !resultGetData.variantData.canConvert<QDateTime>() ) 
         MYODBCDbgReturn( getDiagnostic()->doAppend( MDiagnostic::DIA_07006 ) );
-    QDateTime t         = pResultDataTarget->variantData.toDateTime();
-    pTarget->day        = t.date().day();
-    pTarget->fraction   = t.time().msec(); /*! \todo fraction is not same as msec -
look into it */
-    pTarget->hour       = t.time().hour();
-    pTarget->minute     = t.time().minute();
-    pTarget->month      = t.date().month();
-    pTarget->second     = t.time().second();
-    pTarget->year       = t.date().year();
-    if ( pResultDataTarget->pnBytesOrCharsRemaining )
*pResultDataTarget->pnBytesOrCharsRemaining = sizeof(SQL_TIMESTAMP_STRUCT);
+    QDateTime t = resultGetData.variantData.toDateTime();
+    pTimeStampTarget->day        = t.date().day();
+    pTimeStampTarget->fraction   = t.time().msec(); /*! \todo fraction is not same as
msec - look into it */
+    pTimeStampTarget->hour       = t.time().hour();
+    pTimeStampTarget->minute     = t.time().minute();
+    pTimeStampTarget->month      = t.date().month();
+    pTimeStampTarget->second     = t.time().second();
+    pTimeStampTarget->year       = t.date().year();
+    if ( resultGetData.pnBytesOrCharsRemaining ) *resultGetData.pnBytesOrCharsRemaining =
sizeof(SQL_TIMESTAMP_STRUCT);
 
     MYODBCDbgReturn( SQL_SUCCESS );
 }
@@ -1267,29 +1277,29 @@
 
         \sa SQL_ARD_TYPE
     */
-    SQL_NUMERIC_STRUCT *pNumeric = (SQL_NUMERIC_STRUCT *)resultGetData.pTarget;
+    SQL_NUMERIC_STRUCT *pNumericTarget = (SQL_NUMERIC_STRUCT *)resultGetData.pTarget;
 
-    pNumeric->sign = 1;
+    pNumericTarget->sign = 1;
 
     /* is default being overidden with ARD? */
     if ( resultGetData.pDescriptorRecordARD )
     {
-        pNumeric->precision = resultGetData.pDescriptorRecordARD->getPrecision();
-        pNumeric->scale     = resultGetData.pDescriptorRecordARD->getScale();
+        pNumericTarget->precision =
resultGetData.pDescriptorRecordARD->getPrecision();
+        pNumericTarget->scale     = resultGetData.pDescriptorRecordARD->getScale();
     }
     else
     {
-        pNumeric->precision = 10;   /* default precision    */
-        pNumeric->scale     = 0;    /* default scale        */
+        pNumericTarget->precision = 10;   /* default precision    */
+        pNumericTarget->scale     = 0;    /* default scale        */
     }
 
     /* our high precision stuff (DECIMAL) is stored as a string and all other numerics
can be turned into a string 
        so lets use a string as our starting point - in this way we hope to catch &
report any possible loss of 
        precision/scale :) */
-    if ( !pResultDataTarget->variantData.canConvert<QString>() )
+    if ( !resultGetData.variantData.canConvert<QString>() )
         MYODBCDbgReturn( getDiagnostic()->doAppend( MDiagnostic::DIA_07006, 0,
tr("Variant (data conversion hub) could not convert to a string.") ) );
 
-    QString stringData = pResultDataTarget->variantData.toString().stripWhiteSpace();
+    QString stringData = resultGetData.variantData.toString().stripWhiteSpace();
 
     /*!
         \internal ODBC RULE
@@ -1304,12 +1314,12 @@
     if ( stringData[0] == QChar( '-' ) )
     {
         stringData.remove( 1, 1 );
-        pNumericStruct->sign = 0;
+        pNumericTarget->sign = 0;
     }
     else if ( stringData[0] == QChar( '+' ) )
     {
         stringData.remove( 1, 1 );
-        pNumericStruct->sign = 1;
+        pNumericTarget->sign = 1;
     }
 
     /* get precision & scale strings */
@@ -1327,20 +1337,20 @@
     /* check for truncation */
     BOOLEAN bFractionalTruncation = false;
 
-    if ( stringPrecision.length() > pNumeric->precision )
+    if ( stringPrecision.length() > pNumericTarget->precision )
         MYODBCDbgReturn( getDiagnostic()->doAppend( MDiagnostic::DIA_22003 ) );
 
-    if ( stringScale.length() > pNumeric->scale )
+    if ( stringScale.length() > pNumericTarget->scale )
     {
-        if ( pNumeric->scale == 0 )
+        if ( pNumericTarget->scale == 0 )
             stringScale = QString::null;
         else
-            stringScale.truncate( pNumeric->scale );
+            stringScale.truncate( pNumericTarget->scale );
         bFractionalTruncation = true;
     }
 
     /* get int ver of each part */
-    BOOLEAN bOk     = true;
+    bool bOk     = true;
     int nPrecision  = stringPrecision.toInt( &bOk );
     if ( !bOk )
         MYODBCDbgReturn( getDiagnostic()->doAppend( MDiagnostic::DIA_07006, 0,
tr("Failed to convert precision part.") ) );
@@ -1358,7 +1368,7 @@
         with the number of bytes defined by the SQL_MAX_NUMERIC_LEN #define.
     */
 
-    memset( pNumeric->val, 0, SQL_MAX_NUMERIC_LEN );
+    memset( pNumericTarget->val, 0, SQL_MAX_NUMERIC_LEN );
 
     /*! \todo pack into 16 byte buffer */
 

Modified: MYSQLPlus/MYSQLPlusLib/MResult.h
===================================================================
--- MYSQLPlus/MYSQLPlusLib/MResult.h	2006-05-18 04:33:05 UTC (rev 254)
+++ MYSQLPlus/MYSQLPlusLib/MResult.h	2006-05-18 17:52:46 UTC (rev 255)
@@ -125,7 +125,7 @@
     MDescriptor *   getImpRowDesc();
 
     /* support for getData: this is called when target C type is SQL_C_DEFAULT  (derive
type from IRD)  */
-    SQLRETURN       getDataDefault( SQLUSMALLINT nColumn, MDescriptorRecordIRD
*pDescriptorRecordIRD, SQLPOINTER pTargetValue, SQLINTEGER nBufferLength, SQLINTEGER
*pnLength, SQLINTEGER *pnIndicator );
+    SQLRETURN       setGetDataDefault();
 
     /* support for getData: these enforce ODBC rules generalized based upon SQL type (ie
see "SQL to C: Character" in odbc spec) */
     SQLRETURN       fromCharacterSQL();

Thread
Connector/ODBC 5 commit: r255 - MYSQLPlus/MYSQLPlusLibpharvey18 May