From: Kieran K. <kie...@ma...> - 2009-03-02 22:37:50
|
//Switching to Wonder list now since all enhancements come from there ..... I guess this unexpected FS behaviour is why we have start/end params in useful methods like: ERXSqlHelper.sqlExpressionForFetchSpecification(EOEditingContext ec, EOFetchSpecification spec, long start, long end) ? Would it ever make sense to automatically incorporate limiting into ERXFetchSpecification based on the value of fetchLimit(), or is it just something that does not make sense? Kieran On Mar 2, 2009, at 4: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. 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 (Web...@li...) > Help/Unsubscribe/Update your Subscription: > http://lists.apple.com/mailman/options/webobjects-dev/kieran_lists%40mac.com > > This email sent to kie...@ma... |