Comments

Cromicon’s picture

Title: under mySQL 4.1.2.1, node listings display randomly » Admin role logged in sees homepage node teasers not sorted by DESC using MySQL 4.1.21

Adding some information:

http://drupal.org/node/78642

It looks like an issue has been identified now that affects 4.6.x installations when using MySQL 4.1.21. Noone has yet reported it on 4.7.x as far as I can see.

The symptom is that the order of node teasers on the front page isn't sorted by DESC for users with the administration role. There was a bug fix in MySQL 4.1.21 that relates to ORDER BY and it looks like DESC is being discarded because the query is structured in a way that is not compatible with this version of MySQL.

I confess I don't know where to even look for the query involved but I was hoping people here could help.

This post on the MySQL forums describes what could be happening.
http://forums.mysql.com/read.php?20,106815,106923#msg-106923

talltim’s picture

Same thing happens to me and I'm on 4.7.3. Hosts are running MySQL 4.1.19.

onionweb’s picture

It's not happening on any of my 4.7.3 installs, including ones on the same server where 4.6 is affected.

onionweb’s picture

It's also not happening to my 4.6 installs on servers running mysql 4.1.20

hyperlogos’s picture

It is happening to me on 4.7.3, mysql 4.1.21. However, this has happened to me before - or something like it - and it was module related then. Unfortunately it was one of about a zillion modules I disabled so I don't know which one. Today I have again installed a ton of modules, so I can not be sure that that isn't my problem now.

hyperlogos’s picture

Well, I just went through and disabled one and one-half zillion extensions, and it's still happening to me. I think it's safe to assume it applies to both 4.6 and 4.7.

Cromicon’s picture

Fair comment. I don't know whether to congratulate or commiserate you on the first 4.7 with MySQL 4.1.21 with the issue. ;-)
Do we need to create a new issue with the 4.7 version in or just leave as is do you think?

hyperlogos’s picture

I think it probably makes sense to create a new one since drupal's project management system doesn't allow a bug to apply to multiple versions.

onionweb’s picture

it's not related to any contributed modules.

This happened to a couple dozen sites on several servers after they were all upgraded to mySQL 4.1.21

onionweb’s picture

Bite my tongue. If you go throught the process of disabling a contributed access-control modules, the problem goes away.

so far it i've found it affect sites using both node_privacy_by_role and organic_groups.

that doesn't necessarily mean it's not a core issue.

onionweb’s picture

Yup.

If you're using an access control module (doesn't matter which one), and running Drupal 4.6 or Drupal 4.7 on a server running mySQL 4.1.21, posts are in reverse order for anyone with the administer nodes priviledge.

onionweb’s picture

also affects Simple Access module

andriko’s picture

Title: Admin role logged in sees homepage node teasers not sorted by DESC using MySQL 4.1.21 » I logged same queries on two hosts

See difference in "Extra" line

here host with wrong order(MySQL 4.1.21):

mysql> explain select distinct(c.nid), c.pid, c.cid, c.timestamp from comments c where c.status=0 order by c.timestamp desc limit 0,5 ;
+----+-------------+-------+------+---------------+------+---------+------+------+-------------+
| id | select_type | table | type | possible_keys | key  | key_len | ref  | rows | Extra       |
+----+-------------+-------+------+---------------+------+---------+------+------+-------------+
|  1 | SIMPLE      | c     | ALL  | NULL          | NULL |    NULL | NULL |  107 | Using where |
+----+-------------+-------+------+---------------+------+---------+------+------+-------------+
1 row in set (0.00 sec)
mysql> explain select distinct(c.nid), c.pid, c.timestamp from comments c where c.status=0 order by c.timestamp desc limit 0,5 ;
+----+-------------+-------+------+---------------+------+---------+------+------+----------------------------------------------+
| id | select_type | table | type | possible_keys | key  | key_len | ref  | rows | Extra                                        |
+----+-------------+-------+------+---------------+------+---------+------+------+----------------------------------------------+
|  1 | SIMPLE      | c     | ALL  | NULL          | NULL |    NULL | NULL |  107 | Using where; Using temporary; Using filesort |
+----+-------------+-------+------+---------------+------+---------+------+------+----------------------------------------------+
1 row in set (0.00 sec)

But same data on another host(MySQL 4.1.21, backup db):

mysql> explain select distinct(c.nid), c.pid, c.cid, c.timestamp from comments c where c.status=0 order by c.timestamp desc limit 0,5 ;
+----+-------------+-------+------+---------------+------+---------+------+------+----------------------------------------------+
| id | select_type | table | type | possible_keys | key  | key_len | ref  | rows | Extra                                        |
+----+-------------+-------+------+---------------+------+---------+------+------+----------------------------------------------+
|  1 | SIMPLE      | c     | ALL  | NULL          | NULL |    NULL | NULL |  107 | Using where; Using temporary; Using filesort |
+----+-------------+-------+------+---------------+------+---------+------+------+----------------------------------------------+
1 row in set (0.02 sec)

mysql> explain select distinct(c.nid), c.pid, c.timestamp from comments c where c.status=0 order by c.timestamp desc limit 0,5 ;
+----+-------------+-------+------+---------------+------+---------+------+------+----------------------------------------------+
| id | select_type | table | type | possible_keys | key  | key_len | ref  | rows | Extra                                        |
+----+-------------+-------+------+---------------+------+---------+------+------+----------------------------------------------+
|  1 | SIMPLE      | c     | ALL  | NULL          | NULL |    NULL | NULL |  107 | Using where; Using temporary; Using filesort |
+----+-------------+-------+------+---------------+------+---------+------+------+----------------------------------------------+
1 row in set (0.00 sec)
andriko’s picture

Title: I logged same queries on two hosts » Admin role logged in sees homepage node teasers not sorted by DESC using MySQL 4.1.21

mod title back, sorry

elmwood’s picture

Just here to report that the same issue exists in vbDrupal 4.6.6.2., not just Drupal and CivicSpace. Yes, I'm running MySQL 4.1.21-standard.

hyperlogos’s picture

Should this problem go away if I remove all my access-related modules? Because as far as I can tell at a quick appraisal (and a couple reads through my modules list) I think I have done this and they still show up out of order.

webchick’s picture

Could someone install and enable devel module and turn on query log and paste the difference in content queries between the anonymous user's view and the admin or whoever gets this difference view? It'll be something like:

SELECT [a bunch of fields] FROM node n INNER JOIN [a bunch of tables] ORDER BY n.created DESC

Cromicon’s picture

Apologies for the size of this. I wasn't sure exactly what to pick out, this is from an og enabled admin view of front page where it's not sorted right:

