Loading .gitlab-ci.yml +26 −0 Original line number Diff line number Diff line Loading @@ -231,6 +231,8 @@ default: variables: _TARGET_PHP: "8.3-ubuntu" _TARGET_DB: "mysql-8" _TARGET_DB_DRIVER: "mysql" _TARGET_DB_DRIVER_MODULE: "mysql" PERFORMANCE_TEST: $PERFORMANCE_TEST # Run on MR, schedule, push, parent pipeline and performance test. rules: Loading Loading @@ -265,6 +267,8 @@ default: variables: _TARGET_PHP: "8.3-ubuntu" _TARGET_DB: "mysql-8" _TARGET_DB_DRIVER: "mysql" _TARGET_DB_DRIVER_MODULE: "mysql" rules: - if: $CI_PIPELINE_SOURCE == "merge_request_event" trigger: Loading @@ -281,18 +285,40 @@ default: variables: _TARGET_PHP: "8.3-ubuntu" _TARGET_DB: "mariadb-10.6" _TARGET_DB_DRIVER: "mysql" _TARGET_DB_DRIVER_MODULE: "mysql" 'mysqli - PHP 8.3 MySQL 8.4': <<: [ *default-stage, *run-on-mr ] variables: _TARGET_PHP: "8.3-ubuntu" _TARGET_DB: "mysql-8.4" _TARGET_DB_DRIVER: "mysqli" _TARGET_DB_DRIVER_MODULE: "mysqli" 'mysqli - PHP 8.4 MySQL 9.3': <<: [ *default-stage, *run-on-mr ] variables: _TARGET_PHP: "8.4-ubuntu" _TARGET_DB: "mysql-9" _TARGET_DB_DRIVER: "mysqli" _TARGET_DB_DRIVER_MODULE: "mysqli" 'PHP 8.3 MySQL 8.4': <<: [ *default-stage, *run-on-mr ] variables: _TARGET_PHP: "8.3-ubuntu" _TARGET_DB: "mysql-8.4" _TARGET_DB_DRIVER: "mysql" _TARGET_DB_DRIVER_MODULE: "mysql" 'PHP 8.4 MySQL 9.3': <<: [ *default-stage, *run-on-mr ] variables: _TARGET_PHP: "8.4-ubuntu" _TARGET_DB: "mysql-9" _TARGET_DB_DRIVER: "mysql" _TARGET_DB_DRIVER_MODULE: "mysql" 'PHP 8.3 PostgreSQL 16': <<: [ *default-stage, *run-on-mr ] Loading .gitlab-ci/pipeline.yml +4 −4 Original line number Diff line number Diff line Loading @@ -22,8 +22,8 @@ default: before_script: - | [[ $_TARGET_DB == sqlite* ]] && export SIMPLETEST_DB=sqlite://localhost/$CI_PROJECT_DIR/sites/default/files/db.sqlite?module=sqlite [[ $_TARGET_DB == mysql* ]] && export SIMPLETEST_DB=mysql://$MYSQL_USER:$MYSQL_PASSWORD@database/$MYSQL_DATABASE?module=mysql [[ $_TARGET_DB == mariadb* ]] && export SIMPLETEST_DB=mysql://$MYSQL_USER:$MYSQL_PASSWORD@database/$MYSQL_DATABASE?module=mysql [[ $_TARGET_DB == mysql* ]] && export SIMPLETEST_DB=$_TARGET_DB_DRIVER://$MYSQL_USER:$MYSQL_PASSWORD@database/$MYSQL_DATABASE?module=$_TARGET_DB_DRIVER_MODULE [[ $_TARGET_DB == mariadb* ]] && export SIMPLETEST_DB=$_TARGET_DB_DRIVER://$MYSQL_USER:$MYSQL_PASSWORD@database/$MYSQL_DATABASE?module=$_TARGET_DB_DRIVER_MODULE [[ $_TARGET_DB == pgsql* ]] && export SIMPLETEST_DB=pgsql://$POSTGRES_USER:$POSTGRES_PASSWORD@database/$POSTGRES_DB?module=pgsql - echo "SIMPLETEST_DB = $SIMPLETEST_DB" - $CI_PROJECT_DIR/.gitlab-ci/scripts/server-setup.sh Loading Loading @@ -269,8 +269,8 @@ variables: # Determine DB driver. - | [[ $_TARGET_DB == sqlite* ]] && export SIMPLETEST_DB=sqlite://localhost/subdirectory/sites/default/files/db.sqlite?module=sqlite [[ $_TARGET_DB == mysql* ]] && export SIMPLETEST_DB=mysql://$MYSQL_USER:$MYSQL_PASSWORD@database/$MYSQL_DATABASE?module=mysql [[ $_TARGET_DB == mariadb* ]] && export SIMPLETEST_DB=mysql://$MYSQL_USER:$MYSQL_PASSWORD@database/$MYSQL_DATABASE?module=mysql [[ $_TARGET_DB == mysql* ]] && export SIMPLETEST_DB=$_TARGET_DB_DRIVER://$MYSQL_USER:$MYSQL_PASSWORD@database/$MYSQL_DATABASE?module=$_TARGET_DB_DRIVER_MODULE [[ $_TARGET_DB == mariadb* ]] && export SIMPLETEST_DB=$_TARGET_DB_DRIVER://$MYSQL_USER:$MYSQL_PASSWORD@database/$MYSQL_DATABASE?module=$_TARGET_DB_DRIVER_MODULE [[ $_TARGET_DB == pgsql* ]] && export SIMPLETEST_DB=pgsql://$POSTGRES_USER:$POSTGRES_PASSWORD@database/$POSTGRES_DB?module=pgsql - composer install --optimize-autoloader - export OTEL_COLLECTOR="$OTEL_COLLECTOR" Loading core/lib/Drupal/Core/Database/Exception/SchemaPrimaryKeyMustBeDroppedException.php 0 → 100644 +12 −0 Original line number Diff line number Diff line <?php namespace Drupal\Core\Database\Exception; use Drupal\Core\Database\DatabaseException; use Drupal\Core\Database\SchemaException; /** * Exception thrown if the Primary Key must be dropped before an operation. */ class SchemaPrimaryKeyMustBeDroppedException extends SchemaException implements DatabaseException { } core/lib/Drupal/Core/Database/Statement/PdoResult.php +12 −0 Original line number Diff line number Diff line Loading @@ -30,6 +30,18 @@ public function __construct( parent::__construct($fetchMode, $fetchOptions); } /** * Returns the client-level database PDO statement object. * * This method should normally be used only within database driver code. * * @return \PDOStatement * The client-level database PDO statement. */ public function getClientStatement(): \PDOStatement { return $this->clientStatement; } /** * {@inheritdoc} */ Loading core/lib/Drupal/Core/Database/Statement/PdoTrait.php +4 −10 Original line number Diff line number Diff line Loading @@ -49,23 +49,17 @@ protected function pdoToFetchAs(int $mode): FetchAs { } /** * Returns the client-level database PDO statement object. * Returns the client-level database statement object. * * This method should normally be used only within database driver code. * * @return \PDOStatement * The client-level database PDO statement. * @return object * The client-level database statement. * * @throws \RuntimeException * If the client-level statement is not set. */ public function getClientStatement(): \PDOStatement { if (isset($this->clientStatement)) { assert($this->clientStatement instanceof \PDOStatement); return $this->clientStatement; } throw new \LogicException('\\PDOStatement not initialized'); } abstract public function getClientStatement(): object; /** * Sets the default fetch mode for the PDO statement. Loading Loading
.gitlab-ci.yml +26 −0 Original line number Diff line number Diff line Loading @@ -231,6 +231,8 @@ default: variables: _TARGET_PHP: "8.3-ubuntu" _TARGET_DB: "mysql-8" _TARGET_DB_DRIVER: "mysql" _TARGET_DB_DRIVER_MODULE: "mysql" PERFORMANCE_TEST: $PERFORMANCE_TEST # Run on MR, schedule, push, parent pipeline and performance test. rules: Loading Loading @@ -265,6 +267,8 @@ default: variables: _TARGET_PHP: "8.3-ubuntu" _TARGET_DB: "mysql-8" _TARGET_DB_DRIVER: "mysql" _TARGET_DB_DRIVER_MODULE: "mysql" rules: - if: $CI_PIPELINE_SOURCE == "merge_request_event" trigger: Loading @@ -281,18 +285,40 @@ default: variables: _TARGET_PHP: "8.3-ubuntu" _TARGET_DB: "mariadb-10.6" _TARGET_DB_DRIVER: "mysql" _TARGET_DB_DRIVER_MODULE: "mysql" 'mysqli - PHP 8.3 MySQL 8.4': <<: [ *default-stage, *run-on-mr ] variables: _TARGET_PHP: "8.3-ubuntu" _TARGET_DB: "mysql-8.4" _TARGET_DB_DRIVER: "mysqli" _TARGET_DB_DRIVER_MODULE: "mysqli" 'mysqli - PHP 8.4 MySQL 9.3': <<: [ *default-stage, *run-on-mr ] variables: _TARGET_PHP: "8.4-ubuntu" _TARGET_DB: "mysql-9" _TARGET_DB_DRIVER: "mysqli" _TARGET_DB_DRIVER_MODULE: "mysqli" 'PHP 8.3 MySQL 8.4': <<: [ *default-stage, *run-on-mr ] variables: _TARGET_PHP: "8.3-ubuntu" _TARGET_DB: "mysql-8.4" _TARGET_DB_DRIVER: "mysql" _TARGET_DB_DRIVER_MODULE: "mysql" 'PHP 8.4 MySQL 9.3': <<: [ *default-stage, *run-on-mr ] variables: _TARGET_PHP: "8.4-ubuntu" _TARGET_DB: "mysql-9" _TARGET_DB_DRIVER: "mysql" _TARGET_DB_DRIVER_MODULE: "mysql" 'PHP 8.3 PostgreSQL 16': <<: [ *default-stage, *run-on-mr ] Loading
.gitlab-ci/pipeline.yml +4 −4 Original line number Diff line number Diff line Loading @@ -22,8 +22,8 @@ default: before_script: - | [[ $_TARGET_DB == sqlite* ]] && export SIMPLETEST_DB=sqlite://localhost/$CI_PROJECT_DIR/sites/default/files/db.sqlite?module=sqlite [[ $_TARGET_DB == mysql* ]] && export SIMPLETEST_DB=mysql://$MYSQL_USER:$MYSQL_PASSWORD@database/$MYSQL_DATABASE?module=mysql [[ $_TARGET_DB == mariadb* ]] && export SIMPLETEST_DB=mysql://$MYSQL_USER:$MYSQL_PASSWORD@database/$MYSQL_DATABASE?module=mysql [[ $_TARGET_DB == mysql* ]] && export SIMPLETEST_DB=$_TARGET_DB_DRIVER://$MYSQL_USER:$MYSQL_PASSWORD@database/$MYSQL_DATABASE?module=$_TARGET_DB_DRIVER_MODULE [[ $_TARGET_DB == mariadb* ]] && export SIMPLETEST_DB=$_TARGET_DB_DRIVER://$MYSQL_USER:$MYSQL_PASSWORD@database/$MYSQL_DATABASE?module=$_TARGET_DB_DRIVER_MODULE [[ $_TARGET_DB == pgsql* ]] && export SIMPLETEST_DB=pgsql://$POSTGRES_USER:$POSTGRES_PASSWORD@database/$POSTGRES_DB?module=pgsql - echo "SIMPLETEST_DB = $SIMPLETEST_DB" - $CI_PROJECT_DIR/.gitlab-ci/scripts/server-setup.sh Loading Loading @@ -269,8 +269,8 @@ variables: # Determine DB driver. - | [[ $_TARGET_DB == sqlite* ]] && export SIMPLETEST_DB=sqlite://localhost/subdirectory/sites/default/files/db.sqlite?module=sqlite [[ $_TARGET_DB == mysql* ]] && export SIMPLETEST_DB=mysql://$MYSQL_USER:$MYSQL_PASSWORD@database/$MYSQL_DATABASE?module=mysql [[ $_TARGET_DB == mariadb* ]] && export SIMPLETEST_DB=mysql://$MYSQL_USER:$MYSQL_PASSWORD@database/$MYSQL_DATABASE?module=mysql [[ $_TARGET_DB == mysql* ]] && export SIMPLETEST_DB=$_TARGET_DB_DRIVER://$MYSQL_USER:$MYSQL_PASSWORD@database/$MYSQL_DATABASE?module=$_TARGET_DB_DRIVER_MODULE [[ $_TARGET_DB == mariadb* ]] && export SIMPLETEST_DB=$_TARGET_DB_DRIVER://$MYSQL_USER:$MYSQL_PASSWORD@database/$MYSQL_DATABASE?module=$_TARGET_DB_DRIVER_MODULE [[ $_TARGET_DB == pgsql* ]] && export SIMPLETEST_DB=pgsql://$POSTGRES_USER:$POSTGRES_PASSWORD@database/$POSTGRES_DB?module=pgsql - composer install --optimize-autoloader - export OTEL_COLLECTOR="$OTEL_COLLECTOR" Loading
core/lib/Drupal/Core/Database/Exception/SchemaPrimaryKeyMustBeDroppedException.php 0 → 100644 +12 −0 Original line number Diff line number Diff line <?php namespace Drupal\Core\Database\Exception; use Drupal\Core\Database\DatabaseException; use Drupal\Core\Database\SchemaException; /** * Exception thrown if the Primary Key must be dropped before an operation. */ class SchemaPrimaryKeyMustBeDroppedException extends SchemaException implements DatabaseException { }
core/lib/Drupal/Core/Database/Statement/PdoResult.php +12 −0 Original line number Diff line number Diff line Loading @@ -30,6 +30,18 @@ public function __construct( parent::__construct($fetchMode, $fetchOptions); } /** * Returns the client-level database PDO statement object. * * This method should normally be used only within database driver code. * * @return \PDOStatement * The client-level database PDO statement. */ public function getClientStatement(): \PDOStatement { return $this->clientStatement; } /** * {@inheritdoc} */ Loading
core/lib/Drupal/Core/Database/Statement/PdoTrait.php +4 −10 Original line number Diff line number Diff line Loading @@ -49,23 +49,17 @@ protected function pdoToFetchAs(int $mode): FetchAs { } /** * Returns the client-level database PDO statement object. * Returns the client-level database statement object. * * This method should normally be used only within database driver code. * * @return \PDOStatement * The client-level database PDO statement. * @return object * The client-level database statement. * * @throws \RuntimeException * If the client-level statement is not set. */ public function getClientStatement(): \PDOStatement { if (isset($this->clientStatement)) { assert($this->clientStatement instanceof \PDOStatement); return $this->clientStatement; } throw new \LogicException('\\PDOStatement not initialized'); } abstract public function getClientStatement(): object; /** * Sets the default fetch mode for the PDO statement. Loading