[Libreoffice-commits] core.git: 2 commits - dbaccess/source

Noel Grandin noel.grandin at collabora.co.uk
Mon Mar 5 06:29:58 UTC 2018


 dbaccess/source/core/api/RowSet.cxx            |    8 ++++----
 dbaccess/source/core/api/RowSetBase.cxx        |   10 +++-------
 dbaccess/source/core/api/RowSetBase.hxx        |    4 ++--
 dbaccess/source/core/api/RowSetCache.cxx       |    9 ++++-----
 dbaccess/source/core/api/RowSetCache.hxx       |    4 ++--
 dbaccess/source/core/api/preparedstatement.cxx |    6 ++----
 dbaccess/source/core/api/resultset.cxx         |   10 ++++------
 dbaccess/source/core/api/resultset.hxx         |    2 +-
 dbaccess/source/core/dataaccess/connection.cxx |   22 ++++++++++------------
 dbaccess/source/core/dataaccess/connection.hxx |    4 ++--
 dbaccess/source/core/dataaccess/intercept.cxx  |    8 +++-----
 dbaccess/source/core/dataaccess/intercept.hxx  |    4 ++--
 dbaccess/source/core/inc/preparedstatement.hxx |    2 +-
 13 files changed, 40 insertions(+), 53 deletions(-)

New commits:
commit 28799d303c84c7ec76c657043c7394ceec4b8416
Author: Noel Grandin <noel.grandin at collabora.co.uk>
Date:   Thu Mar 1 09:12:07 2018 +0200

    loplugin:useuniqueptr in dbaccess(2)
    
    Change-Id: I49e69d8ab5b7a9ce699a2e0e0cad7ce4c4d0b62f
    Reviewed-on: https://gerrit.libreoffice.org/50714
    Tested-by: Jenkins <ci at libreoffice.org>
    Reviewed-by: Noel Grandin <noel.grandin at collabora.co.uk>

diff --git a/dbaccess/source/core/api/RowSetCache.cxx b/dbaccess/source/core/api/RowSetCache.cxx
index 08a82c9dcb91..53b9492021f1 100644
--- a/dbaccess/source/core/api/RowSetCache.cxx
+++ b/dbaccess/source/core/api/RowSetCache.cxx
@@ -353,18 +353,17 @@ ORowSetCache::~ORowSetCache()
     if(m_pMatrix)
     {
         m_pMatrix->clear();
-        delete m_pMatrix;
+        m_pMatrix.reset();
     }
 
     if(m_pInsertMatrix)
     {
         m_pInsertMatrix->clear();
-        delete m_pInsertMatrix;
+        m_pInsertMatrix.reset();
     }
     m_xSet          = WeakReference< XResultSet>();
     m_xMetaData     = nullptr;
     m_aUpdateTable  = nullptr;
-
 }
 
 void ORowSetCache::setFetchSize(sal_Int32 _nSize)
@@ -375,11 +374,11 @@ void ORowSetCache::setFetchSize(sal_Int32 _nSize)
     m_nFetchSize = _nSize;
     if(!m_pMatrix)
     {
-        m_pMatrix = new ORowSetMatrix(_nSize);
+        m_pMatrix.reset( new ORowSetMatrix(_nSize) );
         m_aMatrixIter = m_pMatrix->end();
         m_aMatrixEnd = m_pMatrix->end();
 
-        m_pInsertMatrix = new ORowSetMatrix(1); // a little bit overkill but ??? :-)
+        m_pInsertMatrix.reset( new ORowSetMatrix(1) ); // a little bit overkill but ??? :-)
         m_aInsertRow    = m_pInsertMatrix->end();
     }
     else
diff --git a/dbaccess/source/core/api/RowSetCache.hxx b/dbaccess/source/core/api/RowSetCache.hxx
index 2a90278afd5f..4a8373d1ee85 100644
--- a/dbaccess/source/core/api/RowSetCache.hxx
+++ b/dbaccess/source/core/api/RowSetCache.hxx
@@ -65,13 +65,13 @@ namespace dbaccess
 
         rtl::Reference<OCacheSet>                             m_xCacheSet; // is a bookmarkable, keyset or static resultset
 
-        ORowSetMatrix*                  m_pMatrix;              // represent the table struct
+        std::unique_ptr<ORowSetMatrix>  m_pMatrix;              // represent the table struct
         ORowSetMatrix::iterator         m_aMatrixIter;          // represent a row of the table
         ORowSetMatrix::iterator         m_aMatrixEnd;           // present the row behind the last row of the table
         ORowSetCacheMap                 m_aCacheIterators;
         TOldRowSetRows                  m_aOldRows;
 
