summaryrefslogtreecommitdiff
path: root/connectivity/source/drivers/writer/WDatabaseMetaData.cxx
diff options
context:
space:
mode:
Diffstat (limited to 'connectivity/source/drivers/writer/WDatabaseMetaData.cxx')
-rw-r--r--connectivity/source/drivers/writer/WDatabaseMetaData.cxx25
1 files changed, 13 insertions, 12 deletions
diff --git a/connectivity/source/drivers/writer/WDatabaseMetaData.cxx b/connectivity/source/drivers/writer/WDatabaseMetaData.cxx
index 2e55a46d2c6d..1eed92ddcf07 100644
--- a/connectivity/source/drivers/writer/WDatabaseMetaData.cxx
+++ b/connectivity/source/drivers/writer/WDatabaseMetaData.cxx
@@ -47,8 +47,8 @@ uno::Reference<sdbc::XResultSet> SAL_CALL OWriterDatabaseMetaData::getTables(
{
::osl::MutexGuard aGuard(m_aMutex);
- auto pResult = new ODatabaseMetaDataResultSet(ODatabaseMetaDataResultSet::eTables);
- uno::Reference<sdbc::XResultSet> xRef = pResult;
+ rtl::Reference<ODatabaseMetaDataResultSet> pResult
+ = new ODatabaseMetaDataResultSet(ODatabaseMetaDataResultSet::eTables);
// check if ORowSetValue type is given
// when no types are given then we have to return all tables e.g. TABLE
@@ -73,7 +73,7 @@ uno::Reference<sdbc::XResultSet> SAL_CALL OWriterDatabaseMetaData::getTables(
}
}
if (!bTableFound)
- return xRef;
+ return pResult;
// get the table names from the document
@@ -90,21 +90,22 @@ uno::Reference<sdbc::XResultSet> SAL_CALL OWriterDatabaseMetaData::getTables(
sal_Int32 nTableCount = aTableNames.getLength();
for (sal_Int32 nTable = 0; nTable < nTableCount; nTable++)
{
- OUString aName = aTableNames[nTable];
- if (match(tableNamePattern, aName, '\0'))
+ const OUString& rName = aTableNames[nTable];
+ if (match(tableNamePattern, rName, '\0'))
{
- ODatabaseMetaDataResultSet::ORow aRow{ nullptr, nullptr, nullptr };
- aRow.reserve(6);
- aRow.push_back(new ORowSetValueDecorator(aName));
- aRow.push_back(new ORowSetValueDecorator(aTable));
- aRow.push_back(ODatabaseMetaDataResultSet::getEmptyValue());
+ ODatabaseMetaDataResultSet::ORow aRow{ nullptr,
+ nullptr,
+ nullptr,
+ new ORowSetValueDecorator(rName),
+ new ORowSetValueDecorator(aTable),
+ ODatabaseMetaDataResultSet::getEmptyValue() };
aRows.push_back(aRow);
}
}
- pResult->setRows(aRows);
+ pResult->setRows(std::move(aRows));
- return xRef;
+ return pResult;
}
} // namespace