function hook_query_TAG_alter


Error message

User warning: The following module is missing from the file system: theme/theme. For information about how to fix this, see the documentation page. in _drupal_trigger_error_with_delayed_logging() (line 1156 of /var/www/html/elmsln_community/
cis7 system.api.php hook_query_TAG_alter(QueryAlterableInterface $query)
cle7 system.api.php hook_query_TAG_alter(QueryAlterableInterface $query)
elmsmedia7 system.api.php hook_query_TAG_alter(QueryAlterableInterface $query)
icor7 system.api.php hook_query_TAG_alter(QueryAlterableInterface $query)
meedjum_blog7 system.api.php hook_query_TAG_alter(QueryAlterableInterface $query)
mooc7 system.api.php hook_query_TAG_alter(QueryAlterableInterface $query)

Perform alterations to a structured query for a given tag.


$query: An Query object describing the composite parts of a SQL query.

See also





Related topics

12 functions implement hook_query_TAG_alter()

Note: this list is generated by pattern matching, so it may include some functions that are not actually implementations of this hook.

database_test_query_database_test_alter_remove_range_alter in modules/simpletest/tests/database_test.module
Implements hook_query_TAG_alter().
entityreference_query_entityreference_alter in sites/all/modules/ulmus/entityreference/entityreference.module
Implements hook_query_TAG_alter().
field_test_query_efq_table_prefixing_test_alter in modules/field/tests/field_test.module
Implements hook_query_TAG_alter() for tag 'efq_table_prefixing_test'.
file_entity_query_entity_field_access_alter in sites/all/modules/ulmus/file_entity/file_entity.module
Implements hook_query_TAG_alter().
file_entity_query_file_access_alter in sites/all/modules/ulmus/file_entity/file_entity.module
Implements hook_query_TAG_alter().

... See full list


modules/system/system.api.php, line 3245
Hooks provided by Drupal core and the System module.


function hook_query_TAG_alter(QueryAlterableInterface $query) {
  // Skip the extra expensive alterations if site has no node access control modules.
  if (!node_access_view_all_nodes()) {
    // Prevent duplicates records.
    // The recognized operations are 'view', 'update', 'delete'.
    if (!$op = $query->getMetaData('op')) {
      $op = 'view';
    // Skip the extra joins and conditions for node admins.
    if (!user_access('bypass node access')) {
      // The node_access table has the access grants for any given node.
      $access_alias = $query->join('node_access', 'na', '%alias.nid = n.nid');
      $or = db_or();
      // If any grant exists for the specified user, then user has access to the node for the specified operation.
      foreach (node_access_grants($op, $query->getMetaData('account')) as $realm => $gids) {
        foreach ($gids as $gid) {
          $or->condition(db_and()->condition($access_alias . '.gid', $gid)->condition($access_alias . '.realm', $realm));

      if (count($or->conditions())) {

      $query->condition($access_alias . 'grant_' . $op, 1, '>=');



Error message

  • Warning: Cannot modify header information - headers already sent by (output started at /var/www/html/elmsln_community/ in drupal_send_headers() (line 1499 of /var/www/html/elmsln_community/
  • Error: Call to undefined function apc_delete() in DrupalAPCCache->clear() (line 289 of /var/www/html/elmsln_community/
The website encountered an unexpected error. Please try again later.