Package org.apache.tajo.datum

Examples of org.apache.tajo.datum.Datum


  public Datum eval(Schema schema, Tuple tuple) {
    if (this.compiled == null) {
      compile(this.pattern);
    }

    Datum predicand = leftExpr.eval(schema, tuple);
    if (predicand.isNull()) {
      return NullDatum.get();
    }

    boolean matched = compiled.matcher(predicand.asChars()).matches();
    return DatumFactory.createBool(matched ^ not);
  }
View Full Code Here


    }
  }

  @Override
  public Datum eval(Schema schema, Tuple tuple) {
    Datum lhs = leftExpr.eval(schema, tuple);
    Datum rhs = rightExpr.eval(schema, tuple);

    switch(type) {
    case AND:
      return lhs.and(rhs);
    case OR:
      return lhs.or(rhs);

    case EQUAL:
      return lhs.equalsTo(rhs);
    case NOT_EQUAL:
      return lhs.notEqualsTo(rhs);
    case LTH:
      return lhs.lessThan(rhs);
    case LEQ:
      return lhs.lessThanEqual(rhs);
    case GTH:
      return lhs.greaterThan(rhs);
    case GEQ:
      return lhs.greaterThanEqual(rhs);

    case PLUS:
      return lhs.plus(rhs);
    case MINUS:
      return lhs.minus(rhs);
    case MULTIPLY:
      return lhs.multiply(rhs);
    case DIVIDE:
      return lhs.divide(rhs);
    case MODULAR:
      return lhs.modular(rhs);

    case CONCATENATE:
      if (lhs.type() == Type.NULL_TYPE || rhs.type() == Type.NULL_TYPE) {
        return NullDatum.get();
      }
      return DatumFactory.createText(lhs.asChars() + rhs.asChars());
    default:
      throw new InvalidEvalException("We does not support " + type + " expression yet");
    }
  }
View Full Code Here

    }
  }

  @Override
  public Datum eval(Tuple params) {
    Datum datum = params.get(0);
    if(datum instanceof NullDatum) return NullDatum.get();

    if (!hasTrimCharacters) {
      return DatumFactory.createText(StringUtils.stripStart(datum.asChars(), null));
    } else {
      return DatumFactory.createText(StringUtils.stripStart(datum.asChars(), params.get(1).asChars()));
    }
  }
View Full Code Here

    });
  }

  @Override
  public Datum eval(Tuple params) {
    Datum valueDatum = params.get(0);
    if(valueDatum instanceof NullDatum) {
      return NullDatum.get();
    }

    return DatumFactory.createFloat8(Math.acos(valueDatum.asFloat8()));
  }
View Full Code Here

    });
  }

  @Override
  public Datum eval(Tuple params) {
    Datum datum = params.get(0);
    Datum formatType = params.get(1);
    String encodedBase64Text="";
    String encodedHexString="";

    if(datum instanceof NullDatum) return NullDatum.get();
    if(formatType instanceof NullDatum) return NullDatum.get();


    if(formatType.asChars().toLowerCase().equals("base64")) {
      try {
        // Base64
        encodedBase64Text = new String(Base64.encodeBase64(StringEscapeUtils.unescapeJava(datum.asChars()).getBytes()));
      }
      catch (Exception e) {
        return NullDatum.get();
      }

      return DatumFactory.createText(encodedBase64Text);
    }
    else if(formatType.asChars().toLowerCase().equals("hex")) {
      try {
        // Hex
        encodedHexString = HexStringConverter.getInstance().encodeHex(StringEscapeUtils.unescapeJava(datum.asChars()));
      }
      catch (Exception e) {
View Full Code Here

    });
  }

  @Override
  public Datum eval(Tuple params) {
    Datum valueDatum = params.get(0);
    if(valueDatum instanceof NullDatum) {
      return NullDatum.get();
    }

    return DatumFactory.createFloat8(Math.cbrt(valueDatum.asFloat8()));
  }
View Full Code Here

  }

  @Override
  public void merge(FunctionContext context, Tuple params) {
    SumContext distinctContext = (SumContext) context;
    Datum value = params.get(0);
    if ((distinctContext.latest == null || (!distinctContext.latest.equals(value)) && !(value instanceof NullDatum))) {
      distinctContext.latest = value;
      distinctContext.sum += value.asFloat8();
    }
  }
View Full Code Here

    return idx + 1;
  }

  @Override
  public Datum eval(Tuple params) {
    Datum strDatum = params.get(0);
    if(strDatum instanceof NullDatum) {
      return NullDatum.get();
    }
    Datum substrDatum = params.get(1);
    if (substrDatum instanceof NullDatum) {
      return NullDatum.get();
    }
   
    int pos = 1// one-based index
    if (params.size() > 2) {
      pos = params.get(2).asInt4();
      if (pos < 0) {
        return DatumFactory.createInt4(0)// negative value is not acceptable.
      }
      if (pos == 0) {
        pos = 1// one-based index
      }
    }
   
    String str = strDatum.asChars();
    String substr = substrDatum.asChars();
   
    return DatumFactory.createInt4(locate(str, substr, pos));
  }
View Full Code Here

    });
  }

  @Override
  public Datum eval(Tuple params) {
    Datum valueDatum = params.get(0);
    if(valueDatum instanceof NullDatum) {
      return NullDatum.get();
    }

    return DatumFactory.createFloat4(Math.abs(valueDatum.asFloat4()));
  }
View Full Code Here

    return (size < length) ? size : length;
  }

  @Override
  public Datum eval(Tuple params) {
    Datum datum = params.get(0);
    if(datum instanceof NullDatum) return NullDatum.get();

    Datum sizeDatum = params.get(1);
    if(sizeDatum instanceof NullDatum) return NullDatum.get();

    String data = datum.asChars();
    int length = data.length();
    int size = sizeDatum.asInt4();

    size = getSize(length, size);
    if (size == 0) {
        return TextDatum.EMPTY_TEXT;
    }
View Full Code Here

TOP

Related Classes of org.apache.tajo.datum.Datum

Copyright © 2018 www.massapicom. 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.