Index length can be a string: ensure that it is an integer when read by the MySqlSchemaManager#3420
Merged
morozov merged 1 commit intodoctrine:masterfrom Jan 6, 2019
leofeyer:hotfix/index-length
Merged
Index length can be a string: ensure that it is an integer when read by the MySqlSchemaManager#3420morozov merged 1 commit intodoctrine:masterfrom leofeyer:hotfix/index-length
string: ensure that it is an integer when read by the MySqlSchemaManager#3420morozov merged 1 commit intodoctrine:masterfrom
leofeyer:hotfix/index-length
Conversation
Ocramius
reviewed
Jan 2, 2019
Contributor
Author
|
@morozov Can we be certain that this issue is not limited to MySQL? Otherwise I would prefer to apply the changes to the Edit: I guess we should apply the logic to MySQL only, as the changes break the OCI tests. |
Member
|
@leofeyer if I'm not mistaken, prefix indices are only supported by MySQL, so it should be fine to fix/test it only for MySQL. Once the changes are complete, please squash the commits. |
Contributor
Author
|
Done. |
string: ensure that it is an integer when read by the MySqlSchemaManager
Ocramius
reviewed
Jan 5, 2019
tests/Doctrine/Tests/DBAL/Functional/Schema/MySqlSchemaManagerTest.php
Outdated
Show resolved
Hide resolved
Member
|
@leofeyer please rebase on master and fix the code style violation. |
Contributor
Author
|
Done. |
morozov
approved these changes
Jan 6, 2019
morozov
added a commit
that referenced
this pull request
Jan 6, 2019
Member
|
Thank you @leofeyer 👍 |
rgrellmann
pushed a commit
to Rossmann-IT/dbal
that referenced
this pull request
Apr 22, 2020
Release v2.9.3 [](https://travis-ci.org/doctrine/dbal) This release fixes regressions introduced in previous releases and other bugs. - Total issues resolved: **5** - Total pull requests resolved: **14** - Total contributors: **9** **Regressions** - [3686: Fixed query result caching when `FetchMode::COLUMN` is used](doctrine#3686) thanks to @morozov and @Junker - [3456: Compare type class when comparing columns.](doctrine#3456) thanks to @garret-gunter and @cs278 **Other bugs** - [3679: fix begin trasaction after reconnect](doctrine#3679) thanks to @kalinin-k-a - [3547: Default column expressions do not work on SQL Server](doctrine#3547) thanks to @morozov - [3420: Index length can be a `string`: ensure that it is an integer when read by the `MySqlSchemaManager`](doctrine#3420) thanks to @leofeyer **CI improvements and maintenance** - [3702: Updated SQL Server extensions to fix build failures on PHP 7.4](doctrine#3702) thanks to @morozov - [3662: Marked connection exception test incomplete on MySQL 8](doctrine#3662) thanks to @morozov - [3622: Switched from ibmcom/db2express-c to ibmcom/db2](doctrine#3622) thanks to @morozov - [3465: Replaced MySQL 5.7 installed from a PPA with an official Docker image](doctrine#3465) thanks to @morozov - [3454: CI: Test against PHP 7.4snapshot instead of nightly (8.0)](doctrine#3454) thanks to @Majkl578 - [3452: Fixed AppVeyor build configuration and the issue on SQL Server](doctrine#3452) thanks to @morozov and @Majkl578 - [3447: Replaced custom docker image for PostgreSQL with the official one](doctrine#3447) thanks to @morozov - [3407: CI: Test against MySQL 8.0 on Travis](doctrine#3407) thanks to @morozov **PHP 7.4 support** - [3642: Fixed test failures on PHP 7.4](doctrine#3642) thanks to @morozov # gpg: Signature made Sat Nov 2 23:20:42 2019 # gpg: using RSA key 374EADAF543AE995 # gpg: Can't check signature: public key not found
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to subscribe to this conversation on GitHub.
Already have an account?
Sign in.
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Fixes #3415.
Summary
When using MySQL,
AbstractSchemaManager::listTableIndexes()will return the index length as string, which makes the strict comparison inIndex::hasSameColumnLengths()fail.$this->options['length']will have the index length as string and$other->options['length']as integer.I am not 100% sure if my fix is in the right place, as we could also cast to int in the _getPortableTableIndexesList() method. So feel free to adjust the PR as necessary.