## Uses of Interface
com.databricks.jdbc.api.internal.IDatabricksConnectionContext

Packages that use IDatabricksConnectionContext
com.databricks.jdbc.api.impl
com.databricks.jdbc.api.impl.volume
com.databricks.jdbc.api.internal
com.databricks.jdbc.auth
com.databricks.jdbc.common
com.databricks.jdbc.common.safe
com.databricks.jdbc.common.util
com.databricks.jdbc.dbclient
com.databricks.jdbc.dbclient.impl.common
com.databricks.jdbc.dbclient.impl.http
com.databricks.jdbc.dbclient.impl.sqlexec
com.databricks.jdbc.dbclient.impl.thrift
com.databricks.jdbc.telemetry

### Uses of IDatabricksConnectionContext in com.databricks.jdbc.api.impl

Classes in com.databricks.jdbc.api.impl that implement IDatabricksConnectionContext
`class` `DatabricksConnectionContext`

Methods in com.databricks.jdbc.api.impl that return IDatabricksConnectionContext
`static IDatabricksConnectionContext` DatabricksConnectionContextFactory.`create​(String url, String user, String password)` Creates an instance of `IDatabricksConnectionContext` from the given URL, user and password
`static IDatabricksConnectionContext` DatabricksConnectionContextFactory.`create​(String url, Properties properties)` Creates an instance of `IDatabricksConnectionContext` from the given URL and properties.
`static IDatabricksConnectionContext` DatabricksConnectionContextFactory.`createWithoutError​(String url, Properties properties)`
`IDatabricksConnectionContext` DatabricksConnection.`getConnectionContext()`
`IDatabricksConnectionContext` DatabricksSession.`getConnectionContext()`
`static IDatabricksConnectionContext` DatabricksConnectionContext.`parse​(String url, Properties properties)` Parses connection Url and properties into a Databricks specific connection context

Constructors in com.databricks.jdbc.api.impl with parameters of type IDatabricksConnectionContext
`DatabricksConnection​(IDatabricksConnectionContext connectionContext)` Creates an instance of Databricks connection for given connection context.
`DatabricksConnection​(IDatabricksConnectionContext connectionContext, IDatabricksClient testDatabricksClient)`
`DatabricksResultSetMetaData​(StatementId statementId, TGetResultSetMetadataResp resultManifest, long rows, long chunkCount, List<String> arrowMetadata, IDatabricksConnectionContext ctx)` Constructs a `DatabricksResultSetMetaData` object for a Thrift-based result set.
`DatabricksResultSetMetaData​(StatementId statementId, ResultManifest resultManifest, boolean usesExternalLinks, IDatabricksConnectionContext ctx)` Constructs a `DatabricksResultSetMetaData` object for a SEA result set.
`DatabricksResultSetMetaData​(StatementId statementId, List<String> columnNames, List<String> columnDataTypes, IDatabricksConnectionContext ctx)` Constructs a `DatabricksResultSetMetaData` object for metadata result set obtained from DESCRIBE QUERY Works for both SEA and Thrift flows as result set obtained from DESCRIBE QUERY is already parsed.
`DatabricksSession​(IDatabricksConnectionContext connectionContext)` Creates an instance of Databricks session for given connection context
`DatabricksSession​(IDatabricksConnectionContext connectionContext, IDatabricksClient testDatabricksClient)` Constructor method to be used for mocking in a test case.

### Uses of IDatabricksConnectionContext in com.databricks.jdbc.api.impl.volume

Methods in com.databricks.jdbc.api.impl.volume with parameters of type IDatabricksConnectionContext
`static IDatabricksVolumeClient` DatabricksVolumeClientFactory.`getVolumeClient​(IDatabricksConnectionContext connectionContext)` Creates an instance of the DBFVolumeClient from the given connectionContext.

