diff options
| author | sparc <sparc@208e9e7b-5314-0410-a742-e7e81cd9613c> | 2005-10-20 16:58:34 +0000 |
|---|---|---|
| committer | sparc <sparc@208e9e7b-5314-0410-a742-e7e81cd9613c> | 2005-10-20 16:58:34 +0000 |
| commit | 0fbe10808875d7fa1c17c28413b34fdde2e0bc53 (patch) | |
| tree | 140ccbfc0bfe93f31ce3a7c664dc19882e21fbb6 /roundcubemail/program/include | |
| parent | f11c35ceb88fa158129587b626427063bb9b31a7 (diff) | |
added DB LIMIT abstraction
git-svn-id: https://svn.roundcube.net/trunk@47 208e9e7b-5314-0410-a742-e7e81cd9613c
Diffstat (limited to 'roundcubemail/program/include')
| -rwxr-xr-x | roundcubemail/program/include/rcube_db.inc | 11 | ||||
| -rwxr-xr-x | roundcubemail/program/include/rcube_mdb2.inc | 5 |
2 files changed, 12 insertions, 4 deletions
diff --git a/roundcubemail/program/include/rcube_db.inc b/roundcubemail/program/include/rcube_db.inc index 2b0c01af9..f732da298 100755 --- a/roundcubemail/program/include/rcube_db.inc +++ b/roundcubemail/program/include/rcube_db.inc @@ -103,7 +103,7 @@ class rcube_db // Query database (read operations) - function query($query) + function query($query, $offset=0, $numrows=0) { // Read or write ? if (strtolower(trim(substr($query,0,6)))=='select') @@ -115,8 +115,13 @@ class rcube_db if ($this->db_provider == 'sqlite') $query = $this->_sqlite_prepare_query($query); - - $result = $this->db_handle->query($query); + + if ($numrows || $offset) + { + $result = $this->db_handle->limitQuery($query,$offset,$numrows); + } + else + $result = $this->db_handle->query($query); if (DB::isError($result)) raise_error(array('code' => 500, diff --git a/roundcubemail/program/include/rcube_mdb2.inc b/roundcubemail/program/include/rcube_mdb2.inc index 77518e7ae..cd394a878 100755 --- a/roundcubemail/program/include/rcube_mdb2.inc +++ b/roundcubemail/program/include/rcube_mdb2.inc @@ -103,7 +103,7 @@ class rcube_db // Query database (read operations) - function query($query) + function query($query, $offset=0, $numrows=0) { // Read or write ? if (strtolower(trim(substr($query,0,6)))=='select') @@ -116,6 +116,9 @@ class rcube_db if ($this->db_provider == 'sqlite') $query = $this->_sqlite_prepare_query($query); + $this->db_handle->row_offset = $offset; + $this->db_handle->row_limit = $numrows; + $result = $this->db_handle->query($query); if (PEAR::isError($result)) |
