You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@hive.apache.org by "Sergio Peña (JIRA)" <ji...@apache.org> on 2014/10/02 18:20:33 UTC
[jira] [Updated] (HIVE-8330) HiveResultSet.findColumn() parameters
are case sensitive
[ https://issues.apache.org/jira/browse/HIVE-8330?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Sergio Peña updated HIVE-8330:
------------------------------
Attachment: HIVE-8330.1.patch
Convert the columnName parameter to lower case fixes the bug.
> HiveResultSet.findColumn() parameters are case sensitive
> --------------------------------------------------------
>
> Key: HIVE-8330
> URL: https://issues.apache.org/jira/browse/HIVE-8330
> Project: Hive
> Issue Type: Bug
> Affects Versions: 0.13.1
> Reporter: Sergio Peña
> Assignee: Sergio Peña
> Attachments: HIVE-8330.1.patch
>
>
> Look at the following code:
> {noformat}
> Class.forName("org.apache.hive.jdbc.HiveDriver");
> Connection db = null;
> Statement stmt = null;
> ResultSet rs = null;
> try {
> db = DriverManager.getConnection("jdbc:hive2://localhost:10000/default", "hive", "");
> stmt = db.createStatement();
> rs = stmt.executeQuery("SELECT * FROM sample_07 limit 1");
> ResultSetMetaData metaData = rs.getMetaData();
> for (int i = 1; i <= metaData.getColumnCount(); i++) {
> System.out.println("Column " + i + ": " + metaData.getColumnName(i));
> }
> while (rs.next()) {
> System.out.println(rs.findColumn("code"));
> }
> } finally {
> DbUtils.closeQuietly(db, stmt, rs);
> }
> {noformat}
> Above program will generate following result on my cluster:
> {noformat}
> Column 1: code
> Column 2: description
> Column 3: total_emp
> Column 4: salary
> 1
> {noformat}
> However, if the last print sentence is changed as following (using uppercase characters):
> {noformat}
> System.out.println(rs.findColumn("Code"));
> {noformat}
> The program will fail at exactly that line. The same happens if the column name is changed as "CODE"
> Based on the JDBC ResultSet documentation, this method should be case insensitive.
> "Column names used as input to getter methods are case insensitive"
> http://docs.oracle.com/javase/7/docs/api/java/sql/ResultSet.html
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)