[ticket/10858] Fix MSSQL Native's row seeking behavior

The result_mssqlnative class remains in case someone wants to use it

PHPBB3-10858
This commit is contained in:
Patrick Webster 2012-05-08 18:44:43 -05:00
parent c0718fae96
commit e52d23848a

View file

@ -447,14 +447,39 @@ class dbal_mssqlnative extends dbal
{
global $cache;
if ($query_id === false)
{
$query_id = $this->query_result;
}
if (isset($cache->sql_rowset[$query_id]))
{
return $cache->sql_rowseek($rownum, $query_id);
}
$seek = new result_mssqlnative($query_id);
$row = $seek->seek($rownum);
return ($row = $seek->fetch()) ? $row : false;
if ($query_id === false)
{
return false;
}
$this->sql_freeresult($query_id);
$query_id = $this->sql_query($this->last_query_text);
if ($query_id === false)
{
return false;
}
// We do not fetch the row for rownum == 0 because then the next resultset would be the second row
for ($i = 0; $i < $rownum; $i++)
{
if (!$this->sql_fetchrow($query_id))
{
return false;
}
}
return true;
}
/**