-
Notifications
You must be signed in to change notification settings - Fork 2.1k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
MariaDB 10.2.7+ #29100
MariaDB 10.2.7+ #29100
Conversation
@VicDeo I'm setting this to p1 to keep it in view before releasing 10.0.4. When the time comes we'll decide whether to use the PR or upstream depending on the progress. |
e74bdc1
to
3a9b4e4
Compare
3a9b4e4
to
5b4c939
Compare
Stable10: #29240 |
It looks like it's likely that we won't be able to use the fix from upstream because it will likely not be backported: doctrine/dbal#2825 (comment) And OC 10 still needs to support PHP 5.6. So I suggest we merge this for now and kill it once we deprecate PHP 7.0... @DeepDiver1975 do you still have objections ? |
let's get an explicit statement here: doctrine/dbal#2825 (comment) |
5b4c939
to
e24c924
Compare
Codecov Report
@@ Coverage Diff @@
## master #29100 +/- ##
============================================
+ Coverage 60.84% 61.08% +0.24%
- Complexity 17238 17287 +49
============================================
Files 1032 1033 +1
Lines 57365 57486 +121
============================================
+ Hits 34904 35116 +212
+ Misses 22461 22370 -91
Continue to review full report at Codecov.
|
7062d25
to
562d82d
Compare
562d82d
to
0926541
Compare
seems no upstream backport doctrine/dbal#2825 (comment) |
@VicDeo please write a unit test for the listener and make codecov happy. If we're going to carry this workaround long term, better have it properly covered. |
@PVince81 oook... :-/ |
@SergioBertolinSG is working on getting coverage for mysql specific code - see #29410 |
looks like we need to add mariadb 10.2.7 to the test matrix |
can we get this finished for RC1? |
@DeepDiver1975 yes, looking right now. While |
bedb2d7
to
82c780a
Compare
@DeepDiver1975 @PVince81 Tests related to false positives for default values are passing now. |
bda7a2d
to
766e7ae
Compare
Ok. Drone uses MariaDb 10.3.2
|
e6639ec
to
6908672
Compare
6908672
to
a0ed768
Compare
@VicDeo if mb4 is default in 10.3, we might need some kind of migration for the data... raise new ticket ? |
@VicDeo I've raised #29483 to look into the absence of said switch. As @DeepDiver1975 said we need to define max versions for databases. This means we might need to fix our Drone setup for now to test the older MariaDB and bypass the missing innodb switch. @SergioBertolinSG |
$eventArgs->setColumn($column); | ||
$version = \OC::$server->getDatabaseConnection()->getDatabaseVersionString(); | ||
$mariadb = false !== stripos($version, 'mariadb'); | ||
if ($mariadb && version_compare($this->getMariaDbMysqlVersionNumber($version), '10.2.7', '>=')) { |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
10.2.7, really ? not even 10.2.0 ? 😢
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@PVince81 https://jira.mariadb.org/browse/MDEV-13132
Fix Version/s: 10.2.7
$column = $this->_getPortableTableColumnDefinition($tableColumn); | ||
$eventArgs->setColumn($column); | ||
$version = \OC::$server->getDatabaseConnection()->getDatabaseVersionString(); | ||
$mariadb = false !== stripos($version, 'mariadb'); |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
what if $version is null ?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@PVince81 stripos
will return false without a warning
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Code looks good to me. See comments.
If @DeepDiver1975 also agrees with the change then let's merge.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
👍
I've explained your changes to @DeepDiver1975 and he agreed for merging |
This thread has been automatically locked since there has not been any recent activity after it was closed. Please open a new issue for related bugs. |
Description
Backup solution for #28695
I'm not happy with this solution but if upstream doesn't manage to fix the issue until 10.0.4 we'll need it
Here we bypass native Doctrine/DBAL
MySqlSchemaManager::_getPortableTableColumnDefinition
implementation for MariaDB >= 10.2.7 and use customized implementation that unquotes default values.All DB engines from non-MySQL family work as before. For MySQL family a new listener is registered.
Triggering native/customized codeflow is done inside the listener itself.
Related Issue
#28695
Motivation and Context
Fixes MariaDB 10.2.7+ support
How Has This Been Tested?
By installing ownCloud with MariaDB 10.2.7+ as a DB engine
Types of changes
Bug fix (non-breaking change which fixes an issue)
New feature (non-breaking change which adds functionality)
Breaking change (fix or feature that would cause existing functionality to change)
My code follows the code style of this project.
My change requires a change to the documentation.
I have updated the documentation accordingly.
I have read the CONTRIBUTING document.
I have added tests to cover my changes.
All new and existing tests passed.