diff options
Diffstat (limited to 'connectivity/source/drivers/writer/WDatabaseMetaData.cxx')
-rw-r--r-- | connectivity/source/drivers/writer/WDatabaseMetaData.cxx | 25 |
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 |