From db257c7de11da2771a9f61733f21a42c98cf2a97 Mon Sep 17 00:00:00 2001 From: Remi Collet Date: Mon, 1 Nov 2010 18:40:08 +0100 Subject: add CommonTable->optimize() method and call it during refresh --- class/CommonTable.php | 17 ++++++++++++++++- class/Parser.php | 2 +- class/TableIterator.php | 6 +++++- 3 files changed, 22 insertions(+), 3 deletions(-) (limited to 'class') 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; } @@ -315,6 +317,19 @@ abstract class CommonTable return $this->exec('TRUNCATE `'.$this->table.'`'); } + /** + * 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 */ 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(); -- cgit