/* (non-Javadoc)
* @see org.datanucleus.query.evaluator.AbstractExpressionEvaluator#processSubExpression(org.datanucleus.query.expression.Expression)
*/
protected Object processSubExpression(Expression expr)
{
SQLExpression right = stack.pop();
SQLExpression left = stack.pop();
if (left instanceof ParameterLiteral && !(right instanceof ParameterLiteral))
{
left = replaceParameterLiteral((ParameterLiteral)left, right.getJavaTypeMapping());
}
else if (right instanceof ParameterLiteral && !(left instanceof ParameterLiteral))
{
right = replaceParameterLiteral((ParameterLiteral)right, left.getJavaTypeMapping());
}
SQLExpression resultExpr = left.sub(right);
stack.push(resultExpr);
return resultExpr;
}