Executed 333 queries in 40.47 microseconds. Queries taking longer than 9 ms, and queries executed more than once, are highlighted.
ms	#	query
0.14	1	SELECT COUNT(pid) FROM url_alias
0.06	1	SELECT src FROM url_alias WHERE dst = 'node'
0.23	1	SELECT name, filename, throttle, bootstrap FROM system WHERE type = 'module' AND status = 1
0.25	1	CREATE TABLE IF NOT EXISTS `bad_behavior_log` ( `id` int(11) NOT NULL auto_increment, `ip` text NOT NULL, `date` datetime NOT NULL default '0000-00-00 00:00:00', `request_method` text NOT NULL, `http_host` text, `request_uri` text NOT NULL, `server_protocol` text NOT NULL, `http_referer` text, `http_user_agent` text, `http_headers` text NOT NULL, `request_entity` text NOT NULL, `denied_reason` text NOT NULL, `http_response` int(3) NOT NULL, PRIMARY KEY (`id`) );
0.13	1	DESCRIBE `bad_behavior_log` `request_entity`;
0.1	1	DESCRIBE `bad_behavior_log` `denied_reason`;
0.08	1	SELECT `ip` FROM `bad_behavior_log` WHERE `ip` LIKE '82.3.32.76' AND `http_response` = 403
0.28	1	SELECT `ip` FROM `bad_behavior_log` WHERE `ip` LIKE '82.3.32.76' AND `http_response` = 403 AND `date` > DATE_SUB('2006-08-18 17:05:46', INTERVAL 5 MINUTE)
3.59	1	SELECT data, created, headers FROM cache WHERE cid = 'menu:1:en'
0.1	1	SELECT dst FROM url_alias WHERE src = 'blogapi/rsd'
0.06	1	SELECT dst FROM url_alias WHERE src = 'node'
0.1	1	SELECT * FROM system WHERE type = 'theme' ORDER BY name
0.13	2	SELECT u.* FROM users u WHERE u.uid = 1 AND u.status < 3 LIMIT 0, 1
0.08	2	SELECT r.rid, r.name FROM role r INNER JOIN users_roles ur ON ur.rid = r.rid WHERE ur.uid = 1
0.09	2	SELECT * FROM legal_conditions ORDER BY tc_id DESC LIMIT 1
0.1	1	SELECT n.title, n.nid, ou.* FROM og_uid ou INNER JOIN node n ON ou.nid = n.nid WHERE ou.uid = 1 ORDER BY n.title
0.09	2	SELECT f.name, f.type, v.value FROM profile_fields f INNER JOIN profile_values v ON f.fid = v.fid WHERE uid = 1
0.07	1	SELECT COUNT(*) FROM privatemsg WHERE recipient = '1' AND newmsg = 1 AND recipient_del = 0
0.09	1	SELECT COUNT(*) FROM node_access WHERE nid = 0 AND CONCAT(realm, gid) IN ('all0','og_group0','og_group222','og_group297','og_group106') AND grant_view = 1
0.07	1	SELECT COUNT(*) FROM node n WHERE n.promote = 1 AND n.status = 1
0.08	1	SELECT DISTINCT(n.nid), n.sticky, n.created FROM node n WHERE n.promote = 1 AND n.status = 1 ORDER BY n.sticky DESC, n.created DESC LIMIT 0, 5
0.06	1	SELECT dst FROM url_alias WHERE src = 'node/feed'
0.13	1	SELECT n.*, u.uid, u.name, u.picture, u.data FROM node n INNER JOIN users u ON u.uid = n.uid WHERE n.nid = '61'
0.06	1	SELECT `ASIN` FROM amazonnode WHERE `nid` = 61
0.19	2	SELECT DISTINCT * from awtags_node tn INNER JOIN awtags t ON tn.tid = t.tid WHERE tn.nid = 61
0.07	1	SELECT last_comment_timestamp, last_comment_name, comment_count FROM node_comment_statistics WHERE nid = 61
0.06	1	SELECT priority_override FROM gsitemap WHERE nid=61
0.06	1	SELECT grant_view FROM node_access WHERE nid = 61 AND gid=0 AND realm='og_group'
0.11	1	SELECT na.gid, n.title FROM node_access na INNER JOIN node n ON na.gid = n.nid WHERE na.nid = 61 AND na.realm='og_group' AND na.gid != 0
0.07	1	SELECT dst FROM url_alias WHERE src = 'node/61'
0.09	1	SELECT * FROM ec_product WHERE nid = 61
0.39	1	SELECT data, created, headers FROM cache WHERE cid = 'filter:1:9379609cbd04a01c534f3768bdf89ae7'
0.09	2	SELECT DISTINCT * from awtags_node tn INNER JOIN awtags t ON tn.tid = t.tid WHERE tn.nid = 61
0.07	1	SELECT src FROM url_alias WHERE dst = 'tags/10'
0.06	1	SELECT dst FROM url_alias WHERE src = 'tags/10'
0.06	1	SELECT src FROM url_alias WHERE dst = 'tags/24'
0.06	1	SELECT dst FROM url_alias WHERE src = 'tags/24'
0.06	1	SELECT src FROM url_alias WHERE dst = 'tags/32'
0.06	1	SELECT dst FROM url_alias WHERE src = 'tags/32'
0.06	1	SELECT src FROM url_alias WHERE dst = 'tags/36'
0.06	1	SELECT dst FROM url_alias WHERE src = 'tags/36'
0.06	1	SELECT src FROM url_alias WHERE dst = 'tags/152'
0.06	1	SELECT dst FROM url_alias WHERE src = 'tags/152'
0.06	1	SELECT src FROM url_alias WHERE dst = 'tags/179'
0.06	1	SELECT dst FROM url_alias WHERE src = 'tags/179'
0.06	1	SELECT src FROM url_alias WHERE dst = 'tags/184'
0.06	1	SELECT dst FROM url_alias WHERE src = 'tags/184'
0.1	1	SELECT * FROM variable WHERE name like 'event_nodeapi_%'
0.06	1	SELECT src FROM url_alias WHERE dst = 'privatemsg/msgto/1'
0.06	1	SELECT dst FROM url_alias WHERE src = 'privatemsg/msgto/1'
0.07	1	SELECT * FROM flexinode_type WHERE ctype_id = 0
0.12	1	SELECT * FROM flexinode_field WHERE ctype_id = 0 ORDER BY weight ASC, label ASC
0.21	1	SELECT totalcount, daycount, timestamp FROM node_counter WHERE nid = 61
0.08	1	SELECT t.* FROM term_data t, term_node r WHERE r.tid = t.tid AND r.nid = 61 ORDER BY weight, name
0.07	1	SELECT src FROM url_alias WHERE dst = 'user/1'
0.06	1	SELECT dst FROM url_alias WHERE src = 'user/1'
0.06	1	SELECT src FROM url_alias WHERE dst = 'admin/themes/settings'
0.06	1	SELECT dst FROM url_alias WHERE src = 'admin/themes/settings'
0.08	1	SELECT * FROM flexinode_type
0.17	1	SELECT n.*, u.uid, u.name, u.picture, u.data FROM node n INNER JOIN users u ON u.uid = n.uid WHERE n.nid = '136'
0.07	1	SELECT `ASIN` FROM amazonnode WHERE `nid` = 136
0.07	2	SELECT DISTINCT * from awtags_node tn INNER JOIN awtags t ON tn.tid = t.tid WHERE tn.nid = 136
0.07	1	SELECT last_comment_timestamp, last_comment_name, comment_count FROM node_comment_statistics WHERE nid = 136
0.06	1	SELECT priority_override FROM gsitemap WHERE nid=136
0.07	1	SELECT grant_view FROM node_access WHERE nid = 136 AND gid=0 AND realm='og_group'
0.06	1	SELECT na.gid, n.title FROM node_access na INNER JOIN node n ON na.gid = n.nid WHERE na.nid = 136 AND na.realm='og_group' AND na.gid != 0
0.06	1	SELECT dst FROM url_alias WHERE src = 'node/136'
0.07	1	SELECT * FROM phpfreechat WHERE nid = 136
0.08	1	SELECT * FROM ec_product WHERE nid = 136
0.07	1	SELECT * FROM files WHERE nid = 136
0.32	1	SELECT data, created, headers FROM cache WHERE cid = 'filter:1:41e6d677dcb39a2d14b0755631aa176f'
0.1	2	SELECT DISTINCT * from awtags_node tn INNER JOIN awtags t ON tn.tid = t.tid WHERE tn.nid = 136
0.07	1	SELECT src FROM url_alias WHERE dst = 'blog/4'
0.06	1	SELECT dst FROM url_alias WHERE src = 'blog/4'
0.06	1	SELECT comment_count FROM node_comment_statistics WHERE nid = 136
0.06	1	SELECT timestamp FROM history WHERE uid = '1' AND nid = 136
0.06	1	SELECT COUNT(c.cid) FROM node n INNER JOIN comments c ON n.nid = c.nid WHERE n.nid = 136 AND timestamp > 1155766826 AND c.status = 0
5.01	1	SELECT DISTINCT(p.perm) FROM role r INNER JOIN permission p ON p.rid = r.rid INNER JOIN users_roles ur ON ur.rid = r.rid WHERE ur.uid = 4
0.27	1	SELECT totalcount, daycount, timestamp FROM node_counter WHERE nid = 136
0.09	1	SELECT t.* FROM term_data t, term_node r WHERE r.tid = t.tid AND r.nid = 136 ORDER BY weight, name
0.08	1	SELECT src FROM url_alias WHERE dst = 'taxonomy/term/9'
0.07	1	SELECT dst FROM url_alias WHERE src = 'taxonomy/term/9'
0.07	1	SELECT src FROM url_alias WHERE dst = 'user/4'
0.07	1	SELECT dst FROM url_alias WHERE src = 'user/4'
0.14	1	SELECT dst FROM url_alias WHERE src = 'system/files'
0.18	1	SELECT n.*, u.uid, u.name, u.picture, u.data FROM node n INNER JOIN users u ON u.uid = n.uid WHERE n.nid = '135'
0.09	1	SELECT `ASIN` FROM amazonnode WHERE `nid` = 135
0.11	2	SELECT DISTINCT * from awtags_node tn INNER JOIN awtags t ON tn.tid = t.tid WHERE tn.nid = 135
0.11	1	SELECT last_comment_timestamp, last_comment_name, comment_count FROM node_comment_statistics WHERE nid = 135
0.09	1	SELECT priority_override FROM gsitemap WHERE nid=135
0.09	1	SELECT grant_view FROM node_access WHERE nid = 135 AND gid=0 AND realm='og_group'
0.09	1	SELECT na.gid, n.title FROM node_access na INNER JOIN node n ON na.gid = n.nid WHERE na.nid = 135 AND na.realm='og_group' AND na.gid != 0
0.09	1	SELECT dst FROM url_alias WHERE src = 'node/135'
0.1	1	SELECT * FROM phpfreechat WHERE nid = 135
0.12	1	SELECT * FROM ec_product WHERE nid = 135
0.1	1	SELECT * FROM files WHERE nid = 135
0.47	1	SELECT data, created, headers FROM cache WHERE cid = 'filter:1:b9c5c86b48938ca314680dcfa1e7ce57'
0.12	2	SELECT DISTINCT * from awtags_node tn INNER JOIN awtags t ON tn.tid = t.tid WHERE tn.nid = 135
0.08	1	SELECT src FROM url_alias WHERE dst = 'tags/67'
0.08	1	SELECT dst FROM url_alias WHERE src = 'tags/67'
0.09	1	SELECT src FROM url_alias WHERE dst = 'tags/101'
0.08	1	SELECT dst FROM url_alias WHERE src = 'tags/101'
0.09	1	SELECT src FROM url_alias WHERE dst = 'tags/102'
0.08	1	SELECT dst FROM url_alias WHERE src = 'tags/102'
0.1	1	SELECT src FROM url_alias WHERE dst = 'blog/2'
0.09	1	SELECT dst FROM url_alias WHERE src = 'blog/2'
0.09	1	SELECT comment_count FROM node_comment_statistics WHERE nid = 135
0.09	1	SELECT timestamp FROM history WHERE uid = '1' AND nid = 135
0.09	1	SELECT COUNT(c.cid) FROM node n INNER JOIN comments c ON n.nid = c.nid WHERE n.nid = 135 AND timestamp > 1155435206 AND c.status = 0
0.09	1	SELECT src FROM url_alias WHERE dst = 'comment/reply/135'
0.08	1	SELECT dst FROM url_alias WHERE src = 'comment/reply/135'
2.18	1	SELECT DISTINCT(p.perm) FROM role r INNER JOIN permission p ON p.rid = r.rid INNER JOIN users_roles ur ON ur.rid = r.rid WHERE ur.uid = 2
0.1	1	SELECT src FROM url_alias WHERE dst = 'privatemsg/msgto/2'
0.09	1	SELECT dst FROM url_alias WHERE src = 'privatemsg/msgto/2'
0.26	1	SELECT totalcount, daycount, timestamp FROM node_counter WHERE nid = 135
0.11	1	SELECT t.* FROM term_data t, term_node r WHERE r.tid = t.tid AND r.nid = 135 ORDER BY weight, name
0.08	1	SELECT src FROM url_alias WHERE dst = 'taxonomy/term/7'
0.08	1	SELECT dst FROM url_alias WHERE src = 'taxonomy/term/7'
0.09	1	SELECT src FROM url_alias WHERE dst = 'user/2'
0.08	1	SELECT dst FROM url_alias WHERE src = 'user/2'
0.17	1	SELECT n.*, u.uid, u.name, u.picture, u.data FROM node n INNER JOIN users u ON u.uid = n.uid WHERE n.nid = '146'
0.08	1	SELECT * FROM flexinode_type WHERE ctype_id = 1
0.09	1	SELECT * FROM flexinode_field WHERE ctype_id = 1 ORDER BY weight ASC, label ASC
0.08	1	SELECT flexinode_2.textual_data AS flexinode_2, flexinode_2.numeric_data AS flexinode_2_format, flexinode_8.textual_data AS flexinode_8 FROM node n LEFT JOIN flexinode_data flexinode_2 ON n.nid = flexinode_2.nid AND flexinode_2.field_id = 2 LEFT JOIN flexinode_data flexinode_8 ON n.nid = flexinode_8.nid AND flexinode_8.field_id = 8 WHERE n.nid = 146
0.07	1	SELECT `ASIN` FROM amazonnode WHERE `nid` = 146
0.08	2	SELECT DISTINCT * from awtags_node tn INNER JOIN awtags t ON tn.tid = t.tid WHERE tn.nid = 146
0.07	1	SELECT last_comment_timestamp, last_comment_name, comment_count FROM node_comment_statistics WHERE nid = 146
0.07	1	SELECT event_start, event_end, timezone FROM event WHERE nid = 146
0.07	1	SELECT priority_override FROM gsitemap WHERE nid=146
0.07	1	SELECT grant_view FROM node_access WHERE nid = 146 AND gid=0 AND realm='og_group'
0.06	1	SELECT na.gid, n.title FROM node_access na INNER JOIN node n ON na.gid = n.nid WHERE na.nid = 146 AND na.realm='og_group' AND na.gid != 0
0.06	1	SELECT dst FROM url_alias WHERE src = 'node/146'
0.07	1	SELECT * FROM phpfreechat WHERE nid = 146
0.08	1	SELECT * FROM ec_product WHERE nid = 146
0.08	1	SELECT * FROM files WHERE nid = 146
0.33	1	SELECT data, created, headers FROM cache WHERE cid = 'filter:1:38cb4c11eb2b07204e70cb1369bb7075'
0.09	2	SELECT DISTINCT * from awtags_node tn INNER JOIN awtags t ON tn.tid = t.tid WHERE tn.nid = 146
0.06	1	SELECT src FROM url_alias WHERE dst = 'tags/103'
0.08	1	SELECT dst FROM url_alias WHERE src = 'tags/103'
0.06	1	SELECT src FROM url_alias WHERE dst = 'tags/104'
0.06	1	SELECT dst FROM url_alias WHERE src = 'tags/104'
0.09	1	SELECT comment_count FROM node_comment_statistics WHERE nid = 146
0.06	1	SELECT timestamp FROM history WHERE uid = '1' AND nid = 146
0.06	1	SELECT COUNT(c.cid) FROM node n INNER JOIN comments c ON n.nid = c.nid WHERE n.nid = 146 AND timestamp > 1155378022 AND c.status = 0
0.06	1	SELECT src FROM url_alias WHERE dst = 'event/2006/06/10'
0.06	1	SELECT dst FROM url_alias WHERE src = 'event/2006/06/10'
0.06	1	SELECT src FROM url_alias WHERE dst = 'remindme/node/146'
0.06	1	SELECT dst FROM url_alias WHERE src = 'remindme/node/146'
0.06	1	SELECT u.uid FROM rsvp r LEFT JOIN rsvp_invite u ON r.rid = u.rid WHERE r.nid = 146 AND u.uid = 1
0.06	1	SELECT uid FROM rsvp WHERE nid = 146 AND uid = 1
0.06	1	SELECT src FROM url_alias WHERE dst = 'rsvp/create/146'
0.06	1	SELECT dst FROM url_alias WHERE src = 'rsvp/create/146'
0.82	1	SELECT totalcount, daycount, timestamp FROM node_counter WHERE nid = 146
0.08	1	SELECT t.* FROM term_data t, term_node r WHERE r.tid = t.tid AND r.nid = 146 ORDER BY weight, name
0.06	1	SELECT src FROM url_alias WHERE dst = 'taxonomy/term/2'
0.06	1	SELECT dst FROM url_alias WHERE src = 'taxonomy/term/2'
0.06	1	SELECT src FROM url_alias WHERE dst = 'taxonomy/term/853'
0.06	1	SELECT dst FROM url_alias WHERE src = 'taxonomy/term/853'
0.06	1	SELECT src FROM url_alias WHERE dst = 'taxonomy/term/679'
0.06	1	SELECT dst FROM url_alias WHERE src = 'taxonomy/term/679'
0.14	1	SELECT n.*, u.uid, u.name, u.picture, u.data FROM node n INNER JOIN users u ON u.uid = n.uid WHERE n.nid = '137'
0.08	1	SELECT flexinode_2.textual_data AS flexinode_2, flexinode_2.numeric_data AS flexinode_2_format, flexinode_8.textual_data AS flexinode_8 FROM node n LEFT JOIN flexinode_data flexinode_2 ON n.nid = flexinode_2.nid AND flexinode_2.field_id = 2 LEFT JOIN flexinode_data flexinode_8 ON n.nid = flexinode_8.nid AND flexinode_8.field_id = 8 WHERE n.nid = 137
0.06	1	SELECT `ASIN` FROM amazonnode WHERE `nid` = 137
0.08	2	SELECT DISTINCT * from awtags_node tn INNER JOIN awtags t ON tn.tid = t.tid WHERE tn.nid = 137
0.07	1	SELECT last_comment_timestamp, last_comment_name, comment_count FROM node_comment_statistics WHERE nid = 137
0.07	1	SELECT event_start, event_end, timezone FROM event WHERE nid = 137
0.06	1	SELECT priority_override FROM gsitemap WHERE nid=137
0.06	1	SELECT grant_view FROM node_access WHERE nid = 137 AND gid=0 AND realm='og_group'
0.06	1	SELECT na.gid, n.title FROM node_access na INNER JOIN node n ON na.gid = n.nid WHERE na.nid = 137 AND na.realm='og_group' AND na.gid != 0
0.06	1	SELECT dst FROM url_alias WHERE src = 'node/137'
0.07	1	SELECT * FROM phpfreechat WHERE nid = 137
0.08	1	SELECT * FROM ec_product WHERE nid = 137
0.08	1	SELECT * FROM files WHERE nid = 137
0.3	1	SELECT data, created, headers FROM cache WHERE cid = 'filter:1:d4c40284ba49d3f5366d7db6f88d9bf7'
0.08	2	SELECT DISTINCT * from awtags_node tn INNER JOIN awtags t ON tn.tid = t.tid WHERE tn.nid = 137
0.07	1	SELECT src FROM url_alias WHERE dst = 'tags/105'
0.06	1	SELECT dst FROM url_alias WHERE src = 'tags/105'
0.07	1	SELECT comment_count FROM node_comment_statistics WHERE nid = 137
0.06	1	SELECT timestamp FROM history WHERE uid = '1' AND nid = 137
0.06	1	SELECT COUNT(c.cid) FROM node n INNER JOIN comments c ON n.nid = c.nid WHERE n.nid = 137 AND timestamp > 1155378236 AND c.status = 0
0.06	1	SELECT src FROM url_alias WHERE dst = 'event/2006/03/07'
0.06	1	SELECT dst FROM url_alias WHERE src = 'event/2006/03/07'
0.07	1	SELECT src FROM url_alias WHERE dst = 'remindme/node/137'
0.06	1	SELECT dst FROM url_alias WHERE src = 'remindme/node/137'
0.06	1	SELECT u.uid FROM rsvp r LEFT JOIN rsvp_invite u ON r.rid = u.rid WHERE r.nid = 137 AND u.uid = 1
0.06	1	SELECT uid FROM rsvp WHERE nid = 137 AND uid = 1
0.06	1	SELECT src FROM url_alias WHERE dst = 'rsvp/create/137'
0.06	1	SELECT dst FROM url_alias WHERE src = 'rsvp/create/137'
0.18	1	SELECT totalcount, daycount, timestamp FROM node_counter WHERE nid = 137
0.08	1	SELECT t.* FROM term_data t, term_node r WHERE r.tid = t.tid AND r.nid = 137 ORDER BY weight, name
0.08	1	SELECT src FROM url_alias WHERE dst = 'trail_tales'
0.06	1	SELECT dst FROM url_alias WHERE src = 'trail_tales'
0.06	1	SELECT src FROM url_alias WHERE dst = 'blog'
0.06	1	SELECT dst FROM url_alias WHERE src = 'blog'
0.06	1	SELECT src FROM url_alias WHERE dst = 'event'
0.06	1	SELECT dst FROM url_alias WHERE src = 'event'
0.06	1	SELECT src FROM url_alias WHERE dst = 'book'
0.06	1	SELECT dst FROM url_alias WHERE src = 'book'
0.06	1	SELECT src FROM url_alias WHERE dst = 'frequently-asked-questions-f-a-q.htm'
0.07	1	SELECT dst FROM url_alias WHERE src = 'frequently-asked-questions-f-a-q.htm'
0.06	1	SELECT src FROM url_alias WHERE dst = 'profile'
0.06	1	SELECT dst FROM url_alias WHERE src = 'profile'
0.06	1	SELECT src FROM url_alias WHERE dst = 'image'
0.06	1	SELECT dst FROM url_alias WHERE src = 'image'
0.06	1	SELECT src FROM url_alias WHERE dst = 'og'
0.06	1	SELECT dst FROM url_alias WHERE src = 'og'
0.06	1	SELECT src FROM url_alias WHERE dst = 'node/306'
0.06	1	SELECT dst FROM url_alias WHERE src = 'node/306'
0.06	1	SELECT src FROM url_alias WHERE dst = 'uk_mountain_weather_at_metcheck'
0.13	1	SELECT dst FROM url_alias WHERE src = 'uk_mountain_weather_at_metcheck'
0.06	1	SELECT src FROM url_alias WHERE dst = 'remindme'
0.06	1	SELECT dst FROM url_alias WHERE src = 'remindme'
0.06	1	SELECT src FROM url_alias WHERE dst = 'user'
0.06	1	SELECT dst FROM url_alias WHERE src = 'user'
0.06	1	SELECT src FROM url_alias WHERE dst = 'legal'
0.06	1	SELECT dst FROM url_alias WHERE src = 'legal'
0.11	1	SELECT * FROM blocks WHERE status = 1 AND region IN (0) ORDER BY weight, module
0.29	1	SELECT data, created, headers FROM cache WHERE cid = 'archive:calendar:18-8-2006'
0.47	1	SELECT * FROM boxes WHERE bid = 5
0.07	1	SELECT data, created, headers FROM cache WHERE cid = 'filter:1:6dfb49d614c6b7a1b452b6a2f00c4cbf'
0.08	1	SELECT DISTINCT(n.nid), n.title, l.last_comment_timestamp, l.comment_count FROM node n INNER JOIN node_comment_statistics l ON n.nid = l.nid WHERE n.status = 1 AND n.type='forum' ORDER BY l.last_comment_timestamp DESC LIMIT 0, 5
0.07	1	SELECT src FROM url_alias WHERE dst = 'node/356'
0.06	1	SELECT dst FROM url_alias WHERE src = 'node/356'
0.06	1	SELECT src FROM url_alias WHERE dst = 'node/355'
0.06	1	SELECT dst FROM url_alias WHERE src = 'node/355'
0.06	1	SELECT src FROM url_alias WHERE dst = 'node/327'
0.06	1	SELECT dst FROM url_alias WHERE src = 'node/327'
0.06	1	SELECT src FROM url_alias WHERE dst = 'node/299'
0.07	1	SELECT dst FROM url_alias WHERE src = 'node/299'
0.06	1	SELECT src FROM url_alias WHERE dst = 'node/298'
0.06	1	SELECT dst FROM url_alias WHERE src = 'node/298'
0.06	1	SELECT src FROM url_alias WHERE dst = 'forum'
0.06	1	SELECT dst FROM url_alias WHERE src = 'forum'
0.09	1	SELECT DISTINCT pop.tid, pop.pop AS c, t.tag FROM awtags_pop pop INNER JOIN awtags t ON pop.tid = t.tid ORDER BY pop.pop DESC LIMIT 0, 10
0.07	1	SELECT src FROM url_alias WHERE dst = 'tags/183'
0.06	1	SELECT dst FROM url_alias WHERE src = 'tags/183'
0.06	1	SELECT src FROM url_alias WHERE dst = 'tags/6'
0.06	1	SELECT dst FROM url_alias WHERE src = 'tags/6'
0.06	1	SELECT src FROM url_alias WHERE dst = 'tags/154'
0.06	1	SELECT dst FROM url_alias WHERE src = 'tags/154'
0.1	1	SELECT DISTINCT pop.uid, pop.tid, pop.pop AS c, u.name, t.tag FROM awtags_userpop pop INNER JOIN users u ON pop.uid = u.uid INNER JOIN awtags t ON pop.tid = t.tid WHERE u.uid = 1 ORDER BY pop.pop DESC LIMIT 0, 10
0.07	1	SELECT src FROM url_alias WHERE dst = 'tags/106'
0.07	1	SELECT dst FROM url_alias WHERE src = 'tags/106'
0.06	1	SELECT src FROM url_alias WHERE dst = 'tags/153'
0.06	1	SELECT dst FROM url_alias WHERE src = 'tags/153'
0.07	1	SELECT b.buddy as uid, u.name, u.mail FROM buddylist b INNER JOIN users u ON b.buddy = u.uid WHERE b.uid = 1 ORDER BY b.timestamp DESC
0.07	1	SELECT DISTINCT(n.nid), n.title, u.uid, u.name FROM node_counter s INNER JOIN node n ON s.nid = n.nid INNER JOIN users u ON n.uid = u.uid WHERE s.daycount <> '0' AND n.status = 1 ORDER BY s.daycount DESC LIMIT 0, 1
0.07	1	SELECT DISTINCT(n.nid), n.title, u.uid, u.name FROM node_counter s INNER JOIN node n ON s.nid = n.nid INNER JOIN users u ON n.uid = u.uid WHERE s.totalcount <> '0' AND n.status = 1 ORDER BY s.totalcount DESC LIMIT 0, 1
0.07	1	SELECT DISTINCT(n.nid), n.title, u.uid, u.name FROM node_counter s INNER JOIN node n ON s.nid = n.nid INNER JOIN users u ON n.uid = u.uid WHERE s.timestamp <> '0' AND n.status = 1 ORDER BY s.timestamp DESC LIMIT 0, 1
0.07	1	SELECT src FROM url_alias WHERE dst = 'syndication'
0.06	1	SELECT dst FROM url_alias WHERE src = 'syndication'
0.14	1	SELECT * FROM blocks WHERE status = 1 AND region IN (1) ORDER BY weight, module
0.07	1	SELECT * FROM ec_cart WHERE cookie_id = '1'
0.4	1	SELECT DISTINCT(n.nid), n.title, n.type, n.status, n.moderate, e.event_start FROM node n INNER JOIN event e ON n.nid = e.nid WHERE n.status = 1 AND n.moderate = 0 AND e.event_start >= 1155913546 ORDER BY event_start
0.07	1	SELECT src FROM url_alias WHERE dst = 'event/ical'
0.06	1	SELECT dst FROM url_alias WHERE src = 'event/ical'
0.07	1	SELECT COUNT(*) FROM node n INNER JOIN og og ON n.nid = og.nid WHERE og.directory=1 AND n.type = 'og' AND n.status = 1
0.08	1	SELECT DISTINCT(n.nid), n.title FROM node n INNER JOIN og og ON n.nid = og.nid WHERE n.status = 1 AND n.type = 'og' AND og.directory=1 ORDER BY nid DESC LIMIT 0, 10
0.07	1	SELECT src FROM url_alias WHERE dst = 'node/297'
0.07	1	SELECT dst FROM url_alias WHERE src = 'node/297'
0.06	1	SELECT src FROM url_alias WHERE dst = 'node/222'
0.07	1	SELECT dst FROM url_alias WHERE src = 'node/222'
0.06	1	SELECT src FROM url_alias WHERE dst = 'node/106'
0.06	1	SELECT dst FROM url_alias WHERE src = 'node/106'
0.07	1	SELECT src FROM url_alias WHERE dst = 'node/add/amazon'
0.06	1	SELECT dst FROM url_alias WHERE src = 'node/add/amazon'
0.07	1	SELECT src FROM url_alias WHERE dst = 'node/add/amazon-node'
0.06	1	SELECT dst FROM url_alias WHERE src = 'node/add/amazon-node'
0.06	1	SELECT src FROM url_alias WHERE dst = 'node/add/blog'
0.06	1	SELECT dst FROM url_alias WHERE src = 'node/add/blog'
0.06	1	SELECT src FROM url_alias WHERE dst = 'node/add/book'
0.06	1	SELECT dst FROM url_alias WHERE src = 'node/add/book'
0.06	1	SELECT src FROM url_alias WHERE dst = 'node/add/og'
0.06	1	SELECT dst FROM url_alias WHERE src = 'node/add/og'
0.06	1	SELECT src FROM url_alias WHERE dst = 'node/add/flexinode-1'
0.06	1	SELECT dst FROM url_alias WHERE src = 'node/add/flexinode-1'
0.06	1	SELECT src FROM url_alias WHERE dst = 'node/add/image'
0.06	1	SELECT dst FROM url_alias WHERE src = 'node/add/image'
0.06	1	SELECT src FROM url_alias WHERE dst = 'node/add/page'
0.06	1	SELECT dst FROM url_alias WHERE src = 'node/add/page'
0.07	1	SELECT src FROM url_alias WHERE dst = 'node/add/product'
0.06	1	SELECT dst FROM url_alias WHERE src = 'node/add/product'
0.06	1	SELECT src FROM url_alias WHERE dst = 'node/add/flexinode-5'
0.06	1	SELECT dst FROM url_alias WHERE src = 'node/add/flexinode-5'
0.06	1	SELECT src FROM url_alias WHERE dst = 'node/add/flexinode-3'
0.06	1	SELECT dst FROM url_alias WHERE src = 'node/add/flexinode-3'
0.07	1	SELECT src FROM url_alias WHERE dst = 'node/add'
0.06	1	SELECT dst FROM url_alias WHERE src = 'node/add'
0.06	1	SELECT src FROM url_alias WHERE dst = 'archive'
0.06	1	SELECT dst FROM url_alias WHERE src = 'archive'
0.06	1	SELECT src FROM url_alias WHERE dst = 'taxonomy_dhtml'
0.06	1	SELECT dst FROM url_alias WHERE src = 'taxonomy_dhtml'
0.06	1	SELECT src FROM url_alias WHERE dst = 'views/Amazonitemreviews'
0.06	1	SELECT dst FROM url_alias WHERE src = 'views/Amazonitemreviews'
0.07	1	SELECT src FROM url_alias WHERE dst = 'devel/cache/clear'
0.06	1	SELECT dst FROM url_alias WHERE src = 'devel/cache/clear'
0.06	1	SELECT src FROM url_alias WHERE dst = 'views/All_Events'
0.06	1	SELECT dst FROM url_alias WHERE src = 'views/All_Events'
0.06	1	SELECT src FROM url_alias WHERE dst = 'feedback'
0.06	1	SELECT dst FROM url_alias WHERE src = 'feedback'
0.06	1	SELECT src FROM url_alias WHERE dst = 'user/invite'
0.06	1	SELECT dst FROM url_alias WHERE src = 'user/invite'
0.06	1	SELECT src FROM url_alias WHERE dst = 'bookmarks/1'
0.06	1	SELECT dst FROM url_alias WHERE src = 'bookmarks/1'
0.06	1	SELECT src FROM url_alias WHERE dst = 'buddylist'
0.06	1	SELECT dst FROM url_alias WHERE src = 'buddylist'
0.06	1	SELECT src FROM url_alias WHERE dst = 'usertags/1'
0.06	1	SELECT dst FROM url_alias WHERE src = 'usertags/1'
0.06	1	SELECT src FROM url_alias WHERE dst = 'workspace'
0.06	1	SELECT dst FROM url_alias WHERE src = 'workspace'
0.06	1	SELECT src FROM url_alias WHERE dst = 'product'
0.06	1	SELECT dst FROM url_alias WHERE src = 'product'
0.06	1	SELECT src FROM url_alias WHERE dst = 'rsvp'
0.06	1	SELECT dst FROM url_alias WHERE src = 'rsvp'
0.14	1	SELECT src FROM url_alias WHERE dst = 'devel/variable'
0.13	1	SELECT dst FROM url_alias WHERE src = 'devel/variable'
0.06	1	SELECT src FROM url_alias WHERE dst = 'privatemsg'
0.07	1	SELECT dst FROM url_alias WHERE src = 'privatemsg'
0.07	1	SELECT src FROM url_alias WHERE dst = 'tracker'
0.06	1	SELECT dst FROM url_alias WHERE src = 'tracker'
0.06	1	SELECT src FROM url_alias WHERE dst = 'aggregator'
0.06	1	SELECT dst FROM url_alias WHERE src = 'aggregator'
0.06	1	SELECT src FROM url_alias WHERE dst = 'admin'
0.06	1	SELECT dst FROM url_alias WHERE src = 'admin'
0.07	1	SELECT src FROM url_alias WHERE dst = 'logout'
0.06	1	SELECT dst FROM url_alias WHERE src = 'logout'
0.44	1	SELECT COUNT(sid) AS count FROM sessions WHERE timestamp >= 1155917146 AND uid = 0
0.93	1	SELECT DISTINCT(uid), MAX(timestamp) AS max_timestamp FROM sessions WHERE timestamp >= 1155917146 AND uid != 0 GROUP BY uid ORDER BY max_timestamp DESC
0.13	2	SELECT u.* FROM users u WHERE u.uid = 1 AND u.status < 3 LIMIT 0, 1
0.08	2	SELECT r.rid, r.name FROM role r INNER JOIN users_roles ur ON ur.rid = r.rid WHERE ur.uid = 1
0.09	2	SELECT * FROM legal_conditions ORDER BY tc_id DESC LIMIT 1
0.08	2	SELECT f.name, f.type, v.value FROM profile_fields f INNER JOIN profile_values v ON f.fid = v.fid WHERE uid = 1
0.07	1	SELECT dst FROM url_alias WHERE src = 'search'

And this is from anonymous user where it is sorted right:

Executed 264 queries in 25.13 microseconds. Queries taking longer than 9 ms, and queries executed more than once, are highlighted.
ms	#	query
0.14	1	SELECT COUNT(pid) FROM url_alias
0.07	1	SELECT src FROM url_alias WHERE dst = 'node'
0.24	1	SELECT name, filename, throttle, bootstrap FROM system WHERE type = 'module' AND status = 1
0.2	1	CREATE TABLE IF NOT EXISTS `bad_behavior_log` ( `id` int(11) NOT NULL auto_increment, `ip` text NOT NULL, `date` datetime NOT NULL default '0000-00-00 00:00:00', `request_method` text NOT NULL, `http_host` text, `request_uri` text NOT NULL, `server_protocol` text NOT NULL, `http_referer` text, `http_user_agent` text, `http_headers` text NOT NULL, `request_entity` text NOT NULL, `denied_reason` text NOT NULL, `http_response` int(3) NOT NULL, PRIMARY KEY (`id`) );
0.11	1	DESCRIBE `bad_behavior_log` `request_entity`;
0.1	1	DESCRIBE `bad_behavior_log` `denied_reason`;
0.07	1	SELECT `ip` FROM `bad_behavior_log` WHERE `ip` LIKE '82.3.32.76' AND `http_response` = 403
0.06	1	SELECT `ip` FROM `bad_behavior_log` WHERE `ip` LIKE '82.3.32.76' AND `http_response` = 403 AND `date` > DATE_SUB('2006-08-18 17:10:22', INTERVAL 5 MINUTE)
2.75	1	SELECT data, created, headers FROM cache WHERE cid = 'menu:0:en'
0.09	1	SELECT DISTINCT(p.perm) FROM role r INNER JOIN permission p ON p.rid = r.rid INNER JOIN users_roles ur ON ur.rid = r.rid WHERE ur.uid = 0
0.06	1	SELECT dst FROM url_alias WHERE src = 'blogapi/rsd'
0.06	1	SELECT dst FROM url_alias WHERE src = 'node'
0.09	1	SELECT * FROM system WHERE type = 'theme' ORDER BY name
0.12	1	SELECT u.* FROM users u WHERE u.uid = 0 AND u.status < 3 LIMIT 0, 1
0.07	1	SELECT r.rid, r.name FROM role r INNER JOIN users_roles ur ON ur.rid = r.rid WHERE ur.uid = 0
0.08	1	SELECT * FROM legal_conditions ORDER BY tc_id DESC LIMIT 1
0.09	1	SELECT n.title, n.nid, ou.* FROM og_uid ou INNER JOIN node n ON ou.nid = n.nid WHERE ou.uid = 0 ORDER BY n.title
0.07	1	SELECT f.name, f.type, v.value FROM profile_fields f INNER JOIN profile_values v ON f.fid = v.fid WHERE uid = 0
0.06	1	SELECT COUNT(*) FROM privatemsg WHERE recipient = '0' AND newmsg = 1 AND recipient_del = 0
0.08	1	SELECT COUNT(*) FROM node_access WHERE nid = 0 AND CONCAT(realm, gid) IN ('all0','og_group0') AND grant_view = 1
0.07	1	SELECT COUNT(*) FROM node n INNER JOIN node_access na ON na.nid = n.nid WHERE (na.grant_view >= 1 AND CONCAT(na.realm, na.gid) IN ('all0','og_group0')) AND n.promote = 1 AND n.status = 1
0.08	1	SELECT DISTINCT(n.nid), n.sticky, n.created FROM node n INNER JOIN node_access na ON na.nid = n.nid WHERE (na.grant_view >= 1 AND CONCAT(na.realm, na.gid) IN ('all0','og_group0')) AND n.promote = 1 AND n.status = 1 ORDER BY n.sticky DESC, n.created DESC LIMIT 0, 5
0.06	1	SELECT dst FROM url_alias WHERE src = 'node/feed'
0.13	1	SELECT n.*, u.uid, u.name, u.picture, u.data FROM node n INNER JOIN node_access na ON na.nid = n.nid INNER JOIN users u ON u.uid = n.uid WHERE (na.grant_view >= 1 AND CONCAT(na.realm, na.gid) IN ('all0','og_group0')) AND n.nid = '61'
0.06	1	SELECT `ASIN` FROM amazonnode WHERE `nid` = 61
0.08	2	SELECT DISTINCT * from awtags_node tn INNER JOIN awtags t ON tn.tid = t.tid WHERE tn.nid = 61
0.07	1	SELECT last_comment_timestamp, last_comment_name, comment_count FROM node_comment_statistics WHERE nid = 61
0.06	1	SELECT grant_view FROM node_access WHERE nid = 61 AND gid=0 AND realm='og_group'
0.06	1	SELECT na.gid, n.title FROM node_access na INNER JOIN node n ON na.gid = n.nid WHERE na.nid = 61 AND na.realm='og_group' AND na.gid != 0
0.09	1	SELECT * FROM ec_product WHERE nid = 61
0.32	1	SELECT data, created, headers FROM cache WHERE cid = 'filter:1:9379609cbd04a01c534f3768bdf89ae7'
0.09	2	SELECT DISTINCT * from awtags_node tn INNER JOIN awtags t ON tn.tid = t.tid WHERE tn.nid = 61
0.06	1	SELECT src FROM url_alias WHERE dst = 'tags/10'
0.06	1	SELECT dst FROM url_alias WHERE src = 'tags/10'
0.06	1	SELECT src FROM url_alias WHERE dst = 'tags/24'
0.06	1	SELECT dst FROM url_alias WHERE src = 'tags/24'
0.06	1	SELECT src FROM url_alias WHERE dst = 'tags/32'
0.06	1	SELECT dst FROM url_alias WHERE src = 'tags/32'
0.06	1	SELECT src FROM url_alias WHERE dst = 'tags/36'
0.06	1	SELECT dst FROM url_alias WHERE src = 'tags/36'
0.06	1	SELECT src FROM url_alias WHERE dst = 'tags/152'
0.06	1	SELECT dst FROM url_alias WHERE src = 'tags/152'
0.06	1	SELECT src FROM url_alias WHERE dst = 'tags/179'
0.06	1	SELECT dst FROM url_alias WHERE src = 'tags/179'
0.06	1	SELECT src FROM url_alias WHERE dst = 'tags/184'
0.06	1	SELECT dst FROM url_alias WHERE src = 'tags/184'
0.1	1	SELECT * FROM variable WHERE name like 'event_nodeapi_%'
0.07	1	SELECT * FROM flexinode_type WHERE ctype_id = 0
0.09	1	SELECT * FROM flexinode_field WHERE ctype_id = 0 ORDER BY weight ASC, label ASC
0.19	1	SELECT totalcount, daycount, timestamp FROM node_counter WHERE nid = 61
0.38	1	SELECT t.* FROM term_data t, term_node r WHERE r.tid = t.tid AND r.nid = 61 ORDER BY weight, name
0.06	1	SELECT dst FROM url_alias WHERE src = 'node/61'
0.06	1	SELECT src FROM url_alias WHERE dst = 'user/1'
0.06	1	SELECT dst FROM url_alias WHERE src = 'user/1'
0.06	1	SELECT src FROM url_alias WHERE dst = 'admin/themes/settings'
0.06	1	SELECT dst FROM url_alias WHERE src = 'admin/themes/settings'
0.08	1	SELECT * FROM flexinode_type
0.14	1	SELECT n.*, u.uid, u.name, u.picture, u.data FROM node n INNER JOIN node_access na ON na.nid = n.nid INNER JOIN users u ON u.uid = n.uid WHERE (na.grant_view >= 1 AND CONCAT(na.realm, na.gid) IN ('all0','og_group0')) AND n.nid = '405'
0.07	1	SELECT `ASIN` FROM amazonnode WHERE `nid` = 405
0.12	1	SELECT * FROM amazonitem WHERE ASIN = '1845140826'
0.09	2	SELECT DISTINCT * from awtags_node tn INNER JOIN awtags t ON tn.tid = t.tid WHERE tn.nid = 405
0.08	1	SELECT last_comment_timestamp, last_comment_name, comment_count FROM node_comment_statistics WHERE nid = 405
0.06	1	SELECT grant_view FROM node_access WHERE nid = 405 AND gid=0 AND realm='og_group'
0.06	1	SELECT na.gid, n.title FROM node_access na INNER JOIN node n ON na.gid = n.nid WHERE na.nid = 405 AND na.realm='og_group' AND na.gid != 0
0.09	1	SELECT * FROM ec_product WHERE nid = 405
0.33	1	SELECT data, created, headers FROM cache WHERE cid = 'filter:1:a721890a514c408a88051fa2e36cd0bb'
0.09	2	SELECT DISTINCT * from awtags_node tn INNER JOIN awtags t ON tn.tid = t.tid WHERE tn.nid = 405
1.41	1	SELECT src FROM url_alias WHERE dst = 'tags/23'
0.06	1	SELECT dst FROM url_alias WHERE src = 'tags/23'
0.06	1	SELECT src FROM url_alias WHERE dst = 'tags/195'
0.06	1	SELECT dst FROM url_alias WHERE src = 'tags/195'
0.06	1	SELECT src FROM url_alias WHERE dst = 'tags/250'
0.06	1	SELECT dst FROM url_alias WHERE src = 'tags/250'
0.07	1	SELECT src FROM url_alias WHERE dst = 'tags/254'
0.06	1	SELECT dst FROM url_alias WHERE src = 'tags/254'
0.06	1	SELECT src FROM url_alias WHERE dst = 'tags/256'
0.06	1	SELECT dst FROM url_alias WHERE src = 'tags/256'
0.06	1	SELECT src FROM url_alias WHERE dst = 'tags/257'
0.06	1	SELECT dst FROM url_alias WHERE src = 'tags/257'
0.07	1	SELECT comment_count FROM node_comment_statistics WHERE nid = 405
0.06	1	SELECT src FROM url_alias WHERE dst = 'node/405'
0.06	1	SELECT dst FROM url_alias WHERE src = 'node/405'
0.07	1	SELECT totalcount, daycount, timestamp FROM node_counter WHERE nid = 405
0.08	1	SELECT t.* FROM term_data t, term_node r WHERE r.tid = t.tid AND r.nid = 405 ORDER BY weight, name
0.06	1	SELECT src FROM url_alias WHERE dst = 'user/2'
0.06	1	SELECT dst FROM url_alias WHERE src = 'user/2'
0.06	1	SELECT dst FROM url_alias WHERE src = 'system/files'
0.18	1	SELECT n.*, u.uid, u.name, u.picture, u.data FROM node n INNER JOIN node_access na ON na.nid = n.nid INNER JOIN users u ON u.uid = n.uid WHERE (na.grant_view >= 1 AND CONCAT(na.realm, na.gid) IN ('all0','og_group0')) AND n.nid = '401'
0.07	1	SELECT `ASIN` FROM amazonnode WHERE `nid` = 401
0.08	2	SELECT DISTINCT * from awtags_node tn INNER JOIN awtags t ON tn.tid = t.tid WHERE tn.nid = 401
0.07	1	SELECT last_comment_timestamp, last_comment_name, comment_count FROM node_comment_statistics WHERE nid = 401
0.06	1	SELECT grant_view FROM node_access WHERE nid = 401 AND gid=0 AND realm='og_group'
0.06	1	SELECT na.gid, n.title FROM node_access na INNER JOIN node n ON na.gid = n.nid WHERE na.nid = 401 AND na.realm='og_group' AND na.gid != 0
0.07	1	SELECT * FROM phpfreechat WHERE nid = 401
0.09	1	SELECT * FROM ec_product WHERE nid = 401
0.07	1	SELECT * FROM files WHERE nid = 401
0.3	1	SELECT data, created, headers FROM cache WHERE cid = 'filter:1:a1d8b3f3e040eb888c6f60c5913a9c80'
0.11	2	SELECT DISTINCT * from awtags_node tn INNER JOIN awtags t ON tn.tid = t.tid WHERE tn.nid = 401
0.06	1	SELECT src FROM url_alias WHERE dst = 'tags/193'
0.06	1	SELECT dst FROM url_alias WHERE src = 'tags/193'
0.06	1	SELECT src FROM url_alias WHERE dst = 'tags/194'
0.06	1	SELECT dst FROM url_alias WHERE src = 'tags/194'
0.06	1	SELECT src FROM url_alias WHERE dst = 'tags/251'
0.06	1	SELECT dst FROM url_alias WHERE src = 'tags/251'
0.06	1	SELECT src FROM url_alias WHERE dst = 'blog/2'
0.06	1	SELECT dst FROM url_alias WHERE src = 'blog/2'
0.06	1	SELECT comment_count FROM node_comment_statistics WHERE nid = 401
0.06	1	SELECT src FROM url_alias WHERE dst = 'comment/reply/401'
0.06	1	SELECT dst FROM url_alias WHERE src = 'comment/reply/401'
0.06	1	SELECT src FROM url_alias WHERE dst = 'node/401'
0.07	1	SELECT dst FROM url_alias WHERE src = 'node/401'
0.19	1	SELECT totalcount, daycount, timestamp FROM node_counter WHERE nid = 401
0.09	1	SELECT t.* FROM term_data t, term_node r WHERE r.tid = t.tid AND r.nid = 401 ORDER BY weight, name
0.06	1	SELECT src FROM url_alias WHERE dst = 'taxonomy/term/794'
0.06	1	SELECT dst FROM url_alias WHERE src = 'taxonomy/term/794'
0.06	1	SELECT src FROM url_alias WHERE dst = 'taxonomy/term/733'
0.06	1	SELECT dst FROM url_alias WHERE src = 'taxonomy/term/733'
0.06	1	SELECT src FROM url_alias WHERE dst = 'taxonomy/term/3'
0.06	1	SELECT dst FROM url_alias WHERE src = 'taxonomy/term/3'
0.06	1	SELECT src FROM url_alias WHERE dst = 'taxonomy/term/7'
0.06	1	SELECT dst FROM url_alias WHERE src = 'taxonomy/term/7'
0.14	1	SELECT n.*, u.uid, u.name, u.picture, u.data FROM node n INNER JOIN node_access na ON na.nid = n.nid INNER JOIN users u ON u.uid = n.uid WHERE (na.grant_view >= 1 AND CONCAT(na.realm, na.gid) IN ('all0','og_group0')) AND n.nid = '400'
0.07	1	SELECT `ASIN` FROM amazonnode WHERE `nid` = 400
0.12	1	SELECT * FROM amazonitem WHERE ASIN = '0954151100'
0.08	2	SELECT DISTINCT * from awtags_node tn INNER JOIN awtags t ON tn.tid = t.tid WHERE tn.nid = 400
0.07	1	SELECT last_comment_timestamp, last_comment_name, comment_count FROM node_comment_statistics WHERE nid = 400
0.06	1	SELECT grant_view FROM node_access WHERE nid = 400 AND gid=0 AND realm='og_group'
0.06	1	SELECT na.gid, n.title FROM node_access na INNER JOIN node n ON na.gid = n.nid WHERE na.nid = 400 AND na.realm='og_group' AND na.gid != 0
0.09	1	SELECT * FROM ec_product WHERE nid = 400
0.26	1	SELECT data, created, headers FROM cache WHERE cid = 'filter:1:7c6399c9755dc833828fd3faf004fc4e'
0.08	2	SELECT DISTINCT * from awtags_node tn INNER JOIN awtags t ON tn.tid = t.tid WHERE tn.nid = 400
0.07	1	SELECT src FROM url_alias WHERE dst = 'tags/249'
0.06	1	SELECT dst FROM url_alias WHERE src = 'tags/249'
0.06	1	SELECT comment_count FROM node_comment_statistics WHERE nid = 400
0.06	1	SELECT src FROM url_alias WHERE dst = 'comment/reply/400'
0.06	1	SELECT dst FROM url_alias WHERE src = 'comment/reply/400'
0.06	1	SELECT src FROM url_alias WHERE dst = 'node/400'
0.06	1	SELECT dst FROM url_alias WHERE src = 'node/400'
0.18	1	SELECT totalcount, daycount, timestamp FROM node_counter WHERE nid = 400
0.08	1	SELECT t.* FROM term_data t, term_node r WHERE r.tid = t.tid AND r.nid = 400 ORDER BY weight, name
0.13	1	SELECT n.*, u.uid, u.name, u.picture, u.data FROM node n INNER JOIN node_access na ON na.nid = n.nid INNER JOIN users u ON u.uid = n.uid WHERE (na.grant_view >= 1 AND CONCAT(na.realm, na.gid) IN ('all0','og_group0')) AND n.nid = '353'
0.07	1	SELECT `ASIN` FROM amazonnode WHERE `nid` = 353
0.08	2	SELECT DISTINCT * from awtags_node tn INNER JOIN awtags t ON tn.tid = t.tid WHERE tn.nid = 353
0.07	1	SELECT last_comment_timestamp, last_comment_name, comment_count FROM node_comment_statistics WHERE nid = 353
0.06	1	SELECT grant_view FROM node_access WHERE nid = 353 AND gid=0 AND realm='og_group'
0.06	1	SELECT na.gid, n.title FROM node_access na INNER JOIN node n ON na.gid = n.nid WHERE na.nid = 353 AND na.realm='og_group' AND na.gid != 0
0.07	1	SELECT * FROM phpfreechat WHERE nid = 353
0.08	1	SELECT * FROM ec_product WHERE nid = 353
0.08	1	SELECT * FROM files WHERE nid = 353
0.25	1	SELECT data, created, headers FROM cache WHERE cid = 'filter:1:27d3b3dd94941306d8489f308db9eb69'
0.08	2	SELECT DISTINCT * from awtags_node tn INNER JOIN awtags t ON tn.tid = t.tid WHERE tn.nid = 353
0.06	1	SELECT src FROM url_alias WHERE dst = 'tags/96'
0.06	1	SELECT dst FROM url_alias WHERE src = 'tags/96'
0.06	1	SELECT src FROM url_alias WHERE dst = 'tags/219'
0.06	1	SELECT dst FROM url_alias WHERE src = 'tags/219'
0.06	1	SELECT src FROM url_alias WHERE dst = 'tags/243'
0.06	1	SELECT dst FROM url_alias WHERE src = 'tags/243'
0.06	1	SELECT src FROM url_alias WHERE dst = 'tags/244'
0.06	1	SELECT dst FROM url_alias WHERE src = 'tags/244'
0.07	1	SELECT src FROM url_alias WHERE dst = 'tags/246'
0.06	1	SELECT dst FROM url_alias WHERE src = 'tags/246'
0.06	1	SELECT src FROM url_alias WHERE dst = 'blog/1'
0.06	1	SELECT dst FROM url_alias WHERE src = 'blog/1'
0.06	1	SELECT comment_count FROM node_comment_statistics WHERE nid = 353
0.06	1	SELECT src FROM url_alias WHERE dst = 'node/353'
0.06	1	SELECT dst FROM url_alias WHERE src = 'node/353'
0.17	1	SELECT totalcount, daycount, timestamp FROM node_counter WHERE nid = 353
0.08	1	SELECT t.* FROM term_data t, term_node r WHERE r.tid = t.tid AND r.nid = 353 ORDER BY weight, name
0.07	1	SELECT src FROM url_alias WHERE dst = 'taxonomy/term/949'
0.07	1	SELECT dst FROM url_alias WHERE src = 'taxonomy/term/949'
0.08	1	SELECT src FROM url_alias WHERE dst = 'trail_tales'
0.06	1	SELECT dst FROM url_alias WHERE src = 'trail_tales'
0.06	1	SELECT src FROM url_alias WHERE dst = 'blog'
0.06	1	SELECT dst FROM url_alias WHERE src = 'blog'
0.06	1	SELECT src FROM url_alias WHERE dst = 'event'
0.06	1	SELECT dst FROM url_alias WHERE src = 'event'
0.06	1	SELECT src FROM url_alias WHERE dst = 'book'
0.06	1	SELECT dst FROM url_alias WHERE src = 'book'
0.06	1	SELECT src FROM url_alias WHERE dst = 'frequently-asked-questions-f-a-q.htm'
0.06	1	SELECT dst FROM url_alias WHERE src = 'frequently-asked-questions-f-a-q.htm'
0.06	1	SELECT src FROM url_alias WHERE dst = 'profile'
0.06	1	SELECT dst FROM url_alias WHERE src = 'profile'
0.06	1	SELECT src FROM url_alias WHERE dst = 'image'
0.06	1	SELECT dst FROM url_alias WHERE src = 'image'
0.06	1	SELECT src FROM url_alias WHERE dst = 'og'
0.06	1	SELECT dst FROM url_alias WHERE src = 'og'
0.06	1	SELECT src FROM url_alias WHERE dst = 'node/306'
0.06	1	SELECT dst FROM url_alias WHERE src = 'node/306'
0.06	1	SELECT src FROM url_alias WHERE dst = 'uk_mountain_weather_at_metcheck'
0.06	1	SELECT dst FROM url_alias WHERE src = 'uk_mountain_weather_at_metcheck'
0.06	1	SELECT src FROM url_alias WHERE dst = 'remindme'
0.06	1	SELECT dst FROM url_alias WHERE src = 'remindme'
0.06	1	SELECT src FROM url_alias WHERE dst = 'user'
0.06	1	SELECT dst FROM url_alias WHERE src = 'user'
0.06	1	SELECT src FROM url_alias WHERE dst = 'legal'
0.06	1	SELECT dst FROM url_alias WHERE src = 'legal'
0.11	1	SELECT * FROM blocks WHERE status = 1 AND region IN (0) ORDER BY weight, module
0.09	1	SELECT data, created, headers FROM cache WHERE cid = 'archive:calendar:18-8-2006'
0.08	1	SELECT * FROM boxes WHERE bid = 5
0.07	1	SELECT data, created, headers FROM cache WHERE cid = 'filter:1:6dfb49d614c6b7a1b452b6a2f00c4cbf'
0.07	1	SELECT DISTINCT(n.nid), n.title, l.last_comment_timestamp, l.comment_count FROM node n INNER JOIN node_access na ON na.nid = n.nid INNER JOIN node_comment_statistics l ON n.nid = l.nid WHERE (na.grant_view >= 1 AND CONCAT(na.realm, na.gid) IN ('all0','og_group0')) AND n.status = 1 AND n.type='forum' ORDER BY l.last_comment_timestamp DESC LIMIT 0, 5
0.09	1	SELECT DISTINCT pop.tid, pop.pop AS c, t.tag FROM awtags_pop pop INNER JOIN awtags t ON pop.tid = t.tid ORDER BY pop.pop DESC LIMIT 0, 10
0.08	1	SELECT src FROM url_alias WHERE dst = 'tags/103'
0.06	1	SELECT dst FROM url_alias WHERE src = 'tags/103'
0.06	1	SELECT src FROM url_alias WHERE dst = 'tags/183'
0.06	1	SELECT dst FROM url_alias WHERE src = 'tags/183'
0.06	1	SELECT src FROM url_alias WHERE dst = 'tags/105'
0.06	1	SELECT dst FROM url_alias WHERE src = 'tags/105'
0.06	1	SELECT src FROM url_alias WHERE dst = 'tags/104'
0.06	1	SELECT dst FROM url_alias WHERE src = 'tags/104'
0.06	1	SELECT src FROM url_alias WHERE dst = 'tags/6'
0.06	1	SELECT dst FROM url_alias WHERE src = 'tags/6'
0.06	1	SELECT src FROM url_alias WHERE dst = 'tags/154'
0.06	1	SELECT dst FROM url_alias WHERE src = 'tags/154'
0.08	1	SELECT DISTINCT(n.nid), n.title, u.uid, u.name FROM node_counter s INNER JOIN node_access na ON na.nid = n.nid INNER JOIN node n ON s.nid = n.nid INNER JOIN users u ON n.uid = u.uid WHERE (na.grant_view >= 1 AND CONCAT(na.realm, na.gid) IN ('all0','og_group0')) AND s.daycount <> '0' AND n.status = 1 ORDER BY s.daycount DESC LIMIT 0, 1
0.08	1	SELECT DISTINCT(n.nid), n.title, u.uid, u.name FROM node_counter s INNER JOIN node_access na ON na.nid = n.nid INNER JOIN node n ON s.nid = n.nid INNER JOIN users u ON n.uid = u.uid WHERE (na.grant_view >= 1 AND CONCAT(na.realm, na.gid) IN ('all0','og_group0')) AND s.totalcount <> '0' AND n.status = 1 ORDER BY s.totalcount DESC LIMIT 0, 1
0.08	1	SELECT DISTINCT(n.nid), n.title, u.uid, u.name FROM node_counter s INNER JOIN node_access na ON na.nid = n.nid INNER JOIN node n ON s.nid = n.nid INNER JOIN users u ON n.uid = u.uid WHERE (na.grant_view >= 1 AND CONCAT(na.realm, na.gid) IN ('all0','og_group0')) AND s.timestamp <> '0' AND n.status = 1 ORDER BY s.timestamp DESC LIMIT 0, 1
0.06	1	SELECT src FROM url_alias WHERE dst = 'syndication'
0.06	1	SELECT dst FROM url_alias WHERE src = 'syndication'
0.12	1	SELECT * FROM blocks WHERE status = 1 AND region IN (1) ORDER BY weight, module
0.2	1	SELECT * FROM ec_cart WHERE cookie_id = '63f83e1cb3378ee96c7e347889e6d66a'
0.4	1	SELECT DISTINCT(n.nid), n.title, n.type, n.status, n.moderate, e.event_start FROM node n INNER JOIN node_access na ON na.nid = n.nid INNER JOIN event e ON n.nid = e.nid WHERE (na.grant_view >= 1 AND CONCAT(na.realm, na.gid) IN ('all0','og_group0')) AND n.status = 1 AND n.moderate = 0 AND e.event_start >= 1155913822 ORDER BY event_start
0.08	1	SELECT src FROM url_alias WHERE dst = 'event/ical'
0.06	1	SELECT dst FROM url_alias WHERE src = 'event/ical'
0.07	1	SELECT dst FROM url_alias WHERE src = 'user/login'
0.06	1	SELECT src FROM url_alias WHERE dst = 'user/register'
0.06	1	SELECT dst FROM url_alias WHERE src = 'user/register'
0.06	1	SELECT src FROM url_alias WHERE dst = 'user/password'
0.06	1	SELECT dst FROM url_alias WHERE src = 'user/password'
0.07	1	SELECT COUNT(*) FROM node n INNER JOIN node_access na ON na.nid = n.nid INNER JOIN og og ON n.nid = og.nid WHERE (na.grant_view >= 1 AND CONCAT(na.realm, na.gid) IN ('all0','og_group0')) AND og.directory=1 AND n.type = 'og' AND n.status = 1
0.09	1	SELECT DISTINCT(n.nid), n.title FROM node n INNER JOIN node_access na ON na.nid = n.nid INNER JOIN og og ON n.nid = og.nid WHERE (na.grant_view >= 1 AND CONCAT(na.realm, na.gid) IN ('all0','og_group0')) AND n.status = 1 AND n.type = 'og' AND og.directory=1 ORDER BY nid DESC LIMIT 0, 10
0.07	1	SELECT src FROM url_alias WHERE dst = 'node/297'
0.07	1	SELECT dst FROM url_alias WHERE src = 'node/297'
0.07	1	SELECT src FROM url_alias WHERE dst = 'node/222'
0.07	1	SELECT dst FROM url_alias WHERE src = 'node/222'
0.06	1	SELECT src FROM url_alias WHERE dst = 'node/106'
0.07	1	SELECT dst FROM url_alias WHERE src = 'node/106'
0.08	1	SELECT src FROM url_alias WHERE dst = 'node/add'
0.07	1	SELECT dst FROM url_alias WHERE src = 'node/add'
0.06	1	SELECT src FROM url_alias WHERE dst = 'archive'
0.06	1	SELECT dst FROM url_alias WHERE src = 'archive'
0.06	1	SELECT src FROM url_alias WHERE dst = 'taxonomy_dhtml'
0.06	1	SELECT dst FROM url_alias WHERE src = 'taxonomy_dhtml'
0.06	1	SELECT src FROM url_alias WHERE dst = 'views/Amazonitemreviews'
0.06	1	SELECT dst FROM url_alias WHERE src = 'views/Amazonitemreviews'
0.06	1	SELECT src FROM url_alias WHERE dst = 'views/All_Events'
0.06	1	SELECT dst FROM url_alias WHERE src = 'views/All_Events'
0.07	1	SELECT src FROM url_alias WHERE dst = 'devel/cache/clear'
0.06	1	SELECT dst FROM url_alias WHERE src = 'devel/cache/clear'
0.07	1	SELECT src FROM url_alias WHERE dst = 'feedback'
0.06	1	SELECT dst FROM url_alias WHERE src = 'feedback'
0.06	1	SELECT src FROM url_alias WHERE dst = 'usertags/0'
0.06	1	SELECT dst FROM url_alias WHERE src = 'usertags/0'
0.06	1	SELECT src FROM url_alias WHERE dst = 'product'
0.06	1	SELECT dst FROM url_alias WHERE src = 'product'
0.06	1	SELECT src FROM url_alias WHERE dst = 'rsvp'
0.06	1	SELECT dst FROM url_alias WHERE src = 'rsvp'
0.07	1	SELECT src FROM url_alias WHERE dst = 'devel/variable'
0.06	1	SELECT dst FROM url_alias WHERE src = 'devel/variable'
0.07	1	SELECT src FROM url_alias WHERE dst = 'tracker'
0.06	1	SELECT dst FROM url_alias WHERE src = 'tracker'
0.08	1	SELECT dst FROM url_alias WHERE src = 'search'
0.11	1	SELECT data, created, headers FROM cache WHERE cid = 'adsense-1-728x90-9515937572'
0.08	1	SELECT data, created, headers FROM cache WHERE cid = 'adsense-1-728x15-7499805733'

If the size of this post is too much let me know what I can edit out! ;-)

hyperlogos’s picture

I've just checked up and discovered that it's not just administrators that are having this problem on my site. As such I wonder if I'm not actually having a different problem? This actually happened to me before, once. Regardless, I'm looking with the Anonymous user on another system here and I have items created on 8/17 down at the bottom - two of them are right under one created 2/4. (And yes, both are 2006.)

zwhalen’s picture

Here's the relevant stuff (I think) from my devel logs. This is actually for a page I have that just lists stories. It exhibits the same bug, so it's an easy case to isolate with:

Admin nodes permission:
SELECT DISTINCT(n.nid), n.created FROM node n WHERE n.type = 'story' AND n.status = 1 ORDER BY n.created DESC LIMIT 0, 10

Regular user (no node admin permission):
SELECT DISTINCT(n.nid), n.created FROM node n INNER JOIN node_access na ON na.nid = n.nid WHERE (na.grant_view = 1 AND CONCAT(na.realm, na.gid) IN ('all0','term_access3','term_access5')) AND n.type = 'story' AND n.status = 1 ORDER BY n.created DESC LIMIT 0, 10

You'll notice that I'm using the term_access module, so it inserts its own checks as well. Hope this helps.

gtoddv’s picture

Here is the section of code in Privacy_by_Node that I think might be causing the trouble for those of us using this module.

