123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180 |
- <?php
- /* vim: set expandtab sw=4 ts=4 sts=4: */
- /**
- * Library for extracting information about the sub-partitions
- *
- * @package PhpMyAdmin
- */
- namespace PhpMyAdmin;
- /**
- * Represents a sub partition of a table
- *
- * @package PhpMyAdmin
- */
- class SubPartition
- {
- /**
- * @var string the database
- */
- protected $db;
- /**
- * @var string the table
- */
- protected $table;
- /**
- * @var string partition name
- */
- protected $name;
- /**
- * @var integer ordinal
- */
- protected $ordinal;
- /**
- * @var string partition method
- */
- protected $method;
- /**
- * @var string partition expression
- */
- protected $expression;
- /**
- * @var integer no of table rows in the partition
- */
- protected $rows;
- /**
- * @var integer data length
- */
- protected $dataLength;
- /**
- * @var integer index length
- */
- protected $indexLength;
- /**
- * @var string partition comment
- */
- protected $comment;
- /**
- * Constructs a partition
- *
- * @param array $row fetched row from information_schema.PARTITIONS
- */
- public function __construct(array $row)
- {
- $this->db = $row['TABLE_SCHEMA'];
- $this->table = $row['TABLE_NAME'];
- $this->loadData($row);
- }
- /**
- * Loads data from the fetched row from information_schema.PARTITIONS
- *
- * @param array $row fetched row
- *
- * @return void
- */
- protected function loadData(array $row)
- {
- $this->name = $row['SUBPARTITION_NAME'];
- $this->ordinal = $row['SUBPARTITION_ORDINAL_POSITION'];
- $this->method = $row['SUBPARTITION_METHOD'];
- $this->expression = $row['SUBPARTITION_EXPRESSION'];
- $this->loadCommonData($row);
- }
- /**
- * Loads some data that is common to both partitions and sub partitions
- *
- * @param array $row fetched row
- *
- * @return void
- */
- protected function loadCommonData(array $row)
- {
- $this->rows = $row['TABLE_ROWS'];
- $this->dataLength = $row['DATA_LENGTH'];
- $this->indexLength = $row['INDEX_LENGTH'];
- $this->comment = $row['PARTITION_COMMENT'];
- }
- /**
- * Return the partition name
- *
- * @return string partition name
- */
- public function getName()
- {
- return $this->name;
- }
- /**
- * Return the ordinal of the partition
- *
- * @return number the ordinal
- */
- public function getOrdinal()
- {
- return $this->ordinal;
- }
- /**
- * Returns the partition method
- *
- * @return string partition method
- */
- public function getMethod()
- {
- return $this->method;
- }
- /**
- * Returns the partition expression
- *
- * @return string partition expression
- */
- public function getExpression()
- {
- return $this->expression;
- }
- /**
- * Returns the number of data rows
- *
- * @return integer number of rows
- */
- public function getRows()
- {
- return $this->rows;
- }
- /**
- * Returns the data length
- *
- * @return integer data length
- */
- public function getDataLength()
- {
- return $this->dataLength;
- }
- /**
- * Returns the index length
- *
- * @return integer index length
- */
- public function getIndexLength()
- {
- return $this->indexLength;
- }
- /**
- * Returns the partition comment
- *
- * @return string partition comment
- */
- public function getComment()
- {
- return $this->comment;
- }
- }
|