set($params); } /** * Sets parameters of the index column * * @param array $params an array containing the parameters of the index column * * @return void */ public function set(array $params) { if (isset($params['Column_name'])) { $this->_name = $params['Column_name']; } if (isset($params['Seq_in_index'])) { $this->_seq_in_index = $params['Seq_in_index']; } if (isset($params['Collation'])) { $this->_collation = $params['Collation']; } if (isset($params['Cardinality'])) { $this->_cardinality = $params['Cardinality']; } if (isset($params['Sub_part'])) { $this->_sub_part = $params['Sub_part']; } if (isset($params['Null'])) { $this->_null = $params['Null']; } } /** * Returns the column name * * @return string column name */ public function getName() { return $this->_name; } /** * Return the column collation * * @return string column collation */ public function getCollation() { return $this->_collation; } /** * Returns the cardinality of the column * * @return int cardinality of the column */ public function getCardinality() { return $this->_cardinality; } /** * Returns whether the column is nullable * * @param boolean $as_text whether to returned the string representation * * @return mixed nullability of the column. True/false or Yes/No depending * on the value of the $as_text parameter */ public function getNull($as_text = false) { if ($as_text) { if (!$this->_null || $this->_null == 'NO') { return __('No'); } return __('Yes'); } return $this->_null; } /** * Returns the sequence number of the column in the index * * @return int sequence number of the column in the index */ public function getSeqInIndex() { return $this->_seq_in_index; } /** * Returns the number of indexed characters if the column is only * partly indexed * * @return int the number of indexed characters */ public function getSubPart() { return $this->_sub_part; } /** * Gets the properties in an array for comparison purposes * * @return array an array containing the properties of the index column */ public function getCompareData() { return array( 'Column_name' => $this->_name, 'Seq_in_index' => $this->_seq_in_index, 'Collation' => $this->_collation, 'Sub_part' => $this->_sub_part, 'Null' => $this->_null, ); } }