Github user KanakaKumar commented on a diff in the pull request:

    https://github.com/apache/carbondata/pull/2792#discussion_r222686566
  
    --- Diff: 
core/src/main/java/org/apache/carbondata/core/datastore/row/CarbonRow.java ---
    @@ -57,6 +74,154 @@ public String getString(int ordinal) {
         return (String) data[ordinal];
       }
     
    +  /**
    +   * get short type data by ordinal
    +   *
    +   * @param ordinal the data index of carbonRow
    +   * @return
    +   */
    +  public short getShort(int ordinal) {
    +    return (short) data[ordinal];
    +  }
    +
    +  /**
    +   * get int data type data by ordinal
    +   *
    +   * @param ordinal the data index of carbonRow
    +   * @return
    +   */
    +  public int getInt(int ordinal) {
    +    return (Integer) data[ordinal];
    +  }
    +
    +  /**
    +   * get long data type data by ordinal
    +   *
    +   * @param ordinal the data index of carbonRow
    +   * @return
    +   */
    +  public long getLong(int ordinal) {
    +    return (long) data[ordinal];
    +  }
    +
    +  /**
    +   * get array data type data by ordinal
    +   *
    +   * @param ordinal the data index of carbonRow
    +   * @return
    +   */
    +  public Object[] getArray(int ordinal) {
    +    return (Object[]) data[ordinal];
    +  }
    +
    +  /**
    +   * get double data type data by ordinal
    +   *
    +   * @param ordinal the data index of carbonRow
    +   * @return
    +   */
    +  public double getDouble(int ordinal) {
    +    return (double) data[ordinal];
    +  }
    +
    +  /**
    +   * get boolean data type data by ordinal
    +   *
    +   * @param ordinal the data index of carbonRow
    +   * @return
    +   */
    +  public boolean getBoolean(int ordinal) {
    +    return (boolean) data[ordinal];
    +  }
    +
    +  /**
    +   * get byte data type data by ordinal
    +   *
    +   * @param ordinal the data index of carbonRow
    +   * @return
    +   */
    +  public Byte getByte(int ordinal) {
    +    return (Byte) data[ordinal];
    +  }
    +
    +  /**
    +   * get float data type data by ordinal
    +   *
    +   * @param ordinal the data index of carbonRow
    +   * @return
    +   */
    +  public float getFloat(int ordinal) {
    +    return (float) data[ordinal];
    +  }
    +
    +  /**
    +   * get varchar data type data by ordinal
    +   * This is for CSDK
    +   * JNI don't support varchar, so carbon convert decimal to string
    +   *
    +   * @param ordinal the data index of carbonRow
    +   * @return
    +   */
    +  public String getVarchar(int ordinal) {
    +    return (String) data[ordinal];
    +  }
    +
    +  /**
    +   * get decimal data type data by ordinal
    +   * This is for CSDK
    +   * JNI don't support Decimal, so carbon convert decimal to string
    +   *
    +   * @param ordinal the data index of carbonRow
    +   * @return
    +   */
    +  public String getDecimal(int ordinal) {
    +    return ((BigDecimal) data[ordinal]).toString();
    +  }
    +
    +  /**
    +   * get data type by ordinal
    +   *
    +   * @param ordinal the data index of carbonRow
    +   * @return
    +   */
    +  public DataType getDataType(int ordinal) {
    +    return dataTypes[ordinal];
    +  }
    +
    +  /**
    +   * get data type name by ordinal
    +   *
    +   * @param ordinal the data index of carbonRow
    +   * @return
    +   */
    +  public String getDataTypeName(int ordinal) {
    +    return dataTypes[ordinal].getName();
    +  }
    +
    +  /**
    +   * get element type name by ordinal
    +   * child schema data type name
    +   * for example: return STRING if it's Array<String> in java
    +   *
    +   * @param ordinal the data index of carbonRow
    +   * @return element type name
    +   */
    +  public String getElementTypeName(int ordinal) {
    --- End diff --
    
    If this method can work only for Array, we can rename it to 
getArrayElementTypeName and throw exception if its not array type. return null 
cause integration errors for unsupported ata types


---

Reply via email to