summaryrefslogtreecommitdiff
path: root/modules/simpletest/tests/database_test.module
diff options
context:
space:
mode:
Diffstat (limited to 'modules/simpletest/tests/database_test.module')
-rw-r--r--modules/simpletest/tests/database_test.module38
1 files changed, 38 insertions, 0 deletions
diff --git a/modules/simpletest/tests/database_test.module b/modules/simpletest/tests/database_test.module
new file mode 100644
index 000000000..0b6ad2ce2
--- /dev/null
+++ b/modules/simpletest/tests/database_test.module
@@ -0,0 +1,38 @@
+<?php
+// $Id$
+
+/**
+ * Implementation of hook_query_alter().
+ */
+function database_test_query_alter(SelectQuery $query) {
+
+ if ($query->hasTag('database_test_alter_add_range')) {
+ $query->range(0, 2);
+ }
+
+ if ($query->hasTag('database_test_alter_remove_range')) {
+ $query->range();
+ }
+
+ if ($query->hasTag('database_test_alter_add_join')) {
+ $people_alias = $query->join('test', 'people', "test_task.pid=people.id");
+ $name_field = $query->addField('people', 'name', 'name');
+ $query->condition($people_alias . '.id', 2);
+ }
+
+ if ($query->hasTag('database_test_alter_change_conditional')) {
+ $conditions =& $query->conditions();
+ $conditions[0]['value'] = 2;
+ }
+
+ if ($query->hasTag('database_test_alter_change_fields')) {
+ $fields =& $query->getFields();
+ unset($fields['age']);
+ }
+
+ if ($query->hasTag('database_test_alter_change_expressions')) {
+ $expressions =& $query->getExpressions();
+ $expressions['double_age']['expression'] = 'age*3';
+ }
+}
+