On Mar 7, 2006, at 9:02 AM, Marcos Trejo Munguia wrote:

   I am trying to make a fetch using custom SQL, I tried with CustomQueryExpressionHintKey, but I also needed to return raw rows instead of complete Enterprise Objects, the thing is that it looks like if I use raw rows my custom SQL is ignored. Here is the code:

            EOFetchSpecification fs = new EOFetchSpecification("Inventory", null, null, false, false, null);
fs.setHints(new NSDictionary("SELECT t0.productid, t0.qty FROM public.inventory t0 WHERE t0.productid IN(1, 2, 3, 4, 5, 6)", "CustomQueryExpressionHintKey");
fs.setRawRowKeyPaths(new NSArray(new String[] {"productid", "qty"}));
fs.setRefreshesRefetchedObjects(true);
NSArray inventory = ec.objectsWithFetchSpecification(fs);

Logged SQL:

SELECT t0.productid, t0.qty FROM public.inventory

as you can see my SQL was ignored.


Am I doing something wrong?, or the CustomQueryExpressionHintKey is only intended to fetch complete EO's?

I don't know the answer.  However, when one sets the SQL string in setHints() and then specifies the raw row key paths, which takes precedence since you could list different key paths than are specified in the SQL string?  If you're fetching raw rows, can the object snapshots be refreshed?  Without all class properties being fetched, I can't see how the snapshots could be refreshed, so what does setRefreshesRefetchedObjects() really do in this situation.

Instead, I'd try EOUtilities.rawRowsForSQL().

Aloha,
Art

 _______________________________________________
Do not post admin requests to the list. They will be ignored.
Webobjects-dev mailing list      ([email protected])
Help/Unsubscribe/Update your Subscription:
http://lists.apple.com/mailman/options/webobjects-dev/archive%40mail-archive.com

This email sent to [email protected]

Reply via email to