diff options
author | Remi Collet <fedora@famillecollet.com> | 2010-11-01 18:40:08 +0100 |
---|---|---|
committer | Remi Collet <fedora@famillecollet.com> | 2010-11-01 18:40:08 +0100 |
commit | db257c7de11da2771a9f61733f21a42c98cf2a97 (patch) | |
tree | 3a93d847a2917e27f9a4f8402735176244f6a101 /class | |
parent | 8b50ace3024268b3067c0bf43bbd68f824b90d81 (diff) |
add CommonTable->optimize() method and call it during refresh
Diffstat (limited to 'class')
-rw-r--r-- | class/CommonTable.php | 17 | ||||
-rw-r--r-- | class/Parser.php | 2 | ||||
-rw-r--r-- | class/TableIterator.php | 6 |
3 files changed, 22 insertions, 3 deletions
diff --git a/class/CommonTable.php b/class/CommonTable.php index b7cc93e..365ef19 100644 --- a/class/CommonTable.php +++ b/class/CommonTable.php @@ -84,7 +84,9 @@ abstract class CommonTable $res = $this->db->exec($sql); if ($res===false) { $err = $this->db->errorInfo(); - throw new Exception("\nSQL: $sql\nERROR: ".$err[2]."\nCODE:"); + throw new Exception( + "\nSQL: $sql\nERROR: " . $err[2] . "\nCODE:" . $err[0] + ); } return $res; } @@ -316,6 +318,19 @@ abstract class CommonTable } /** + * Optimize the table + */ + public function optimize() + { + $res = array(); + foreach ($this->request('OPTIMIZE TABLE `'.$this->table.'`') as $row) { + $res[] = $row; + } + return $res; + } + + + /** * Get the number of rows in the table */ public function getCount() diff --git a/class/Parser.php b/class/Parser.php index ef4a751..79d1282 100644 --- a/class/Parser.php +++ b/class/Parser.php @@ -39,7 +39,7 @@ class Parser /** * Display a message */ - static private function log($msg) + static public function log($msg) { echo date("r : ") . $msg ."\n"; } diff --git a/class/TableIterator.php b/class/TableIterator.php index dfae859..6e44c18 100644 --- a/class/TableIterator.php +++ b/class/TableIterator.php @@ -230,7 +230,11 @@ class TableIterator implements Iterator if ($this->_res && $this->_pos<0) { if (!$this->_res->execute()) { $err = $this->_res->errorInfo(); - throw new Exception($err[2]); + throw new Exception( + "\nSQL: " . $this->_sql . + "\nERROR: " . $err[2] . + "\nCODE:" . $err[0] + ); } } return $this->next(); |