Skip to content
Permalink

Comparing changes

This is a direct comparison between two commits made in this repository or its related repositories. View the default comparison for this range or learn more about diff comparisons.

Open a pull request

Create a new pull request by comparing changes across two branches. If you need to, you can also . Learn more about diff comparisons here.
base repository: doctrine/dbal
Failed to load repositories. Confirm that selected base ref is valid, then try again.
Loading
base: 68007b2cb395117afbbd25ac436ee434f4e5d1d4
Choose a base ref
..
head repository: doctrine/dbal
Failed to load repositories. Confirm that selected head ref is valid, then try again.
Loading
compare: 969c47fc2fc56968fb108ad9307a18d03bf4ff0c
Choose a head ref
Showing with 4,118 additions and 1,748 deletions.
  1. +9 −4 .doctrine-project.json
  2. +1 −1 .github/workflows/coding-standards.yml
  3. +44 −35 .github/workflows/continuous-integration.yml
  4. +1 −1 .github/workflows/release-on-milestone-closed.yml
  5. +2 −2 .github/workflows/static-analysis.yml
  6. +3 −1 CONTRIBUTING.md
  7. +2 −2 UPGRADE.md
  8. +6 −0 ci/github/phpunit/ibm_db2.xml
  9. +39 −0 ci/github/phpunit/oci8-21.xml
  10. +2 −2 ci/github/phpunit/oci8.xml
  11. +39 −0 ci/github/phpunit/pdo_oci-21.xml
  12. +2 −2 ci/github/phpunit/pdo_oci.xml
  13. +5 −4 composer.json
  14. +15 −0 docs/en/reference/configuration.rst
  15. +4 −2 docs/en/reference/data-retrieval-and-manipulation.rst
  16. +2 −1 docs/en/reference/platforms.rst
  17. +19 −0 docs/en/reference/schema-representation.rst
  18. +15 −3 docs/en/reference/types.rst
  19. +13 −0 phpcs.xml.dist
  20. +5 −1 phpstan.neon.dist
  21. +14 −3 psalm.xml.dist
  22. +7 −2 src/ArrayParameterType.php
  23. +21 −0 src/Configuration.php
  24. +27 −3 src/Connection.php
  25. +50 −2 src/Driver/AbstractDB2Driver.php
  26. +29 −10 src/Driver/AbstractMySQLDriver.php
  27. +12 −7 src/Driver/IBMDB2/Statement.php
  28. +15 −17 src/Driver/Mysqli/Statement.php
  29. +5 −0 src/Driver/PDO/Connection.php
  30. +2 −0 src/Driver/PDO/ParameterTypeMap.php
  31. +9 −0 src/Driver/PDO/SQLSrv/Statement.php
  32. +30 −47 src/Driver/PDO/Statement.php
  33. +3 −8 src/Driver/PgSQL/Statement.php
  34. +2 −2 src/Driver/SQLite3/Connection.php
  35. +6 −6 src/Driver/SQLite3/Result.php
  36. +20 −3 src/Driver/SQLite3/Statement.php
  37. +5 −4 src/DriverManager.php
  38. +1 −0 src/ExpandArrayParameters.php
  39. +2 −0 src/FetchMode.php
  40. +54 −31 src/Platforms/AbstractMySQLPlatform.php
  41. +24 −1 src/Platforms/AbstractPlatform.php
  42. +40 −0 src/Platforms/DB2111Platform.php
  43. +64 −33 src/Platforms/DB2Platform.php
  44. +1 −1 src/Platforms/MariaDb1027Platform.php
  45. +118 −0 src/Platforms/MariaDb1043Platform.php
  46. +38 −0 src/Platforms/MariaDb1052Platform.php
  47. +24 −23 src/Platforms/OraclePlatform.php
  48. +45 −42 src/Platforms/PostgreSQLPlatform.php
  49. +31 −30 src/Platforms/SQLServerPlatform.php
  50. +77 −32 src/Platforms/SqlitePlatform.php
  51. +14 −6 src/Portability/Converter.php
  52. +12 −5 src/Portability/Driver.php
  53. +8 −0 src/Portability/Middleware.php
  54. +1 −1 src/Portability/OptimizeFlags.php
  55. +1 −0 src/Query/Expression/CompositeExpression.php
  56. +5 −1 src/Query/QueryBuilder.php
  57. +21 −2 src/Result.php
  58. +3 −3 src/Schema/AbstractSchemaManager.php
  59. +3 −3 src/Schema/Column.php
  60. +0 −4 src/Schema/DB2SchemaManager.php
  61. +39 −3 src/Schema/MySQLSchemaManager.php
  62. +2 −2 src/Schema/PostgreSQLSchemaManager.php
  63. +15 −6 src/Schema/SqliteSchemaManager.php
  64. +35 −0 src/Tools/Console/Command/CommandCompatibility.php
  65. +4 −8 src/Tools/Console/Command/ReservedWordsCommand.php
  66. +4 −8 src/Tools/Console/Command/RunSqlCommand.php
  67. +9 −2 src/Tools/DsnParser.php
  68. +1 −1 src/Types/DateIntervalType.php
  69. +7 −7 src/Types/DateTimeImmutableType.php
  70. +38 −8 src/Types/DateTimeType.php
  71. +7 −7 src/Types/DateTimeTzImmutableType.php
  72. +35 −9 src/Types/DateTimeTzType.php
  73. +35 −9 src/Types/DateType.php
  74. +7 −7 src/Types/TimeImmutableType.php
  75. +35 −9 src/Types/TimeType.php
  76. +10 −0 src/Types/Type.php
  77. +20 −16 src/Types/TypeRegistry.php
  78. +5 −6 src/Types/VarDateTimeImmutableType.php
  79. +7 −7 src/Types/VarDateTimeType.php
  80. +32 −4 tests/Connection/ExpandArrayParametersTest.php
  81. +3 −3 tests/ConnectionTest.php
  82. +2 −9 tests/Driver/{AbstractDB2DriverTest.php → AbstractDB2DriverTestCase.php}
  83. +1 −57 tests/Driver/{AbstractDriverTest.php → AbstractDriverTestCase.php}
  84. +0 −85 tests/Driver/AbstractMySQLDriverTest.php
  85. +33 −0 tests/Driver/AbstractMySQLDriverTestCase.php
  86. +2 −9 tests/Driver/{AbstractOracleDriverTest.php → AbstractOracleDriverTestCase.php}
  87. +2 −23 tests/Driver/{AbstractPostgreSQLDriverTest.php → AbstractPostgreSQLDriverTestCase.php}
  88. +2 −12 tests/Driver/{AbstractSQLServerDriverTest.php → AbstractSQLServerDriverTestCase.php}
  89. +2 −9 tests/Driver/{AbstractSQLiteDriverTest.php → AbstractSQLiteDriverTestCase.php}
  90. +2 −2 tests/Driver/IBMDB2/{DB2DriverTest.php → DriverTest.php}
  91. +2 −2 tests/Driver/Mysqli/DriverTest.php
  92. +2 −2 tests/Driver/OCI8/DriverTest.php
  93. +2 −2 tests/Driver/PDO/MySQL/DriverTest.php
  94. +2 −2 tests/Driver/PDO/OCI/DriverTest.php
  95. +2 −2 tests/Driver/PDO/PgSQL/DriverTest.php
  96. +2 −2 tests/Driver/PDO/SQLSrv/DriverTest.php
  97. +2 −2 tests/Driver/PDO/SQLite/DriverTest.php
  98. +2 −2 tests/Driver/SQLSrv/DriverTest.php
  99. +156 −0 tests/Driver/VersionAwarePlatformDriverTest.php
  100. +9 −13 tests/DriverManagerTest.php
  101. +2 −1 tests/Functional/AutoIncrementColumnTest.php
  102. +354 −0 tests/Functional/BinaryDataAccessTest.php
  103. +8 −4 tests/Functional/BlobTest.php
  104. +1 −1 tests/Functional/ConnectionTest.php
  105. +5 −5 tests/Functional/DataAccessTest.php
  106. +1 −1 tests/Functional/Driver/{AbstractDriverTest.php → AbstractDriverTestCase.php}
  107. +1 −1 tests/Functional/Driver/{AbstractPostgreSQLDriverTest.php → AbstractPostgreSQLDriverTestCase.php}
  108. +52 −0 tests/Functional/Driver/DBAL6044Test.php
  109. +2 −2 tests/Functional/Driver/IBMDB2/DriverTest.php
  110. +2 −2 tests/Functional/Driver/Mysqli/DriverTest.php
  111. +101 −0 tests/Functional/Driver/Mysqli/ResultTest.php
  112. +3 −2 tests/Functional/Driver/OCI8/ConnectionTest.php
  113. +2 −2 tests/Functional/Driver/OCI8/DriverTest.php
  114. +1 −1 tests/Functional/Driver/OCI8/ResultTest.php
  115. +2 −2 tests/Functional/Driver/PDO/MySQL/DriverTest.php
  116. +2 −2 tests/Functional/Driver/PDO/OCI/DriverTest.php
  117. +2 −2 tests/Functional/Driver/PDO/PgSQL/DriverTest.php
  118. +2 −2 tests/Functional/Driver/PDO/SQLSrv/DriverTest.php
  119. +2 −2 tests/Functional/Driver/PDO/SQLite/DriverTest.php
  120. +2 −2 tests/Functional/Driver/PgSQL/DriverTest.php
  121. +7 −7 tests/Functional/Driver/PgSQL/ResultTest.php
  122. +2 −2 tests/Functional/Driver/SQLSrv/DriverTest.php
  123. +2 −2 tests/Functional/Driver/SQLite3/DriverTest.php
  124. +14 −13 tests/Functional/ExceptionTest.php
  125. +1 −1 tests/Functional/FetchBooleanTest.php
  126. +33 −5 tests/Functional/LegacyAPITest.php
  127. +2 −1 tests/Functional/LockMode/NoneTest.php
  128. +4 −3 tests/Functional/ModifyLimitQueryTest.php
  129. +4 −3 tests/Functional/NamedParametersTest.php
  130. +2 −2 tests/Functional/Platform/AlterColumnTest.php
  131. +3 −2 tests/Functional/Platform/DateExpressionTest.php
  132. +3 −2 tests/Functional/Platform/NewPrimaryKeyWithNewAutoIncrementColumnTest.php
  133. +37 −0 tests/Functional/Platform/OtherSchemaTest.php
  134. +2 −1 tests/Functional/Platform/PlatformRestrictionsTest.php
  135. +4 −3 tests/Functional/Platform/RenameColumnTest.php
  136. +8 −5 tests/Functional/PortabilityTest.php
  137. +2 −1 tests/Functional/PrimaryReadReplicaConnectionTest.php
  138. +3 −2 tests/Functional/SQL/Builder/CreateAndDropSchemaObjectsSQLBuilderTest.php
  139. +68 −0 tests/Functional/Schema/CustomIntrospectionTest.php
  140. +3 −2 tests/Functional/Schema/Db2SchemaManagerTest.php
  141. +3 −2 tests/Functional/Schema/DefaultValueTest.php
  142. +40 −0 tests/Functional/Schema/MySQL/ComparatorTest.php
  143. +142 −0 tests/Functional/Schema/MySQL/JsonCollationTest.php
  144. +85 −54 tests/Functional/Schema/MySQLSchemaManagerTest.php
  145. +17 −17 tests/Functional/Schema/OracleSchemaManagerTest.php
  146. +30 −30 tests/Functional/Schema/PostgreSQLSchemaManagerTest.php
  147. +51 −41 tests/Functional/Schema/SQLServerSchemaManagerTest.php
  148. +92 −81 tests/Functional/Schema/SchemaManagerFunctionalTestCase.php
  149. +89 −9 tests/Functional/Schema/SqliteSchemaManagerTest.php
  150. +18 −0 tests/Functional/Schema/Types/Money.php
  151. +72 −0 tests/Functional/Schema/Types/MoneyType.php
  152. +7 −6 tests/Functional/StatementTest.php
  153. +5 −4 tests/Functional/TemporaryTableTest.php
  154. +3 −2 tests/Functional/Ticket/DBAL168Test.php
  155. +2 −1 tests/Functional/Ticket/DBAL202Test.php
  156. +3 −2 tests/Functional/Ticket/DBAL461Test.php
  157. +2 −1 tests/Functional/Ticket/DBAL510Test.php
  158. +9 −8 tests/Functional/Ticket/DBAL752Test.php
  159. +42 −32 tests/Functional/TypeConversionTest.php
  160. +3 −2 tests/Functional/Types/AsciiStringTest.php
  161. +3 −2 tests/Functional/Types/BinaryTest.php
  162. +1 −1 tests/Functional/Types/DecimalTest.php
  163. +2 −1 tests/Functional/Types/GuidTest.php
  164. +97 −0 tests/Functional/Types/JsonTest.php
  165. +7 −6 tests/Functional/WriteTest.php
  166. +39 −38 tests/Platforms/AbstractMySQLPlatformTestCase.php
  167. +100 −88 tests/Platforms/AbstractPlatformTestCase.php
  168. +19 −19 tests/Platforms/DB2PlatformTest.php
  169. +42 −0 tests/Platforms/MariaDb1043PlatformTest.php
  170. +52 −0 tests/Platforms/MariaDb1052PlatformTest.php
  171. +2 −2 tests/Platforms/MySQL/ComparatorTest.php
  172. +88 −0 tests/Platforms/MySQL/MariaDbJsonComparatorTest.php
  173. +3 −2 tests/Platforms/MySQLPlatformTest.php
  174. +16 −15 tests/Platforms/OraclePlatformTest.php
  175. +42 −30 tests/Platforms/PostgreSQLPlatformTest.php
  176. +2 −1 tests/Platforms/ReservedKeywordsValidatorTest.php
  177. +2 −2 tests/Platforms/SQLServer/ComparatorTest.php
  178. +146 −126 tests/Platforms/SQLServerPlatformTest.php
  179. +2 −2 tests/Platforms/SQLite/ComparatorTest.php
  180. +25 −20 tests/Platforms/SqlitePlatformTest.php
  181. +4 −4 tests/Portability/ConnectionTest.php
  182. +15 −14 tests/Portability/ConverterTest.php
  183. +7 −0 tests/Query/QueryBuilderTest.php
  184. +129 −144 tests/Schema/{ComparatorTest.php → AbstractComparatorTestCase.php}
  185. +6 −6 tests/Schema/ColumnTest.php
  186. +4 −3 tests/Schema/MySQLInheritCharsetTest.php
  187. +4 −3 tests/Schema/Platforms/MySQLSchemaTest.php
  188. +6 −5 tests/Schema/SchemaTest.php
  189. +3 −2 tests/Schema/SequenceTest.php
  190. +66 −65 tests/Schema/TableTest.php
  191. +5 −4 tests/Schema/Visitor/RemoveNamespacedAssetsTest.php
  192. +21 −1 tests/Tools/DsnParserTest.php
  193. +1 −1 tests/Types/BaseDateTypeTestCase.php
  194. +3 −0 tests/Types/DateTest.php
  195. +2 −1 tests/Types/DateTimeImmutableTypeTest.php
  196. +4 −1 tests/Types/DateTimeTest.php
  197. +2 −1 tests/Types/DateTimeTzImmutableTypeTest.php
  198. +3 −0 tests/Types/DateTimeTzTest.php
  199. +3 −0 tests/Types/TimeTest.php
  200. +8 −0 tests/Types/TypeRegistryTest.php
  201. +10 −2 tests/Types/TypeTest.php
  202. +2 −1 tests/Types/VarDateTimeImmutableTypeTest.php
  203. +5 −2 tests/Types/VarDateTimeTest.php
