You are here

public function DataTable::addIndex in Data 6

Same name and namespace in other branches
  1. 7 includes/DataTable.inc \DataTable::addIndex()

Add an index to table.

@todo: support more than one field.

1 call to DataTable::addIndex()
DataTable::changeIndex in includes/DataTable.inc
Change indexes of a table.

File

includes/DataTable.inc, line 273
Contains class definition for DataTable.

Class

DataTable
Manages data access and manipulation for a single data table. Use data_create_table() or data_get_table() to instantiate an object from this class.

Code

public function addIndex($field) {
  $schema = $this->table_schema;
  if ($schema['fields'][$field]) {
    $index = data_get_index_definition($field, $schema['fields'][$field]);
    db_add_index($ret, $this->name, $field, $index);
    if ($ret[0]['success']) {
      $schema['indexes'][$field] = $index;
      $this
        ->update(array(
        'table_schema' => $schema,
      ));
      drupal_get_schema($this->name, TRUE);
      return;
    }
  }
  throw new DataException(t('Error adding index.'));
}