-        ORowSetMatrix*                  m_pInsertMatrix;        // represent the rows which should be inserted normally this is only one
+        std::unique_ptr<ORowSetMatrix>  m_pInsertMatrix;        // represent the rows which should be inserted normally this is only one
         ORowSetMatrix::iterator         m_aInsertRow;           // represent a insert row
 
         connectivity::OSQLTable         m_aUpdateTable;         // used for updates/deletes and inserts
diff --git a/dbaccess/source/core/dataaccess/connection.cxx b/dbaccess/source/core/dataaccess/connection.cxx
index 4e5d6fd1bdc8..c0fc854971f5 100644
--- a/dbaccess/source/core/dataaccess/connection.cxx
+++ b/dbaccess/source/core/dataaccess/connection.cxx
@@ -311,7 +311,7 @@ OConnection::OConnection(ODatabaseSource& _rDB
         {
         }
         Reference< XNameContainer > xTableDefinitions(_rDB.getTables(),UNO_QUERY);
-        m_pTables = new OTableContainer( *this, m_aMutex, this, bCase, xTableDefinitions, this, m_nInAppend );
+        m_pTables.reset( new OTableContainer( *this, m_aMutex, this, bCase, xTableDefinitions, this, m_nInAppend ) );
 
         // check if we supports types
         if ( xMeta.is() )
@@ -340,9 +340,9 @@ OConnection::OConnection(ODatabaseSource& _rDB
             }
             if(m_bSupportsViews)
             {
-                m_pViews = new OViewContainer(*this, m_aMutex, this, bCase, this, m_nInAppend);
-                m_pViews->addContainerListener(m_pTables);
-                m_pTables->addContainerListener(m_pViews);
+                m_pViews.reset( new OViewContainer(*this, m_aMutex, this, bCase, this, m_nInAppend) );
+                m_pViews->addContainerListener(m_pTables.get());
+                m_pTables->addContainerListener(m_pViews.get());
             }
             m_bSupportsUsers = Reference< XUsersSupplier> (getMasterTables(),UNO_QUERY).is();
             m_bSupportsGroups = Reference< XGroupsSupplier> (getMasterTables(),UNO_QUERY).is();
@@ -359,8 +359,6 @@ OConnection::OConnection(ODatabaseSource& _rDB
 
 OConnection::~OConnection()
 {
-    delete m_pTables;
-    delete m_pViews;
 }
 
 // XWarningsSupplier
@@ -532,7 +530,7 @@ void OConnection::impl_fillTableFilter()
 
 void OConnection::refresh(const Reference< XNameAccess >& _rToBeRefreshed)
 {
-    if ( _rToBeRefreshed == Reference< XNameAccess >(m_pTables) )
+    if ( _rToBeRefreshed == Reference< XNameAccess >(m_pTables.get()) )
     {
         if (m_pTables && !m_pTables->isInitialized())
         {
@@ -550,7 +548,7 @@ void OConnection::refresh(const Reference< XNameAccess >& _rToBeRefreshed)
             }
         }
     }
-    else if ( _rToBeRefreshed == Reference< XNameAccess >(m_pViews) )
+    else if ( _rToBeRefreshed == Reference< XNameAccess >(m_pViews.get()) )
     {
         if (m_pViews && !m_pViews->isInitialized())
         {
@@ -572,9 +570,9 @@ Reference< XNameAccess >  OConnection::getTables()
     MutexGuard aGuard(m_aMutex);
     checkDisposed();
 
-    refresh(m_pTables);
+    refresh(m_pTables.get());
 
-    return m_pTables;
+    return m_pTables.get();
 }
 
 Reference< XNameAccess > SAL_CALL OConnection::getViews(  )
@@ -582,9 +580,9 @@ Reference< XNameAccess > SAL_CALL OConnection::getViews(  )
     MutexGuard aGuard(m_aMutex);
     checkDisposed();
 
-    refresh(m_pViews);
+    refresh(m_pViews.get());
 
-    return m_pViews;
+    return m_pViews.get();
 }
 
 // XQueriesSupplier
diff --git a/dbaccess/source/core/dataaccess/connection.hxx b/dbaccess/source/core/dataaccess/connection.hxx
index 497f03f24f24..0e548f9508d7 100644
--- a/dbaccess/source/core/dataaccess/connection.hxx
+++ b/dbaccess/source/core/dataaccess/connection.hxx
@@ -96,8 +96,8 @@ class OConnection final     :public ::cppu::BaseMutex
     typedef std::map< OUString, css::uno::Reference< css::uno::XInterface> > TSupportServices;
     TSupportServices                m_aSupportServices;
 
-    OTableContainer*                m_pTables;
-    OViewContainer*                 m_pViews;
+    std::unique_ptr<OTableContainer> m_pTables;
+    std::unique_ptr<OViewContainer>  m_pViews;
     ::dbtools::WarningsContainer    m_aWarnings;
     std::atomic<std::size_t>        m_nInAppend;
     bool                            m_bSupportsViews;       // true when the getTableTypes return "VIEW" as type
commit e1e1bd191a3c2d302135c574cefeeea17e2bc2ba
Author: Noel Grandin <noel.grandin at collabora.co.uk>
Date:   Thu Mar 1 08:58:28 2018 +0200

    loplugin:useuniqueptr in dbaccess
    
    Change-Id: I9b1892f3d453320302f5f82cb964aff5cd9fa643
    Reviewed-on: https://gerrit.libreoffice.org/50713
    Tested-by: Jenkins <ci at libreoffice.org>
    Reviewed-by: Noel Grandin <noel.grandin at collabora.co.uk>

diff --git a/dbaccess/source/core/api/RowSet.cxx b/dbaccess/source/core/api/RowSet.cxx
index 1633376d7653..cf7d33f40eaa 100644
--- a/dbaccess/source/core/api/RowSet.cxx
+++ b/dbaccess/source/core/api/RowSet.cxx
@@ -2018,8 +2018,8 @@ void ORowSet::execute_NoApprove_NoNewConn(ResettableMutexGuard& _rClearForNotifi
         else
         {
             Reference<XDatabaseMetaData> xMeta = m_xActiveConnection->getMetaData();
-            m_pColumns = new ORowSetDataColumns(xMeta.is() && xMeta->supportsMixedCaseQuotedIdentifiers(),
-                                                aColumns,*this,m_aColumnsMutex,aNames);
+            m_pColumns.reset( new ORowSetDataColumns(xMeta.is() && xMeta->supportsMixedCaseQuotedIdentifiers(),
+                                                aColumns,*this,m_aColumnsMutex,aNames) );
         }
     }
     else // !m_bCommandFacetsDirty
@@ -2837,8 +2837,8 @@ ORowSetClone::ORowSetClone( const Reference<XComponentContext>& _rContext, ORowS
         }
     }
     Reference<XDatabaseMetaData> xMeta = rParent.m_xActiveConnection->getMetaData();
-    m_pColumns = new ORowSetDataColumns(xMeta.is() && xMeta->supportsMixedCaseQuotedIdentifiers(),
-                                        aColumns,*this,m_aMutex,aNames);
+    m_pColumns.reset( new ORowSetDataColumns(xMeta.is() && xMeta->supportsMixedCaseQuotedIdentifiers(),
+                                        aColumns,*this,m_aMutex,aNames) );
 
     sal_Int32 const nRT = PropertyAttribute::READONLY   | PropertyAttribute::TRANSIENT;
 
diff --git a/dbaccess/source/core/api/RowSetBase.cxx b/dbaccess/source/core/api/RowSetBase.cxx
index f7717bc77fa7..454ee93cab74 100644
--- a/dbaccess/source/core/api/RowSetBase.cxx
+++ b/dbaccess/source/core/api/RowSetBase.cxx
@@ -107,11 +107,7 @@ ORowSetBase::~ORowSetBase()
         TDataColumns().swap(m_aDataColumns);
         m_pColumns->acquire();
         m_pColumns->disposing();
-        delete m_pColumns;
-        m_pColumns = nullptr;
     }
