aboutsummaryrefslogtreecommitdiffstats
path: root/phpBB/includes/db/mssql.php
diff options
context:
space:
mode:
authorMeik Sievertsen <acydburn@phpbb.com>2006-05-20 13:20:38 +0000
committerMeik Sievertsen <acydburn@phpbb.com>2006-05-20 13:20:38 +0000
commit0115e94cfd255b53ca517d9e8628386a382a239b (patch)
tree38e789805d3d43c8cbe7f569f2118daefecc4fe8 /phpBB/includes/db/mssql.php
parentc81a44ea303a23d58f4fdff483bbd4d6957c9ef7 (diff)
downloadforums-0115e94cfd255b53ca517d9e8628386a382a239b.tar
forums-0115e94cfd255b53ca517d9e8628386a382a239b.tar.gz
forums-0115e94cfd255b53ca517d9e8628386a382a239b.tar.bz2
forums-0115e94cfd255b53ca517d9e8628386a382a239b.tar.xz
forums-0115e94cfd255b53ca517d9e8628386a382a239b.zip
- seperate queries and cached queries
- display correct read/unread information while displaying active topics - fix for SELECT DISTINCT in mssql using sql_query_limit - fix for forum updating in ACP using mssql (and probably other dbal having problems with primary keys in updates) git-svn-id: file:///svn/phpbb/trunk@5940 89ea8834-ac86-4346-8a33-228a782c2dd0
Diffstat (limited to 'phpBB/includes/db/mssql.php')
-rw-r--r--phpBB/includes/db/mssql.php11
1 files changed, 9 insertions, 2 deletions
diff --git a/phpBB/includes/db/mssql.php b/phpBB/includes/db/mssql.php
index 5d6095e502..8e0ca2377c 100644
--- a/phpBB/includes/db/mssql.php
+++ b/phpBB/includes/db/mssql.php
@@ -105,10 +105,10 @@ class dbal_mssql extends dbal
}
$this->query_result = ($cache_ttl && method_exists($cache, 'sql_load')) ? $cache->sql_load($query) : false;
+ $this->sql_add_num_queries($this->query_result);
if (!$this->query_result)
{
- $this->num_queries++;
if (($this->query_result = @mssql_query($query, $this->db_connect_id)) === false)
{
$this->sql_error($query);
@@ -160,7 +160,14 @@ class dbal_mssql extends dbal
$row_offset = ($total) ? $offset : '';
$num_rows = ($total) ? $total : $offset;
- $query = 'SELECT TOP ' . ($row_offset + $num_rows) . ' ' . substr($query, 6);
+ if (strpos($query, 'SELECT DISTINCT') === 0)
+ {
+ $query = 'SELECT DISTINCT TOP ' . ($row_offset + $num_rows) . ' ' . substr($query, 15);
+ }
+ else
+ {
+ $query = 'SELECT TOP ' . ($row_offset + $num_rows) . ' ' . substr($query, 6);
+ }
return $this->sql_query($query, $cache_ttl);
}