aboutsummaryrefslogtreecommitdiffstats
path: root/phpBB/db/postgres7.php
diff options
context:
space:
mode:
authorPaul S. Owen <psotfx@users.sourceforge.net>2002-01-01 14:35:33 +0000
committerPaul S. Owen <psotfx@users.sourceforge.net>2002-01-01 14:35:33 +0000
commit9a3e0cd3c6a65501f0cdebbc864f195325f0a362 (patch)
treee562aa9cb631221721c493290abb0db580c20c75 /phpBB/db/postgres7.php
parent189ff7d6b2752f5f9498873c9a5c706d32666091 (diff)
downloadforums-9a3e0cd3c6a65501f0cdebbc864f195325f0a362.tar
forums-9a3e0cd3c6a65501f0cdebbc864f195325f0a362.tar.gz
forums-9a3e0cd3c6a65501f0cdebbc864f195325f0a362.tar.bz2
forums-9a3e0cd3c6a65501f0cdebbc864f195325f0a362.tar.xz
forums-9a3e0cd3c6a65501f0cdebbc864f195325f0a362.zip
Fix for bug #497093 + other updates
git-svn-id: file:///svn/phpbb/trunk@1764 89ea8834-ac86-4346-8a33-228a782c2dd0
Diffstat (limited to 'phpBB/db/postgres7.php')
-rw-r--r--phpBB/db/postgres7.php279
1 files changed, 113 insertions, 166 deletions
diff --git a/phpBB/db/postgres7.php b/phpBB/db/postgres7.php
index 41d055a556..f0f1821d1f 100644
--- a/phpBB/db/postgres7.php
+++ b/phpBB/db/postgres7.php
@@ -37,68 +37,55 @@ class sql_db
//
// Constructor
//
- function sql_db($sqlserver, $sqluser, $sqlpassword, $database, $persistency=true)
+ function sql_db($sqlserver, $sqluser, $sqlpassword, $database, $persistency = true)
{
-
$this->connect_string = "";
- if($sqluser)
+
+ if( $sqluser )
{
$this->connect_string .= "user=$sqluser ";
}
- if($sqlpassword)
+
+ if( $sqlpassword )
{
$this->connect_string .= "password=$sqlpassword ";
}
- if($sqlserver)
+
+ if( $sqlserver )
{
- if(ereg(":",$sqlserver))
+ if( ereg(":", $sqlserver) )
{
- list($sqlserver,$sqlport) = split(":",$sqlserver);
+ list($sqlserver, $sqlport) = split(":", $sqlserver);
$this->connect_string .= "host=$sqlserver port=$sqlport ";
}
else
{
- if($sqlserver != "localhost")
+ if( $sqlserver != "localhost" )
{
$this->connect_string .= "host=$sqlserver ";
}
}
}
- if($database)
+
+ if( $database )
{
$this->dbname = $database;
- $make_connect = $this->connect_string . "dbname=$database";
- }
- else
- {
- $make_connect = $this->connect_string;
+ $this->connect_string .= "dbname=$database";
}
$this->persistency = $persistency;
- if($this->persistency)
- {
- $this->db_connect_id = @pg_pconnect($make_connect);
- }
- else
- {
- $this->db_connect_id = @pg_connect($make_connect);
- }
- if($this->db_connect_id)
- {
- return $this->db_connect_id;
- }
- else
- {
- return false;
- }
+ $this->db_connect_id = ( $this->persistency ) ? pg_pconnect($this->connect_string) : pg_connect($this->connect_string);
+
+ return ( $this->db_connect_id ) ? $this->db_connect_id : false;
}
+
//
// Other base methods
//
function sql_close()
{
- if($this->db_connect_id)
+ if( $this->db_connect_id )
{
//
// Commit any remaining transactions
@@ -108,12 +95,12 @@ class sql_db
@pg_exec($this->db_connect_id, "COMMIT");
}
- if($this->query_result)
+ if( $this->query_result )
{
@pg_freeresult($this->query_result);
}
- $result = @pg_close($this->db_connect_id);
- return $result;
+
+ return @pg_close($this->db_connect_id);
}
else
{
@@ -125,20 +112,22 @@ class sql_db
//
// Query method
//
- function sql_query($query = "", $transaction = FALSE)
+ function sql_query($query = "", $transaction = false)
{
+ //
// Remove any pre-existing queries
+ //
unset($this->query_result);
- if($query != "")
+ if( $query != "" )
{
$this->num_queries++;
$query = preg_replace("/LIMIT ([0-9]+),([ 0-9]+)/", "LIMIT \\2, \\1", $query);
- if($transaction == BEGIN_TRANSACTION)
+ if( $transaction == BEGIN_TRANSACTION )
{
$result = @pg_exec($this->db_connect_id, "BEGIN");
- if(!$result)
+ if( !$result )
{
return false;
}
@@ -146,12 +135,12 @@ class sql_db
}
$this->query_result = @pg_exec($this->db_connect_id, $query);
- if($this->query_result)
+ if( $this->query_result )
{
- if($transaction == END_TRANSACTION)
+ if( $transaction == END_TRANSACTION )
{
$result = @pg_exec($this->db_connect_id, "COMMIT");
- if(!$result)
+ if( !$result )
{
@pg_exec($this->db_connect_id, "ROLLBACK");
return false;
@@ -169,7 +158,7 @@ class sql_db
}
else
{
- if($this->in_transaction)
+ if( $this->in_transaction )
{
@pg_exec($this->db_connect_id, "ROLLBACK");
}
@@ -180,10 +169,10 @@ class sql_db
}
else
{
- if($transaction == END_TRANSACTION)
+ if( $transaction == END_TRANSACTION )
{
$result = @pg_exec($this->db_connect_id, "COMMIT");
- if(!$result)
+ if( !$result )
{
@pg_exec($this->db_connect_id, "ROLLBACK");
return false;
@@ -194,179 +183,143 @@ class sql_db
return false;
}
}
+
//
// Other query methods
//
function sql_numrows($query_id = 0)
{
- if(!$query_id)
+ if( !$query_id )
{
$query_id = $this->query_result;
}
- if($query_id)
- {
- $result = @pg_numrows($query_id);
- return $result;
- }
- else
- {
- return false;
- }
- }
- function sql_affectedrows($query_id = 0)
- {
- if(!$query_id)
- {
- $query_id = $this->query_result;
- }
- if($query_id)
- {
- $result = @pg_cmdtuples($query_id);
- return $result;
- }
- else
- {
- return false;
- }
+
+ return ( $query_id ) ? @pg_numrows($query_id) : false;
}
+
function sql_numfields($query_id = 0)
{
- if(!$query_id)
+ if( !$query_id )
{
$query_id = $this->query_result;
}
- if($query_id)
- {
- $result = @pg_numfields($query_id);
- return $result;
- }
- else
- {
- return false;
- }
+
+ return ( $query_id ) ? @pg_numfields($query_id) : false;
}
+
function sql_fieldname($offset, $query_id = 0)
{
- if(!$query_id)
+ if( !$query_id )
{
$query_id = $this->query_result;
}
- if($query_id)
- {
- $result = @pg_fieldname($query_id, $offset);
- return $result;
- }
- else
- {
- return false;
- }
+
+ return ( $query_id ) ? @pg_fieldname($query_id, $offset) : false;
}
+
function sql_fieldtype($offset, $query_id = 0)
{
- if(!$query_id)
+ if( !$query_id )
{
$query_id = $this->query_result;
}
- if($query_id)
- {
- $result = @pg_fieldtype($query_id, $offset);
- return $result;
- }
- else
- {
- return false;
- }
+
+ return ( $query_id ) ? @pg_fieldtype($query_id, $offset) : false;
}
+
function sql_fetchrow($query_id = 0)
{
- if(!$query_id)
+ if( !$query_id )
{
$query_id = $this->query_result;
}
+
if($query_id)
{
$this->row = @pg_fetch_array($query_id, $this->rownum[$query_id]);
- if($this->row)
+
+ if( $this->row )
{
$this->rownum[$query_id]++;
return $this->row;
}
- else
- {
- return false;
- }
- }
- else
- {
- return false;
}
+
+ return false;
}
+
function sql_fetchrowset($query_id = 0)
{
- if(!$query_id)
+ if( !$query_id )
{
$query_id = $this->query_result;
}
- if($query_id)
+
+ if( $query_id )
{
unset($this->rowset[$query_id]);
unset($this->row[$query_id]);
$this->rownum[$query_id] = 0;
- while($this->rowset = @pg_fetch_array($query_id, $this->rownum[$query_id], PGSQL_ASSOC))
+ while( $this->rowset = @pg_fetch_array($query_id, $this->rownum[$query_id], PGSQL_ASSOC) )
{
$result[] = $this->rowset;
$this->rownum[$query_id]++;
}
+
return $result;
}
- else
- {
- return false;
- }
+
+ return false;
}
+
function sql_fetchfield($field, $row_offset=-1, $query_id = 0)
{
- if(!$query_id)
+ if( !$query_id )
{
$query_id = $this->query_result;
}
- if($query_id)
+
+ if( $query_id )
{
- if($row_offset != -1)
+ if( $row_offset != -1 )
{
$this->row = @pg_fetch_array($query_id, $row_offset, PGSQL_ASSOC);
}
else
{
- if($this->rownum[$query_id])
+ if( $this->rownum[$query_id] )
{
$this->row = @pg_fetch_array($query_id, $this->rownum[$query_id]-1, PGSQL_ASSOC);
}
else
{
$this->row = @pg_fetch_array($query_id, $this->rownum[$query_id], PGSQL_ASSOC);
- if($this->row)
+
+ if( $this->row )
{
$this->rownum[$query_id]++;
}
}
}
+
return $this->row[$field];
}
- else
- {
- return false;
- }
+
+ return false;
}
- function sql_rowseek($offset, $query_id = 0){
+
+ function sql_rowseek($offset, $query_id = 0)
+ {
+
if(!$query_id)
{
$query_id = $this->query_result;
}
- if($query_id)
+
+ if( $query_id )
{
- if($offset>-1)
+ if( $offset > -1 )
{
$this->rownum[$query_id] = $offset;
return true;
@@ -376,21 +329,17 @@ class sql_db
return false;
}
}
- else
- {
- return false;
- }
+
+ return false;
}
- function sql_nextid($query_id = 0)
+
+ function sql_nextid()
{
- if(!$query_id)
- {
- $query_id = $this->query_result;
- }
+ $query_id = $this->query_result;
+
if($query_id && $this->last_query_text[$query_id] != "")
{
-
- if( preg_match("/^INSERT[ ]+INTO[ ]+([a-z0-9\_\-]+)/is", $this->last_query_text[$query_id], $tablename) )
+ if( preg_match("/^INSERT[\t\n ]+INTO[\t\n ]+([a-z0-9\_\-]+)/is", $this->last_query_text[$query_id], $tablename) )
{
$query = "SELECT last_value
FROM " . $tablename[1] . "_id_seq";
@@ -401,46 +350,44 @@ class sql_db
}
$temp_result = @pg_fetch_array($temp_q_id, 0, PGSQL_ASSOC);
- if($temp_result)
- {
- return $temp_result['last_value'];
- }
- else
- {
- return false;
- }
- }
- else
- {
- return false;
+
+ return ( $temp_result ) ? $temp_result['last_value'] : false;
}
}
- else
- {
- return false;
- }
+
+ return false;
}
- function sql_freeresult($query_id = 0){
- if(!$query_id){
- $query_id = $this->query_result;
- }
- if($query_id)
+
+ function sql_affectedrows($query_id = 0)
+ {
+ if( !$query_id )
{
- $result = @pg_freeresult($query_id);
- return $result;
+ $query_id = $this->query_result;
}
- else
+
+ return ( $query_id ) ? @pg_cmdtuples($query_id) : false;
+ }
+
+ function sql_freeresult($query_id = 0)
+ {
+ if( !$query_id )
{
- return false;
+ $query_id = $this->query_result;
}
+
+ return ( $query_id ) ? @pg_freeresult($query_id) : false;
}
+
function sql_error($query_id = 0)
{
- if(!$query_id){
+ if( !$query_id )
+ {
$query_id = $this->query_result;
}
+
$result['message'] = @pg_errormessage($this->db_connect_id);
$result['code'] = -1;
+
return $result;
}