-
-    delete m_pEmptyCollection;
 }
 
 // css::lang::XTypeProvider
@@ -551,11 +547,11 @@ Reference< XNameAccess > SAL_CALL ORowSetBase::getColumns(  )
     if(!m_pColumns)
     {
         if (!m_pEmptyCollection)
-            m_pEmptyCollection = new OEmptyCollection(*m_pMySelf,m_aColumnsMutex);
-        return m_pEmptyCollection;
+            m_pEmptyCollection.reset( new OEmptyCollection(*m_pMySelf,m_aColumnsMutex) );
+        return m_pEmptyCollection.get();
     }
 
-    return m_pColumns;
+    return m_pColumns.get();
 }
 
 // XResultSet
diff --git a/dbaccess/source/core/api/RowSetBase.hxx b/dbaccess/source/core/api/RowSetBase.hxx
index cb2a04561349..339b5dfc9e14 100644
--- a/dbaccess/source/core/api/RowSetBase.hxx
+++ b/dbaccess/source/core/api/RowSetBase.hxx
@@ -88,11 +88,11 @@ namespace dbaccess
 
         ::cppu::OWeakObject*                    m_pMySelf;          // set by derived classes
         ORowSetCache*                           m_pCache;           // the cache is used by the rowset and his clone (shared)