function node_privacy_byrole_nodeapi(&$node, $op, $arg = 0) {
  global $user;
  
  $permitted_roles = _node_privacy_byrole_meta_permitted_roles($node->type);
    
  $user_has_meta_perm = ($user->uid == 1 || count(array_intersect(_node_privacy_byrole_meta_permitted_roles($node->type), array_keys(is_array($user->roles) ? $user->roles : array()))) ? TRUE : FALSE);
  
  switch ($op) {
    case 'form admin':
      return '';
    case 'delete':
      // When a node is deleted, delete any relevant grants within realms managed by this module.
      db_query('DELETE FROM {node_access} WHERE nid = %d AND (realm = \'node_privacy_byrole_user\' OR realm = \'node_privacy_byrole_role\')', $node->nid);
      break;
    case 'form pre':
      if ($user_has_meta_perm) {
        return node_privacy_byrole_formitems($node);
      }
      break;
   case 'validate':
      if (variable_get('node_privacy_byrole_enabled', FALSE)) {
        _node_privacy_byrole_set_defaults($node, !$user_has_meta_perm);
      }
      if ($node->nid && !user_access('administer nodes')) {
        $result = db_query('SELECT uid FROM {node} WHERE nid = %d', $node->nid);
        if ($row = db_fetch_object($result)) {
          $node->uid = $row->uid;
        }
      }
      break;
    case 'settings':
      return array('Node privacy by role' => node_privacy_byrole_workflow_settings($node));
    case 'fields':
      break;
    case 'insert':
      if ($user_has_meta_perm) {
        node_privacy_byrole_save_permissions($node);
      }
      else {
        _node_privacy_byrole_set_defaults($node, TRUE);
        node_privacy_byrole_save_permissions($node);
      }
      break;
    case 'update':
      if ($user_has_meta_perm) {
        node_privacy_byrole_update_permissions($node);
      }
      break;
  }
  
}

