ComparisonPredicate.java 文件源码

java
阅读 22 收藏 0 点赞 0 评论 0

项目:graphflow 作者:
/**
 * See {@link QueryPredicate#validateTypes()}.
 */
@Override
public void validateTypes() {
    Pair<Short, DataType> leftOperandKeyAndDataType = getKeyAndDataTypePair(leftOperand.b);
    if (PredicateType.COMPARATIVE_CLAUSE_TWO_PROPERTY_KEY_OPERANDS == predicateType) {
        Pair<Short, DataType> rightOperandKeyAndDataType = getKeyAndDataTypePair(
            rightOperand.b);
        if ((!isNumeric(leftOperandKeyAndDataType.b) || !isNumeric(rightOperandKeyAndDataType.
            b)) && leftOperandKeyAndDataType.b != rightOperandKeyAndDataType.b) {
            throw new IncorrectDataTypeException("DataType Mismatch - The left operand " +
                leftOperand.a + "." + leftOperand.b + " is of data type " +
                leftOperandKeyAndDataType.b + " and the right operand " + rightOperand.a + "." +
                rightOperand.b + " is of data type " + rightOperandKeyAndDataType.b + ".");
        }
    } else {
        DataType.assertValueCanBeCastToDataType(leftOperandKeyAndDataType.b, literal);
    }
}
评论列表
文章目录


问题


面经


文章

微信
公众号

扫码关注公众号