? Success

User tests: Successful: Unsuccessful:

avatar richard67
richard67
18 Mar 2016

Pull Request for Issue #9465 .

Summary of Changes

It seems there were some index and column modifications forgotten for the utf8mb4 conversion, which fail on create table then when pdomysql (or mysql in general, any driver) is in strict mode but not failed without strict mode.

Testing Instructions

Test 1: Check if a new installation works without running into the errors described in issue #9465, chosing the PDO driver for mysql on installation and using the branch of this patch as installation source: https://github.com/richard67/joomla-cms/archive/utf8mb4-forgotten-column-changes-1.zip.

To enforce strict mode, hack the pdomysql.php as described in PR #9461 before starting the installation.

Test 2: Test also if the utf8(mb4) conversion still works on the Joomla! just installed with Test 1 before. To enforce the conversion to be performed again, enter following SQL statement in phpMyAdmin:

UPDATE #__utf8_conversion SET converted = 0;

(replace #__ by your db prefix).

Then go to "Extensions -> Manage -> Update".

You should see the conversion to be done reported as open problem.

Click the "Fix" button.

Result: The conversion is performed without errors, after this database is up to date without problems.

avatar richard67 richard67 - open - 18 Mar 2016
avatar richard67 richard67 - change - 18 Mar 2016
Status New Pending
avatar joomla-cms-bot joomla-cms-bot - change - 18 Mar 2016
Labels Added: ?
avatar richard67
richard67 - comment - 18 Mar 2016

Is a 3.5.0-blocker from my point of view.


This comment was created with the J!Tracker Application at issues.joomla.org/joomla-cms/9467.

avatar richard67
richard67 - comment - 18 Mar 2016

@wilsonge Can you check with Eli or trigger him to check if maybe for the one or other column the index is not needed or columns can be downsized to 191 so these changes are not necesary in this way for those columns? The auto-complete of the "at" mentioning does not find him and I am not sure about spelling of his nick name.


This comment was created with the J!Tracker Application at issues.joomla.org/joomla-cms/9467.

avatar wilsonge wilsonge - change - 18 Mar 2016
Labels Added: ?
avatar wilsonge
wilsonge - comment - 18 Mar 2016

Just ping him in skype in that group :) Btw this branch apparently has conflicts?

avatar richard67
richard67 - comment - 18 Mar 2016

@wilsonge Where does it have conflicts? Github shows all OK here.

avatar wilsonge
wilsonge - comment - 18 Mar 2016

Ummm it shows fine here as well now. i don't understand...... just ignore me

avatar richard67
richard67 - comment - 18 Mar 2016

@wilsonge If you used patchtester, maybe this shows conflicts when you try to apply my patch because it not knows about recent commits and so sees conflicts? I had the same when I wanted to test your PR, had to patch manually.


This comment was created with the J!Tracker Application at issues.joomla.org/joomla-cms/9467.

avatar wilsonge
wilsonge - comment - 18 Mar 2016

i was looking in the github ui - so I really dunno - merge button was grey and said conflicts - then when i came back 2 hours later was green and happy.....

avatar andrepereiradasilva andrepereiradasilva - test_item - 18 Mar 2016 - Tested unsuccessfully
avatar andrepereiradasilva
andrepereiradasilva - comment - 18 Mar 2016

I have tested this item :red_circle: unsuccessfully on c21a981

Step 1, 2 and 3 ok, but when installing aditional languages i got:

"SQLSTATE[HY000]: General error: 1364 Field 'data' doesn't have a default valueHY000"


This comment was created with the J!Tracker Application at issues.joomla.org/joomla-cms/9467.

avatar richard67
richard67 - comment - 18 Mar 2016

@andrepereiradasilva This issue is not related to this PR. Please install without installing additional languages. Additional languages installation has nothing to do with testing changes in joomla.sql!!! And mark your test result accordingly.

avatar andrepereiradasilva
andrepereiradasilva - comment - 18 Mar 2016

ok i understand now, sorry :)

avatar andrepereiradasilva andrepereiradasilva - test_item - 18 Mar 2016 - Tested successfully
avatar andrepereiradasilva andrepereiradasilva - test_item - 18 Mar 2016 - Tested successfully
avatar andrepereiradasilva
andrepereiradasilva - comment - 18 Mar 2016

I have tested this item :white_check_mark: successfully on c21a981


This comment was created with the J!Tracker Application at issues.joomla.org/joomla-cms/9467.

