You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@hive.apache.org by rh...@apache.org on 2014/03/26 19:08:50 UTC
svn commit: r1581973 - in /hive/trunk/beeline/src:
java/org/apache/hive/beeline/BeeLine.java
java/org/apache/hive/beeline/Commands.java main/resources/BeeLine.properties
Author: rhbutani
Date: Wed Mar 26 18:08:50 2014
New Revision: 1581973
URL: http://svn.apache.org/r1581973
Log:
HIVE-5768 Beeline connection cannot be closed with not close command (Navis Ryu via Brock Noland)
Modified:
hive/trunk/beeline/src/java/org/apache/hive/beeline/BeeLine.java
hive/trunk/beeline/src/java/org/apache/hive/beeline/Commands.java
hive/trunk/beeline/src/main/resources/BeeLine.properties
Modified: hive/trunk/beeline/src/java/org/apache/hive/beeline/BeeLine.java
URL: http://svn.apache.org/viewvc/hive/trunk/beeline/src/java/org/apache/hive/beeline/BeeLine.java?rev=1581973&r1=1581972&r2=1581973&view=diff
==============================================================================
--- hive/trunk/beeline/src/java/org/apache/hive/beeline/BeeLine.java (original)
+++ hive/trunk/beeline/src/java/org/apache/hive/beeline/BeeLine.java Wed Mar 26 18:08:50 2014
@@ -779,19 +779,27 @@ public class BeeLine {
for (int i = 0; i < commandHandlers.length; i++) {
String match = commandHandlers[i].matches(line);
if (match != null) {
- cmdMap.put(match, commandHandlers[i]);
+ CommandHandler prev = cmdMap.put(match, commandHandlers[i]);
+ if (prev != null) {
+ return error(loc("multiple-matches",
+ Arrays.asList(prev.getName(), commandHandlers[i].getName())));
+ }
}
}
if (cmdMap.size() == 0) {
return error(loc("unknown-command", line));
- } else if (cmdMap.size() > 1) {
- return error(loc("multiple-matches",
- cmdMap.keySet().toString()));
- } else {
- return cmdMap.values().iterator().next()
- .execute(line);
}
+ if (cmdMap.size() > 1) {
+ // any exact match?
+ CommandHandler handler = cmdMap.get(line);
+ if (handler == null) {
+ return error(loc("multiple-matches", cmdMap.keySet().toString()));
+ }
+ return handler.execute(line);
+ }
+ return cmdMap.values().iterator().next()
+ .execute(line);
} else {
return commands.sql(line);
}
Modified: hive/trunk/beeline/src/java/org/apache/hive/beeline/Commands.java
URL: http://svn.apache.org/viewvc/hive/trunk/beeline/src/java/org/apache/hive/beeline/Commands.java?rev=1581973&r1=1581972&r2=1581973&view=diff
==============================================================================
--- hive/trunk/beeline/src/java/org/apache/hive/beeline/Commands.java (original)
+++ hive/trunk/beeline/src/java/org/apache/hive/beeline/Commands.java Wed Mar 26 18:08:50 2014
@@ -801,8 +801,8 @@ public class Commands {
try {
if (beeLine.getDatabaseConnection().getConnection() != null
&& !(beeLine.getDatabaseConnection().getConnection().isClosed())) {
- beeLine.info(beeLine.loc("closing",
- beeLine.getDatabaseConnection().getConnection().getClass().getName()));
+ int index = beeLine.getDatabaseConnections().getIndex();
+ beeLine.info(beeLine.loc("closing", index, beeLine.getDatabaseConnection()));
beeLine.getDatabaseConnection().getConnection().close();
} else {
beeLine.info(beeLine.loc("already-closed"));
Modified: hive/trunk/beeline/src/main/resources/BeeLine.properties
URL: http://svn.apache.org/viewvc/hive/trunk/beeline/src/main/resources/BeeLine.properties?rev=1581973&r1=1581972&r2=1581973&view=diff
==============================================================================
--- hive/trunk/beeline/src/main/resources/BeeLine.properties (original)
+++ hive/trunk/beeline/src/main/resources/BeeLine.properties Wed Mar 26 18:08:50 2014
@@ -81,7 +81,7 @@ scanning: Scanning {0}...
no-such-method: No such method "{0}"
possible-methods: Possible methods:
-closing: Closing: {0}
+closing: Closing: {0}: {1}
already-closed: Connection is already closed.
error-setting: Error setting configuration: {0}: {1}
no-method: No method matching "{0}" was found in {1}.