? .cache ? .project ? comment_dbtng4.patch ? db_test_inserts.patch ? extenders.patch ? ignore_slave_0.patch ? mw_205.patch ? query_alter_tag.patch ? select_add_fields.patch ? sites/all/modules ? sites/default/files ? sites/default/settings.php Index: .htaccess =================================================================== RCS file: /cvs/drupal/drupal/.htaccess,v retrieving revision 1.96 diff -u -p -r1.96 .htaccess --- .htaccess 15 Sep 2008 15:21:44 -0000 1.96 +++ .htaccess 18 Oct 2008 21:35:04 -0000 @@ -77,7 +77,7 @@ DirectoryIndex index.php # # If your site is running in a VirtualDocumentRoot at http://example.com/, # uncomment the following line: - # RewriteBase / + RewriteBase /~lgarfiel/projects/drupal7 # Rewrite URLs of the form 'x' to the form 'index.php?q=x'. RewriteCond %{REQUEST_FILENAME} !-f Index: includes/database/select.inc =================================================================== RCS file: /cvs/drupal/drupal/includes/database/select.inc,v retrieving revision 1.4 diff -u -p -r1.4 select.inc --- includes/database/select.inc 15 Sep 2008 05:00:48 -0000 1.4 +++ includes/database/select.inc 18 Oct 2008 21:35:04 -0000 @@ -282,7 +282,13 @@ class SelectQuery extends Query implemen } public function execute() { + // Modules may alter all queries or only those having a particular tag. drupal_alter('query', $this); + if (isset($this->alterTags)) { + foreach ($this->alterTags as $tag => $value) { + drupal_alter("query_$tag", $this); + } + } $this->where->compile($this->connection); $this->having->compile($this->connection); Index: modules/simpletest/tests/database_test.module =================================================================== RCS file: /cvs/drupal/drupal/modules/simpletest/tests/database_test.module,v retrieving revision 1.2 diff -u -p -r1.2 database_test.module --- modules/simpletest/tests/database_test.module 15 Sep 2008 20:48:09 -0000 1.2 +++ modules/simpletest/tests/database_test.module 18 Oct 2008 21:35:05 -0000 @@ -4,16 +4,12 @@ /** * Implementation of hook_query_alter(). */ -function database_test_query_alter(SelectQuery $query) { +function database_test_query_alter(QueryAlterableInterface $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'); @@ -35,3 +31,10 @@ function database_test_query_alter(Selec $expressions['double_age']['expression'] = 'age*3'; } } + +/** + * Implementation of hook_query_alter(). + */ +function database_test_query_database_test_alter_remove_range_alter(QueryAlterableInterface $query) { + $query->range(); +}