You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@hive.apache.org by ha...@apache.org on 2013/07/01 22:35:25 UTC
svn commit: r1498673 - in /hive/trunk/jdbc/src:
java/org/apache/hive/jdbc/Utils.java
test/org/apache/hive/jdbc/TestJdbcDriver2.java
Author: hashutosh
Date: Mon Jul 1 20:35:25 2013
New Revision: 1498673
URL: http://svn.apache.org/r1498673
Log:
HIVE-4406 : Missing / or /<dbname> in hs2 jdbc uri switches mode to embedded mode(Anandha Ranganathan via Ashutosh Chauhan)
Modified:
hive/trunk/jdbc/src/java/org/apache/hive/jdbc/Utils.java
hive/trunk/jdbc/src/test/org/apache/hive/jdbc/TestJdbcDriver2.java
Modified: hive/trunk/jdbc/src/java/org/apache/hive/jdbc/Utils.java
URL: http://svn.apache.org/viewvc/hive/trunk/jdbc/src/java/org/apache/hive/jdbc/Utils.java?rev=1498673&r1=1498672&r2=1498673&view=diff
==============================================================================
--- hive/trunk/jdbc/src/java/org/apache/hive/jdbc/Utils.java (original)
+++ hive/trunk/jdbc/src/java/org/apache/hive/jdbc/Utils.java Mon Jul 1 20:35:25 2013
@@ -190,8 +190,15 @@ public class Utils {
connParams.setEmbeddedMode(true);
return connParams;
}
+
URI jdbcURI = URI.create(uri.substring(URI_JDBC_PREFIX.length()));
+ // If the url format contains like this, then condition will get execute.
+ // jdbc:hive2://localhost:10000;principal=hive/HiveServer2Host@YOUR-REALM.COM
+ if((jdbcURI.getPath().equals("")) && (jdbcURI.getHost()==null)){
+ throw new IllegalArgumentException("Bad URL format and it should be in the format of jdbc:hive2://<hostame>:<port>/<DB_name>");
+ }
+
connParams.setHost(jdbcURI.getHost());
if (connParams.getHost() == null) {
connParams.setEmbeddedMode(true);
Modified: hive/trunk/jdbc/src/test/org/apache/hive/jdbc/TestJdbcDriver2.java
URL: http://svn.apache.org/viewvc/hive/trunk/jdbc/src/test/org/apache/hive/jdbc/TestJdbcDriver2.java?rev=1498673&r1=1498672&r2=1498673&view=diff
==============================================================================
--- hive/trunk/jdbc/src/test/org/apache/hive/jdbc/TestJdbcDriver2.java (original)
+++ hive/trunk/jdbc/src/test/org/apache/hive/jdbc/TestJdbcDriver2.java Mon Jul 1 20:35:25 2013
@@ -195,6 +195,19 @@ public class TestJdbcDriver2 extends Tes
expectedException);
}
+ public void testBadURL() throws Exception {
+ Class.forName(driverName);
+ try{
+
+ DriverManager.getConnection("jdbc:hive2://localhost:10000;principal=test", "", "");
+ fail("should have thrown IllegalArgumentException but did not ");
+
+ }catch(IllegalArgumentException i){
+ assertEquals("Bad URL format and it should be in the format of jdbc:hive2://<hostame>:<port>/<DB_name>", i.getMessage());
+ }
+ }
+
+
public void testDataTypes2() throws Exception {
Statement stmt = con.createStatement();
@@ -1300,4 +1313,6 @@ public class TestJdbcDriver2 extends Tes
assertNull(conn);
}
+
+
}