List:Commits« Previous MessageNext Message »
From:ahristov Date:May 31 2007 12:49pm
Subject:Connector/ODBC 5 commit: r944 - in trunk/SDK/MYSQLPlus: Library include
View as plain text  
Modified:
   trunk/SDK/MYSQLPlus/Library/MCommand.cpp
   trunk/SDK/MYSQLPlus/Library/MCommand.h
   trunk/SDK/MYSQLPlus/Library/MConnection_props.cpp
   trunk/SDK/MYSQLPlus/Library/MDescriptor.cpp
   trunk/SDK/MYSQLPlus/Library/MDiagnostic.cpp
   trunk/SDK/MYSQLPlus/Library/MDiagnostic.h
   trunk/SDK/MYSQLPlus/Library/MEnvironment.cpp
   trunk/SDK/MYSQLPlus/Library/MResultRes.cpp
   trunk/SDK/MYSQLPlus/Library/MStatement_props.cpp
   trunk/SDK/MYSQLPlus/include/MConnection.h
   trunk/SDK/MYSQLPlus/include/MDescriptor.h
   trunk/SDK/MYSQLPlus/include/MEnvironment.h
   trunk/SDK/MYSQLPlus/include/MStatement.h
Log:
Partially get rid of QStringList. Still used for metadata extraction
in MResultPlus


Modified: trunk/SDK/MYSQLPlus/Library/MCommand.cpp
===================================================================
--- trunk/SDK/MYSQLPlus/Library/MCommand.cpp	2007-05-30 00:10:33 UTC (rev 943)
+++ trunk/SDK/MYSQLPlus/Library/MCommand.cpp	2007-05-31 12:49:42 UTC (rev 944)
@@ -163,13 +163,13 @@
 
     \note   This is based upon the 'native' version of the command.
 
-    \return QStringList List of command segments.
+    \return std::list<QString> List of command segments.
 
     \sa     getNative
             getParameterMarkers
             getParameterMarkerCount
 */
-QStringList MCommand::getSegments()
+std::list<QString> MCommand::getSegments()
 {
     DBUG_ENTER("MCommand::getSegments");
 
@@ -606,9 +606,9 @@
         {
             listParameterMarkers.push_back(nChar - nCharsSkipped);
             if (!stringSegment.isEmpty())
-                stringlistSegments.append(stringSegment);
+                stringlistSegments.push_back(stringSegment);
             stringSegment.clear();
-            stringlistSegments.append(QString(cChar));
+            stringlistSegments.push_back(QString(cChar));
         }
         else
             stringSegment += cChar;
@@ -617,7 +617,7 @@
     }
 
     if (!stringSegment.isEmpty())
-        stringlistSegments.append(stringSegment);
+        stringlistSegments.push_back(stringSegment);
 
     this->stringText        = this->stringText.trimmed();
     this->nParameterOffset  = nParameterOffset;

Modified: trunk/SDK/MYSQLPlus/Library/MCommand.h
===================================================================
--- trunk/SDK/MYSQLPlus/Library/MCommand.h	2007-05-30 00:10:33 UTC (rev 943)
+++ trunk/SDK/MYSQLPlus/Library/MCommand.h	2007-05-31 12:49:42 UTC (rev 944)
@@ -92,7 +92,7 @@
     uint            getParameterMarkerCount();  /*!< save some cpu over calling
getParameterMarkers().count()                                   */
     uint            getParameterOffset();       /*!< Index of our first parameter
relative to all commands (0-based). Also index (to IPD/APD).  */
     MResult *       getResult();                /*!< We may have 0-1 MResult instance
as child object.                                          */
-    QStringList     getSegments();              /*!< the command separated by
parameter markers - each param marker will also be a segment      */
+    std::list<QString> getSegments();              /*!< the command separated by
parameter markers - each param marker will also be a segment      */
     STATE           getState();
     QString         getText();                  /*!< Return the unprocessed text.     
                                                         */ 
     COMMAND_TYPE    getType();                  /*!< general type of the command as
indicated by first keyword                                  */
@@ -132,7 +132,7 @@
     uint            nParameterOffset;       /*!< The index of our first parameter
relative to all commands (0-based).           */
     std::list<uint> listParameterMarkers;   /*!< list of index pos into native
command string where we can find param marker    */
     MResult *       pResult;                /*!< A Result.                            
                                         */
