diff --git a/Database/APR/CollectionBase/CollectionBase/CollectionColumn.h b/Database/APR/CollectionBase/CollectionBase/CollectionColumn.h
index c08e7502e9ecf2b251eb3422745a1811459ab7fd..9ceb344ab094b39186b9866a428fd52c41f96267 100755
--- a/Database/APR/CollectionBase/CollectionBase/CollectionColumn.h
+++ b/Database/APR/CollectionBase/CollectionBase/CollectionColumn.h
@@ -1,5 +1,5 @@
 /*
-  Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration
+  Copyright (C) 2002-2020 CERN for the benefit of the ATLAS collaboration
 */
 
 #ifndef COLLECTIONBASE_COLLECTIONCOLUMN_H
@@ -44,7 +44,7 @@ namespace pool {
      */
     CollectionColumn( const std::string& name,
                       const std::string& type,
-                      std::string fragmentName = "",
+                      const std::string& fragmentName = "",
                       int maxSize = 0,
                       bool sizeIsFixed = true )
       : m_name( name ),
diff --git a/Database/APR/CollectionBase/CollectionBase/CollectionDescription.h b/Database/APR/CollectionBase/CollectionBase/CollectionDescription.h
index 47ad8118aa8266e4fd45d09eca0c74568aefbae8..115a0a20b3cd3e75dd995c18e521c10d5ab706b6 100755
--- a/Database/APR/CollectionBase/CollectionBase/CollectionDescription.h
+++ b/Database/APR/CollectionBase/CollectionBase/CollectionDescription.h
@@ -47,8 +47,8 @@ namespace pool {
      */
     CollectionDescription( const std::string& name,
                            const std::string& type,
-                           std::string connection = "",
-                           std::string eventReferenceColumnName = "" );
+                           const std::string& connection = "",
+                           const std::string& eventReferenceColumnName = "" );
     
     /**
      * Copy constructor.
diff --git a/Database/APR/CollectionBase/CollectionBase/CollectionFactory.h b/Database/APR/CollectionBase/CollectionBase/CollectionFactory.h
index 3adbcc2f53d72a7c24fdc3a321413a04cb49da82..325812ff9a73b34dd5c5a8a9bb3be4e19934148e 100755
--- a/Database/APR/CollectionBase/CollectionBase/CollectionFactory.h
+++ b/Database/APR/CollectionBase/CollectionBase/CollectionFactory.h
@@ -211,7 +211,7 @@ namespace pool {
      * @param name Name of collection.
      * @param physicalName physical name of collection in catalog.
      */    
-    void extract( const std::string physicalName,
+    void extract( const std::string& physicalName,
                   std::string& type, 
                   std::string& connection,
                   std::string& name ) const;    
diff --git a/Database/APR/CollectionBase/CollectionBase/CollectionFragment.h b/Database/APR/CollectionBase/CollectionBase/CollectionFragment.h
index c8e8de269d04f07fcc2d914ed6013f76fbd0cead..97d82867602a7c0e9d79e5d84a2c871f8993ec7e 100755
--- a/Database/APR/CollectionBase/CollectionBase/CollectionFragment.h
+++ b/Database/APR/CollectionBase/CollectionBase/CollectionFragment.h
@@ -1,5 +1,5 @@
 /*
-  Copyright (C) 2002-2019 CERN for the benefit of the ATLAS collaboration
+  Copyright (C) 2002-2020 CERN for the benefit of the ATLAS collaboration
 */
 
 #ifndef COLLECTIONBASE_COLLECTIONFRAGMENT_H
@@ -38,7 +38,7 @@ namespace pool {
      * @param usesForeignKey Flag indicating whether fragment uses foreign key to reference parent fragment.
      */
     CollectionFragment( const std::string& name,
-                        std::string parentFragmentName = "",
+                        const std::string& parentFragmentName = "",
                         bool usesForeignKey = true )
       : m_name( name ),
         m_parentFragmentName( parentFragmentName ),
diff --git a/Database/APR/CollectionBase/src/CollectionDescription.cpp b/Database/APR/CollectionBase/src/CollectionDescription.cpp
index b9e9902a8cf0c74626c949ced96b54ebbd5f7559..846898560a230fbf55f0265aab1843a89f230c14 100755
--- a/Database/APR/CollectionBase/src/CollectionDescription.cpp
+++ b/Database/APR/CollectionBase/src/CollectionDescription.cpp
@@ -20,8 +20,8 @@ using namespace std;
 
 pool::CollectionDescription::CollectionDescription( const std::string& name,
                                                     const std::string& type,
-                                                    std::string connection,
-                                                    std::string eventReferenceColumnName ) 
+                                                    const std::string& connection,
+                                                    const std::string& eventReferenceColumnName ) 
   : m_name( name ),
     m_type( type ),
     m_connection( connection ),
@@ -343,7 +343,7 @@ pool::CollectionDescription::setName( const std::string& name )
       // rename frament in column map
       for( std::map< std::string, std::string >::iterator colI = m_fragmentNameForColumnName.begin();
 	   colI != m_fragmentNameForColumnName.end();
-	   colI++ ) {
+	   ++colI ) {
 	 if( colI->second == m_name ) {
 	    colI->second = name;
 	    // change the reference inside the column
@@ -409,7 +409,7 @@ pool::CollectionDescription::setColumnId( pool::CollectionColumn *column, int id
       while( column_iter != m_columnIdForColumnName.end() ) {
 	 if( id < column_iter->second )
 	    id = column_iter->second;
-	 column_iter++;
+	 ++column_iter;
       }
       id++;
    }
@@ -869,8 +869,8 @@ pool::CollectionDescription::createIndex( std::string indexName, const std::vect
   // Generate unique name for index.
   if( !indexName.size() ) {
      indexName = fragmentName;
-     for( std::vector< std::string >::const_iterator iName = columnNames.begin(); iName != columnNames.end(); iName++ )     {
-	indexName += "_" + *iName; 
+     for (const std::string& name : columnNames) {
+	indexName += "_" + name; 
      }
      indexName += "_IDX";
   }
@@ -1023,9 +1023,9 @@ setUniqueConstraint( std::string constraintName, const std::vector< std::string
   if( !constraintName.size() ) {
      // Generate unique name for unique constraint.
      constraintName = fragmentName;
-     for ( std::vector< std::string >::const_iterator iName = columnNames.begin(); iName != columnNames.end(); iName++ )
+     for (const std::string& name : columnNames)
      {
-	constraintName += "_" + *iName; 
+	constraintName += "_" + name; 
      }
      constraintName += "_UC";
   }
@@ -1109,7 +1109,7 @@ pool::CollectionDescription::unsetUniqueConstraint( const std::vector< std::stri
       delete *iConstraint;
       iConstraint = m_uniqueConstraints.erase( iConstraint );
       for ( std::map< std::string, pool::CollectionColumn* >::iterator iColumn = columnForColumnName.begin();
-            iColumn != columnForColumnName.end(); iColumn++ )
+            iColumn != columnForColumnName.end(); ++iColumn )
       {
         iColumn->second->setIsUnique( false );
       }
diff --git a/Database/APR/CollectionBase/src/CollectionFactory.cpp b/Database/APR/CollectionBase/src/CollectionFactory.cpp
index 29de465160de9195c60d968731b9388e1aed5894..aaac3fb67a9ac93f6bdf00888f05d09f85c17854 100755
--- a/Database/APR/CollectionBase/src/CollectionFactory.cpp
+++ b/Database/APR/CollectionBase/src/CollectionFactory.cpp
@@ -466,7 +466,7 @@ pool::CollectionFactory::isUnique( const pool::FileCatalog::FileID& guid,
 
 
 void 
-pool::CollectionFactory::extract( const std::string physicalName,
+pool::CollectionFactory::extract( const std::string& physicalName,
                                   std::string& type,
                                   std::string& connection,
                                   std::string& name ) const
diff --git a/Database/APR/CollectionBase/src/TokenList.cpp b/Database/APR/CollectionBase/src/TokenList.cpp
index 17b8cf9a4727140cda03d54931ba3247d4c6065a..d999fb19b186a5368e24e7a505fe677f1e2a4cb8 100755
--- a/Database/APR/CollectionBase/src/TokenList.cpp
+++ b/Database/APR/CollectionBase/src/TokenList.cpp
@@ -158,7 +158,7 @@ pool::TokenList::operator[]( unsigned int index ) const
 std::ostream&
 pool::TokenList::toOutputStream( std::ostream& os ) const
 {
-   for( size_t i = 0; i <= m_tokenVector.size(); ++i ) {
+   for( size_t i = 0; i < m_tokenVector.size(); ++i ) {
       os << "[" << m_tokenNames[i] << " (Token) : " << m_tokenVector[i]->toString()<< "]";
    }