diff --git a/core/lib/Drupal/Core/Entity/Sql/DefaultTableMapping.php b/core/lib/Drupal/Core/Entity/Sql/DefaultTableMapping.php index a4803ed..0d48b28 100644 --- a/core/lib/Drupal/Core/Entity/Sql/DefaultTableMapping.php +++ b/core/lib/Drupal/Core/Entity/Sql/DefaultTableMapping.php @@ -299,10 +299,8 @@ public function getFieldNames($table_name) { /** * {@inheritdoc} */ - public function getFieldTableName($field_name, $default_revision_only = TRUE, $default_language_only = TRUE) { - $cache_key = $field_name - . '.' . ($default_revision_only ? 'default_revision' : 'all_revisions') - . '.' . ($default_language_only ? 'default_language' : 'all_languages'); + public function getFieldTableName($field_name, $all_revisions = FALSE) { + $cache_key = $field_name . '.' . ($all_revisions ? 'all_revisions' : 'default_revision'); if (isset($this->fieldStorageDefinitions[$field_name]) && !isset($this->fieldTableNames[$cache_key])) { $storage_definition = $this->fieldStorageDefinitions[$field_name]; @@ -312,7 +310,7 @@ public function getFieldTableName($field_name, $default_revision_only = TRUE, $d // where field data is stored, otherwise the base table is responsible for // storing field data. Revision metadata is an exception as it's stored // only in the revision table. - if ($default_revision_only) { + if (!$all_revisions) { $table_names = array_filter([ $this->dataTable, $this->baseTable, diff --git a/core/lib/Drupal/Core/Entity/Sql/TableMappingInterface.php b/core/lib/Drupal/Core/Entity/Sql/TableMappingInterface.php index b11e2ee..c2a44e8 100644 --- a/core/lib/Drupal/Core/Entity/Sql/TableMappingInterface.php +++ b/core/lib/Drupal/Core/Entity/Sql/TableMappingInterface.php @@ -112,18 +112,15 @@ public function getFieldColumnName(FieldStorageDefinitionInterface $storage_defi * * @param string $field_name * The name of the entity field to return the table name for. - * @param bool $default_revision_only + * @param bool $all_revisions * (optional) Whether to return the table which stores the default revisions - * (TRUE) or all revisions (FALSE). Defaults to TRUE. - * @param bool $default_language_only - * (optional) Whether to return the table which stores the default languages - * (TRUE) or all translations (FALSE). Defaults to TRUE. + * (FALSE) or all revisions (TRUE). Defaults to FALSE. * * @return string * The table name for the given field. * * @throws \Drupal\Core\Entity\Sql\SqlContentEntityStorageException */ - public function getFieldTableName($field_name, $default_revision_only = TRUE, $default_language_only = TRUE); + public function getFieldTableName($field_name, $all_revisions = FALSE); } diff --git a/core/tests/Drupal/Tests/Core/Entity/Sql/DefaultTableMappingTest.php b/core/tests/Drupal/Tests/Core/Entity/Sql/DefaultTableMappingTest.php index d7b0df2..088b154 100644 --- a/core/tests/Drupal/Tests/Core/Entity/Sql/DefaultTableMappingTest.php +++ b/core/tests/Drupal/Tests/Core/Entity/Sql/DefaultTableMappingTest.php @@ -387,7 +387,7 @@ public function testGetFieldTableName($revisionable, $translatable, array $expec $table_mapping = DefaultTableMapping::create($this->entityType, array_intersect_key($storage_definitions, $expected)); foreach ($expected as $field_name => $scenarios) { foreach ($scenarios as $scenario) { - $this->assertEquals($scenario['table_name'], $table_mapping->getFieldTableName($field_name, $scenario['default_revision'], $scenario['default_translation'])); + $this->assertEquals($scenario['table_name'], $table_mapping->getFieldTableName($field_name, $scenario['all_revisions'])); } } } @@ -406,10 +406,10 @@ public function providerTestGetFieldTableName() { 'translatable' => FALSE, 'fields' => [ 'single_value' => [ - ['default_revision' => TRUE, 'default_translation' => TRUE, 'table_name' => 'entity_test'], + ['all_revisions' => FALSE, 'table_name' => 'entity_test'], ], 'multi_value' => [ - ['default_revision' => TRUE, 'default_translation' => TRUE, 'table_name' => 'entity_test__multi_value'], + ['all_revisions' => FALSE, 'table_name' => 'entity_test__multi_value'], ], ], ], @@ -418,20 +418,16 @@ public function providerTestGetFieldTableName() { 'translatable' => TRUE, 'fields' => [ 'single_value' => [ - ['default_revision' => TRUE, 'default_translation' => TRUE, 'table_name' => 'entity_test_field_data'], - ['default_revision' => TRUE, 'default_translation' => FALSE, 'table_name' => 'entity_test_field_data'], + ['all_revisions' => FALSE, 'table_name' => 'entity_test_field_data'], ], 'single_value_mul' => [ - ['default_revision' => TRUE, 'default_translation' => TRUE, 'table_name' => 'entity_test_field_data'], - ['default_revision' => TRUE, 'default_translation' => FALSE, 'table_name' => 'entity_test_field_data'], + ['all_revisions' => FALSE, 'table_name' => 'entity_test_field_data'], ], 'multi_value' => [ - ['default_revision' => TRUE, 'default_translation' => TRUE, 'table_name' => 'entity_test__multi_value'], - ['default_revision' => TRUE, 'default_translation' => FALSE, 'table_name' => 'entity_test__multi_value'], + ['all_revisions' => FALSE, 'table_name' => 'entity_test__multi_value'], ], 'multi_value_mul' => [ - ['default_revision' => TRUE, 'default_translation' => TRUE, 'table_name' => 'entity_test__multi_value_mul'], - ['default_revision' => TRUE, 'default_translation' => FALSE, 'table_name' => 'entity_test__multi_value_mul'], + ['all_revisions' => FALSE, 'table_name' => 'entity_test__multi_value_mul'], ], ], ], @@ -440,20 +436,20 @@ public function providerTestGetFieldTableName() { 'translatable' => FALSE, 'fields' => [ 'single_value' => [ - ['default_revision' => TRUE, 'default_translation' => TRUE, 'table_name' => 'entity_test'], - ['default_revision' => FALSE, 'default_translation' => TRUE, 'table_name' => 'entity_test'], + ['all_revisions' => FALSE, 'table_name' => 'entity_test'], + ['all_revisions' => TRUE, 'table_name' => 'entity_test'], ], 'single_value_rev' => [ - ['default_revision' => TRUE, 'default_translation' => TRUE, 'table_name' => 'entity_test'], - ['default_revision' => FALSE, 'default_translation' => TRUE, 'table_name' => 'entity_test_revision'], + ['all_revisions' => FALSE, 'table_name' => 'entity_test'], + ['all_revisions' => TRUE, 'table_name' => 'entity_test_revision'], ], 'multi_value' => [ - ['default_revision' => TRUE, 'default_translation' => TRUE, 'table_name' => 'entity_test__multi_value'], - ['default_revision' => FALSE, 'default_translation' => TRUE, 'table_name' => 'entity_test__multi_value'], + ['all_revisions' => FALSE, 'table_name' => 'entity_test__multi_value'], + ['all_revisions' => TRUE, 'table_name' => 'entity_test__multi_value'], ], 'multi_value_rev' => [ - ['default_revision' => TRUE, 'default_translation' => TRUE, 'table_name' => 'entity_test__multi_value_rev'], - ['default_revision' => FALSE, 'default_translation' => TRUE, 'table_name' => 'entity_test_revision__multi_value_rev'], + ['all_revisions' => FALSE, 'table_name' => 'entity_test__multi_value_rev'], + ['all_revisions' => TRUE, 'table_name' => 'entity_test_revision__multi_value_rev'], ], ], ], @@ -465,58 +461,40 @@ public function providerTestGetFieldTableName() { // metadata fields are the only ones that are stored in the revision // table. 'revision_metadata_field' => [ - ['default_revision' => TRUE, 'default_translation' => TRUE, 'table_name' => 'entity_test_revision'], - ['default_revision' => TRUE, 'default_translation' => FALSE, 'table_name' => 'entity_test_revision'], - ['default_revision' => FALSE, 'default_translation' => TRUE, 'table_name' => 'entity_test_revision'], - ['default_revision' => FALSE, 'default_translation' => FALSE, 'table_name' => 'entity_test_revision'], + ['all_revisions' => FALSE, 'table_name' => 'entity_test_revision'], + ['all_revisions' => TRUE, 'table_name' => 'entity_test_revision'], ], 'single_value' => [ - ['default_revision' => TRUE, 'default_translation' => TRUE, 'table_name' => 'entity_test_field_data'], - ['default_revision' => TRUE, 'default_translation' => FALSE, 'table_name' => 'entity_test_field_data'], - ['default_revision' => FALSE, 'default_translation' => TRUE, 'table_name' => 'entity_test_field_data'], - ['default_revision' => FALSE, 'default_translation' => FALSE, 'table_name' => 'entity_test_field_data'], + ['all_revisions' => FALSE, 'table_name' => 'entity_test_field_data'], + ['all_revisions' => TRUE, 'table_name' => 'entity_test_field_data'], ], 'single_value_mul' => [ - ['default_revision' => TRUE, 'default_translation' => TRUE, 'table_name' => 'entity_test_field_data'], - ['default_revision' => TRUE, 'default_translation' => FALSE, 'table_name' => 'entity_test_field_data'], - ['default_revision' => FALSE, 'default_translation' => TRUE, 'table_name' => 'entity_test_field_data'], - ['default_revision' => FALSE, 'default_translation' => FALSE, 'table_name' => 'entity_test_field_data'], + ['all_revisions' => FALSE, 'table_name' => 'entity_test_field_data'], + ['all_revisions' => TRUE, 'table_name' => 'entity_test_field_data'], ], 'single_value_rev' => [ - ['default_revision' => TRUE, 'default_translation' => TRUE, 'table_name' => 'entity_test_field_data'], - ['default_revision' => TRUE, 'default_translation' => FALSE, 'table_name' => 'entity_test_field_data'], - ['default_revision' => FALSE, 'default_translation' => TRUE, 'table_name' => 'entity_test_field_revision'], - ['default_revision' => FALSE, 'default_translation' => FALSE, 'table_name' => 'entity_test_field_revision'], + ['all_revisions' => FALSE, 'table_name' => 'entity_test_field_data'], + ['all_revisions' => TRUE, 'table_name' => 'entity_test_field_revision'], ], 'single_value_mul_rev' => [ - ['default_revision' => TRUE, 'default_translation' => TRUE, 'table_name' => 'entity_test_field_data'], - ['default_revision' => TRUE, 'default_translation' => FALSE, 'table_name' => 'entity_test_field_data'], - ['default_revision' => FALSE, 'default_translation' => TRUE, 'table_name' => 'entity_test_field_revision'], - ['default_revision' => FALSE, 'default_translation' => FALSE, 'table_name' => 'entity_test_field_revision'], + ['all_revisions' => FALSE, 'table_name' => 'entity_test_field_data'], + ['all_revisions' => TRUE, 'table_name' => 'entity_test_field_revision'], ], 'multi_value' => [ - ['default_revision' => TRUE, 'default_translation' => TRUE, 'table_name' => 'entity_test__multi_value'], - ['default_revision' => TRUE, 'default_translation' => FALSE, 'table_name' => 'entity_test__multi_value'], - ['default_revision' => FALSE, 'default_translation' => TRUE, 'table_name' => 'entity_test__multi_value'], - ['default_revision' => FALSE, 'default_translation' => FALSE, 'table_name' => 'entity_test__multi_value'], + ['all_revisions' => FALSE, 'table_name' => 'entity_test__multi_value'], + ['all_revisions' => TRUE, 'table_name' => 'entity_test__multi_value'], ], 'multi_value_mul' => [ - ['default_revision' => TRUE, 'default_translation' => TRUE, 'table_name' => 'entity_test__multi_value_mul'], - ['default_revision' => TRUE, 'default_translation' => FALSE, 'table_name' => 'entity_test__multi_value_mul'], - ['default_revision' => FALSE, 'default_translation' => TRUE, 'table_name' => 'entity_test__multi_value_mul'], - ['default_revision' => FALSE, 'default_translation' => FALSE, 'table_name' => 'entity_test__multi_value_mul'], + ['all_revisions' => FALSE, 'table_name' => 'entity_test__multi_value_mul'], + ['all_revisions' => TRUE, 'table_name' => 'entity_test__multi_value_mul'], ], 'multi_value_rev' => [ - ['default_revision' => TRUE, 'default_translation' => TRUE, 'table_name' => 'entity_test__multi_value_rev'], - ['default_revision' => TRUE, 'default_translation' => FALSE, 'table_name' => 'entity_test__multi_value_rev'], - ['default_revision' => FALSE, 'default_translation' => TRUE, 'table_name' => 'entity_test_revision__multi_value_rev'], - ['default_revision' => FALSE, 'default_translation' => FALSE, 'table_name' => 'entity_test_revision__multi_value_rev'], + ['all_revisions' => FALSE, 'table_name' => 'entity_test__multi_value_rev'], + ['all_revisions' => TRUE, 'table_name' => 'entity_test_revision__multi_value_rev'], ], 'multi_value_mul_rev' => [ - ['default_revision' => TRUE, 'default_translation' => TRUE, 'table_name' => 'entity_test__multi_value_mul_rev'], - ['default_revision' => TRUE, 'default_translation' => FALSE, 'table_name' => 'entity_test__multi_value_mul_rev'], - ['default_revision' => FALSE, 'default_translation' => TRUE, 'table_name' => 'entity_test_revision__multi_value_mul_rev'], - ['default_revision' => FALSE, 'default_translation' => FALSE, 'table_name' => 'entity_test_revision__multi_value_mul_rev'], + ['all_revisions' => FALSE, 'table_name' => 'entity_test__multi_value_mul_rev'], + ['all_revisions' => TRUE, 'table_name' => 'entity_test_revision__multi_value_mul_rev'], ], ], ],