4.0.0-beta1
版本发布时间: 2022-10-23 07:09:29
doctrine/dbal最新发布版本:4.2.1(2024-10-11 02:35:44)
Release 4.0.0-beta1
4.0.0-beta1
- Total issues resolved: 31
- Total pull requests resolved: 198
- Total contributors: 18
BC Break,QueryBuilder
- 5789: Remove QueryBuilder::getConnection() thanks to @morozov
BC Break,Connecting,Events,Schema Introspection,Schema Management,Transactions
- 5788: Remove extension via Doctrine Event Manager thanks to @morozov
Error Handling
- 5777: Remove irrelevant @throws annotations thanks to @morozov
BC Break,Schema Comparison
- 5775: Remove Comparator::diffTable() thanks to @morozov
- 5683: Remove TableDiff::$name and getName() thanks to @morozov
- 5677: Remove support for renaming tables via TableDiff thanks to @morozov
- 5676: Remove SchemaDiff::$fromSchema thanks to @morozov
- 5649: Remove property-based schema comparison APIs thanks to @morozov
- 5647: Remove ColumnDiff::$oldColumnName and ::getOldColumnName() thanks to @morozov
- 4786: Require the original column to be set on the column diff thanks to @morozov
BC Break,Schema Comparison,Schema Management
- 5774: Remove SchemaDiff::toSql() and SchemaDiff::toSaveSql() thanks to @morozov
- 5763: Remove handling orphaned foreign keys thanks to @morozov
BC Break,Schema Management
- 5769: Remove the APIs deprecated in DBAL 3.x thanks to @morozov
- 5464: Make AbstractSchemaManager::_getPortableTableForeignKeyDefinition() abstract thanks to @morozov
- 5456: Non-public API cleanup in AbstractSchemaManager thanks to @morozov
- 5441: Remove AbstractSchemaManager::getDatabasePlatform() thanks to @morozov
Improvement,Schema Comparison
- 5768: Rename parameters of the diff-related methods thanks to @morozov
Schema Comparison
- 5767: Declare internal properties of SchemaDiff as private thanks to @morozov
- 5753: Declare internal properties of TableDiff as private thanks to @morozov
- 5684: Mark ColumnDiff properties as private and read-only thanks to @morozov
- 5652: Make internal Comparator methods protected thanks to @morozov
BC Break,SQLite
- 5759: Remove user defined SQLite functions thanks to @derrabus
BC Break,Drivers,SQLite,pdo_sqlite
- 5744: Remove deprecated API to register custom SQLite functions thanks to @derrabus
BC Break,Error Handling,Improvement
- 5735: Convert Doctrine\DBAL\Schema\SchemaException to an interface thanks to @morozov
- 5726: Convert Doctrine\DBAL\Exception to an interface thanks to @morozov
- 3124: Split DBALException into smaller specific exceptions, consider dropping "Exception" suffixes thanks to @Majkl578
BC Break,Foreign Keys,Primary Keys,Schema Management
- 5733: Remove Table methods thanks to @morozov
BC Break,Error Handling,Schema Management
- 5730: Remove SchemaException error codes thanks to @morozov
Error Handling,Improvement
- 5727: Clarify semantics of logic exceptions thanks to @morozov
- 3536: Improve consistency of exception message formatting. thanks to @jwage
Error Handling,Schema Definition
- 5725: Improve ergonomics of invalid colum declaration exceptions thanks to @morozov
BC Break
-
5724: Removing deprecated
isFullfilledBy()
method thanks to @nexxai -
5337: Remove the
doctrine-dbal
binary thanks to @derrabus - 5255: Drop support for collate option thanks to @greg0ire
- 5067: Remove Platform API about commented types thanks to @greg0ire
BC Break,Configuration,Connections,PostgreSQL
- 5711: Remove PostgreSQL-specific connection parameters and behavior thanks to @morozov
SQLite,Schema Comparison,Schema Management
- 5710: Remove property-based false-positive diff workaround from SQLite schema manager thanks to @morozov
BC Break,Configuration,Connections,Platform Detection
- 5709: Remove platform detection fallback thanks to @morozov
BC Break,Configuration,Connections
- 5704: Remove driver name aliases thanks to @morozov
- 5703: Remove platform parameter of wrapper Connection thanks to @morozov
Error Handling,PHP,PostgreSQL
- 5696: Remove workaround for PHP bug in PostgreSQL exception handler thanks to @morozov
BC Break,Platforms,SQL Server
- 5679: Remove leftovers of renaming default contraints thanks to @morozov
Foreign Keys,MySQL,Schema Introspection
- 5675: Remove conditional comments for MySQL older than 5.1.16 thanks to @morozov
BC Break,Foreign Keys,MySQL,Schema Management
BC Break,Default Values,Improvement,SQL Server,Schema Management
- 5662: Introspect default constraint name thanks to @morozov
BC Break,Columns
- 5655: Remove support for "unique" and "check" column properties thanks to @morozov
BC Break,Schema Introspection
- 5648: Remove AbstractSchemaManager::createSchema() thanks to @morozov
- 5605: Remove AbstractSchemaManager::listTableDetails() thanks to @morozov
- 5289: Remove $database from AbstractSchemaManager::list*() methods thanks to @morozov
- 5280: Declare abstract AbstractSchemaManager methods as such thanks to @morozov
PostgreSQL,Schema Management
- 5641: Do not use ColumnDiff::$changedProperties in PostgreSQLPlatform::getAlterTableSQL() thanks to @morozov
SQL Server,Schema Management
- 5640: Do not use ColumnDiff::$changedProperties in SQLServerPlatform::getAlterTableSQL() thanks to @morozov
BC Break,Columns,Schema Definition
- 5631: Require precision and scale for decimal columns thanks to @morozov
Schema Management
- 5630: Rework AbstractSchemaManager::_execSql() thanks to @morozov
Schema Management,Test Suite
- 5629: Clean up test scenarios related to altering columns thanks to @morozov
Oracle,Schema Management
- 5623: Do not use ColumnDiff::$changedProperties in OraclePlatform::getAlterTableSQL() thanks to @morozov
- 5620: Remove code compensating for a schema comparison flaw thanks to @morozov
- 4598: [GH-4503] Make OracleSchemaManager::dropAutoincrement() protected thanks to @morozov
BC Break,Connections,Improvement
- 5567: Do not require a WHERE in update() and delete() Connection operations thanks to @morozov and @Majkl578
BC Break,Prepared Statements
- 5565: Remove Statement::bindParam() thanks to @morozov
- 5560: Remove the APIs deprecated in DBAL 3.x thanks to @morozov
- 4843: Mark Statement::execute() private, remove QueryBuilder::execute() thanks to @morozov
BC Break,PHP,Platforms,Portability,Transactions
- 5554: Convert enum-like classes to enums thanks to @morozov
BC Break,PHP,QueryBuilder
- 5553: Remove deprecated QueryBuilder methods and constants thanks to @morozov
BC Break,PHP,Prepared Statements
- 5548: Convert ParameterType to enum thanks to @morozov
Improvement,PHP
- 5547: Set properties to readonly if possible thanks to @derrabus
-
5080: Modernize
strpos()
calls thanks to @derrabus
PHP
- 5546: Switch to PHP 8.1 syntax via Rector thanks to @morozov
- 5545: Remove calls to setAccessible() thanks to @derrabus
- 5543: Drop PHP 8.0 support thanks to @morozov
- 5541: Switch to PHP 8.0 syntax via Rector thanks to @morozov
-
4973: Remove
ReturnTypeWillChange
attribute thanks to @derrabus
Code Style
- 5544: Bump PHPCS language level to PHP 8.1 thanks to @derrabus
BC Break,Platforms
- 5532: Remove the APIs deprecated in DBAL 3.x thanks to @morozov
- 4762: Remove AbstractPlatform::getNowExpression() thanks to @morozov
- 4728: Remove redundant platform methods thanks to @morozov
Prepared Statements
- 5525: Inconsistent parameter indexes passed to the logging middleware thanks to @mvorisek
Bug,MySQL,Schema Comparison
- 5523: Improve MySQL charset and collation comparison thanks to @morozov and @BenMorel
Platforms,SQLite
-
5521: Rename
SqlitePlatform
toSQLitePlatform
thanks to @derrabus
BC Break,Platforms,SQLite,Schema,Sequences,Types
- 5515: Remove the APIs deprecated in DBAL 3.x thanks to @morozov
BC Break,Platforms,Types
- 5512: Remove AbstractPlatform::hasNative*Type() methods and Type::requiresSQLCommentHint() thanks to @morozov
Oracle,Platforms
- 5493: Increase max identifier length for Oracle thanks to @FaritSlv
BC Break,Configuration,Schema Introspection
- 5487: Remove support for the NULL value of schema asset filter thanks to @morozov
BC Break,Columns,Types
- 5477: Remove the APIs deprecated in DBAL 3.x thanks to @morozov
BC Break,Drivers,Schema Management
- 5465: Remove Driver::getSchemaManager() thanks to @morozov
BC Break,Schema Introspection,Tools
- 5455: Remove the APIs deprecated in DBAL 3.x thanks to @morozov
BC Break,SQLite,Schema Management
- 5440: Remove SqliteSchemaManager::dropAndCreateForeignKey() thanks to @morozov
BC Break,Reserved Keywords,Schema Management
- 5438: Remove the APIs deprecated in DBAL 3.x thanks to @morozov
BC Break,Foreign Keys,Platforms
- 5430: Remove AbstractPlatform::supportsForeignKeyConstraints() thanks to @morozov
BC Break,Deprecation,Foreign Keys,Quoting,Schema Management
- 5423: Remove the APIs deprecated in DBAL 3.x thanks to @morozov
Deprecation
- 5401: Remove support for transaction nesting without savepoints thanks to @greg0ire
BC Break,Improvement,PostgreSQL
- 5396: Autoincrement via identity columns on PostgreSQL thanks to @morozov and @Seldaek
Platforms,Schema Management
- 5393: Remove hard-coded string column length thanks to @morozov
Default Values,MySQL
- 5348: Rework the logic of handling TEXT default value for Oracle MySQL thanks to @morozov
BC Break,Platforms,Schema Introspection
- 5283: Remove schema introspection methods from AbstractPlatform thanks to @morozov
BC Break,Improvement,Prepared Statements
- 5274: Return number of affected rows greater than PHP_INT_MAX as string thanks to @morozov
Reserved Keywords,Static Analysis
- 5270: Remove enforcement of consistent constructor from KeywordList thanks to @morozov
Types
- 5209: Drop references to getName() found in comments thanks to @greg0ire
BC Break,Types
- 5208: Drop Type::getName() thanks to @greg0ire
- 5143: Remove Type::canRequireSQLConversion() thanks to @morozov
IBM DB2,Improvement,Query Limit/Offset Modification
- 5156: Use native IBM DB2 11 syntax for Top-N queries thanks to @morozov
Improvement,Oracle,Query Limit/Offset Modification
- 5150: Use native Oracle 12c syntax for Top-N queries thanks to @morozov
- 3326: OCI8Statement is including DOCTRINE_ROWNUM as a column to be inserted. thanks to @LucasHaddad
Documentation,Static Analysis
- 5131: Remove redundant @throws tags from AbstractPlatform thanks to @morozov
BC Break,Platforms,Sequences
- 5123: Remove AbstractPlatform::prefersIdentityColumns() thanks to @morozov
BC Break,Oracle,Platforms
- 5114: Drop support for Oracle 12c and older thanks to @morozov
BC Break,Schema Introspection,Type Mapping
- 5107: Drop type comments entirely thanks to @greg0ire
BC Break,Tools
- 5099: Remove Graphviz visitor thanks to @morozov
BC Break,MySQL,Platforms
- 5089: Drop support for MySQL 5.6 and older and MariaDB 10.2.6 and older thanks to @morozov
BC Break,Platforms,PostgreSQL
- 5069: Drop support for Postgres 9 thanks to @derrabus
BC Break,Connections
- 5044: Remove getWrappedConnection() and add getNativeConnection() to the interface thanks to @derrabus
- 5041: Remove Connection::getWrappedConnection(), make Connection::connect() protected thanks to @morozov
- 4540: Remove Connection::getExpressionBuilder() thanks to @morozov
Type Mapping
- 5036: Drop Flyweight pattern thanks to @greg0ire
BC Break,Logging
- 5016: Remove SQLLogger interface, its implementations and usage thanks to @morozov
BC Break,Platforms,SQLite,Schema Management
- 4965: Drop support for CREATE|DROP DATABASE in SQLite schema manager thanks to @morozov
Test Suite
- 4964: Remove redundant PHPUnit mocks thanks to @morozov
BC Break,Error Handling,Improvement,Schema Management
Improvement
- 4926: Narrow down driver return types thanks to @derrabus
BC Break,SQL Server
- 4860: Drop support for SQL Server 2016 and older thanks to @morozov
BC Break,Foreign Keys,Indexes,Platforms,Schema,Schema Management
- 4842: Remove the Constraint interface thanks to @morozov
BC Break,Oracle,PostgreSQL,SQL Server,SQLite,Schema,Schema Management
- 4831: Remove deprecated APIs thanks to @morozov
BC Break,Indexes,Platforms
- 4806: Remove $name from AbstractPlatform object declaration methods thanks to @morozov
BC Break,Platforms,SQLite
- 4804: Remove AbstractPlatform::canEmulateSchemas() thanks to @morozov
Platforms,Sequences
- 4803: Remove AbstractPlatform::getSequencePrefix() thanks to @morozov
Code Style,Strict Typing
- 4799: Remove suppression for MissingNativeTypeHint errors thanks to @morozov
BC Break,Events,Platforms,Schema Management
- 4797: Remove support for passing assets as names thanks to @morozov
BC Break,Improvement,Schema
- 4777: Represent table columns as list in the order of declaration thanks to @morozov
BC Break,Improvement,Schema Comparison
- 4771: Remove platform-unaware schema comparison API thanks to @morozov
- 4722: Remove deprecated Comparator::compare() thanks to @trompette
BC Break,Connections,Drivers,Platform Detection
- 4764: Remove VersionAwarePlatformDriver and ServerInfoAwareConnection thanks to @morozov
BC Break,Platforms,PostgreSQL,SQL Server
- 4763: Remove AbstractPlatform::getName() thanks to @morozov
BC Break,Bug,Foreign Keys,Schema Comparison,Schema Definition
- 4742: Remove reference from foreign key to its referencing table thanks to @morozov
BC Break,Improvement,Platforms
- 4723: Declare abstract methods in AbstractPlatform as abstract thanks to @morozov
- 3315: Got rid of func_num_args() in AbstractPlatform::getDummySelectSQL() thanks to @morozov
Connections,Error Handling,Improvement,Transactions
- 4713: Handle lost connection during commit thanks to @morozov
BC Break,Sequences
- 4692: [GH-4681] Remove TableGenerator thanks to @morozov
BC Break,Connections,PDO,Sequences
- 4691: [GH-4687] Remove support for Connection::lastInsertId($name) thanks to @morozov
BC Break,Improvement,MySQL,Platforms
- 4644: Remove defaults for MySQL table charset, collation and engine thanks to @morozov and @fmonts
BC Break,Cache
- 4626: Remove support for Doctrine Cache thanks to @derrabus
BC Break,Reserved Keywords
- 4597: [GH-4510] Remove ReservedWordsCommand::setKeywordListClass() thanks to @morozov
BC Break,Platforms,Reserved Keywords
- 4583: [GH-4510] Remove AbstractPlatform::getReservedKeywordsClass() thanks to @morozov
BC Break,PostgreSQL,Schema Management
- 4577: Remove deprecated schema- and namespace-related APIs thanks to @morozov
Static Analysis
- 4552: Remove the no longer needed Psalm issue suppressions thanks to @morozov
BC Break,Bug,Connections,Schema Management
- 4518: Remove Connection::$_schemaManager and ::getSchemaManager() thanks to @morozov
BC Break,Bug,Connections
- 4516: Remove Connection::$_expr thanks to @morozov
Code Style,Improvement,mysqli,oci8
- 4051: Fix final class member names according to the coding standard thanks to @morozov
Error Handling,Transactions
- 3995: Failures during commit and rollback are not handled thanks to @mariusbalcytis
BC Break,Improvement,Schema,Schema Introspection,Schema Management
- 3949: Make table and column comments non-nullable strings thanks to @morozov
Improvement,QueryBuilder
- 3868: Disallow empty CompositeExpression thanks to @BenMorel and @morozov
- 3844: CompositeExpression is mutable thanks to @morozov
- 3045: When rendering SQL, only render the alias if it's different from the table name thanks to @morozov
BC Break,Improvement,QueryBuilder
- 3865: Remove ExpressionBuilder::andX()/orX() thanks to @BenMorel
- 3858: Make CompositeExpression immutable thanks to @BenMorel
Code Style,Improvement
- 3849: Clean up unused variables thanks to @BenMorel
- 3848: expectException() is not static thanks to @BenMorel
BC Break,Improvement,QueryBuilder,Strict Typing
- 3841: Enforced argument and return types in QueryBuilder and ExpressionBuilder thanks to @morozov
- 3836: Introduce properties for SQL parts in QueryBuilder thanks to @BenMorel
- 3833: Introduce From class in QueryBuilder thanks to @BenMorel
- 3831: Replaced func_get_args() with variadic arguments thanks to @morozov
- 3830: Introduce Join class in QueryBuilder thanks to @BenMorel
- 3574: Add proper types to Doctrine\DBAL\Query namespace. thanks to @jwage
BC Break,Connecting,Improvement,Prepared Statements,Strict Typing
- 3839: Added the missing argument type to Connection::executeQuery($types) thanks to @morozov
Improvement,QueryBuilder,Strict Typing
- 3835: Fix phpstan error thanks to @BenMorel
BC Break,Improvement,Schema Introspection,Schema Management
Improvement,Strict Typing
- 3824: Fix phpstan errors thanks to @BenMorel
- 3801: Fix phpstan errors thanks to @BenMorel
BC Break,Improvement,Schema Definition,Strict Typing,Test Suite,Types
- 3822: Fix some whitelisted PHPStan errors thanks to @morozov
Bug,Documentation
- 3816: Fix documented return type thanks to @BenMorel
Improvement,Test Suite
- 3800: Refactor FK exception tests thanks to @BenMorel
- 3797: Fix typos in SQLite thanks to @BenMorel
Code Style,Improvement,MySQL
- 3795: Document MySQL error codes thanks to @BenMorel
Bug,QueryBuilder
- 3601: Wrong "from" statement if delete query with query builder thanks to @NikitaKharkov
Columns,Improvement,Test Suite
- 3599: Make sure that (VAR)CHAR column length is specified in characters, not bytes thanks to @morozov
BC Break,Columns,Improvement,Platforms
- 3586: Get rid of hard-coded default values of maximum field lengths thanks to @morozov
BC Break,Columns,Events,Improvement,Tables
- 3583: Getting rid of the column name index thanks to @morozov
Improvement,Strict Typing,Test Suite
- 3582: Enable phpstan in DBAL tests thanks to @jwage
BC Break,Events,Improvement,Strict Typing
- 3577: Enforced parameter and return value types in event-related classes thanks to @morozov
BC Break,Improvement,Strict Typing
- 3576: Add proper types to root Doctrine\DBAL namespace. thanks to @jwage
- 3573: Add proper types to Doctrine\DBAL\Id namespace. thanks to @jwage
Improvement,Sharding,Strict Typing
- 3571: Add proper types to the Doctrine\DBAL\Sharding namespace. thanks to @jwage
BC Break,Improvement,Strict Typing,Tools
- 3570: Add proper types to Doctrine\DBAL\Tools namespace. thanks to @jwage
BC Break,Improvement,Strict Typing,Types
- 3569: Add proper types to Doctrine\DBAL\Types namespace. thanks to @jwage
BC Break,Connections,Improvement,Strict Typing
- 3568: Enforced parameter and return value types in Connection classes thanks to @morozov
BC Break,Improvement,Schema,Strict Typing
- 3565: Add types to Schema namespace thanks to @jwage
BC Break,Improvement,Platforms,Strict Typing
- 3562: Enforced parameter and return value types in Platform classes thanks to @morozov
- 3494: Modified AbstractPlatform::getLocateExpression() and ::getSubstringExpression() signatures thanks to @morozov
- 3491: Changed the type of $char in AbstractPlatform::getTrimExpression()from string|false to ?string thanks to @morozov
BC Break,Drivers,Improvement,Strict Typing
- 3560: Enforced parameter and return value types in Driver classes thanks to @morozov
BC Break,Improvement,Prepared Statements,Strict Typing
- 3552: Enforced parameter and return value types in Statement classes thanks to @morozov
BC Break,Improvement
- 3525: Extract exception factory methods into specific exceptions thanks to @jwage
- 2854: Enable strict types thanks to @Majkl578
BC Break,Deprecation,Platforms,PostgreSQL
- 3520: Drop support for feferred misspelling in PostgreSqlPlatform::getAdvancedForeignKeyOptionsSQL() thanks to @jwage and @Majkl578
Bug
- 3519: Fix UniqueConstraint with empty name. thanks to @jwage and @morozov
BC Break,Columns,Improvement,Schema Management,Strict Typing
- 3511: Added type hints to the Column class thanks to @morozov
BC Break,IBM DB2,Improvement
- 3502: Removed DB2SchemaManager::_getPortableForeignKeyRuleDef() thanks to @morozov
BC Break,Improvement,Platforms,Prepared Statements,SQLite,Strict Typing
- 3498: Reworked AbstractPlatform::get*Expression() methods thanks to @morozov
BC Break,Connections,Improvement,Quoting,Strict Typing
- 3488: Connection::quote() can only quote strings thanks to @morozov
BC Break,Connections,Improvement,Prepared Statements,Strict Typing
- 3486: Converted Connection and Statement methods which returned false in case of a failure into void thanks to @morozov
BC Break,Connections,Strict Typing,Transactions
- 3480: Transaction-related Statement methods return void thanks to @morozov
BC Break,Error Handling,Improvement,Prepared Statements,mysqli,oci8
- 3369: Handle binding errors in OCI8Statement::execute() and MySQLiStatement::execute() thanks to @morozov
BC Break,Code Style,Improvement,Strict Typing
- 3348: Enforce parameter and return value types in the codebase thanks to @morozov
BC Break,Improvement,Platforms,Query Limit/Offset Modification
- 3248: Made the OFFSET in LIMIT queries non-nullable integer defaulting to 0 thanks to @morozov
BC Break,Columns,Platforms,Schema Definition,Type Conversion,Type Mapping,Types
- 3179: Removed the logic of using BLOB columns for BINARY type of fields thanks to @morozov
Platforms,SQLite,Schema Introspection,Type Mapping,Types
-
3119: Added "string" mapping in SqlitePlatform thanks to @DeyV
-
3081: collate gets suffix '_unicode_ci' which is bad for latin1 thanks to @dominikzogg
-
2388: CompositeExpression can't handle empty CompositeExpression objects thanks to @IchHabRecht