Follow-up of request #46354.
As part of the solution to the original problem, we wrote a Forge Upgrade bucket whose goal is to identify and remove all duplicated Open list "open values" (values created by users dynamically, that are not part of the original list).
It turns out that if the duplicated values differ only by case (lower vs upper case, for example "Alpha" vs "alpha"), then, our remediation code will NOT spot a difference, but MySQL will, and the index creation will fail with an error like the following:
[error] SQLSTATE[23000]: Integrity constraint violation: 1062 Duplicate entry '24396-Alpha' for key 'tracker_field_openlist_value.idx_field_value'
Note that the Open list field does not let you add a new value that is only different through case. Here is the scenario:
- Trigger the original "mass change bug" from request #46354 so you create a duplicated value "Alpha"
- In the Tracker > Administration > Fields tab, edit the Open list field, and rename one of the duplicate values to "alpha" in lower-caps
- Run the forge upgrade bucket. It will report zero duplicated values, but the SQL index will fail to be created.