Hi There,

So I have been using nested criterion as described below in the 
Peers-howto document:

select * from abc where (a < 1 and b > 2) or (  a > 5  and b < 3)

 Criteria crit = new Criteria();
Criteria.Criterion a1 = crit.getNewCriterion(ABC.A, 1,
Criteria.LESS_THAN);
Criteria.Criterion b2 = crit.getNewCriterion(ABC.B, 2,
Criteria.GREATER_THAN);
Criteria.Criterion a5 = crit.getNewCriterion(ABC.A, 5,
Criteria.GREATER_THAN);
Criteria.Criterion b3 = crit.getNewCriterion(ABC.B, 3,
Criteria.LESS_THAN);

crit.add( a1.and(b2).or(a5.and(b3)) );

However the current Criteria and Criterion code do not seem to support 
this.  In fact the result of the above operation is:

(a<1 or (a<5 and (b< 3 and b< 2)))

I find someone else with a similar problem in the turbine mailing list:

http://nagoya.apache.org:8080/eyebrowse/ReadMsg?[EMAIL PROTECTED]&msgId=75229

which I am dismayed to see has no responses to it.

It may be that this problem has been fixed in a more recent version of 
the code - I am using torque-3.0-b2-dev
but it seems that the way that "and" and "or" are handled in Criterion 
will just not allow statements like

(a < 1 and b > 2) or (  a > 5  and b < 3)

My apologies if I'm overlooking something straightforward, but it seems 
like Criterion should change to have either an "or" attachment or an 
"and" attachment.  With each criterion potentially having both "or" and 
"and" attachments it seems there is outstanding vagueness about 
precedence.  I'm very keen to use this functionality so I may well try 
and implement this change, but I would like some input on whether I am 
overlooking something.

Partly to this end I have created IRC groups entitle #torque and 
#torque-user on share.whichever.com 6667 which appears to be the irc 
server used by turbine people.  I'll be monitoring those chat rooms 
whenever I can so if you would like to discuss these and other issues in 
real time, please join me there.

CHEERS> SAM

 




--
To unsubscribe, e-mail:   <mailto:[EMAIL PROTECTED]>
For additional commands, e-mail: <mailto:[EMAIL PROTECTED]>

Reply via email to