13 changes: 9 additions & 4 deletions .doctrine-project.json
Original file line number Diff line number Diff line change
@@ -11,18 +11,23 @@
"slug": "latest",
"upcoming": true
},
{
"name": "3.8",
"branchName": "3.8.x",
"slug": "3.8",
"upcoming": true
},
{
"name": "3.7",
"branchName": "3.7.x",
"slug": "3.7",
"upcoming": true
"current": true
},
{
"name": "3.6",
"branchName": "3.6.x",
"slug": "current",
"current": true,
"aliases": ["stable"]
"slug": "3.6",
"maintained": false
},
{
"name": "3.5",
2 changes: 1 addition & 1 deletion .github/workflows/coding-standards.yml
Original file line number Diff line number Diff line change
@@ -25,4 +25,4 @@ on:
jobs:
coding-standards:
name: "Coding Standards"
uses: "doctrine/.github/.github/workflows/coding-standards.yml@3.0.0"
uses: "doctrine/.github/.github/workflows/coding-standards.yml@3.1.0"
79 changes: 44 additions & 35 deletions .github/workflows/continuous-integration.yml
Original file line number Diff line number Diff line change
@@ -62,7 +62,7 @@ jobs:

steps:
- name: "Checkout"
uses: "actions/checkout@v3"
uses: "actions/checkout@v4"
with:
fetch-depth: 2

@@ -111,13 +111,14 @@ jobs:
- "8.3"
oracle-version:
- "21"
- "23"
include:
- php-version: "7.4"
oracle-version: "11"

services:
oracle:
image: gvenzl/oracle-xe:${{ matrix.oracle-version }}
image: gvenzl/oracle-${{ matrix.oracle-version < 23 && 'xe' || 'free' }}:${{ matrix.oracle-version }}
env:
ORACLE_PASSWORD: oracle
ports:
@@ -130,7 +131,7 @@ jobs:
steps:
- name: "Checkout"
uses: "actions/checkout@v3"
uses: "actions/checkout@v4"
with:
fetch-depth: 2

@@ -148,7 +149,7 @@ jobs:
composer-options: "--ignore-platform-req=php+"

- name: "Run PHPUnit"
run: "vendor/bin/phpunit -c ci/github/phpunit/oci8.xml --coverage-clover=coverage.xml"
run: "vendor/bin/phpunit -c ci/github/phpunit/oci8${{ matrix.oracle-version < 23 && '-21' || '' }}.xml --coverage-clover=coverage.xml"

- name: "Upload coverage file"
uses: "actions/upload-artifact@v3"
@@ -169,13 +170,14 @@ jobs:
- "8.3"
oracle-version:
- "21"
- "23"
include:
- php-version: "7.4"
oracle-version: "11"

services:
oracle:
image: gvenzl/oracle-xe:${{ matrix.oracle-version }}
image: gvenzl/oracle-${{ matrix.oracle-version < 23 && 'xe' || 'free' }}:${{ matrix.oracle-version }}
env:
ORACLE_PASSWORD: oracle
ports:
@@ -188,7 +190,7 @@ jobs:
steps:
- name: "Checkout"
uses: "actions/checkout@v3"
uses: "actions/checkout@v4"
with:
fetch-depth: 2

@@ -206,7 +208,7 @@ jobs:
composer-options: "--ignore-platform-req=php+"

- name: "Run PHPUnit"
run: "vendor/bin/phpunit -c ci/github/phpunit/pdo_oci.xml --coverage-clover=coverage.xml"
run: "vendor/bin/phpunit -c ci/github/phpunit/pdo_oci${{ matrix.oracle-version < 23 && '-21' || '' }}.xml --coverage-clover=coverage.xml"

- name: "Upload coverage file"
uses: "actions/upload-artifact@v3"
@@ -226,21 +228,22 @@ jobs:
postgres-version:
- "9.4"
- "15"
- "16"
extension:
- "pgsql"
- "pdo_pgsql"
include:
- php-version: "8.2"
postgres-version: "15"
postgres-version: "16"
extension: "pgsql"
- php-version: "8.3"
postgres-version: "15"
postgres-version: "16"
extension: "pgsql"
- php-version: "8.2"
postgres-version: "15"
postgres-version: "16"
extension: "pdo_pgsql"
- php-version: "8.3"
postgres-version: "15"
postgres-version: "16"
extension: "pdo_pgsql"

services:
@@ -257,7 +260,7 @@ jobs:

steps:
- name: "Checkout"
uses: "actions/checkout@v3"
uses: "actions/checkout@v4"
with:
fetch-depth: 2

@@ -293,33 +296,35 @@ jobs:
php-version:
- "7.4"
mariadb-version:
- "10.0"
- "10.2"
- "10.5"
- "10.7"
- "10.9"
- "10.11"
- "10.0" # Oldest version supported by DBAL
- "10.4" # LTS (Jun 2024)
- "10.5" # LTS (Jun 2025)
- "10.6" # LTS (Jul 2026)
- "10.11" # LTS (Feb 2028)
- "11.0" # STS (Jun 2024)
- "11.1" # STS (Aug 2024)
- "11.2" # STS (Nov 2024)
extension:
- "mysqli"
- "pdo_mysql"
include:
- php-version: "8.2"
mariadb-version: "10.7"
mariadb-version: "10.6"
extension: "mysqli"
- php-version: "8.2"
mariadb-version: "10.7"
mariadb-version: "10.6"
extension: "pdo_mysql"
- php-version: "8.2"
mariadb-version: "10.11"
mariadb-version: "11.2"
extension: "mysqli"
- php-version: "8.2"
mariadb-version: "10.11"
mariadb-version: "11.2"
extension: "pdo_mysql"
- php-version: "8.3"
mariadb-version: "10.11"
mariadb-version: "11.2"
extension: "mysqli"
- php-version: "8.3"
mariadb-version: "10.11"
mariadb-version: "11.2"
extension: "pdo_mysql"

services:
@@ -330,14 +335,14 @@ jobs:
MYSQL_DATABASE: "doctrine_tests"

options: >-
--health-cmd "mysqladmin ping --silent"
--health-cmd "mariadb-admin ping --silent || mysqladmin ping --silent"
ports:
- "3306:3306"

steps:
- name: "Checkout"
uses: "actions/checkout@v3"
uses: "actions/checkout@v4"
with:
fetch-depth: 2

@@ -376,6 +381,7 @@ jobs:
mysql-version:
- "5.7"
- "8.0"
- "8.2"
extension:
- "mysqli"
- "pdo_mysql"
@@ -423,7 +429,7 @@ jobs:

steps:
- name: "Checkout"
uses: "actions/checkout@v3"
uses: "actions/checkout@v4"
with:
fetch-depth: 2

@@ -493,7 +499,7 @@ jobs:

steps:
- name: "Checkout"
uses: "actions/checkout@v3"
uses: "actions/checkout@v4"
with:
fetch-depth: 2

@@ -536,24 +542,27 @@ jobs:
ibm_db2:
image: "icr.io/db2_community/db2:11.5.8.0"
env:
DB2INSTANCE: "db2inst1"
DB2INST1_PASSWORD: "Doctrine2018"
LICENSE: "accept"
DBNAME: "doctrine"

options: "--privileged=true"
options: >-
--health-cmd "su - ${DB2INSTANCE} -c \"db2 -t CONNECT TO ${DBNAME};\""
--health-interval 30s
--health-timeout 10s
--health-retries 5
--privileged
ports:
- "50000:50000"

steps:
- name: "Perform healthcheck from the outside"
run: "docker logs -f ${{ job.services.ibm_db2.id }} | sed '/(*) Setup has completed./ q'"

- name: "Create temporary tablespace"
run: "docker exec ${{ job.services.ibm_db2.id }} su - db2inst1 -c 'db2 -t CONNECT TO doctrine; db2 -t CREATE USER TEMPORARY TABLESPACE doctrine_tbsp PAGESIZE 4 K;'"

- name: "Checkout"
uses: "actions/checkout@v3"
uses: "actions/checkout@v4"
with:
fetch-depth: 2

@@ -597,7 +606,7 @@ jobs:

steps:
- name: "Checkout"
uses: "actions/checkout@v3"
uses: "actions/checkout@v4"

- name: "Install PHP"
uses: "shivammathur/setup-php@v2"
@@ -630,7 +639,7 @@ jobs:

steps:
- name: "Checkout"
uses: "actions/checkout@v3"
uses: "actions/checkout@v4"
with:
fetch-depth: 2

2 changes: 1 addition & 1 deletion .github/workflows/release-on-milestone-closed.yml
Original file line number Diff line number Diff line change
@@ -12,7 +12,7 @@ jobs:

steps:
- name: "Checkout"
uses: "actions/checkout@v3"
uses: "actions/checkout@v4"

- name: "Release"
uses: "laminas/automatic-releases@1.24.0"
4 changes: 2 additions & 2 deletions .github/workflows/static-analysis.yml
Original file line number Diff line number Diff line change
@@ -38,7 +38,7 @@ jobs:

steps:
- name: "Checkout code"
uses: "actions/checkout@v3"
uses: "actions/checkout@v4"

- name: "Install PHP"
uses: "shivammathur/setup-php@v2"
@@ -64,7 +64,7 @@ jobs:

steps:
- name: Checkout code
uses: actions/checkout@v3
uses: actions/checkout@v4

- name: Install PHP
uses: shivammathur/setup-php@v2
4 changes: 3 additions & 1 deletion CONTRIBUTING.md
Original file line number Diff line number Diff line change
@@ -1,4 +1,6 @@
This repository has [guidelines specific to testing][testing guidelines], and
Doctrine has [general contributing guidelines][contributor workflow], make
sure you follow them.
sure you follow both.

[contributor workflow]: https://www.doctrine-project.org/contribute/index.html
[testing guidelines]: https://www.doctrine-project.org/projects/doctrine-dbal/en/stable/reference/testing.html
4 changes: 2 additions & 2 deletions UPGRADE.md
Original file line number Diff line number Diff line change
@@ -1329,7 +1329,7 @@ Additional related changes:

1. The `FetchMode` class and the `setFetchMode()` method of the `Connection` and `Statement` interfaces are removed.
2. The `Statement::fetch()` method is replaced with `fetchNumeric()`, `fetchAssociative()` and `fetchOne()`.
3. The `Statement::fetchAll()` method is replaced with `fetchAllNumeric()`, `fetchAllAssociative()` and `fechColumn()`.
3. The `Statement::fetchAll()` method is replaced with `fetchAllNumeric()`, `fetchAllAssociative()` and `fetchColumn()`.
4. The `Statement::fetchColumn()` method is replaced with `fetchOne()`.
5. The `Connection::fetchArray()` and `fetchAssoc()` methods are replaced with `fetchNumeric()` and `fetchAssociative()` respectively.
6. The `StatementIterator` class is removed. The usage of a `Statement` object as `Traversable` is no longer possible. Use `iterateNumeric()`, `iterateAssociative()` and `iterateColumn()` instead.
@@ -1393,7 +1393,7 @@ All implementations of the `VersionAwarePlatformDriver` interface have to implem
## BC BREAK: Removed `MsSQLKeywords` class

The `Doctrine\DBAL\Platforms\MsSQLKeywords` class has been removed.
Please use `Doctrine\DBAL\Platforms\SQLServerPlatform `instead.
Please use `Doctrine\DBAL\Platforms\SQLServerPlatform` instead.

## BC BREAK: Removed PDO DB2 driver

6 changes: 6 additions & 0 deletions ci/github/phpunit/ibm_db2.xml
Original file line number Diff line number Diff line change
@@ -16,6 +16,12 @@
<var name="db_user" value="db2inst1"/>
<var name="db_password" value="Doctrine2018"/>
<var name="db_dbname" value="doctrine"/>

<var name="tmpdb_driver" value="ibm_db2"/>
<var name="tmpdb_host" value="127.0.0.1"/>
<var name="tmpdb_user" value="db2inst1"/>
<var name="tmpdb_password" value="Doctrine2018"/>
<var name="tmpdb_dbname" value="doctrine"/>
</php>

<testsuites>
39 changes: 39 additions & 0 deletions ci/github/phpunit/oci8-21.xml
Original file line number Diff line number Diff line change
@@ -0,0 +1,39 @@
<?xml version="1.0" encoding="utf-8"?>
<phpunit xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:noNamespaceSchemaLocation="../../../vendor/phpunit/phpunit/phpunit.xsd"
colors="true"
beStrictAboutOutputDuringTests="true"
beStrictAboutTodoAnnotatedTests="true"
failOnRisky="true"
failOnWarning="true"
convertDeprecationsToExceptions="true"
>
<php>
<ini name="error_reporting" value="-1" />

<var name="db_driver" value="oci8"/>
<var name="db_host" value="localhost"/>
<var name="db_user" value="doctrine"/>
<var name="db_password" value="oracle"/>
<var name="db_dbname" value="XE"/>
<var name="db_charset" value="AL32UTF8" />

<var name="tmpdb_driver" value="oci8"/>
<var name="tmpdb_host" value="localhost"/>
<var name="tmpdb_user" value="system"/>
<var name="tmpdb_password" value="oracle"/>
<var name="tmpdb_dbname" value="XE"/>
</php>

<testsuites>
<testsuite name="Doctrine DBAL Test Suite">
<directory>../../../tests</directory>
</testsuite>
</testsuites>

<coverage>
<include>
<directory suffix=".php">../../../src</directory>
</include>
</coverage>
</phpunit>
Loading