summaryrefslogtreecommitdiff
path: root/modules/block
diff options
context:
space:
mode:
authorAngie Byron <webchick@24967.no-reply.drupal.org>2009-05-16 15:23:16 +0000
committerAngie Byron <webchick@24967.no-reply.drupal.org>2009-05-16 15:23:16 +0000
commitf577c125e84bc3a1f30bcc40105788d0547a534a (patch)
tree87654a9fbf162a10ffcb21c4c32289743687b8cd /modules/block
parent8b63d832de0c708836393bdf83fffe8bf10c2a3f (diff)
downloadbrdo-f577c125e84bc3a1f30bcc40105788d0547a534a.tar.gz
brdo-f577c125e84bc3a1f30bcc40105788d0547a534a.tar.bz2
#196862 by Damien Tournoud, et al: Replace COUNT(*) queries with SELECT 1 ... LIMIT 1 queries when all that's required is a check for whether rows exist.
Diffstat (limited to 'modules/block')
-rw-r--r--modules/block/block.admin.inc7
-rw-r--r--modules/block/block.module7
2 files changed, 9 insertions, 5 deletions
diff --git a/modules/block/block.admin.inc b/modules/block/block.admin.inc
index c99973f47..80d1321ba 100644
--- a/modules/block/block.admin.inc
+++ b/modules/block/block.admin.inc
@@ -272,7 +272,8 @@ function block_admin_configure(&$form_state, $module = NULL, $delta = 0) {
function block_admin_configure_validate($form, &$form_state) {
if ($form_state['values']['module'] == 'block') {
- if (empty($form_state['values']['info']) || db_result(db_query("SELECT COUNT(*) FROM {box} WHERE bid <> %d AND info = '%s'", $form_state['values']['delta'], $form_state['values']['info']))) {
+ $box_exists = (bool) db_query_range('SELECT 1 FROM {box} WHERE bid <> :bid AND info = :info', array(':bid' => $form_state['values']['delta'], ':info' => $form_state['values']['info']), 0, 1)->fetchField();
+ if (empty($form_state['values']['info']) || $box_exists) {
form_set_error('info', t('Please ensure that each block description is unique.'));
}
}
@@ -301,7 +302,9 @@ function block_add_block_form(&$form_state) {
}
function block_add_block_form_validate($form, &$form_state) {
- if (empty($form_state['values']['info']) || db_result(db_query("SELECT COUNT(*) FROM {box} WHERE info = '%s'", $form_state['values']['info']))) {
+ $box_exists = (bool) db_query_range('SELECT 1 FROM {box} WHERE info = :info', array(':info' => $form_state['values']['info']), 0, 1)->fetchField();
+
+ if (empty($form_state['values']['info']) || $box_exists) {
form_set_error('info', t('Please ensure that each block description is unique.'));
}
}
diff --git a/modules/block/block.module b/modules/block/block.module
index 6646b824c..aeb4bddc1 100644
--- a/modules/block/block.module
+++ b/modules/block/block.module
@@ -494,8 +494,8 @@ function block_system_themes_form_submit(&$form, &$form_state) {
}
if ($form_state['values']['admin_theme'] && $form_state['values']['admin_theme'] != variable_get('admin_theme', 0)) {
// If we're changing themes, make sure the theme has its blocks initialized.
- $result = db_result(db_query("SELECT COUNT(*) FROM {block} WHERE theme = '%s'", $form_state['values']['admin_theme']));
- if (!$result) {
+ $has_blocks = (bool) db_query_range('SELECT 1 FROM {block} WHERE theme = :theme', array(':theme' => $form_state['values']['admin_theme']), 0, 1)->fetchField();
+ if (!$has_blocks) {
block_initialize_theme_blocks($form_state['values']['admin_theme']);
}
}
@@ -515,7 +515,8 @@ function block_system_themes_form_submit(&$form, &$form_state) {
*/
function block_initialize_theme_blocks($theme) {
// Initialize theme's blocks if none already registered.
- if (!(db_result(db_query("SELECT COUNT(*) FROM {block} WHERE theme = '%s'", $theme)))) {
+ $has_blocks = (bool) db_query_range('SELECT 1 FROM {block} WHERE theme = :theme', array(':theme' => $theme), 0, 1)->fetchField();
+ if (!$has_blocks) {
$default_theme = variable_get('theme_default', 'garland');
$regions = system_region_list($theme);
$result = db_query("SELECT * FROM {block} WHERE theme = '%s'", $default_theme);