diff --git a/core/lib/Drupal/Core/Entity/Sql/SqlContentEntityStorage.php b/core/lib/Drupal/Core/Entity/Sql/SqlContentEntityStorage.php index d696a94..3d01fb7 100644 --- a/core/lib/Drupal/Core/Entity/Sql/SqlContentEntityStorage.php +++ b/core/lib/Drupal/Core/Entity/Sql/SqlContentEntityStorage.php @@ -598,6 +598,12 @@ protected function doDeleteRevisionFieldItems(ContentEntityInterface $revision) ->condition($this->revisionKey, $revision->getRevisionId()) ->execute(); $this->deleteRevisionFromDedicatedTables($revision); + + if ($this->revisionDataTable) { + $this->database->delete($this->revisionDataTable) + ->condition($this->revisionKey, $revision->getRevisionId()) + ->execute(); + } } /** diff --git a/core/tests/Drupal/KernelTests/Core/Entity/EntityApiTest.php b/core/tests/Drupal/KernelTests/Core/Entity/EntityApiTest.php index 744121e..053411a 100644 --- a/core/tests/Drupal/KernelTests/Core/Entity/EntityApiTest.php +++ b/core/tests/Drupal/KernelTests/Core/Entity/EntityApiTest.php @@ -101,6 +101,9 @@ protected function assertCRUD($entity_type, UserInterface $user1) { if ($revision_table = $definition->getRevisionTable()) { $this->assertEqual(0, db_query('SELECT COUNT(*) FROM {' . $revision_table . '}')->fetchField(), 'Data table was emptied'); } + if ($revision_data_table = $definition->getRevisionDataTable()) { + $this->assertEqual(0, db_query('SELECT COUNT(*) FROM {' . $revision_data_table . '}')->fetchField(), 'Data table was emptied'); + } // Test deleting a list of entities not indexed by entity id. $entities = [];