Re: Fetching rows with a specific range

Aaron Rosenzweig <[email protected]>
Newsgroups gmane.comp.web.webobjects.wonder-disc
Message-ID <[email protected]>
Hi WOrriors,

The "SQLHelpers" allow you to randomly pull a handful of records out  
of a result set. It is up to you to look at them and be sure they are  
deterministic. I remember the Oracle one that came with wonder was not  
deterministic but I was not allowed to give back the fix to the  
community when I worked at clinworX.

It's not so hard. Spend a few days learning about the nuances of your  
Database and either fix the Wonder SQL helper or make a new one.... or  
at least confirm. I did confirm the Frontbase one is spot on correct.

WOnder has sql helpers for most databases.

See "ERXEOControlUtilities.objectsInRange()" methods. They internally  
use the sql helpers to do their magic.

Also see the "ERXBatchingDisplayGroup" as it, too, uses the sql helpers.

Of course, for simple "first 10" results just use an ordered fetchspec  
with a fetch limit. But for random grabs, the sql helper does it.

Cheers,
-- Aaron

On Dec 20, 2012, at 3:21 PM, Kieran Kelleher wrote:

> Hi Ryan,
>
> To get FetchSpec fetchLimit to generate SQL that limits the number  
> of rows returned from the database you need to have three conditions  
> (IIRC):
>
> (1) You must use ERXFetchSpecification subclass
> (2) Your database PlugIn must support it (MySQL does, PostgreSQL  
> does, not sure about the others)
> (3) promptsAfterFetchLimit should be false, which is its default  
> anyway
>
> Also, ERXFetchSpecification supported a fetchRange which is a  
> similar feature that generates the correct LIMIT statement in MySQL  
> for example - I don't know if any other db Plugins support fetchRange.
>
> HTH,
>
> Kieran
>
> On Dec 19, 2012, at 9:16 AM, Maik Musall <[email protected]> wrote:
>
>> Hi Ryan,
>>
>> have you tried
>>
>> EOFetchSpecification fspec = ...
>> fspec.setFetchLimit( 10 );
>>
>> using an EOSortOrdering? That should let the database pre-sort the  
>> result and stop after 10 rows returned.
>>
>> Maik
>>
>>
>>
>> Am 19.12.2012 um 14:38 schrieb Y. Dong  
>> <[email protected]>:
>>
>>> Hi there,
>>>
>>> I would do something like SELECT * FROM  ( SELECT * FROM Articles  
>>> ORDER BY createdTime) WHERE ROWNUM<=10;
>>>
>>> Semantically it means please give me the oldest 10 articles by  
>>> createdTime. Any idea how to express this in terms of webobjects.  
>>> ERXFetchSpecification alone doesn't seem adequate.
>>>
>>> Thanks
>>>
>>> Ryan
>>> ------------------------------------------------------------------------------
>>> LogMeIn Rescue: Anywhere, Anytime Remote support for IT. Free Trial
>>> Remotely access PCs and mobile devices and provide instant support
>>> Improve your efficiency, and focus on delivering more value-add  
>>> services
>>> Discover what IT Professionals Know. Rescue delivers
>>> http://p.sf.net/sfu/logmein_12329d2d
>>> _______________________________________________
>>> Wonder-disc mailing list
>>> [email protected]
>>> https://lists.sourceforge.net/lists/listinfo/wonder-disc
>>
>>
>> ------------------------------------------------------------------------------
>> LogMeIn Rescue: Anywhere, Anytime Remote support for IT. Free Trial
>> Remotely access PCs and mobile devices and provide instant support
>> Improve your efficiency, and focus on delivering more value-add  
>> services
>> Discover what IT Professionals Know. Rescue delivers
>> http://p.sf.net/sfu/logmein_12329d2d
>> _______________________________________________
>> Wonder-disc mailing list
>> [email protected]
>> https://lists.sourceforge.net/lists/listinfo/wonder-disc
>
>
> ------------------------------------------------------------------------------
> LogMeIn Rescue: Anywhere, Anytime Remote support for IT. Free Trial
> Remotely access PCs and mobile devices and provide instant support
> Improve your efficiency, and focus on delivering more value-add  
> services
> Discover what IT Professionals Know. Rescue delivers
> http://p.sf.net/sfu/logmein_12329d2d
> _______________________________________________
> Wonder-disc mailing list
> [email protected]
> https://lists.sourceforge.net/lists/listinfo/wonder-disc


------------------------------------------------------------------------------
LogMeIn Rescue: Anywhere, Anytime Remote support for IT. Free Trial
Remotely access PCs and mobile devices and provide instant support
Improve your efficiency, and focus on delivering more value-add services
Discover what IT Professionals Know. Rescue delivers
http://p.sf.net/sfu/logmein_12329d2d
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.