Details

    • Rank:
      50725

      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.)

        Issue Links

          Activity

          Hide
          Petr Škoda 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 Škoda 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 Škoda 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 Škoda 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 Škoda 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 Škoda 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 Škoda added a comment -
          Show
          Petr Škoda 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 Škoda added a comment -

          grrrr, fixed, thanks a lot!

          Show
          Petr Škoda 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: