Examples of MajorType


Examples of org.apache.drill.common.types.TypeProtos.MajorType

    // All ValueVector types have been handled.
    throw new UnsupportedOperationException(type.getMinorType() + " type is not supported. Mode: " + type.getMode());
  }

  public static ValueHolder getValue(ValueVector vector, int index) {
    MajorType type = vector.getField().getType();
    ValueHolder holder;
    switch(type.getMinorType()) {
    case TINYINT :
      holder = new TinyIntHolder();
      ((TinyIntHolder)holder).value = ((TinyIntVector) vector).getAccessor().get(index);
      break;
    case UINT1 :
      holder = new UInt1Holder();
      ((UInt1Holder)holder).value = ((UInt1Vector) vector).getAccessor().get(index);
      break;
    case UINT2 :
      holder = new UInt2Holder();
      ((UInt2Holder)holder).value = ((UInt2Vector) vector).getAccessor().get(index);
      break;
    case SMALLINT :
      holder = new SmallIntHolder();
      ((SmallIntHolder)holder).value = ((SmallIntVector) vector).getAccessor().get(index);
      break;
    case INT :
      holder = new IntHolder();
      ((IntHolder)holder).value = ((IntVector) vector).getAccessor().get(index);
      break;
    case UINT4 :
      holder = new UInt4Holder();
      ((UInt4Holder)holder).value = ((UInt4Vector) vector).getAccessor().get(index);
      break;
    case FLOAT4 :
      holder = new Float4Holder();
      ((Float4Holder)holder).value = ((Float4Vector) vector).getAccessor().get(index);
      break;
    case TIME :
      holder = new TimeHolder();
      ((TimeHolder)holder).value = ((TimeVector) vector).getAccessor().get(index);
      break;
    case INTERVALYEAR :
      holder = new IntervalYearHolder();
      ((IntervalYearHolder)holder).value = ((IntervalYearVector) vector).getAccessor().get(index);
      break;
    case DECIMAL9 :
      holder = new Decimal9Holder();
      ((Decimal9Holder)holder).value = ((Decimal9Vector) vector).getAccessor().get(index);
      break;
    case BIGINT :
      holder = new BigIntHolder();
      ((BigIntHolder)holder).value = ((BigIntVector) vector).getAccessor().get(index);
      break;
    case UINT8 :
      holder = new UInt8Holder();
      ((UInt8Holder)holder).value = ((UInt8Vector) vector).getAccessor().get(index);
      break;
    case FLOAT8 :
      holder = new Float8Holder();
      ((Float8Holder)holder).value = ((Float8Vector) vector).getAccessor().get(index);
      break;
    case DATE :
      holder = new DateHolder();
      ((DateHolder)holder).value = ((DateVector) vector).getAccessor().get(index);
      break;
    case TIMESTAMP :
      holder = new TimeStampHolder();
      ((TimeStampHolder)holder).value = ((TimeStampVector) vector).getAccessor().get(index);
      break;
    case DECIMAL18 :
      holder = new Decimal18Holder();
      ((Decimal18Holder)holder).value = ((Decimal18Vector) vector).getAccessor().get(index);
      break;
    case TIMESTAMPTZ :
         throw new UnsupportedOperationException(type.getMinorType() + " type is not supported.");
    case INTERVALDAY :
         throw new UnsupportedOperationException(type.getMinorType() + " type is not supported.");
    case INTERVAL :
         throw new UnsupportedOperationException(type.getMinorType() + " type is not supported.");
    case DECIMAL28DENSE :
         throw new UnsupportedOperationException(type.getMinorType() + " type is not supported.");
    case DECIMAL38DENSE :
         throw new UnsupportedOperationException(type.getMinorType() + " type is not supported.");
    case DECIMAL38SPARSE :
         throw new UnsupportedOperationException(type.getMinorType() + " type is not supported.");
    case DECIMAL28SPARSE :
         throw new UnsupportedOperationException(type.getMinorType() + " type is not supported.");
    case VARBINARY :
         throw new UnsupportedOperationException(type.getMinorType() + " type is not supported.");
    case VARCHAR :
         throw new UnsupportedOperationException(type.getMinorType() + " type is not supported.");
    case VAR16CHAR :
         throw new UnsupportedOperationException(type.getMinorType() + " type is not supported.");
    case BIT :
      holder = new BitHolder();
      ((BitHolder)holder).value = ((BitVector) vector).getAccessor().get(index);
      break;
    case GENERIC_OBJECT:
      holder = new ObjectHolder();
      ((ObjectHolder)holder).obj = ((ObjectVector) vector).getAccessor().getObject(index)         ;
      break;
    default:
      throw new UnsupportedOperationException(type.getMinorType() + " type is not supported.");
    }
    return holder;
  }