-        ORowSetDataColumns*                     m_pColumns;         // represent the select columns
+        std::unique_ptr<ORowSetDataColumns>     m_pColumns;         // represent the select columns
         ::cppu::OBroadcastHelper&               m_rBHelper;         // must be set from the derived classes
         // is used when the formatkey for database types is set
         css::uno::Reference< css::util::XNumberFormatTypes>   m_xNumberFormatTypes;
-        OEmptyCollection*                                                               m_pEmptyCollection;
+        std::unique_ptr<OEmptyCollection>       m_pEmptyCollection;
 
         css::uno::Reference< css::uno::XComponentContext>   m_aContext;
         ::connectivity::SQLError                m_aErrors;
diff --git a/dbaccess/source/core/api/preparedstatement.cxx b/dbaccess/source/core/api/preparedstatement.cxx
index 74a8edbf1cd8..10fb3e4cc065 100644
--- a/dbaccess/source/core/api/preparedstatement.cxx
+++ b/dbaccess/source/core/api/preparedstatement.cxx
@@ -52,15 +52,13 @@ OPreparedStatement::OPreparedStatement(const Reference< XConnection > & _xConn,
     m_xAggregateAsParameters.set( m_xAggregateAsSet, UNO_QUERY_THROW );
 
     Reference<XDatabaseMetaData> xMeta = _xConn->getMetaData();
-    m_pColumns = new OColumns(*this, m_aMutex, xMeta.is() && xMeta->supportsMixedCaseQuotedIdentifiers(),std::vector< OUString>(), nullptr,nullptr);
+    m_pColumns.reset( new OColumns(*this, m_aMutex, xMeta.is() && xMeta->supportsMixedCaseQuotedIdentifiers(),std::vector< OUString>(), nullptr,nullptr) );
 }
 
 OPreparedStatement::~OPreparedStatement()
 {
     m_pColumns->acquire();
     m_pColumns->disposing();
-    delete m_pColumns;
-
 }
 
 // css::lang::XTypeProvider
@@ -169,7 +167,7 @@ Reference< css::container::XNameAccess > OPreparedStatement::getColumns()
         }
         m_pColumns->setInitialized();
     }
-    return m_pColumns;
+    return m_pColumns.get();
 }
 
 // XResultSetMetaDataSupplier
diff --git a/dbaccess/source/core/api/resultset.cxx b/dbaccess/source/core/api/resultset.cxx
index d172a3bdf804..6b87e69c55a1 100644
--- a/dbaccess/source/core/api/resultset.cxx
+++ b/dbaccess/source/core/api/resultset.cxx
@@ -61,7 +61,7 @@ OResultSet::OResultSet(const css::uno::Reference< css::sdbc::XResultSet >& _xRes
            ,m_nResultSetConcurrency(0)
            ,m_bIsBookmarkable(false)
 {
-    m_pColumns = new OColumns(*this, m_aMutex, _bCaseSensitive, std::vector< OUString>(), nullptr,nullptr);
+    m_pColumns.reset( new OColumns(*this, m_aMutex, _bCaseSensitive, std::vector< OUString>(), nullptr,nullptr) );
 
     try
     {
@@ -96,8 +96,6 @@ OResultSet::~OResultSet()
 {
     m_pColumns->acquire();
     m_pColumns->disposing();
-    delete m_pColumns;
-
 }
 
 // css::lang::XTypeProvider
@@ -346,7 +344,7 @@ Reference< css::container::XNameAccess > OResultSet::getColumns()
                 // are allowed to return duplicate names, but we are required to have
                 // unique column names
                 if ( m_pColumns->hasByName( sName ) )
-                    sName = ::dbtools::createUniqueName( m_pColumns, sName );
+                    sName = ::dbtools::createUniqueName( m_pColumns.get(), sName );
 
                 m_pColumns->append( sName, pColumn );
             }
@@ -362,7 +360,7 @@ Reference< css::container::XNameAccess > OResultSet::getColumns()
         // this might be reasonable
         try
         {
-            const Reference< XNameAccess > xColNames( static_cast< XNameAccess* >( m_pColumns ), UNO_SET_THROW );
+            const Reference< XNameAccess > xColNames( static_cast< XNameAccess* >( m_pColumns.get() ), UNO_SET_THROW );
             const Sequence< OUString > aNames( xColNames->getElementNames() );
             SAL_WARN_IF( aNames.getLength() != nColCount, "dbaccess",
                 "OResultSet::getColumns: invalid column count!" );
@@ -381,7 +379,7 @@ Reference< css::container::XNameAccess > OResultSet::getColumns()
         }
     #endif
     }
-    return m_pColumns;
+    return m_pColumns.get();
 }
 
 // css::sdbc::XRow
