From 8c8b305892f3bc66b062a4fd6b46ec37278f0769 Mon Sep 17 00:00:00 2001 From: Dries Buytaert Date: Sun, 23 Dec 2001 21:47:02 +0000 Subject: [PATCH] - Added "query log" functionality to Drupal. Inspired by weitzman's code/patch. --- includes/common.inc | 13 ++++++++++++- includes/database.mysql.inc | 5 +++++ includes/database.pear.inc | 6 +++++- modules/system.module | 2 ++ modules/system/system.module | 2 ++ modules/user.module | 2 +- modules/user/user.module | 2 +- 7 files changed, 28 insertions(+), 4 deletions(-) diff --git a/includes/common.inc b/includes/common.inc index 86a7ae9f7f4..3e5d6f9365a 100644 --- a/includes/common.inc +++ b/includes/common.inc @@ -422,7 +422,14 @@ function timer_print() { global $timer; $stop = explode(" ", microtime()); $diff = $stop[0] - $timer[0]; - print "
execution time: $diff ms
"; + print "
execution time: $diff ms
"; +} + +function query_print() { + global $queries; + print "
";
+  print_r($queries);
+  print "
"; } function page_header() { @@ -443,6 +450,10 @@ function page_footer() { timer_print(); } + if (variable_get("dev_query", 0)) { + query_print(); + } + if (variable_get("cache", 0)) { cache_set(); } diff --git a/includes/database.mysql.inc b/includes/database.mysql.inc index 1b14da5cd5d..1dd190077ed 100644 --- a/includes/database.mysql.inc +++ b/includes/database.mysql.inc @@ -10,6 +10,11 @@ function db_connect($url) { } function db_query($query, $debug = 0) { + global $queries; + + if (variable_get("dev_query", 0)) { + $queries[] = $query; + } $result = mysql_query($query); diff --git a/includes/database.pear.inc b/includes/database.pear.inc index c0aeb9b7e22..c48ffbb350b 100644 --- a/includes/database.pear.inc +++ b/includes/database.pear.inc @@ -16,7 +16,11 @@ function db_connect($url) { } function db_query($query, $debug = 0) { - global $db_handle; + global $db_handle, $queries; + + if (variable_get("dev_query", 0)) { + $queries[] = $query; + } $result = $db_handle->query($query); diff --git a/modules/system.module b/modules/system.module index d9d5c633cc6..f84c204f8ab 100644 --- a/modules/system.module +++ b/modules/system.module @@ -72,6 +72,8 @@ function system_view_options() { // development settings: $output .= "

Development settings

\n"; $output .= form_select("Display timer information", "dev_timer", variable_get("dev_timer", 0), array("Disabled", "Enabled"), "Display the time it took to generate a page. For Drupal development only."); + $output .= form_select("Display query log", "dev_query", variable_get("dev_query", 0), array("Disabled", "Enabled"), "Display a log of the database queries needed to generate the current page."); + $output .= "
\n"; foreach (module_list() as $name) { diff --git a/modules/system/system.module b/modules/system/system.module index d9d5c633cc6..f84c204f8ab 100644 --- a/modules/system/system.module +++ b/modules/system/system.module @@ -72,6 +72,8 @@ function system_view_options() { // development settings: $output .= "

Development settings

\n"; $output .= form_select("Display timer information", "dev_timer", variable_get("dev_timer", 0), array("Disabled", "Enabled"), "Display the time it took to generate a page. For Drupal development only."); + $output .= form_select("Display query log", "dev_query", variable_get("dev_query", 0), array("Disabled", "Enabled"), "Display a log of the database queries needed to generate the current page."); + $output .= "
\n"; foreach (module_list() as $name) { diff --git a/modules/user.module b/modules/user.module index 6e0e0a94359..f4e8f9cac05 100644 --- a/modules/user.module +++ b/modules/user.module @@ -65,7 +65,7 @@ function user_load($array = array()) { $query .= "u.$key = '". addslashes($value) ."' AND "; } } - $result = db_query("SELECT u.*, r.perm FROM users u LEFT JOIN role r ON u.role = r.name WHERE $query u.status < 3"); + $result = db_query("SELECT u.*, r.perm FROM users u LEFT JOIN role r ON u.role = r.name WHERE $query u.status < 3 LIMIT 1"); $user = db_fetch_object($result); diff --git a/modules/user/user.module b/modules/user/user.module index 6e0e0a94359..f4e8f9cac05 100644 --- a/modules/user/user.module +++ b/modules/user/user.module @@ -65,7 +65,7 @@ function user_load($array = array()) { $query .= "u.$key = '". addslashes($value) ."' AND "; } } - $result = db_query("SELECT u.*, r.perm FROM users u LEFT JOIN role r ON u.role = r.name WHERE $query u.status < 3"); + $result = db_query("SELECT u.*, r.perm FROM users u LEFT JOIN role r ON u.role = r.name WHERE $query u.status < 3 LIMIT 1"); $user = db_fetch_object($result);