summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDries Buytaert <dries@buytaert.net>2001-12-23 21:47:02 +0000
committerDries Buytaert <dries@buytaert.net>2001-12-23 21:47:02 +0000
commit8c8b305892f3bc66b062a4fd6b46ec37278f0769 (patch)
treeaa7e79aeee29a82e260dfc144ff4d12e0e232110
parent2ac4e99feb1c71004a8d3d37ac848e6c8cd65e2d (diff)
downloadbrdo-8c8b305892f3bc66b062a4fd6b46ec37278f0769.tar.gz
brdo-8c8b305892f3bc66b062a4fd6b46ec37278f0769.tar.bz2
- Added "query log" functionality to Drupal. Inspired by weitzman's
code/patch.
-rw-r--r--includes/common.inc13
-rw-r--r--includes/database.mysql.inc5
-rw-r--r--includes/database.pear.inc6
-rw-r--r--modules/system.module2
-rw-r--r--modules/system/system.module2
-rw-r--r--modules/user.module2
-rw-r--r--modules/user/user.module2
7 files changed, 28 insertions, 4 deletions
diff --git a/includes/common.inc b/includes/common.inc
index 86a7ae9f7..3e5d6f936 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 "<PRE>execution time: $diff ms</PRE>";
+ print "<pre>execution time: $diff ms</pre>";
+}
+
+function query_print() {
+ global $queries;
+ print "<pre>";
+ print_r($queries);
+ print "</pre>";
}
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 1b14da5cd..1dd190077 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 c0aeb9b7e..c48ffbb35 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 d9d5c633c..f84c204f8 100644
--- a/modules/system.module
+++ b/modules/system.module
@@ -72,6 +72,8 @@ function system_view_options() {
// development settings:
$output .= "<h3>Development settings</h3>\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 .= "<hr />\n";
foreach (module_list() as $name) {
diff --git a/modules/system/system.module b/modules/system/system.module
index d9d5c633c..f84c204f8 100644
--- a/modules/system/system.module
+++ b/modules/system/system.module
@@ -72,6 +72,8 @@ function system_view_options() {
// development settings:
$output .= "<h3>Development settings</h3>\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 .= "<hr />\n";
foreach (module_list() as $name) {
diff --git a/modules/user.module b/modules/user.module
index 6e0e0a943..f4e8f9cac 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 6e0e0a943..f4e8f9cac 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);