diff --git a/.github/workflows/continuous-integration.yml b/.github/workflows/continuous-integration.yml index 2ac9c8639cd..b44096be14d 100644 --- a/.github/workflows/continuous-integration.yml +++ b/.github/workflows/continuous-integration.yml @@ -69,12 +69,24 @@ jobs: php-version: - "7.4" - "8.1" + oracle-version: + - "21" + include: + - php-version: "7.4" + oracle-version: "11" services: oracle: - image: "wnameless/oracle-xe-11g-r2" + image: gvenzl/oracle-xe:${{ matrix.oracle-version }} + env: + ORACLE_PASSWORD: oracle ports: - "1521:1521" + options: >- + --health-cmd healthcheck.sh + --health-interval 20s + --health-timeout 10s + --health-retries 10 steps: - name: "Checkout" @@ -112,12 +124,24 @@ jobs: php-version: - "7.4" - "8.1" + oracle-version: + - "21" + include: + - php-version: "7.4" + oracle-version: "11" services: oracle: - image: "wnameless/oracle-xe-11g-r2" + image: gvenzl/oracle-xe:${{ matrix.oracle-version }} + env: + ORACLE_PASSWORD: oracle ports: - "1521:1521" + options: >- + --health-cmd healthcheck.sh + --health-interval 20s + --health-timeout 10s + --health-retries 10 steps: - name: "Checkout" diff --git a/composer.json b/composer.json index 6d5f58437ce..9b46871175f 100644 --- a/composer.json +++ b/composer.json @@ -49,7 +49,7 @@ "squizlabs/php_codesniffer": "3.6.1", "symfony/cache": "^5.2|^6.0", "symfony/console": "^2.0.5|^3.0|^4.0|^5.0|^6.0", - "vimeo/psalm": "4.13.0" + "vimeo/psalm": "4.14.0" }, "suggest": { "symfony/console": "For helpful console commands such as SQL execution and import of files." diff --git a/docs/en/reference/events.rst b/docs/en/reference/events.rst index 33a19d4c9b4..9c37c077936 100644 --- a/docs/en/reference/events.rst +++ b/docs/en/reference/events.rst @@ -21,7 +21,7 @@ instance. Doctrine ships with one implementation for the "PostConnect" event: - ``Doctrine\DBAL\Event\Listeners\OracleSessionInit`` allows to - specify any number of Oracle Session related enviroment variables + specify any number of Oracle Session related environment variables that are set right after the connection is established. You can register events by subscribing them to the ``EventManager`` diff --git a/src/DriverManager.php b/src/DriverManager.php index dd942c8da98..5a65101cd2b 100644 --- a/src/DriverManager.php +++ b/src/DriverManager.php @@ -40,6 +40,7 @@ * platform?: Platforms\AbstractPlatform, * port?: int, * user?: string, + * unix_socket?: string, * } * @psalm-type Params = array{ * charset?: string, @@ -64,6 +65,7 @@ * slaves?: array, * user?: string, * wrapperClass?: class-string, + * unix_socket?: string, * } */ final class DriverManager diff --git a/src/Schema/MySQLSchemaManager.php b/src/Schema/MySQLSchemaManager.php index 3cbdc0cb4b6..8bc13222547 100644 --- a/src/Schema/MySQLSchemaManager.php +++ b/src/Schema/MySQLSchemaManager.php @@ -9,7 +9,6 @@ use function array_change_key_case; use function array_shift; -use function array_values; use function assert; use function explode; use function is_string; @@ -315,9 +314,9 @@ protected function _getPortableTableForeignKeysList($tableForeignKeys) $result = []; foreach ($list as $constraint) { $result[] = new ForeignKeyConstraint( - array_values($constraint['local']), + $constraint['local'], $constraint['foreignTable'], - array_values($constraint['foreign']), + $constraint['foreign'], $constraint['name'], [ 'onDelete' => $constraint['onDelete'], diff --git a/src/Schema/SqliteSchemaManager.php b/src/Schema/SqliteSchemaManager.php index 055e13d1f18..3e0e5cfec68 100644 --- a/src/Schema/SqliteSchemaManager.php +++ b/src/Schema/SqliteSchemaManager.php @@ -15,7 +15,6 @@ use function array_map; use function array_merge; use function array_reverse; -use function array_values; use function explode; use function file_exists; use function preg_match; @@ -455,9 +454,9 @@ protected function _getPortableTableForeignKeysList($tableForeignKeys) $result = []; foreach ($list as $constraint) { $result[] = new ForeignKeyConstraint( - array_values($constraint['local']), + $constraint['local'], $constraint['foreignTable'], - array_values($constraint['foreign']), + $constraint['foreign'], $constraint['name'], [ 'onDelete' => $constraint['onDelete'],