Examples of RexLiteral


Examples of org.eigenbase.rex.RexLiteral

          logger.debug("Ignoring cast {}, {}", call.getOperands().get(0), call.getOperands().get(0).getClass());
          return call.getOperands().get(0).accept(this);
        }
        if (call.getOperator() == SqlStdOperatorTable.itemOp) {
          final RexNode left = call.getOperands().get(0);
          final RexLiteral literal = (RexLiteral) call.getOperands().get(1);
          final String field = (String) literal.getValue2();
//          buf.append('\'');
          final int length = buf.length();
          left.accept(this);
          if (buf.length() > length) {
            // check before generating empty LHS if inputName is null
View Full Code Here

Examples of org.eigenbase.rex.RexLiteral

          return elseExpression;
        }

        if (call.getOperator() == SqlStdOperatorTable.ITEM) {
          SchemaPath left = (SchemaPath) call.getOperands().get(0).accept(this);
          final RexLiteral literal = (RexLiteral) call.getOperands().get(1);
          switch(literal.getTypeName()){
          case DECIMAL:
          case INTEGER:
            return left.getChild(((BigDecimal)literal.getValue()).intValue());
          case CHAR:
            return left.getChild(literal.getValue2().toString());
          default:
            // fall through
          }
        }
View Full Code Here

Examples of org.eigenbase.rex.RexLiteral

     * 6. Project
     */
    ASTBuilder b = ASTBuilder.construct(HiveParser.TOK_SELECT, "TOK_SELECT");

    if (select.getChildExps().isEmpty()) {
      RexLiteral r = select.getCluster().getRexBuilder().makeExactLiteral(new BigDecimal(1));
      ASTNode selectExpr = ASTBuilder.selectExpr(ASTBuilder.literal(r), "1");
      b.add(selectExpr);
    } else {
      int i = 0;

      for (RexNode r : select.getChildExps()) {
        ASTNode selectExpr = ASTBuilder.selectExpr(r.accept(
             new RexVisitor(schema, r instanceof RexLiteral)),
                  select.getRowType().getFieldNames().get(i++));
        b.add(selectExpr);
      }
    }
View Full Code Here

Examples of org.eigenbase.rex.RexLiteral

    final RexNode denominator;
    if (biased) {
      denominator = countArg;
    } else {
      final RexLiteral one =
          rexBuilder.makeExactLiteral(BigDecimal.ONE);
      final RexNode nul =
          rexBuilder.makeNullLiteral(countArg.getType().getSqlTypeName());
      final RexNode countMinusOne =
          rexBuilder.makeCall(
View Full Code Here

Examples of org.eigenbase.rex.RexLiteral

          // Convert expr of item[*, 'abc'] into column expression 'abc'
          String rootSegName = left.getRootSegment().getPath();
          if (StarColumnHelper.isStarColumn(rootSegName)) {
            rootSegName = rootSegName.substring(0, rootSegName.indexOf("*"));
            final RexLiteral literal = (RexLiteral) call.getOperands().get(1);
            return SchemaPath.getSimplePath(rootSegName + literal.getValue2().toString());
          }

          final RexLiteral literal = (RexLiteral) call.getOperands().get(1);
          switch(literal.getTypeName()){
          case DECIMAL:
          case INTEGER:
            return left.getChild(((BigDecimal)literal.getValue()).intValue());
          case CHAR:
            return left.getChild(literal.getValue2().toString());
          default:
            // fall through
          }
        }

View Full Code Here

Examples of org.eigenbase.rex.RexLiteral

  public void run() throws InterruptedException {
    for (List<RexLiteral> list : rel.getTuples()) {
      final Object[] values = new Object[fieldCount];
      for (int i = 0; i < list.size(); i++) {
        RexLiteral rexLiteral = list.get(i);
        values[i] = rexLiteral.getValue();
      }
      sink.send(new Row(values));
    }
    sink.end();
  }
View Full Code Here

Examples of org.eigenbase.rex.RexLiteral

    final RexNode denominator;
    if (biased) {
      denominator = countArg;
    } else {
      final RexLiteral one =
          rexBuilder.makeExactLiteral(BigDecimal.ONE);
      final RexNode nul =
          rexBuilder.makeNullLiteral(countArg.getType().getSqlTypeName());
      final RexNode countMinusOne =
          rexBuilder.makeCall(
View Full Code Here

Examples of org.eigenbase.rex.RexLiteral

          // Convert expr of item[*, 'abc'] into column expression 'abc'
          String rootSegName = left.getRootSegment().getPath();
          if (StarColumnHelper.isStarColumn(rootSegName)) {
            rootSegName = rootSegName.substring(0, rootSegName.indexOf("*"));
            final RexLiteral literal = (RexLiteral) call.getOperands().get(1);
            return SchemaPath.getSimplePath(rootSegName + literal.getValue2().toString());
          }

          final RexLiteral literal = (RexLiteral) call.getOperands().get(1);
          switch(literal.getTypeName()){
          case DECIMAL:
          case INTEGER:
            return left.getChild(((BigDecimal)literal.getValue()).intValue());
          case CHAR:
            return left.getChild(literal.getValue2().toString());
          default:
            // fall through
          }
        }

View Full Code Here

Examples of org.eigenbase.rex.RexLiteral

    {
    Tuple tuple = Tuple.size( values.size() );

    for( int i = 0; i < values.size(); i++ )
      {
      RexLiteral rexLiteral = values.get( i );

      Object value = null;
      String result;

      // this overcomes an inconsistency in getValue2 with regard to date and time being
      // canonically integers, but getValue2 returning long values.
      // should be resolved in a future optiq release.
      switch( rexLiteral.getType().getSqlTypeName() )
        {
        case DATE:
          result = rexLiteral.toString();

          if( !result.equals( "null" ) ) // workaround till first class support in optiq
            value = SQL_DATE_COERCIBLE_TYPE.canonical( result );

          break;
        case TIME:
          result = rexLiteral.toString();

          if( !result.equals( "null" ) ) // workaround till first class support in optiq
            value = SQL_TIME_COERCIBLE_TYPE.canonical( value );

          break;
        default:
          value = rexLiteral.getValue2();
          break;
        }

      tuple.set( i, value );
      }
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.