Skip to content

Commit 9609354

Browse files
authored
[ES-1006739] Minor change in connection to get UC Volume client (#383)
* Minor change in connection to get UC Volume client * Minor change
1 parent 5a0a684 commit 9609354

File tree

3 files changed

+24
-0
lines changed

3 files changed

+24
-0
lines changed

src/main/java/com/databricks/jdbc/core/DatabricksConnection.java

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,8 @@
22

33
import com.databricks.client.jdbc.Driver;
44
import com.databricks.jdbc.client.DatabricksClient;
5+
import com.databricks.jdbc.client.IDatabricksUCVolumeClient;
6+
import com.databricks.jdbc.client.impl.sdk.DatabricksUCVolumeClient;
57
import com.databricks.jdbc.commons.LogLevel;
68
import com.databricks.jdbc.commons.util.LoggingUtil;
79
import com.databricks.jdbc.commons.util.ValidationUtil;
@@ -23,6 +25,8 @@ public class DatabricksConnection implements IDatabricksConnection, Connection {
2325
private final Set<IDatabricksStatement> statementSet = ConcurrentHashMap.newKeySet();
2426
private SQLWarning warnings = null;
2527

28+
private IDatabricksUCVolumeClient ucVolumeClient = null;
29+
2630
/**
2731
* Creates an instance of Databricks connection for given connection context.
2832
*
@@ -563,6 +567,14 @@ public Connection getConnection() {
563567
return this;
564568
}
565569

570+
@Override
571+
public IDatabricksUCVolumeClient getUCVolumeClient() {
572+
if (ucVolumeClient == null) {
573+
ucVolumeClient = new DatabricksUCVolumeClient(this);
574+
}
575+
return ucVolumeClient;
576+
}
577+
566578
private void throwExceptionIfConnectionIsClosed() throws SQLException {
567579
if (this.isClosed()) {
568580
throw new DatabricksSQLException("Connection closed!");

src/main/java/com/databricks/jdbc/core/IDatabricksConnection.java

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
package com.databricks.jdbc.core;
22

3+
import com.databricks.jdbc.client.IDatabricksUCVolumeClient;
34
import java.sql.Connection;
45

56
/** Interface providing Databricks specific Connection APIs. */
@@ -17,4 +18,7 @@ public interface IDatabricksConnection {
1718

1819
/** Returns the corresponding sql connection object */
1920
Connection getConnection();
21+
22+
/** Returns a UC Volume client instance */
23+
IDatabricksUCVolumeClient getUCVolumeClient();
2024
}

src/test/java/com/databricks/jdbc/core/DatabricksConnectionTest.java

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -146,6 +146,14 @@ public void testConfInConnection() throws SQLException {
146146
assertEquals(connection.getSession().getSessionConfigs(), lowercaseSessionConfigs);
147147
}
148148

149+
@Test
150+
public void testGetUCVolumeClient() throws SQLException {
151+
IDatabricksConnectionContext connectionContext =
152+
DatabricksConnectionContext.parse(SESSION_CONF_JDBC_URL, new Properties());
153+
DatabricksConnection connection = new DatabricksConnection(connectionContext, databricksClient);
154+
assertNotNull(connection.getUCVolumeClient());
155+
}
156+
149157
@Test
150158
public void testStatement() throws DatabricksSQLException {
151159
when(databricksClient.createSession(

0 commit comments

Comments
 (0)