function field_sql_storage_field_storage_delete_revision

Implements hook_field_storage_delete_revision().

This function actually deletes the data from the database.

File

drupal/core/modules/field_sql_storage/field_sql_storage.module, line 562
Default implementation of the field storage API.

Code

function field_sql_storage_field_storage_delete_revision(EntityInterface $entity, $fields) {
  $vid = $entity
    ->getRevisionId();
  if (isset($vid)) {
    foreach ($fields as $field_id) {
      $field = field_info_field_by_id($field_id);
      $revision_name = _field_sql_storage_revision_tablename($field);
      db_delete($revision_name)
        ->condition('entity_type', $entity
        ->entityType())
        ->condition('entity_id', $entity
        ->id())
        ->condition('revision_id', $vid)
        ->execute();
    }
  }
}