diff --git modules/node/node.module modules/node/node.module index e1f66d5..7e35cca 100644 --- modules/node/node.module +++ modules/node/node.module @@ -2179,9 +2179,10 @@ function node_access_view_all_nodes() { */ function node_db_rewrite_sql($query, $primary_table, $primary_field) { if ($primary_field == 'nid' && !node_access_view_all_nodes()) { - $return['join'] = _node_access_join_sql($primary_table); - $return['where'] = _node_access_where_sql(); - $return['distinct'] = 1; + $wsql = _node_access_where_sql(); + if ($wsql) { + $return['where'] = '((SELECT COUNT(*) FROM {node_access} na WHERE ' . $primary_table . '.nid = na.nid AND (' . $wsql . ')) > 0)'; + } return $return; } }