Package org.openrdf.sail.rdbms.algebra

Examples of org.openrdf.sail.rdbms.algebra.SqlCase.when()


  }

  public static SqlExpr coalesce(SqlExpr... exprs) {
    SqlCase sqlCase = new SqlCase();
    for (SqlExpr expr : exprs) {
      sqlCase.when(isNotNull(expr.clone()), expr);
    }
    return sqlCase;
  }

  public static SqlExpr concat(SqlExpr left, SqlExpr right) {
View Full Code Here


  {
    boolean divide = node.getOperator().equals(MathExpr.MathOp.DIVIDE);
    ValueExpr left = node.getLeftArg();
    ValueExpr right = node.getRightArg();
    SqlCase sqlCase = new SqlCase();
    sqlCase.when(in(str(DOUBLE), type(left), type(right)), str(DOUBLE));
    sqlCase.when(in(str(FLOAT), type(left), type(right)), str(FLOAT));
    sqlCase.when(in(str(DECIMAL), type(left), type(right)), str(DECIMAL));
    sqlCase.when(new TrueValue(), divide ? str(DECIMAL) : str(INTEGER));
    result = sqlCase;
  }
View Full Code Here

    boolean divide = node.getOperator().equals(MathExpr.MathOp.DIVIDE);
    ValueExpr left = node.getLeftArg();
    ValueExpr right = node.getRightArg();
    SqlCase sqlCase = new SqlCase();
    sqlCase.when(in(str(DOUBLE), type(left), type(right)), str(DOUBLE));
    sqlCase.when(in(str(FLOAT), type(left), type(right)), str(FLOAT));
    sqlCase.when(in(str(DECIMAL), type(left), type(right)), str(DECIMAL));
    sqlCase.when(new TrueValue(), divide ? str(DECIMAL) : str(INTEGER));
    result = sqlCase;
  }
View Full Code Here

    ValueExpr left = node.getLeftArg();
    ValueExpr right = node.getRightArg();
    SqlCase sqlCase = new SqlCase();
    sqlCase.when(in(str(DOUBLE), type(left), type(right)), str(DOUBLE));
    sqlCase.when(in(str(FLOAT), type(left), type(right)), str(FLOAT));
    sqlCase.when(in(str(DECIMAL), type(left), type(right)), str(DECIMAL));
    sqlCase.when(new TrueValue(), divide ? str(DECIMAL) : str(INTEGER));
    result = sqlCase;
  }

  @Override
View Full Code Here

    ValueExpr right = node.getRightArg();
    SqlCase sqlCase = new SqlCase();
    sqlCase.when(in(str(DOUBLE), type(left), type(right)), str(DOUBLE));
    sqlCase.when(in(str(FLOAT), type(left), type(right)), str(FLOAT));
    sqlCase.when(in(str(DECIMAL), type(left), type(right)), str(DECIMAL));
    sqlCase.when(new TrueValue(), divide ? str(DECIMAL) : str(INTEGER));
    result = sqlCase;
  }

  @Override
  public void meet(Str node)
View Full Code Here

    throws UnsupportedRdbmsOperatorException
  {
    ValueExpr left = node.getLeftArg();
    ValueExpr right = node.getRightArg();
    SqlCase sqlCase = new SqlCase();
    sqlCase.when(eq(label(right), str("*")), neq(label(left), str("")));
    SqlExpr pattern = concat(lowercase(label(right)), str("%"));
    sqlCase.when(new TrueValue(), like(label(left), pattern));
    result = sqlCase;
  }

View Full Code Here

    ValueExpr left = node.getLeftArg();
    ValueExpr right = node.getRightArg();
    SqlCase sqlCase = new SqlCase();
    sqlCase.when(eq(label(right), str("*")), neq(label(left), str("")));
    SqlExpr pattern = concat(lowercase(label(right)), str("%"));
    sqlCase.when(new TrueValue(), like(label(left), pattern));
    result = sqlCase;
  }

  @Override
  public void meet(Not node)
View Full Code Here

  private SqlExpr effectiveBooleanValue(ValueExpr v)
    throws UnsupportedRdbmsOperatorException
  {
    String bool = XMLSchema.BOOLEAN.stringValue();
    SqlCase sqlCase = new SqlCase();
    sqlCase.when(eq(type(v), str(bool)), eq(label(v), str("true")));
    sqlCase.when(simple(type(v)), not(eq(label(v), str(""))));
    sqlCase.when(isNotNull(numeric(v)), not(eq(numeric(v), num(0))));
    return sqlCase;
  }
View Full Code Here

    throws UnsupportedRdbmsOperatorException
  {
    String bool = XMLSchema.BOOLEAN.stringValue();
    SqlCase sqlCase = new SqlCase();
    sqlCase.when(eq(type(v), str(bool)), eq(label(v), str("true")));
    sqlCase.when(simple(type(v)), not(eq(label(v), str(""))));
    sqlCase.when(isNotNull(numeric(v)), not(eq(numeric(v), num(0))));
    return sqlCase;
  }

  private SqlExpr equal(ValueExpr left, ValueExpr right)
View Full Code Here

  {
    String bool = XMLSchema.BOOLEAN.stringValue();
    SqlCase sqlCase = new SqlCase();
    sqlCase.when(eq(type(v), str(bool)), eq(label(v), str("true")));
    sqlCase.when(simple(type(v)), not(eq(label(v), str(""))));
    sqlCase.when(isNotNull(numeric(v)), not(eq(numeric(v), num(0))));
    return sqlCase;
  }

  private SqlExpr equal(ValueExpr left, ValueExpr right)
    throws UnsupportedRdbmsOperatorException
View Full Code Here

TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.