public function getIndexSchema()
{
if ($this->_index !== null) {
return $this->_index;
}
$db = $this->db;
$indexName = $this->indexName;
if ($indexName === null) {
/* @var $modelClass ActiveRecord */
$modelClass = $this->modelClass;
$indexName = $modelClass::indexName();
}
$this->_index = $db->getSchema()->getIndexSchema($indexName);
if ($this->_index === null) {
throw new InvalidConfigException("Index does not exist: {$indexName}");
}
if (!$this->_index->isRuntime) {
throw new InvalidConfigException("'{$indexName}' is not a runtime index. Only runtime indexes are supported.'");
}
return $this->_index;
}