Index: jdbc/src/test/org/apache/hadoop/hive/jdbc/TestJdbcDriver.java =================================================================== --- jdbc/src/test/org/apache/hadoop/hive/jdbc/TestJdbcDriver.java (revision 760960) +++ jdbc/src/test/org/apache/hadoop/hive/jdbc/TestJdbcDriver.java (working copy) @@ -104,7 +104,8 @@ assertNotNull("ResultSet is null", res); int i = 0; - while (res.next()) { + boolean moreRow = res.next(); + while (moreRow) { try { i++; res.getString(2); @@ -114,6 +115,7 @@ // System.out.println(res.getString(2)); // System.out.println(res.getString(1)); // System.out.println(res.getInt(1)); + moreRow = res.next(); } catch (SQLException e) { System.out.println(e.toString()); @@ -123,5 +125,8 @@ } // supposed to get 500 rows assertEquals(500, i); + + // should have no more rows + assertEquals(false, moreRow); } } Index: jdbc/src/java/org/apache/hadoop/hive/jdbc/HiveResultSet.java =================================================================== --- jdbc/src/java/org/apache/hadoop/hive/jdbc/HiveResultSet.java (revision 760960) +++ jdbc/src/java/org/apache/hadoop/hive/jdbc/HiveResultSet.java (working copy) @@ -981,7 +981,7 @@ */ public boolean next() throws SQLException { - String row_str; + String row_str = ""; try { row_str = (String)client.fetchOne(); if (!row_str.equals("")) { @@ -992,7 +992,7 @@ throw new SQLException("Error retrieving next row"); } // NOTE: fetchOne dosn't throw new SQLException("Method not supported"). - return row_str != ""; + return !row_str.equals(""); } /* (non-Javadoc)