Hmmm,

Why would I want it abstract?

Anyway, I put a qualifier in the root entity osType = 'All'

then the sql that was generated was:

DEBUG (ERXNSLogLog4jBridge.java:46) -  evaluateExpression: 
<com.webobjects.jdbcadaptor._MySQLPlugIn$MySQLExpression: "SELECT 
RTRIM(t0.alertString), t0.appConfigAndroidID, t0.appConfigBBID, 
t0.appConfigIOSID, t0.appConfigWinID, t0.appConfigWinPhoneID, t0.appID, 
t0.badge, RTRIM(t0.cronExpression), t0.dateCompleted, t0.dateCreated, 
t0.dateToPush, t0.id, RTRIM(t0.message), t0.notificationAlertAppleID, 
RTRIM(t0.osType), RTRIM(t0.sound), t0.status, RTRIM(t0.title) FROM Notification 
t0 WHERE (t0.osType = ? OR t0.osType = ? OR t0.osType = ? OR t0.osType = ? OR 
t0.osType = ? OR t0.osType = ?)" withBindings: 1:"ALL"(osType), 
2:"IOS"(osType), 3:"BB"(osType), 4:"ANDROID"(osType), 5:"WIN8PHONE"(osType), 
6:"WINDOWS"(osType)>


Which works!

You da man like always!

James


On Jan 26, 2013, at 6:48 PM, Chuck Hill <[email protected]> wrote:

