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 include | ahristov | 31 May |