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

Bump doctrine/dbal from 2.12.0 to 3.0.0 #581

Merged
merged 1 commit into from
Jan 8, 2021

Conversation

dependabot-preview[bot]
Copy link
Contributor

@dependabot-preview dependabot-preview bot commented Jan 2, 2021

Bumps doctrine/dbal from 2.12.0 to 3.0.0.

Release notes

Sourced from doctrine/dbal's releases.

Release 3.0.0

Release 3.0.0

This is a major release of Doctrine DBAL that focuses on API improvements and removal of deprecated APIs.

Major release highlights

  1. Integration with PDO has been reworked. The php_pdo extension is no longer a hard dependency of the doctrine/dbal package. The PDO API is not longer the standard for DBAL APIs.
  2. The wrapper-level connection and statement classes no longer implement the corresponding driver-level interfaces.
  3. Instead of being available in certain states of the Statement class, the statement result is explicitly returned as a separate value.
  4. A new dedicated API has been introduced for unique constraints.
  5. The prepared statement portability layer has been reworked on top of the newly introducer Driver Middleware API.
  6. The logic of conversion of driver-specific error codes and exceptions has been extracted into the Exception Converter API.
  7. The SQL parser has been completely reworked to allow for better compatibility with the SQL syntax.
  8. The following database platforms are no longer supported:
    • Drizzle,
    • MariaDB 10.0 and older,
    • Microsoft Azure,
    • PostgreSQL 9.3 and older,
    • SQL Anywhere,
    • SQL Server 2008 and older.
  9. The following drivers are no longer supported:
    • pdo_ibm,
    • sasql.
  10. Passing a PDO instance initialized outside of the DBAL is no longer supported.
  11. The support for UUID generation on the database side has been dropped.
  12. The MasterSlaveConnection class has been renamed to PrimaryReplicaConnection.
  13. The executeUpdate() method has been renamed to executeStatement().
  14. All driver classes and driver-level connection and statement classes are now consistently named and declared as final.
  15. All PDO-based drivers have been moved under the PDO namespace.
  16. The Doctrine\DBAL\DBALException and Doctrine\DBAL\Driver\DriverException have been renamed to Doctrine\DBAL\Exception and Doctrine\DBAL\Driver\Exception respectively.
  • Total issues resolved: 26
  • Total pull requests resolved: 99
  • Total contributors: 13

PHP 8 support

API improvements

Upgrade guide

Sourced from doctrine/dbal's upgrade guide.

Upgrade to 2.12

Deprecated non-zero based positional parameter keys

The usage of one-based and other non-zero-based keys when binding positional parameters is deprecated.

It is recommended to not use any array keys so that the value of the parameter array complies with the list<> type constraint.

// This is valid (implicit zero-based parameter indexes)
$conn->fetchNumeric('SELECT ?, ?', [1, 2]);
// This is invalid (one-based parameter indexes)
$conn->fetchNumeric('SELECT ?, ?', [1 => 1, 2 => 2]);
// This is invalid (arbitrary parameter indexes)
$conn->fetchNumeric('SELECT ?, ?', [-31 => 1, 5 => 2]);
// This is invalid (non-sequential parameter indexes)
$conn->fetchNumeric('SELECT ?, ?', [0 => 1, 3 => 2]);

Deprecated skipping prepared statement parameters

Some underlying drivers currently allow skipping prepared statement parameters. For instance:

$conn->fetchOne('SELECT ?');
// NULL

This behavior should not be relied upon and may change in future versions.

Deprecated colon prefix for prepared statement parameters

The usage of the colon prefix when binding named parameters is deprecated.

$sql  = 'SELECT * FROM users WHERE name = :name OR username = :username';
$stmt = $conn->prepare($sql);
// The usage of the leading colon is deprecated
$stmt->bindValue(':name', $name);
// Only the parameter name should be passed
$stmt->bindValue('username', $username);
$stmt->execute();

Commits
  • ee6d126 Merge pull request #4433 from morozov/more-specific-statement-params-type
  • 41ff58d Positional statement parameters are a list
  • ede9e16 Merge pull request #4431 from BenMorel/configuration
  • 5d03f6e Use individual properties in Configuration
  • 0f55c0d Merge branch '2.12.x' into 3.0.x
  • c2c8488 Merge pull request #4403 from simPod/patch-1
  • 041df42 Merge pull request #4397 from morozov/issues/4383
  • e456ab1 Merge pull request #4429 from morozov/issues/4428
  • 6d151f9 Throw exception on invalid LockMode
  • 74bc147 Merge pull request #4400 from BenMorel/with-nolock
  • Additional commits viewable in compare view

Dependabot compatibility score

Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.

Dependabot will merge this PR once CI passes on it, as requested by @ChristophWurst.


Dependabot commands and options

You can trigger Dependabot actions by commenting on this PR:

  • @dependabot rebase will rebase this PR
  • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
  • @dependabot merge will merge this PR after your CI passes on it
  • @dependabot squash and merge will squash and merge this PR after your CI passes on it
  • @dependabot cancel merge will cancel a previously requested merge and block automerging
  • @dependabot reopen will reopen this PR if it is closed
  • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
  • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
  • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
  • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
  • @dependabot use these labels will set the current labels as the default for future PRs for this repo and language
  • @dependabot use these reviewers will set the current reviewers as the default for future PRs for this repo and language
  • @dependabot use these assignees will set the current assignees as the default for future PRs for this repo and language
  • @dependabot use this milestone will set the current milestone as the default for future PRs for this repo and language
  • @dependabot badge me will comment on this PR with code to add a "Dependabot enabled" badge to your readme

Additionally, you can set the following in your Dependabot dashboard:

  • Update frequency (including time of day and day of week)
  • Pull request limits (per update run and/or open at any time)
  • Automerge options (never/patch/minor, and dev/runtime dependencies)
  • Out-of-range updates (receive only lockfile updates, if desired)
  • Security updates (receive only security updates, if desired)

Bumps [doctrine/dbal](https://github.com/doctrine/dbal) from 2.12.0 to 3.0.0.
- [Release notes](https://github.com/doctrine/dbal/releases)
- [Upgrade guide](https://github.com/doctrine/dbal/blob/2.12.x/UPGRADE.md)
- [Commits](doctrine/dbal@2.12.0...3.0.0)

Signed-off-by: dependabot-preview[bot] <[email protected]>
Signed-off-by: Christoph Wurst <[email protected]>
@ChristophWurst ChristophWurst force-pushed the dependabot/composer/doctrine/dbal-3.0.0 branch from 7a339e6 to a9be8d0 Compare January 8, 2021 08:09
@ChristophWurst ChristophWurst merged commit 09596e4 into master Jan 8, 2021
@delete-merged-branch delete-merged-branch bot deleted the dependabot/composer/doctrine/dbal-3.0.0 branch January 8, 2021 10:39
@ChristophWurst ChristophWurst added this to the Nextcloud 21 milestone Jan 8, 2021
@rullzer rullzer mentioned this pull request Jan 8, 2021
5 tasks
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant