Error in your SQL syntax


#1

My rt.log file has the following error,

[Thu Jun 12 02:30:17 2008] [warning]: DBD::mysql::st execute failed: 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 ‘AND ACL.PrincipalType
= Groups.Type AND ((ACL.ObjectType = ‘RT::System’ AND ACL’ at line 1 at
/usr/lib/perl5/site_perl/5.8.8/DBIx/SearchBuilder/Handle.pm line 505.
(/usr/lib/perl5/site_perl/5.8.8/DBIx/SearchBuilder/Handle.pm:505)
[Thu Jun 12 02:30:17 2008] [warning]: RT::Handle=HASH(0xb996b418) couldn’t
execute the query 'SELECT ACL.id FROM ACL, Groups, Principals,
CachedGroupMembers WHERE (ACL.RightName = ‘SuperUser’ OR ACL.RightName =
‘CreateTicket’) AND Principals.Disabled = 0 AND CachedGroupMembers.Disabled
= 0 AND Principals.id = Groups.id AND Principals.PrincipalType = ‘Group’ AND
Principals.id = CachedGroupMembers.GroupId AND CachedGroupMembers.MemberId =
AND ACL.PrincipalType = Groups.Type AND ((ACL.ObjectType = 'RT::System’
AND ACL.ObjectId = 1) OR (ACL.ObjectType = ‘RT::Queue’ AND ACL.ObjectId =
6)) AND Groups.Domain = ‘RT::Queue-Role’ AND Groups.Instance = ‘6’ LIMIT 1’
at /usr/lib/perl5/site_perl/5.8.8/DBIx/SearchBuilder/Handle.pm line 518

If you look closely at the quoted SQL statement, you see a clause like
this:

… AND CachedGroupMembers.MemberId = AND ACL.PrincipalType = Groups.Type
AND …

So yeah, that’s an error.

The error was logged when someone tried to create a ticket through the
email interface. RT choked and said they didn’t have permission to create a
ticket, even though I have “Everyone” is granted the “CreateTicket” right in
all queues.

Unfortunately, I haven’t been able to replicate the error. Every time I
send an email from a new address, RT happily creates the ticket.

So if anyone knows what’s wrong, let me know… otherwise, I’ll keep
looking.
(FYI, this is RT 3.6.6.)

Jason


#2

(follow-up)

fyi, I looked at the stack trace, and there is a
lib/RT/Interface/Email/Filter/TakeAction.pm module in the stack trace. This
module is not bundled with RT 3.6.6 so my problem may be there.
Jason