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 ){