[rt-users] Re: query problem after 3.4.5 -> 3.6.4 upgrade
Brian Kerr
kerrboy at gmail.com
Tue Jul 24 17:57:00 EDT 2007
On 7/24/07, Ruslan Zakirov <ruz at bestpractical.com> wrote:
> > Here is what the query looks like when formed in the 3.4.5 query
> > builder. It returns results in less than a second.
> But as far as I can see the query below returns wrong results and
> that's exactly what we've fixed.
> The following query finds tickets where requestor's address has 'tom'
> substring *and* owner is tom. So it doesn't match the condition you
> build.
Makes sense. You are right that query isn't right in 3.4.5, I didn't see that.
Changing the 3.4.5 mysql query to use OR instead of AND works fine. I
think that cross join is killing us in 3.6.4.
>
> >
> > SELECT COUNT(DISTINCT main.id) FROM (((Tickets main JOIN Groups
> > Groups_1 ON ( Groups_1.Instance = main.id)) LEFT JOIN
> > CachedGroupMembers CachedGroupMembers_2 ON (
> > CachedGroupMembers_2.GroupId = Groups_1.id) AND (
> > (CachedGroupMembers_2.GroupId != CachedGroupMembers_2.MemberId)))
> > LEFT JOIN Users Users_3 ON ( Users_3.id =
> > CachedGroupMembers_2.MemberId)) WHERE ((Groups_1.Domain =
> > 'RT::Ticket-Role')) AND ((Groups_1.Type = 'Requestor')) AND
> > ((main.EffectiveId = main.id)) AND ((main.Status != 'deleted')) AND
> > ((main.Type = 'ticket')) AND ( ( (main.Owner = '58936') ) AND (
> > (Users_3.EmailAddress LIKE '%tom%') ) )
More information about the rt-users
mailing list