5 * Database test module.
8 use Drupal\Core\Database\Query\AlterableInterface;
11 * Implements hook_query_alter().
13 function database_test_query_alter(AlterableInterface $query) {
15 if ($query->hasTag('database_test_alter_add_range')) {
19 if ($query->hasTag('database_test_alter_add_join')) {
20 $people_alias = $query->join('test', 'people', "test_task.pid = %alias.id");
21 $query->addField($people_alias, 'name', 'name');
22 $query->condition($people_alias . '.id', 2);
25 if ($query->hasTag('database_test_alter_change_conditional')) {
26 $conditions =& $query->conditions();
27 $conditions[0]['value'] = 2;
30 if ($query->hasTag('database_test_alter_change_fields')) {
31 $fields =& $query->getFields();
32 unset($fields['age']);
35 if ($query->hasTag('database_test_alter_change_expressions')) {
36 $expressions =& $query->getExpressions();
37 $expressions['double_age']['expression'] = 'age*3';
43 * Implements hook_query_TAG_alter().
45 * Called by DatabaseTestCase::testAlterRemoveRange.
47 function database_test_query_database_test_alter_remove_range_alter(AlterableInterface $query) {