Re: Proposal: QuerySet.exists() method

2007-07-15 Thread Tai Lee
I'm also +1 __nonezero__ -1 .exists(). Using .count() already gives us the required functionality and makes logical sense, the only question then is how big of a performance gain do we get by using SELECT 1 LIMIT 1. SELECT 1 FROM [table] LIMIT 1 also feels kinda hackish to me, and I'm guessing

Re: Proposal: QuerySet.exists() method

2007-07-14 Thread Honza Král
On 7/14/07, Malcolm Tredinnick <[EMAIL PROTECTED]> wrote: > > On Fri, 2007-07-13 at 16:22 -0500, Adrian Holovaty wrote: > > I'd like to add a QuerySet.exists() method, which would return True or > > False if the given QuerySet contains at least one record. This would > > be more efficient than

Re: Proposal: QuerySet.exists() method

2007-07-14 Thread David Larlet
2007/7/14, Gary Wilson <[EMAIL PROTECTED]>: > > James Bennett wrote: > > On 7/13/07, Adrian Holovaty <[EMAIL PROTECTED]> wrote: > >> I'm biased, because I have an immediate need for this in a project, > >> but this seems general and useful enough for inclusion in QuerySet. > > > > Implementing

Re: Proposal: QuerySet.exists() method

2007-07-13 Thread Gary Wilson
James Bennett wrote: > On 7/13/07, Adrian Holovaty <[EMAIL PROTECTED]> wrote: >> I'm biased, because I have an immediate need for this in a project, >> but this seems general and useful enough for inclusion in QuerySet. > > Implementing the check in __nonzero__ and having people test by doing >

Re: Proposal: QuerySet.exists() method

2007-07-13 Thread Leo Soto M.
On 7/13/07, Malcolm Tredinnick <[EMAIL PROTECTED]> wrote: [...] > Due to Oracle inclusion, this has to be > > select count(*) from [table] where [...] > > and then check that the result is > 0, at least in the Oracle backend > (no "limit" extension in Oracle). The problem being that

Re: Proposal: QuerySet.exists() method

2007-07-13 Thread Malcolm Tredinnick
On Fri, 2007-07-13 at 21:56 -0600, Ian Kelly wrote: > > By the way, for all database backends except SQLite, you can implement > > all of this sort of stuff (including exists and __len__) fairly fast > > using cursor.rowcount (the number of rows in the result set). > > Unfortunately, SQLite

Re: Proposal: QuerySet.exists() method

2007-07-13 Thread Ian Kelly
> By the way, for all database backends except SQLite, you can implement > all of this sort of stuff (including exists and __len__) fairly fast > using cursor.rowcount (the number of rows in the result set). > Unfortunately, SQLite always returns -1 for rowcount. I'm building a few > of those

Re: Proposal: QuerySet.exists() method

2007-07-13 Thread Malcolm Tredinnick
On Fri, 2007-07-13 at 16:22 -0500, Adrian Holovaty wrote: > I'd like to add a QuerySet.exists() method, which would return True or > False if the given QuerySet contains at least one record. This would > be more efficient than qs.count() or len(qs) because it would perform > the following SQL

Re: Proposal: QuerySet.exists() method

2007-07-13 Thread James Bennett
On 7/13/07, Adrian Holovaty <[EMAIL PROTECTED]> wrote: > I'm biased, because I have an immediate need for this in a project, > but this seems general and useful enough for inclusion in QuerySet. Implementing the check in __nonzero__ and having people test by doing 'if some_queryset' or 'if not

Re: Proposal: QuerySet.exists() method

2007-07-13 Thread Michael Trier
+1 on both. I was needing this just the other day. Michael On 7/13/07, Brian Harring <[EMAIL PROTECTED]> wrote: > > On 7/13/07, Adrian Holovaty <[EMAIL PROTECTED]> wrote: > > On 7/13/07, SmileyChris <[EMAIL PROTECTED]> wrote: > > > Adrian, I think it's useful enough. But why do you need a

Re: Proposal: QuerySet.exists() method

2007-07-13 Thread Brian Harring
On 7/13/07, Adrian Holovaty <[EMAIL PROTECTED]> wrote: > On 7/13/07, SmileyChris <[EMAIL PROTECTED]> wrote: > > Adrian, I think it's useful enough. But why do you need a .exists() if > > we could just use __nonzero__ (like Ivan suggested)? > > I hadn't thought of that! Yes, we should definitely

Re: Proposal: QuerySet.exists() method

2007-07-13 Thread Jacob Kaplan-Moss
On 7/13/07, Adrian Holovaty <[EMAIL PROTECTED]> wrote: > Yes, we should definitely implement a > QuerySet.__nonzero__() method. However, I'd like there to be an > explicit method (named either exists() or any() or whatever), because [snip] Agreed -- I'm +0 on .exists() and __nonzero__() being an

Re: Proposal: QuerySet.exists() method

2007-07-13 Thread Adrian Holovaty
On 7/13/07, SmileyChris <[EMAIL PROTECTED]> wrote: > Adrian, I think it's useful enough. But why do you need a .exists() if > we could just use __nonzero__ (like Ivan suggested)? I hadn't thought of that! Yes, we should definitely implement a QuerySet.__nonzero__() method. However, I'd like

Re: Proposal: QuerySet.exists() method

2007-07-13 Thread SmileyChris
On Jul 14, 9:55 am, Ivan Sagalaev <[EMAIL PROTECTED]> wrote: > Adrian Holovaty wrote: > > I'd like to add a QuerySet.exists() method, which would return True or > > False if the given QuerySet contains at least one record. This would > > be more efficient than qs.count() or len(qs) because it

Re: Proposal: QuerySet.exists() method

2007-07-13 Thread Ivan Sagalaev
Adrian Holovaty wrote: > I'd like to add a QuerySet.exists() method, which would return True or > False if the given QuerySet contains at least one record. This would > be more efficient than qs.count() or len(qs) because it would perform > the following SQL under the hood: > > SELECT 1 FROM

Re: Proposal: QuerySet.exists() method

2007-07-13 Thread Deryck Hodge
On 7/13/07, Adrian Holovaty <[EMAIL PROTECTED]> wrote: > > I'd like to add a QuerySet.exists() method, which would return True or > False if the given QuerySet contains at least one record. This would > be more efficient than qs.count() or len(qs) because it would perform > the following SQL

Re: Proposal: QuerySet.exists() method

2007-07-13 Thread Tom Tobin
On 7/13/07, Tom Tobin <[EMAIL PROTECTED]> wrote: > +0; seems like a reasonable addition. I wonder of "any" might be a > better method name (along the lines of the Python 2.5 built-in > function), but either name would be fine IMHO. Err, I wonder *if*. ::sigh:: :-)

Re: Proposal: QuerySet.exists() method

2007-07-13 Thread Tom Tobin
On 7/13/07, Adrian Holovaty <[EMAIL PROTECTED]> wrote: > > I'd like to add a QuerySet.exists() method, which would return True or > False if the given QuerySet contains at least one record. This would > be more efficient than qs.count() or len(qs) because it would perform > the following SQL

Proposal: QuerySet.exists() method

2007-07-13 Thread Adrian Holovaty
I'd like to add a QuerySet.exists() method, which would return True or False if the given QuerySet contains at least one record. This would be more efficient than qs.count() or len(qs) because it would perform the following SQL under the hood: SELECT 1 FROM [table] WHERE [where] LIMIT 1;