List:Commits« Previous MessageNext Message »
From:pharvey Date:June 2 2006 5:56am
Subject:Connector/ODBC 5 commit: r312 - MYSQLPlus/MYSQLPlusLib
View as plain text  
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/MYSQLPlusLibpharvey2 Jun