Constructors in com.databricks.jdbc.api.impl.volume with parameters of type IDatabricksConnectionContext
`DBFSVolumeClient​(IDatabricksConnectionContext connectionContext)`
`VolumeUploadCallback​(IDatabricksHttpClient httpClient, CompletableFuture<VolumePutResult> uploadFuture, DBFSVolumeClient.UploadRequest request, Semaphore semaphore, VolumeUploadCallback.UrlGenerator urlGenerator, Function<Integer,​Long> retryDelayCalculator, IDatabricksConnectionContext connectionContext)` Constructor for the callback.

### Uses of IDatabricksConnectionContext in com.databricks.jdbc.api.internal

Methods in com.databricks.jdbc.api.internal that return IDatabricksConnectionContext
`IDatabricksConnectionContext` IDatabricksConnectionInternal.`getConnectionContext()` Returns the connection context associated with the connection.
`IDatabricksConnectionContext` IDatabricksSession.`getConnectionContext()` Returns the associated connection context for the session

### Uses of IDatabricksConnectionContext in com.databricks.jdbc.auth

Constructors in com.databricks.jdbc.auth with parameters of type IDatabricksConnectionContext
`AzureExternalBrowserProvider​(IDatabricksConnectionContext connectionContext, int availablePort)` Constructor for Azure OAuth provider.
`AzureMSICredentialProvider​(IDatabricksConnectionContext connectionContext)` Constructs a new AzureMSICredentialProvider.
`DatabricksTokenFederationProvider​(IDatabricksConnectionContext connectionContext, com.databricks.sdk.core.CredentialsProvider credentialsProvider)`
`OAuthRefreshCredentialsProvider​(IDatabricksConnectionContext context, com.databricks.sdk.core.DatabricksConfig databricksConfig)`
`PrivateKeyClientCredentialProvider​(IDatabricksConnectionContext connectionContext, com.databricks.sdk.core.DatabricksConfig databricksConfig)`

### Uses of IDatabricksConnectionContext in com.databricks.jdbc.common

Methods in com.databricks.jdbc.common with parameters of type IDatabricksConnectionContext
`ClientConfigurator` DatabricksClientConfiguratorManager.`getConfigurator​(IDatabricksConnectionContext context)`
`ClientConfigurator` DatabricksClientConfiguratorManager.`getConfiguratorOnlyIfExists​(IDatabricksConnectionContext context)` Returns the client configurator if it exists, otherwise returns null.
`void` DatabricksClientConfiguratorManager.`removeInstance​(IDatabricksConnectionContext context)`

### Uses of IDatabricksConnectionContext in com.databricks.jdbc.common.safe

Methods in com.databricks.jdbc.common.safe with parameters of type IDatabricksConnectionContext
`static DatabricksDriverFeatureFlagsContext` DatabricksDriverFeatureFlagsContextFactory.`getInstance​(IDatabricksConnectionContext context)` Gets or creates a DatabricksDriverFeatureFlagsContext instance for the given compute
`static void` DatabricksDriverFeatureFlagsContextFactory.`removeInstance​(IDatabricksConnectionContext connectionContext)` Removes the DatabricksDriverFeatureFlagsContext instance for the given compute.
`static void` DatabricksDriverFeatureFlagsContextFactory.`setFeatureFlagsContext​(IDatabricksConnectionContext connectionContext, Map<String,​String> featureFlags)`

Constructors in com.databricks.jdbc.common.safe with parameters of type IDatabricksConnectionContext
`DatabricksDriverFeatureFlagsContext​(IDatabricksConnectionContext connectionContext)`

### Uses of IDatabricksConnectionContext in com.databricks.jdbc.common.util

Methods in com.databricks.jdbc.common.util that return IDatabricksConnectionContext
`static IDatabricksConnectionContext` DatabricksThreadContextHolder.`getConnectionContext()`

