I have a site with two tiers of access to events using taxonomy access terms. When a user with the more limited access views the calendar, they cannot view any events at all (including the ones they should have access to) and I get the follow in my log:
You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'HAVING (event_start >= '2007-07-01 00:00:00' AND event_start <= '2007-07-31 23:5' at line 1 query: SELECT DISTINCT(n.nid), n.uid, n.title, n.type, e.event_start, e.event_start AS event_start_orig, e.event_end, e.event_end AS event_end_orig, e.timezone, tz.offset AS offset, tz.offset_dst AS offset_dst, tz.dst_region, tz.is_dst, e.event_start - INTERVAL IF(tz.is_dst, tz.offset_dst, tz.offset) HOUR_SECOND AS event_start_utc, e.event_end - INTERVAL IF(tz.is_dst, tz.offset_dst, tz.offset) HOUR_SECOND AS event_end_utc, e.event_start - INTERVAL IF(tz.is_dst, tz.offset_dst, tz.offset) HOUR_SECOND + INTERVAL 0 SECOND AS event_start_user, e.event_end - INTERVAL IF(tz.is_dst, tz.offset_dst, tz.offset) HOUR_SECOND + INTERVAL 0 SECOND AS event_end_user, e.event_start - INTERVAL IF(tz.is_dst, tz.offset_dst, tz.offset) HOUR_SECOND + INTERVAL -18000 SECOND AS event_start_site, e.event_end - INTERVAL IF(tz.is_dst, tz.offset_dst, tz.offset) HOUR_SECOND + INTERVAL -18000 SECOND AS event_end_site, tz.name as timezone_name FROM node n INNER JOIN event e ON n.nid = e.nid INNER JOIN event_timezones tz ON tz.timezone = e.timezone INNER JOIN node_access na ON na.nid = n.nid WHERE (na.grant_view >= 1 AND ((na.gid = 0 AND na.realm = 'all') OR (na.gid = 2 AND na.realm = 'term_access'))) AND ( n.status = 1 AND ((e.event_start >= '2007-06-30 00:00:00' AND e.event_start <= '2007-08-01 23:59:59') OR (e.event_end >= '2007-06-30 00:00:00' AND e.event_end <= '2007-08-01 23:59:59') OR (e.event_start <= '2007-06-30 00:00:00' AND e.event_end >= '2007-08-01 23:59:59')) HAVING (event_start >= '2007-07-01 00:00:00' AND event_start <= '2007-07-31 23:59:59') OR (event_end >= '2007-07-01 00:00:00' AND event_end <= '2007-07-31 23:59:59') OR (event_start <= '2007-07-01 00:00:00' AND event_end >= '2007-07-31 23:59:59') ) ORDER BY event_start ASC in /var/www/html/drupal-5.1/includes/database.mysql.inc on line 172.

Comments

amessina’s picture

following up, i get this error for any user who does not have the "administer nodes" permission.

killes@www.drop.org’s picture

Status: Active » Fixed

upgrade to Drupal 5.2

Anonymous’s picture

Status: Fixed » Closed (fixed)