I believe more precisely, this might be the exact problem from the code above:

   case 'validate':
      if (variable_get('node_privacy_byrole_enabled', FALSE)) {
        _node_privacy_byrole_set_defaults($node, !$user_has_meta_perm);
      }
      if ($node->nid && !user_access('administer nodes')) {
        $result = db_query('SELECT uid FROM {node} WHERE nid = %d', $node->nid);
        if ($row = db_fetch_object($result)) {
          $node->uid = $row->uid;
        }
      }

Hopefully someone can use this to create a solution for everyone. I will post this under the Privacy_by_Node project too.

onionweb’s picture

Admin user with node_privacy_by_role module enabled (disordered listing):

0.58 1 SELECT DISTINCT(n.nid), n.sticky, n.created FROM node n WHERE n.promote = 1 AND n.status = 1 ORDER BY n.sticky DESC, n.created DESC LIMIT 0, 10

Admin user with node_privacy_by_role module disabled (correctly ordered listing):

0.11 1 SELECT n.nid, n.sticky, n.created FROM node n WHERE n.promote = 1 AND n.status = 1 ORDER BY n.sticky DESC, n.created DESC LIMIT 0, 10

anonymous user with node access module enabled (correctly ordered listing):

0.1 1 SELECT DISTINCT(n.nid), n.sticky, n.created FROM node n INNER JOIN node_access na ON na.nid = n.nid WHERE (na.grant_view = 1 AND CONCAT(na.realm, na.gid) IN ('all0','node_privacy_byrole_role1','node_privacy_byrole_user0')) AND n.promote = 1 AND n.status = 1 ORDER BY n.sticky DESC, n.created DESC LIMIT 0, 10

