aboutsummaryrefslogtreecommitdiffstats
path: root/phpBB/includes
diff options
context:
space:
mode:
Diffstat (limited to 'phpBB/includes')
-rw-r--r--phpBB/includes/db/firebird.php2
-rw-r--r--phpBB/includes/db/mssql.php5
-rw-r--r--phpBB/includes/db/mssql_odbc.php2
3 files changed, 6 insertions, 3 deletions
diff --git a/phpBB/includes/db/firebird.php b/phpBB/includes/db/firebird.php
index 21e8052a9a..b78d9afefe 100644
--- a/phpBB/includes/db/firebird.php
+++ b/phpBB/includes/db/firebird.php
@@ -90,6 +90,8 @@ class dbal_firebird extends dbal
{
global $cache;
+ $query = preg_replace('#FROM \(([^)]*)\)(,|[\n\r\t ]+(?:WHERE|LEFT JOIN)) #', 'FROM \1\2 ', $query);
+
$this->last_query_text = $query;
$this->query_result = ($cache_ttl && method_exists($cache, 'sql_load')) ? $cache->sql_load($query) : false;
diff --git a/phpBB/includes/db/mssql.php b/phpBB/includes/db/mssql.php
index cd11b683a3..3a750a2847 100644
--- a/phpBB/includes/db/mssql.php
+++ b/phpBB/includes/db/mssql.php
@@ -272,11 +272,10 @@ class dbal_mssql extends dbal
$result_id = @mssql_query('SELECT @@IDENTITY', $this->db_connect_id);
if ($result_id)
{
- if (@mssql_fetch_assoc($result_id))
+ if ($row = @mssql_fetch_assoc($result_id))
{
- $id = @mssql_result($result_id, 1);
@mssql_free_result($result_id);
- return $id;
+ return $row['computed'];
}
@mssql_free_result($result_id);
}
diff --git a/phpBB/includes/db/mssql_odbc.php b/phpBB/includes/db/mssql_odbc.php
index 362083f2d9..bfefa04bf1 100644
--- a/phpBB/includes/db/mssql_odbc.php
+++ b/phpBB/includes/db/mssql_odbc.php
@@ -100,6 +100,8 @@ class dbal_mssql_odbc extends dbal
{
$this->sql_report('start', $query);
}
+
+ $query = preg_replace('#FROM \(([^)]*)\)(,|[\n\r\t ]+(?:WHERE|LEFT JOIN)) #', 'FROM \1\2 ', $query);
$this->last_query_text = $query;
$this->query_result = ($cache_ttl && method_exists($cache, 'sql_load')) ? $cache->sql_load($query) : false;