public function post_index_type() { $field = $this->_get_field(); if ($field->is_indexable() or $field->index_type !== NULL) { $old_field = clone $field; $field->set_index(); DataSource_Hybrid_Field_Factory::update_field($old_field, $field); DataSource_Hybrid_Field_Factory::alter_table_field_add_index($field); $this->message('Index to field ":field" added', array(':field' => $field->header)); } else { throw HTTP_API_Exception::factory(API::ERROR_UNKNOWN, 'Field cannot be indexed'); } }