diff --git a/dbaccess/source/core/api/resultset.hxx b/dbaccess/source/core/api/resultset.hxx
index 9d498584c012..574b458bf986 100644
--- a/dbaccess/source/core/api/resultset.hxx
+++ b/dbaccess/source/core/api/resultset.hxx
@@ -71,7 +71,7 @@ namespace dbaccess
         css::uno::Reference< css::sdbc::XRowUpdate >          m_xDelegatorRowUpdate;
 
         ::dbtools::WarningsContainer    m_aWarnings;
-        OColumns*                       m_pColumns;
+        std::unique_ptr<OColumns>       m_pColumns;
         sal_Int32                       m_nResultSetType;
         sal_Int32                       m_nResultSetConcurrency;
         bool                        m_bIsBookmarkable : 1;
diff --git a/dbaccess/source/core/dataaccess/intercept.cxx b/dbaccess/source/core/dataaccess/intercept.cxx
index de566166743e..6a0bc7b18485 100644
--- a/dbaccess/source/core/dataaccess/intercept.cxx
+++ b/dbaccess/source/core/dataaccess/intercept.cxx
@@ -93,8 +93,6 @@ OInterceptor::OInterceptor( ODocumentDefinition* _pContentHolder )
 
 OInterceptor::~OInterceptor()
 {
-    delete m_pDisposeEventListeners;
-    delete m_pStatCL;
 }
 
 struct DispatchHelper
@@ -220,7 +218,7 @@ void SAL_CALL OInterceptor::addStatusListener(
         {
             osl::MutexGuard aGuard(m_aMutex);
             if(!m_pStatCL)
-                m_pStatCL = new PropertyChangeListenerContainer(m_aMutex);
+                m_pStatCL.reset( new PropertyChangeListenerContainer(m_aMutex) );
         }
 
         m_pStatCL->addInterface(URL.Complete,Control);
@@ -237,7 +235,7 @@ void SAL_CALL OInterceptor::addStatusListener(
         {
             osl::MutexGuard aGuard(m_aMutex);
             if(!m_pStatCL)
-                m_pStatCL = new PropertyChangeListenerContainer(m_aMutex);
+                m_pStatCL.reset( new PropertyChangeListenerContainer(m_aMutex) );
         }
 
         m_pStatCL->addInterface(URL.Complete,Control);
@@ -261,7 +259,7 @@ void SAL_CALL OInterceptor::addStatusListener(
             {
                 osl::MutexGuard aGuard(m_aMutex);
                 if(!m_pStatCL)
-                    m_pStatCL = new PropertyChangeListenerContainer(m_aMutex);
+                    m_pStatCL.reset( new PropertyChangeListenerContainer(m_aMutex) );
             }
 
             m_pStatCL->addInterface(URL.Complete,Control);
diff --git a/dbaccess/source/core/dataaccess/intercept.hxx b/dbaccess/source/core/dataaccess/intercept.hxx
index cfb83676f5ab..bcce278492bb 100644
--- a/dbaccess/source/core/dataaccess/intercept.hxx
+++ b/dbaccess/source/core/dataaccess/intercept.hxx
@@ -104,8 +104,8 @@ private:
 
     css::uno::Sequence< OUString >      m_aInterceptedURL;
 
-    comphelper::OInterfaceContainerHelper2*    m_pDisposeEventListeners;
-    PropertyChangeListenerContainer*    m_pStatCL;
+    std::unique_ptr<comphelper::OInterfaceContainerHelper2>    m_pDisposeEventListeners;
+    std::unique_ptr<PropertyChangeListenerContainer>           m_pStatCL;
 };
 
 }   // namespace dbaccess
diff --git a/dbaccess/source/core/inc/preparedstatement.hxx b/dbaccess/source/core/inc/preparedstatement.hxx
index bfd0e26ea6fd..eb5b6a5f5dc5 100644
--- a/dbaccess/source/core/inc/preparedstatement.hxx
+++ b/dbaccess/source/core/inc/preparedstatement.hxx
@@ -40,7 +40,7 @@ namespace dbaccess
                                public css::lang::XServiceInfo
     {
     protected:
-        OColumns*       m_pColumns;
+        std::unique_ptr<OColumns>  m_pColumns;
         css::uno::Reference< css::sdbc::XParameters > m_xAggregateAsParameters;
 
     public:


More information about the Libreoffice-commits mailing list