Index: jdbc/src/java/org/apache/hadoop/hive/jdbc/HiveBaseResultSet.java =================================================================== --- jdbc/src/java/org/apache/hadoop/hive/jdbc/HiveBaseResultSet.java (revision 1326967) +++ jdbc/src/java/org/apache/hadoop/hive/jdbc/HiveBaseResultSet.java (working copy) @@ -467,11 +467,18 @@ } public Timestamp getTimestamp(int columnIndex) throws SQLException { - throw new SQLException("Method not supported"); + Object obj = getObject(columnIndex); + if (obj == null) { + return null; + } + if (obj instanceof Timestamp){ + return (Timestamp) obj; + } + throw new SQLException("Illegal conversion"); } public Timestamp getTimestamp(String columnName) throws SQLException { - throw new SQLException("Method not supported"); + return getTimestamp(findColumn(columnName)); } public Timestamp getTimestamp(int columnIndex, Calendar cal) throws SQLException { Index: jdbc/src/java/org/apache/hadoop/hive/jdbc/JdbcColumn.java =================================================================== --- jdbc/src/java/org/apache/hadoop/hive/jdbc/JdbcColumn.java (revision 1326967) +++ jdbc/src/java/org/apache/hadoop/hive/jdbc/JdbcColumn.java (working copy) @@ -105,6 +105,8 @@ return 7; case Types.DOUBLE: return 15; + case Types.TIMESTAMP: + return 29; default: throw new SQLException("Invalid column type: " + columnType); } @@ -124,6 +126,8 @@ return 7; case Types.DOUBLE: return 15; + case Types.TIMESTAMP: + return 9; default: throw new SQLException("Invalid column type: " + columnType); } Index: jdbc/src/java/org/apache/hadoop/hive/jdbc/Utils.java =================================================================== --- jdbc/src/java/org/apache/hadoop/hive/jdbc/Utils.java (revision 1326967) +++ jdbc/src/java/org/apache/hadoop/hive/jdbc/Utils.java (working copy) @@ -46,6 +46,8 @@ return Types.INTEGER; } else if ("bigint".equalsIgnoreCase(type)) { return Types.BIGINT; + } else if ("timestamp".equalsIgnoreCase(type)) { + return Types.TIMESTAMP; } else if (type.startsWith("map<")) { return Types.VARCHAR; } else if (type.startsWith("array<")) {