-    QStringList     stringlistSegments;     /*!< native command separated by parameter
markers (markers included as segment)    */
+    std::list<QString>  stringlistSegments; /*!< native command separated by
parameter markers (markers included as segment)    */
     STATE           nState;
     QString         stringText;             /*!< the command we are based upon (may
have ODBC _and/or_ server specifics)        */
     COMMAND_TYPE    nType;                  /*!< the command type (mostly based upon
first keyword in command)                  */

Modified: trunk/SDK/MYSQLPlus/Library/MConnection_props.cpp
===================================================================
--- trunk/SDK/MYSQLPlus/Library/MConnection_props.cpp	2007-05-30 00:10:33 UTC (rev 943)
+++ trunk/SDK/MYSQLPlus/Library/MConnection_props.cpp	2007-05-31 12:49:42 UTC (rev 944)
@@ -1366,12 +1366,10 @@
     DBUG_RETURN(pMySQL);
 }
 
-QStringList MConnection::getDiagnostics()
+std::list<QString> MConnection::getDiagnostics()
 {
     DBUG_ENTER("MConnection::getDiagnostics");
-    QStringList stringlist = pDiagnostic->getDiagnostics();
-    DBUG_PRINT("oreturn", ("%p", &(stringlist)));
-    DBUG_RETURN(stringlist);
+    DBUG_RETURN(pDiagnostic->getDiagnostics());
 }
 
 MStatement *MConnection::getStatementWithCursor(const QString &stringCursorName)

Modified: trunk/SDK/MYSQLPlus/Library/MDescriptor.cpp
===================================================================
--- trunk/SDK/MYSQLPlus/Library/MDescriptor.cpp	2007-05-30 00:10:33 UTC (rev 943)
+++ trunk/SDK/MYSQLPlus/Library/MDescriptor.cpp	2007-05-31 12:49:42 UTC (rev 944)
@@ -407,14 +407,10 @@
     DBUG_RETURN(pDiagnostic);
 }
 
-QStringList MDescriptor::getDiagnostics()
+std::list<QString> MDescriptor::getDiagnostics()
 {
     DBUG_ENTER("MDescriptor::getDiagnostics");
-
-    QStringList stringlist = pDiagnostic->getDiagnostics();
-
-    DBUG_PRINT("oreturn", ("%s", (const char *) ((stringlist).join(",")).toUtf8()));
-    DBUG_RETURN(stringlist);
+    DBUG_RETURN(pDiagnostic->getDiagnostics());
 }
 
 MDescriptorRecord *MDescriptor::getRecord(SQLSMALLINT nRecord)

Modified: trunk/SDK/MYSQLPlus/Library/MDiagnostic.cpp
===================================================================
--- trunk/SDK/MYSQLPlus/Library/MDiagnostic.cpp	2007-05-30 00:10:33 UTC (rev 943)
+++ trunk/SDK/MYSQLPlus/Library/MDiagnostic.cpp	2007-05-31 12:49:42 UTC (rev 944)
@@ -339,11 +339,11 @@
     DBUG_RETURN(SQL_SUCCESS);
 }
 
