Chris@0: storage->getDataTable()) { Chris@17: $schema[$data_table]['indexes'] += [ Chris@17: 'node__frontpage' => ['promote', 'status', 'sticky', 'created'], Chris@17: 'node__title_type' => ['title', ['type', 4]], Chris@17: ]; Chris@17: } Chris@0: Chris@0: return $schema; Chris@0: } Chris@0: Chris@0: /** Chris@0: * {@inheritdoc} Chris@0: */ Chris@0: protected function getSharedTableFieldSchema(FieldStorageDefinitionInterface $storage_definition, $table_name, array $column_mapping) { Chris@0: $schema = parent::getSharedTableFieldSchema($storage_definition, $table_name, $column_mapping); Chris@0: $field_name = $storage_definition->getName(); Chris@0: Chris@0: if ($table_name == 'node_revision') { Chris@0: switch ($field_name) { Chris@0: case 'langcode': Chris@0: $this->addSharedTableFieldIndex($storage_definition, $schema, TRUE); Chris@0: break; Chris@0: Chris@0: case 'revision_uid': Chris@0: $this->addSharedTableFieldForeignKey($storage_definition, $schema, 'users', 'uid'); Chris@0: break; Chris@0: } Chris@0: } Chris@0: Chris@0: if ($table_name == 'node_field_data') { Chris@0: switch ($field_name) { Chris@0: case 'promote': Chris@0: case 'status': Chris@0: case 'sticky': Chris@0: case 'title': Chris@0: // Improves the performance of the indexes defined Chris@0: // in getEntitySchema(). Chris@0: $schema['fields'][$field_name]['not null'] = TRUE; Chris@0: break; Chris@0: Chris@0: case 'changed': Chris@0: case 'created': Chris@0: // @todo Revisit index definitions: Chris@0: // https://www.drupal.org/node/2015277. Chris@0: $this->addSharedTableFieldIndex($storage_definition, $schema, TRUE); Chris@0: break; Chris@0: } Chris@0: } Chris@0: Chris@0: return $schema; Chris@0: } Chris@0: Chris@0: }