summaryrefslogtreecommitdiffstats
path: root/class
diff options
context:
space:
mode:
authorRemi Collet <fedora@famillecollet.com>2010-11-01 18:40:08 +0100
committerRemi Collet <fedora@famillecollet.com>2010-11-01 18:40:08 +0100
commitdb257c7de11da2771a9f61733f21a42c98cf2a97 (patch)
tree3a93d847a2917e27f9a4f8402735176244f6a101 /class
parent8b50ace3024268b3067c0bf43bbd68f824b90d81 (diff)
add CommonTable->optimize() method and call it during refresh
Diffstat (limited to 'class')
-rw-r--r--class/CommonTable.php17
-rw-r--r--class/Parser.php2
-rw-r--r--class/TableIterator.php6
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();