diff --git a/Database/APR/CollectionBase/CollectionBase/CollectionDescription.h b/Database/APR/CollectionBase/CollectionBase/CollectionDescription.h
index 115a0a20b3cd3e75dd995c18e521c10d5ab706b6..6d41d5f1b848f8db3b01e7333e9ca65cc0fa6a82 100755
--- a/Database/APR/CollectionBase/CollectionBase/CollectionDescription.h
+++ b/Database/APR/CollectionBase/CollectionBase/CollectionDescription.h
@@ -278,7 +278,7 @@ namespace pool {
      *
      * @param columnName Name of column for which constraint is applied.
      */
-    virtual void setUniqueConstraint( std::string constraintName, const std::string& columnName );
+    virtual void setUniqueConstraint( const std::string& constraintName, const std::string& columnName );
 
     /**
      * Sets a unique constraint on one or more columns of the collection description. Automatically generates
@@ -286,7 +286,7 @@ namespace pool {
      *
      * @param columnNames Names of columns for which constraint is applied.
      */
-    virtual void setUniqueConstraint( std::string constraintName, const std::vector<std::string>& columnNames );
+    virtual void setUniqueConstraint( const std::string& constraintName, const std::vector<std::string>& columnNames );
 
     /**
      * Unsets an existing unique constraint on a single column of the collection description, 
diff --git a/Database/APR/CollectionBase/CollectionBase/ICollectionSchemaEditor.h b/Database/APR/CollectionBase/CollectionBase/ICollectionSchemaEditor.h
index 6986bc9338c98e1b9c88fd069af4dc1ef1f4703d..fc8ca2b7d399024c2e5192100ae503edb535328f 100755
--- a/Database/APR/CollectionBase/CollectionBase/ICollectionSchemaEditor.h
+++ b/Database/APR/CollectionBase/CollectionBase/ICollectionSchemaEditor.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_ICOLLECTIONSCHEMAEDITOR_H
@@ -177,7 +177,7 @@ namespace pool {
      *
      * @param columnName Name of column for which constraint is applied.
      */
-    virtual void setUniqueConstraint( std::string constraintName, const std::string& columnName ) = 0;
+    virtual void setUniqueConstraint( const std::string& constraintName, const std::string& columnName ) = 0;
 
     /**
      * Sets a unique constraint on one or more columns of the collection. Automatically generates a
@@ -185,7 +185,7 @@ namespace pool {
      *
      * @param columnNames Names of columns for which constraint is applied.
      */
-    virtual void setUniqueConstraint( std::string constraintName, const std::vector<std::string>& columnNames ) = 0;
+    virtual void setUniqueConstraint( const std::string& constraintName, const std::vector<std::string>& columnNames ) = 0;
 
     /**
      * Unsets an existing unique constraint on a single column of the collection, 
diff --git a/Database/APR/CollectionBase/src/CollectionDescription.cpp b/Database/APR/CollectionBase/src/CollectionDescription.cpp
index 846898560a230fbf55f0265aab1843a89f230c14..d701f02565e7d0a29ca7df4a4c229114253ecd46 100755
--- a/Database/APR/CollectionBase/src/CollectionDescription.cpp
+++ b/Database/APR/CollectionBase/src/CollectionDescription.cpp
@@ -923,7 +923,7 @@ pool::CollectionDescription::dropIndex( const std::vector<std::string>& columnNa
 
 
 void
-pool::CollectionDescription::setUniqueConstraint( std::string constraintName, const std::string& columnName )
+pool::CollectionDescription::setUniqueConstraint( const std::string& constraintNameIn, const std::string& columnName )
 {
    const std::string& methodName("setUniqueConstraint");
    // Check that column is defined in collection description and get its description object.
@@ -933,6 +933,7 @@ pool::CollectionDescription::setUniqueConstraint( std::string constraintName, co
    std::string fragmentName = collectionFragmentName( columnName );
 
   // Generate unique name for unique constraint.
+   std::string constraintName = constraintNameIn;
    if( !constraintName.size() ) {
       constraintName = fragmentName + columnName + "_UC";
    }
@@ -953,8 +954,10 @@ pool::CollectionDescription::setUniqueConstraint( std::string constraintName, co
 
 void
 pool::CollectionDescription::
-setUniqueConstraint( std::string constraintName, const std::vector< std::string >& columnNames )
+setUniqueConstraint( const std::string& constraintNameIn, const std::vector< std::string >& columnNames )
 {
+    std::string constraintName = constraintNameIn;
+
     const std::string& methodName("setUniqueConstraint");
     // Check if constraint is on a single column.
     if ( columnNames.size() == 1 ){