Methods in com.databricks.jdbc.common.util with parameters of type IDatabricksConnectionContext
`static int[]` DatabricksTypeUtil.`getBasePrecisionAndScale​(int columnType, IDatabricksConnectionContext ctx)`
`static int` VolumeRetryUtil.`getRetryTimeoutSeconds​(IDatabricksConnectionContext connectionContext)` Get the retry timeout in seconds.
`static String` DatabricksAuthUtil.`getTokenEndpoint​(com.databricks.sdk.core.DatabricksConfig databricksConfig, IDatabricksConnectionContext connectionContext)`
`static boolean` VolumeRetryUtil.`isRetryableHttpCode​(int statusCode, IDatabricksConnectionContext connectionContext)` Check if the given HTTP status code is retryable.
`static <T,​R> List<R>` JdbcThreadUtils.`parallelFlatMap​(Collection<T> items, IDatabricksConnectionContext connectionContext, int maxThreads, int timeoutSeconds, Function<T,​Collection<R>> task, ExecutorService executor)` Executes tasks in parallel, collecting and flattening all results, utilizing a provided executor service (which can be null, in which case a new one will be created).
`static <T,​R> List<R>` JdbcThreadUtils.`parallelMap​(Collection<T> items, IDatabricksConnectionContext connectionContext, int maxThreads, int timeoutSeconds, Function<T,​R> task, ExecutorService executor)` Executes tasks concurrently with appropriate context management, utilizing a provided executor service (which can be null, in which case a new one will be created).
`static void` DatabricksThreadContextHolder.`setConnectionContext​(IDatabricksConnectionContext context)`
`static void` DriverUtil.`setUpLogging​(IDatabricksConnectionContext connectionContext)`
`static void` UserAgentManager.`setUserAgent​(IDatabricksConnectionContext connectionContext)` Set the user agent for the Databricks JDBC driver.
`static boolean` VolumeRetryUtil.`shouldRetry​(int attempt, long retryStartTime, IDatabricksConnectionContext connectionContext)` Check if we should retry based on attempt count and elapsed time.

### Uses of IDatabricksConnectionContext in com.databricks.jdbc.dbclient

Methods in com.databricks.jdbc.dbclient that return IDatabricksConnectionContext
`IDatabricksConnectionContext` IDatabricksClient.`getConnectionContext()`

### Uses of IDatabricksConnectionContext in com.databricks.jdbc.dbclient.impl.common

Methods in com.databricks.jdbc.dbclient.impl.common with parameters of type IDatabricksConnectionContext
`static org.apache.http.config.Registry<org.apache.http.conn.socket.ConnectionSocketFactory>` ConfiguratorUtils.`createConnectionSocketFactoryRegistry​(IDatabricksConnectionContext connectionContext)` Creates a registry of connection socket factories based on the connection context.
`static org.apache.http.impl.conn.PoolingHttpClientConnectionManager` ConfiguratorUtils.`getBaseConnectionManager​(IDatabricksConnectionContext connectionContext)` Creates and configures the connection manager based on the connection context.
`static KeyStore` ConfiguratorUtils.`loadKeystoreOrNull​(IDatabricksConnectionContext connectionContext)` Loads a key store from the path specified in the connection context.
`static KeyStore` ConfiguratorUtils.`loadTruststoreOrNull​(IDatabricksConnectionContext connectionContext)` Loads a trust store from the path specified in the connection context.

Constructors in com.databricks.jdbc.dbclient.impl.common with parameters of type IDatabricksConnectionContext
`ClientConfigurator​(IDatabricksConnectionContext connectionContext)`
`MetadataResultSetBuilder​(IDatabricksConnectionContext ctx)`

### Uses of IDatabricksConnectionContext in com.databricks.jdbc.dbclient.impl.http

Methods in com.databricks.jdbc.dbclient.impl.http with parameters of type IDatabricksConnectionContext
`IDatabricksHttpClient` DatabricksHttpClientFactory.`getClient​(IDatabricksConnectionContext context)`
`IDatabricksHttpClient` DatabricksHttpClientFactory.`getClient​(IDatabricksConnectionContext context, HttpClientType type)`
`void` DatabricksHttpClientFactory.`removeClient​(IDatabricksConnectionContext context)`
`void` DatabricksHttpClientFactory.`removeClient​(IDatabricksConnectionContext context, HttpClientType type)`

