Details

      Description

      MariaDB is the future in all major distros, MySQL from Oracle is dead...

      Let's create separate mariadb dml driver, add support in installer and lang strings. This would enable adding of new environamnet checks in the future and hopefully more people will realise that MySQL is not developed in the open any more (no testcase, no bug tracker, etc.)

        Gliffy Diagrams

          Issue Links

            Activity

            Hide
            Petr Skoda added a comment -

            To integrators: the stable branches should get the same environment.xml file, butI guess we do not need to include them in the Fix version field.

            Show
            Petr Skoda added a comment - To integrators: the stable branches should get the same environment.xml file, butI guess we do not need to include them in the Fix version field.
            Hide
            Eloy Lafuente (stronk7) added a comment -

            +1 for master only. Otherwise, nice.

            Show
            Eloy Lafuente (stronk7) added a comment - +1 for master only. Otherwise, nice.
            Hide
            Dan Poltawski added a comment -

            I'm a little unclear of the benefit of this - the php driver which we detect is the same and its supposed to be a drop in replacement.

            Do we also add percona and drizzle?

            Show
            Dan Poltawski added a comment - I'm a little unclear of the benefit of this - the php driver which we detect is the same and its supposed to be a drop in replacement. Do we also add percona and drizzle?
            Hide
            Dan Poltawski added a comment -

            Also, 4 commits for this seems excessive, Petr.

            Show
            Dan Poltawski added a comment - Also, 4 commits for this seems excessive, Petr.
            Hide
            Dan Poltawski added a comment -

            The dbengine thing is the only difference from the other driver and it does not seem especially useful to me. The only thing it seems to be there for is someone being silly and putting MyISAM in the config file and it'll break because they've poorly configured it.

            I'm fine with changing the lang strings/config comments to make mariadb more 'supported', I just don't see why we need to diverge in the code. Especially as there are a few other promising mysql forks which are also unnecessarily being penalised by this.

            Show
            Dan Poltawski added a comment - The dbengine thing is the only difference from the other driver and it does not seem especially useful to me. The only thing it seems to be there for is someone being silly and putting MyISAM in the config file and it'll break because they've poorly configured it. I'm fine with changing the lang strings/config comments to make mariadb more 'supported', I just don't see why we need to diverge in the code. Especially as there are a few other promising mysql forks which are also unnecessarily being penalised by this.
            Hide
            Petr Skoda added a comment - - edited

            1/ separate driver will be imo useful in the future, anyway it was Eloy's idea - MariaDB is a real fork with different features and new version numbers
            2/ this is a great opportunity to start without MyISAM, so I took it without hesitation (not to mention the perf improvement caused by not checking the db engine to find out if transactions are supported)
            3/ it looks like mariadb is the new de facto standard, I do not see a need to mention other mysql forks (Drizzle is not suitable for Moodle and Percona is not a real fork, it is more like a distribution of OracleMySQL)

            Show
            Petr Skoda added a comment - - edited 1/ separate driver will be imo useful in the future, anyway it was Eloy's idea - MariaDB is a real fork with different features and new version numbers 2/ this is a great opportunity to start without MyISAM, so I took it without hesitation (not to mention the perf improvement caused by not checking the db engine to find out if transactions are supported) 3/ it looks like mariadb is the new de facto standard, I do not see a need to mention other mysql forks (Drizzle is not suitable for Moodle and Percona is not a real fork, it is more like a distribution of OracleMySQL)
            Hide
            Eloy Lafuente (stronk7) added a comment -

            I think it's really better having it separated since day 0, no matter we are right now reusing 99% of the mysql driver. I can imagine a point where they will diverge (they already diverges a lot in both performance and features) up to an incompatibility point. So this gets my +1.

            The only detail in this patch I'm not 100% sure is the introduction of the new "dbvendor" attribute and if we should, instead, make also the "dbfamily" different since day 0. That would require to review a few conditions out there... but perhaps it's better in the long term... not 100% sure, really.

            Ciao

            Show
            Eloy Lafuente (stronk7) added a comment - I think it's really better having it separated since day 0, no matter we are right now reusing 99% of the mysql driver. I can imagine a point where they will diverge (they already diverges a lot in both performance and features) up to an incompatibility point. So this gets my +1. The only detail in this patch I'm not 100% sure is the introduction of the new "dbvendor" attribute and if we should, instead, make also the "dbfamily" different since day 0. That would require to review a few conditions out there... but perhaps it's better in the long term... not 100% sure, really. Ciao
            Hide
            Petr Skoda added a comment -

            new dbfamily would require chnages in ddl layer and multiple other areas; yet another alternative approach would be to change the environment.xml to use actual driver names

            Show
            Petr Skoda added a comment - new dbfamily would require chnages in ddl layer and multiple other areas; yet another alternative approach would be to change the environment.xml to use actual driver names
            Hide
            Dan Poltawski added a comment -

            Note: I think you should change the string 'Improved MySQL (native/mysqli)', that suggests that its the 'best' mysql driver to choose to me.

            Show
            Dan Poltawski added a comment - Note: I think you should change the string 'Improved MySQL (native/mysqli)', that suggests that its the 'best' mysql driver to choose to me.
            Hide
            Dan Poltawski added a comment -

            Well, I have to say i'm still not 100% convinced by this, but I can't find anyone else objecting to it and so its hard for me to fight against the two dml guys. Also i'm in agreement about 'explict support', i'm just not so much on the code. So i've integrated to master.

            What I think needs to follow is:

            1. A very clear bit of documentation about the mysql situation, including I would suggest:
              1. That you can use mariadb/percona etc on < 2.6 too
              2. That the mariadb driver is to improve the compatibility over time, and is recomended if you switch to it
              3. That you can actually switch between the two db drivers (i'm thinking when people upgrade to latest fedora and their db engine has switch)
            2. Decisions/thoughts on what db engines we are doing in terms of testing. (This is why i'm not 100%, at the moment mariadb etc claim compatibility, so if there are any differences it is their bug, we're now agreeing to support the divergence). Added David and MD here for that.

            Lets do this now, before people start asking in the forums

            ps. Eloy only likes it for the name
            pps. I realised when I installed mariadb that I had been using percona for months

            Show
            Dan Poltawski added a comment - Well, I have to say i'm still not 100% convinced by this, but I can't find anyone else objecting to it and so its hard for me to fight against the two dml guys. Also i'm in agreement about 'explict support', i'm just not so much on the code. So i've integrated to master. What I think needs to follow is: A very clear bit of documentation about the mysql situation, including I would suggest: That you can use mariadb/percona etc on < 2.6 too That the mariadb driver is to improve the compatibility over time, and is recomended if you switch to it That you can actually switch between the two db drivers (i'm thinking when people upgrade to latest fedora and their db engine has switch) Decisions/thoughts on what db engines we are doing in terms of testing. (This is why i'm not 100%, at the moment mariadb etc claim compatibility, so if there are any differences it is their bug, we're now agreeing to support the divergence). Added David and MD here for that. Lets do this now, before people start asking in the forums ps. Eloy only likes it for the name pps. I realised when I installed mariadb that I had been using percona for months
            Hide
            Eloy Lafuente (stronk7) added a comment -

            Agree about the name reason 100%, just I can't say it in public. Oops!

            Show
            Eloy Lafuente (stronk7) added a comment - Agree about the name reason 100%, just I can't say it in public. Oops!
            Hide
            Damyon Wiese added a comment -

            Thanks again for another week of fixes, improvements and testing. These changes have been released to the world.

            Cheers, Damyon

            Show
            Damyon Wiese added a comment - Thanks again for another week of fixes, improvements and testing. These changes have been released to the world. Cheers, Damyon
            Hide
            Ryan Smith added a comment -

            From the documentation page:

            Is this a typo?

            $CFG->dbtype = 'masriadb';

            Show
            Ryan Smith added a comment - From the documentation page: Is this a typo? $CFG->dbtype = 'masriadb';
            Hide
            Petr Skoda added a comment -
            Show
            Petr Skoda added a comment - MariaDB documented/mentioned at: http://docs.moodle.org/26/en/MariaDB http://docs.moodle.org/dev/Moodle_2.6_release_notes http://docs.moodle.org/26/en/Installing_Moodle every config-dist.php Moodle installer
            Hide
            Petr Skoda added a comment -

            grrrr, fixed, thanks a lot!

            Show
            Petr Skoda added a comment - grrrr, fixed, thanks a lot!

              People

              • Votes:
                2 Vote for this issue
                Watchers:
                10 Start watching this issue

                Dates

                • Created:
                  Updated:
                  Resolved: