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/MYSQLPlusLib | pharvey | 18 May |