diff options
Diffstat (limited to 'phpBB/db/oracle.php')
-rw-r--r-- | phpBB/db/oracle.php | 22 |
1 files changed, 20 insertions, 2 deletions
diff --git a/phpBB/db/oracle.php b/phpBB/db/oracle.php index aa7f5a5059..24e409fced 100644 --- a/phpBB/db/oracle.php +++ b/phpBB/db/oracle.php @@ -95,8 +95,26 @@ class sql_db unset($this->query_result); if($query != "") { - $this->query_result = OCIParse($this->db_connect_id, $query); - OCIExecute($this->query_result); + if(eregi("LIMIT", $query)) + { + eregi("^([[:alnum:][:cntrl:] \*\,\'\"\+\.\(\)_=]+)LIMIT ([0-9]+)[, ]*([0-9]+)*", $query, $limits); + + $query = $limits[1]; + if($limits[3]) + { + $row_offset = $limits[2]; + $num_rows = $limits[3]; + } + else + { + $row_offset = 0; + $num_rows = $limits[2]; + } + + + $this->query_result = OCIParse($this->db_connect_id, $query); + OCIExecute($this->query_result); + } } if($this->query_result) { |