anonymous user with node access module disabled (correctly ordered listing):

SELECT n.nid, n.sticky, n.created FROM node n WHERE n.promote = 1 AND n.status = 1 ORDER BY n.sticky DESC, n.created DESC LIMIT 0, 10

The "distinct" in the first example is the only appreciable difference

onionweb’s picture

the problem is not limited to node_privacy_role, it's every access module that is affected.

onionweb’s picture

the problem is in node.module:

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;
    return $return;
  }
}

$return['distinct'] = 1;

is returned for the admin user

onionweb’s picture

I guess that means function node_access_view_all_nodes() is broken.

onionweb’s picture

if you change

if ($primary_field == 'nid' && !node_access_view_all_nodes()) {

to

if ($primary_field == 'nid' && !node_access_view_all_nodes() && !user_access('administer nodes')) {

in function node_db_rewrite_sql

That's seems to fix it, but it may cause other problems. I don't know the access system very well...

The real problem seems to be that node_access_view_all_nodes() is returning FALSE when it shouldn;t be.

onionweb’s picture

Version: 4.6.9 » 4.7.3
Component: database system » node.module

changed version to 4.7.3 and component to node.module for this issue

Cromicon’s picture

I don't know why you changed this to 4.7.x as the majority of reports came from 4.6.x users, however I have to say the fix at first value that you have posted appears to work - at least with OG.

Thanks. :-)

Cromicon’s picture

except that newly created nodes within OG are undeletable. Using 4.6.9. Is this related?

onionweb’s picture

WIth mySQL 4.1.21

SELECT DISTINCT(n.nid), n.sticky, n.created FROM node n WHERE n.promote = 1 AND n.status = 1 ORDER BY n.sticky DESC, n.created DESC LIMIT 0, 10

returns a different result than

SELECT n.nid, n.sticky, n.created FROM node n WHERE n.promote = 1 AND n.status = 1 ORDER BY n.sticky DESC, n.created DESC LIMIT 0, 10

WIth mySQL 4.1.20 the same result occurs with both queries.

Seems like this is a combination of a mySQL bug (?) combined with a node.module bug that didn't become apparent until mySQL changed. (?)

andriko’s picture

In my case, mysql 4.1.21 show different behavior on primary and backup sites :(

Cromicon’s picture

Seems to be okay now...maybe I had a weird caching issue but looks good so far using the fix unionweb proposed

onionweb’s picture

The mysql bug has been reported and verified:

http://bugs.mysql.com/bug.php?id=21456

However, I think the node.module is still adding an unecessary distinct keyowrd into admin queries. Normally that wouldn't hurt anything, but in combination with the mysql bug it produced this mess.

deadhobo’s picture

The above fix worked for me on 4.6.9 with taxonomy_access. Thanks for the fix!

onionweb’s picture

Instead of using the node.module "fix," you might consider contacting your hosting administrator and pointing him to the mySQL patch available here:

http://bugs.mysql.com/bug.php?id=21456

jmiccolis’s picture

@unionweb - thanks for getting this figured out.

Using mysql 4.1.20 does make drupal behave correctly.

killes@www.drop.org’s picture

Priority: Critical » Normal
Status: Active » Closed (won't fix)

mysql bug.