diff options
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(); |