You are here

public function Truncate::execute in Drupal 9

Same name in this branch
  1. 9 core/lib/Drupal/Core/Database/Query/Truncate.php \Drupal\Core\Database\Query\Truncate::execute()
  2. 9 core/lib/Drupal/Core/Database/Driver/pgsql/Truncate.php \Drupal\Core\Database\Driver\pgsql\Truncate::execute()
Same name and namespace in other branches
  1. 8 core/lib/Drupal/Core/Database/Driver/pgsql/Truncate.php \Drupal\Core\Database\Driver\pgsql\Truncate::execute()

Executes the TRUNCATE query.

Return value

Return value is dependent on whether the executed SQL statement is a TRUNCATE or a DELETE. TRUNCATE is DDL and no information on affected rows is available. DELETE is DML and will return the number of affected rows. In general, do not rely on the value returned by this method in calling code.

Overrides Truncate::execute

See also

https://learnsql.com/blog/difference-between-truncate-delete-and-drop-ta...

File

core/lib/Drupal/Core/Database/Driver/pgsql/Truncate.php, line 15

Class

Truncate
PostgreSQL implementation of \Drupal\Core\Database\Query\Truncate.

Namespace

Drupal\Core\Database\Driver\pgsql

Code

public function execute() {
  $this->connection
    ->addSavepoint();
  try {
    $result = parent::execute();
  } catch (\Exception $e) {
    $this->connection
      ->rollbackSavepoint();
    throw $e;
  }
  $this->connection
    ->releaseSavepoint();
  return $result;
}