• Open Menu Close Menu
  • Apple
  • Shopping Bag
  • Apple
  • Mac
  • iPad
  • iPhone
  • Watch
  • TV
  • Music
  • Support
  • Search apple.com
  • Shopping Bag

Lists

Open Menu Close Menu
  • Terms and Conditions
  • Lists hosted on this site
  • Email the Postmaster
  • Tips for posting to public mailing lists
Re: FetchSpec setFetchLimit??
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: FetchSpec setFetchLimit??


  • Subject: Re: FetchSpec setFetchLimit??
  • From: Kieran Kelleher <email@hidden>
  • Date: Mon, 2 Mar 2009 19:26:36 -0500

Hi Chuck,

I was half-expecting this outcome, especially after examining how the different SQLHelpers implement limitSqlExpression method. I am tempted to implement an ERXSpec subclass though to auto limit for databases with supported ERXSqlHelpers ...... it just seems like the right default behaviour to have....

Thanks, Kieran

On Mar 2, 2009, at 6:43 PM, Chuck Hill wrote:


On Mar 2, 2009, at 1:42 PM, Kieran Kelleher wrote:

I always thought that EOFetchSpecification.setFetchLimit( int n) would generate SQL with LIMIT n tacked onto the end of the SQL statement, but it appears not to.

This is the default behavior as not all databases implement this. Specific plugins add this, IIRC.


Chuck


Instead it fetches the all qualifying records and does the LIMIT in memory?! Has this always been the case .... or is it just the MySQL driver?

For example:

<snip>
// Fetch the most recent shipped message
ERXSortOrderings s = CTMessage.XKEY_OID.descs();

ERXFetchSpecification<CTMessage> fs = new ERXFetchSpecification<CTMessage>(CTMessage.ENTITY_NAME,null,s);

fs.setFetchLimit(1);

System.out.println("MailingAddressUtilitiesTests.suppressionTest(): fs.SQL = " + ERXEOAccessUtilities.sqlForFetchSpecification(ec, fs));

NSArray<CTMessage> objects = fs.fetchObjects(ec);
</snip>


..... generates the following SQL without "LIMIT 1" !!!

SELECT t0.oid, t0.oidcampaign, t0.oiddatarecord, t0.oidjob, t0.oidlocation, t0.oidmediatemplate, t0.recaddtime, t0.recadduser, t0.recmodtime, t0.recmoduser, RTRIM(t0.workflowstate) FROM message t0 ORDER BY t0.oid DESC;
_______________________________________________
Do not post admin requests to the list. They will be ignored.
Webobjects-dev mailing list (email@hidden)
Help/Unsubscribe/Update your Subscription:

This email sent to email@hidden


-- Chuck Hill Senior Consultant / VP Development

Practical WebObjects - for developers who want to increase their overall knowledge of WebObjects or who are trying to solve specific problems.
http://www.global-village.net/products/practical_webobjects








_______________________________________________ Do not post admin requests to the list. They will be ignored. Webobjects-dev mailing list (email@hidden) Help/Unsubscribe/Update your Subscription: This email sent to email@hidden
  • Follow-Ups:
    • Re: FetchSpec setFetchLimit??
      • From: Chuck Hill <email@hidden>
References: 
 >FetchSpec setFetchLimit?? (From: Kieran Kelleher <email@hidden>)
 >Re: FetchSpec setFetchLimit?? (From: Chuck Hill <email@hidden>)

  • Prev by Date: Re: Memory Management
  • Next by Date: Re: Memory Management
  • Previous by thread: Re: FetchSpec setFetchLimit??
  • Next by thread: Re: FetchSpec setFetchLimit??
  • Index(es):
    • Date
    • Thread