Code Coverage |
||||||||||
Classes and Traits |
Functions and Methods |
Lines |
||||||||
| Total | |
0.00% |
0 / 1 |
|
0.00% |
0 / 2 |
CRAP | |
0.00% |
0 / 36 |
| NodeStorageSchema | |
0.00% |
0 / 1 |
|
0.00% |
0 / 2 |
156 | |
0.00% |
0 / 36 |
| getEntitySchema | |
0.00% |
0 / 1 |
2 | |
0.00% |
0 / 8 |
|||
| getSharedTableFieldSchema | |
0.00% |
0 / 1 |
132 | |
0.00% |
0 / 28 |
|||
| <?php | |
| /** | |
| * @file | |
| * Contains \Drupal\node\NodeStorageSchema. | |
| */ | |
| namespace Drupal\node; | |
| use Drupal\Core\Entity\ContentEntityTypeInterface; | |
| use Drupal\Core\Entity\Sql\SqlContentEntityStorageSchema; | |
| use Drupal\Core\Field\FieldStorageDefinitionInterface; | |
| /** | |
| * Defines the node schema handler. | |
| */ | |
| class NodeStorageSchema extends SqlContentEntityStorageSchema { | |
| /** | |
| * {@inheritdoc} | |
| */ | |
| protected function getEntitySchema(ContentEntityTypeInterface $entity_type, $reset = FALSE) { | |
| $schema = parent::getEntitySchema($entity_type, $reset); | |
| $schema['node_field_data']['indexes'] += array( | |
| 'node__frontpage' => array('promote', 'status', 'sticky', 'created'), | |
| 'node__status_type' => array('status', 'type', 'nid'), | |
| 'node__title_type' => array('title', array('type', 4)), | |
| ); | |
| return $schema; | |
| } | |
| /** | |
| * {@inheritdoc} | |
| */ | |
| protected function getSharedTableFieldSchema(FieldStorageDefinitionInterface $storage_definition, $table_name, array $column_mapping) { | |
| $schema = parent::getSharedTableFieldSchema($storage_definition, $table_name, $column_mapping); | |
| $field_name = $storage_definition->getName(); | |
| if ($table_name == 'node_revision') { | |
| switch ($field_name) { | |
| case 'langcode': | |
| $this->addSharedTableFieldIndex($storage_definition, $schema, TRUE); | |
| break; | |
| case 'revision_uid': | |
| $this->addSharedTableFieldForeignKey($storage_definition, $schema, 'users', 'uid'); | |
| break; | |
| } | |
| } | |
| if ($table_name == 'node_field_data') { | |
| switch ($field_name) { | |
| case 'promote': | |
| case 'status': | |
| case 'sticky': | |
| case 'title': | |
| // Improves the performance of the indexes defined | |
| // in getEntitySchema(). | |
| $schema['fields'][$field_name]['not null'] = TRUE; | |
| break; | |
| case 'changed': | |
| case 'created': | |
| // @todo Revisit index definitions: | |
| // https://www.drupal.org/node/2015277. | |
| $this->addSharedTableFieldIndex($storage_definition, $schema, TRUE); | |
| break; | |
| } | |
| } | |
| return $schema; | |
| } | |
| } |