mirror of
https://github.com/DSpace/DSpace.git
synced 2025-10-14 21:43:11 +00:00
Fixed SF bug #1727034 Method MetadataField.unique() is incorrect for null values
git-svn-id: http://scm.dspace.org/svn/repo/trunk@1994 9c30dcfa-912a-0410-8fc2-9e0234be79fd
This commit is contained in:
@@ -512,16 +512,31 @@ public class MetadataField
|
||||
Connection con = context.getDBConnection();
|
||||
TableRow reg = DatabaseManager.row("MetadataFieldRegistry");
|
||||
|
||||
String qualifierClause = "";
|
||||
|
||||
if (qualifier == null)
|
||||
{
|
||||
qualifierClause = "and qualifier is null";
|
||||
}
|
||||
else
|
||||
{
|
||||
qualifierClause = "and qualifier = ?";
|
||||
}
|
||||
|
||||
String query = "SELECT COUNT(*) FROM " + reg.getTable()
|
||||
+ " WHERE metadata_schema_id= ? "
|
||||
+ " and metadata_field_id != ? "
|
||||
+ " and element= ? and qualifier= ? ";
|
||||
+ " and element= ? " + qualifierClause;
|
||||
|
||||
PreparedStatement statement = con.prepareStatement(query);
|
||||
statement.setInt(1,schemaID);
|
||||
statement.setInt(2,fieldID);
|
||||
statement.setString(3,element);
|
||||
statement.setString(4,qualifier);
|
||||
|
||||
if (qualifier != null)
|
||||
{
|
||||
statement.setString(4,qualifier);
|
||||
}
|
||||
|
||||
ResultSet rs = statement.executeQuery();
|
||||
|
||||
|
Reference in New Issue
Block a user