Add documentation for new JDBC driver features
@@ -4,6 +4,10 @@ JDBC Driver
Presto can be accessed from Java using the JDBC driver.
Download :maven_download:`jdbc` and add it to the class path of your Java application.
+
+Connecting
+----------
+
The following JDBC URL formats are supported:
.. code-block:: none
@@ -19,3 +23,53 @@ and the schema ``sales``:
.. code-block:: none
jdbc:presto://example.net:8080/hive/sales
+
+Connection Parameters
+---------------------
+
+The driver supports various parameters that may be set as URL parameters
+or as properties passed to ``DriverManager``. Both of the following
+examples are equivalent:
+
+.. code-block:: java
+
+ // URL parameters
+ String url = "jdbc:presto://example.net:8080/hive/sales";
+ Properties properties = new Properties();
+ properties.setProperty("user", "test");
+ properties.setProperty("password", "secret");
+ Connection connection = DriverManager.getConnection(url, properties);
+
+ // properties
+ String url = "jdbc:presto://example.net:8080/hive/sales?user=test&password=secret";
+ Connection connection = DriverManager.getConnection(url);
+
+These methods may be mixed; some parameters may be specified in the URL
+while others are specified using properties. However, the same parameter
+may not be specified using both methods.
+
+Parameter Reference
+-------------------
+
+================================= =======================================================================
+Name Description
+================================= =======================================================================
+``user`` Username to use for authentication and authorization.
+``password`` Password to use for LDAP authentication.
+``socksProxy`` SOCKS proxy host and port. Example: ``localhost:1080``
+``httpProxy`` HTTP proxy host and port. Example: ``localhost:8888``
+``SSL`` Use HTTPS for connections
+``SSLTrustStorePath`` The location of the Java TrustStore file that will be used
+ to validate HTTPS server certificates.
+``SSLTrustStorePassword`` The password for the TrustStore.
+``KerberosRemoteServiceName`` Presto coordinator Kerberos service name. This parameter is
+ required for Kerberos authentiation.
+``KerberosPrincipal`` The principal to use when authenticating to the Presto coordinator.
+``KerberosUseCanonicalHostname`` Use the canonical hostname of the Presto coordinator for the Kerberos
+ service principal by first resolving the hostname to an IP address
+ and then doing a reverse DNS lookup for that IP address.
+ This is enabled by default.
+``KerberosConfigPath`` Kerberos configuration file.
+``KerberosKeytabPath`` Kerberos keytab file.
+``KerberosCredentialCachePath`` Kerberos credential cache.
+================================= =======================================================================
