You are here

function entityreference_update_7100 in Entity reference 7

Remove duplicate rows in the taxonomy_index table.

File

./entityreference.install, line 170

Code

function entityreference_update_7100() {
  if (db_table_exists('taxonomy_index') && ($tx_schema = drupal_get_schema('taxonomy_index'))) {
    if (db_table_exists('taxonomy_index_tmp')) {
      db_drop_table('taxonomy_index_tmp');
    }
    db_create_table('taxonomy_index_tmp', $tx_schema);
    $select = db_select('taxonomy_index', 'tx');
    $select
      ->fields('tx', array(
      'nid',
      'tid',
    ));
    $select
      ->groupBy('tx.nid');
    $select
      ->groupBy('tx.tid');
    $select
      ->addExpression('MAX(sticky)', 'sticky');
    $select
      ->addExpression('MAX(created)', 'created');
    db_insert('taxonomy_index_tmp')
      ->from($select)
      ->execute();
    db_drop_table('taxonomy_index');
    db_rename_table('taxonomy_index_tmp', 'taxonomy_index');
  }
}