Skip to content
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

Enforced parameter and return value types in Driver classes #3560

Merged
merged 1 commit into from
May 25, 2019

Conversation

morozov
Copy link
Member

@morozov morozov commented May 25, 2019

Q A
Type improvement
BC Break yes

The rationale behind the breaking changes is the following:

  1. Most of the underlying drivers do not allow NULL for $username or $password, therefore if we allow NULL, we'll have to replace it with an empty string in most of the implementation. At the same time, fro the drivers which support NULL (e.g. PDO) there's no difference between NULL and empty string.
  2. Some drivers (e.g. mysqli, pdo_mysql, pdo_sqlite) allow establishing a connection without selecting a database, therefore it should be possible to indicate the absence of a value in getDatabase(). This is important because consumers (mostly, schema managers) should handle the situation of "no database selected" (which they currently don't) and raise an error instead of returning an empty list of assets.

UPGRADE.md Outdated Show resolved Hide resolved
UPGRADE.md Outdated Show resolved Hide resolved
lib/Doctrine/DBAL/Driver.php Outdated Show resolved Hide resolved
@morozov
Copy link
Member Author

morozov commented May 25, 2019

Thank you @greg0ire. I wish I could use Grammarly with PhpStorm.

Copy link
Member

@jwage jwage left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Hooray!

@morozov morozov merged commit 71d4105 into doctrine:develop May 25, 2019
@morozov morozov deleted the driver-types branch May 25, 2019 23:19
@morozov morozov self-assigned this May 25, 2019
morozov added a commit to morozov/dbal that referenced this pull request May 31, 2019
Enforced parameter and return value types in Driver classes
morozov added a commit to morozov/dbal that referenced this pull request May 31, 2019
Enforced parameter and return value types in Driver classes
morozov added a commit to morozov/dbal that referenced this pull request May 31, 2019
Enforced parameter and return value types in Driver classes
morozov added a commit to morozov/dbal that referenced this pull request May 31, 2019
Enforced parameter and return value types in Driver classes
morozov added a commit that referenced this pull request Jun 13, 2019
Enforced parameter and return value types in Driver classes
morozov added a commit that referenced this pull request Jun 27, 2019
Enforced parameter and return value types in Driver classes
morozov added a commit that referenced this pull request Jun 27, 2019
Enforced parameter and return value types in Driver classes
morozov added a commit that referenced this pull request Jun 27, 2019
Enforced parameter and return value types in Driver classes
morozov added a commit to morozov/dbal that referenced this pull request Aug 26, 2019
Enforced parameter and return value types in Driver classes
morozov added a commit to morozov/dbal that referenced this pull request Aug 27, 2019
Enforced parameter and return value types in Driver classes
morozov added a commit that referenced this pull request Nov 2, 2019
Enforced parameter and return value types in Driver classes
@github-actions github-actions bot locked as resolved and limited conversation to collaborators Aug 8, 2022
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants