diff --git modules/node/node.module modules/node/node.module index 3e27431..e93d0c2 100644 --- modules/node/node.module +++ modules/node/node.module @@ -2188,9 +2188,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; + $where_sql = _node_access_where_sql(); + if ($where_sql) { + $return['where'] = 'EXISTS (SELECT na.nid FROM {node_access} na WHERE ' . $primary_table . '.nid = na.nid AND (' . $where_sql . '))'; + } return $return; } }