> Sounds like the root entity is not abstract or does not have a restricting 
> qualifier.
> 
> On 2013-01-26, at 4:43 PM, James Cicenia wrote:
> 
>> OK -
>> 
>> This is the SQL that is generated for
>> 
>> NSArray<Notification> entries = 
>> Notification.fetchAllNotifications(session().defaultEditingContext());
>> 
>> Notice that is first searches all the subclasses then the final query with 
>> no osType qualifier. 
>> 
>> Doesn't make sense to me.
>> 
>> 
>> 
>> DEBUG (ERXNSLogLog4jBridge.java:46) -  === Begin Internal Transaction
>> DEBUG (ERXNSLogLog4jBridge.java:46) -  evaluateExpression: 
>> <com.webobjects.jdbcadaptor._MySQLPlugIn$MySQLExpression: "SELECT 
>> RTRIM(t0.alertString), t0.appConfigIOSID, t0.appID, t0.badge, 
>> RTRIM(t0.cronExpression), t0.dateCompleted, t0.dateCreated, t0.dateToPush, 
>> t0.id, RTRIM(t0.message), t0.notificationAlertAppleID, RTRIM(t0.osType), 
>> RTRIM(t0.sound), t0.status, RTRIM(t0.title) FROM Notification t0 WHERE 
>> t0.osType = ?" withBindings: 1:"IOS"(osType)>
>> DEBUG (ERXNSLogLog4jBridge.java:46) - 1 row(s) processed
>> DEBUG (ERXNSLogLog4jBridge.java:46) -  === Commit Internal Transaction
>> DEBUG (ERXNSLogLog4jBridge.java:46) -  === Begin Internal Transaction
>> DEBUG (ERXNSLogLog4jBridge.java:46) -  evaluateExpression: 
>> <com.webobjects.jdbcadaptor._MySQLPlugIn$MySQLExpression: "SELECT 
>> t0.appConfigBBID, t0.appID, RTRIM(t0.cronExpression), t0.dateCompleted, 
>> t0.dateCreated, t0.dateToPush, t0.id, RTRIM(t0.message), RTRIM(t0.osType), 
>> t0.status, RTRIM(t0.title) FROM Notification t0 WHERE t0.osType = ?" 
>> withBindings: 1:"BB"(osType)>
>> DEBUG (ERXNSLogLog4jBridge.java:46) - 0 row(s) processed
>> DEBUG (ERXNSLogLog4jBridge.java:46) -  === Commit Internal Transaction
>> DEBUG (ERXNSLogLog4jBridge.java:46) -  === Begin Internal Transaction
>> DEBUG (ERXNSLogLog4jBridge.java:46) -  evaluateExpression: 
>> <com.webobjects.jdbcadaptor._MySQLPlugIn$MySQLExpression: "SELECT 
>> t0.appConfigAndroidID, t0.appID, RTRIM(t0.cronExpression), t0.dateCompleted, 
>> t0.dateCreated, t0.dateToPush, t0.id, RTRIM(t0.message), RTRIM(t0.osType), 
>> t0.status, RTRIM(t0.title) FROM Notification t0 WHERE t0.osType = ?" 
>> withBindings: 1:"ANDROID"(osType)>
>> DEBUG (ERXNSLogLog4jBridge.java:46) - 0 row(s) processed
>> DEBUG (ERXNSLogLog4jBridge.java:46) -  === Commit Internal Transaction
>> DEBUG (ERXNSLogLog4jBridge.java:46) -  === Begin Internal Transaction
>> DEBUG (ERXNSLogLog4jBridge.java:46) -  evaluateExpression: 
>> <com.webobjects.jdbcadaptor._MySQLPlugIn$MySQLExpression: "SELECT 
>> t0.appConfigWinPhoneID, t0.appID, RTRIM(t0.cronExpression), 
>> t0.dateCompleted, t0.dateCreated, t0.dateToPush, t0.id, RTRIM(t0.message), 
>> RTRIM(t0.osType), t0.status, RTRIM(t0.title) FROM Notification t0 WHERE 
>> t0.osType = ?" withBindings: 1:"WIN8PHONE"(osType)>
>> DEBUG (ERXNSLogLog4jBridge.java:46) - 0 row(s) processed
>> DEBUG (ERXNSLogLog4jBridge.java:46) -  === Commit Internal Transaction
>> DEBUG (ERXNSLogLog4jBridge.java:46) -  === Begin Internal Transaction
>> DEBUG (ERXNSLogLog4jBridge.java:46) -  evaluateExpression: 
>> <com.webobjects.jdbcadaptor._MySQLPlugIn$MySQLExpression: "SELECT 
>> t0.appConfigWinID, t0.appID, RTRIM(t0.cronExpression), t0.dateCompleted, 
>> t0.dateCreated, t0.dateToPush, t0.id, RTRIM(t0.message), RTRIM(t0.osType), 
>> t0.status, RTRIM(t0.title) FROM Notification t0 WHERE t0.osType = ?" 
>> withBindings: 1:"WINDOWS"(osType)>
>> DEBUG (ERXNSLogLog4jBridge.java:46) - 0 row(s) processed
>> DEBUG (ERXNSLogLog4jBridge.java:46) -  === Commit Internal Transaction
>> DEBUG (ERXNSLogLog4jBridge.java:46) -  === Begin Internal Transaction
>> DEBUG (ERXNSLogLog4jBridge.java:46) -  evaluateExpression: 
>> <com.webobjects.jdbcadaptor._MySQLPlugIn$MySQLExpression: "SELECT t0.appID, 
>> RTRIM(t0.cronExpression), t0.dateCompleted, t0.dateCreated, t0.dateToPush, 
>> t0.id, RTRIM(t0.message), RTRIM(t0.osType), t0.status, RTRIM(t0.title) FROM 
>> Notification t0" withBindings: >
>> DEBUG (ERXNSLogLog4jBridge.java:46) - 1 row(s) processed
>> DEBUG (ERXNSLogLog4jBridge.java:46) -  === Commit Internal Transaction
>> 
>> On Jan 26, 2013, at 3:48 PM, Ken Anderson <[email protected]> wrote:
>> 
>>> James,
>>> 
>>> It would help to provide the definitions of the entities.  It all depends 
>>> on how you setup the restricting qualifiers and primary keys.  Do all 3 
>>> have the same associated table?  
>>> 
>>> Ken
>>> 
>>> On Jan 26, 2013, at 3:36 PM, James Cicenia <[email protected]> wrote:
>>> 
>>>> OK -
>>>> 
>>>> When I just the SQL...
>>>> 
>>>> It actually does three selects and not one.
>>>> It does a select for each of the children entities and then for the parent 
>>>> class.
>>>> 
>>>> Why? I am just asking or fetching the parentClass. Why does it want to 
>>>> also search by Qualifier of the subclasses?
>>>> 
>>>> Thanks
>>>> James
>>>> 
>>>> 
>>>> 
>>>> _______________________________________________
>>>> Do not post admin requests to the list. They will be ignored.
>>>> Webobjects-dev mailing list      ([email protected])
>>>> Help/Unsubscribe/Update your Subscription:
>>>> https://lists.apple.com/mailman/options/webobjects-dev/kenlists%40anderhome.com
>>>> 
>>>> This email sent to [email protected]
>>> 
>> 
>> _______________________________________________
>> Do not post admin requests to the list. They will be ignored.
>> Webobjects-dev mailing list      ([email protected])
>> Help/Unsubscribe/Update your Subscription:
>> https://lists.apple.com/mailman/options/webobjects-dev/chill%40global-village.net
>> 
>> This email sent to [email protected]
> 
> -- 
> 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/gvc/practical_webobjects
> 
> Global Village Consulting ranks 13th in 2012 in BIV's Top 100 Fastest Growing 
> Companies in B.C! 
> Global Village Consulting ranks 76th in 24th annual PROFIT 200 ranking of 
> Canada’s Fastest-Growing Companies by PROFIT Magazine!
> 
> 
> 
> 
> 
> 
> 
> 

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

This email sent to [email protected]

Reply via email to