diff options
author | Meik Sievertsen <acydburn@phpbb.com> | 2006-05-20 13:20:38 +0000 |
---|---|---|
committer | Meik Sievertsen <acydburn@phpbb.com> | 2006-05-20 13:20:38 +0000 |
commit | 0115e94cfd255b53ca517d9e8628386a382a239b (patch) | |
tree | 38e789805d3d43c8cbe7f569f2118daefecc4fe8 /phpBB/includes/db/mssql.php | |
parent | c81a44ea303a23d58f4fdff483bbd4d6957c9ef7 (diff) | |
download | forums-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.php | 11 |
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); } |