aboutsummaryrefslogtreecommitdiffstats
path: root/phpBB/includes/db
diff options
context:
space:
mode:
authorMeik Sievertsen <acydburn@phpbb.com>2006-07-09 16:23:57 +0000
committerMeik Sievertsen <acydburn@phpbb.com>2006-07-09 16:23:57 +0000
commit46af817cb058e2eecd89081af4a40075426a32ef (patch)
treed27156cb086223b91b8c67f23db969a980e1b7b8 /phpBB/includes/db
parent455add06f29400af3176eea7c4958ed772934460 (diff)
downloadforums-46af817cb058e2eecd89081af4a40075426a32ef.tar
forums-46af817cb058e2eecd89081af4a40075426a32ef.tar.gz
forums-46af817cb058e2eecd89081af4a40075426a32ef.tar.bz2
forums-46af817cb058e2eecd89081af4a40075426a32ef.tar.xz
forums-46af817cb058e2eecd89081af4a40075426a32ef.zip
- tackle some usability issues
- fix bug #3147 - added the lock-images made by SHS` - fixed MSSQL errors (adding the correct ESCAPE sequence) git-svn-id: file:///svn/phpbb/trunk@6161 89ea8834-ac86-4346-8a33-228a782c2dd0
Diffstat (limited to 'phpBB/includes/db')
-rw-r--r--phpBB/includes/db/firebird.php24
-rw-r--r--phpBB/includes/db/mssql.php22
-rw-r--r--phpBB/includes/db/mssql_odbc.php22
-rw-r--r--phpBB/includes/db/mysql.php8
-rw-r--r--phpBB/includes/db/mysql4.php8
-rw-r--r--phpBB/includes/db/mysqli.php8
-rw-r--r--phpBB/includes/db/oracle.php8
-rw-r--r--phpBB/includes/db/postgres.php10
-rw-r--r--phpBB/includes/db/sqlite.php8
9 files changed, 118 insertions, 0 deletions
diff --git a/phpBB/includes/db/firebird.php b/phpBB/includes/db/firebird.php
index d5a91fe9bb..3a0567d90a 100644
--- a/phpBB/includes/db/firebird.php
+++ b/phpBB/includes/db/firebird.php
@@ -32,6 +32,7 @@ if (!defined('SQL_LAYER'))
class dbal_firebird extends dbal
{
var $last_query_text = '';
+ var $service_handle = false;
/**
* Connect to server
@@ -45,10 +46,28 @@ class dbal_firebird extends dbal
$this->db_connect_id = ($this->persistency) ? @ibase_pconnect($this->server . ':' . $this->dbname, $this->user, $sqlpassword, false, false, 3) : @ibase_connect($this->server . ':' . $this->dbname, $this->user, $sqlpassword, false, false, 3);
+ /**
+ * @todo evaluate the implications of opening a service connection
+ */
+ $this->service_handle = @ibase_service_attach($this->server, $this->user, $sqlpassword);
+
return ($this->db_connect_id) ? $this->db_connect_id : $this->sql_error('');
}
/**
+ * Version information about used database
+ */
+ function sql_server_info()
+ {
+ if ($this->service_handle !== false)
+ {
+ return @ibase_server_info($this->service_handle, IBASE_SVC_SERVER_VERSION);
+ }
+
+ return 'Firebird/Interbase';
+ }
+
+ /**
* SQL Transaction
* @access: private
*/
@@ -323,6 +342,11 @@ class dbal_firebird extends dbal
*/
function _sql_close()
{
+ if ($this->service_handle !== false)
+ {
+ @ibase_service_detach($this->service_handle);
+ }
+
return @ibase_close($this->db_connect_id);
}
diff --git a/phpBB/includes/db/mssql.php b/phpBB/includes/db/mssql.php
index cc4de3695a..efe0b4333d 100644
--- a/phpBB/includes/db/mssql.php
+++ b/phpBB/includes/db/mssql.php
@@ -56,6 +56,28 @@ class dbal_mssql extends dbal
}
/**
+ * Version information about used database
+ */
+ function sql_server_info()
+ {
+ $result_id = @mssql_query("SELECT SERVERPROPERTY('productversion'), SERVERPROPERTY('productlevel'), SERVERPROPERTY('edition')", $this->db_connect_id);
+
+ $row = false;
+ if ($result_id)
+ {
+ $row = @mssql_fetch_assoc($result_id);
+ @mssql_free_result($result_id);
+ }
+
+ if ($row)
+ {
+ return 'MSSQL<br />' . implode(' ', $row);
+ }
+
+ return 'MSSQL';
+ }
+
+ /**
* SQL Transaction
* @access: private
*/
diff --git a/phpBB/includes/db/mssql_odbc.php b/phpBB/includes/db/mssql_odbc.php
index 658251ea2a..8f37206817 100644
--- a/phpBB/includes/db/mssql_odbc.php
+++ b/phpBB/includes/db/mssql_odbc.php
@@ -50,6 +50,28 @@ class dbal_mssql_odbc extends dbal
}
/**
+ * Version information about used database
+ */
+ function sql_server_info()
+ {
+ $result_id = @odbc_exec($this->db_connect_id, "SELECT SERVERPROPERTY('productversion'), SERVERPROPERTY('productlevel'), SERVERPROPERTY('edition')");
+
+ $row = false;
+ if ($result_id)
+ {
+ $row = @odbc_fetch_array($result_id);
+ @odbc_free_result($result_id);
+ }
+
+ if ($row)
+ {
+ return 'MSSQL (ODBC)<br />' . implode(' ', $row);
+ }
+
+ return 'MSSQL (ODBC)';
+ }
+
+ /**
* SQL Transaction
* @access: private
*/
diff --git a/phpBB/includes/db/mysql.php b/phpBB/includes/db/mysql.php
index fd7e10a822..60e56e2964 100644
--- a/phpBB/includes/db/mysql.php
+++ b/phpBB/includes/db/mysql.php
@@ -56,6 +56,14 @@ class dbal_mysql extends dbal
}
/**
+ * Version information about used database
+ */
+ function sql_server_info()
+ {
+ return 'MySQL ' . @mysql_get_server_info($this->db_connect_id);
+ }
+
+ /**
* SQL Transaction
* @access: private
*/
diff --git a/phpBB/includes/db/mysql4.php b/phpBB/includes/db/mysql4.php
index 13271d9346..6028a7085f 100644
--- a/phpBB/includes/db/mysql4.php
+++ b/phpBB/includes/db/mysql4.php
@@ -58,6 +58,14 @@ class dbal_mysql4 extends dbal
}
/**
+ * Version information about used database
+ */
+ function sql_server_info()
+ {
+ return 'MySQL ' . @mysql_get_server_info($this->db_connect_id);
+ }
+
+ /**
* SQL Transaction
* @access: private
*/
diff --git a/phpBB/includes/db/mysqli.php b/phpBB/includes/db/mysqli.php
index b93bf98c1a..1257621729 100644
--- a/phpBB/includes/db/mysqli.php
+++ b/phpBB/includes/db/mysqli.php
@@ -58,6 +58,14 @@ class dbal_mysqli extends dbal
}
/**
+ * Version information about used database
+ */
+ function sql_server_info()
+ {
+ return 'MySQL(i) ' . @mysqli_get_server_info($this->db_connect_id);
+ }
+
+ /**
* SQL Transaction
* @access: private
*/
diff --git a/phpBB/includes/db/oracle.php b/phpBB/includes/db/oracle.php
index 499316ac80..d891cab337 100644
--- a/phpBB/includes/db/oracle.php
+++ b/phpBB/includes/db/oracle.php
@@ -48,6 +48,14 @@ class dbal_oracle extends dbal
}
/**
+ * Version information about used database
+ */
+ function sql_server_info()
+ {
+ return 'Oracle ' . @ociserverversion($this->db_connect_id);
+ }
+
+ /**
* SQL Transaction
* @access: private
*/
diff --git a/phpBB/includes/db/postgres.php b/phpBB/includes/db/postgres.php
index ad8e0a01da..ccc038075e 100644
--- a/phpBB/includes/db/postgres.php
+++ b/phpBB/includes/db/postgres.php
@@ -85,6 +85,16 @@ class dbal_postgres extends dbal
}
/**
+ * Version information about used database
+ */
+ function sql_server_info()
+ {
+ $version = @pg_version($this->db_connect_id);
+
+ return 'PostgresSQL' . ((!empty($version)) ? ' ' . $version['client'] : '';
+ }
+
+ /**
* SQL Transaction
* @access: private
*/
diff --git a/phpBB/includes/db/sqlite.php b/phpBB/includes/db/sqlite.php
index 87d9af8c7f..7b23171187 100644
--- a/phpBB/includes/db/sqlite.php
+++ b/phpBB/includes/db/sqlite.php
@@ -52,6 +52,14 @@ class dbal_sqlite extends dbal
}
/**
+ * Version information about used database
+ */
+ function sql_server_info()
+ {
+ return 'SQLite ' . @sqlite_libversion();
+ }
+
+ /**
* SQL Transaction
* @access: private
*/