? ? Pending

User tests: Successful: Unsuccessful:

avatar richard67
richard67
20 Jun 2019

Pull Request for Issue #25245 .

Update 2019-06-23:

Meanwhile the database package has been updated with another PR in composer.lock, and nightly build from this moring includes that, so issue #25245 should be fixed already in nightly build from this morning.

This PR here still updates the database package to the next version so it includes for the mysql related drivers public functions isMariaDb() to be used by the CMS e.g. in order to display correct version check texts.

Summary of Changes

Update the database package from framework for MariaDB compatibility.

Testing Instructions

Code review and check commit history in 2.0-dev branch of framework database package here:

https://github.com/joomla-framework/database/commits/2.0-dev

Can be merged on review.

Expected result

Database package up to date.

Actual result

Database package not up to date.

Documentation Changes Required

None.

avatar richard67 richard67 - open - 20 Jun 2019
avatar richard67 richard67 - change - 20 Jun 2019
Status New Pending
avatar joomla-cms-bot joomla-cms-bot - change - 20 Jun 2019
Category External Library Composer Change
avatar richard67 richard67 - change - 20 Jun 2019
Labels Added: ? ?
avatar Quy
Quy - comment - 20 Jun 2019

I have tested this item successfully on 21640e5

Tested with 10.3.15-MariaDB.


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

avatar Quy Quy - test_item - 20 Jun 2019 - Tested successfully
avatar Quy
Quy - comment - 20 Jun 2019

On my live test server, it is reporting 5.5.60-MariaDB on J3. I assume it will not install. I don't have composer on it so I will wait for it to be merged and test the nightly build.

avatar richard67
richard67 - comment - 20 Jun 2019

J3?

avatar Quy
Quy - comment - 20 Jun 2019

J3.9.8

avatar richard67
richard67 - comment - 20 Jun 2019

As far as I know we don't want to make that for J3, only for J4, or am I wrong?

avatar Quy
Quy - comment - 20 Jun 2019

I assume so. Tested locally successfully with XAMPP (10.3.15-MariaDB). I want to test J4 (5.5.60-MariaDB) on the live server but can't to see if it will install.

avatar richard67 richard67 - change - 20 Jun 2019
The description was changed
avatar richard67 richard67 - edited - 20 Jun 2019
avatar richard67
richard67 - comment - 21 Jun 2019

@mbabker I've just noticed that when I install J4 on MySQL 5.7 with the PDO driver, all is in utf8 and not utf8mb4, and so the database check shows that the conversion has to be done, but this has no effect. It seems that the utf8mb4 support detection of the MySQL PDO driver is broken. With the MySQLi driver all is ok. It happens also with nightly build of J4 from tonight without this PR installed, and so it is not related to this PR here and the corresponding framework package update, it was broken before. Or can it be we never had utf8mb4 support for the PDO driver? I can't imagine that, but if so, we have to do something. I will see what I can find out, but if you remember some known issue from scratch, please let me know.

avatar richard67
richard67 - comment - 21 Jun 2019

@Quy You can find a patched nightly build from this morning plus updated database package from this PR for testing here: https://test5.richard-fath.de/Joomla_4.0.0-alpha10-dev-Development-Full_Package_2019-06-21_pr-25285.zip.

Note that it works only with MySQLi. With MySQL PDO there is an issue, see my previous comment for Michael, but that issue is also there without my patch.

avatar mbabker
mbabker - comment - 21 Jun 2019

That "issue" does not prevent install or use of the PDO MySQL driver. So it's not a blocker to this item.

avatar mbabker
mbabker - comment - 21 Jun 2019

Also, it is not an issue with the compatibility code, but probably the configuration layer in the CMS. The Framework code does not arbitrarily try to start at utf8mb4 and degrade to utf8, you have to explicitly configure the connection to indicate utf8mb4 support in your application and then the driver will degrade if not supported. That configuration is in place in the CMS, and I just checked two of the applications I have locally (one on each major version of the database package) and it is correctly connecting with utf8mb4 support.

avatar richard67
richard67 - comment - 21 Jun 2019

Yes, I agree, it does not block this. And the connection is ok. But it installs the tables with utf8 only. Very strange. But I guess it will disappear anyway when we clean up the utf8mb4 stuff in framework package 2.0-dev.

avatar richard67
richard67 - comment - 21 Jun 2019

