]> git.mxchange.org Git - quix0rs-gnu-social.git/commitdiff
throw an error that looks like mysql errors.. :-S
authorBrenda Wallace <shiny@cpan.org>
Wed, 10 Mar 2010 08:25:44 +0000 (21:25 +1300)
committerBrenda Wallace <shiny@cpan.org>
Wed, 10 Mar 2010 08:25:44 +0000 (21:25 +1300)
lib/pgsqlschema.php

index 91bc09667c0976d78ed7026aef14b00e3a9d770f..a4ebafae4bc2505dc397f117c90a0f1c99e6b1f1 100644 (file)
@@ -1,3 +1,4 @@
+
 <?php
 /**
  * StatusNet, the distributed open-source microblogging tool
@@ -61,7 +62,8 @@ class PgsqlSchema extends Schema
 
     public function getTableDef($name)
     {
-        $res = $this->conn->query("select *, column_default as default, is_nullable as Null, udt_name as Type, column_name AS Field from INFORMATION_SCHEMA.COLUMNS where table_name = '$name'");
+        $res = $this->conn->query("SELECT *, column_default as default, is_nullable as Null,
+        udt_name as Type, column_name AS Field from INFORMATION_SCHEMA.COLUMNS where table_name = '$name'");
 
         if (PEAR::isError($res)) {
             throw new Exception($res->getMessage());
@@ -72,6 +74,9 @@ class PgsqlSchema extends Schema
         $td->name    = $name;
         $td->columns = array();
 
+        if ($res->numRows() == 0 ) {
+          throw new Exception('no such table'); //pretend to be the msyql error. yeah, this sucks.
+        }
         $row = array();
 
         while ($res->fetchInto($row, DB_FETCHMODE_ASSOC)) {
@@ -359,6 +364,7 @@ class PgsqlSchema extends Schema
 
         try {
             $td = $this->getTableDef($tableName);
+            
         } catch (Exception $e) {
             if (preg_match('/no such table/', $e->getMessage())) {
                 return $this->createTable($tableName, $columns);