Hi all

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

CC

On Mon, Apr 12, 2010 at 4:21 PM, Tomas Lestach <tlest...@redhat.com> 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" <colin....@gmail.com> wrote:
>
> > OK, I think this patch is OK now.
> >
> > CC
> >
> > On Thu, Apr 8, 2010 at 9:10 PM, Colin Coe <colin....@gmail.com>
> > 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 <colin....@gmail.com>
> > 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
> > <jsher...@redhat.com> 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
> > >>>> Spacewalk-devel@redhat.com
> > >>>> 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
> > >>> Spacewalk-devel@redhat.com
> > >>> https://www.redhat.com/mailman/listinfo/spacewalk-devel
> > >>>
> > >>
> > >
> > >
> > >
> > > --
> > > RHCE#805007969328369
> > >
> >
> >
> >
> > --
> > RHCE#805007969328369
> >
> > _______________________________________________
> > Spacewalk-devel mailing list
> > Spacewalk-devel@redhat.com
> > https://www.redhat.com/mailman/listinfo/spacewalk-devel
>
> _______________________________________________
> Spacewalk-devel mailing list
> Spacewalk-devel@redhat.com
> https://www.redhat.com/mailman/listinfo/spacewalk-devel
>



-- 
RHCE#805007969328369
_______________________________________________
Spacewalk-devel mailing list
Spacewalk-devel@redhat.com
https://www.redhat.com/mailman/listinfo/spacewalk-devel

Reply via email to