diff options
author | Angie Byron <webchick@24967.no-reply.drupal.org> | 2009-05-16 15:23:16 +0000 |
---|---|---|
committer | Angie Byron <webchick@24967.no-reply.drupal.org> | 2009-05-16 15:23:16 +0000 |
commit | f577c125e84bc3a1f30bcc40105788d0547a534a (patch) | |
tree | 87654a9fbf162a10ffcb21c4c32289743687b8cd /modules/block | |
parent | 8b63d832de0c708836393bdf83fffe8bf10c2a3f (diff) | |
download | brdo-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.inc | 7 | ||||
-rw-r--r-- | modules/block/block.module | 7 |
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); |