modules/comment/comment.module | 1 + modules/node/node.module | 21 +++++++++++---------- 2 files changed, 12 insertions(+), 10 deletions(-) diff --git modules/comment/comment.module modules/comment/comment.module index e916b07..67a23ff 100644 --- modules/comment/comment.module +++ modules/comment/comment.module @@ -1641,6 +1641,7 @@ class CommentController extends DrupalDefaultEntityController { $query->innerJoin('users', 'u', 'base.uid = u.uid'); $query->addField('u', 'name', 'registered_name'); $query->fields('u', array('uid', 'signature', 'signature_format', 'picture')); + print_r((string)$query); return $query; } diff --git modules/node/node.module modules/node/node.module index 4c82202..2fb0d03 100644 --- modules/node/node.module +++ modules/node/node.module @@ -1138,16 +1138,6 @@ function node_delete_multiple($nids) { if (!empty($nids)) { $nodes = node_load_multiple($nids, array()); - db_delete('node') - ->condition('nid', $nids, 'IN') - ->execute(); - db_delete('node_revision') - ->condition('nid', $nids, 'IN') - ->execute(); - db_delete('history') - ->condition('nid', $nids, 'IN') - ->execute(); - foreach ($nodes as $nid => $node) { // Call the node-specific callback (if any): node_invoke($node, 'delete'); @@ -1162,6 +1152,17 @@ function node_delete_multiple($nids) { search_reindex($nid, 'node'); } } + + // Delete after calling hooks so that they can query node tables as needed. + db_delete('node') + ->condition('nid', $nids, 'IN') + ->execute(); + db_delete('node_revision') + ->condition('nid', $nids, 'IN') + ->execute(); + db_delete('history') + ->condition('nid', $nids, 'IN') + ->execute(); // Clear the page and block and node_load_multiple caches. cache_clear_all();