Modified for multi-server, and added function prototypes directly into
authorjollytoad <jollytoad>
Tue, 1 Mar 2005 10:33:23 +0000 (10:33 +0000)
committerjollytoad <jollytoad>
Tue, 1 Mar 2005 10:33:23 +0000 (10:33 +0000)
functions query.

classes/database/Postgres.php
classes/database/Postgres71.php
classes/database/Postgres72.php
classes/database/Postgres73.php
classes/database/Postgres80.php

index 6f58847284eed4fbcdaac671c458efff3411020b..05b1ec4fb310f78939b9a1b50a91b5c8bc987af9 100755 (executable)
@@ -4,7 +4,7 @@
  * A class that implements the DB interface for Postgres
  * Note: This class uses ADODB and returns RecordSets.
  *
- * $Id: Postgres.php,v 1.254 2005/02/20 04:47:46 mr-russ Exp $
+ * $Id: Postgres.php,v 1.254.2.1 2005/03/01 10:33:24 jollytoad Exp $
  */
 
 // @@@ THOUGHT: What about inherits? ie. use of ONLY???
@@ -405,10 +405,12 @@ class Postgres extends ADODB_base {
         * @return A list of databases, sorted alphabetically
         */
        function &getDatabases($currentdatabase = NULL) {
-               global $conf;
+               global $conf, $misc;
 
-               if (isset($conf['owned_only']) && $conf['owned_only'] && !$this->isSuperUser($_SESSION['webdbUsername'])) {
-                       $username = $_SESSION['webdbUsername'];
+               $server_info = $misc->getServerInfo();
+               
+               if (isset($conf['owned_only']) && $conf['owned_only'] && !$this->isSuperUser($server_info['username'])) {
+                       $username = $server_info['username'];
                        $this->clean($username);
                        $clause = " AND pu.usename='{$username}'";
                }
@@ -3323,7 +3325,9 @@ class Postgres extends ADODB_base {
                                pt.typname AS proresult,
                                pl.lanname AS prolanguage,
                                oidvectortypes(pc.proargtypes) AS proarguments,
-                               (SELECT description FROM pg_description pd WHERE pc.oid=pd.objoid) AS procomment
+                               (SELECT description FROM pg_description pd WHERE pc.oid=pd.objoid) AS procomment,
+                               proname || ' (' || proarguments || ')' AS proproto,
+                               CASE WHEN proretset THEN 'setof ' ELSE '' END || pt.typname AS proreturns
                        FROM
                                pg_proc pc, pg_user pu, pg_type pt, pg_language pl
                        WHERE
@@ -3338,7 +3342,9 @@ class Postgres extends ADODB_base {
                                proretset,
                                'OPAQUE' AS proresult,
                                oidvectortypes(pc.proargtypes) AS proarguments,
-                               (SELECT description FROM pg_description pd WHERE pc.oid=pd.objoid) AS procomment
+                               (SELECT description FROM pg_description pd WHERE pc.oid=pd.objoid) AS procomment,
+                               proname || ' (' || proarguments || ')' AS proproto,
+                               CASE WHEN proretset THEN 'setof ' ELSE '' END || 'OPAQUE' AS proreturns
                        FROM
                                pg_proc pc, pg_user pu, pg_type pt
                        WHERE   
index bf828ac5e3810f98ed36368503db7e0056668e5c..4486abd7471f4bea27a64d7a053dfe3a00c84217 100644 (file)
@@ -4,7 +4,7 @@
  * A class that implements the DB interface for Postgres
  * Note: This class uses ADODB and returns RecordSets.
  *
- * $Id: Postgres71.php,v 1.70 2005/02/06 20:03:20 soranzo Exp $
+ * $Id: Postgres71.php,v 1.70.2.1 2005/03/01 10:33:23 jollytoad Exp $
  */
 
 // @@@ THOUGHT: What about inherits? ie. use of ONLY???
@@ -86,10 +86,12 @@ class Postgres71 extends Postgres {
         * @return A list of databases, sorted alphabetically
         */
        function &getDatabases($currentdatabase = NULL) {
-               global $conf;
-
-               if (isset($conf['owned_only']) && $conf['owned_only'] && !$this->isSuperUser($_SESSION['webdbUsername'])) {
-                       $username = $_SESSION['webdbUsername'];
+               global $conf, $misc;
+               
+               $server_info = $misc->getServerInfo();
+               
+               if (isset($conf['owned_only']) && $conf['owned_only'] && !$this->isSuperUser($server_info['username'])) {
+                       $username = $server_info['username'];
                        $this->clean($username);
                        $clause = " AND pu.usename='{$username}'";
                }
index 8f6da6691b58df1ea25c9a45498ed92c9852aaa4..952d67cf24a30c8509a7ee3bd842952c49a196b1 100644 (file)
@@ -4,7 +4,7 @@
  * A class that implements the DB interface for Postgres
  * Note: This class uses ADODB and returns RecordSets.
  *
- * $Id: Postgres72.php,v 1.78 2004/11/10 01:46:36 chriskl Exp $
+ * $Id: Postgres72.php,v 1.78.4.1 2005/03/01 10:33:23 jollytoad Exp $
  */
 
 
@@ -324,7 +324,9 @@ class Postgres72 extends Postgres71 {
                                false AS proretset,
                                format_type(p.prorettype, NULL) AS proresult,
                                oidvectortypes(p.proargtypes) AS proarguments,
-                               (SELECT description FROM pg_description pd WHERE p.oid=pd.objoid) AS procomment
+                               (SELECT description FROM pg_description pd WHERE p.oid=pd.objoid) AS procomment,
+                               p.proname || ' (' || oidvectortypes(p.proargtypes) || ')' AS proproto,
+                               format_type(p.prorettype, NULL) AS proreturns
                        FROM
                                pg_proc p
                        WHERE
index 14f3b9bda0ff4df48a2ece78695a8dfa3a54d782..98cd8a5a5ed7f504d8913bd64e0cba9f1d38e9b7 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.142 2004/12/06 02:48:34 chriskl Exp $
+ * $Id: Postgres73.php,v 1.142.2.1 2005/03/01 10:33:24 jollytoad Exp $
  */
 
 // @@@ THOUGHT: What about inherits? ie. use of ONLY???
@@ -720,7 +720,9 @@ class Postgres73 extends Postgres72 {
                                pg_catalog.format_type(p.prorettype, NULL) AS proresult,
                                pg_catalog.oidvectortypes(p.proargtypes) AS proarguments,
                                pl.lanname AS prolanguage,
-                               pg_catalog.obj_description(p.oid, 'pg_proc') AS procomment
+                               pg_catalog.obj_description(p.oid, 'pg_proc') AS procomment,
+                               p.proname || ' (' || pg_catalog.oidvectortypes(p.proargtypes) || ')' AS proproto,
+                               CASE WHEN p.proretset THEN 'setof ' ELSE '' END || pg_catalog.format_type(p.prorettype, NULL) AS proreturns
                        FROM pg_catalog.pg_proc p
                                INNER JOIN pg_catalog.pg_namespace n ON n.oid = p.pronamespace
                                INNER JOIN pg_catalog.pg_language pl ON pl.oid = p.prolang
index ea71d33c72e621c3f601ccce8be49a8b4f364aa6..73f42a00cf0917786218e4bba3abe3bd50cf3a54 100644 (file)
@@ -3,7 +3,7 @@
 /**
  * PostgreSQL 8.0 support
  *
- * $Id: Postgres80.php,v 1.10 2005/02/06 00:34:20 mr-russ Exp $
+ * $Id: Postgres80.php,v 1.10.2.1 2005/03/01 10:33:24 jollytoad Exp $
  */
 
 include_once('./classes/database/Postgres74.php');
@@ -48,10 +48,12 @@ class Postgres80 extends Postgres74 {
         * @return A list of databases, sorted alphabetically
         */
        function &getDatabases($currentdatabase = NULL) {
-               global $conf;
-
-               if (isset($conf['owned_only']) && $conf['owned_only'] && !$this->isSuperUser($_SESSION['webdbUsername'])) {
-                       $username = $_SESSION['webdbUsername'];
+               global $conf, $misc;
+               
+               $server_info = $misc->getServerInfo();
+               
+               if (isset($conf['owned_only']) && $conf['owned_only'] && !$this->isSuperUser($server_info['username'])) {
+                       $username = $server_info['username'];
                        $this->clean($username);
                        $clause = " AND pu.usename='{$username}'";
                }