summaryrefslogtreecommitdiff
path: root/connectivity/source/drivers/file
diff options
context:
space:
mode:
Diffstat (limited to 'connectivity/source/drivers/file')
-rw-r--r--connectivity/source/drivers/file/FCatalog.cxx2
-rw-r--r--connectivity/source/drivers/file/FColumns.cxx2
-rw-r--r--connectivity/source/drivers/file/FConnection.cxx6
-rw-r--r--connectivity/source/drivers/file/FDatabaseMetaData.cxx22
-rw-r--r--connectivity/source/drivers/file/FDateFunctions.cxx4
-rw-r--r--connectivity/source/drivers/file/FDriver.cxx8
-rw-r--r--connectivity/source/drivers/file/FNoException.cxx19
-rw-r--r--connectivity/source/drivers/file/FPreparedStatement.cxx35
-rw-r--r--connectivity/source/drivers/file/FResultSet.cxx250
-rw-r--r--connectivity/source/drivers/file/FStatement.cxx99
-rw-r--r--connectivity/source/drivers/file/FTable.cxx16
-rw-r--r--connectivity/source/drivers/file/fanalyzer.cxx64
-rw-r--r--connectivity/source/drivers/file/fcode.cxx23
-rw-r--r--connectivity/source/drivers/file/fcomp.cxx59
-rwxr-xr-x[-rw-r--r--]connectivity/source/drivers/file/file.xml0
-rwxr-xr-x[-rw-r--r--]connectivity/source/drivers/file/makefile.mk0
-rw-r--r--connectivity/source/drivers/file/quotedstring.cxx57
17 files changed, 303 insertions, 363 deletions
diff --git a/connectivity/source/drivers/file/FCatalog.cxx b/connectivity/source/drivers/file/FCatalog.cxx
index 5144486ac5..ad4430cb88 100644
--- a/connectivity/source/drivers/file/FCatalog.cxx
+++ b/connectivity/source/drivers/file/FCatalog.cxx
@@ -72,7 +72,7 @@ void OFileCatalog::refreshTables()
TStringVector aVector;
Sequence< ::rtl::OUString > aTypes;
Reference< XResultSet > xResult = m_xMetaData->getTables(Any(),
- ::rtl::OUString::createFromAscii("%"),::rtl::OUString::createFromAscii("%"),aTypes);
+ ::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("%")),::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("%")),aTypes);
fillNames(xResult,aVector);
if(m_pTables)
diff --git a/connectivity/source/drivers/file/FColumns.cxx b/connectivity/source/drivers/file/FColumns.cxx
index fb25c29700..ae1d119011 100644
--- a/connectivity/source/drivers/file/FColumns.cxx
+++ b/connectivity/source/drivers/file/FColumns.cxx
@@ -73,7 +73,7 @@ sdbcx::ObjectType OColumns::createObject(const ::rtl::OUString& _rName)
sal_False,
sal_False,
sal_False,
- m_pTable->getConnection()->getMetaData()->storesMixedCaseQuotedIdentifiers());
+ m_pTable->getConnection()->getMetaData()->supportsMixedCaseQuotedIdentifiers());
xRet = pRet;
break;
}
diff --git a/connectivity/source/drivers/file/FConnection.cxx b/connectivity/source/drivers/file/FConnection.cxx
index 4d2df42be6..a24de50729 100644
--- a/connectivity/source/drivers/file/FConnection.cxx
+++ b/connectivity/source/drivers/file/FConnection.cxx
@@ -178,7 +178,7 @@ void OConnection::construct(const ::rtl::OUString& url,const Sequence< PropertyV
// set fields to fetch
Sequence< OUString > aProps(1);
OUString* pProps = aProps.getArray();
- pProps[ 0 ] = OUString::createFromAscii( "Title" );
+ pProps[ 0 ] = OUString(RTL_CONSTASCII_USTRINGPARAM("Title"));
try
{
@@ -198,7 +198,7 @@ void OConnection::construct(const ::rtl::OUString& url,const Sequence< PropertyV
}
else
{
- OSL_ENSURE(0,"OConnection::construct: ::ucbhelper::Content isn't a folde nor a document! How that?!");
+ OSL_FAIL("OConnection::construct: ::ucbhelper::Content isn't a folde nor a document! How that?!");
throw SQLException();
}
}
@@ -405,7 +405,7 @@ Reference< XDynamicResultSet > OConnection::getDir() const
Reference<XDynamicResultSet> xContent;
Sequence< ::rtl::OUString > aProps(1);
::rtl::OUString* pProps = aProps.getArray();
- pProps[ 0 ] = ::rtl::OUString::createFromAscii( "Title" );
+ pProps[ 0 ] = ::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("Title"));
try
{
Reference<XContentIdentifier> xIdent = getContent()->getIdentifier();
diff --git a/connectivity/source/drivers/file/FDatabaseMetaData.cxx b/connectivity/source/drivers/file/FDatabaseMetaData.cxx
index 470ad0c6fd..737e32d930 100644
--- a/connectivity/source/drivers/file/FDatabaseMetaData.cxx
+++ b/connectivity/source/drivers/file/FDatabaseMetaData.cxx
@@ -89,7 +89,7 @@ Reference< XResultSet > SAL_CALL ODatabaseMetaData::getColumns(
const ::rtl::OUString& /*columnNamePattern*/ ) throw(SQLException, RuntimeException)
{
RTL_LOGFILE_CONTEXT_AUTHOR( aLogger, "file", "Ocke.Janssen@sun.com", "ODatabaseMetaData::getColumns" );
- OSL_ENSURE(0,"Should be overloaded!");
+ OSL_FAIL("Should be overloaded!");
return new ODatabaseMetaDataResultSet( ODatabaseMetaDataResultSet::eColumns );
}
@@ -175,7 +175,7 @@ namespace
}
catch( const Exception& )
{
- OSL_ENSURE( sal_False, "isCaseSensitiveParentFolder: caught an unexpected exception!" );
+ OSL_FAIL( "isCaseSensitiveParentFolder: caught an unexpected exception!" );
}
return nIsCS;
@@ -197,7 +197,7 @@ Reference< XResultSet > SAL_CALL ODatabaseMetaData::getTables(
// check if any type is given
// when no types are given then we have to return all tables e.g. TABLE
- static const ::rtl::OUString aTable(::rtl::OUString::createFromAscii("TABLE"));
+ static const ::rtl::OUString aTable(RTL_CONSTASCII_USTRINGPARAM("TABLE"));
sal_Bool bTableFound = sal_True;
sal_Int32 nLength = types.getLength();
@@ -221,7 +221,7 @@ Reference< XResultSet > SAL_CALL ODatabaseMetaData::getTables(
Reference<XDynamicResultSet> xContent = m_pConnection->getDir();
Reference < XSortedDynamicResultSetFactory > xSRSFac(
- m_pConnection->getDriver()->getFactory()->createInstance( ::rtl::OUString::createFromAscii("com.sun.star.ucb.SortedDynamicResultSetFactory") ), UNO_QUERY );
+ m_pConnection->getDriver()->getFactory()->createInstance( ::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("com.sun.star.ucb.SortedDynamicResultSetFactory")) ), UNO_QUERY );
Sequence< NumberedSortingInfo > aSortInfo( 1 );
NumberedSortingInfo* pInfo = aSortInfo.getArray();
@@ -291,7 +291,7 @@ Reference< XResultSet > SAL_CALL ODatabaseMetaData::getTables(
{
aName = aName.replaceAt(aName.getLength()-(aFilenameExtension.Len()+1),aFilenameExtension.Len()+1,::rtl::OUString());
sal_Unicode nChar = aName.toChar();
- if ( match(tableNamePattern,aName.getStr(),'\0') && ( !bCheckEnabled || ( bCheckEnabled && ((nChar < '0' || nChar > '9')))) )
+ if ( match(tableNamePattern,aName,'\0') && ( !bCheckEnabled || ( bCheckEnabled && ((nChar < '0' || nChar > '9')))) )
{
aRow.push_back(new ORowSetValueDecorator(aName));
bNewRow = sal_True;
@@ -306,7 +306,7 @@ Reference< XResultSet > SAL_CALL ODatabaseMetaData::getTables(
if (!aURL.getExtension().getLength())
{
sal_Unicode nChar = aURL.getBase().getStr()[0];
- if(match(tableNamePattern,aURL.getBase().getStr(),'\0') && ( !bCheckEnabled || ( bCheckEnabled && ((nChar < '0' || nChar > '9')))) )
+ if(match(tableNamePattern,aURL.getBase(),'\0') && ( !bCheckEnabled || ( bCheckEnabled && ((nChar < '0' || nChar > '9')))) )
{
aRow.push_back(new ORowSetValueDecorator(::rtl::OUString(aURL.getBase())));
bNewRow = sal_True;
@@ -426,13 +426,13 @@ Reference< XResultSet > SAL_CALL ODatabaseMetaData::getTablePrivileges(
const ::rtl::OUString* pEnd = pBegin + aNames.getLength();
for(;pBegin != pEnd;++pBegin)
{
- if(match(tableNamePattern,pBegin->getStr(),'\0'))
+ if(match(tableNamePattern,*pBegin,'\0'))
{
static ODatabaseMetaDataResultSet::ORow aRow(8);
aRow[2] = new ORowSetValueDecorator(*pBegin);
aRow[6] = ODatabaseMetaDataResultSet::getSelectValue();
- aRow[7] = new ORowSetValueDecorator(::rtl::OUString::createFromAscii("NO"));
+ aRow[7] = new ORowSetValueDecorator(::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("NO")));
aRows.push_back(aRow);
Reference< XPropertySet> xTable;
@@ -551,7 +551,7 @@ sal_Bool SAL_CALL ODatabaseMetaData::supportsNonNullableColumns( ) throw(SQLExc
::rtl::OUString ODatabaseMetaData::impl_getIdentifierQuoteString_throw( )
{
RTL_LOGFILE_CONTEXT_AUTHOR( aLogger, "file", "Ocke.Janssen@sun.com", "ODatabaseMetaData::impl_getIdentifierQuoteString_throw" );
- static const ::rtl::OUString sQuote = ::rtl::OUString::createFromAscii("\"");
+ static const ::rtl::OUString sQuote(RTL_CONSTASCII_USTRINGPARAM("\""));
return sQuote;
}
// -------------------------------------------------------------------------
@@ -711,7 +711,7 @@ Reference< XResultSet > SAL_CALL ODatabaseMetaData::getTableTypes( ) throw(SQLE
{
ODatabaseMetaDataResultSet::ORow aRow;
aRow.push_back(ODatabaseMetaDataResultSet::getEmptyValue());
- aRow.push_back(new ORowSetValueDecorator(::rtl::OUString::createFromAscii("TABLE")));
+ aRow.push_back(new ORowSetValueDecorator(::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("TABLE"))));
aRows.push_back(aRow);
}
pResult->setRows(aRows);
@@ -973,7 +973,7 @@ sal_Bool SAL_CALL ODatabaseMetaData::supportsANSI92IntermediateSQL( ) throw(SQL
::rtl::OUString SAL_CALL ODatabaseMetaData::getURL( ) throw(SQLException, RuntimeException)
{
RTL_LOGFILE_CONTEXT_AUTHOR( aLogger, "file", "Ocke.Janssen@sun.com", "ODatabaseMetaData::getURL" );
- static const ::rtl::OUString aValue = ::rtl::OUString::createFromAscii("sdbc:file:");
+ static const ::rtl::OUString aValue( RTL_CONSTASCII_USTRINGPARAM( "sdbc:file:" ));
return aValue;
}
// -------------------------------------------------------------------------
diff --git a/connectivity/source/drivers/file/FDateFunctions.cxx b/connectivity/source/drivers/file/FDateFunctions.cxx
index a7a1bcc4d7..ac2b26d41c 100644
--- a/connectivity/source/drivers/file/FDateFunctions.cxx
+++ b/connectivity/source/drivers/file/FDateFunctions.cxx
@@ -70,7 +70,7 @@ ORowSetValue OOp_DayOfWeek::operate(const ORowSetValue& lhs) const
nRet = 1;
break;
default:
- OSL_ENSURE(0,"Error in enum values for date");
+ OSL_FAIL("Error in enum values for date");
}
return nRet;
}
@@ -136,7 +136,7 @@ ORowSetValue OOp_DayName::operate(const ORowSetValue& lhs) const
sRet = ::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("Sunday"));
break;
default:
- OSL_ENSURE(0,"Error in enum values for date");
+ OSL_FAIL("Error in enum values for date");
}
return sRet;
}
diff --git a/connectivity/source/drivers/file/FDriver.cxx b/connectivity/source/drivers/file/FDriver.cxx
index f04bd3f489..363c29cef5 100644
--- a/connectivity/source/drivers/file/FDriver.cxx
+++ b/connectivity/source/drivers/file/FDriver.cxx
@@ -75,14 +75,14 @@ void OFileDriver::disposing()
//------------------------------------------------------------------------------
rtl::OUString OFileDriver::getImplementationName_Static( ) throw(RuntimeException)
{
- return rtl::OUString::createFromAscii("com.sun.star.sdbc.driver.file.Driver");
+ return rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("com.sun.star.sdbc.driver.file.Driver"));
}
//------------------------------------------------------------------------------
Sequence< ::rtl::OUString > OFileDriver::getSupportedServiceNames_Static( ) throw (RuntimeException)
{
Sequence< ::rtl::OUString > aSNS( 2 );
- aSNS[0] = ::rtl::OUString::createFromAscii("com.sun.star.sdbc.Driver");
- aSNS[1] = ::rtl::OUString::createFromAscii("com.sun.star.sdbcx.Driver");
+ aSNS[0] = ::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("com.sun.star.sdbc.Driver"));
+ aSNS[1] = ::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("com.sun.star.sdbcx.Driver"));
return aSNS;
}
@@ -129,7 +129,7 @@ sal_Bool SAL_CALL OFileDriver::acceptsURL( const ::rtl::OUString& url )
throw(SQLException, RuntimeException)
{
RTL_LOGFILE_CONTEXT_AUTHOR( aLogger, "file", "Ocke.Janssen@sun.com", "OFileDriver::acceptsURL" );
- return (!url.compareTo(::rtl::OUString::createFromAscii("sdbc:file:"),10));
+ return (!url.compareTo(::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("sdbc:file:")),10));
}
// --------------------------------------------------------------------------------
Sequence< DriverPropertyInfo > SAL_CALL OFileDriver::getPropertyInfo( const ::rtl::OUString& url, const Sequence< PropertyValue >& /*info*/ ) throw(SQLException, RuntimeException)
diff --git a/connectivity/source/drivers/file/FNoException.cxx b/connectivity/source/drivers/file/FNoException.cxx
index e092fb5ce8..93e7cb4b2a 100644
--- a/connectivity/source/drivers/file/FNoException.cxx
+++ b/connectivity/source/drivers/file/FNoException.cxx
@@ -89,28 +89,28 @@ void OPreparedStatement::scanParameter(OSQLParseNode* pParseNode,::std::vector<
RTL_LOGFILE_CONTEXT_AUTHOR( aLogger, "file", "Ocke.Janssen@sun.com", "OPreparedStatement::scanParameter" );
DBG_ASSERT(pParseNode != NULL,"OResultSet: interner Fehler: ungueltiger ParseNode");
- // Parameter Name-Regel gefunden?
+ // found parameter Name-Rule?
if (SQL_ISRULE(pParseNode,parameter))
{
DBG_ASSERT(pParseNode->count() >= 1,"OResultSet: Parse Tree fehlerhaft");
DBG_ASSERT(pParseNode->getChild(0)->getNodeType() == SQL_NODE_PUNCTUATION,"OResultSet: Parse Tree fehlerhaft");
_rParaNodes.push_back(pParseNode);
- // Weiterer Abstieg nicht erforderlich
+ // Further descend not nessesary
return;
}
- // Weiter absteigen im Parse Tree
- for (UINT32 i = 0; i < pParseNode->count(); i++)
+ // Further descend in Parse Tree
+ for (sal_uInt32 i = 0; i < pParseNode->count(); i++)
scanParameter(pParseNode->getChild(i),_rParaNodes);
}
// -----------------------------------------------------------------------------
OKeyValue* OResultSet::GetOrderbyKeyValue(OValueRefRow& _rRow)
{
RTL_LOGFILE_CONTEXT_AUTHOR( aLogger, "file", "Ocke.Janssen@sun.com", "OResultSet::GetOrderbyKeyValue" );
- UINT32 nBookmarkValue = Abs((sal_Int32)(_rRow->get())[0]->getValue());
+ sal_uInt32 nBookmarkValue = Abs((sal_Int32)(_rRow->get())[0]->getValue());
- OKeyValue* pKeyValue = OKeyValue::createKeyValue((UINT32)nBookmarkValue);
+ OKeyValue* pKeyValue = OKeyValue::createKeyValue((sal_uInt32)nBookmarkValue);
::std::vector<sal_Int32>::iterator aIter = m_aOrderbyColumnNumber.begin();
for (;aIter != m_aOrderbyColumnNumber.end(); ++aIter)
@@ -123,11 +123,4 @@ OKeyValue* OResultSet::GetOrderbyKeyValue(OValueRefRow& _rRow)
}
// -----------------------------------------------------------------------------
-
-
-
-
-
-
-
/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/connectivity/source/drivers/file/FPreparedStatement.cxx b/connectivity/source/drivers/file/FPreparedStatement.cxx
index 700a8b9a69..9b797fb483 100644
--- a/connectivity/source/drivers/file/FPreparedStatement.cxx
+++ b/connectivity/source/drivers/file/FPreparedStatement.cxx
@@ -479,7 +479,7 @@ void OPreparedStatement::setParameter(sal_Int32 parameterIndex, const ORowSetVal
*((m_aParameterRow->get())[parameterIndex]) = x;
}
// -----------------------------------------------------------------------------
-UINT32 OPreparedStatement::AddParameter(OSQLParseNode * pParameter, const Reference<XPropertySet>& _xCol)
+sal_uInt32 OPreparedStatement::AddParameter(OSQLParseNode * pParameter, const Reference<XPropertySet>& _xCol)
{
RTL_LOGFILE_CONTEXT_AUTHOR( aLogger, "file", "Ocke.Janssen@sun.com", "OPreparedStatement::AddParameter" );
OSL_UNUSED( pParameter );
@@ -491,17 +491,17 @@ UINT32 OPreparedStatement::AddParameter(OSQLParseNode * pParameter, const Refere
#endif
::rtl::OUString sParameterName;
- // Parameter-Column aufsetzen:
+ // set up Parameter-Column:
sal_Int32 eType = DataType::VARCHAR;
- UINT32 nPrecision = 255;
+ sal_uInt32 nPrecision = 255;
sal_Int32 nScale = 0;
sal_Int32 nNullable = ColumnValue::NULLABLE;
if (_xCol.is())
{
- // Typ, Precision, Scale ... der angegebenen Column verwenden,
- // denn dieser Column wird der Wert zugewiesen bzw. mit dieser
- // Column wird der Wert verglichen.
+ // Use type, precision, scale ... from the given column,
+ // because this Column will get a value assigned or
+ // with this Column the value will be compared.
_xCol->getPropertyValue(OMetaConnection::getPropMap().getNameByIndex(PROPERTY_ID_TYPE)) >>= eType;
_xCol->getPropertyValue(OMetaConnection::getPropMap().getNameByIndex(PROPERTY_ID_PRECISION)) >>= nPrecision;
_xCol->getPropertyValue(OMetaConnection::getPropMap().getNameByIndex(PROPERTY_ID_SCALE)) >>= nScale;
@@ -573,23 +573,22 @@ void OPreparedStatement::initializeResultSet(OResultSet* _pResult)
m_pResultSet->setParameterColumns(m_xParamColumns);
m_pResultSet->setParameterRow(m_aParameterRow);
- // Parameter substituieren (AssignValues und Kriterien):
+ // Substitute parameter (AssignValues and criteria):
if (!m_xParamColumns->get().empty())
{
- // Zunaechst AssignValues
- USHORT nParaCount=0; // gibt die aktuelle Anzahl der bisher gesetzen Parameter an
+ // begin with AssignValues
+ sal_uInt16 nParaCount=0; // gives the current number of previously set Parameters
- // Nach zu substituierenden Parametern suchen:
- size_t nCount = m_aAssignValues.is() ? m_aAssignValues->get().size() : 1; // 1 ist wichtig fuer die Kriterien
+ // search for parameters to be substituted:
+ size_t nCount = m_aAssignValues.is() ? m_aAssignValues->get().size() : 1; // 1 is important for the Criteria
for (size_t j = 1; j < nCount; j++)
{
- UINT32 nParameter = (*m_aAssignValues).getParameterIndex(j);
+ sal_uInt32 nParameter = (*m_aAssignValues).getParameterIndex(j);
if (nParameter == SQL_NO_PARAMETER)
- continue; // dieser AssignValue ist kein Parameter
+ continue; // this AssignValue is no Parameter
- ++nParaCount; // ab hier ist der Parameter gueltig
- // Parameter ersetzen. Wenn Parameter nicht verfuegbar,
- // Value auf NULL setzen.
+ ++nParaCount; // now the Parameter is valid
+ // Replace Parameter. If the Parameter isn't available, set value to NULL
// (*m_aAssignValues)[j] = (*m_aParameterRow)[(UINT16)nParameter];
}
@@ -627,8 +626,8 @@ void OPreparedStatement::parseParamterElem(const String& _sColumnName,OSQLParseN
}
if(nParameter == -1)
nParameter = AddParameter(pRow_Value_Constructor_Elem,xCol);
- // Nr. des Parameters in der Variablen merken:
- SetAssignValue(_sColumnName, String(), TRUE, nParameter);
+ // Save number of parameter in the variable:
+ SetAssignValue(_sColumnName, String(), sal_True, nParameter);
}
// -----------------------------------------------------------------------------
diff --git a/connectivity/source/drivers/file/FResultSet.cxx b/connectivity/source/drivers/file/FResultSet.cxx
index 72736cf0b8..71d2f3ecf7 100644
--- a/connectivity/source/drivers/file/FResultSet.cxx
+++ b/connectivity/source/drivers/file/FResultSet.cxx
@@ -75,13 +75,8 @@ using namespace com::sun::star::sdbc;
using namespace com::sun::star::sdbcx;
using namespace com::sun::star::container;
-// Maximale Anzahl von Rows, die mit ORDER BY sortiert durchlaufen werden koennen:
-#if defined (WIN)
-#define MAX_KEYSET_SIZE 0x3ff0 // Etwas weniger als ein Segment, damit
- // noch Platz fuer Memory Debug-Informationen
-#else
+// Maximal number of Rows, that can be processed being sorted with ORDER BY:
#define MAX_KEYSET_SIZE 0x40000 // 256K
-#endif
namespace
{
@@ -144,7 +139,7 @@ OResultSet::OResultSet(OStatement_Base* pStmt,OSQLParseTreeIterator& _aSQLIterat
m_nResultSetConcurrency = isCount() ? ResultSetConcurrency::READ_ONLY : ResultSetConcurrency::UPDATABLE;
construct();
- m_aSkipDeletedSet.SetDeleted(m_bShowDeleted);
+ m_aSkipDeletedSet.SetDeletedVisible(m_bShowDeleted);
osl_decrementInterlockedCount( &m_refCount );
}
@@ -246,7 +241,6 @@ const ORowSetValue& OResultSet::getValue(sal_Int32 columnIndex ) throw(::com::su
::osl::MutexGuard aGuard( m_aMutex );
checkDisposed(OResultSet_BASE::rBHelper.bDisposed);
- //columnIndex = mapColumn(columnIndex);
checkIndex(columnIndex );
@@ -258,8 +252,7 @@ void OResultSet::checkIndex(sal_Int32 columnIndex ) throw(::com::sun::star::sdbc
{
//RTL_LOGFILE_CONTEXT_AUTHOR( aLogger, "file", "Ocke.Janssen@sun.com", "OResultSet::checkIndex" );
if ( columnIndex <= 0
- // || columnIndex > (sal_Int32)m_xColumns->size()
- || columnIndex >= m_nColumnCount )
+ || columnIndex >= m_nColumnCount )
::dbtools::throwInvalidIndexException(*this);
}
// -------------------------------------------------------------------------
@@ -651,7 +644,7 @@ void SAL_CALL OResultSet::insertRow( ) throw(SQLException, RuntimeException)
// we know that we append new rows at the end
// so we have to know where the end is
m_aSkipDeletedSet.skipDeleted(IResultSetHelper::LAST,1,sal_False);
- m_bRowInserted = m_pTable->InsertRow(*m_aInsertRow, TRUE, m_xColsIdx);
+ m_bRowInserted = m_pTable->InsertRow(*m_aInsertRow, sal_True, m_xColsIdx);
if(m_bRowInserted && m_pFileSet.is())
{
sal_Int32 nPos = (m_aInsertRow->get())[0]->getValue();
@@ -907,20 +900,20 @@ IPropertyArrayHelper & OResultSet::getInfoHelper()
}
//------------------------------------------------------------------
-BOOL OResultSet::ExecuteRow(IResultSetHelper::Movement eFirstCursorPosition,
- INT32 nFirstOffset,
- BOOL bEvaluate,
- BOOL bRetrieveData)
+sal_Bool OResultSet::ExecuteRow(IResultSetHelper::Movement eFirstCursorPosition,
+ sal_Int32 nFirstOffset,
+ sal_Bool bEvaluate,
+ sal_Bool bRetrieveData)
{
RTL_LOGFILE_CONTEXT_AUTHOR( aLogger, "file", "Ocke.Janssen@sun.com", "OResultSet::ExecuteRow" );
OSL_ENSURE(m_pSQLAnalyzer,"OResultSet::ExecuteRow: Analyzer isn't set!");
- // Fuer weitere Fetch-Operationen werden diese Angaben ggf. veraendert ...
+ // For further Fetch-Operations this information may possibly be changed ...
IResultSetHelper::Movement eCursorPosition = eFirstCursorPosition;
- INT32 nOffset = nFirstOffset;
+ sal_Int32 nOffset = nFirstOffset;
const OSQLColumns & rTableCols = *(m_pTable->getTableColumns());
- BOOL bHasRestriction = m_pSQLAnalyzer->hasRestriction();
+ sal_Bool bHasRestriction = m_pSQLAnalyzer->hasRestriction();
again:
// protect from reading over the end when someboby is inserting while we are reading
@@ -935,7 +928,7 @@ again:
return sal_False;
}
- if (!bEvaluate) // Laeuft keine Auswertung, dann nur Ergebniszeile fuellen
+ if (!bEvaluate) // If no evaluation runs, then just fill the results-row
{
m_pTable->fetchRow(m_aRow,rTableCols, sal_True,bRetrieveData);
}
@@ -943,11 +936,15 @@ again:
{
m_pTable->fetchRow(m_aEvaluateRow, rTableCols, sal_True,bRetrieveData || bHasRestriction);
- if ( (!m_bShowDeleted && m_aEvaluateRow->isDeleted())
- || (bHasRestriction && //!bShowDeleted && m_aEvaluateRow->isDeleted() ||// keine Anzeige von geloeschten Saetzen
- !m_pSQLAnalyzer->evaluateRestriction())) // Auswerten der Bedingungen
- { // naechsten Satz auswerten
- // aktuelle Zeile loeschen im Keyset
+ if ( ( !m_bShowDeleted
+ && m_aEvaluateRow->isDeleted()
+ )
+ || ( bHasRestriction
+ && !m_pSQLAnalyzer->evaluateRestriction()
+ )
+ )
+ { // Evaluate the next record
+ // delete current row in Keyset
if (m_pEvaluationKeySet)
{
++m_aEvaluateIter;
@@ -960,8 +957,7 @@ again:
}
else if (m_pFileSet.is())
{
- OSL_ENSURE(//!m_pFileSet->IsFrozen() &&
- eCursorPosition == IResultSetHelper::NEXT, "Falsche CursorPosition!");
+ OSL_ENSURE(eCursorPosition == IResultSetHelper::NEXT, "Falsche CursorPosition!");
eCursorPosition = IResultSetHelper::NEXT;
nOffset = 1;
}
@@ -984,27 +980,27 @@ again:
}
else
{
- // aStatus.Set(SQL_STAT_NO_DATA_FOUND);
return sal_False;
}
- // Nochmal probieren ...
+ // Try again ...
goto again;
}
}
- // Evaluate darf nur gesetzt sein,
- // wenn der Keyset weiter aufgebaut werden soll
- if (m_aSQLIterator.getStatementType() == SQL_STATEMENT_SELECT && !isCount() &&
- (m_pFileSet.is() || m_pSortIndex) && bEvaluate)
+ // Evaluate may only be set,
+ // if the Keyset will be constructed further
+ if ( ( m_aSQLIterator.getStatementType() == SQL_STATEMENT_SELECT )
+ && !isCount()
+ && bEvaluate
+ )
{
if (m_pSortIndex)
{
- OKeyValue* pKeyValue = GetOrderbyKeyValue(m_aEvaluateRow);
+ OKeyValue* pKeyValue = GetOrderbyKeyValue( m_aSelectRow );
m_pSortIndex->AddKeyValue(pKeyValue);
}
else if (m_pFileSet.is())
{
- // OSL_ENSURE(!m_pFileSet->IsFrozen() , "Falsche CursorPosition!");
sal_uInt32 nBookmarkValue = Abs((sal_Int32)(m_aEvaluateRow->get())[0]->getValue());
m_pFileSet->get().push_back(nBookmarkValue);
}
@@ -1014,13 +1010,13 @@ again:
sal_Bool bOK = sal_True;
if (bEvaluate)
{
- // jetzt die eigentliche Ergebniszeile Lesen
- bOK = m_pTable->fetchRow(m_aEvaluateRow, *(m_pTable->getTableColumns()), sal_True,TRUE);
+ // read the actual result-row
+ bOK = m_pTable->fetchRow(m_aEvaluateRow, *(m_pTable->getTableColumns()), sal_True,sal_True);
}
if (bOK)
{
- // Nur die zu aendernden Werte uebergeben:
+ // just give the values to be changed:
if(!m_pTable->UpdateRow(*m_aAssignValues,m_aEvaluateRow, m_xColsIdx))
return sal_False;
}
@@ -1030,7 +1026,7 @@ again:
sal_Bool bOK = sal_True;
if (bEvaluate)
{
- bOK = m_pTable->fetchRow(m_aEvaluateRow, *(m_pTable->getTableColumns()), sal_True,TRUE);
+ bOK = m_pTable->fetchRow(m_aEvaluateRow, *(m_pTable->getTableColumns()), sal_True,sal_True);
}
if (bOK)
{
@@ -1042,21 +1038,21 @@ again:
}
//-------------------------------------------------------------------
-BOOL OResultSet::Move(IResultSetHelper::Movement eCursorPosition, INT32 nOffset, BOOL bRetrieveData)
+sal_Bool OResultSet::Move(IResultSetHelper::Movement eCursorPosition, sal_Int32 nOffset, sal_Bool bRetrieveData)
{
RTL_LOGFILE_CONTEXT_AUTHOR( aLogger, "file", "Ocke.Janssen@sun.com", "OResultSet::Move" );
//IgnoreDeletedRows:
//
- INT32 nTempPos = m_nRowPos;
+ sal_Int32 nTempPos = m_nRowPos;
if (m_aSQLIterator.getStatementType() == SQL_STATEMENT_SELECT &&
!isCount())
{
- if (!m_pFileSet.is()) // kein Index verfuegbar
+ if (!m_pFileSet.is()) //no Index available
{
- // Normales FETCH
- ExecuteRow(eCursorPosition,nOffset,FALSE,bRetrieveData);
+ // Normal FETCH
+ ExecuteRow(eCursorPosition,nOffset,sal_False,bRetrieveData);
// now set the bookmark for outside this is the logical pos and not the file pos
*(*m_aRow->get().begin()) = sal_Int32(m_nRowPos + 1);
@@ -1076,7 +1072,6 @@ BOOL OResultSet::Move(IResultSetHelper::Movement eCursorPosition, INT32 nOffset,
m_nRowPos = 0;
break;
case IResultSetHelper::LAST:
- // OSL_ENSURE(IsRowCountFinal(), "Fehler im Keyset!"); // muss eingefroren sein, sonst Fehler beim SQLCursor
m_nRowPos = m_pFileSet->get().size() - 1;
break;
case IResultSetHelper::RELATIVE:
@@ -1091,20 +1086,19 @@ BOOL OResultSet::Move(IResultSetHelper::Movement eCursorPosition, INT32 nOffset,
}
// OffRange?
- // Der FileCursor ist ausserhalb des gueltigen Bereichs, wenn
+ // The FileCursor is outside of the valid range, if:
// a.) m_nRowPos < 1
- // b.) Ein KeySet besteht und m_nRowPos > m_pFileSet->size()
- if (m_nRowPos < 0 || (m_pFileSet->isFrozen() && eCursorPosition != IResultSetHelper::BOOKMARK && m_nRowPos >= (INT32)m_pFileSet->get().size() )) // && m_pFileSet->IsFrozen()
+ // b.) a KeySet exists and m_nRowPos > m_pFileSet->size()
+ if (m_nRowPos < 0 || (m_pFileSet->isFrozen() && eCursorPosition != IResultSetHelper::BOOKMARK && m_nRowPos >= (sal_Int32)m_pFileSet->get().size() )) // && m_pFileSet->IsFrozen()
{
- // aStatus.Set(SQL_STAT_NO_DATA_FOUND);
goto Error;
}
else
{
- if (m_nRowPos < (INT32)m_pFileSet->get().size())
+ if (m_nRowPos < (sal_Int32)m_pFileSet->get().size())
{
- // Fetch ueber Index
- ExecuteRow(IResultSetHelper::BOOKMARK,(m_pFileSet->get())[m_nRowPos],FALSE,bRetrieveData);
+ // Fetch via Index
+ ExecuteRow(IResultSetHelper::BOOKMARK,(m_pFileSet->get())[m_nRowPos],sal_False,bRetrieveData);
// now set the bookmark for outside
*(*m_aRow->get().begin()) = sal_Int32(m_nRowPos + 1);
@@ -1113,42 +1107,40 @@ BOOL OResultSet::Move(IResultSetHelper::Movement eCursorPosition, INT32 nOffset,
m_pSQLAnalyzer->setSelectionEvaluationResult(m_aSelectRow,m_aColMapping);
}
}
- else // Index muss weiter aufgebaut werden
+ else // Index must be further constructed
{
- // Zunaechst auf die letzte bekannte Zeile setzen
+ // set first on the last known row
if (!m_pFileSet->get().empty())
{
m_aFileSetIter = m_pFileSet->get().end()-1;
- // m_pFileSet->SeekPos(m_pFileSet->size()-1);
m_pTable->seekRow(IResultSetHelper::BOOKMARK, *m_aFileSetIter, m_nFilePos);
}
sal_Bool bOK = sal_True;
- // Ermitteln der Anzahl weiterer Fetches
- while (bOK && m_nRowPos >= (INT32)m_pFileSet->get().size())
+ // Determine the number of further Fetches
+ while (bOK && m_nRowPos >= (sal_Int32)m_pFileSet->get().size())
{
if (m_pEvaluationKeySet)
{
- if (m_nRowPos >= (INT32)m_pEvaluationKeySet->size())
+ if (m_nRowPos >= (sal_Int32)m_pEvaluationKeySet->size())
return sal_False;
- // aStatus.Set(SQL_STAT_NO_DATA_FOUND);
else if (m_nRowPos == 0)
{
m_aEvaluateIter = m_pEvaluationKeySet->begin();
- bOK = ExecuteRow(IResultSetHelper::BOOKMARK,*m_aEvaluateIter,TRUE, bRetrieveData);
+ bOK = ExecuteRow(IResultSetHelper::BOOKMARK,*m_aEvaluateIter,sal_True, bRetrieveData);
}
else
{
++m_aEvaluateIter;
- bOK = ExecuteRow(IResultSetHelper::BOOKMARK,*m_aEvaluateIter,TRUE, bRetrieveData);
+ bOK = ExecuteRow(IResultSetHelper::BOOKMARK,*m_aEvaluateIter,sal_True, bRetrieveData);
}
}
else
- bOK = ExecuteRow(IResultSetHelper::NEXT,1,TRUE, FALSE);//bRetrieveData);
+ bOK = ExecuteRow(IResultSetHelper::NEXT,1,sal_True, sal_False);//bRetrieveData);
}
if (bOK)
{
- // jetzt nochmal die Ergebnisse lesen
+ // read the results again
m_pTable->fetchRow(m_aRow, *(m_pTable->getTableColumns()), sal_True,bRetrieveData);
// now set the bookmark for outside
@@ -1159,14 +1151,10 @@ BOOL OResultSet::Move(IResultSetHelper::Movement eCursorPosition, INT32 nOffset,
m_pSQLAnalyzer->setSelectionEvaluationResult(m_aSelectRow,m_aColMapping);
}
}
- else if (!m_pFileSet->isFrozen()) // keinen gueltigen Satz gefunden
+ else if (!m_pFileSet->isFrozen()) // no valid record found
{
- //m_pFileSet->Freeze();
m_pFileSet->setFrozen();
-
- // DELETEZ(m_pEvaluationKeySet);
m_pEvaluationKeySet = NULL;
- // aStatus.Set(SQL_STAT_NO_DATA_FOUND);
goto Error;
}
}
@@ -1175,7 +1163,7 @@ BOOL OResultSet::Move(IResultSetHelper::Movement eCursorPosition, INT32 nOffset,
}
else if (m_aSQLIterator.getStatementType() == SQL_STATEMENT_SELECT && isCount())
{
- // Fetch des COUNT(*)
+ // Fetch the COUNT(*)
switch (eCursorPosition)
{
case IResultSetHelper::NEXT:
@@ -1203,8 +1191,8 @@ BOOL OResultSet::Move(IResultSetHelper::Movement eCursorPosition, INT32 nOffset,
goto Error;
else if (m_nRowPos == 0)
{
- // COUNT(*) in Ergebnisrow packen
- // (muss die erste und einzige Variable in der Row sein)
+ // put COUNT(*) in result-row
+ // (must be the first and only variable in the row)
if (m_aRow->get().size() >= 2)
{
*(m_aRow->get())[1] = m_nRowCountResult;
@@ -1221,14 +1209,14 @@ BOOL OResultSet::Move(IResultSetHelper::Movement eCursorPosition, INT32 nOffset,
}
}
else
- // Fetch nur bei SELECT moeglich!
+ // Fetch only possible at SELECT!
return sal_False;
return sal_True;
Error:
- // steht der Cursor vor dem ersten Satz
- // dann wird die position beibehalten
+ // is the Cursor positioned before the first row
+ // then the position will be maintained
if (nTempPos == -1)
m_nRowPos = nTempPos;
else
@@ -1249,12 +1237,9 @@ Error:
m_nRowPos = -1;
break;
case IResultSetHelper::BOOKMARK:
- m_nRowPos = nTempPos; // vorherige Position
+ m_nRowPos = nTempPos; // last Position
}
}
- // delete pGuard;
- // rMode = (!bShowDeleted && aStatus.IsSuccessful() && m_aRow->isDeleted()) ? // keine Anzeige von geloeschten Saetzen
- // OCursor::SQL_MOD_INVALID : OCursor::SQL_MOD_NONE;
return sal_False;
}
// -------------------------------------------------------------------------
@@ -1263,11 +1248,11 @@ void OResultSet::sortRows()
RTL_LOGFILE_CONTEXT_AUTHOR( aLogger, "file", "Ocke.Janssen@sun.com", "OResultSet::sortRows" );
if (!m_pSQLAnalyzer->hasRestriction() && m_aOrderbyColumnNumber.size() == 1)
{
- // Ist nur ein Feld fuer die Sortierung angegeben
- // Und diese Feld ist indiziert, dann den Index ausnutzen
+ // is just one field given for sorting
+ // and this field is indexed, then the Index will be used
Reference<XIndexesSupplier> xIndexSup;
m_pTable->queryInterface(::getCppuType((const Reference<XIndexesSupplier>*)0)) >>= xIndexSup;
- // Reference<XIndexesSupplier> xIndexSup(m_pTable,UNO_QUERY);
+
Reference<XIndexAccess> xIndexes;
if(xIndexSup.is())
{
@@ -1298,8 +1283,8 @@ void OResultSet::sortRows()
::std::vector<sal_Int32>::iterator aOrderByIter = m_aOrderbyColumnNumber.begin();
for (::std::vector<sal_Int16>::size_type i=0;aOrderByIter != m_aOrderbyColumnNumber.end(); ++aOrderByIter,++i)
{
- OSL_ENSURE((sal_Int32)m_aRow->get().size() > *aOrderByIter,"Invalid Index");
- switch ((*(m_aRow->get().begin()+*aOrderByIter))->getValue().getTypeKind())
+ OSL_ENSURE((sal_Int32)m_aSelectRow->get().size() > *aOrderByIter,"Invalid Index");
+ switch ((*(m_aSelectRow->get().begin()+*aOrderByIter))->getValue().getTypeKind())
{
case DataType::CHAR:
case DataType::VARCHAR:
@@ -1322,13 +1307,13 @@ void OResultSet::sortRows()
eKeyType[i] = SQL_ORDERBYKEY_DOUBLE;
break;
- // Andere Typen sind nicht implementiert (und damit immer FALSE)
+ // Other types aren't implemented (so they are always FALSE)
default:
eKeyType[i] = SQL_ORDERBYKEY_NONE;
- OSL_ASSERT("OFILECursor::Execute: Datentyp nicht implementiert");
+ OSL_FAIL("OFILECursor::Execute: Datentyp nicht implementiert");
break;
}
- (m_aEvaluateRow->get())[*aOrderByIter]->setBound(sal_True);
+ (m_aSelectRow->get())[*aOrderByIter]->setBound(sal_True);
}
m_pSortIndex = new OSortIndex(eKeyType,m_aOrderbyAscending);
@@ -1339,31 +1324,33 @@ void OResultSet::sortRows()
while (m_aEvaluateIter != m_pEvaluationKeySet->end())
{
- ExecuteRow(IResultSetHelper::BOOKMARK,(*m_aEvaluateIter),TRUE);
+ ExecuteRow(IResultSetHelper::BOOKMARK,(*m_aEvaluateIter),sal_True);
++m_aEvaluateIter;
}
}
else
{
- while (ExecuteRow(IResultSetHelper::NEXT,1,TRUE))
+ while ( ExecuteRow( IResultSetHelper::NEXT, 1, sal_False, sal_True ) )
{
+ m_aSelectRow->get()[0]->setValue( m_aRow->get()[0]->getValue() );
+ if ( m_pSQLAnalyzer->hasFunctions() )
+ m_pSQLAnalyzer->setSelectionEvaluationResult( m_aSelectRow, m_aColMapping );
+ const sal_Int32 nBookmark = (*m_aRow->get().begin())->getValue();
+ ExecuteRow( IResultSetHelper::BOOKMARK, nBookmark, sal_True, sal_False );
}
}
- // Sortiertes Keyset erzeugen
- // DELETEZ(m_pEvaluationKeySet);
+ // create sorted Keyset
m_pEvaluationKeySet = NULL;
m_pFileSet = NULL;
m_pFileSet = m_pSortIndex->CreateKeySet();
- // if(!bDistinct)
- // SetRowCount(pFileSet->count());
DELETEZ(m_pSortIndex);
- // Nun kann ueber den Index sortiert zugegriffen werden.
+ // now access to a sorted set is possible via Index
}
// -------------------------------------------------------------------------
-BOOL OResultSet::OpenImpl()
+sal_Bool OResultSet::OpenImpl()
{
RTL_LOGFILE_CONTEXT_AUTHOR( aLogger, "file", "Ocke.Janssen@sun.com", "OResultSet::OpenImpl" );
OSL_ENSURE(m_pSQLAnalyzer,"No analyzer set with setSqlAnalyzer!");
@@ -1398,11 +1385,10 @@ BOOL OResultSet::OpenImpl()
m_nResultSetConcurrency = (m_pTable->isReadOnly() || isCount()) ? ResultSetConcurrency::READ_ONLY : ResultSetConcurrency::UPDATABLE;
- // Neuen Index aufbauen:
+ // create new Index:
m_pFileSet = NULL;
- // DELETEZ(m_pEvaluationKeySet);
- // An den Anfang positionieren
+ // position at the beginning
m_nRowPos = -1;
m_nFilePos = 0;
m_nRowCountResult = -1;
@@ -1419,8 +1405,8 @@ BOOL OResultSet::OpenImpl()
lcl_throwError(STR_QUERY_COMPLEX_COUNT,*this);
m_nRowCountResult = 0;
- // Vorlaeufig einfach ueber alle Datensaetze iterieren und
- // dabei die Aktionen bearbeiten (bzw. einfach nur zaehlen):
+ // for now simply iterate over all rows and
+ // do all actions (or just count)
{
sal_Bool bOK = sal_True;
if (m_pEvaluationKeySet)
@@ -1432,9 +1418,9 @@ BOOL OResultSet::OpenImpl()
while (bOK)
{
if (m_pEvaluationKeySet)
- ExecuteRow(IResultSetHelper::BOOKMARK,(*m_aEvaluateIter),TRUE);
+ ExecuteRow(IResultSetHelper::BOOKMARK,(*m_aEvaluateIter),sal_True);
else
- bOK = ExecuteRow(IResultSetHelper::NEXT,1,TRUE);
+ bOK = ExecuteRow(IResultSetHelper::NEXT,1,sal_True);
if (bOK)
{
@@ -1447,17 +1433,15 @@ BOOL OResultSet::OpenImpl()
}
}
- // Ergebnis von COUNT(*) in m_nRowCountResult merken.
- // nRowCount, also die Anzahl der Rows in der Ergebnismenge, ist bei dieser
- // Anfrage = 1!
+ // save result of COUNT(*) in m_nRowCountResult.
+ // nRowCount (number of Rows in the result) = 1 for this request!
m_pEvaluationKeySet = NULL;
- // DELETEZ(m_pEvaluationKeySet);
}
}
else
{
- BOOL bDistinct = FALSE;
- BOOL bWasSorted = FALSE;
+ sal_Bool bDistinct = sal_False;
+ sal_Bool bWasSorted = sal_False;
OSQLParseNode *pDistinct = m_pParseTree->getChild(1);
::std::vector<sal_Int32> aOrderbyColumnNumberSave;
::std::vector<TAscendingOrder> aOrderbyAscendingSave;
@@ -1467,18 +1451,17 @@ BOOL OResultSet::OpenImpl()
// Sort on all columns, saving original order for later
if(IsSorted())
{
- aOrderbyColumnNumberSave = m_aOrderbyColumnNumber;// .assign(m_aOrderbyColumnNumber.begin(), m_aOrderbyColumnNumber.end());
+ aOrderbyColumnNumberSave = m_aOrderbyColumnNumber;
m_aOrderbyColumnNumber.clear();
aOrderbyAscendingSave.assign(m_aOrderbyAscending.begin(), m_aOrderbyAscending.end());
- bWasSorted = TRUE;
+ bWasSorted = sal_True;
}
// the first column is the bookmark column
::std::vector<sal_Int32>::iterator aColStart = (m_aColMapping.begin()+1);
::std::copy(aColStart, m_aColMapping.end(),::std::back_inserter(m_aOrderbyColumnNumber));
-// m_aOrderbyColumnNumber.assign(aColStart, m_aColMapping.end());
m_aOrderbyAscending.assign(m_aColMapping.size()-1, SQL_ASC);
- bDistinct = TRUE;
+ bDistinct = sal_True;
}
if (IsSorted())
@@ -1489,9 +1472,8 @@ BOOL OResultSet::OpenImpl()
m_pFileSet = new OKeySet();
if (!m_pSQLAnalyzer->hasRestriction())
- // jetzt kann das Keyset schon gefuellt werden!
- // Aber Achtung: es wird davon ausgegangen, das die FilePositionen als Folge 1..n
- // abgelegt werden!
+ // now the Keyset can be filled!
+ // But be careful: It is assumed, that the FilePositions will be stored as sequence 1..n
{
if ( m_nLastVisitedPos > 0)
m_pFileSet->get().reserve( m_nLastVisitedPos );
@@ -1501,7 +1483,7 @@ BOOL OResultSet::OpenImpl()
}
OSL_ENSURE(m_pFileSet.is(),"Kein KeySet vorhanden! :-(");
- if(bDistinct && m_pFileSet.is()) // sicher ist sicher
+ if(bDistinct && m_pFileSet.is())
{
OValueRow aSearchRow = new OValueVector(m_aRow->get().size());
OValueRefVector::Vector::iterator aRowIter = m_aRow->get().begin();
@@ -1516,15 +1498,15 @@ BOOL OResultSet::OpenImpl()
if (nMaxRow)
{
#if OSL_DEBUG_LEVEL > 1
- INT32 nFound=0;
+ sal_Int32 nFound=0;
#endif
- INT32 nPos;
- INT32 nKey;
+ sal_Int32 nPos;
+ sal_Int32 nKey;
for( size_t j = nMaxRow-1; j > 0; --j)
{
nPos = (m_pFileSet->get())[j];
- ExecuteRow(IResultSetHelper::BOOKMARK,nPos,FALSE);
+ ExecuteRow(IResultSetHelper::BOOKMARK,nPos,sal_False);
m_pSQLAnalyzer->setSelectionEvaluationResult(m_aSelectRow,m_aColMapping);
{ // copy row values
OValueRefVector::Vector::iterator copyFrom = m_aSelectRow->get().begin();
@@ -1533,12 +1515,11 @@ BOOL OResultSet::OpenImpl()
copyFrom != m_aSelectRow->get().end();
++copyFrom,++copyTo)
*copyTo = *(*copyFrom);
- // *aSearchRow = *m_aRow;
}
// compare with next row
nKey = (m_pFileSet->get())[j-1];
- ExecuteRow(IResultSetHelper::BOOKMARK,nKey,FALSE);
+ ExecuteRow(IResultSetHelper::BOOKMARK,nKey,sal_False);
m_pSQLAnalyzer->setSelectionEvaluationResult(m_aSelectRow,m_aColMapping);
OValueRefVector::Vector::iterator loopInRow = m_aSelectRow->get().begin();
OValueVector::Vector::iterator existentInSearchRow = aSearchRow->get().begin();
@@ -1579,17 +1560,16 @@ BOOL OResultSet::OpenImpl()
::std::sort(m_pFileSet->get().begin(),m_pFileSet->get().end());
}
}
- // SetRowCount(m_pFileSet->count());
}
}
} break;
case SQL_STATEMENT_UPDATE:
case SQL_STATEMENT_DELETE:
- // waehrend der Bearbeitung die Anzahl der bearbeiteten Rows zaehlen:
+ // during processing count the number of processed Rows
m_nRowCountResult = 0;
- // Vorlaeufig einfach ueber alle Datensaetze iterieren und
- // dabei die Aktionen bearbeiten (bzw. einfach nur zaehlen):
+ // for now simply iterate over all rows and
+ // run the actions (or simply count):
{
sal_Bool bOK = sal_True;
@@ -1602,9 +1582,9 @@ BOOL OResultSet::OpenImpl()
while (bOK)
{
if (m_pEvaluationKeySet)
- ExecuteRow(IResultSetHelper::BOOKMARK,(*m_aEvaluateIter),TRUE);
+ ExecuteRow(IResultSetHelper::BOOKMARK,(*m_aEvaluateIter),sal_True);
else
- bOK = ExecuteRow(IResultSetHelper::NEXT,1,TRUE);
+ bOK = ExecuteRow(IResultSetHelper::NEXT,1,sal_True);
if (bOK)
{
@@ -1617,19 +1597,16 @@ BOOL OResultSet::OpenImpl()
}
}
- // Ergebnis von COUNT(*) in nRowCountResult merken.
- // nRowCount, also die Anzahl der Rows in der Ergebnismenge, ist bei dieser
- // Anfrage = 1!
- // DELETEZ(m_pEvaluationKeySet);
+ // save result of COUNT(*) in nRowCountResult.
+ // nRowCount (number of rows in the result-set) = 1 for this request!
m_pEvaluationKeySet = NULL;
}
- // SetRowCount(1);
break;
case SQL_STATEMENT_INSERT:
m_nRowCountResult = 0;
OSL_ENSURE(m_aAssignValues.is(),"No assign values set!");
- if(!m_pTable->InsertRow(*m_aAssignValues, TRUE,m_xColsIdx))
+ if(!m_pTable->InsertRow(*m_aAssignValues, sal_True,m_xColsIdx))
{
m_nFilePos = 0;
return sal_False;
@@ -1638,11 +1615,11 @@ BOOL OResultSet::OpenImpl()
m_nRowCountResult = 1;
break;
default:
- OSL_ENSURE( false, "OResultSet::OpenImpl: unsupported statement type!" );
+ OSL_FAIL( "OResultSet::OpenImpl: unsupported statement type!" );
break;
}
- // FilePos zuruecksetzen
+ // reset FilePos
m_nFilePos = 0;
return sal_True;
@@ -1683,7 +1660,7 @@ void OResultSet::setBoundedColumns(const OValueRefRow& _rRow,
::std::vector<sal_Int32>& _rColMapping)
{
RTL_LOGFILE_CONTEXT_AUTHOR( aLogger, "file", "Ocke.Janssen@sun.com", "OResultSet::setBoundedColumns" );
- ::comphelper::UStringMixEqual aCase(_xMetaData->storesMixedCaseQuotedIdentifiers());
+ ::comphelper::UStringMixEqual aCase(_xMetaData->supportsMixedCaseQuotedIdentifiers());
Reference<XPropertySet> xTableColumn;
::rtl::OUString sTableColumnName, sSelectColumnRealName;
@@ -1748,7 +1725,7 @@ void OResultSet::setBoundedColumns(const OValueRefRow& _rRow,
}
catch (Exception&)
{
- OSL_ENSURE(sal_False, "OResultSet::setBoundedColumns: caught an Exception!");
+ OSL_FAIL("OResultSet::setBoundedColumns: caught an Exception!");
}
}
// in this case we got more select columns as columns exist in the table
@@ -1884,7 +1861,6 @@ sal_Bool OResultSet::isRowDeleted() const
void SAL_CALL OResultSet::disposing( const EventObject& Source ) throw (RuntimeException)
{
RTL_LOGFILE_CONTEXT_AUTHOR( aLogger, "file", "Ocke.Janssen@sun.com", "OResultSet::disposing" );
- // Reference<XInterface> xInt = m_pTable;
Reference<XPropertySet> xProp = m_pTable;
if(m_pTable && Source.Source == xProp)
{
diff --git a/connectivity/source/drivers/file/FStatement.cxx b/connectivity/source/drivers/file/FStatement.cxx
index 1ccb031bba..78232769c2 100644
--- a/connectivity/source/drivers/file/FStatement.cxx
+++ b/connectivity/source/drivers/file/FStatement.cxx
@@ -430,41 +430,24 @@ void OStatement_Base::setOrderbyColumn( OSQLParseNode* pColumnRef,
aColumnName = pColumnRef->getChild(0)->getTokenValue();
else if (pColumnRef->count() == 3)
{
- // Nur die Table Range-Variable darf hier vorkommen:
-// if (!(pColumnRef->getChild(0)->getTokenValue() == aTableRange))
-// {
-// aStatus.Set(SQL_STAT_ERROR,
-// String::CreateFromAscii("S1000"),
-// aStatus.CreateErrorMessage(String(SdbResId(STR_STAT_INVALID_RANGE_VAR))),
-// 0, String() );
- // return;
- // }
pColumnRef->getChild(2)->parseNodeToStr( aColumnName, getOwnConnection(), NULL, sal_False, sal_False );
}
else
{
- // aStatus.SetStatementTooComplex();
throw SQLException();
}
Reference<XColumnLocate> xColLocate(m_xColNames,UNO_QUERY);
if(!xColLocate.is())
return;
- // Alles geprueft und wir haben den Namen der Column.
- // Die wievielte Column ist das?
- try
- {
- m_aOrderbyColumnNumber.push_back(xColLocate->findColumn(aColumnName));
- }
- catch(Exception)
- {
- ::rtl::Reference<OSQLColumns> aSelectColumns = m_aSQLIterator.getSelectColumns();
- ::comphelper::UStringMixEqual aCase;
- OSQLColumns::Vector::const_iterator aFind = ::connectivity::find(aSelectColumns->get().begin(),aSelectColumns->get().end(),aColumnName,aCase);
- if ( aFind == aSelectColumns->get().end() )
- throw SQLException();
- m_aOrderbyColumnNumber.push_back((aFind - aSelectColumns->get().begin()) + 1);
- }
+ // Everything tested and we have the name of the Column.
+ // What number is the Column?
+ ::rtl::Reference<OSQLColumns> aSelectColumns = m_aSQLIterator.getSelectColumns();
+ ::comphelper::UStringMixEqual aCase;
+ OSQLColumns::Vector::const_iterator aFind = ::connectivity::find(aSelectColumns->get().begin(),aSelectColumns->get().end(),aColumnName,aCase);
+ if ( aFind == aSelectColumns->get().end() )
+ throw SQLException();
+ m_aOrderbyColumnNumber.push_back((aFind - aSelectColumns->get().begin()) + 1);
// Ascending or Descending?
m_aOrderbyAscending.push_back((SQL_ISTOKEN(pAscendingDescending,DESC)) ? SQL_DESC : SQL_ASC);
@@ -579,7 +562,7 @@ void OStatement_Base::initializeResultSet(OResultSet* _pResult)
_pResult->setSelectRow(m_aSelectRow);
m_pSQLAnalyzer->bindSelectRow(m_aRow);
- m_pEvaluationKeySet = m_pSQLAnalyzer->bindEvaluationRow(m_aEvaluateRow); // Werte im Code des Compilers setzen
+ m_pEvaluationKeySet = m_pSQLAnalyzer->bindEvaluationRow(m_aEvaluateRow); // Set values in the code of the Compiler
_pResult->setEvaluationKeySet(m_pEvaluationKeySet);
}
// -----------------------------------------------------------------------------
@@ -593,11 +576,11 @@ void OStatement_Base::GetAssignValues()
}
if (SQL_ISRULE(m_pParseTree,select_statement))
- // Keine zu setzenden Werte bei SELECT
+ // no values have to be set for SELECT
return;
else if (SQL_ISRULE(m_pParseTree,insert_statement))
{
- // Row fuer die zu setzenden Werte anlegen (Referenz durch new)
+ // Create Row for the values to be set (Reference trough new)
if(m_aAssignValues.is())
m_aAssignValues->get().clear();
sal_Int32 nCount = Reference<XIndexAccess>(m_xColNames,UNO_QUERY)->getCount();
@@ -607,7 +590,7 @@ void OStatement_Base::GetAssignValues()
m_aParameterIndexes.resize(nCount+1,SQL_NO_PARAMETER);
- // Liste der Columns-Namen, die in der column_commalist vorkommen (mit ; getrennt):
+ // List of Column-Names, that exist in the column_commalist (seperated by ;):
::std::vector<String> aColumnNameList;
OSL_ENSURE(m_pParseTree->count() >= 4,"OResultSet: Fehler im Parse Tree");
@@ -632,7 +615,7 @@ void OStatement_Base::GetAssignValues()
OSL_ENSURE(SQL_ISRULE(pColumnCommalist,column_commalist),"OResultSet: Fehler im Parse Tree");
OSL_ENSURE(pColumnCommalist->count() > 0,"OResultSet: Fehler im Parse Tree");
- // Alle Columns in der column_commalist ...
+ // All Columns in the column_commalist ...
for (sal_uInt32 i = 0; i < pColumnCommalist->count(); i++)
{
OSQLParseNode * pCol = pColumnCommalist->getChild(i);
@@ -643,19 +626,19 @@ void OStatement_Base::GetAssignValues()
if ( aColumnNameList.empty() )
throwFunctionSequenceException(*this);
- // Werte ...
+ // Values ...
OSQLParseNode * pValuesOrQuerySpec = m_pParseTree->getChild(4);
OSL_ENSURE(pValuesOrQuerySpec != NULL,"OResultSet: pValuesOrQuerySpec darf nicht NULL sein!");
OSL_ENSURE(SQL_ISRULE(pValuesOrQuerySpec,values_or_query_spec),"OResultSet: ! SQL_ISRULE(pValuesOrQuerySpec,values_or_query_spec)");
OSL_ENSURE(pValuesOrQuerySpec->count() > 0,"OResultSet: pValuesOrQuerySpec->count() <= 0");
- // nur "VALUES" ist erlaubt ...
+ // just "VALUES" is allowed ...
if (! SQL_ISTOKEN(pValuesOrQuerySpec->getChild(0),VALUES))
throwFunctionSequenceException(*this);
OSL_ENSURE(pValuesOrQuerySpec->count() == 4,"OResultSet: pValuesOrQuerySpec->count() != 4");
- // Liste von Werten
+ // List of values
OSQLParseNode * pInsertAtomCommalist = pValuesOrQuerySpec->getChild(2);
OSL_ENSURE(pInsertAtomCommalist != NULL,"OResultSet: pInsertAtomCommalist darf nicht NULL sein!");
OSL_ENSURE(pInsertAtomCommalist->count() > 0,"OResultSet: pInsertAtomCommalist <= 0");
@@ -669,7 +652,7 @@ void OStatement_Base::GetAssignValues()
OSL_ENSURE(pRow_Value_Const != NULL,"OResultSet: pRow_Value_Const darf nicht NULL sein!");
if(SQL_ISRULE(pRow_Value_Const,parameter))
{
- ParseAssignValues(aColumnNameList,pRow_Value_Const,nIndex++); // kann nur ein Columnname vorhanden sein pro Schleife
+ ParseAssignValues(aColumnNameList,pRow_Value_Const,nIndex++); // only one Columnname allowed per loop
}
else if(pRow_Value_Const->isToken())
ParseAssignValues(aColumnNameList,pRow_Value_Const,static_cast<xub_StrLen>(i));
@@ -703,7 +686,7 @@ void OStatement_Base::GetAssignValues()
OSL_ENSURE(SQL_ISRULE(pAssignmentCommalist,assignment_commalist),"OResultSet: Fehler im Parse Tree");
OSL_ENSURE(pAssignmentCommalist->count() > 0,"OResultSet: pAssignmentCommalist->count() <= 0");
- // Alle Zuweisungen (Kommaliste) bearbeiten ...
+ // work on all assignments (commalist) ...
::std::vector< String> aList(1);
for (sal_uInt32 i = 0; i < pAssignmentCommalist->count(); i++)
{
@@ -720,7 +703,6 @@ void OStatement_Base::GetAssignValues()
OSL_ENSURE(pComp->getNodeType() == SQL_NODE_EQUAL,"OResultSet: pComp->getNodeType() != SQL_NODE_COMPARISON");
if (pComp->getTokenValue().toChar() != '=')
{
- // aStatus.SetInvalidStatement();
throwFunctionSequenceException(*this);
}
@@ -745,61 +727,54 @@ void OStatement_Base::ParseAssignValues(const ::std::vector< String>& aColumnNam
pRow_Value_Constructor_Elem->getNodeType() == SQL_NODE_INTNUM ||
pRow_Value_Constructor_Elem->getNodeType() == SQL_NODE_APPROXNUM)
{
- // Wert setzen:
+ // set value:
SetAssignValue(aColumnName, pRow_Value_Constructor_Elem->getTokenValue());
}
else if (SQL_ISTOKEN(pRow_Value_Constructor_Elem,NULL))
{
- // NULL setzen
- SetAssignValue(aColumnName, String(), TRUE);
+ // set NULL
+ SetAssignValue(aColumnName, String(), sal_True);
}
else if (SQL_ISRULE(pRow_Value_Constructor_Elem,parameter))
parseParamterElem(aColumnName,pRow_Value_Constructor_Elem);
else
{
- // aStatus.SetStatementTooComplex();
throwFunctionSequenceException(*this);
}
}
//------------------------------------------------------------------
void OStatement_Base::SetAssignValue(const String& aColumnName,
const String& aValue,
- BOOL bSetNull,
- UINT32 nParameter)
+ sal_Bool bSetNull,
+ sal_uInt32 nParameter)
{
RTL_LOGFILE_CONTEXT_AUTHOR( aLogger, "file", "Ocke.Janssen@sun.com", "OStatement_Base::SetAssignValue" );
Reference<XPropertySet> xCol;
m_xColNames->getByName(aColumnName) >>= xCol;
sal_Int32 nId = Reference<XColumnLocate>(m_xColNames,UNO_QUERY)->findColumn(aColumnName);
- // Kommt diese Column ueberhaupt in der Datei vor?
+ // does this column actually exist in the file?
if (!xCol.is())
{
- // Diese Column gibt es nicht!
-// aStatus.Set(SQL_STAT_ERROR,
-// String::CreateFromAscii("S0022"),
-// aStatus.CreateErrorMessage(String(SdbResId(STR_STAT_COLUMN_NOT_FOUND))),
-// 0, String() );
+ // This Column doesn't exist!
throwFunctionSequenceException(*this);
}
- // Value an die Row mit den zuzuweisenden Werten binden:
- // const ODbVariantRef& xValue = (*aAssignValues)[pFileColumn->GetId()];
- // Alles geprueft und wir haben den Namen der Column.
- // Jetzt eine Value allozieren, den Wert setzen und die Value an die Row binden.
+ // Everything tested and we have the names of the Column.
+ // Now allocate one Value, set the value and tie the value to the Row.
if (bSetNull)
(m_aAssignValues->get())[nId]->setNull();
else
{
switch (::comphelper::getINT32(xCol->getPropertyValue(OMetaConnection::getPropMap().getNameByIndex(PROPERTY_ID_TYPE))))
{
- // Kriterium je nach Typ als String oder double in die Variable packen ...
+ // put criteria depending on the Type as String or double in the variable
case DataType::CHAR:
case DataType::VARCHAR:
case DataType::LONGVARCHAR:
*(m_aAssignValues->get())[nId] = ORowSetValue(aValue);
- // Zeichensatz ist bereits konvertiert, da ja das gesamte Statement konvertiert wurde
+ //Characterset is already converted, since the entire statement was converted
break;
case DataType::BIT:
@@ -810,7 +785,6 @@ void OStatement_Base::SetAssignValue(const String& aColumnName,
*(m_aAssignValues->get())[nId] = sal_False;
else
{
- // aStatus.Set(SQL_STAT_ERROR); // nyi: genauer!
throwFunctionSequenceException(*this);
}
}
@@ -826,24 +800,15 @@ void OStatement_Base::SetAssignValue(const String& aColumnName,
case DataType::TIME:
case DataType::TIMESTAMP:
{
- *(m_aAssignValues->get())[nId] = ORowSetValue(aValue); // .ToDouble
-// try
-// {
-// double n = xValue->toDouble();
-// xValue->setDouble(n);
-// }
-// catch ( ... )
-// {
-// aStatus.SetDriverNotCapableError();
-// }
+ *(m_aAssignValues->get())[nId] = ORowSetValue(aValue);
} break;
default:
throwFunctionSequenceException(*this);
}
}
- // Parameter-Nr. merken (als User Data)
- // SQL_NO_PARAMETER = kein Parameter.
+ // save Parameter-No. (as User Data)
+ // SQL_NO_PARAMETER = no Parameter.
m_aAssignValues->setParameterIndex(nId,nParameter);
if(nParameter != SQL_NO_PARAMETER)
m_aParameterIndexes[nParameter] = nId;
diff --git a/connectivity/source/drivers/file/FTable.cxx b/connectivity/source/drivers/file/FTable.cxx
index edcf565aa9..892a57ca35 100644
--- a/connectivity/source/drivers/file/FTable.cxx
+++ b/connectivity/source/drivers/file/FTable.cxx
@@ -51,7 +51,7 @@ using namespace ::com::sun::star::container;
DBG_NAME( file_OFileTable )
OFileTable::OFileTable(sdbcx::OCollection* _pTables,OConnection* _pConnection)
-: OTable_TYPEDEF(_pTables,_pConnection->getMetaData()->storesMixedCaseQuotedIdentifiers())
+: OTable_TYPEDEF(_pTables,_pConnection->getMetaData()->supportsMixedCaseQuotedIdentifiers())
,m_pConnection(_pConnection)
,m_pFileStream(NULL)
,m_nFilePos(0)
@@ -73,7 +73,7 @@ OFileTable::OFileTable( sdbcx::OCollection* _pTables,OConnection* _pConnection,
const ::rtl::OUString& _Description ,
const ::rtl::OUString& _SchemaName,
const ::rtl::OUString& _CatalogName
- ) : OTable_TYPEDEF(_pTables,_pConnection->getMetaData()->storesMixedCaseQuotedIdentifiers(),
+ ) : OTable_TYPEDEF(_pTables,_pConnection->getMetaData()->supportsMixedCaseQuotedIdentifiers(),
_Name,
_Type,
_Description,
@@ -103,7 +103,7 @@ void OFileTable::refreshColumns()
RTL_LOGFILE_CONTEXT_AUTHOR( aLogger, "file", "Ocke.Janssen@sun.com", "OFileTable::refreshColumns" );
TStringVector aVector;
Reference< XResultSet > xResult = m_pConnection->getMetaData()->getColumns(Any(),
- m_SchemaName,m_Name,::rtl::OUString::createFromAscii("%"));
+ m_SchemaName,m_Name,::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("%")));
if(xResult.is())
{
@@ -205,19 +205,19 @@ void SAL_CALL OFileTable::release() throw()
OTable_TYPEDEF::release();
}
// -----------------------------------------------------------------------------
-BOOL OFileTable::InsertRow(OValueRefVector& /*rRow*/, BOOL /*bFlush*/,const ::com::sun::star::uno::Reference< ::com::sun::star::container::XIndexAccess>& /*_xCols*/)
+sal_Bool OFileTable::InsertRow(OValueRefVector& /*rRow*/, sal_Bool /*bFlush*/,const ::com::sun::star::uno::Reference< ::com::sun::star::container::XIndexAccess>& /*_xCols*/)
{
RTL_LOGFILE_CONTEXT_AUTHOR( aLogger, "file", "Ocke.Janssen@sun.com", "OFileTable::InsertRow" );
return sal_False;
}
// -----------------------------------------------------------------------------
-BOOL OFileTable::DeleteRow(const OSQLColumns& /*_rCols*/)
+sal_Bool OFileTable::DeleteRow(const OSQLColumns& /*_rCols*/)
{
RTL_LOGFILE_CONTEXT_AUTHOR( aLogger, "file", "Ocke.Janssen@sun.com", "OFileTable::DeleteRow" );
return sal_False;
}
// -----------------------------------------------------------------------------
-BOOL OFileTable::UpdateRow(OValueRefVector& /*rRow*/, OValueRefRow& /*pOrgRow*/,const ::com::sun::star::uno::Reference< ::com::sun::star::container::XIndexAccess>& /*_xCols*/)
+sal_Bool OFileTable::UpdateRow(OValueRefVector& /*rRow*/, OValueRefRow& /*pOrgRow*/,const ::com::sun::star::uno::Reference< ::com::sun::star::container::XIndexAccess>& /*_xCols*/)
{
RTL_LOGFILE_CONTEXT_AUTHOR( aLogger, "file", "Ocke.Janssen@sun.com", "OFileTable::UpdateRow" );
return sal_False;
@@ -226,13 +226,13 @@ BOOL OFileTable::UpdateRow(OValueRefVector& /*rRow*/, OValueRefRow& /*pOrgRow*/,
void OFileTable::addColumn(const ::com::sun::star::uno::Reference< ::com::sun::star::beans::XPropertySet>& /*descriptor*/)
{
RTL_LOGFILE_CONTEXT_AUTHOR( aLogger, "file", "Ocke.Janssen@sun.com", "OFileTable::addColumn" );
- OSL_ENSURE( false, "OFileTable::addColumn: not implemented!" );
+ OSL_FAIL( "OFileTable::addColumn: not implemented!" );
}
// -----------------------------------------------------------------------------
void OFileTable::dropColumn(sal_Int32 /*_nPos*/)
{
RTL_LOGFILE_CONTEXT_AUTHOR( aLogger, "file", "Ocke.Janssen@sun.com", "OFileTable::dropColumn" );
- OSL_ENSURE( false, "OFileTable::addColumn: not implemented!" );
+ OSL_FAIL( "OFileTable::addColumn: not implemented!" );
}
// -----------------------------------------------------------------------------
diff --git a/connectivity/source/drivers/file/fanalyzer.cxx b/connectivity/source/drivers/file/fanalyzer.cxx
index 773b24b277..cbff002d24 100644
--- a/connectivity/source/drivers/file/fanalyzer.cxx
+++ b/connectivity/source/drivers/file/fanalyzer.cxx
@@ -104,7 +104,26 @@ void OSQLAnalyzer::start(OSQLParseNode* pSQLParseNode)
m_pConnection->throwGenericSQLException(STR_QUERY_COMPLEX_COUNT,NULL);
}
else
- m_aSelectionEvaluations.push_back( TPredicates() );
+ {
+ if ( SQL_ISPUNCTUATION( pColumnRef, "*" )
+ || ( SQL_ISRULE( pColumnRef, column_ref )
+ && ( pColumnRef->count() == 3 )
+ && ( pColumnRef->getChild(0)->getNodeType() == SQL_NODE_NAME )
+ && SQL_ISPUNCTUATION( pColumnRef->getChild(1), "." )
+ && SQL_ISRULE( pColumnRef->getChild(2), column_val )
+ && SQL_ISPUNCTUATION( pColumnRef->getChild(2)->getChild(0), "*" )
+ )
+ )
+ {
+ // push one element for each column of our table
+ const Reference< XNameAccess > xColumnNames( m_aCompiler->getOrigColumns() );
+ const Sequence< ::rtl::OUString > aColumnNames( xColumnNames->getElementNames() );
+ for ( sal_Int32 j=0; j<aColumnNames.getLength(); ++j )
+ m_aSelectionEvaluations.push_back( TPredicates() );
+ }
+ else
+ m_aSelectionEvaluations.push_back( TPredicates() );
+ }
}
}
}
@@ -115,10 +134,9 @@ void OSQLAnalyzer::start(OSQLParseNode* pSQLParseNode)
//------------------------------------------------------------------
void OSQLAnalyzer::bindRow(OCodeList& rCodeList,const OValueRefRow& _pRow,OEvaluateSetList& _rEvaluateSetList)
{
- // Zaehlen, wieviele Kriterien
- // wenn nur ein Kriterium, und das entsprechende Feld ist indiziert
- // dann wird der Index verwendet
-
+ // count criteria
+ // if only one criterion, and the corresponding field is indexed
+ // then the index will be used
OEvaluateSet* pEvaluateSet = NULL;
for (OCodeList::iterator aIter = rCodeList.begin(); aIter != rCodeList.end(); ++aIter)
@@ -166,10 +184,10 @@ void OSQLAnalyzer::bindSelectRow(const OValueRefRow& _pRow)
::std::vector<sal_Int32>* pKeySet = NULL;
OEvaluateSet* pEvaluateSet = NULL;
- // Keyset erzeugen mit kleinster Liste
+ // create Keyset with smallest list
if(!aEvaluateSetList.empty())
{
- // welche Liste hat den kleinsten count ?
+ // which list has the smallest count?
OEvaluateSetList::iterator i = aEvaluateSetList.begin();
pEvaluateSet = *(i);
for(++i; i != aEvaluateSetList.end();++i)
@@ -188,7 +206,7 @@ void OSQLAnalyzer::bindSelectRow(const OValueRefRow& _pRow)
(*pKeySet)[k] = j->second;
}
- // alle loeschen
+ // delete all
for(i = aEvaluateSetList.begin(); i != aEvaluateSetList.end();++i)
delete (*i);
}
@@ -203,20 +221,20 @@ void OSQLAnalyzer::describeParam(::rtl::Reference<OSQLColumns> rParameterColumns
OCodeStack aCodeStack;
if (!rCodeList.size())
- return; // kein Praedikat
+ return; // no predicate
if (!rParameterColumns->get().size())
- return; // keine Parameter
+ return; // no parameters
- // Anlegen von Columns, die eine genauere Beschreibung fuer die enthalten
+ // Create columns, that have a more precise description for the included
::rtl::Reference<OSQLColumns> aNewParamColumns = new OSQLColumns(*rParameterColumns);
- // Anlegen einer Testzeile, wird benoetigt um die Parameter zu beschreiben
+ // Create a Test-row, is needed to describe the parameters
OValueRefRow aParameterRow = new OValueRefVector(rParameterColumns->get().size());
bindParameterRow(aParameterRow);
OValueRefRow aTestRow = new OValueRefVector(Reference< XIndexAccess>(m_aCompiler->getOrigColumns(),UNO_QUERY)->getCount());
- delete bindEvaluationRow(aTestRow); // Binden der Attribute an die Values
+ delete bindEvaluationRow(aTestRow); // Bind the attributes to the values
for(OCodeList::iterator aIter = rCodeList.begin(); aIter != rCodeList.end(); ++aIter)
{
@@ -226,10 +244,10 @@ void OSQLAnalyzer::describeParam(::rtl::Reference<OSQLColumns> rParameterColumns
aCodeStack.push(pOperand);
else
{
- if (pOperator->getRequestedOperands() == 2) // bei zwei Operatoren ist es moeglich
- { // einen Parameter weiter zu spezifizieren
+ if (pOperator->getRequestedOperands() == 2) // with two Operands it is possible
+ { // to specify one parameter better
OOperandParam *pParam = PTR_CAST(OOperandParam,aCodeStack.top());
- if (pParam) // Anpassen des ParameterTyps, wenn der linke Operand ein Attribut ist
+ if (pParam) // adjust the Parameter-types, if the left Operand is an attribute
{
OOperandAttr *pLeft = PTR_CAST(OOperandAttr,*(rCodeList.end() - 2));
if (pLeft)
@@ -252,10 +270,9 @@ void OSQLAnalyzer::describeParam(::rtl::Reference<OSQLColumns> rParameterColumns
if (IS_TYPE(OOperandResult,pOperand))
delete pOperand;
else
- OSL_ENSURE(0,"Illegal here!");
+ OSL_FAIL("Illegal here!");
rParameterColumns = aNewParamColumns;
- // m_aCompiler->setParameterColumns(rParameterColumns);
}
// -----------------------------------------------------------------------------
@@ -266,12 +283,12 @@ OOperandAttr* OSQLAnalyzer::createOperandAttr(sal_Int32 _nPos,
return new OOperandAttr(static_cast<sal_uInt16>(_nPos),_xCol);
}
// -----------------------------------------------------------------------------
-BOOL OSQLAnalyzer::hasRestriction() const
+sal_Bool OSQLAnalyzer::hasRestriction() const
{
return m_aCompiler->hasCode();
}
// -----------------------------------------------------------------------------
-BOOL OSQLAnalyzer::hasFunctions() const
+sal_Bool OSQLAnalyzer::hasFunctions() const
{
if ( m_bSelectionFirstTime )
{
@@ -292,11 +309,12 @@ void OSQLAnalyzer::setSelectionEvaluationResult(OValueRefRow& _pRow,const ::std:
{
if ( aIter->second.is() )
{
- sal_Int32 map = nPos;
// the first column (index 0) is for convenience only. The first real select column is no 1.
- if ( (nPos > 0) && (nPos < static_cast<sal_Int32>(_rColumnMapping.size())) )
+ sal_Int32 map = nPos;
+ if ( nPos < static_cast< sal_Int32 >( _rColumnMapping.size() ) )
map = _rColumnMapping[nPos];
- aIter->second->startSelection((_pRow->get())[map]);
+ if ( map > 0 )
+ aIter->second->startSelection( (_pRow->get())[map] );
}
}
}
diff --git a/connectivity/source/drivers/file/fcode.cxx b/connectivity/source/drivers/file/fcode.cxx
index bb48041a30..ad8662c7d0 100644
--- a/connectivity/source/drivers/file/fcode.cxx
+++ b/connectivity/source/drivers/file/fcode.cxx
@@ -43,13 +43,8 @@
using namespace ::comphelper;
using namespace connectivity;
using namespace connectivity::file;
-//using namespace ::com::sun::star::uno;
-//using namespace ::com::sun::star::lang;
using namespace ::com::sun::star::sdbc;
using namespace ::com::sun::star::sdb;
-//using namespace ::com::sun::star::container;
-//using namespace ::com::sun::star::beans;
-//using namespace ::com::sun::star::sdbcx;
TYPEINIT0(OCode);
TYPEINIT1(OOperand, OCode);
@@ -135,7 +130,7 @@ sal_Bool OOperandAttr::isIndexed() const
}
//------------------------------------------------------------------
OOperandParam::OOperandParam(OSQLParseNode* pNode, sal_Int32 _nPos)
- : OOperandRow(static_cast<sal_uInt16>(_nPos), DataType::VARCHAR) // Standard-Typ
+ : OOperandRow(static_cast<sal_uInt16>(_nPos), DataType::VARCHAR) // Standard-Type
{
OSL_ENSURE(SQL_ISRULE(pNode,parameter),"Argument ist kein Parameter");
OSL_ENSURE(pNode->count() > 0,"Fehler im Parse Tree");
@@ -148,20 +143,18 @@ OOperandParam::OOperandParam(OSQLParseNode* pNode, sal_Int32 _nPos)
aParameterName = pNode->getChild(1)->getTokenValue();
else
{
- OSL_ASSERT("Fehler im Parse Tree");
+ OSL_FAIL("Fehler im Parse Tree");
}
- // Parameter-Column aufsetzen mit defult typ, kann zu einem spaeteren Zeitpunkt ueber DescribeParameter
- // genauer spezifiziert werden
+ // set up Parameter-Column with default type, can be specified more precisely later using Describe-Parameter
- // Identitaet merken (hier eigentlich nicht erforderlich, aber aus
- // Symmetriegruenden ...)
+ // save Identity (not escpecially necessary here, just for the sake of symmetry)
// todo
// OColumn* pColumn = new OFILEColumn(aParameterName,eDBType,255,0,SQL_FLAGS_NULLALLOWED);
// rParamColumns->AddColumn(pColumn);
- // der Wert wird erst kurz vor der Auswertung gesetzt
+ // the value will be set just before the evaluation
}
@@ -207,7 +200,7 @@ OOperandConst::OOperandConst(const OSQLParseNode& rColumnRef, const rtl::OUStrin
}
else
{
- OSL_ASSERT("Parse Error");
+ OSL_FAIL("Parse Error");
}
m_aValue.setBound(sal_True);
}
@@ -348,7 +341,7 @@ sal_Bool OOp_COMPARE::operate(const OOperand* pLeft, const OOperand* pRight) con
sal_Bool bResult = sal_False;
sal_Int32 eDBType = pLeft->getDBType();
- // Vergleich (je nach Datentyp):
+ // Comparison (depending on Data-type):
switch (eDBType)
{
case DataType::CHAR:
@@ -356,7 +349,7 @@ sal_Bool OOp_COMPARE::operate(const OOperand* pLeft, const OOperand* pRight) con
case DataType::LONGVARCHAR:
{
rtl::OUString sLH = aLH, sRH = aRH;
- INT32 nRes = rtl_ustr_compareIgnoreAsciiCase_WithLength
+ sal_Int32 nRes = rtl_ustr_compareIgnoreAsciiCase_WithLength
(
sLH.pData->buffer,
sLH.pData->length,
diff --git a/connectivity/source/drivers/file/fcomp.cxx b/connectivity/source/drivers/file/fcomp.cxx
index 9e05f9a91f..d054360d0f 100644
--- a/connectivity/source/drivers/file/fcomp.cxx
+++ b/connectivity/source/drivers/file/fcomp.cxx
@@ -58,10 +58,9 @@ using namespace ::com::sun::star::util;
DBG_NAME(OPredicateCompiler)
//------------------------------------------------------------------
OPredicateCompiler::OPredicateCompiler(OSQLAnalyzer* pAnalyzer)//,OCursor& rCurs)
- // : m_rCursor(rCurs)
: m_pAnalyzer(pAnalyzer)
, m_nParamCounter(0)
- , m_bORCondition(FALSE)
+ , m_bORCondition(sal_False)
{
DBG_CTOR(OPredicateCompiler,NULL);
}
@@ -79,17 +78,15 @@ void OPredicateCompiler::dispose()
m_orgColumns = NULL;
m_xIndexes.clear();
}
-//------------------------------------------------------------------
-// inline OCursor& OPredicateCompiler::Cursor() const {return m_rCursor;}
-//------------------------------------------------------------------
+
void OPredicateCompiler::start(OSQLParseNode* pSQLParseNode)
{
if (!pSQLParseNode)
return;
m_nParamCounter = 0;
- // Parse Tree analysieren (je nach Statement-Typ)
- // und Zeiger auf WHERE-Klausel setzen:
+ // analyse Parse Tree (depending on Statement-type)
+ // and set pointer on WHERE-clause:
OSQLParseNode * pWhereClause = NULL;
OSQLParseNode * pOrderbyClause = NULL;
@@ -119,6 +116,7 @@ void OPredicateCompiler::start(OSQLParseNode* pSQLParseNode)
pWhereClause = pTableExp->getChild(1);
pOrderbyClause = pTableExp->getChild(4);
+ (void)pOrderbyClause;
}
else if (SQL_ISRULE(pSQLParseNode,update_statement_searched))
{
@@ -131,12 +129,12 @@ void OPredicateCompiler::start(OSQLParseNode* pSQLParseNode)
pWhereClause = pSQLParseNode->getChild(3);
}
else
- // Anderes Statement. Keine Selektionskriterien.
+ // Other Statement. no selection-criteria
return;
if (SQL_ISRULE(pWhereClause,where_clause))
{
- // Wenn es aber eine where_clause ist, dann darf sie nicht leer sein:
+ // a where-clause is not allowed to be empty:
DBG_ASSERT(pWhereClause->count() == 2,"OFILECursor: Fehler im Parse Tree");
OSQLParseNode * pComparisonPredicate = pWhereClause->getChild(1);
@@ -146,8 +144,7 @@ void OPredicateCompiler::start(OSQLParseNode* pSQLParseNode)
}
else
{
- // Die Where Clause ist meistens optional, d. h. es koennte sich auch
- // um "optional_where_clause" handeln.
+ // The where-clause is optionally in the majority of cases, i.e. it might be an "optional-where-clause".
DBG_ASSERT(SQL_ISRULE(pWhereClause,opt_where_clause),"OPredicateCompiler: Fehler im Parse Tree");
}
}
@@ -156,18 +153,18 @@ void OPredicateCompiler::start(OSQLParseNode* pSQLParseNode)
OOperand* OPredicateCompiler::execute(OSQLParseNode* pPredicateNode)
{
OOperand* pOperand = NULL;
- if (pPredicateNode->count() == 3 && // Ausdruck is geklammert
+ if (pPredicateNode->count() == 3 && // Expression is bracketed
SQL_ISPUNCTUATION(pPredicateNode->getChild(0),"(") &&
SQL_ISPUNCTUATION(pPredicateNode->getChild(2),")"))
{
execute(pPredicateNode->getChild(1));
}
else if ((SQL_ISRULE(pPredicateNode,search_condition) || (SQL_ISRULE(pPredicateNode,boolean_term)))
- && // AND/OR-Verknuepfung:
+ && // AND/OR-linkage:
pPredicateNode->count() == 3)
{
- execute(pPredicateNode->getChild(0)); // Bearbeiten des linken Zweigs
- execute(pPredicateNode->getChild(2)); // Bearbeiten des rechten Zweigs
+ execute(pPredicateNode->getChild(0)); // process the left branch
+ execute(pPredicateNode->getChild(2)); // process the right branch
if (SQL_ISTOKEN(pPredicateNode->getChild(1),OR)) // OR-Operator
{
@@ -178,7 +175,7 @@ OOperand* OPredicateCompiler::execute(OSQLParseNode* pPredicateNode)
m_aCodeList.push_back(new OOp_AND());
else
{
- DBG_ERROR("OPredicateCompiler: Fehler im Parse Tree");
+ OSL_FAIL("OPredicateCompiler: Fehler im Parse Tree");
}
}
else if (SQL_ISRULE(pPredicateNode,boolean_factor))
@@ -204,8 +201,8 @@ OOperand* OPredicateCompiler::execute(OSQLParseNode* pPredicateNode)
}
else if(SQL_ISRULE(pPredicateNode,num_value_exp))
{
- execute(pPredicateNode->getChild(0)); // Bearbeiten des linken Zweigs
- execute(pPredicateNode->getChild(2)); // Bearbeiten des rechten Zweigs
+ execute(pPredicateNode->getChild(0)); // process the left branch
+ execute(pPredicateNode->getChild(2)); // process the right branch
if (SQL_ISPUNCTUATION(pPredicateNode->getChild(1),"+"))
{
m_aCodeList.push_back(new OOp_ADD());
@@ -214,13 +211,13 @@ OOperand* OPredicateCompiler::execute(OSQLParseNode* pPredicateNode)
m_aCodeList.push_back(new OOp_SUB());
else
{
- DBG_ERROR("OPredicateCompiler: Fehler im Parse Tree num_value_exp");
+ OSL_FAIL("OPredicateCompiler: Fehler im Parse Tree num_value_exp");
}
}
else if(SQL_ISRULE(pPredicateNode,term))
{
- execute(pPredicateNode->getChild(0)); // Bearbeiten des linken Zweigs
- execute(pPredicateNode->getChild(2)); // Bearbeiten des rechten Zweigs
+ execute(pPredicateNode->getChild(0)); // process the left branch
+ execute(pPredicateNode->getChild(2)); // process the right branch
if (SQL_ISPUNCTUATION(pPredicateNode->getChild(1),"*"))
{
m_aCodeList.push_back(new OOp_MUL());
@@ -229,11 +226,11 @@ OOperand* OPredicateCompiler::execute(OSQLParseNode* pPredicateNode)
m_aCodeList.push_back(new OOp_DIV());
else
{
- DBG_ERROR("OPredicateCompiler: Fehler im Parse Tree num_value_exp");
+ OSL_FAIL("OPredicateCompiler: Fehler im Parse Tree num_value_exp");
}
}
else
- pOperand = execute_Operand(pPredicateNode); // jetzt werden nur einfache Operanden verarbeitet
+ pOperand = execute_Operand(pPredicateNode); // now only simple operands will be processed
return pOperand;
}
@@ -277,7 +274,7 @@ OOperand* OPredicateCompiler::execute_COMPARE(OSQLParseNode* pPredicateNode) th
else if (pPrec->getNodeType() == SQL_NODE_GREAT)
ePredicateType = SQLFilterOperator::GREATER;
else
- OSL_ENSURE( false, "OPredicateCompiler::execute_COMPARE: unexpected node type!" );
+ OSL_FAIL( "OPredicateCompiler::execute_COMPARE: unexpected node type!" );
execute(pPredicateNode->getChild(0));
execute(pPredicateNode->getChild(2));
@@ -464,7 +461,7 @@ OOperand* OPredicateCompiler::execute_Operand(OSQLParseNode* pPredicateNode) thr
pOperand = m_pAnalyzer->createOperandAttr(Reference< XColumnLocate>(m_orgColumns,UNO_QUERY)->findColumn(aColumnName),xCol,m_xIndexes);
}
else
- {// Column existiert nicht im Resultset
+ {// Column doesn't exist in the Result-set
const ::rtl::OUString sError( m_pAnalyzer->getConnection()->getResources().getResourceStringWithSubstitution(
STR_INVALID_COLUMNNAME,
"$columnname$", aColumnName
@@ -474,7 +471,7 @@ OOperand* OPredicateCompiler::execute_Operand(OSQLParseNode* pPredicateNode) thr
}
catch(Exception &)
{
- OSL_ENSURE(0,"OPredicateCompiler::execute_Operand Exception");
+ OSL_FAIL("OPredicateCompiler::execute_Operand Exception");
}
}
else if (SQL_ISRULE(pPredicateNode,parameter))
@@ -494,7 +491,7 @@ OOperand* OPredicateCompiler::execute_Operand(OSQLParseNode* pPredicateNode) thr
else if((pPredicateNode->count() == 2) &&
(SQL_ISPUNCTUATION(pPredicateNode->getChild(0),"+") || SQL_ISPUNCTUATION(pPredicateNode->getChild(0),"-")) &&
pPredicateNode->getChild(1)->getNodeType() == SQL_NODE_INTNUM)
- { // falls -1 bzw. +1 vorhanden ist
+ { // if -1 or +1 is there
::rtl::OUString aValue(pPredicateNode->getChild(0)->getTokenValue());
aValue += pPredicateNode->getChild(1)->getTokenValue();
pOperand = new OOperandConst(*pPredicateNode->getChild(1), aValue);
@@ -560,7 +557,7 @@ sal_Bool OPredicateInterpreter::evaluate(OCodeList& rCodeList)
OCodeList::iterator aIter = rCodeList.begin();
if (!(*aIter))
- return sal_True; // kein Praedikat
+ return sal_True; // no Predicate
for(;aIter != rCodeList.end();++aIter)
{
@@ -587,7 +584,7 @@ void OPredicateInterpreter::evaluateSelection(OCodeList& rCodeList,ORowSetValueD
{
OCodeList::iterator aIter = rCodeList.begin();
if (!(*aIter))
- return ; // kein Praedikat
+ return ; // no Predicate
for(;aIter != rCodeList.end();++aIter)
{
@@ -781,7 +778,7 @@ OOperand* OPredicateCompiler::executeFunction(OSQLParseNode* pPredicateNode) thr
pOperator = new OOp_Second();
break;
default:
- OSL_ENSURE(0,"Error in switch!");
+ OSL_FAIL("Error in switch!");
}
break;
case SQL_TOKEN_CHAR:
@@ -869,7 +866,7 @@ OOperand* OPredicateCompiler::executeFunction(OSQLParseNode* pPredicateNode) thr
pOperator = new OOp_Week();
break;
default:
- OSL_ENSURE(0,"Error in switch!");
+ OSL_FAIL("Error in switch!");
}
}
break;
diff --git a/connectivity/source/drivers/file/file.xml b/connectivity/source/drivers/file/file.xml
index b3b681c305..b3b681c305 100644..100755
--- a/connectivity/source/drivers/file/file.xml
+++ b/connectivity/source/drivers/file/file.xml
diff --git a/connectivity/source/drivers/file/makefile.mk b/connectivity/source/drivers/file/makefile.mk
index 41f061de80..41f061de80 100644..100755
--- a/connectivity/source/drivers/file/makefile.mk
+++ b/connectivity/source/drivers/file/makefile.mk
diff --git a/connectivity/source/drivers/file/quotedstring.cxx b/connectivity/source/drivers/file/quotedstring.cxx
index 5847b94e88..c71afa3d41 100644
--- a/connectivity/source/drivers/file/quotedstring.cxx
+++ b/connectivity/source/drivers/file/quotedstring.cxx
@@ -45,48 +45,48 @@ namespace connectivity
return 0;
xub_StrLen nTokCount = 1;
- BOOL bStart = TRUE; // Stehen wir auf dem ersten Zeichen im Token?
- BOOL bInString = FALSE; // Befinden wir uns INNERHALB eines (cStrDel delimited) String?
+ sal_Bool bStart = sal_True; // Are we on the first character in the Token?
+ sal_Bool bInString = sal_False; // Are we WITHIN a (cStrDel delimited) String?
- // Suche bis Stringende nach dem ersten nicht uebereinstimmenden Zeichen
+ // Search for String-end after the first not matching character
for( xub_StrLen i = 0; i < nLen; ++i )
{
const sal_Unicode cChar = m_sString.GetChar(i);
if (bStart)
{
- bStart = FALSE;
- // Erstes Zeichen ein String-Delimiter?
+ bStart = sal_False;
+ // First character a String-Delimiter?
if ( cChar == cStrDel )
{
- bInString = TRUE; // dann sind wir jetzt INNERHALB des Strings!
- continue; // dieses Zeichen ueberlesen!
+ bInString = sal_True; // then we are now WITHIN the string!
+ continue; // skip this character!
}
}
if (bInString)
{
- // Wenn jetzt das String-Delimiter-Zeichen auftritt ...
+ // when now the String-Delimiter-character occurs ...
if ( cChar == cStrDel )
{
if ((i+1 < nLen) && (m_sString.GetChar(i+1) == cStrDel))
{
- // Verdoppeltes String-Delimiter-Zeichen:
- ++i; // kein String-Ende, naechstes Zeichen ueberlesen.
+ // double String-Delimter-character:
+ ++i; // no string-end, skip next character.
}
else
{
- // String-Ende
- bInString = FALSE;
+ // String-End
+ bInString = sal_False;
}
}
} // if (bInString)
else
{
- // Stimmt das Tokenzeichen ueberein, dann erhoehe TokCount
+ // does the Token-character match, then raise TokCount
if ( cChar == cTok )
{
++nTokCount;
- bStart = TRUE;
+ bStart = sal_True;
}
}
}
@@ -103,58 +103,57 @@ namespace connectivity
const xub_StrLen nLen = m_sString.Len();
if ( nLen )
{
- BOOL bInString = (nStartPos < nLen) && (m_sString.GetChar(nStartPos) == cStrDel); // Befinden wir uns INNERHALB eines (cStrDel delimited) String?
+ sal_Bool bInString = (nStartPos < nLen) && (m_sString.GetChar(nStartPos) == cStrDel); // are we WITHIN a (cStrDel delimited) String?
- // Erstes Zeichen ein String-Delimiter?
+ // First character a String-Delimiter?
if (bInString )
- ++nStartPos; // dieses Zeichen ueberlesen!
+ ++nStartPos; // skip this character!
if ( nStartPos >= nLen )
return;
sal_Unicode* pData = _rStr.AllocBuffer( nLen - nStartPos + 1 );
const sal_Unicode* pStart = pData;
- // Suche bis Stringende nach dem ersten nicht uebereinstimmenden Zeichen
+ // Search until end of string for the first not matching character
for( xub_StrLen i = nStartPos; i < nLen; ++i )
{
const sal_Unicode cChar = m_sString.GetChar(i);
if (bInString)
{
- // Wenn jetzt das String-Delimiter-Zeichen auftritt ...
+ // when now the String-Delimiter-character occurs ...
if ( cChar == cStrDel )
{
if ((i+1 < nLen) && (m_sString.GetChar(i+1) == cStrDel))
{
- // Verdoppeltes String-Delimiter-Zeichen:
- // kein String-Ende, naechstes Zeichen ueberlesen.
+ // double String Delimiter-character
+ // no end of string, skip next character.
++i;
- *pData++ = m_sString.GetChar(i); // Zeichen gehoert zum Resultat-String
+ *pData++ = m_sString.GetChar(i); // character belongs to Result-String
}
else
{
- // String-Ende
- bInString = FALSE;
+ //end of String
+ bInString = sal_False;
*pData = 0;
}
}
else
{
- *pData++ = cChar; // Zeichen gehoert zum Resultat-String
+ *pData++ = cChar; // character belongs to Result-String
}
}
else
{
- // Stimmt das Tokenzeichen ueberein, dann erhoehe nTok
+ // does the Token-sign match, then raise nTok
if ( cChar == cTok )
{
- // Vorzeitiger Abbruch der Schleife moeglich, denn
- // wir haben, was wir wollten.
+ // premature break of loop possible, because we found what we were looking for
nStartPos = i+1;
break;
}
else
{
- *pData++ = cChar; // Zeichen gehoert zum Resultat-String
+ *pData++ = cChar; // character belongs to Result-String
}
}
} // for( xub_StrLen i = nStartPos; i < nLen; ++i )