----- "Colin Coe" <[email protected]> wrote:

> Hi all
> 
> I've just commited '9870a978d31f2f704385daa69c4177c89391b239' which
> changes the selects from nested to inner joins.

Thanks Colin!

--
Tomas Lestach
RHN Satellite Engineering, Red Hat

> 
> CC
> 
> 
> On Mon, Apr 12, 2010 at 4:21 PM, Tomas Lestach < [email protected] >
> wrote:
> 
> 
> Hey Colin,
> 
> why don't you just list all the data you need in the SELECT section
> and the tables that are necessary for the select in the FROM section?
> 
> What I mean is to write:
> 
> SELECT DISTINCT C.id,
> C.name,
> C.parent_channel AS parent_id,
> C.label AS channel_label,
> (SELECT COUNT(P.package_id)
> FROM rhnChannelPackage P
> WHERE P.channel_id = C.id
> ) AS package_count,
> CA.name AS arch_name
> FROM rhnChannel C
> inner join rhnChannelArch CA ON CA.ID = C.channel_arch_id
> inner join rhnUserChannel UC ON UC.channel_id = C.id
> left join rhnChannel C2 ON C2.parent_channel = C.id
> WHERE UC.user_id = :user_id AND
> (C.org_id = :org_id OR ( C2.id IS NOT NULL AND C2.org_id = :org_id ))
> 
> 
> instead of:
> 
> select Distinct C.id,
> C.name,
> C.parent_channel as parent_id,
> C.label as channel_label,
> (SELECT COUNT(P.package_id)
> FROM rhnChannelPackage P
> WHERE P.channel_id = C.id
> ) AS package_count,
> (select CA.name from rhnChannelArch CA where CA.ID =
> C.channel_arch_id) arch_name
> from rhnChannel C inner join
> rhnUserChannel UC on UC.channel_id = C.id left join
> rhnChannel C2 on C2.parent_channel = C.id
> where UC.user_id = :user_id AND
> (C.org_id = :org_id or ( C2.id is not null AND C2.org_id = :org_id ))
> 
> 
> 
> Regards,
> Tomas
> 
> --
> Tomas Lestach
> RHN Satellite Engineering, Red Hat
> 
> 
> 
> 
> ----- "Colin Coe" < [email protected] > wrote:
> 
> > OK, I think this patch is OK now.
> >
> > CC
> >
> > On Thu, Apr 8, 2010 at 9:10 PM, Colin Coe < [email protected] >
> > wrote:
> > > Hi Justin
> > >
> > > Is this a bit better? http://fpaste.org/LJwb/
> > >
> > > Thanks
> > >
> > > CC
> > >
> > >
> > >
> > > On Thu, Apr 8, 2010 at 5:49 AM, Colin Coe < [email protected] >
> > wrote:
> > >> Hi Justin
> > >>
> > >> Thanks for the feedback. I'll have another look at this and
> > re-submit.
> > >>
> > >> CC
> > >>
> > >> On Thu, Apr 8, 2010 at 1:21 AM, Justin Sherrill
> > < [email protected] > wrote:
> > >>> On 4/6/10 9:55 AM, Colin Coe wrote:
> > >>>> Hi all
> > >>>>
> > >>>> As per the API Addition page, I've added 'arch' to the
> > >>>> channel.list*Channels API calls.
> > >>>>
> > >>>> Comments/criticisms welcome
> > >>>>
> > >>>> CC
> > >>>>
> > >>>>
> > >>>>
> > >>>>
> > >>>> _______________________________________________
> > >>>> Spacewalk-devel mailing list
> > >>>> [email protected]
> > >>>> https://www.redhat.com/mailman/listinfo/spacewalk-devel
> > >>> Hey Colin,
> > >>>
> > >>> Having it do the lookups of package Arch in the Serializer
> really
> > isn't
> > >>> the right way to do it as Serializers are just meant to
> translate
> > the
> > >>> existing data.
> > >>>
> > >>> I would either add joins to rhnChannelArch to get the label in
> > each of
> > >>> the queries or write a elaborator that just gets the channel
> arch
> > and
> > >>> make each of those queries use the elaborator.
> > >>>
> > >>> Thanks,
> > >>>
> > >>> -Justin
> > >>>
> > >>>
> > >>> --
> > >>> Justin Sherrill, RHCA 1801 Varsity Drive.
> > >>> Software Engineer Raleigh, NC 27603
> > >>> Red Hat, Inc.
> > >>>
> > >>> _______________________________________________
> > >>> Spacewalk-devel mailing list
> > >>> [email protected]
> > >>> https://www.redhat.com/mailman/listinfo/spacewalk-devel
> > >>>
> > >>
> > >
> > >
> > >
> > > --
> > > RHCE#805007969328369
> > >
> >
> >
> >
> > --
> > RHCE#805007969328369
> >
> > _______________________________________________
> > Spacewalk-devel mailing list
> > [email protected]
> > https://www.redhat.com/mailman/listinfo/spacewalk-devel
> 
> _______________________________________________
> Spacewalk-devel mailing list
> [email protected]
> https://www.redhat.com/mailman/listinfo/spacewalk-devel
> 
> 
> --
> RHCE#805007969328369
> 
> _______________________________________________
> Spacewalk-devel mailing list
> [email protected]
> https://www.redhat.com/mailman/listinfo/spacewalk-devel

_______________________________________________
Spacewalk-devel mailing list
[email protected]
https://www.redhat.com/mailman/listinfo/spacewalk-devel

Reply via email to