function Truncate::execute
Same name in this branch
- main core/modules/pgsql/src/Driver/Database/pgsql/Truncate.php \Drupal\pgsql\Driver\Database\pgsql\Truncate::execute()
Same name and namespace in other branches
- 11.x core/modules/pgsql/src/Driver/Database/pgsql/Truncate.php \Drupal\pgsql\Driver\Database\pgsql\Truncate::execute()
- 11.x core/lib/Drupal/Core/Database/Query/Truncate.php \Drupal\Core\Database\Query\Truncate::execute()
- 10 core/modules/pgsql/src/Driver/Database/pgsql/Truncate.php \Drupal\pgsql\Driver\Database\pgsql\Truncate::execute()
- 10 core/lib/Drupal/Core/Database/Query/Truncate.php \Drupal\Core\Database\Query\Truncate::execute()
- 9 core/modules/pgsql/src/Driver/Database/pgsql/Truncate.php \Drupal\pgsql\Driver\Database\pgsql\Truncate::execute()
- 9 core/lib/Drupal/Core/Database/Query/Truncate.php \Drupal\Core\Database\Query\Truncate::execute()
- 8.9.x core/lib/Drupal/Core/Database/Driver/pgsql/Truncate.php \Drupal\Core\Database\Driver\pgsql\Truncate::execute()
- 8.9.x core/lib/Drupal/Core/Database/Query/Truncate.php \Drupal\Core\Database\Query\Truncate::execute()
Executes the TRUNCATE query.
In most cases, TRUNCATE is not a transaction safe statement as it is a DDL statement which results in an implicit COMMIT. When we are in a transaction, fallback to the slower, but transactional, DELETE. PostgreSQL also locks the entire table for a TRUNCATE strongly reducing the concurrency with other transactions.
See also
https://learnsql.com/blog/difference-between-truncate-delete-and-drop-t…
1 call to Truncate::execute()
- Truncate::execute in core/
modules/ pgsql/ src/ Driver/ Database/ pgsql/ Truncate.php
1 method overrides Truncate::execute()
- Truncate::execute in core/
modules/ pgsql/ src/ Driver/ Database/ pgsql/ Truncate.php
File
-
core/
lib/ Drupal/ Core/ Database/ Query/ Truncate.php, line 45
Class
- Truncate
- General class for an abstracted TRUNCATE operation.
Namespace
Drupal\Core\Database\QueryCode
public function execute() : void {
$statement = $this->connection
->prepareStatement((string) $this, $this->queryOptions, TRUE);
try {
$statement->execute([], $this->queryOptions);
} catch (\Exception $e) {
$this->connection
->exceptionHandler()
->handleExecutionException($e, $statement, [], $this->queryOptions);
}
}
Buggy or inaccurate documentation? Please file an issue. Need support? Need help programming? Connect with the Drupal community.