View Full Code Here

Examples of org.apache.drill.common.types.TypeProtos.MajorType

    }
    return holder;
  }

  public static void setValue(ValueVector vector, int index, ValueHolder holder) {
    MajorType type = vector.getField().getType();

    switch(type.getMinorType()) {
    case TINYINT :
      ((TinyIntVector) vector).getMutator().setSafe(index, (TinyIntHolder) holder);
      break;
    case UINT1 :
      ((UInt1Vector) vector).getMutator().setSafe(index, (UInt1Holder) holder);
      break;
    case UINT2 :
      ((UInt2Vector) vector).getMutator().setSafe(index, (UInt2Holder) holder);
      break;
    case SMALLINT :
      ((SmallIntVector) vector).getMutator().setSafe(index, (SmallIntHolder) holder);
      break;
    case INT :
      ((IntVector) vector).getMutator().setSafe(index, (IntHolder) holder);
      break;
    case UINT4 :
      ((UInt4Vector) vector).getMutator().setSafe(index, (UInt4Holder) holder);
      break;
    case FLOAT4 :
      ((Float4Vector) vector).getMutator().setSafe(index, (Float4Holder) holder);
      break;
    case TIME :
      ((TimeVector) vector).getMutator().setSafe(index, (TimeHolder) holder);
      break;
    case INTERVALYEAR :
      ((IntervalYearVector) vector).getMutator().setSafe(index, (IntervalYearHolder) holder);
      break;
    case DECIMAL9 :
      ((Decimal9Vector) vector).getMutator().setSafe(index, (Decimal9Holder) holder);
      break;
    case BIGINT :
      ((BigIntVector) vector).getMutator().setSafe(index, (BigIntHolder) holder);
      break;
    case UINT8 :
      ((UInt8Vector) vector).getMutator().setSafe(index, (UInt8Holder) holder);
      break;
    case FLOAT8 :
      ((Float8Vector) vector).getMutator().setSafe(index, (Float8Holder) holder);
      break;
    case DATE :
      ((DateVector) vector).getMutator().setSafe(index, (DateHolder) holder);
      break;
    case TIMESTAMP :
      ((TimeStampVector) vector).getMutator().setSafe(index, (TimeStampHolder) holder);
      break;
    case DECIMAL18 :
      ((Decimal18Vector) vector).getMutator().setSafe(index, (Decimal18Holder) holder);
      break;
    case TIMESTAMPTZ :
      ((TimeStampTZVector) vector).getMutator().setSafe(index, (TimeStampTZHolder) holder);
      break;
    case INTERVALDAY :
      ((IntervalDayVector) vector).getMutator().setSafe(index, (IntervalDayHolder) holder);
      break;
    case INTERVAL :
      ((IntervalVector) vector).getMutator().setSafe(index, (IntervalHolder) holder);
      break;
    case DECIMAL28DENSE :
      ((Decimal28DenseVector) vector).getMutator().setSafe(index, (Decimal28DenseHolder) holder);
      break;
    case DECIMAL38DENSE :
      ((Decimal38DenseVector) vector).getMutator().setSafe(index, (Decimal38DenseHolder) holder);
      break;
    case DECIMAL38SPARSE :
      ((Decimal38SparseVector) vector).getMutator().setSafe(index, (Decimal38SparseHolder) holder);
      break;
    case DECIMAL28SPARSE :
      ((Decimal28SparseVector) vector).getMutator().setSafe(index, (Decimal28SparseHolder) holder);
      break;
    case VARBINARY :
      ((VarBinaryVector) vector).getMutator().setSafe(index, (VarBinaryHolder) holder);
      break;
    case VARCHAR :
      ((VarCharVector) vector).getMutator().setSafe(index, (VarCharHolder) holder);
      break;
    case VAR16CHAR :
      ((Var16CharVector) vector).getMutator().setSafe(index, (Var16CharHolder) holder);
      break;
    case BIT :
      ((BitVector) vector).getMutator().setSafe(index, (BitHolder) holder);
      break;
    case GENERIC_OBJECT:
      ((ObjectVector) vector).getMutator().setSafe(index, (ObjectHolder) holder);
      break          ;
    default:
      throw new UnsupportedOperationException(type.getMinorType() + " type is not supported.");   
    }
  }
View Full Code Here