-QStringList MDiagnostic::getDiagnostics()
+std::list<QString> MDiagnostic::getDiagnostics()
 {
     DBUG_ENTER("MDiagnostic::getDiagnostics");
 
-    QStringList stringlist;
+    std::list<QString> stringlist;
 
     SQLWCHAR    sSqlstate[6];
     SQLINTEGER  nNativeError;
@@ -353,14 +353,13 @@
 
     for (; 
          SQL_SUCCEEDED(getDiagRec(nRecord, sSqlstate, &nNativeError,
-                                    szMessageText, sizeof(szMessageText),
-                                    &nTextLength)); 
+                                  szMessageText, sizeof(szMessageText),
+                                  &nTextLength)); 
          nRecord++)
     {
-        stringlist += MYODBCCString::QString_fromWCharArray(szMessageText);
+        stringlist.push_back(MYODBCCString::QString_fromWCharArray(szMessageText));
     }
 
-    DBUG_PRINT("oreturn", ("%s", (const char *) stringlist.join(",").toUtf8()));
     DBUG_RETURN(stringlist);
 }
 

Modified: trunk/SDK/MYSQLPlus/Library/MDiagnostic.h
===================================================================
--- trunk/SDK/MYSQLPlus/Library/MDiagnostic.h	2007-05-30 00:10:33 UTC (rev 943)
+++ trunk/SDK/MYSQLPlus/Library/MDiagnostic.h	2007-05-31 12:49:42 UTC (rev 944)
@@ -223,10 +223,10 @@
     void setODBCVersion(SQLSMALLINT nODBCVersion = SQL_OV_ODBC3);
 
     /* getters */
-    SQLRETURN       getDiagRec(SQLSMALLINT nRecNumber /* 1-based */, SQLWCHAR
*psSqlstate, SQLINTEGER *pnNativeErrorPtr, SQLWCHAR *psMessageText, SQLSMALLINT
nBufferLength, SQLSMALLINT *pnTextLengthPtr);
-    SQLRETURN       getDiagField(SQLSMALLINT nRecNumber /* 1-based */, SQLSMALLINT
nDiagIdentifier, SQLPOINTER pDiagInfoPtr, SQLSMALLINT nBufferLength, SQLSMALLINT
*pnStringLengthPtr, bool isStmtDiag);
-    QStringList     getDiagnostics();
-    SQLSMALLINT     getODBCVersion();
+    SQLRETURN          getDiagRec(SQLSMALLINT nRecNumber /* 1-based */, SQLWCHAR
*psSqlstate, SQLINTEGER *pnNativeErrorPtr, SQLWCHAR *psMessageText, SQLSMALLINT
nBufferLength, SQLSMALLINT *pnTextLengthPtr);
+    SQLRETURN          getDiagField(SQLSMALLINT nRecNumber /* 1-based */, SQLSMALLINT
nDiagIdentifier, SQLPOINTER pDiagInfoPtr, SQLSMALLINT nBufferLength, SQLSMALLINT
*pnStringLengthPtr, bool isStmtDiag);
+    std::list<QString> getDiagnostics();
+    SQLSMALLINT        getODBCVersion();
 
     /* doers */
     SQLRETURN   doAppend(STATE nState, SQLINTEGER nNative = 0, const QString
&stringMessage = QString::null);

Modified: trunk/SDK/MYSQLPlus/Library/MEnvironment.cpp
===================================================================
--- trunk/SDK/MYSQLPlus/Library/MEnvironment.cpp	2007-05-30 00:10:33 UTC (rev 943)
+++ trunk/SDK/MYSQLPlus/Library/MEnvironment.cpp	2007-05-31 12:49:42 UTC (rev 944)
@@ -261,17 +261,15 @@
 
             Each item in the list is derived from the SQL_DIAG_MESSAGE_TEXT field of the
diagnostic record.
 
-    \return QStringList
+    \return std::list<QString>
 
     \sa     getDiagRec
             getDiagField
 */
