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


Modified: MYSQLPlus/MYSQLPlusLib/MResult.cpp
===================================================================
--- MYSQLPlus/MYSQLPlusLib/MResult.cpp	2006-05-15 15:58:20 UTC (rev 240)
+++ MYSQLPlus/MYSQLPlusLib/MResult.cpp	2006-05-15 17:51:52 UTC (rev 241)
@@ -73,7 +73,7 @@
     MYODBCDbgReturn3( "%d", nState );
 }
 
-SQLRETURN MResult::getData( SQLUSMALLINT nColumnNumber, SQLSMALLINT nTargetType,
SQLPOINTER pTargetValue, SQLINTEGER nBufferLength, SQLINTEGER *pnStrLenOrInd )
+SQLRETURN MResult::getData( SQLUSMALLINT nColumnNumber, SQLSMALLINT nTargetType,
SQLPOINTER pTargetValue, SQLINTEGER nBufferLength, SQLINTEGER *pnLength, SQLINTEGER
*pnIndicator )
 {
     MYODBCDbgEnter();
 
@@ -82,14 +82,7 @@
     if ( !SQL_SUCCEEDED(nReturn) )
         MYODBCDbgReturn( nReturn );
 
-    SQLRETURN       nReturn         = getData( nColumn, variantData );
-    SQLPOINTER      pdata           = pDescriptorRecord->getDataPtr();
-    SQLINTEGER *    pnIndicator     = pDescriptorRecord->getIndicatorPtr();
-    SQLINTEGER *    pnOctetLength   = pDescriptorRecord->getOctetLengthPtr();
-
-    if ( getState() < STATE_EXECUTED )
-        MYODBCDbgReturn( getDiagnostic()->doAppend( MDiagnostic::DIA_HY010 ) );
-
+    /* get indicator value; no need to process further if we are null */
     if ( variantData.isNull() )
     {
         if ( pnIndicator ) 
@@ -103,116 +96,117 @@
 
     if ( pnIndicator ) *pnIndicator = 0;
 
-    switch ( pDescriptorRecord->getConciseType() )
+    /* get data and data length, convert data as needed */
+    switch ( nTargetType )
     {
         case SQL_C_CHAR:
             {
                 if ( !variantData.canConvert<QString>() )
                     MYODBCDbgReturn( getDiagnostic()->doAppend( MDiagnostic::DIA_07006
) );
                 QString stringData = variantData.toString();
-                MYODBCC::doStrNCpy( (SQLWCHAR*)pdata,
pDescriptorRecord->getOctetLength() / sizeof(SQLWCHAR), stringData.utf16() );
-                if ( pnOctetLength ) *pnOctetLength = stringData.length() *
sizeof(SQLWCHAR);
+                MYODBCC::doStrNCpy( (SQLWCHAR*)pTargetValue, nBufferLength /
sizeof(SQLWCHAR), stringData.utf16() );
+                if ( pnLength ) *pnLength = stringData.length() * sizeof(SQLWCHAR);
             }
             break;
         case SQL_C_SSHORT:
             {
                 if ( !variantData.canConvert<short int>() ) 
                     MYODBCDbgReturn( getDiagnostic()->doAppend( MDiagnostic::DIA_07006
) );
-                *((short int*)pdata) = (short int)variantData.toInt();
-                if ( pnOctetLength ) *pnOctetLength = sizeof(short int);
+                *((short int*)pTargetValue) = (short int)variantData.toInt();
+                if ( pnLength ) *pnLength = sizeof(short int);
             }
             break;
         case SQL_C_USHORT:
             {
                 if ( !variantData.canConvert<unsigned short int>() ) 
                     MYODBCDbgReturn( getDiagnostic()->doAppend( MDiagnostic::DIA_07006
) );
-                *((unsigned short int*)pdata) = (unsigned short int)variantData.toUInt();
-                if ( pnOctetLength ) *pnOctetLength = sizeof(unsigned short int);
+                *((unsigned short int*)pTargetValue) = (unsigned short
int)variantData.toUInt();
+                if ( pnLength ) *pnLength = sizeof(unsigned short int);
             }
             break;
         case SQL_C_SLONG:
             {
                 if ( !variantData.canConvert<long int>() ) 
                     MYODBCDbgReturn( getDiagnostic()->doAppend( MDiagnostic::DIA_07006
) );
-                *((long int*)pdata) = (long int)variantData.toLongLong();
-                if ( pnOctetLength ) *pnOctetLength = sizeof(long int);
+                *((long int*)pTargetValue) = (long int)variantData.toLongLong();
+                if ( pnLength ) *pnLength = sizeof(long int);
             }
             break;
         case SQL_C_ULONG:
             {
                 if ( !variantData.canConvert<unsigned long int>() ) 
                     MYODBCDbgReturn( getDiagnostic()->doAppend( MDiagnostic::DIA_07006
) );
-                *((unsigned long int*)pdata) = (unsigned long
int)variantData.toULongLong();
-                if ( pnOctetLength ) *pnOctetLength = sizeof(unsigned long int);
+                *((unsigned long int*)pTargetValue) = (unsigned long
int)variantData.toULongLong();
+                if ( pnLength ) *pnLength = sizeof(unsigned long int);
             }
             break;
         case SQL_C_FLOAT:
             {
                 if ( !variantData.canConvert<float>() ) 
                     MYODBCDbgReturn( getDiagnostic()->doAppend( MDiagnostic::DIA_07006
) );
-                *((float *)pdata) = (float)variantData.toDouble();
-                if ( pnOctetLength ) *pnOctetLength = sizeof(float);
+                *((float *)pTargetValue) = (float)variantData.toDouble();
+                if ( pnLength ) *pnLength = sizeof(float);
             }
             break;
         case SQL_C_DOUBLE:
             {
                 if ( !variantData.canConvert<double>() ) 
                     MYODBCDbgReturn( getDiagnostic()->doAppend( MDiagnostic::DIA_07006
) );
-                *((double *)pdata) = (double)variantData.toDouble();
-                if ( pnOctetLength ) *pnOctetLength = sizeof(double);
+                *((double *)pTargetValue) = (double)variantData.toDouble();
+                if ( pnLength ) *pnLength = sizeof(double);
             }
             break;
         case SQL_C_BIT:
             {
                 if ( !variantData.canConvert<unsigned char>() ) 
                     MYODBCDbgReturn( getDiagnostic()->doAppend( MDiagnostic::DIA_07006
) );
-                *((unsigned char *)pdata) = variantData.toInt();
-                if ( pnOctetLength ) *pnOctetLength = sizeof(unsigned char);
+                *((unsigned char *)pTargetValue) = variantData.toInt();
+                if ( pnLength ) *pnLength = sizeof(unsigned char);
             }
             break;
         case SQL_C_STINYINT:
             {
                 if ( !variantData.canConvert<char>() ) 
                     MYODBCDbgReturn( getDiagnostic()->doAppend( MDiagnostic::DIA_07006
) );
-                *((char *)pdata) = variantData.toInt();
-                if ( pnOctetLength ) *pnOctetLength = sizeof(char);
+                *((char *)pTargetValue) = variantData.toInt();
+                if ( pnLength ) *pnLength = sizeof(char);
             }
             break;
         case SQL_C_UTINYINT:
             {
                 if ( !variantData.canConvert<unsigned char>() ) 
                     MYODBCDbgReturn( getDiagnostic()->doAppend( MDiagnostic::DIA_07006
) );
-                *((unsigned char *)pdata) = variantData.toUInt();
-                if ( pnOctetLength ) *pnOctetLength = sizeof(unsigned char);
+                *((unsigned char *)pTargetValue) = variantData.toUInt();
+                if ( pnLength ) *pnLength = sizeof(unsigned char);
             }
             break;
         case SQL_C_SBIGINT:
             {
                 if ( !variantData.canConvert<qint64>() ) 
                     MYODBCDbgReturn( getDiagnostic()->doAppend( MDiagnostic::DIA_07006
) );
-                *((qint64*)pdata) = (qint64)variantData.toLongLong();
-                if ( pnOctetLength ) *pnOctetLength = sizeof(qint64);
+                *((qint64*)pTargetValue) = (qint64)variantData.toLongLong();
+                if ( pnLength ) *pnLength = sizeof(qint64);
             }
             break;
         case SQL_C_UBIGINT:
             {
                 if ( !variantData.canConvert<quint64>() ) 
                     MYODBCDbgReturn( getDiagnostic()->doAppend( MDiagnostic::DIA_07006
) );
-                *((quint64*)pdata) = (quint64)variantData.toULongLong();
-                if ( pnOctetLength ) *pnOctetLength = sizeof(quint64);
+                *((quint64*)pTargetValue) = (quint64)variantData.toULongLong();
+                if ( pnLength ) *pnLength = sizeof(quint64);
             }
             break;
         case SQL_C_BINARY:
             {
                 QByteArray bytearray = variantData.toByteArray();
 
-                MYODBCC::doMemCpy( pdata, bytearray.constData(),
pDescriptorRecord->getOctetLength() );
-                if ( pnOctetLength ) *pnOctetLength = bytearray.size();
+                MYODBCC::doMemCpy( pTargetValue, bytearray.constData(), nBufferLength );
+                if ( pnLength ) *pnLength = bytearray.size();
             }
             break;
         case SQL_C_TYPE_DATE:
             {
-                SQL_DATE_STRUCT *pdate = (SQL_DATE_STRUCT *)pdata;
+                SQL_DATE_STRUCT *pdate = (SQL_DATE_STRUCT *)pTargetValue;
 
                 if ( !variantData.canConvert<QDate>() ) 
                     MYODBCDbgReturn( getDiagnostic()->doAppend( MDiagnostic::DIA_07006
) );
@@ -220,12 +214,12 @@
                 pdate->day      = d.day();
                 pdate->month    = d.month();
                 pdate->year     = d.year();
-                if ( pnOctetLength ) *pnOctetLength = sizeof(SQL_DATE_STRUCT);
+                if ( pnLength ) *pnLength = sizeof(SQL_DATE_STRUCT);
             }
             break;
         case SQL_C_TYPE_TIME:
             {
-                SQL_TIME_STRUCT *ptime = (SQL_TIME_STRUCT *)pdata;
+                SQL_TIME_STRUCT *ptime = (SQL_TIME_STRUCT *)pTargetValue;
 
                 if ( !variantData.canConvert<QTime>() ) 
                     MYODBCDbgReturn( getDiagnostic()->doAppend( MDiagnostic::DIA_07006
) );
@@ -233,34 +227,34 @@
                 ptime->hour     = t.hour();
                 ptime->minute   = t.minute();
                 ptime->second   = t.second();
-                if ( pnOctetLength ) *pnOctetLength = sizeof(SQL_TIME_STRUCT);
+                if ( pnLength ) *pnLength = sizeof(SQL_TIME_STRUCT);
             }
             break;
         case SQL_C_TYPE_TIMESTAMP:
             {
-                SQL_TIMESTAMP_STRUCT *p = (SQL_TIMESTAMP_STRUCT *)pdata;
+                SQL_TIMESTAMP_STRUCT *p = (SQL_TIMESTAMP_STRUCT *)pTargetValue;
 
                 if ( !variantData.canConvert<QDateTime>() ) 
                     MYODBCDbgReturn( getDiagnostic()->doAppend( MDiagnostic::DIA_07006
) );
                 QDateTime t     = variantData.toDateTime();
                 p->day          = t.date().day();
-                p->fraction     = t.time().msec(); /* \todo fraction is not same as
msec - look into it */
+                p->fraction     = t.time().msec(); /*! \todo fraction is not same as
msec - look into it */
                 p->hour         = t.time().hour();
                 p->minute       = t.time().minute();
                 p->month        = t.date().month();
                 p->second       = t.time().second();
                 p->year         = t.date().year();
-                if ( pnOctetLength ) *pnOctetLength = sizeof(SQL_TIMESTAMP_STRUCT);
+                if ( pnLength ) *pnLength = sizeof(SQL_TIMESTAMP_STRUCT);
             }
             break;
         case SQL_C_NUMERIC:
             {
-                SQL_NUMERIC_STRUCT *p = (SQL_NUMERIC_STRUCT *)pdata;
+                SQL_NUMERIC_STRUCT *p = (SQL_NUMERIC_STRUCT *)pTargetValue;
 
                 if ( !variantData.canConvert<QDateTime>() ) 
                     MYODBCDbgReturn( getDiagnostic()->doAppend( MDiagnostic::DIA_07006
) );
                 QDateTime t     = variantData.toDateTime();
-                if ( pnOctetLength ) *pnOctetLength = sizeof(SQL_NUMERIC_STRUCT);
+                if ( pnLength ) *pnLength = sizeof(SQL_NUMERIC_STRUCT);
             }
             break;
         case SQL_C_GUID:
@@ -375,4 +369,28 @@
     MYODBCDbgReturn3( "%p", getStatement()->getImpRowDesc() );
 }
 
+/*!
+    \brief  This gets column data from the drivers row buffers.
 
+    \param  nColumn             The column we are dealing with.
+    \param  pDescriptorRecord   This is a bound ARD.
+
+    \return SQLRETURN
+
+    \sa     getData
+*/
+SQLRETURN MResult::getData( SQLUSMALLINT nColumn, MDescriptorRecordARD *pDescriptorRecord
)
+{
+    MYODBCDbgEnter();
+
+    Q_ASSERT( !pDescriptorRecord );
+
+    MYODBCDbgReturn( getData( nColumn, 
+                              pDescriptorRecord->getConciseType(),
+                              pDescriptorRecord->getDataPtr(),
+                              pDescriptorRecord->getOctetLength(),
+                              pDescriptorRecord->getOctetLengthPtr(),
+                              pDescriptorRecord->getIndicatorPtr() ) );
+}
+
+

Modified: MYSQLPlus/MYSQLPlusLib/MResult.h
===================================================================
--- MYSQLPlus/MYSQLPlusLib/MResult.h	2006-05-15 15:58:20 UTC (rev 240)
+++ MYSQLPlus/MYSQLPlusLib/MResult.h	2006-05-15 17:51:52 UTC (rev 241)
@@ -46,8 +46,8 @@
     STATE getState();
 
     virtual SQLRETURN getColumns( uint *pnColumns ) = 0;
-    virtual SQLRETURN getData( uint nColumn, QVariant &variantData ) = 0;
-    virtual SQLRETURN getData( SQLUSMALLINT nColumnNumber, SQLSMALLINT nTargetType,
SQLPOINTER pTargetValue, SQLINTEGER nBufferLength, SQLINTEGER *pnStrLenOrInd );
+    virtual SQLRETURN getData( SQLUSMALLINT nColumn, QVariant &variantData ) = 0;
+    virtual SQLRETURN getData( SQLUSMALLINT nColumn, SQLSMALLINT nTargetType, SQLPOINTER
pTargetValue, SQLINTEGER nBufferLength, SQLINTEGER *pnLength, SQLINTEGER *pnIndicator );
     virtual SQLRETURN getRow( qulonglong *pnRow ) = 0;
     virtual SQLRETURN getRows( qulonglong *pnRows ) = 0;
 
@@ -85,6 +85,7 @@
     MDescriptor *   getAppRowDesc();
     MDescriptor *   getImpParamDesc();
     MDescriptor *   getImpRowDesc();
+    SQLRETURN       getData( SQLUSMALLINT nColumn, MDescriptorRecordARD
*pDescriptorRecord );
 
     /* doers */
     virtual SQLRETURN doStateRollBack( STATE nState ) = 0;

Modified: MYSQLPlus/MYSQLPlusLib/MResultStmt.cpp
===================================================================
--- MYSQLPlus/MYSQLPlusLib/MResultStmt.cpp	2006-05-15 15:58:20 UTC (rev 240)
+++ MYSQLPlus/MYSQLPlusLib/MResultStmt.cpp	2006-05-15 17:51:52 UTC (rev 241)
@@ -191,7 +191,9 @@
 
             Getting the value in a QVariant defers some of the nuances of data conversion
to
             Qt including unicode strings and locales.
-            
+
+            Basically; we use QVariant as the hub in a spoke & hub solution to data
conversion.
+
     \param  pnColumns   Pointer to be used to return the number of columns.
     \param  variantData The column value is return here.
 
@@ -1029,226 +1031,6 @@
     MYODBCDbgReturn( nReturn );
 }
 
-/*!
-    \brief  This gets column data from the drivers row buffers.
-
-    \param  nColumn             The column we are dealing with.
-    \param  pDescriptorRecord   This is a bound ARD.
-
-    \return SQLRETURN
-
-    \sa     getData
-*/
-SQLRETURN MResultStmt::getData( uint nColumn, MDescriptorRecordARD *pDescriptorRecord )
-{
-    MYODBCDbgEnter();
-
-    QVariant        variantData;
-    MYSQL_BIND *    pbind           = &(pbindColumns[nColumn]);
-    SQLRETURN       nReturn         = getData( nColumn, variantData );
-    SQLPOINTER      pdata           = pDescriptorRecord->getDataPtr();
-    SQLINTEGER *    pnIndicator     = pDescriptorRecord->getIndicatorPtr();
-    SQLINTEGER *    pnOctetLength   = pDescriptorRecord->getOctetLengthPtr();
-
-    if ( getState() < STATE_EXECUTED )
-        MYODBCDbgReturn( getDiagnostic()->doAppend( MDiagnostic::DIA_HY010 ) );
-
-    if ( variantData.isNull() )
-    {
-        if ( pnIndicator ) 
-        {
-            *pnIndicator = SQL_NULL_DATA;
-            MYODBCDbgReturn( SQL_SUCCESS );
-        }
-        else
-            MYODBCDbgReturn( getDiagnostic()->doAppend( MDiagnostic::DIA_22002 ) );
-    }
-
-    if ( pnIndicator ) *pnIndicator = 0;
-
-    switch ( pDescriptorRecord->getConciseType() )
-    {
-        case SQL_C_CHAR:
-            {
-                if ( !variantData.canConvert<QString>() )
-                    MYODBCDbgReturn( getDiagnostic()->doAppend( MDiagnostic::DIA_07006
) );
-                QString stringData = variantData.toString();
-                MYODBCC::doStrNCpy( (SQLWCHAR*)pdata,
pDescriptorRecord->getOctetLength() / sizeof(SQLWCHAR), stringData.utf16() );
-                if ( pnOctetLength ) *pnOctetLength = stringData.length() *
sizeof(SQLWCHAR);
-            }
-            break;
-        case SQL_C_SSHORT:
-            {
-                if ( !variantData.canConvert<short int>() ) 
-                    MYODBCDbgReturn( getDiagnostic()->doAppend( MDiagnostic::DIA_07006
) );
-                *((short int*)pdata) = (short int)variantData.toInt();
-                if ( pnOctetLength ) *pnOctetLength = sizeof(short int);
-            }
-            break;
-        case SQL_C_USHORT:
-            {
-                if ( !variantData.canConvert<unsigned short int>() ) 
-                    MYODBCDbgReturn( getDiagnostic()->doAppend( MDiagnostic::DIA_07006
) );
-                *((unsigned short int*)pdata) = (unsigned short int)variantData.toUInt();
-                if ( pnOctetLength ) *pnOctetLength = sizeof(unsigned short int);
-            }
-            break;
-        case SQL_C_SLONG:
-            {
-                if ( !variantData.canConvert<long int>() ) 
-                    MYODBCDbgReturn( getDiagnostic()->doAppend( MDiagnostic::DIA_07006
) );
-                *((long int*)pdata) = (long int)variantData.toLongLong();
-                if ( pnOctetLength ) *pnOctetLength = sizeof(long int);
-            }
-            break;
-        case SQL_C_ULONG:
-            {
-                if ( !variantData.canConvert<unsigned long int>() ) 
-                    MYODBCDbgReturn( getDiagnostic()->doAppend( MDiagnostic::DIA_07006
) );
-                *((unsigned long int*)pdata) = (unsigned long
int)variantData.toULongLong();
-                if ( pnOctetLength ) *pnOctetLength = sizeof(unsigned long int);
-            }
-            break;
-        case SQL_C_FLOAT:
-            {
-                if ( !variantData.canConvert<float>() ) 
-                    MYODBCDbgReturn( getDiagnostic()->doAppend( MDiagnostic::DIA_07006
) );
-                *((float *)pdata) = (float)variantData.toDouble();
-                if ( pnOctetLength ) *pnOctetLength = sizeof(float);
-            }
-            break;
-        case SQL_C_DOUBLE:
-            {
-                if ( !variantData.canConvert<double>() ) 
-                    MYODBCDbgReturn( getDiagnostic()->doAppend( MDiagnostic::DIA_07006
) );
-                *((double *)pdata) = (double)variantData.toDouble();
-                if ( pnOctetLength ) *pnOctetLength = sizeof(double);
-            }
-            break;
-        case SQL_C_BIT:
-            {
-                if ( !variantData.canConvert<unsigned char>() ) 
-                    MYODBCDbgReturn( getDiagnostic()->doAppend( MDiagnostic::DIA_07006
) );
-                *((unsigned char *)pdata) = variantData.toInt();
-                if ( pnOctetLength ) *pnOctetLength = sizeof(unsigned char);
-            }
-            break;
-        case SQL_C_STINYINT:
-            {
-                if ( !variantData.canConvert<char>() ) 
-                    MYODBCDbgReturn( getDiagnostic()->doAppend( MDiagnostic::DIA_07006
) );
-                *((char *)pdata) = variantData.toInt();
-                if ( pnOctetLength ) *pnOctetLength = sizeof(char);
-            }
-            break;
-        case SQL_C_UTINYINT:
-            {
-                if ( !variantData.canConvert<unsigned char>() ) 
-                    MYODBCDbgReturn( getDiagnostic()->doAppend( MDiagnostic::DIA_07006
) );
-                *((unsigned char *)pdata) = variantData.toUInt();
-                if ( pnOctetLength ) *pnOctetLength = sizeof(unsigned char);
-            }
-            break;
-        case SQL_C_SBIGINT:
-            {
-                if ( !variantData.canConvert<qint64>() ) 
-                    MYODBCDbgReturn( getDiagnostic()->doAppend( MDiagnostic::DIA_07006
) );
-                *((qint64*)pdata) = (qint64)variantData.toLongLong();
-                if ( pnOctetLength ) *pnOctetLength = sizeof(qint64);
-            }
-            break;
-        case SQL_C_UBIGINT:
-            {
-                if ( !variantData.canConvert<quint64>() ) 
-                    MYODBCDbgReturn( getDiagnostic()->doAppend( MDiagnostic::DIA_07006
) );
-                *((quint64*)pdata) = (quint64)variantData.toULongLong();
-                if ( pnOctetLength ) *pnOctetLength = sizeof(quint64);
-            }
-            break;
-        case SQL_C_BINARY:
-            {
-                QByteArray bytearray = variantData.toByteArray();
-
-                MYODBCC::doMemCpy( pdata, bytearray.constData(),
pDescriptorRecord->getOctetLength() );
-                if ( pnOctetLength ) *pnOctetLength = bytearray.size();
-            }
-            break;
-        case SQL_C_TYPE_DATE:
-            {
-                SQL_DATE_STRUCT *pdate = (SQL_DATE_STRUCT *)pdata;
-                
-                if ( !variantData.canConvert<QDate>() ) 
-                    MYODBCDbgReturn( getDiagnostic()->doAppend( MDiagnostic::DIA_07006
) );
-                QDate d         = variantData.toDate();
-                pdate->day      = d.day();
-                pdate->month    = d.month();
-                pdate->year     = d.year();
-                if ( pnOctetLength ) *pnOctetLength = sizeof(SQL_DATE_STRUCT);
-            }
-            break;
-        case SQL_C_TYPE_TIME:
-            {
-                SQL_TIME_STRUCT *ptime = (SQL_TIME_STRUCT *)pdata;
-
-                if ( !variantData.canConvert<QTime>() ) 
-                    MYODBCDbgReturn( getDiagnostic()->doAppend( MDiagnostic::DIA_07006
) );
-                QTime t         = variantData.toTime();
-                ptime->hour     = t.hour();
-                ptime->minute   = t.minute();
-                ptime->second   = t.second();
-                if ( pnOctetLength ) *pnOctetLength = sizeof(SQL_TIME_STRUCT);
-            }
-            break;
-        case SQL_C_TYPE_TIMESTAMP:
-            {
-                SQL_TIMESTAMP_STRUCT *p = (SQL_TIMESTAMP_STRUCT *)pdata;
-
-                if ( !variantData.canConvert<QDateTime>() ) 
-                    MYODBCDbgReturn( getDiagnostic()->doAppend( MDiagnostic::DIA_07006
) );
-                QDateTime t     = variantData.toDateTime();
-                p->day          = t.date().day();
-                p->fraction     = t.time().msec(); /* \todo fraction is not same as
msec - look into it */
-                p->hour         = t.time().hour();
-                p->minute       = t.time().minute();
-                p->month        = t.date().month();
-                p->second       = t.time().second();
-                p->year         = t.date().year();
-                if ( pnOctetLength ) *pnOctetLength = sizeof(SQL_TIMESTAMP_STRUCT);
-            }
-            break;
-        case SQL_C_NUMERIC:
-            {
-                SQL_NUMERIC_STRUCT *p = (SQL_NUMERIC_STRUCT *)pdata;
-
-                if ( !variantData.canConvert<QDateTime>() ) 
-                    MYODBCDbgReturn( getDiagnostic()->doAppend( MDiagnostic::DIA_07006
) );
-                QDateTime t     = variantData.toDateTime();
-                if ( pnOctetLength ) *pnOctetLength = sizeof(SQL_NUMERIC_STRUCT);
-            }
-            break;
-        case SQL_C_GUID:
-        case SQL_C_DEFAULT:
-        case SQL_C_INTERVAL_MONTH:
-        case SQL_C_INTERVAL_YEAR:
-        case SQL_C_INTERVAL_YEAR_TO_MONTH:
-        case SQL_C_INTERVAL_DAY:
-        case SQL_C_INTERVAL_HOUR:
-        case SQL_C_INTERVAL_MINUTE:
-        case SQL_C_INTERVAL_SECOND:
-        case SQL_C_INTERVAL_DAY_TO_HOUR:
-        case SQL_C_INTERVAL_DAY_TO_MINUTE:
-        case SQL_C_INTERVAL_DAY_TO_SECOND:
-        case SQL_C_INTERVAL_HOUR_TO_MINUTE:
-        case SQL_C_INTERVAL_HOUR_TO_SECOND:
-        case SQL_C_INTERVAL_MINUTE_TO_SECOND:
-            break;
-        default:
-            MYODBCDbgReturn( getDiagnostic()->doAppend( MDiagnostic::DIA_HY000, 0,
tr("unsupported concise type") ) );
-    }
-
-    MYODBCDbgReturn( SQL_SUCCESS );
-}
-
 /*! 
     \brief  Refreshs the row data.
 

Modified: MYSQLPlus/MYSQLPlusLib/MResultStmt.h
===================================================================
--- MYSQLPlus/MYSQLPlusLib/MResultStmt.h	2006-05-15 15:58:20 UTC (rev 240)
+++ MYSQLPlus/MYSQLPlusLib/MResultStmt.h	2006-05-15 17:51:52 UTC (rev 241)
@@ -90,9 +90,6 @@
     /* setters */
     SQLRETURN doSeek( qulonglong nRow );
 
-    /* getters */
-    SQLRETURN getData( uint nColumn, MDescriptorRecordARD *pDescriptorRecord );
-
     /* doers */
     SQLRETURN doRefresh();
     /* prepare MYSQL_BIND for a call to mysql_stmt_fetch_column() - used by SQLColBind
and SQLGetData */

Thread
Connector/ODBC 5 commit: r241 - MYSQLPlus/MYSQLPlusLibpharvey15 May