You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@drill.apache.org by GitBox <gi...@apache.org> on 2018/11/29 20:27:31 UTC

[GitHub] asfgit closed pull request #1556: DRILL-6866: Upgrade to SqlLine 1.6.0

asfgit closed pull request #1556: DRILL-6866: Upgrade to SqlLine 1.6.0
URL: https://github.com/apache/drill/pull/1556
 
 
   

This is a PR merged from a forked repository.
As GitHub hides the original diff on merge, it is displayed below for
the sake of provenance:

As this is a foreign pull request (from a fork), the diff is supplied
below (as it won't show otherwise due to GitHub magic):

diff --git a/exec/java-exec/src/main/java/org/apache/drill/exec/client/DrillSqlLineApplication.java b/exec/java-exec/src/main/java/org/apache/drill/exec/client/DrillSqlLineApplication.java
index 13d2b3385cd..cc0426b1a65 100644
--- a/exec/java-exec/src/main/java/org/apache/drill/exec/client/DrillSqlLineApplication.java
+++ b/exec/java-exec/src/main/java/org/apache/drill/exec/client/DrillSqlLineApplication.java
@@ -19,10 +19,10 @@
 
 import com.typesafe.config.Config;
 import com.typesafe.config.ConfigFactory;
-import jline.console.completer.StringsCompleter;
 import org.apache.drill.common.scanner.ClassPathScanner;
 import org.apache.drill.common.util.DrillVersionInfo;
 import org.apache.drill.shaded.guava.com.google.common.annotations.VisibleForTesting;
+import org.jline.reader.impl.completer.StringsCompleter;
 import sqlline.Application;
 import sqlline.CommandHandler;
 import sqlline.OutputFormat;
@@ -81,19 +81,24 @@ public Config getConfig() {
   }
 
   @Override
-  public String getInfoMessage() throws Exception {
+  public String getInfoMessage() {
     if (config.hasPath(INFO_MESSAGE_TEMPLATE_CONF)) {
       String quote = "";
       if (config.hasPath(QUOTES_CONF)) {
         List<String> quotes = config.getStringList(QUOTES_CONF);
         quote = quotes.get(new Random().nextInt(quotes.size()));
       }
-      return String.format(config.getString(INFO_MESSAGE_TEMPLATE_CONF), DrillVersionInfo.getVersion(), quote);
+      return String.format(config.getString(INFO_MESSAGE_TEMPLATE_CONF), getVersion(), quote);
     }
 
     return super.getInfoMessage();
   }
 
+  @Override
+  public String getVersion() {
+    return DrillVersionInfo.getVersion();
+  }
+
   @Override
   public Collection<String> initDrivers() {
     if (config.hasPath(DRIVERS_CONF)) {
diff --git a/exec/java-exec/src/main/resources/drill-sqlline.conf b/exec/java-exec/src/main/resources/drill-sqlline.conf
index e081794a17a..703944d6868 100644
--- a/exec/java-exec/src/main/resources/drill-sqlline.conf
+++ b/exec/java-exec/src/main/resources/drill-sqlline.conf
@@ -83,6 +83,10 @@ drill.sqlline {
   opts: {
     incremental: false,
     isolation: TRANSACTION_NONE,
-    maxWidth: 10000
+    maxWidth: 10000,
+    maxColumnWidth: 80,
+    colorScheme: obsidian,
+    # display null values for varchar / char / boolean as null
+    nullValue: "null"
   }
 }
diff --git a/exec/java-exec/src/test/java/org/apache/drill/exec/client/DrillSqlLineApplicationTest.java b/exec/java-exec/src/test/java/org/apache/drill/exec/client/DrillSqlLineApplicationTest.java
index 8d3c290ac4e..945df70a8df 100644
--- a/exec/java-exec/src/test/java/org/apache/drill/exec/client/DrillSqlLineApplicationTest.java
+++ b/exec/java-exec/src/test/java/org/apache/drill/exec/client/DrillSqlLineApplicationTest.java
@@ -17,8 +17,10 @@
  */
 package org.apache.drill.exec.client;
 
+import org.apache.drill.common.util.DrillVersionInfo;
 import org.junit.BeforeClass;
 import org.junit.Test;
+import sqlline.Application;
 import sqlline.CommandHandler;
 import sqlline.OutputFormat;
 import sqlline.SqlLine;
@@ -38,7 +40,7 @@
 
 public class DrillSqlLineApplicationTest {
 
-  private static DrillSqlLineApplication application;
+  private static Application application;
 
   @BeforeClass
   public static void init() {
@@ -48,11 +50,16 @@ public static void init() {
   }
 
   @Test
-  public void testInfoMessage() throws Exception {
+  public void testInfoMessage() {
     String infoMessage = application.getInfoMessage();
     assertThat(infoMessage, containsString("\"All code is guilty until proven innocent.\""));
   }
 
+  @Test
+  public void testVersion() {
+    assertEquals(DrillVersionInfo.getVersion(), application.getVersion());
+  }
+
   @Test
   public void testDrivers() {
     Collection<String> drivers = application.initDrivers();
@@ -92,8 +99,10 @@ public void testOpts() {
     SqlLineOpts opts = application.getOpts(sqlLine);
     assertFalse(opts.getIncremental());
     assertEquals("TRANSACTION_NONE", opts.getIsolation());
-    assertEquals(20_000, opts.getMaxWidth());
+    assertEquals(80, opts.getMaxColumnWidth());
     assertEquals(200, opts.getTimeout());
+    assertEquals("obsidian", opts.getColorScheme());
+    assertEquals("null", opts.getNullValue());
   }
 
   @Test
diff --git a/exec/jdbc/src/main/java/org/apache/drill/jdbc/DrillConnectionConfig.java b/exec/jdbc/src/main/java/org/apache/drill/jdbc/DrillConnectionConfig.java
index 7067caf3d3d..c87fe717760 100644
--- a/exec/jdbc/src/main/java/org/apache/drill/jdbc/DrillConnectionConfig.java
+++ b/exec/jdbc/src/main/java/org/apache/drill/jdbc/DrillConnectionConfig.java
@@ -35,7 +35,7 @@
  *  <p>
  *    In the meantime, clients must not use the fact that
  *    {@code DrillConnectionConfig} currently extends
- *    {@link net.hydromatic.avatica.ConnectionConfigImpl}.  They must call only
+ *    {@link ConnectionConfigImpl}.  They must call only
  *    methods declared directly in DrillConnectionConfig (or inherited Object).
  *  </p>
  */
diff --git a/exec/jdbc/src/main/java/org/apache/drill/jdbc/impl/AvaticaDrillSqlAccessor.java b/exec/jdbc/src/main/java/org/apache/drill/jdbc/impl/AvaticaDrillSqlAccessor.java
index 082e2941dc4..a4d9e96fe75 100644
--- a/exec/jdbc/src/main/java/org/apache/drill/jdbc/impl/AvaticaDrillSqlAccessor.java
+++ b/exec/jdbc/src/main/java/org/apache/drill/jdbc/impl/AvaticaDrillSqlAccessor.java
@@ -39,11 +39,10 @@
 import org.apache.drill.exec.vector.accessor.SqlAccessor;
 import org.apache.drill.jdbc.InvalidCursorStateSqlException;
 
-
 // TODO:  Revisit adding null check for non-primitive types to SqlAccessor's
 // contract and classes generated by SqlAccessor template (DRILL-xxxx).
 
-class AvaticaDrillSqlAccessor implements Accessor {
+public class AvaticaDrillSqlAccessor implements Accessor {
   private static final org.slf4j.Logger logger = org.slf4j.LoggerFactory.getLogger(AvaticaDrillSqlAccessor.class);
 
   private final static byte PRIMITIVE_NUM_NULL_VALUE = 0;
diff --git a/exec/jdbc/src/main/java/org/apache/drill/jdbc/impl/DrillConnectionImpl.java b/exec/jdbc/src/main/java/org/apache/drill/jdbc/impl/DrillConnectionImpl.java
index 820044e4141..df23f40e1b0 100644
--- a/exec/jdbc/src/main/java/org/apache/drill/jdbc/impl/DrillConnectionImpl.java
+++ b/exec/jdbc/src/main/java/org/apache/drill/jdbc/impl/DrillConnectionImpl.java
@@ -81,7 +81,7 @@
 // (Was abstract to avoid errors _here_ if newer versions of JDBC added
 // interface methods, but now newer versions would probably use Java 8's default
 // methods for compatibility.)
-class DrillConnectionImpl extends AvaticaConnection
+public class DrillConnectionImpl extends AvaticaConnection
                           implements DrillConnection {
   private static final org.slf4j.Logger logger =
       org.slf4j.LoggerFactory.getLogger(DrillConnection.class);
@@ -95,7 +95,7 @@
   private RemoteServiceSet serviceSet;
 
 
-  protected DrillConnectionImpl(DriverImpl driver, AvaticaFactory factory,
+  public DrillConnectionImpl(DriverImpl driver, AvaticaFactory factory,
                                 String url, Properties info) throws SQLException {
     super(driver, factory, url, info);
 
diff --git a/exec/jdbc/src/main/java/org/apache/drill/jdbc/impl/DrillCursor.java b/exec/jdbc/src/main/java/org/apache/drill/jdbc/impl/DrillCursor.java
index 888a90993f8..7025f18608a 100644
--- a/exec/jdbc/src/main/java/org/apache/drill/jdbc/impl/DrillCursor.java
+++ b/exec/jdbc/src/main/java/org/apache/drill/jdbc/impl/DrillCursor.java
@@ -59,7 +59,7 @@
 import org.apache.drill.shaded.guava.com.google.common.collect.Queues;
 
 
-class DrillCursor implements Cursor {
+public class DrillCursor implements Cursor {
 
   ////////////////////////////////////////
   // ResultsListener:
diff --git a/exec/jdbc/src/main/java/org/apache/drill/jdbc/impl/DrillDatabaseMetaDataImpl.java b/exec/jdbc/src/main/java/org/apache/drill/jdbc/impl/DrillDatabaseMetaDataImpl.java
index 78617b8812d..e080721a1ac 100644
--- a/exec/jdbc/src/main/java/org/apache/drill/jdbc/impl/DrillDatabaseMetaDataImpl.java
+++ b/exec/jdbc/src/main/java/org/apache/drill/jdbc/impl/DrillDatabaseMetaDataImpl.java
@@ -56,9 +56,7 @@
 /**
  * Drill's implementation of {@link java.sql.DatabaseMetaData}.
  */
-class DrillDatabaseMetaDataImpl extends AvaticaDatabaseMetaData
-                                implements DrillDatabaseMetaData {
-
+public class DrillDatabaseMetaDataImpl extends AvaticaDatabaseMetaData implements DrillDatabaseMetaData {
 
   /**
    * Holds allowed conversion between SQL types
diff --git a/exec/jdbc/src/main/java/org/apache/drill/jdbc/impl/DrillFactory.java b/exec/jdbc/src/main/java/org/apache/drill/jdbc/impl/DrillFactory.java
index b0a53d48b3a..d87742e20ac 100644
--- a/exec/jdbc/src/main/java/org/apache/drill/jdbc/impl/DrillFactory.java
+++ b/exec/jdbc/src/main/java/org/apache/drill/jdbc/impl/DrillFactory.java
@@ -24,9 +24,8 @@
 import java.sql.SQLException;
 import java.util.Properties;
 
-
 /**
- * Partial implementation of {@link net.hydromatic.avatica.AvaticaFactory}
+ * Partial implementation of {@link AvaticaFactory}
  * (factory for main JDBC objects) for Drill's JDBC driver.
  * <p>
  *   Handles JDBC version number.
diff --git a/exec/jdbc/src/main/java/org/apache/drill/jdbc/impl/DrillHandler.java b/exec/jdbc/src/main/java/org/apache/drill/jdbc/impl/DrillHandler.java
index 1c795ddd972..84fed2bb5d0 100644
--- a/exec/jdbc/src/main/java/org/apache/drill/jdbc/impl/DrillHandler.java
+++ b/exec/jdbc/src/main/java/org/apache/drill/jdbc/impl/DrillHandler.java
@@ -17,17 +17,15 @@
  */
 package org.apache.drill.jdbc.impl;
 
-import java.sql.SQLException;
-
 import org.apache.calcite.avatica.AvaticaConnection;
 import org.apache.calcite.avatica.AvaticaStatement;
 import org.apache.calcite.avatica.Handler;
 
-class DrillHandler implements Handler {
+public class DrillHandler implements Handler {
   static final org.slf4j.Logger logger = org.slf4j.LoggerFactory.getLogger(DrillHandler.class);
 
   @Override
-  public void onConnectionInit(AvaticaConnection c) throws SQLException {
+  public void onConnectionInit(AvaticaConnection c) {
   }
 
   @Override
diff --git a/exec/jdbc/src/main/java/org/apache/drill/jdbc/impl/DrillMetaImpl.java b/exec/jdbc/src/main/java/org/apache/drill/jdbc/impl/DrillMetaImpl.java
index cf44cc9864d..2b61a6a3a41 100644
--- a/exec/jdbc/src/main/java/org/apache/drill/jdbc/impl/DrillMetaImpl.java
+++ b/exec/jdbc/src/main/java/org/apache/drill/jdbc/impl/DrillMetaImpl.java
@@ -64,9 +64,7 @@
 import org.apache.drill.shaded.guava.com.google.common.collect.ImmutableMap;
 import org.apache.drill.shaded.guava.com.google.common.collect.Lists;
 
-
-
-class DrillMetaImpl extends MetaImpl {
+public class DrillMetaImpl extends MetaImpl {
   private static final org.slf4j.Logger logger = org.slf4j.LoggerFactory.getLogger(DrillMetaImpl.class);
 
   // TODO:  Use more central version of these constants if available.
diff --git a/exec/jdbc/src/main/java/org/apache/drill/jdbc/impl/DrillResultSetImpl.java b/exec/jdbc/src/main/java/org/apache/drill/jdbc/impl/DrillResultSetImpl.java
index 835543c6aa9..e3cf4bb16e6 100644
--- a/exec/jdbc/src/main/java/org/apache/drill/jdbc/impl/DrillResultSetImpl.java
+++ b/exec/jdbc/src/main/java/org/apache/drill/jdbc/impl/DrillResultSetImpl.java
@@ -58,13 +58,13 @@
 /**
  * Drill's implementation of {@link java.sql.ResultSet}.
  */
-class DrillResultSetImpl extends AvaticaResultSet implements DrillResultSet {
+public class DrillResultSetImpl extends AvaticaResultSet implements DrillResultSet {
   @SuppressWarnings("unused")
   private static final org.slf4j.Logger logger =
       org.slf4j.LoggerFactory.getLogger(DrillResultSetImpl.class);
 
   private final DrillConnectionImpl connection;
-  private volatile boolean hasPendingCancelationNotification = false;
+  private volatile boolean hasPendingCancellationNotification = false;
 
   //Timeout Support Variables
   private Stopwatch elapsedTimer;
@@ -90,8 +90,8 @@
   @Override
   protected void checkOpen() throws SQLException {
     if (isClosed()) {
-      if (cursor instanceof DrillCursor && hasPendingCancelationNotification) {
-        hasPendingCancelationNotification = false;
+      if (cursor instanceof DrillCursor && hasPendingCancellationNotification) {
+        hasPendingCancellationNotification = false;
         throw new ExecutionCanceledSqlException(
             "SQL statement execution canceled; ResultSet now closed.");
       } else {
@@ -119,7 +119,7 @@ protected void checkOpen() throws SQLException {
   @Override
   protected void cancel() {
     if (cursor instanceof DrillCursor) {
-      hasPendingCancelationNotification = true;
+      hasPendingCancellationNotification = true;
       ((DrillCursor) cursor).cancel();
     } else {
       super.cancel();
diff --git a/exec/jdbc/src/main/java/org/apache/drill/jdbc/impl/DrillStatementImpl.java b/exec/jdbc/src/main/java/org/apache/drill/jdbc/impl/DrillStatementImpl.java
index 7255c759d9b..e2747dfbde7 100644
--- a/exec/jdbc/src/main/java/org/apache/drill/jdbc/impl/DrillStatementImpl.java
+++ b/exec/jdbc/src/main/java/org/apache/drill/jdbc/impl/DrillStatementImpl.java
@@ -34,7 +34,7 @@
 // (Was abstract to avoid errors _here_ if newer versions of JDBC added
 // interface methods, but now newer versions would probably use Java 8's default
 // methods for compatibility.)
-class DrillStatementImpl extends AvaticaStatement implements DrillStatement,
+public class DrillStatementImpl extends AvaticaStatement implements DrillStatement,
                                                              DrillRemoteStatement {
 
   private final DrillConnectionImpl connection;
diff --git a/exec/jdbc/src/main/java/org/apache/drill/jdbc/impl/WrappedAccessor.java b/exec/jdbc/src/main/java/org/apache/drill/jdbc/impl/WrappedAccessor.java
index 8885206e262..22c2b961b38 100644
--- a/exec/jdbc/src/main/java/org/apache/drill/jdbc/impl/WrappedAccessor.java
+++ b/exec/jdbc/src/main/java/org/apache/drill/jdbc/impl/WrappedAccessor.java
@@ -42,7 +42,7 @@
  * instead
  *
  */
-class WrappedAccessor implements Accessor {
+public class WrappedAccessor implements Accessor {
   private final Accessor delegate;
 
   public WrappedAccessor(Accessor delegate) {
diff --git a/pom.xml b/pom.xml
index bd512c4d6f7..fd54f0e235c 100644
--- a/pom.xml
+++ b/pom.xml
@@ -49,7 +49,7 @@
     <calcite.version>1.17.0-drill-r1</calcite.version>
     <avatica.version>1.12.0</avatica.version>
     <janino.version>3.0.11</janino.version>
-    <sqlline.version>1.5.0</sqlline.version>
+    <sqlline.version>1.6.0</sqlline.version>
     <jackson.version>2.9.5</jackson.version>
     <jackson.databind.version>2.9.5</jackson.databind.version>
     <zookeeper.version>3.4.12</zookeeper.version>


 

----------------------------------------------------------------
This is an automated message from the Apache Git Service.
To respond to the message, please log on GitHub and use the
URL above to go to the specific comment.
 
For queries about this service, please contact Infrastructure at:
users@infra.apache.org


With regards,
Apache Git Services