-QStringList MEnvironment::getDiagnostics()
+std::list<QString> MEnvironment::getDiagnostics()
 {
     DBUG_ENTER("MEnvironment::getDiagnostics");
-    QStringList stringlist = pDiagnostic->getDiagnostics();
-    DBUG_PRINT("oreturn", ("%p", &(stringlist)));
-    DBUG_RETURN(stringlist);
+    DBUG_RETURN(pDiagnostic->getDiagnostics());
 }
 
 /*!

Modified: trunk/SDK/MYSQLPlus/Library/MResultRes.cpp
===================================================================
--- trunk/SDK/MYSQLPlus/Library/MResultRes.cpp	2007-05-30 00:10:33 UTC (rev 943)
+++ trunk/SDK/MYSQLPlus/Library/MResultRes.cpp	2007-05-31 12:49:42 UTC (rev 944)
@@ -413,15 +413,14 @@
         DBUG_RETURN(stringCommand);
     }
 
-    QStringList stringlistSegments          = pCommand->getSegments();
-    int        nSegment                    = 0;
-    uint        nParameter                  = 0;
+    uint nParameter                = 0;
+    std::list<QString> stringlistSegments = pCommand->getSegments();
+    std::list<QString>::iterator i;
 
-    /* Construct our command... */
-    while (nSegment < stringlistSegments.count())
+    for (i = stringlistSegments.begin(); i != stringlistSegments.end(); i++)
     {
         /* Parameter marker? */
-        if (stringlistSegments.at(nSegment) == "?")
+        if (*i == "?")
         {
             stringCommand += getParameterString(nParameter);
             nParameter++;
@@ -430,14 +429,10 @@
         else
         {
             /* Simply append the command segment... */
-            stringCommand += stringlistSegments.at(nSegment).toUtf8();
+            stringCommand += (*i).toUtf8();
         }
+    }
 
-        /* advance... */
-        nSegment++;
-
-    } // while segments
-
     /* All parameters inserted. */
     DBUG_PRINT("oreturn", ("%p", &(stringCommand)));
     DBUG_RETURN(stringCommand);
@@ -511,14 +506,19 @@
     */
 
     MCommand *  pCommand            = getCommand();
-    QStringList stringlistSegments  = pCommand->getSegments();
     uint        nParameterOffset    = pCommand->getParameterOffset();
+    uint j = 0;
+    std::list<QString> stringlistSegments  = pCommand->getSegments();
+    std::list<QString>::iterator i;
 
     /* Construct our command... */
-    while (stateExecute.nSegment < (uint) stringlistSegments.count())
+    for (i = stringlistSegments.begin(); i != stringlistSegments.end(); i++, j++)
     {
+        if (j < stateExecute.nSegment)
+            continue;
+
         /* Parameter marker? */
-        if (stringlistSegments.at(stateExecute.nSegment) == "?")
+        if (*i == "?")
         {
             /* Init MStatePutData (contains our data conversion hub)... */
            
stateExecute.statePutData.doClear((MDescriptorRecordAPD*)getAppParamDesc()->getRecord(1
+ nParameterOffset + stateExecute.nParameter),
@@ -545,7 +545,6 @@
         }
 
         stateExecute.nSegment++;
-
     } // while segments
 
     /* All parameters inserted. */

Modified: trunk/SDK/MYSQLPlus/Library/MStatement_props.cpp
===================================================================
--- trunk/SDK/MYSQLPlus/Library/MStatement_props.cpp	2007-05-30 00:10:33 UTC (rev 943)
+++ trunk/SDK/MYSQLPlus/Library/MStatement_props.cpp	2007-05-31 12:49:42 UTC (rev 944)
@@ -302,12 +302,10 @@
     DBUG_RETURN(nState);
 }
 
-QStringList MStatement::getDiagnostics()
+std::list<QString> MStatement::getDiagnostics()
 {
     DBUG_ENTER("MStatement::getDiagnostics");
-    QStringList stringlist = getDiagnostic()->getDiagnostics();
-    DBUG_PRINT("oreturn", ("%s", (const char *) stringlist.join(",").toUtf8()));
-    DBUG_RETURN(stringlist);
+    DBUG_RETURN(getDiagnostic()->getDiagnostics());
 }
 
 SQLRETURN MStatement::getCursorName(SQLWCHAR *pszCursorName, SQLSMALLINT nBufferLength,
SQLSMALLINT *pnNameLengthPtr)

