You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@drill.apache.org by ad...@apache.org on 2015/09/02 20:42:51 UTC
[3/4] drill git commit: DRILL-3661: Edit JDBC doc. for clarity,
more consistency, bug fixes.
DRILL-3661: Edit JDBC doc. for clarity, more consistency, bug fixes.
Also fixed two serialVersionUID literals.
Project: http://git-wip-us.apache.org/repos/asf/drill/repo
Commit: http://git-wip-us.apache.org/repos/asf/drill/commit/e9035bef
Tree: http://git-wip-us.apache.org/repos/asf/drill/tree/e9035bef
Diff: http://git-wip-us.apache.org/repos/asf/drill/diff/e9035bef
Branch: refs/heads/master
Commit: e9035bef86409bbe0ab85ab51194ce8658aa1316
Parents: 3ad9a42
Author: dbarclay <db...@maprtech.com>
Authored: Mon Aug 17 17:26:45 2015 -0700
Committer: dbarclay <db...@maprtech.com>
Committed: Wed Sep 2 10:02:20 2015 -0700
----------------------------------------------------------------------
.../drill/jdbc/AlreadyClosedSqlException.java | 2 +
.../org/apache/drill/jdbc/DrillConnection.java | 29 ++++++----
.../drill/jdbc/DrillConnectionConfig.java | 18 +++++++
.../drill/jdbc/DrillDatabaseMetaData.java | 34 ++++++++++--
.../drill/jdbc/DrillPreparedStatement.java | 3 +-
.../org/apache/drill/jdbc/DrillResultSet.java | 33 ++++++++----
.../org/apache/drill/jdbc/DrillStatement.java | 6 ++-
.../main/java/org/apache/drill/jdbc/Driver.java | 4 +-
.../jdbc/InvalidCursorStateSqlException.java | 2 +
.../apache/drill/jdbc/JdbcApiSqlException.java | 5 ++
.../drill/jdbc/SQLConversionException.java | 2 +-
.../jdbc/SQLConversionOverflowException.java | 2 +-
.../jdbc/impl/AvaticaDrillSqlAccessor.java | 2 +-
.../drill/jdbc/impl/DrillConnectionImpl.java | 1 +
.../org/apache/drill/jdbc/impl/DrillCursor.java | 20 ++++---
.../jdbc/impl/DrillDatabaseMetaDataImpl.java | 2 +
.../apache/drill/jdbc/impl/DrillFactory.java | 2 +-
.../drill/jdbc/impl/DrillResultSetImpl.java | 1 +
.../drill/jdbc/impl/DrillStatementImpl.java | 1 +
.../org/apache/drill/jdbc/impl/MetaImpl.java | 2 +-
.../jdbc/impl/TypeConvertingSqlAccessor.java | 1 +
.../org/apache/drill/jdbc/package-info.java | 3 ++
.../drill/jdbc/proxy/TracingProxyDriver.java | 56 +++++++++++---------
.../apache/drill/jdbc/proxy/package-info.java | 2 +-
.../jdbc/ResultSetGetMethodConversionsTest.java | 2 +-
.../jdbc/SingleConnectionCachingFactory.java | 2 +-
.../impl/TypeConvertingSqlAccessorTest.java | 5 +-
...l2489CallsAfterCloseThrowExceptionsTest.java | 1 +
28 files changed, 171 insertions(+), 72 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/drill/blob/e9035bef/exec/jdbc/src/main/java/org/apache/drill/jdbc/AlreadyClosedSqlException.java
----------------------------------------------------------------------
diff --git a/exec/jdbc/src/main/java/org/apache/drill/jdbc/AlreadyClosedSqlException.java b/exec/jdbc/src/main/java/org/apache/drill/jdbc/AlreadyClosedSqlException.java
index 8ad8d2d..5c34868 100644
--- a/exec/jdbc/src/main/java/org/apache/drill/jdbc/AlreadyClosedSqlException.java
+++ b/exec/jdbc/src/main/java/org/apache/drill/jdbc/AlreadyClosedSqlException.java
@@ -17,6 +17,8 @@
*/
package org.apache.drill.jdbc;
+import java.sql.Statement;
+
/**
* SQLException for object-already-closed conditions, e.g., calling a method
http://git-wip-us.apache.org/repos/asf/drill/blob/e9035bef/exec/jdbc/src/main/java/org/apache/drill/jdbc/DrillConnection.java
----------------------------------------------------------------------
diff --git a/exec/jdbc/src/main/java/org/apache/drill/jdbc/DrillConnection.java b/exec/jdbc/src/main/java/org/apache/drill/jdbc/DrillConnection.java
index 608bf05..511447c 100644
--- a/exec/jdbc/src/main/java/org/apache/drill/jdbc/DrillConnection.java
+++ b/exec/jdbc/src/main/java/org/apache/drill/jdbc/DrillConnection.java
@@ -38,7 +38,7 @@ public interface DrillConnection extends Connection {
* {@inheritDoc}
* <p>
* <strong>Drill</strong>:
- * Drill's implementation accepts {@code DrillConnection.class}.
+ * Accepts {@code DrillConnection.class}.
* </p>
*/
@Override
@@ -48,7 +48,7 @@ public interface DrillConnection extends Connection {
* {@inheritDoc}
* <p>
* <strong>Drill</strong>:
- * Drill's implementation returns true for {@code DrillConnection.class}.
+ * Returns true for {@code DrillConnection.class}.
* </p>
*/
@Override
@@ -70,7 +70,7 @@ public interface DrillConnection extends Connection {
* {@inheritDoc}
* <p>
* <strong>Drill</strong>:
- * Drill's implementation always returns {@code true}.
+ * Always returns {@code true}.
* </p>
*/
@Override
@@ -78,6 +78,7 @@ public interface DrillConnection extends Connection {
/**
+ * <strong>Drill</strong>:
* Not supported. Always throws {@link SQLFeatureNotSupportedException} (or
* {@link AlreadyClosedSqlException})..
*/
@@ -86,6 +87,7 @@ public interface DrillConnection extends Connection {
/**
+ * <strong>Drill</strong>:
* Not supported. Always throws {@link SQLFeatureNotSupportedException} (or
* {@link AlreadyClosedSqlException}).
*/
@@ -96,7 +98,8 @@ public interface DrillConnection extends Connection {
/**
* {@inheritDoc}
* <p>
- * <strong>Drill</strong>: Does not throw SQLException.
+ * <strong>Drill</strong>:
+ * Does not throw SQLException.
* </p>
*/
@Override
@@ -107,11 +110,11 @@ public interface DrillConnection extends Connection {
* {@inheritDoc}
* <p>
* <strong>Drill</strong>:
- * Accepts only {@link Connection.TRANSACTION_NONE}.
+ * Accepts only {@link Connection#TRANSACTION_NONE}.
* </p>
*
* @throws SQLFeatureNotSupportedException if {@code level} is not
- * {@link Connection.TRANSACTION_NONE}.
+ * {@link Connection#TRANSACTION_NONE}.
*/
@Override
void setTransactionIsolation(int level) throws SQLFeatureNotSupportedException,
@@ -121,7 +124,7 @@ public interface DrillConnection extends Connection {
* {@inheritDoc}
* <p>
* <strong>Drill</strong>:
- * Drill's implementation always returns {@link Connection#TRANSACTION_NONE}.
+ * Always returns {@link Connection#TRANSACTION_NONE}.
* </p>
*/
@Override
@@ -129,6 +132,7 @@ public interface DrillConnection extends Connection {
/**
+ * <strong>Drill</strong>:
* Not supported. Always throws {@link SQLFeatureNotSupportedException} (or
* {@link AlreadyClosedSqlException}).
*/
@@ -136,6 +140,7 @@ public interface DrillConnection extends Connection {
Savepoint setSavepoint() throws SQLException;
/**
+ * <strong>Drill</strong>:
* Not supported. Always throws {@link SQLFeatureNotSupportedException} (or
* {@link AlreadyClosedSqlException}).
*/
@@ -143,6 +148,7 @@ public interface DrillConnection extends Connection {
Savepoint setSavepoint(String name) throws SQLException;
/**
+ * <strong>Drill</strong>:
* Not supported. Always throws {@link SQLFeatureNotSupportedException} (or
* {@link AlreadyClosedSqlException}).
*/
@@ -150,6 +156,7 @@ public interface DrillConnection extends Connection {
void rollback(Savepoint savepoint) throws SQLException;
/**
+ * <strong>Drill</strong>:
* Not supported. Always throws {@link SQLFeatureNotSupportedException} (or
* {@link AlreadyClosedSqlException}).
*/
@@ -165,6 +172,7 @@ public interface DrillConnection extends Connection {
/**
+ * <strong>Drill</strong>:
* Not supported (for non-zero timeout value).
* <p>
* Normally, just throws {@link SQLFeatureNotSupportedException} unless
@@ -184,6 +192,7 @@ public interface DrillConnection extends Connection {
SQLFeatureNotSupportedException;
/**
+ * <strong>Drill</strong>:
* Returns zero.
* {@inheritDoc}
* @throws AlreadyClosedSqlException
@@ -196,9 +205,11 @@ public interface DrillConnection extends Connection {
//////////////////////////////////////////////////////////////////////
// Drill extensions.
- /** Returns a view onto this connection's configuration properties. Code
+ /**
+ * Returns a view onto this connection's configuration properties. Code
* within Optiq should use this view rather than calling
- * {@link java.util.Properties#getProperty(String)}. */
+ * {@link java.util.Properties#getProperty(String)}.
+ */
DrillConnectionConfig getConfig();
DrillClient getClient();
http://git-wip-us.apache.org/repos/asf/drill/blob/e9035bef/exec/jdbc/src/main/java/org/apache/drill/jdbc/DrillConnectionConfig.java
----------------------------------------------------------------------
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 1be4bb1..51d3a0a 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
@@ -22,6 +22,24 @@ import java.util.TimeZone;
import net.hydromatic.avatica.ConnectionConfigImpl;
+
+// TODO(DRILL-xxxx): Change public DrillConnectionConfig from class to interface.
+// Move implementation (including inheritance from
+// net.hydromatic.avatica.ConnectionConfigImpl) from published-interface package
+// org.apache.drill.jdbc to class in implementation package
+// org.apache.drill.jdbc.impl.
+/**
+ * ...
+ * <p>
+ * NOTE: DrillConnectionConfig will be changed from a class to an interface.
+ * </p>
+ * <p>
+ * In the meantime, clients must not use the fact that
+ * {@code DrillConnectionConfig} currently extends
+ * {@link net.hydromatic.avatica.ConnectionConfigImpl}. They must call only
+ * methods declared directly in DrillConnectionConfig (or inherited Object).
+ * </p>
+ */
public class DrillConnectionConfig extends ConnectionConfigImpl {
private final Properties props;
http://git-wip-us.apache.org/repos/asf/drill/blob/e9035bef/exec/jdbc/src/main/java/org/apache/drill/jdbc/DrillDatabaseMetaData.java
----------------------------------------------------------------------
diff --git a/exec/jdbc/src/main/java/org/apache/drill/jdbc/DrillDatabaseMetaData.java b/exec/jdbc/src/main/java/org/apache/drill/jdbc/DrillDatabaseMetaData.java
index ea503a2..64908d0 100644
--- a/exec/jdbc/src/main/java/org/apache/drill/jdbc/DrillDatabaseMetaData.java
+++ b/exec/jdbc/src/main/java/org/apache/drill/jdbc/DrillDatabaseMetaData.java
@@ -33,10 +33,36 @@ public interface DrillDatabaseMetaData extends DatabaseMetaData {
// getURL()
// getUserName()
// isReadOnly()
- // nullsAreSortedHigh()
- // nullsAreSortedLow()
- // nullsAreSortedAtStart()
- // nullsAreSortedAtEnd()
+
+ /**
+ * <strong>Drill</strong>:
+ * Reports that NULL values are sorted high.
+ * @return {@code true}
+ */
+ public boolean nullsAreSortedHigh() throws SQLException;
+
+ /**
+ * <strong>Drill</strong>:
+ * Reports that NULL values are not sorted low.
+ * @return {@code false}
+ */
+ public boolean nullsAreSortedLow() throws SQLException;
+
+ /**
+ * <strong>Drill</strong>:
+ * Reports that NULL values are not sorted first.
+ * @return {@code false}
+ */
+ public boolean nullsAreSortedAtStart() throws SQLException;
+
+ /**
+ * <strong>Drill</strong>:
+ * Reports that NULL values are not sorted last.
+ * @return {@code false}
+ */
+ public boolean nullsAreSortedAtEnd() throws SQLException;
+
+ // For matching order of java.sql.DatabaseMetaData:
// getDatabaseProductName()
// getDatabaseProductVersion()
// getDriverName()
http://git-wip-us.apache.org/repos/asf/drill/blob/e9035bef/exec/jdbc/src/main/java/org/apache/drill/jdbc/DrillPreparedStatement.java
----------------------------------------------------------------------
diff --git a/exec/jdbc/src/main/java/org/apache/drill/jdbc/DrillPreparedStatement.java b/exec/jdbc/src/main/java/org/apache/drill/jdbc/DrillPreparedStatement.java
index 6a8f4c1..b1fc032 100644
--- a/exec/jdbc/src/main/java/org/apache/drill/jdbc/DrillPreparedStatement.java
+++ b/exec/jdbc/src/main/java/org/apache/drill/jdbc/DrillPreparedStatement.java
@@ -24,8 +24,9 @@ import java.sql.PreparedStatement;
* Drill-specific {@link PreparedStatement}.
*
* <p>
+ * <strong>Drill</strong>:
* Setting parameters is not supported; parameter-setting methods such as
- * {@link setString(int, String)} throw
+ * {@link #setString(int, String)} throw
* {@link SQLFeatureNotSupportedException}.
* </p>
* @see #unwrap
http://git-wip-us.apache.org/repos/asf/drill/blob/e9035bef/exec/jdbc/src/main/java/org/apache/drill/jdbc/DrillResultSet.java
----------------------------------------------------------------------
diff --git a/exec/jdbc/src/main/java/org/apache/drill/jdbc/DrillResultSet.java b/exec/jdbc/src/main/java/org/apache/drill/jdbc/DrillResultSet.java
index 858fd61..31fbf10 100644
--- a/exec/jdbc/src/main/java/org/apache/drill/jdbc/DrillResultSet.java
+++ b/exec/jdbc/src/main/java/org/apache/drill/jdbc/DrillResultSet.java
@@ -39,7 +39,8 @@ public interface DrillResultSet extends ResultSet {
/**
* {@inheritDoc}
* <p>
- * Drill's implementation accepts {@code DrillResultSet.class}.
+ * <strong>Drill</strong>:
+ * Accepts {@code DrillResultSet.class}.
* </p>
*/
@Override
@@ -48,7 +49,8 @@ public interface DrillResultSet extends ResultSet {
/**
* {@inheritDoc}
* <p>
- * Drill's implementation returns true for {@code DrillResultSet.class}.
+ * <strong>Drill</strong>:
+ * Returns true for {@code DrillResultSet.class}.
* </p>
*/
@Override
@@ -69,7 +71,7 @@ public interface DrillResultSet extends ResultSet {
/**
* {@inheritDoc}
* <p>
- * <strong>Conversions</strong>: Supports conversion from all types.
+ * <strong>Drill: Conversions</strong>: Supports conversion from all types.
* </p>
*/
@Override
@@ -82,7 +84,7 @@ public interface DrillResultSet extends ResultSet {
/**
* {@inheritDoc}
* <p>
- * <strong>Conversions</strong>: Supports conversion from types:
+ * <strong>Drill: Conversions</strong>: Supports conversion from types:
* </p>
* <ul>
* <li>{@code SMALLINT} ({@code short}),
@@ -109,7 +111,7 @@ public interface DrillResultSet extends ResultSet {
/**
* {@inheritDoc}
* <p>
- * <strong>Conversions</strong>: Supports conversion from types:
+ * <strong>Drill: Conversions</strong>: Supports conversion from types:
* </p>
* <ul>
* <li>{@code TINYINT} ({@code byte}),
@@ -136,7 +138,7 @@ public interface DrillResultSet extends ResultSet {
/**
* {@inheritDoc}
* <p>
- * <strong>Conversions</strong>: Supports conversion from types:
+ * <strong>Drill: Conversions</strong>: Supports conversion from types:
* </p>
* <ul>
* <li>{@code TINYINT} ({@code byte}),
@@ -163,7 +165,7 @@ public interface DrillResultSet extends ResultSet {
/**
* {@inheritDoc}
* <p>
- * <strong>Conversions</strong>: Supports conversion from types:
+ * <strong>Drill: Conversions</strong>: Supports conversion from types:
* </p>
* <ul>
* <li>{@code TINYINT} ({@code byte}),
@@ -190,7 +192,7 @@ public interface DrillResultSet extends ResultSet {
/**
* {@inheritDoc}
* <p>
- * <strong>Conversions</strong>: Supports conversion from types:
+ * <strong>Drill: Conversions</strong>: Supports conversion from types:
* </p>
* <ul>
* <li>{@code TINYINT} ({@code byte}),
@@ -217,7 +219,7 @@ public interface DrillResultSet extends ResultSet {
/**
* {@inheritDoc}
* <p>
- * <strong>Conversions</strong>: Supports conversion from types:
+ * <strong>Drill: Conversions</strong>: Supports conversion from types:
* </p>
* <ul>
* <li>{@code TINYINT} ({@code byte}),
@@ -244,7 +246,7 @@ public interface DrillResultSet extends ResultSet {
/**
* {@inheritDoc}
* <p>
- * <strong>Conversions</strong>: Supports conversion from types:
+ * <strong>Drill: Conversions</strong>: Supports conversion from types:
* </p>
* <ul>
* <li>{@code TINYINT} ({@code byte}),
@@ -274,6 +276,7 @@ public interface DrillResultSet extends ResultSet {
/**
* {@inheritDoc}
* <p>
+ * <strong>Drill</strong>:
* For conversions, see {@link DrillResultSet#getString(int)}.
* </p>
*/
@@ -287,6 +290,7 @@ public interface DrillResultSet extends ResultSet {
/**
* {@inheritDoc}
* <p>
+ * <strong>Drill</strong>:
* For conversions, see {@link DrillResultSet#getByte(int)}.
* </p>
*/
@@ -296,6 +300,7 @@ public interface DrillResultSet extends ResultSet {
/**
* {@inheritDoc}
* <p>
+ * <strong>Drill</strong>:
* For conversions, see {@link DrillResultSet#getShort(int)}.
* </p>
*/
@@ -305,6 +310,7 @@ public interface DrillResultSet extends ResultSet {
/**
* {@inheritDoc}
* <p>
+ * <strong>Drill</strong>:
* For conversions, see {@link DrillResultSet#getInt(int)}.
* </p>
*/
@@ -314,6 +320,7 @@ public interface DrillResultSet extends ResultSet {
/**
* {@inheritDoc}
* <p>
+ * <strong>Drill</strong>:
* For conversions, see {@link DrillResultSet#getLong(int)}.
* </p>
*/
@@ -323,6 +330,7 @@ public interface DrillResultSet extends ResultSet {
/**
* {@inheritDoc}
* <p>
+ * <strong>Drill</strong>:
* For conversions, see {@link DrillResultSet#getFloat(int)}.
* </p>
*/
@@ -332,6 +340,7 @@ public interface DrillResultSet extends ResultSet {
/**
* {@inheritDoc}
* <p>
+ * <strong>Drill</strong>:
* For conversions, see {@link DrillResultSet#getDouble(int)}.
* </p>
*/
@@ -341,6 +350,7 @@ public interface DrillResultSet extends ResultSet {
/**
* {@inheritDoc}
* <p>
+ * <strong>Drill</strong>:
* For conversions, see {@link DrillResultSet#getBigDecimal(int)}.
* </p>
*/
@@ -364,7 +374,7 @@ public interface DrillResultSet extends ResultSet {
/**
* {@inheritDoc}
* <p>
- * <strong>Conversions</strong>: Supports conversion from all types.
+ * <strong>Drill: Conversions</strong>: Supports conversion from all types.
* </p>
*/
@Override
@@ -373,6 +383,7 @@ public interface DrillResultSet extends ResultSet {
/**
* {@inheritDoc}
* <p>
+ * <strong>Drill</strong>:
* For conversions, see {@link DrillResultSet#getObject(int)}.
* </p>
*/
http://git-wip-us.apache.org/repos/asf/drill/blob/e9035bef/exec/jdbc/src/main/java/org/apache/drill/jdbc/DrillStatement.java
----------------------------------------------------------------------
diff --git a/exec/jdbc/src/main/java/org/apache/drill/jdbc/DrillStatement.java b/exec/jdbc/src/main/java/org/apache/drill/jdbc/DrillStatement.java
index 903b18b..f2aea40 100644
--- a/exec/jdbc/src/main/java/org/apache/drill/jdbc/DrillStatement.java
+++ b/exec/jdbc/src/main/java/org/apache/drill/jdbc/DrillStatement.java
@@ -27,8 +27,9 @@ import java.sql.Statement;
public interface DrillStatement extends Statement {
/**
- * Returns zero.
- * {@inheritDoc}
+ * <strong>Drill</strong>:
+ * Returns zero, indicating that no timeout is set.
+ *
* @throws AlreadyClosedSqlException
* if connection is closed
*/
@@ -36,6 +37,7 @@ public interface DrillStatement extends Statement {
int getQueryTimeout() throws AlreadyClosedSqlException;
/**
+ * <strong>Drill</strong>:
* Not supported (for non-zero timeout value).
* <p>
* Normally, just throws {@link SQLFeatureNotSupportedException} unless
http://git-wip-us.apache.org/repos/asf/drill/blob/e9035bef/exec/jdbc/src/main/java/org/apache/drill/jdbc/Driver.java
----------------------------------------------------------------------
diff --git a/exec/jdbc/src/main/java/org/apache/drill/jdbc/Driver.java b/exec/jdbc/src/main/java/org/apache/drill/jdbc/Driver.java
index 1d2a521..1ef84c4 100644
--- a/exec/jdbc/src/main/java/org/apache/drill/jdbc/Driver.java
+++ b/exec/jdbc/src/main/java/org/apache/drill/jdbc/Driver.java
@@ -31,7 +31,7 @@ import static org.slf4j.LoggerFactory.getLogger;
/**
- * Apache Drill JDBC driver main class.
+ * Main class of Apache Drill JDBC driver.
*/
public class Driver implements java.sql.Driver {
private static final Logger logger = getLogger( Driver.class );
@@ -60,7 +60,7 @@ public class Driver implements java.sql.Driver {
* Ensures that class is loaded.
* <p>
* (Avoids extra instance of calling {@code new Driver();}; avoids verbosity
- * of {@code Class.forName("org.apache.drill.jdbc.Driver");}
+ * of {@code Class.forName("org.apache.drill.jdbc.Driver");}.)
* </p>
*/
public static boolean load() {
http://git-wip-us.apache.org/repos/asf/drill/blob/e9035bef/exec/jdbc/src/main/java/org/apache/drill/jdbc/InvalidCursorStateSqlException.java
----------------------------------------------------------------------
diff --git a/exec/jdbc/src/main/java/org/apache/drill/jdbc/InvalidCursorStateSqlException.java b/exec/jdbc/src/main/java/org/apache/drill/jdbc/InvalidCursorStateSqlException.java
index b7540be..d6929d2 100644
--- a/exec/jdbc/src/main/java/org/apache/drill/jdbc/InvalidCursorStateSqlException.java
+++ b/exec/jdbc/src/main/java/org/apache/drill/jdbc/InvalidCursorStateSqlException.java
@@ -17,6 +17,8 @@
*/
package org.apache.drill.jdbc;
+import java.sql.ResultSet;
+
/**
* SQLException for invalid-cursor-state conditions, e.g., calling a column
http://git-wip-us.apache.org/repos/asf/drill/blob/e9035bef/exec/jdbc/src/main/java/org/apache/drill/jdbc/JdbcApiSqlException.java
----------------------------------------------------------------------
diff --git a/exec/jdbc/src/main/java/org/apache/drill/jdbc/JdbcApiSqlException.java b/exec/jdbc/src/main/java/org/apache/drill/jdbc/JdbcApiSqlException.java
index 5e6f475..f844fdc 100644
--- a/exec/jdbc/src/main/java/org/apache/drill/jdbc/JdbcApiSqlException.java
+++ b/exec/jdbc/src/main/java/org/apache/drill/jdbc/JdbcApiSqlException.java
@@ -17,8 +17,13 @@
*/
package org.apache.drill.jdbc;
+import java.sql.ResultSet;
+import java.sql.SQLDataException;
import java.sql.SQLException;
import java.sql.SQLNonTransientException;
+import java.sql.SQLSyntaxErrorException;
+import java.sql.SQLTransientException;
+
/**
* SQLException for JDBC API calling-sequence/state problems.
http://git-wip-us.apache.org/repos/asf/drill/blob/e9035bef/exec/jdbc/src/main/java/org/apache/drill/jdbc/SQLConversionException.java
----------------------------------------------------------------------
diff --git a/exec/jdbc/src/main/java/org/apache/drill/jdbc/SQLConversionException.java b/exec/jdbc/src/main/java/org/apache/drill/jdbc/SQLConversionException.java
index 55ff901..1001999 100644
--- a/exec/jdbc/src/main/java/org/apache/drill/jdbc/SQLConversionException.java
+++ b/exec/jdbc/src/main/java/org/apache/drill/jdbc/SQLConversionException.java
@@ -20,7 +20,7 @@ package org.apache.drill.jdbc;
import org.apache.drill.exec.vector.accessor.InvalidAccessException;
public class SQLConversionException extends InvalidAccessException {
- private static final long serialVersionUID = 2015_04-07L;
+ private static final long serialVersionUID = 2015_04_07L;
SQLConversionException( String message ) {
super( message );
http://git-wip-us.apache.org/repos/asf/drill/blob/e9035bef/exec/jdbc/src/main/java/org/apache/drill/jdbc/SQLConversionOverflowException.java
----------------------------------------------------------------------
diff --git a/exec/jdbc/src/main/java/org/apache/drill/jdbc/SQLConversionOverflowException.java b/exec/jdbc/src/main/java/org/apache/drill/jdbc/SQLConversionOverflowException.java
index a7d99fd..1d0cfa8 100644
--- a/exec/jdbc/src/main/java/org/apache/drill/jdbc/SQLConversionOverflowException.java
+++ b/exec/jdbc/src/main/java/org/apache/drill/jdbc/SQLConversionOverflowException.java
@@ -19,7 +19,7 @@ package org.apache.drill.jdbc;
public class SQLConversionOverflowException extends SQLConversionException {
- private static final long serialVersionUID = 2015_04-07L;
+ private static final long serialVersionUID = 2015_04_07L;
public SQLConversionOverflowException( String message ) {
super( message );
http://git-wip-us.apache.org/repos/asf/drill/blob/e9035bef/exec/jdbc/src/main/java/org/apache/drill/jdbc/impl/AvaticaDrillSqlAccessor.java
----------------------------------------------------------------------
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 7e53a07..bf608fc 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
@@ -79,7 +79,7 @@ class AvaticaDrillSqlAccessor implements Accessor {
}
/**
- * @see SQLAccesstor#getObjectClass()
+ * @see SQLAccessor#getObjectClass()
*/
public Class<?> getObjectClass() {
return underlyingAccessor.getObjectClass();
http://git-wip-us.apache.org/repos/asf/drill/blob/e9035bef/exec/jdbc/src/main/java/org/apache/drill/jdbc/impl/DrillConnectionImpl.java
----------------------------------------------------------------------
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 243e627..25fcf26 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
@@ -18,6 +18,7 @@
package org.apache.drill.jdbc.impl;
import java.io.IOException;
+import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.SQLException;
import java.sql.SQLFeatureNotSupportedException;
http://git-wip-us.apache.org/repos/asf/drill/blob/e9035bef/exec/jdbc/src/main/java/org/apache/drill/jdbc/impl/DrillCursor.java
----------------------------------------------------------------------
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 07d7066..8083b15 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
@@ -18,6 +18,8 @@
package org.apache.drill.jdbc.impl;
import java.sql.SQLException;
+import java.sql.ResultSet;
+
import java.util.ArrayList;
import java.util.Calendar;
import java.util.List;
@@ -25,6 +27,7 @@ import java.util.List;
import net.hydromatic.avatica.ArrayImpl.Factory;
import net.hydromatic.avatica.ColumnMetaData;
import net.hydromatic.avatica.Cursor;
+import net.hydromatic.avatica.AvaticaResultSet;
import org.apache.drill.common.exceptions.DrillRuntimeException;
import org.apache.drill.common.exceptions.UserException;
@@ -66,17 +69,18 @@ class DrillCursor implements Cursor {
private boolean afterFirstBatch = false;
/**
- * Whether the next call to this.next() should just return {@code true} rather
- * than calling nextRowInternally() to try to advance to the next
- * record.
+ * Whether the next call to {@code this.}{@link #next()} should just return
+ * {@code true} rather than calling {@link #nextRowInternally()} to try to
+ * advance to the next record.
* <p>
- * Currently, can be true only for first call to next().
+ * Currently, can be true only for first call to {@link #next()}.
* </p>
* <p>
- * (Relates to loadInitialSchema()'s calling nextRowInternally()
+ * (Relates to {@link #loadInitialSchema()}'s calling nextRowInternally()
* one "extra" time
- * (extra relative to number of ResultSet.next() calls) at the beginning to
- * get first batch and schema before Statement.execute...(...) even returns.
+ * (extra relative to number of {@link ResultSet#next()} calls) at the
+ * beginning to get first batch and schema before Statement.execute...(...)
+ * even returns.
* </p>
*/
private boolean returnTrueForNextCallToNext = false;
@@ -265,7 +269,7 @@ class DrillCursor implements Cursor {
* Advances to first batch to load schema data into result set metadata.
* <p>
* To be called once from {@link DrillResultSetImpl#execute()} before
- * {@link next()} is called from {@link AvaticaResultSet#next()}.
+ * {@link #next()} is called from {@link AvaticaResultSet#next()}.
* <p>
*/
void loadInitialSchema() throws SQLException {
http://git-wip-us.apache.org/repos/asf/drill/blob/e9035bef/exec/jdbc/src/main/java/org/apache/drill/jdbc/impl/DrillDatabaseMetaDataImpl.java
----------------------------------------------------------------------
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 2dcbbb9..6a1d625 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
@@ -17,6 +17,8 @@
*/
package org.apache.drill.jdbc.impl;
+import java.sql.Connection;
+import java.sql.DatabaseMetaData;
import java.sql.ResultSet;
import java.sql.SQLException;
http://git-wip-us.apache.org/repos/asf/drill/blob/e9035bef/exec/jdbc/src/main/java/org/apache/drill/jdbc/impl/DrillFactory.java
----------------------------------------------------------------------
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 033fbe7..b3223b1 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
@@ -58,7 +58,7 @@ abstract class DrillFactory implements AvaticaFactory {
* Creates a Drill connection for Avatica (in terms of Avatica types).
* <p>
* This implementation delegates to
- * {@link newDrillConnection(DriverImpl, DrillFactory, String, Properties)}.
+ * {@link #newDrillConnection(DriverImpl, DrillFactory, String, Properties)}.
* </p>
*/
@Override
http://git-wip-us.apache.org/repos/asf/drill/blob/e9035bef/exec/jdbc/src/main/java/org/apache/drill/jdbc/impl/DrillResultSetImpl.java
----------------------------------------------------------------------
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 1b37dc1..95fee00 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
@@ -26,6 +26,7 @@ import java.sql.Clob;
import java.sql.Date;
import java.sql.NClob;
import java.sql.Ref;
+import java.sql.ResultSet;
import java.sql.ResultSetMetaData;
import java.sql.RowId;
import java.sql.SQLException;
http://git-wip-us.apache.org/repos/asf/drill/blob/e9035bef/exec/jdbc/src/main/java/org/apache/drill/jdbc/impl/DrillStatementImpl.java
----------------------------------------------------------------------
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 6cba58e..077ebd7 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
@@ -20,6 +20,7 @@ package org.apache.drill.jdbc.impl;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.SQLFeatureNotSupportedException;
+import java.sql.Statement;
import org.apache.drill.common.exceptions.DrillRuntimeException;
import org.apache.drill.jdbc.AlreadyClosedSqlException;
http://git-wip-us.apache.org/repos/asf/drill/blob/e9035bef/exec/jdbc/src/main/java/org/apache/drill/jdbc/impl/MetaImpl.java
----------------------------------------------------------------------
diff --git a/exec/jdbc/src/main/java/org/apache/drill/jdbc/impl/MetaImpl.java b/exec/jdbc/src/main/java/org/apache/drill/jdbc/impl/MetaImpl.java
index 8ff7a6c..f1e3e2c 100644
--- a/exec/jdbc/src/main/java/org/apache/drill/jdbc/impl/MetaImpl.java
+++ b/exec/jdbc/src/main/java/org/apache/drill/jdbc/impl/MetaImpl.java
@@ -155,7 +155,7 @@ class MetaImpl implements Meta {
}
/**
- * Implements {@link DatabaseMetaData#getColumns()}.
+ * Implements {@link DatabaseMetaData#getColumns}.
*/
@Override
public ResultSet getColumns(String catalog, Pat schemaPattern,
http://git-wip-us.apache.org/repos/asf/drill/blob/e9035bef/exec/jdbc/src/main/java/org/apache/drill/jdbc/impl/TypeConvertingSqlAccessor.java
----------------------------------------------------------------------
diff --git a/exec/jdbc/src/main/java/org/apache/drill/jdbc/impl/TypeConvertingSqlAccessor.java b/exec/jdbc/src/main/java/org/apache/drill/jdbc/impl/TypeConvertingSqlAccessor.java
index 2e17e33..437e864 100644
--- a/exec/jdbc/src/main/java/org/apache/drill/jdbc/impl/TypeConvertingSqlAccessor.java
+++ b/exec/jdbc/src/main/java/org/apache/drill/jdbc/impl/TypeConvertingSqlAccessor.java
@@ -21,6 +21,7 @@ import java.io.InputStream;
import java.io.Reader;
import java.math.BigDecimal;
import java.sql.Date;
+import java.sql.ResultSet;
import java.sql.Time;
import java.sql.Timestamp;
http://git-wip-us.apache.org/repos/asf/drill/blob/e9035bef/exec/jdbc/src/main/java/org/apache/drill/jdbc/package-info.java
----------------------------------------------------------------------
diff --git a/exec/jdbc/src/main/java/org/apache/drill/jdbc/package-info.java b/exec/jdbc/src/main/java/org/apache/drill/jdbc/package-info.java
index f465718..2a4eb62 100644
--- a/exec/jdbc/src/main/java/org/apache/drill/jdbc/package-info.java
+++ b/exec/jdbc/src/main/java/org/apache/drill/jdbc/package-info.java
@@ -18,5 +18,8 @@
/**
* JDBC driver for Drill.
+ * <p>
+ * Drill's JDBC driver class is {@link org.apache.drill.jdbc.Driver}.
+ * </p>
*/
package org.apache.drill.jdbc;
http://git-wip-us.apache.org/repos/asf/drill/blob/e9035bef/exec/jdbc/src/main/java/org/apache/drill/jdbc/proxy/TracingProxyDriver.java
----------------------------------------------------------------------
diff --git a/exec/jdbc/src/main/java/org/apache/drill/jdbc/proxy/TracingProxyDriver.java b/exec/jdbc/src/main/java/org/apache/drill/jdbc/proxy/TracingProxyDriver.java
index d575d4f..af81a19 100644
--- a/exec/jdbc/src/main/java/org/apache/drill/jdbc/proxy/TracingProxyDriver.java
+++ b/exec/jdbc/src/main/java/org/apache/drill/jdbc/proxy/TracingProxyDriver.java
@@ -39,38 +39,44 @@ import static org.slf4j.LoggerFactory.getLogger;
* To set up a tracing version of a JDBC connection:
* </p>
* <ul>
- * <li>Construct the proxying URL corresponding to the original URL. (See
- * below).</li>
- * <li>Replace the occurrence, in the JDBC-client code or tool, of the
- * original URL with the corresponding proxying URL.</li>
- * <li>Make sure that class {@link TracingProxyDriver} will be loaded (e.g.,
- * configure the client to use as the driver class).</li>
- * </ul>
- * <p>
- * The proxying URL corresponding to an original URL is
- * "<code>jdbc:proxy:<i>original.Driver</i>:<i>original_URL</i></code>",
- * where:
- * </p>
- * <ul>
* <li>
- * <code><i>original.Driver</i></code> is the fully qualified name of the
- * driver class to proxy and trace (used to load the class to get it
- * registered with JDBC's {@link DriverManager}, when or in case it's not
- * already loaded); it can blank if the driver class will already be loaded,
- * and
+ * Construct the proxying URL corresponding to the original URL.
+ * <p>
+ * The proxying URL corresponding to an original URL is
+ * "<code>jdbc:proxy:<i>original.Driver</i>:<i>original_URL</i></code>",
+ * where:
+ * </p>
+ * <ul>
+ * <li>
+ * <code><i>original.Driver</i></code> is the fully qualified name of
+ * the driver class to proxy and trace (used to load the class to get it
+ * registered with JDBC's {@link DriverManager}, when or in case it's
+ * not already loaded) and can be blank if the driver class will already
+ * be loaded, and
+ * </li>
+ * <li>
+ * <code><i>original_URL</i></code> is the original URL for the JDBC
+ * data source to now be traced.
+ * </li>
+ * </ul>
+ * <p>
+ * For example, for an original URL of "{@code jdbc:drill:zk=local}", the
+ * tracing URL is
+ * "{@code jdbc:proxy:org.apache.drill.jdbc.Driver:jdbc:drill:zk=local}".
+ * </p>
* </li>
* <li>
- * <code><i>original_URL</i></code> is the original URL for the JDBC data
- * source to now be traced.
+ * In the JDBC-client code or tool, replace the occurrence of the original
+ * URL with the corresponding proxying URL.
+ * </li>
+ * <li>
+ * Make sure that class {@link TracingProxyDriver} will be loaded (e.g.,
+ * configure the client to use it as the driver class).
* </li>
* </ul>
- * <p>
- * For example, for "{@code jdbc:drill:zk=local}", the tracing URL is
- * "{@code jdbc:proxy:org.apache.drill.jdbc.Driver:jdbc:drill:zk=local}".
- * </p>
* <p><strong>Output:</strong></p>
* <p>
- * Currently, the tracing output line are simply written to {@link System.out}
+ * Currently, the tracing output line are simply written to {@link System#out}
* ({@code stdout} or "standard output").
* </p>
*/
http://git-wip-us.apache.org/repos/asf/drill/blob/e9035bef/exec/jdbc/src/main/java/org/apache/drill/jdbc/proxy/package-info.java
----------------------------------------------------------------------
diff --git a/exec/jdbc/src/main/java/org/apache/drill/jdbc/proxy/package-info.java b/exec/jdbc/src/main/java/org/apache/drill/jdbc/proxy/package-info.java
index 911b298..33b915b 100644
--- a/exec/jdbc/src/main/java/org/apache/drill/jdbc/proxy/package-info.java
+++ b/exec/jdbc/src/main/java/org/apache/drill/jdbc/proxy/package-info.java
@@ -18,6 +18,6 @@
/**
* Tracing proxy JDBC driver. Traces calls to another JDBC driver.
*
- * @see TracingProxyDriver
+ * @see org.apache.drill.jdbc.proxy.TracingProxyDriver
*/
package org.apache.drill.jdbc.proxy;
http://git-wip-us.apache.org/repos/asf/drill/blob/e9035bef/exec/jdbc/src/test/java/org/apache/drill/jdbc/ResultSetGetMethodConversionsTest.java
----------------------------------------------------------------------
diff --git a/exec/jdbc/src/test/java/org/apache/drill/jdbc/ResultSetGetMethodConversionsTest.java b/exec/jdbc/src/test/java/org/apache/drill/jdbc/ResultSetGetMethodConversionsTest.java
index 0451c35..9165c35 100644
--- a/exec/jdbc/src/test/java/org/apache/drill/jdbc/ResultSetGetMethodConversionsTest.java
+++ b/exec/jdbc/src/test/java/org/apache/drill/jdbc/ResultSetGetMethodConversionsTest.java
@@ -55,7 +55,7 @@ import java.sql.Statement;
* <p>
* This test class is intended for higher-level type-vs.-type coverage tests.
* Detailed-case tests (e.g., boundary conditions) are intended to be in
- * {@link org.apache.drill.jdbc.impl.TypeConvertingAccessor}).
+ * {@link org.apache.drill.jdbc.impl.TypeConvertingSqlAccessor}).
* </p>
*/
public class ResultSetGetMethodConversionsTest extends JdbcTestBase {
http://git-wip-us.apache.org/repos/asf/drill/blob/e9035bef/exec/jdbc/src/test/java/org/apache/drill/jdbc/SingleConnectionCachingFactory.java
----------------------------------------------------------------------
diff --git a/exec/jdbc/src/test/java/org/apache/drill/jdbc/SingleConnectionCachingFactory.java b/exec/jdbc/src/test/java/org/apache/drill/jdbc/SingleConnectionCachingFactory.java
index 94ea303..6466137 100644
--- a/exec/jdbc/src/test/java/org/apache/drill/jdbc/SingleConnectionCachingFactory.java
+++ b/exec/jdbc/src/test/java/org/apache/drill/jdbc/SingleConnectionCachingFactory.java
@@ -40,7 +40,7 @@ public class SingleConnectionCachingFactory implements CachingConnectionFactory
* {@inheritDoc}
* <p>
* For this implementation, calls to {@code createConnection} without any
- * intervening calls to {@link closeConnection} return the same Connection
+ * intervening calls to {@link #closeConnections} return the same Connection
* instance.
* </p>
*/
http://git-wip-us.apache.org/repos/asf/drill/blob/e9035bef/exec/jdbc/src/test/java/org/apache/drill/jdbc/impl/TypeConvertingSqlAccessorTest.java
----------------------------------------------------------------------
diff --git a/exec/jdbc/src/test/java/org/apache/drill/jdbc/impl/TypeConvertingSqlAccessorTest.java b/exec/jdbc/src/test/java/org/apache/drill/jdbc/impl/TypeConvertingSqlAccessorTest.java
index 3a4b83e..52ad021 100644
--- a/exec/jdbc/src/test/java/org/apache/drill/jdbc/impl/TypeConvertingSqlAccessorTest.java
+++ b/exec/jdbc/src/test/java/org/apache/drill/jdbc/impl/TypeConvertingSqlAccessorTest.java
@@ -26,6 +26,7 @@ import org.apache.drill.exec.vector.accessor.AbstractSqlAccessor;
import org.apache.drill.exec.vector.accessor.InvalidAccessException;
import org.apache.drill.exec.vector.accessor.SqlAccessor;
import org.apache.drill.jdbc.SQLConversionOverflowException;
+import org.apache.drill.jdbc.TypeConvertingSqlAccessor;
import org.junit.After;
import org.junit.AfterClass;
import org.junit.Before;
@@ -38,8 +39,8 @@ import static org.junit.Assert.assertThat;
import static org.hamcrest.CoreMatchers.*;
/**
- * Class-level unit test for {@link TypeConvertingSqlAccessor}.
- * (Also see {@link org.apache.drill.jdbcResultSetGetMethodConversionsTest}.
+ * Class-level unit test for {@link TypeConvertingSqlAccessor}.
+ * (Also see {@link org.apache.drill.jdbc.ResultSetGetMethodConversionsTest}.
*/
public class TypeConvertingSqlAccessorTest {
http://git-wip-us.apache.org/repos/asf/drill/blob/e9035bef/exec/jdbc/src/test/java/org/apache/drill/jdbc/test/Drill2489CallsAfterCloseThrowExceptionsTest.java
----------------------------------------------------------------------
diff --git a/exec/jdbc/src/test/java/org/apache/drill/jdbc/test/Drill2489CallsAfterCloseThrowExceptionsTest.java b/exec/jdbc/src/test/java/org/apache/drill/jdbc/test/Drill2489CallsAfterCloseThrowExceptionsTest.java
index 01008b2..1f25eff 100644
--- a/exec/jdbc/src/test/java/org/apache/drill/jdbc/test/Drill2489CallsAfterCloseThrowExceptionsTest.java
+++ b/exec/jdbc/src/test/java/org/apache/drill/jdbc/test/Drill2489CallsAfterCloseThrowExceptionsTest.java
@@ -41,6 +41,7 @@ import java.sql.SQLException;
import java.sql.SQLXML;
import java.sql.Savepoint;
import java.sql.Statement;
+import java.sql.Struct;
import java.sql.Time;
import java.sql.Timestamp;
import java.util.Map;