Beispiel #1
0
 public function addIndex(Index $index)
 {
     if (isset($this->indexes[$index->getName()])) {
         throw new MalformedSqlException("Index '{$index->getName()}' already defined!");
     }
     $this->indexes[$index->getName()] = $index;
     if (is_array($this->columnDefinition)) {
         if ($index->getIsPrimary()) {
             foreach ($index->getColumns() as $column) {
                 /* @var $column ColumnSpecifier */
                 if (!isset($this->columnDefinition[$column->getColumn()])) {
                     throw new InvalidArgumentException("Cannot set undefined column '{$column}' as primary key!");
                 }
                 /* @var $columnDefinition ColumnDefinition */
                 $columnDefinition = $this->columnDefinition[$column->getColumn()];
                 $columnDefinition->setIsPrimaryKey(true);
             }
         }
     }
 }