Following [CALCITE-1803], clean up the flow control logic (Junxian Wu)

Close apache/calcite#499


Project: http://git-wip-us.apache.org/repos/asf/calcite/repo
Commit: http://git-wip-us.apache.org/repos/asf/calcite/commit/cbbe627f
Tree: http://git-wip-us.apache.org/repos/asf/calcite/tree/cbbe627f
Diff: http://git-wip-us.apache.org/repos/asf/calcite/diff/cbbe627f

Branch: refs/heads/master
Commit: cbbe627feac1293796f68ff8ec8d4bd7b64724d2
Parents: 93a96dd
Author: Junxian Wu <[email protected]>
Authored: Mon Jul 17 17:44:58 2017 -0700
Committer: Julian Hyde <[email protected]>
Committed: Mon Jul 17 22:03:16 2017 -0700

----------------------------------------------------------------------
 .../adapter/druid/DruidConnectionImpl.java      | 29 ++++++++++----------
 1 file changed, 15 insertions(+), 14 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/calcite/blob/cbbe627f/druid/src/main/java/org/apache/calcite/adapter/druid/DruidConnectionImpl.java
----------------------------------------------------------------------
diff --git 
a/druid/src/main/java/org/apache/calcite/adapter/druid/DruidConnectionImpl.java 
b/druid/src/main/java/org/apache/calcite/adapter/druid/DruidConnectionImpl.java
index fe11e0a..191ec47 100644
--- 
a/druid/src/main/java/org/apache/calcite/adapter/druid/DruidConnectionImpl.java
+++ 
b/druid/src/main/java/org/apache/calcite/adapter/druid/DruidConnectionImpl.java
@@ -338,7 +338,7 @@ class DruidConnectionImpl implements DruidConnection {
       break;
     case VALUE_STRING:
     default:
-      String s = parser.getText();
+      final String s = parser.getText();
       if (type != null) {
         switch (type) {
         case LONG:
@@ -347,32 +347,33 @@ class DruidConnectionImpl implements DruidConnection {
         case PRIMITIVE_SHORT:
         case INTEGER:
         case PRIMITIVE_INT:
-          if (s.equals("Infinity") || s.equals("-Infinity") || 
s.equals("NaN")) {
+          switch (s) {
+          case "Infinity":
+          case "-Infinity":
+          case "NaN":
             throw new RuntimeException("/ by zero");
           }
+          break;
         case FLOAT:
         case PRIMITIVE_FLOAT:
         case PRIMITIVE_DOUBLE:
         case NUMBER:
         case DOUBLE:
-          if (s.equals("Infinity")) {
+          switch (s) {
+          case "Infinity":
             rowBuilder.set(i, Double.POSITIVE_INFINITY);
-            break;
-          } else if (s.equals("-Infinity")) {
+            return;
+          case "-Infinity":
             rowBuilder.set(i, Double.NEGATIVE_INFINITY);
-            break;
-          } else if (s.equals("NaN")) {
+            return;
+          case "NaN":
             rowBuilder.set(i, Double.NaN);
-            break;
+            return;
           }
-          //fallthrough
-        default:
-          rowBuilder.set(i, s);
-          break;
         }
-      } else {
-        rowBuilder.set(i, s);
       }
+      rowBuilder.set(i, s);
+      break;
     }
   }
 

Reply via email to