public boolean eval()

in wayang-api/wayang-api-sql/src/main/java/org/apache/wayang/api/sql/calcite/converter/WayangFilterVisitor.java [103:130]


        public boolean eval(Record record, SqlKind kind, RexNode leftOperand, RexNode rightOperand) {

            if(leftOperand instanceof RexInputRef && rightOperand instanceof RexLiteral) {
                RexInputRef rexInputRef = (RexInputRef)leftOperand;
                int index = rexInputRef.getIndex();
                Object field = record.getField(index);
                RexLiteral rexLiteral = (RexLiteral) rightOperand;
                switch (kind) {
                    case GREATER_THAN:
                        return isGreaterThan(field, rexLiteral);
                    case LESS_THAN:
                        return isLessThan(field, rexLiteral);
                    case EQUALS:
                        return isEqualTo(field, rexLiteral);
                    case GREATER_THAN_OR_EQUAL:
                        return isGreaterThan(field, rexLiteral) || isEqualTo(field, rexLiteral);
                    case LESS_THAN_OR_EQUAL:
                        return isLessThan(field, rexLiteral) || isEqualTo(field, rexLiteral);
                    default:
                        throw new IllegalStateException("Predicate not supported yet");

                }

            } else {
                throw new IllegalStateException("Predicate not supported yet");
            }

        }