[rt-users] error in your SQL syntax

Jason Long jlong at messiah.edu
Thu Jun 12 09:50:49 EDT 2008


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



More information about the rt-users mailing list