Esempio n. 1
0
 /** Binary boolean expression in executable SQL statement */
 public Integer execBoolBinarySql(HplsqlParser.Bool_expr_binaryContext ctx) {
   StringBuilder sql = new StringBuilder();
   sql.append(evalPop(ctx.expr(0)).toString());
   sql.append(" " + exec.getFormattedText(ctx.bool_expr_binary_operator()) + " ");
   sql.append(evalPop(ctx.expr(1)).toString());
   exec.stackPush(sql);
   return 0;
 }
Esempio n. 2
0
 /** Comparison operator */
 public void operatorCompare(
     HplsqlParser.Bool_expr_binaryContext ctx, HplsqlParser.Bool_expr_binary_operatorContext op) {
   Var v1 = evalPop(ctx.expr(0));
   Var v2 = evalPop(ctx.expr(1));
   int cmp = v1.compareTo(v2);
   boolean bool = false;
   if (op.T_GREATER() != null) {
     if (cmp > 0) {
       bool = true;
     }
   } else if (op.T_GREATEREQUAL() != null) {
     if (cmp >= 0) {
       bool = true;
     }
   }
   if (op.T_LESS() != null) {
     if (cmp < 0) {
       bool = true;
     }
   } else if (op.T_LESSEQUAL() != null) {
     if (cmp <= 0) {
       bool = true;
     }
   }
   exec.stackPush(bool);
 }
Esempio n. 3
0
 /** Equality operator */
 public void operatorEqual(HplsqlParser.Bool_expr_binaryContext ctx, boolean equal) {
   Var v1 = evalPop(ctx.expr(0));
   Var v2 = evalPop(ctx.expr(1));
   boolean eq = v1.equals(v2);
   if (!equal) {
     eq = !eq;
   }
   exec.stackPush(eq);
 }
Esempio n. 4
0
 /** Binary boolean expression */
 public Integer execBoolBinary(HplsqlParser.Bool_expr_binaryContext ctx) {
   HplsqlParser.Bool_expr_binary_operatorContext op = ctx.bool_expr_binary_operator();
   if (op.T_EQUAL() != null || op.T_EQUAL2() != null) {
     operatorEqual(ctx, true);
   } else if (op.T_NOTEQUAL() != null || op.T_NOTEQUAL2() != null) {
     operatorEqual(ctx, false);
   } else if (op.T_GREATER() != null
       || op.T_LESS() != null
       || op.T_GREATEREQUAL() != null
       || op.T_LESSEQUAL() != null) {
     operatorCompare(ctx, op);
   } else {
     exec.stackPush(false);
   }
   return 0;
 }