On May 12, 2011, at 11:49 AM, Alexis Tual wrote:
> Le 12 mai 2011 à 19:33, Fred Wells a écrit :
>
>> Almost but the SQL that get generated isn't right, any one know a way around
>> this error?
>>
>> EvaluateExpression failed:
>> <com.webobjects.jdbcadaptor.MicrosoftPlugIn$MicrosoftExpression: "SELECT
>> DISTINCT t0.actualEndDate, t0.actualStartDate, t0.approvalOutput,
>> t0.childNbr, t0.description, t0.duration, t0.duration_days,
>> t0.duration_hours, t0.endDate, t0.fkParentTaskId, t0.fk_approval_user_id,
>> t0.fk_jobTemplate_id, t0.fk_job_id, t0.fk_phase_id, t0.fk_status_id,
>> t0.fk_taskType_id, t0.fk_workgroup_id, t0.idForTemplate, t0.isActive,
>> t0.name, t0.overdueNotified, t0.pkid, t0.startDate, t0.threshold,
>> t0.thresholdNotified, t0.threshold_days, t0.threshold_hours, t0.xCoordinate,
>> t0.yCoordinate FROM Task t0 WHERE (not ( EXISTS ( SELECT t1.pkid FROM Task
>> t1, UserTask T1 WHERE T1.taskPkid is not NULL AND t1.pkid = T1.taskPkid AND
>> t1.pkid = t0.pkid ) ) AND t0.fk_jobTemplate_id is NULL AND t0.isActive = ?
>> AND t0.fk_workgroup_id = ? AND (t0.fk_status_id = ? OR t0.fk_status_id = ?
>> OR t0.fk_status_id = ?))" withBindings: 1:"Y"(isActive),
>> 2:4(fk_workgroup_id), 3:4(fk_status_id), 4:5(fk_status_id),
>> 5:2(fk_status_id)>: Next exception:SQL State:S1000 -- error code: 1011 --
>> msg: The correlation name 'T1' is specified multiple times in a FROM clause
>>
>>
>> Here's my list of qualifiers:
>>
>> EOQualifier qA =
>> ERXQ.or(ERXQ.equals("status",Status.startedStatus(editingContext())),ERXQ.equals("status",Status.lateStatus(editingContext())),ERXQ.equals("status",Status.thresholdStatus(editingContext())));
>> EOQualifier qB = ERXQ.equals("workgroup", user.workgroup());
>> EOQualifier qC = ERXQ.equals("isActive", strY);
>> EOQualifier qD = ERXQ.isNull("jobTemplate");
>>
>> EOQualifier qE = ERXQ.not(new
>> ERXExistsQualifier(ERXQ.isNotNull("userTasks.taskPkid"), "pkid"));
>
> Hmm I guess you have Task ->> UserTask ... try something like that instead :
>
> EOQualifier qE = new ERXExistsQualifier(ERXQ.isNotNull(UserTask.ID_KEY),
> "userTasks");
>
> This qualifier should fetch all Tasks having some userTasks...the first
> argument in ERXExistsQualifier should be optional in this case, but it
> doesn't allow a null qualifier...
> You should test this first, then try it with your rather big qualifier. This
> single qualifier in a fspec "should" generate this SQL :
> SELECT ... FROM TASK t0 WHERE EXISTS (SELECT t1.ID FROM USER_TASK t1 WHERE
> t1.ID is not NULL AND t1.ID_TASK = t0.ID)
>
> However, I've done a quick test and it generates wrong SQL, something like :
> SELECT ... FROM TASK t0 WHERE EXISTS (SELECT t1.ID FROM USER_TASK t1 WHERE
> t1.ID is not NULL AND t1.ID = t0.ID)
>
> So, either i'm doing it wrong or there's a small bug in this qualifier
> (generates primary key column instead of foreign key), i've corrected it in
> my workspace.
>
> But i'm curious to hear from the others, is there someone else using this
> qualifier successfully ?
> It looks like a bug to me. I mix the Wonder and Houdah qualifiers, and I don't recall which one I have used for this in the past or where I used it. Chuck >> >> EOQualifier qual8 = ERXQ.and(qA,qB,qC,qD,qE); >> >> >> >> From: Alexis Tual <[email protected]> >> To: John Huss <[email protected]> >> Cc: Fred Wells <[email protected]>, >> [email protected] >> Date: 05/11/2011 05:22 PM >> Subject: Re: qualifier to check for empty toMany >> >> >> >> Hi, >> >> John is right, if you have A ->> B, this should work : >> >> EOQualifier qual = new ERXExistsQualifier( ERXQ.isNotNull(B.A_FK_KEY) , >> A.TO_BS_KEY); >> ERXFetchSpecification<A> spec = new ERXFetchSpecification<A>(A.ENTITY_NAME, >> qual, null); >> >> (not tested though) >> >> hope it helps >> >> Alex >> >> Le 12 mai 2011 à 00:00, John Huss a écrit : >> >> I think you can do this with ERXExistsQualifier and a Not qualifier. >> >> John >> >> On Wed, May 11, 2011 at 4:29 PM, Fred Wells <[email protected]> >> wrote: >> Hey all, >> Maybe I missed something but is there a way to construct a qualifier that >> check that a toMany relationship is empty? Simply putting in "toMany =%@, >> new NSArray(new Object[] {NSKeyValueCoding.NullValue}doesn't do it because >> it tries to check across the join table which results in no objects being >> found. >> >> -fw >> _______________________________________________ >> 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/alexis.tual%40gmail.com >> >> This email sent to [email protected] >> >> >> ------------------------------------------------------------------------ >> Disclaimer >> The information in this email and any attachments may contain proprietary >> and confidential information that is intended for the addressee(s) only. If >> you are not the intended recipient, you are hereby notified that any >> disclosure, copying, distribution, retention or use of the contents of this >> information is prohibited. When addressed to our clients or vendors, any >> information contained in this e-mail or any attachments is subject to the >> terms and conditions in any governing contract. If you have received this >> e-mail in error, please immediately contact the sender and delete the e-mail. > > _______________________________________________ > 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/chill%40global-village.net > > This email sent to [email protected] -- Chuck Hill Senior Consultant / VP Development Come to WOWODC this July for unparalleled WO learning opportunities and real peer to peer problem solving! Network, socialize, and enjoy a great cosmopolitan city. See you there! http://www.wocommunity.org/wowodc11/
smime.p7s
Description: S/MIME cryptographic signature
_______________________________________________ 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]
