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
---