public function DefaultTableMapping::getDedicatedRevisionTableName in Drupal 8
Same name and namespace in other branches
- 9 core/lib/Drupal/Core/Entity/Sql/DefaultTableMapping.php \Drupal\Core\Entity\Sql\DefaultTableMapping::getDedicatedRevisionTableName()
- 10 core/lib/Drupal/Core/Entity/Sql/DefaultTableMapping.php \Drupal\Core\Entity\Sql\DefaultTableMapping::getDedicatedRevisionTableName()
Generates a table name for a field revision archive table.
Parameters
\Drupal\Core\Field\FieldStorageDefinitionInterface $storage_definition: The field storage definition.
bool $is_deleted: (optional) Whether the table name holding the values of a deleted field should be returned.
Return value
string A string containing the generated name for the database table.
File
- core/
lib/ Drupal/ Core/ Entity/ Sql/ DefaultTableMapping.php, line 582
Class
- DefaultTableMapping
- Defines a default table mapping class.
Namespace
Drupal\Core\Entity\SqlCode
public function getDedicatedRevisionTableName(FieldStorageDefinitionInterface $storage_definition, $is_deleted = FALSE) {
if ($is_deleted) {
// When a field is a deleted, the table is renamed to
// {field_deleted_revision_UNIQUE_STORAGE_ID}. To make sure we don't end
// up with table names longer than 64 characters, we hash the unique
// storage identifier and return the first 10 characters so we end up with
// a short unique ID.
return "field_deleted_revision_" . substr(hash('sha256', $storage_definition
->getUniqueStorageIdentifier()), 0, 10);
}
else {
return $this
->generateFieldTableName($storage_definition, TRUE);
}
}