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