fixes for search paths
authorchriskl <chriskl>
Mon, 6 Dec 2004 02:48:34 +0000 (02:48 +0000)
committerchriskl <chriskl>
Mon, 6 Dec 2004 02:48:34 +0000 (02:48 +0000)
classes/database/ADODB_base.php
classes/database/Postgres73.php

index 1a232d59467c0bd1e24ccfd84c4272d324ac1330..5a0beff7c8aac3a20a48588b8e77c3aa9b4a5c61 100644 (file)
@@ -3,7 +3,7 @@
 /*
  * Parent class of all ADODB objects.
  *
- * $Id: ADODB_base.php,v 1.19 2004/07/19 03:01:53 chriskl Exp $
+ * $Id: ADODB_base.php,v 1.20 2004/12/06 02:48:34 chriskl Exp $
  */
 
 include_once('./libraries/errorhandler.inc.php');
@@ -310,6 +310,8 @@ class ADODB_base {
         * @return A PHP array
         */
        function phpArray($arr) {
+               if ($arr == '{}') return array();
+               
                $temp = explode(',', substr($arr, 1, strlen($arr) - 2));
                // Remove any quoting
                for ($i = 0; $i < sizeof($temp); $i++) {
index 99d1c87aefbbbb2179b16d2acdb7d1fa8488e52f..14f3b9bda0ff4df48a2ece78695a8dfa3a54d782 100644 (file)
@@ -4,7 +4,7 @@
  * A class that implements the DB interface for Postgres
  * Note: This class uses ADODB and returns RecordSets.
  *
- * $Id: Postgres73.php,v 1.141 2004/11/29 01:48:38 chriskl Exp $
+ * $Id: Postgres73.php,v 1.142 2004/12/06 02:48:34 chriskl Exp $
  */
 
 // @@@ THOUGHT: What about inherits? ie. use of ONLY???
@@ -89,7 +89,11 @@ class Postgres73 extends Postgres72 {
         */
        function setSearchPath($paths) {
                if (!is_array($paths)) return -1;
-               elseif (sizeof($paths) == 0) return -2;
+               elseif (sizeof($paths) == 0) return -2;         
+               elseif (sizeof($paths) == 1 && $paths[0] == '') {
+                       // Need to handle empty paths in some cases
+                       $paths[0] = 'pg_catalog';
+               }
                $this->fieldArrayClean($paths);
 
                $sql = 'SET SEARCH_PATH TO "' . implode('","', $paths) . '"';
@@ -103,6 +107,7 @@ class Postgres73 extends Postgres72 {
         */
        function getSearchPath() {
                $sql = 'SELECT current_schemas(false) AS search_path';
+               
                return $this->phpArray($this->selectField($sql, 'search_path'));
        }