Examples of org.apache.drill.common.types.TypeProtos.MajorType

      throw new UnsupportedOperationException(type.getMinorType() + " type is not supported.");   
    }
  }

  public static boolean compareValues(ValueVector v1, int v1index, ValueVector v2, int v2index) {
    MajorType type1 = v1.getField().getType();
    MajorType type2 = v2.getField().getType();

    if (type1.getMinorType() != type2.getMinorType()) {
      return false;
    }

    switch(type1.getMinorType()) {
    case TINYINT :
View Full Code Here

Examples of org.apache.drill.common.types.TypeProtos.MajorType

      Preconditions.checkNotNull(finalType);

      if(intermediateType == null) intermediateType = finalType;
      if (secondaryFinal == null) secondaryFinal = finalType;

      MajorType actualFinalType = finalType;
      //MajorType secondaryFinal = finalType;

      // if this has an index, switch to required type for output
      //if(withIndex && intermediateType == finalType) actualFinalType = finalType.toBuilder().setMode(DataMode.REQUIRED).build();
View Full Code Here

Examples of org.apache.drill.common.types.TypeProtos.MajorType

  public DataMode getDataMode() {
    return key.type.getMode();
  }

  public MaterializedField getOtherNullableVersion(){
    MajorType mt = key.type;
    DataMode newDataMode = null;
    switch(mt.getMode()){
    case OPTIONAL:
      newDataMode = DataMode.REQUIRED;
      break;
    case REQUIRED:
      newDataMode = DataMode.OPTIONAL;
      break;
    default:
      throw new UnsupportedOperationException();
    }
    return new MaterializedField(key.path, mt.toBuilder().setMode(newDataMode).build());
  }
View Full Code Here

Examples of org.apache.drill.common.types.TypeProtos.MajorType

  private void initFieldWriters() throws IOException {
    fieldWriters = Lists.newArrayList();
    try {
      for (int i = 0; i < schema.getFieldCount(); i++) {
        MajorType mt = schema.getColumn(i).getType();
        MajorType newMt = MajorType.newBuilder().setMinorType(mt.getMinorType()).setMode(mt.getMode()).build();
        fieldWriters.add(i, typeClassMap.get(newMt)
                .getConstructor(EventBasedRecordWriter.class, int.class).newInstance(this, i));
      }
    } catch(Exception e) {
      logger.error("Failed to create FieldWriter.", e);
View Full Code Here

Examples of org.apache.drill.common.types.TypeProtos.MajorType

        return -1;
      }
    }

    for (int i = 0; i < holder.getParamCount(); i++) {
      MajorType argType = call.args.get(i).getMajorType();
      MajorType parmType = holder.getParmMajorType(i);

      //@Param FieldReader will match any type
      if (holder.isFieldReader(i)) {
//        if (Types.isComplex(call.args.get(i).getMajorType()) ||Types.isRepeated(call.args.get(i).getMajorType()) )
          continue;
//        else
//          return -1;
      }

      if (!TypeCastRules.isCastableWithNullHandling(argType, parmType, holder.getNullHandling())) {
        return -1;
      }

      Integer parmVal = ResolverTypePrecedence.precedenceMap.get(parmType
          .getMinorType());
      Integer argVal = ResolverTypePrecedence.precedenceMap.get(argType
          .getMinorType());

      if (parmVal == null) {
        throw new RuntimeException(String.format(
            "Precedence for type %s is not defined", parmType.getMinorType()
                .name()));
      }

      if (argVal == null) {
        throw new RuntimeException(String.format(
            "Precedence for type %s is not defined", argType.getMinorType()
                .name()));
      }

      if (parmVal - argVal < 0) {

        /* Precedence rules does not allow to implicitly cast, however check
         * if the seconday rules allow us to cast
         */
        Set<MinorType> rules;
        if ((rules = (ResolverTypePrecedence.secondaryImplicitCastRules.get(parmType.getMinorType()))) != null &&
            rules.contains(argType.getMinorType()) != false) {
          secondaryCast = true;
        } else {
          return -1;
        }
      }
      // Check null vs non-null, using same logic as that in Types.softEqual()
      // Only when the function uses NULL_IF_NULL, nullable and non-nullable are inter-changable.
      // Otherwise, the function implementation is not a match.
      if (argType.getMode() != parmType.getMode()) {
        // TODO - this does not seem to do what it is intended to
//        if (!((holder.getNullHandling() == NullHandling.NULL_IF_NULL) &&
//            (argType.getMode() == DataMode.OPTIONAL ||
//             argType.getMode() == DataMode.REQUIRED ||
//             parmType.getMode() == DataMode.OPTIONAL ||
//             parmType.getMode() == DataMode.REQUIRED )))
//          return -1;
        // if the function is designed to take optional with custom null handling, and a required
        // is being passed, increase the cost to account for a null check
        // this allows for a non-nullable implementation to be preferred
        if (holder.getNullHandling() == NullHandling.INTERNAL) {
          // a function that expects required output, but nullable was provided
          if (parmType.getMode() == DataMode.REQUIRED && argType.getMode() == DataMode.OPTIONAL) {
            return -1;
          }
          else if (parmType.getMode() == DataMode.OPTIONAL && argType.getMode() == DataMode.REQUIRED) {
            cost+= DATAMODE_CAST_COST;
          }
        }
      }

View Full Code Here

Examples of org.apache.drill.common.types.TypeProtos.MajorType

    //////////////////////
    cg.setMappingSet(copyLeftMapping);
    int vectorId = 0;
    if (worker == null || status.isLeftPositionAllowed()) {
      for (VectorWrapper<?> vw : left) {
        MajorType inputType = vw.getField().getType();
        MajorType outputType;
        if (joinType == JoinRelType.RIGHT && inputType.getMode() == DataMode.REQUIRED) {
          outputType = Types.overrideMode(inputType, DataMode.OPTIONAL);
        } else {
          outputType = inputType;
        }
        JVar vvIn = cg.declareVectorValueSetupAndMember("incomingLeft",
                                                        new TypedFieldId(inputType, vectorId));
        JVar vvOut = cg.declareVectorValueSetupAndMember("outgoing",
                                                         new TypedFieldId(outputType,vectorId));
        // todo: check result of copyFromSafe and grow allocation
        cg.getEvalBlock()._if(vvOut.invoke("copyFromSafe")
                                     .arg(copyLeftMapping.getValueReadIndex())
                                     .arg(copyLeftMapping.getValueWriteIndex())
                                     .arg(vvIn).eq(JExpr.FALSE))
            ._then()
            ._return(JExpr.FALSE);
        ++vectorId;
      }
    }
    cg.getEvalBlock()._return(JExpr.lit(true));

    // generate copyRight()
    ///////////////////////
    cg.setMappingSet(copyRightMappping);

    int rightVectorBase = vectorId;
    if (worker == null || status.isRightPositionAllowed()) {
      for (VectorWrapper<?> vw : right) {
        MajorType inputType = vw.getField().getType();
        MajorType outputType;
        if (joinType == JoinRelType.LEFT && inputType.getMode() == DataMode.REQUIRED) {
          outputType = Types.overrideMode(inputType, DataMode.OPTIONAL);
        } else {
          outputType = inputType;
        }
View Full Code Here

Examples of org.apache.drill.common.types.TypeProtos.MajorType

    // add fields from both batches
    if (worker == null || leftCount > 0) {

      for (VectorWrapper<?> w : left) {
        MajorType inputType = w.getField().getType();
        MajorType outputType;
        if (joinType == JoinRelType.RIGHT && inputType.getMode() == DataMode.REQUIRED) {
          outputType = Types.overrideMode(inputType, DataMode.OPTIONAL);
        } else {
          outputType = inputType;
        }
        ValueVector outgoingVector = TypeHelper.getNewVector(MaterializedField.create(w.getField().getPath(), outputType), oContext.getAllocator());
        VectorAllocator.getAllocator(outgoingVector, (int) Math.ceil(w.getValueVector().getBufferSize() / Math.max(1, left.getRecordCount()))).alloc(joinBatchSize);
        container.add(outgoingVector);
      }
    }

    if (worker == null || rightCount > 0) {
      for (VectorWrapper<?> w : right) {
        MajorType inputType = w.getField().getType();
        MajorType outputType;
        if (joinType == JoinRelType.LEFT && inputType.getMode() == DataMode.REQUIRED) {
          outputType = Types.overrideMode(inputType, DataMode.OPTIONAL);
        } else {
          outputType = inputType;
        }
View Full Code Here

Examples of org.apache.drill.common.types.TypeProtos.MajorType

      int estimateRowSize = getEstimatedRecordSize(config.getTypes());
      valueVectors = new ValueVector[config.getTypes().length];
      batchRecordCount = 250000 / estimateRowSize;

      for (int i = 0; i < config.getTypes().length; i++) {
        MajorType type = config.getTypes()[i].getMajorType();
        MaterializedField field = getVector(config.getTypes()[i].getName(), type, batchRecordCount);
        Class vvClass = TypeHelper.getValueVectorClass(field.getType().getMinorType(), field.getDataMode());
        valueVectors[i] = output.addField(field, vvClass);
      }
    } catch (SchemaChangeException e) {
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.