Details
-
Type:
Bug
-
Status:
Closed
-
Priority:
Minor
-
Resolution: No Longer Reproducible
-
Affects Version/s: 5.2.3
-
Fix Version/s: 6.2.0 CE M4
-
Component/s: WCM, WCM > Tags
-
Labels:
-
Environment:MySQL 5.5
-
Similar Issues:
Description
When trying to change a tag's name from 'evaluación' to 'evaluacion', an error is produced. The class com.liferay.portlet.tags.service.impl.TagsEntryLocalServiceImpl invokes the method hasEntry, that checks the previous existence of another tag with the same name, but it finds the same tag being modified. After following the invocation stack, you can find the following query in file portal\portal-impl\src\custom-sql\tags.xml:
<sql id="com.liferay.portlet.tags.service.persistence.TagsEntryFinder.findByG_N_F">
<![CDATA[
SELECT
FROM
TagsEntry
INNER JOIN
TagsVocabulary ON
(TagsVocabulary.vocabularyId = TagsEntry.vocabularyId)
WHERE
(TagsEntry.groupId = ?) AND
(lower(TagsEntry.name) = ?) AND
(TagsVocabulary.folksonomy = ?)
]]>
</sql>
Shouldn't the query include something like COLLATE utf8_bin or something similar to avoid this kind of behavior?
Caused by: com.liferay.portlet.tags.DuplicateEntryException: A tag entry with the name evaluacion already exists
at com.liferay.portlet.tags.service.impl.TagsEntryLocalServiceImpl.updateEntry(TagsEntryLocalServiceImpl.java:571)

No longer reproducible on liferay 6.2 m4