Bug #22908 Bug Fixed

UTF8 collation update changes longtext columns and cuts off long content.

Version: 3.5.1 Reporter: aspenmusicfestival

This is an archived bug report. If you are experiencing a similar issue, upgrade to the latest release and if that does not solve the problem, submit a new bug report

The update file “installer/updates/ud_3_01_00.php” has a method called “fix_table_collations” that has a serious side-effect: in the exp_channel_data table, and who knows where else, columns that were ‘longtext’ get changed to ‘text’, limiting their length and cutting off existing long content.

I found this when investigating why a json object stored in one of those formerly-longtext columns was now truncated.

The approach in the “fix_table_collations” method seems problematic. If I’m understanding the issue correctly, simply changing to UTF8 can mangle data; to avoid that for text columns it is advised to first switch to the equivalent BLOB type and then do the conversion and switch back to the original text types. Here is something I ran across about it: https://codex.wordpress.org/Converting_Database_Character_Sets

Whether or not the above is actually relevant, for my task of upgrading a site this bug is going to be a major blocker unless I either find a way around it or simply comment out that method (but if I do, will that be another problem?).

Another thing that method does, which I commented on in a separate bug, is choke on the 3rd-party exp_low_search_words table, which has accented characters in a primary key column, so your entire upgrade comes to a halt. I had to change the “fix_table_collations” method to use a different collation for that one table.

Note: I chose the latest version affected, since I am in fact upgrading a site to the latest from V 2.4 (via many steps) to the latest V 3.5.1.

.(JavaScript must be enabled to view this email address)

ExpressionEngine News!

#eecms, #events, #releases