inferType( lower, expr, upper ); builder.add( "(" ); addExpression( builder, lower, op.isMatchCase() ); builder.add( " <= " ); addExpression( builder, expr, op.isMatchCase() ); builder.add( " AND " ); addExpression( builder, expr, op.isMatchCase() ); builder.add( " <= " ); addExpression( builder, upper, op.isMatchCase() ); builder.add( ")" ); sqlOper = builder.toOperation(); inferType( param1, param2 ); SQLOperationBuilder builder = new SQLOperationBuilder( BOOLEAN ); addExpression( builder, param1, op.isMatchCase() ); builder.add( " = " ); addExpression( builder, param2, op.isMatchCase() ); sqlOper = builder.toOperation(); } else { SQLExpression param2 = toProtoSQL( propIsGT.getParameter2(), true ); inferType( param1, param2 ); addExpression( builder, param1, op.isMatchCase() ); builder.add( " > " ); addExpression( builder, param2, op.isMatchCase() ); sqlOper = builder.toOperation(); break; SQLExpression param2 = toProtoSQL( propIsGTOrEqualTo.getParameter2(), true );