avatar brianteeman brianteeman - change - 18 Mar 2016
Labels
avatar brianteeman brianteeman - change - 18 Mar 2016
Category SQL
avatar richard67 richard67 - change - 18 Mar 2016
The description was changed
avatar richard67 richard67 - change - 18 Mar 2016
Category SQL
avatar richard67
richard67 - comment - 18 Mar 2016

Added 2nd test for conversion still working.


This comment was created with the J!Tracker Application at issues.joomla.org/joomla-cms/9467.

avatar richard67
richard67 - comment - 18 Mar 2016

@andrepereiradasilva Sorry, I had to add a 2nd test (Test 2) because this PR not changes joomla.sql but also the utf8(mb4) conversion scripts.

Can you set your test result to "not tested", and then test again and then mark result if ok or not?

Thanks in advance, and sorry for the inconvenience.


This comment was created with the J!Tracker Application at issues.joomla.org/joomla-cms/9467.

avatar andrepereiradasilva
andrepereiradasilva - comment - 18 Mar 2016

Can you set your test result to "not tested", and then test again and then mark result if ok or not?

no need, second test done.
it took a while to do the conversion but tested successfully also.

Thanks in advance, and sorry for the inconvenience.

No problem you can buy me a :beer: one day :smile:

avatar richard67
richard67 - comment - 18 Mar 2016

Thanks for testing, Andre.

More testers please.


This comment was created with the J!Tracker Application at issues.joomla.org/joomla-cms/9467.

avatar wilsonge wilsonge - change - 18 Mar 2016
Milestone Added:
avatar wilsonge wilsonge - test_item - 18 Mar 2016 - Tested successfully
avatar wilsonge
wilsonge - comment - 18 Mar 2016

I have tested this item :white_check_mark: successfully on c21a981

Successful installed after applying patch - errors before applying patch.


This comment was created with the J!Tracker Application at issues.joomla.org/joomla-cms/9467.

avatar richard67
richard67 - comment - 18 Mar 2016

@wilsonge Did you also do the 2nd test, check if utf8mb4 conversion still works?

avatar wilsonge
wilsonge - comment - 18 Mar 2016

Have now - also with success :)

avatar wilsonge wilsonge - change - 18 Mar 2016
Status Pending Fixed in Code Base
Closed_Date 0000-00-00 00:00:00 2016-03-18 23:42:30
Closed_By wilsonge
avatar wilsonge wilsonge - close - 18 Mar 2016
avatar wilsonge wilsonge - merge - 18 Mar 2016
avatar wilsonge wilsonge - close - 18 Mar 2016
avatar wilsonge wilsonge - reference | e786ec8 - 18 Mar 16
avatar wilsonge wilsonge - merge - 18 Mar 2016
avatar wilsonge wilsonge - close - 18 Mar 2016
avatar wilsonge wilsonge - change - 18 Mar 2016
Labels Removed: ?
avatar richard67
richard67 - comment - 18 Mar 2016

Thanks for testing and merging.

avatar richard67 richard67 - head_ref_deleted - 18 Mar 2016
avatar shur
shur - comment - 27 May 2016

@richard67 @wilsonge
How about this changes: https://github.com/joomla/joomla-cms/pull/9467/files#diff-135c6f58583408312a709459b19594c7R166

This changes will be apply only for freshly installed Joomla.
But how about those site that update their Joomla?
These #__banner_clients > metakey_prefix field will still have a value of 255.

avatar richard67
richard67 - comment - 27 May 2016

On sites which update their Joomla! they will get it via the utf8mb4 conversions scripts (Step 2.2. in utf8mb4-conversion-02.sql). I made the conversion be forced to run again by a special schema update when updating a 3.5.0 to 3.5.1 or later, and on pre-3.5.0 it will run anyway, so if all runs without errors the changes should have been applied with any update method.

The reason why I did not put those statements into a regular update script was that the database check and fix would not properly handle e.g. dropping an index for later adding it back with the same name, and so it would always report open problems.

This kind of abusing the utf8mb4 conversion for structural change was a fast kind of an intermediate solution to make things work somehow, but it is not a good thing and can cause unsolvable database problem in case the utf8mb4 conversion is aborted somewhere in the middle because of e.g. max_execution_time of php being exceeded on large data.

I am developing a bit on how it could be made better as long as we support this "copy or unzip the files and then run the db fix" update method, which we have to support as long as not everybody has a 3.6.0 or later with the new Joomla! Update features. But I have not found the right solution yet, and I am not sure if I can in time for 3.6. I am also waiting on feedback from @wilsonge about some of my ideas.

Add a Comment

Login with GitHub to post a comment