Modified:
MYSQLPlus/MYSQLPlusLib/MResultPlus.cpp
MYSQLPlus/MYSQLPlusLib/MResultPlus.h
MYSQLPlus/MYSQLPlusLib/MResultRes.cpp
MYSQLPlus/MYSQLPlusLib/MResultStmt.cpp
Log:
Modified: MYSQLPlus/MYSQLPlusLib/MResultPlus.cpp
===================================================================
--- MYSQLPlus/MYSQLPlusLib/MResultPlus.cpp 2006-06-02 05:36:39 UTC (rev 311)
+++ MYSQLPlus/MYSQLPlusLib/MResultPlus.cpp 2006-06-02 05:56:39 UTC (rev 312)
@@ -1571,7 +1571,7 @@
SQLRETURN MResultPlus::doAppendColumnsColumns( const QString &stringCatalog, const
QString &stringSchema, const QString &stringTable, const QString
&stringColumnFilter )
{
- SQLCHAR szSQL[1024];
+ QString stringSQL;
MYSQL_RES * pResult = NULL;
unsigned int nFields;
unsigned int nField;
@@ -1582,16 +1582,16 @@
Use given schema.
*/
- sprintf( szSQL, "SELECT * FROM %s.%s LIMIT 0", stringCatalog.toAscii().data(),
stringTable.toAscii().data() );
+ stringSQL = "SELECT * FROM " + stringCatalog + "." + stringTable + " LIMIT 0";
- if ( mysql_query( getMySQL(), szSQL ) )
+ if ( mysql_query( getMySQL(), stringSQL.toUtf8().data() ) )
MYODBCDbgReturn( getDiagnostic()->doAppend( MDiagnostic::DIA_HY000,
mysql_errno( getMySQL() ), mysql_error( getMySQL() ) ) );
pResult = mysql_use_result( getMySQL() );
if ( !pResult )
MYODBCDbgReturn( getDiagnostic()->doAppend( MDiagnostic::DIA_HY000,
mysql_errno( getMySQL() ), mysql_error( getMySQL() ) ) );
- nFields = mysql_num_fields( pRes );
+ nFields = mysql_num_fields( pResult );
if ( !nFields )
MYODBCDbgReturn( getDiagnostic()->doAppend( MDiagnostic::DIA_HY000, 0,
tr("mysql_num_fields() failed to return number of fields") ) );
@@ -1615,7 +1615,7 @@
So we translate MYLSQ_FIELD into a descriptor and then map descriptor into
result row.
*/
- SQLRETURN nReturn = doLoadMetaDataField( nField + 1, mysql_fetch_field_direct(
pRes, nField ), &descriptor );
+ SQLRETURN nReturn = doLoadMetaDataField( nField + 1, mysql_fetch_field_direct(
pResult, nField ), &descriptor );
if ( !SQL_SUCCEEDED( nReturn ) )
MYODBCDbgReturn( getDiagnostic()->doAppend( MDiagnostic::DIA_HY000, 0,
tr("Failed to store field descriptor information.") ) );
@@ -1653,23 +1653,24 @@
MYODBCDbgReturn( SQL_SUCCESS );
}
+/*! \todo make all args variant to allow for NULL numeric values */
SQLRETURN MResultPlus::doAppendColumns( const QString &stringTableCat,
const QString &stringTableSchem,
const QString &stringTableName,
const QString &stringColumnName,
- const QString &stringDataType,
+ SQLSMALLINT nDataType,
const QString &stringTypeName,
- const QString &stringColumnSize,
- const QString &stringBufferLength,
- const QString &stringDecimalDigits,
- const QString &stringNumPrecRadix,
- const QString &stringNullable,
+ SQLINTEGER nColumnSize,
+ SQLINTEGER nBufferLength,
+ SQLSMALLINT nDecimalDigits,
+ SQLINTEGER nNumPrecRadix,
+ SQLSMALLINT nNullable,
const QString &stringRemarks,
const QString &stringColumnDef,
- const QString &stringSqlDataType,
- const QString &stringSqlDateTimeSub,
- const QString &stringCharOctetLength,
- const QString &stringOrdinalPosition,
+ SQLSMALLINT nSqlDataType,
+ SQLSMALLINT nSqlDateTimeSub,
+ SQLINTEGER nCharOctetLength,
+ SQLINTEGER nOrdinalPosition,
const QString &stringIsNullable )
{
MYODBCDbgEnter();
@@ -1679,19 +1680,19 @@
setData( 2, stringTableSchem );
setData( 3, stringTableName );
setData( 4, stringColumnName );
- setData( 5, stringDataType );
+ setData( 5, nDataType );
setData( 6, stringTypeName );
- setData( 7, stringColumnSize );
- setData( 8, stringBufferLength );
- setData( 9, stringDecimalDigits );
- setData( 10, stringNumPrecRadix );
- setData( 11, stringNullable );
+ setData( 7, nColumnSize );
+ setData( 8, nBufferLength );
+ setData( 9, nDecimalDigits );
+ setData( 10, nNumPrecRadix );
+ setData( 11, nNullable );
setData( 12, stringRemarks );
setData( 13, stringColumnDef );
- setData( 14, stringSqlDataType );
- setData( 15, stringSqlDateTimeSub );
- setData( 16, stringCharOctetLength );
- setData( 17, stringOrdinalPosition );
+ setData( 14, nSqlDataType );
+ setData( 15, nSqlDateTimeSub );
+ setData( 16, nCharOctetLength );
+ setData( 17, nOrdinalPosition );
setData( 18, stringIsNullable );
MYODBCDbgReturn( SQL_SUCCESS );
Modified: MYSQLPlus/MYSQLPlusLib/MResultPlus.h
===================================================================
--- MYSQLPlus/MYSQLPlusLib/MResultPlus.h 2006-06-02 05:36:39 UTC (rev 311)
+++ MYSQLPlus/MYSQLPlusLib/MResultPlus.h 2006-06-02 05:56:39 UTC (rev 312)
@@ -165,19 +165,19 @@
const QString &stringTableSchem,
const QString &stringTableName,
const QString &stringColumnName,
- const QString &stringDataType,
+ SQLSMALLINT nDataType,
const QString &stringTypeName,
- const QString &stringColumnSize,
- const QString &stringBufferLength,
- const QString &stringDecimalDigits,
- const QString &stringNumPrecRadix,
- const QString &stringNullable,
+ SQLINTEGER nColumnSize,
+ SQLINTEGER nBufferLength,
+ SQLSMALLINT nDecimalDigits,
+ SQLINTEGER nNumPrecRadix,
+ SQLSMALLINT nNullable,
const QString &stringRemarks,
const QString &stringColumnDef,
- const QString &stringSqlDataType,
- const QString &stringSqlDateTimeSub,
- const QString &stringCharOctetLength,
- const QString &stringOrdinalPosition,
+ SQLSMALLINT nSqlDataType,
+ SQLSMALLINT nSqlDateTimeSub,
+ SQLINTEGER nCharOctetLength,
+ SQLINTEGER nOrdinalPosition,
const QString &stringIsNullable );
};
Modified: MYSQLPlus/MYSQLPlusLib/MResultRes.cpp
===================================================================
--- MYSQLPlus/MYSQLPlusLib/MResultRes.cpp 2006-06-02 05:36:39 UTC (rev 311)
+++ MYSQLPlus/MYSQLPlusLib/MResultRes.cpp 2006-06-02 05:56:39 UTC (rev 312)
@@ -1098,7 +1098,7 @@
for ( nField = 0; nField < nFields; nField++ )
{
pField = mysql_fetch_field_direct( pRes, nField );
- SQLRETURN nReturn = doLoadMetaDataField( nField + 1, pField, getImpRowDesc() );
+ SQLRETURN nReturn = doLoadMetaDataField( nField + 1, pField,
(MDescriptorIRD*)getImpRowDesc() );
if ( !SQL_SUCCEEDED( nReturn ) )
MYODBCDbgReturn( getDiagnostic()->doAppend( MDiagnostic::DIA_HY000, 0,
tr("Failed to store field descriptor information.") ) );
}
Modified: MYSQLPlus/MYSQLPlusLib/MResultStmt.cpp
===================================================================
--- MYSQLPlus/MYSQLPlusLib/MResultStmt.cpp 2006-06-02 05:36:39 UTC (rev 311)
+++ MYSQLPlus/MYSQLPlusLib/MResultStmt.cpp 2006-06-02 05:56:39 UTC (rev 312)
@@ -1246,7 +1246,7 @@
for ( nField = 0; nField < nFields; nField++ )
{
pField = mysql_fetch_field( pMetaData );
- SQLRETURN nReturn = doLoadMetaDataField( nField + 1, pField, getImpRowDesc()
);
+ SQLRETURN nReturn = doLoadMetaDataField( nField + 1, pField,
(MDescriptorIRD*)getImpRowDesc() );
if ( !SQL_SUCCEEDED( nReturn ) )
{
mysql_free_result( pMetaData );
| Thread |
|---|
| • Connector/ODBC 5 commit: r312 - MYSQLPlus/MYSQLPlusLib | pharvey | 2 Jun |