summaryrefslogtreecommitdiff
path: root/connectivity/source/drivers/postgresql/pq_updateableresultset.cxx
diff options
context:
space:
mode:
Diffstat (limited to 'connectivity/source/drivers/postgresql/pq_updateableresultset.cxx')
-rw-r--r--connectivity/source/drivers/postgresql/pq_updateableresultset.cxx19
1 files changed, 9 insertions, 10 deletions
diff --git a/connectivity/source/drivers/postgresql/pq_updateableresultset.cxx b/connectivity/source/drivers/postgresql/pq_updateableresultset.cxx
index d8780e76c563..49eb65cd9fbf 100644
--- a/connectivity/source/drivers/postgresql/pq_updateableresultset.cxx
+++ b/connectivity/source/drivers/postgresql/pq_updateableresultset.cxx
@@ -35,6 +35,7 @@
************************************************************************/
#include <sal/log.hxx>
+#include <rtl/ref.hxx>
#include <rtl/ustrbuf.hxx>
#include <cppuhelper/queryinterface.hxx>
@@ -88,7 +89,7 @@ css::uno::Reference< css::sdbc::XCloseable > UpdateableResultSet::createFromPGRe
PGresult *result,
const OUString &schema,
const OUString &table,
- const std::vector< OUString > &primaryKey )
+ std::vector< OUString > && primaryKey )
{
sal_Int32 columnCount = PQnfields( result );
sal_Int32 rowCount = PQntuples( result );
@@ -118,16 +119,14 @@ css::uno::Reference< css::sdbc::XCloseable > UpdateableResultSet::createFromPGRe
data[row] = aRow;
}
- UpdateableResultSet *pRS = new UpdateableResultSet(
- mutex, owner, columnNames, data, ppSettings, schema, table, primaryKey );
-
- Reference <XCloseable > ret = pRS; // give it a refcount
+ rtl::Reference<UpdateableResultSet> pRS = new UpdateableResultSet(
+ mutex, owner, std::move(columnNames), std::move(data), ppSettings, schema, table, std::move(primaryKey) );
pRS->m_meta = new ResultSetMetaData( mutex, pRS,nullptr, ppSettings, result, schema, table );
PQclear( result ); // we don't need it anymore
- return ret;
+ return pRS;
}
css::uno::Any UpdateableResultSet::queryInterface(
@@ -297,8 +296,8 @@ void UpdateableResultSet::updateRow( )
buf.append( ", " );
columns ++;
- buf.append( m_columnNames[i] );
- buf.append( " = " );
+ buf.append( m_columnNames[i]
+ + " = " );
bufferQuoteAnyConstant( buf, m_updateableField[i].value, *m_ppSettings );
// OUString val;
// m_updateableField[i].value >>= val;
@@ -343,8 +342,8 @@ void UpdateableResultSet::deleteRow( )
OUStringBuffer buf( 128 );
buf.append( "DELETE FROM " );
bufferQuoteQualifiedIdentifier( buf, m_schema, m_table, *m_ppSettings );
- buf.append( " " );
- buf.append( buildWhereClause() );
+ buf.append( " "
+ + buildWhereClause() );
stmt->executeUpdate( buf.makeStringAndClear() );