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);
   }
 
+
+
 }