1) Duplicate marker row created due to unique constraint ignoring null value
2) _security_group_get_by_names() takes a list of group names, does a DB query, and expects that the result will have the same number of items. In this case, the list of group names is just '[default'], but there are two items with the name "default", so the list length comparison fails. The subsequent attempt to find a missing item iterates over the list of group names in search of one that is not present in the query result, but there is none, so it falls out the bottom (ironically, past the "Not Reached" comment).
I wonder if (2) should be addressed, or if it's reasonable to assume that there will never be multiple query results with the same name (and make it so by fixing (1))?
Seems there are two issues here...
1) Duplicate marker row created due to unique constraint ignoring null value
2) _security_ group_get_ by_names( ) takes a list of group names, does a DB query, and expects that the result will have the same number of items. In this case, the list of group names is just '[default'], but there are two items with the name "default", so the list length comparison fails. The subsequent attempt to find a missing item iterates over the list of group names in search of one that is not present in the query result, but there is none, so it falls out the bottom (ironically, past the "Not Reached" comment).
I wonder if (2) should be addressed, or if it's reasonable to assume that there will never be multiple query results with the same name (and make it so by fixing (1))?