Constructors in com.databricks.jdbc.dbclient.impl.http with parameters of type IDatabricksConnectionContext
`DatabricksHttpRetryHandler​(IDatabricksConnectionContext connectionContext)`
`UCVolumeHttpRetryHandler​(IDatabricksConnectionContext connectionContext)`

### Uses of IDatabricksConnectionContext in com.databricks.jdbc.dbclient.impl.sqlexec

Methods in com.databricks.jdbc.dbclient.impl.sqlexec that return IDatabricksConnectionContext
`IDatabricksConnectionContext` DatabricksSdkClient.`getConnectionContext()`

Constructors in com.databricks.jdbc.dbclient.impl.sqlexec with parameters of type IDatabricksConnectionContext
`DatabricksEmptyMetadataClient​(IDatabricksConnectionContext ctx)`
`DatabricksSdkClient​(IDatabricksConnectionContext connectionContext)`
`DatabricksSdkClient​(IDatabricksConnectionContext connectionContext, com.databricks.sdk.service.sql.StatementExecutionService statementExecutionService, com.databricks.sdk.core.ApiClient apiClient)`

### Uses of IDatabricksConnectionContext in com.databricks.jdbc.dbclient.impl.thrift

Methods in com.databricks.jdbc.dbclient.impl.thrift that return IDatabricksConnectionContext
`IDatabricksConnectionContext` DatabricksThriftServiceClient.`getConnectionContext()`

Constructors in com.databricks.jdbc.dbclient.impl.thrift with parameters of type IDatabricksConnectionContext
`DatabricksHttpTTransport​(IDatabricksHttpClient httpClient, String url, com.databricks.sdk.core.DatabricksConfig databricksConfig, IDatabricksConnectionContext connectionContext)`
`DatabricksThriftServiceClient​(IDatabricksConnectionContext connectionContext)`

### Uses of IDatabricksConnectionContext in com.databricks.jdbc.telemetry

Methods in com.databricks.jdbc.telemetry with parameters of type IDatabricksConnectionContext
`void` TelemetryClientFactory.`closeTelemetryClient​(IDatabricksConnectionContext connectionContext)`
`static void` TelemetryHelper.`exportFailureLog​(IDatabricksConnectionContext connectionContext, String errorName, String errorMessage, TelemetryLogLevel logLevel)`
`static void` TelemetryHelper.`exportFailureLog​(IDatabricksConnectionContext connectionContext, String errorName, String errorMessage, String statementId, Long chunkIndex, TelemetryLogLevel logLevel)`
`static com.databricks.sdk.core.DatabricksConfig` TelemetryHelper.`getDatabricksConfigSafely​(IDatabricksConnectionContext context)`
`ITelemetryClient` TelemetryClientFactory.`getTelemetryClient​(IDatabricksConnectionContext connectionContext)`
`static boolean` TelemetryHelper.`isTelemetryAllowedForConnection​(IDatabricksConnectionContext context)`
`static void` TelemetryHelper.`updateTelemetryAppName​(IDatabricksConnectionContext connectionContext, String clientInfoAppName)` Sets/updates client app name in telemetry

Constructors in com.databricks.jdbc.telemetry with parameters of type IDatabricksConnectionContext
`TelemetryClient​(IDatabricksConnectionContext connectionContext, ExecutorService executorService)`
`TelemetryClient​(IDatabricksConnectionContext connectionContext, ExecutorService executorService, com.databricks.sdk.core.DatabricksConfig config)`
`TelemetryPushClient​(boolean isAuthenticated, IDatabricksConnectionContext connectionContext, com.databricks.sdk.core.DatabricksConfig databricksConfig)`