From c2a96d6b3239d7f382ab562cd74d54e48f102b04 Mon Sep 17 00:00:00 2001 From: moodler Date: Tue, 18 Feb 2003 03:16:07 +0000 Subject: [PATCH] Fixes for the use of LIMIT in SQL for Postgres 7.3 (from Petri Asikainen) --- lib/datalib.php | 14 ++++++++++---- mod/forum/lib.php | 14 +++++++++----- 2 files changed, 19 insertions(+), 9 deletions(-) diff --git a/lib/datalib.php b/lib/datalib.php index b616b2292f..654d1ae6e7 100644 --- a/lib/datalib.php +++ b/lib/datalib.php @@ -811,11 +811,17 @@ function get_users_count() { function get_users_listing($sort, $dir="ASC", $page=1, $recordsperpage=20) { global $CFG; - if ($CFG->dbtype == "mysql") { - $limit = "LIMIT $page,$recordsperpage"; - } else { - $limit = "LIMIT $recordsperpage,$page"; + switch ($CFG->dbtype) { + case "mysql": + $limit = "LIMIT $page,$recordsperpage"; + break; + case "postgres7": + $limit = "LIMIT $recordsperpage OFFSET ".($page * $recordsperpage); + break; + default: + $limit = "LIMIT $recordsperpage,$page"; } + return get_records_sql("SELECT id, username, email, firstname, lastname, city, country, lastaccess FROM {$CFG->prefix}user WHERE username <> 'guest' diff --git a/mod/forum/lib.php b/mod/forum/lib.php index 34ef8d66df..85d117566c 100644 --- a/mod/forum/lib.php +++ b/mod/forum/lib.php @@ -420,13 +420,17 @@ function forum_search_posts($search, $courseid, $page=0, $recordsperpage=50) { $notteacherforum = ""; } - if ($CFG->dbtype == "mysql") { - $limit = "LIMIT $page,$recordsperpage"; - } else { - $limit = "LIMIT $recordsperpage,$page"; + switch ($CFG->dbtype) { + case "mysql": + $limit = "LIMIT $page,$recordsperpage"; + break; + case "postgres7": + $limit = "LIMIT $recordsperpage OFFSET ".($page * $recordsperpage); + break; + default: + $limit = "LIMIT $recordsperpage,$page"; } - return get_records_sql("SELECT p.*,u.firstname,u.lastname,u.email,u.picture FROM {$CFG->prefix}forum_posts p, {$CFG->prefix}forum_discussions d, -- 2.39.5