-
-
Notifications
You must be signed in to change notification settings - Fork 3.6k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Add utf8mb4 unicode conversion for com_finder #16617
Conversation
We had excluded the change from general to unicode collation for the com_finder tables because in some languages it has caused "duplicate index" problem after the conversion. To fix that it would have required to force a complete rebuild of the index. We have had discussions with the com_finder guru, @chrisdavenport , and we concluded to leave com_finder tables with general collations in order not to provoke problems in certain languages (I think it was Greece) where things have been OK before. This comment was created with the J!Tracker Application at issues.joomla.org/tracker/joomla-cms/16617. |
I know - the example with
was the example we struggled with. The code in script.php here is designed to fix that problem we encountered. |
should i mark the Test successfully? |
To be honest I am not sure yet if that will work, and I am not sure yet if I will find to review those many changes. |
Well a first look on the code looks OK to me. But I have not checked yet how it will be shown in the "Extensions -> Manage -> Database" view. It could be confusing if people are told they have not been converted to utf8mb4 yet if they were, so maybe there should be a separate check with a separate message text telling that it is conversion to unicode collation of the com_finder tables which has to be done. This comment was created with the J!Tracker Application at issues.joomla.org/tracker/joomla-cms/16617. |
And I still would like to have @chrisdavenport 's opinion on if that could cause problems e.g. for Greece. This comment was created with the J!Tracker Application at issues.joomla.org/tracker/joomla-cms/16617. |
@franz-wohlkoenig From my point of view your test is unsuccessful because it seems that @csthomas 's scripts did not run. |
I have tested this item 🔴 unsuccessfully on a3feec1 This comment was created with the J!Tracker Application at issues.joomla.org/tracker/joomla-cms/16617. |
Looks like it should work in theory (haven't tested it). My only concern would be on sites with substantial numbers of entries in the terms table. Copying all that data from one table to another and back again and then building a new index could take a lot of time. What are the consequences if the request times out? |
Based on this https://stackoverflow.com/questions/4685173/delete-all-duplicate-rows-except-for-one-in-mysql I think this is not a bad solution. Maybe creating a copy of structure and then copy data only once would be better. I will check it later. |
At above commits first I want to use mainly Then I back to simpler Disadvantage: |
As nobody need it I close it. |
Pull Request for Issue #9361 .
Summary of Changes
Convert
#__finder_xxx
tables to utf8mb4_unicode_ci collationTesting Instructions
See #9361
Upgrade joomla from version 3.4.8, 3.5.x or 3.7.2 still works.
Joomla should contain contents with words like:
Details:
You should see message "The Joomla! Smart Search database tables (in #__finder...) have not been converted yet to UTF-8 Multibyte (utf8mb4)."
Expected result
#__finder_xxx tables has unicode collation.
Upgrade OK
Actual result
Missing unicode collation in #__finder_xxx tables.
Documentation Changes Required
I do not know.