Modified: trunk/SDK/MYSQLPlus/include/MConnection.h
===================================================================
--- trunk/SDK/MYSQLPlus/include/MConnection.h	2007-05-30 00:10:33 UTC (rev 943)
+++ trunk/SDK/MYSQLPlus/include/MConnection.h	2007-05-31 12:49:42 UTC (rev 944)
@@ -91,7 +91,7 @@
     STATEMENT_TYPE  getStatementType();
     BUFFERED_TYPE   getBufferedType();
     SQLHANDLE       getMySQL();
-    QStringList     getDiagnostics();
+    std::list<QString>     getDiagnostics();
     MStatement *    getStatementWithCursor(const QString &stringCursorName);
 
     /* doers */

Modified: trunk/SDK/MYSQLPlus/include/MDescriptor.h
===================================================================
--- trunk/SDK/MYSQLPlus/include/MDescriptor.h	2007-05-30 00:10:33 UTC (rev 943)
+++ trunk/SDK/MYSQLPlus/include/MDescriptor.h	2007-05-31 12:49:42 UTC (rev 944)
@@ -125,7 +125,7 @@
 
     /* getters */
     MDiagnostic *           getDiagnostic();
-    QStringList             getDiagnostics();
+    std::list<QString>      getDiagnostics();
     MDescriptorRecord *     getRecord(SQLSMALLINT nRecord);
     STATE                   getState();
 

Modified: trunk/SDK/MYSQLPlus/include/MEnvironment.h
===================================================================
--- trunk/SDK/MYSQLPlus/include/MEnvironment.h	2007-05-30 00:10:33 UTC (rev 943)
+++ trunk/SDK/MYSQLPlus/include/MEnvironment.h	2007-05-31 12:49:42 UTC (rev 944)
@@ -67,7 +67,7 @@
     virtual SQLRETURN getDiagRec(SQLSMALLINT nRecNumber, SQLWCHAR *psSQLState, SQLINTEGER
*pnNativeErrorPtr, SQLWCHAR *psMessageText, SQLSMALLINT nBufferLength, SQLSMALLINT
*pnTextLengthPtr);
     SQLRETURN getEnvAttr(SQLINTEGER nAttribute, SQLPOINTER pValuePtr, SQLINTEGER
nBufferLength, SQLINTEGER *pnStringLengthPtr);
 
-    QStringList getDiagnostics();
+    std::list<QString> getDiagnostics();
 
     /* doers */
     virtual SQLRETURN doEndTran(SQLSMALLINT nCompletionType);

Modified: trunk/SDK/MYSQLPlus/include/MStatement.h
===================================================================
--- trunk/SDK/MYSQLPlus/include/MStatement.h	2007-05-30 00:10:33 UTC (rev 943)
+++ trunk/SDK/MYSQLPlus/include/MStatement.h	2007-05-31 12:49:42 UTC (rev 944)
@@ -76,7 +76,7 @@
 
     /* getters */
     STATE       getState();
-    QStringList getDiagnostics();
+    std::list<QString> getDiagnostics();
 
     SQLRETURN getCursorName(SQLWCHAR *psCursorName, SQLSMALLINT nBufferLength,
SQLSMALLINT *pnNameLengthPtr);
     SQLRETURN getData(SQLUSMALLINT nColumnNumber, SQLSMALLINT nTargetType, SQLPOINTER
pTargetValuePtr, SQLINTEGER nBufferLength, SQLINTEGER *pnStrLenOrIndPtr);

Thread
Connector/ODBC 5 commit: r944 - in trunk/SDK/MYSQLPlus: Library includeahristov31 May