@mbabker Quick fix for the framework see here: joomla-framework/database#167. If you merge that, I will update this PR here so it will contain fetch those changes, too.
Edit: No, not the right place.

avatar richard67 richard67 - change - 21 Jun 2019
The description was changed
avatar richard67 richard67 - edited - 21 Jun 2019
avatar Quy
Quy - comment - 21 Jun 2019

No go ? Even the MySQL value is not correct. phpMyAdmin reports it as Server version: 5.5.60-MariaDB - MariaDB Server

You need MySQL 10.0 or higher to continue the installation. Your version is: 5.5.60-MariaDB

avatar richard67
richard67 - comment - 21 Jun 2019

So your test result (success) is wrong? Or is your MariaDB version too old?

avatar Quy
Quy - comment - 21 Jun 2019

I installed J4 before the database framework got updated.
Why is the error string reporting MySQL 10.0?

You could be right that my MariaDB is too old per their release notes:

MariaDB 5.5.60 is a maintenance release. It includes bugfixes and updates, including from MySQL 5.5.60.

avatar richard67
richard67 - comment - 21 Jun 2019

@Quy I really think your version is simply too old for J4. I fould following on English Wikipedia (and German tells the same):
Unbenannt

avatar richard67
richard67 - comment - 21 Jun 2019

@Quy Try the patched J4 nightly build which I've linked above in my comment for you and also in the (updated) description. It contains already the updated framework database package: https://test5.richard-fath.de/Joomla_4.0.0-alpha10-dev-Development-Full_Package_2019-06-21_pr-25285.zip.

avatar Quy
Quy - comment - 21 Jun 2019

Yes, I tested with your version. I will try to upgrade MariaDB to the latest version.

avatar mbabker
mbabker - comment - 21 Jun 2019

Why is the error string reporting MySQL 10.0?

There isn't a separate string to say "You need MariaDB 10.0 or higher..." if the version check fails. This is one of the few cases where a isMariaDBConnection() type method on the MySQL drivers would be useful for callers outside the database API.

avatar richard67
richard67 - comment - 21 Jun 2019

This is one of the few cases where a isMariaDBConnection() type method on the MySQL drivers would be useful for callers outside the database API.

@mbabker I will make PR in framework to add that. I should have done that with the last PR, but seems I had forgotten about it. You had mentioned that before in your comment I remember now.

avatar richard67
richard67 - comment - 21 Jun 2019

@Quy I've updated my zip package so it contains the latest change on the framework package as recommended by Michael. It is not really relevant for testing this PR, you can continue with the previous one.

avatar richard67
richard67 - comment - 21 Jun 2019

As soon as this PR is in merged I will make a PR for having new UI texts for MariaDB.

avatar richard67
richard67 - comment - 23 Jun 2019

Meanwhile the database package has been updated with another PR in composer.lock, and nightly build from this moring includes that, so issue #25245 should be fixed already in nightly build from this morning.

This PR here still updates the database package to the next version so it includes for the mysql related drivers public functions isMariaDb() to be used by the CMS e.g. in order to display correct version check texts.

avatar richard67 richard67 - change - 23 Jun 2019
The description was changed
avatar richard67 richard67 - edited - 23 Jun 2019
avatar richard67 richard67 - change - 23 Jun 2019
The description was changed
avatar richard67 richard67 - edited - 23 Jun 2019
avatar richard67 richard67 - change - 23 Jun 2019
The description was changed
avatar richard67 richard67 - edited - 23 Jun 2019
avatar richard67
richard67 - comment - 23 Jun 2019

Ping @wilsonge .

avatar wilsonge wilsonge - change - 23 Jun 2019
Status Pending Fixed in Code Base
Closed_Date 0000-00-00 00:00:00 2019-06-23 15:36:19
Closed_By wilsonge
avatar wilsonge wilsonge - close - 23 Jun 2019
avatar wilsonge wilsonge - merge - 23 Jun 2019
avatar wilsonge
wilsonge - comment - 23 Jun 2019

Thanks!

avatar richard67
richard67 - comment - 23 Jun 2019

Thanks too.

avatar richard67
richard67 - comment - 23 Jun 2019

@Quy For the right UI text when warning that db version is too low, see PR #25303 . If you could find time for testing, I would be very happy.

Add a Comment

Login with GitHub to post a comment