Package com.databricks.jdbc.api.impl

## Class DatabricksConnectionContext

- java.lang.Object
- - com.databricks.jdbc.api.impl.DatabricksConnectionContext

All Implemented Interfaces:
  `IDatabricksConnectionContext`

    public class DatabricksConnectionContext
    extends Object
    implements IDatabricksConnectionContext

### Method Summary

All Methods Static Methods Instance Methods Concrete Methods
`boolean` `acceptUndeterminedCertificateRevocation()`
`boolean` `allowSelfSignedCerts()` Returns whether self-signed certificates are allowed for SSL connections.
`static com.google.common.collect.ImmutableMap<String,​String>` `buildPropertiesMap​(String connectionParamString, Properties properties)` Builds a map of properties from the given connection parameter string and properties object.
`boolean` `checkCertificateRevocation()`
`boolean` `enableShowCommandsForGetFunctions()`
`boolean` `equals​(Object obj)`
`boolean` `forceEnableTelemetry()` Returns whether telemetry is enabled for all connections
`Set<Integer>` `getApiRetriableHttpCodes()`
`int` `getApiRetryTimeout()`
`String` `getApplicationName()` Returns the application name using JDBC Connection
`int` `getAsyncExecPollInterval()`
`String` `getAuthEndpoint()` Returns the OAuth2 authorization endpoint URL for the authorization code flow.
`AuthFlow` `getAuthFlow()`
`AuthMech` `getAuthMech()`
`String` `getAuthScope()` Returns the OAuth2 authentication scope used in the request.
`String` `getAzureTenantId()` Returns the Azure tenant ID for the Azure Databricks workspace.
`String` `getAzureWorkspaceResourceId()`
`int` `getBatchInsertSize()` Returns the maximum number of rows per batch insert execution
`String` `getCatalog()`
`int` `getChunkReadyTimeoutSeconds()` Returns the timeout in seconds for waiting for a chunk to be ready.
`String` `getClientId()`
`Map<String,​String>` `getClientInfoProperties()`
`String` `getClientSecret()`
`DatabricksClientType` `getClientType()`
`DatabricksClientType` `getClientTypeFromContext()`
`String` `getClientUserAgent()` Returns the userAgent string specific to client used to fetch results.
`com.databricks.sdk.core.utils.Cloud` `getCloud()`
`com.databricks.sdk.core.ProxyConfig.ProxyAuthType` `getCloudFetchProxyAuthType()`
`String` `getCloudFetchProxyHost()`
`String` `getCloudFetchProxyPassword()`
`int` `getCloudFetchProxyPort()`
`String` `getCloudFetchProxyUser()`
`double` `getCloudFetchSpeedThreshold()` Returns the minimum expected download speed threshold in MB/s for CloudFetch operations
`int` `getCloudFetchThreadPoolSize()` Returns the number of threads to be used for fetching data from cloud storage
`CompressionCodec` `getCompressionCodec()`
`IDatabricksComputeResource` `getComputeResource()` Returns warehouse-Id as parsed from JDBC connection Url
`String` `getConnectionURL()`
`String` `getConnectionUuid()` Returns a unique identifier for this connection context.
`String` `getCustomerUserAgent()` Returns the userAgent string specified as part of the JDBC connection string
`Map<String,​String>` `getCustomHeaders()` Returns the custom headers set in the JDBC connection string.
`int` `getDefaultStringColumnLength()` Returns maximum number of characters that can be contained in STRING columns.
`Boolean` `getDirectResultMode()`
`boolean` `getDisableOauthRefreshToken()` Returns whether OAuth refresh tokens should be disabled (omit offline_access by default).
`boolean` `getEnableMetricViewMetadata()`
`boolean` `getEnableMultipleCatalogSupport()` Returns the value of the enableMultipleCatalogSupport connection property.
`boolean` `getEnableSQLValidationForIsValid()` Returns the value of the EnableSQLValidationForIsValid connection property.
`String` `getEndpointURL()`
`boolean` `getFetchAutoCommitFromServer()` Returns whether to fetch auto-commit state from server using SQL query instead of cached value
`String` `getGcpAuthType()`
`String` `getGoogleCredentials()`
`String` `getGoogleServiceAccount()`
`String` `getHost()` Returns just the host parsed from JDBC connection.
`String` `getHostForOAuth()`
`String` `getHostUrl()` Returns host-Url for Databricks server as parsed from JDBC connection in format `https://server:port`
`int` `getHttpConnectionPoolSize()` Returns the size for HTTP connection pool
`Integer` `getHttpConnectionRequestTimeout()` Returns the HTTP connection request timeout in seconds
`int` `getHttpMaxConnectionsPerRoute()` Returns the maximum number of HTTP connections per route
`String` `getHttpPath()`
`String` `getIdentityFederationClientId()` OAuth Client Id for identity federation which is used in exchanging the access token with Databricks in-house token
`int` `getIdleHttpConnectionExpiry()`
`boolean` `getIgnoreTransactions()` Returns whether transaction-related method calls should be ignored
`String` `getJWTAlgorithm()` Returns the algorithm used for signing the JWT (e.g., RS256, ES256).
`String` `getJWTKeyFile()` Returns the file path to the JWT private key used for signing the JWT.
`String` `getJWTPassphrase()` Returns the passphrase to decrypt the private key if the key is encrypted.
`String` `getKID()` Returns the Key ID (KID) used in the JWT header, identifying the key.
`int` `getLinkPrefetchWindow()` Returns the number of chunk links to prefetch ahead of consumption.
`int` `getLogFileCount()`
`int` `getLogFileSize()`
`LogLevel` `getLogLevel()`
`String` `getLogPathString()`
`int` `getMaxBatchSize()` Returns the maximum number of commands that can be executed in a single batch.
`int` `getMaxDBFSConcurrentPresignedRequests()`
`String` `getNonProxyHosts()` Returns the non-proxy hosts that should be excluded from proxying.
`List<String>` `getNonRowcountQueryPrefixes()`
`String` `getNullableClientId()`
`List<Integer>` `getOAuth2RedirectUrlPorts()` Returns the list of OAuth2 redirect URL ports used for OAuth authentication.
`String` `getOAuthDiscoveryURL()` Returns the discovery URL used to obtain the OAuth2 token and authorization endpoints.
`String` `getOAuthRefreshToken()` Returns the OAuth2 refresh token used to obtain a new access token when the current one expires.
`List<String>` `getOAuthScopesForU2M()` Returns the OAuth scopes to request for the user-to-machine (U2M) authorization flow.
`String` `getPassThroughAccessToken()` Returns the pass through access token
`com.databricks.sdk.core.ProxyConfig.ProxyAuthType` `getProxyAuthType()`
`String` `getProxyHost()`
`String` `getProxyPassword()`
`int` `getProxyPort()`
`String` `getProxyUser()`
`int` `getRateLimitRetryTimeout()`
`int` `getRowsFetchedPerBlock()` Returns maximum number of rows that a query returns at a time.
`String` `getSchema()`
`Map<String,​String>` `getSessionConfigs()`
`int` `getSocketTimeout()` Returns the socket timeout in seconds for HTTP connections.
`String` `getSSLKeyStore()` Returns the SSL key store file path used for SSL connections.
`String` `getSSLKeyStorePassword()` Returns the SSL key store password of the key store file.
`String` `getSSLKeyStoreProvider()` Returns the SSL key store provider for the key store.
`String` `getSSLKeyStoreType()` Returns the SSL key store type of the key store file.
`String` `getSSLTrustStore()` Returns the SSL trust store file path used for SSL connections.
`String` `getSSLTrustStorePassword()` Returns the SSL trust store password of the trust store file.
`String` `getSSLTrustStoreProvider()` Returns the SSL trust store provider for the trust store.
`String` `getSSLTrustStoreType()` Returns the SSL trust store type of the trust store file.
`int` `getTelemetryBatchSize()` Returns the batch size for Telemetry logs processing
`int` `getTelemetryFlushIntervalInMilliseconds()` Returns the flush interval in milliseconds for telemetry
`TelemetryLogLevel` `getTelemetryLogLevel()`
`int` `getTelemetrySocketTimeout()` Returns the socket timeout in seconds for the telemetry HTTP client.
`int` `getTemporarilyUnavailableRetryTimeout()`
`int` `getThriftMaxBatchesInMemory()` Returns the maximum number of batches to keep in memory for Thrift streaming.
`String` `getToken()` Returns the auth token (personal access token)
`String` `getTokenCachePassPhrase()` Returns the passphrase used for encrypting/decrypting token cache
`String` `getTokenEndpoint()` Returns the OAuth2 token endpoint URL for retrieving tokens.
`List<Integer>` `getUCIngestionRetriableHttpCodes()` Returns the list of HTTP codes to retry for UC Volume Ingestion
`int` `getUCIngestionRetryTimeoutSeconds()` Returns retry timeout in seconds for UC Volume Ingestion
`Boolean` `getUseCloudFetchProxy()`
`Boolean` `getUseEmptyMetadata()`
`Boolean` `getUseProxy()`
`Boolean` `getUseSystemProxy()`
`String` `getVolumeOperationAllowedPaths()` Returns allowlisted local file paths for UC Volume operations
`int` `hashCode()`
`boolean` `isAllPurposeCluster()`
`boolean` `isBatchedInsertsEnabled()` Returns whether batched INSERT optimization is enabled
`boolean` `isCloudFetchEnabled()` Returns whether CloudFetch (URL-based result download) is enabled.
`boolean` `isComplexDatatypeSupportEnabled()` Returns true if driver return complex data type java objects natively as opposed to string
`boolean` `isGeoSpatialSupportEnabled()` Returns true if driver returns GEOMETRY and GEOGRAPHY types natively.
`boolean` `isInlineStreamingEnabled()` Returns whether streaming mode is enabled for inline results (Thrift columnar and inline Arrow).
`boolean` `isOAuthDiscoveryModeEnabled()` Returns whether OAuth2 discovery mode is enabled, which fetches endpoints dynamically.
`boolean` `isPropertyPresent​(DatabricksJdbcUrlParams urlParam)`
`boolean` `isRequestTracingEnabled()` Returns true if request tracing should be enabled.
`boolean` `isSeaSyncMetadataEnabled()` Returns whether the x-databricks-sea-can-run-fully-sync header should be enabled for synchronous metadata requests in SEA mode
`boolean` `isSqlExecDirectResultsEnabled()` Returns true if driver should use direct results in SQL_EXEC API.
`boolean` `isSqlExecHybridResultsEnabled()` Returns true if driver should use hybrid results in SQL_EXEC API.
`boolean` `isStreamingChunkProviderEnabled()` Returns whether streaming chunk provider is enabled for result fetching.
`boolean` `isTelemetryCircuitBreakerEnabled()` Returns whether circuit breaker is enabled for telemetry
`boolean` `isTelemetryEnabled()` Checks if Telemetry is enabled
`boolean` `isTokenCacheEnabled()` Returns whether token caching is enabled for OAuth authentication
`boolean` `isTokenFederationEnabled()` Returns whether token federation is enabled for authentication.
`static IDatabricksConnectionContext` `parse​(String url, Properties properties)` Parses connection Url and properties into a Databricks specific connection context
`void` `setClientType​(DatabricksClientType clientType)`
`Boolean` `shouldEnableArrow()`
`Boolean` `shouldRetryRateLimitError()`
`Boolean` `shouldRetryTemporarilyUnavailableError()`
`boolean` `supportManyParameters()`
`boolean` `useJWTAssertion()` Returns whether JWT assertion should be used for OAuth2 authentication.
`boolean` `useSystemTrustStore()` Returns whether the system property trust store should be used for SSL certificate validation.

### Methods inherited from class java.lang.Object

`clone, finalize, getClass, notify, notifyAll, toString, wait, wait, wait`

### Method Detail

#### buildPropertiesMap

    public static com.google.common.collect.ImmutableMap<String,​String> buildPropertiesMap​(String connectionParamString,
                                                                                                 Properties properties)

Builds a map of properties from the given connection parameter string and properties object.

Parameters:
  `connectionParamString` - the connection parameter string
  `properties` - the properties object
Returns:
  an immutable map of properties

#### parse

    public static IDatabricksConnectionContext parse​(String url,
                                                     Properties properties)
                                              throws DatabricksSQLException

Parses connection Url and properties into a Databricks specific connection context

Parameters:
  `url` - Databricks server connection Url
  `properties` - connection properties
Returns:
  a connection context
Throws:
  `DatabricksSQLException`

#### hashCode

    public int hashCode()

Overrides:
  `hashCode` in class `Object`

#### equals

    public boolean equals​(Object obj)

Overrides:
  `equals` in class `Object`

#### isPropertyPresent

    public boolean isPropertyPresent​(DatabricksJdbcUrlParams urlParam)

Specified by:
  `isPropertyPresent` in interface `IDatabricksConnectionContext`

#### getHostUrl

    public String getHostUrl()
                      throws DatabricksParsingException

Description copied from interface: `IDatabricksConnectionContext`
Returns host-Url for Databricks server as parsed from JDBC connection in format `https://server:port`

Specified by:
  `getHostUrl` in interface `IDatabricksConnectionContext`
Returns:
  Databricks host-Url
Throws:
  `DatabricksParsingException`

#### getHost

    public String getHost()

Description copied from interface: `IDatabricksConnectionContext`
Returns just the host parsed from JDBC connection. Note : this is not the url.

Specified by:
  `getHost` in interface `IDatabricksConnectionContext`
Returns:
  Databricks host

#### getComputeResource

    public IDatabricksComputeResource getComputeResource()

Description copied from interface: `IDatabricksConnectionContext`
Returns warehouse-Id as parsed from JDBC connection Url

Specified by:
  `getComputeResource` in interface `IDatabricksConnectionContext`
Returns:
  warehouse-Id

#### getHttpPath

    public String getHttpPath()

Specified by:
  `getHttpPath` in interface `IDatabricksConnectionContext`

#### getEnableSQLValidationForIsValid

    public boolean getEnableSQLValidationForIsValid()

Description copied from interface: `IDatabricksConnectionContext`
Returns the value of the EnableSQLValidationForIsValid connection property.

Specified by:
  `getEnableSQLValidationForIsValid` in interface `IDatabricksConnectionContext`

#### getEnableMultipleCatalogSupport

    public boolean getEnableMultipleCatalogSupport()

Description copied from interface: `IDatabricksConnectionContext`
Returns the value of the enableMultipleCatalogSupport connection property.

Specified by:
  `getEnableMultipleCatalogSupport` in interface `IDatabricksConnectionContext`

#### getHostForOAuth

    public String getHostForOAuth()

Specified by:
  `getHostForOAuth` in interface `IDatabricksConnectionContext`

#### getToken

    public String getToken()

Description copied from interface: `IDatabricksConnectionContext`
Returns the auth token (personal access token)

Specified by:
  `getToken` in interface `IDatabricksConnectionContext`
Returns:
  auth token

#### getPassThroughAccessToken

    public String getPassThroughAccessToken()

Description copied from interface: `IDatabricksConnectionContext`
Returns the pass through access token

Specified by:
  `getPassThroughAccessToken` in interface `IDatabricksConnectionContext`
Returns:
  access token

#### getAsyncExecPollInterval

    public int getAsyncExecPollInterval()
                                 throws DatabricksValidationException

Specified by:
  `getAsyncExecPollInterval` in interface `IDatabricksConnectionContext`
Throws:
  `DatabricksValidationException`

#### getDirectResultMode

    public Boolean getDirectResultMode()

Specified by:
  `getDirectResultMode` in interface `IDatabricksConnectionContext`

#### getCloud

    public com.databricks.sdk.core.utils.Cloud getCloud()
                                                 throws DatabricksParsingException

Specified by:
  `getCloud` in interface `IDatabricksConnectionContext`
Throws:
  `DatabricksParsingException`

#### getGcpAuthType

    public String getGcpAuthType()
                          throws DatabricksParsingException

Specified by:
  `getGcpAuthType` in interface `IDatabricksConnectionContext`
Throws:
  `DatabricksParsingException`

#### getClientId

    public String getClientId()
                       throws DatabricksParsingException

Specified by:
  `getClientId` in interface `IDatabricksConnectionContext`
Throws:
  `DatabricksParsingException`

#### getNullableClientId

    public String getNullableClientId()

Specified by:
  `getNullableClientId` in interface `IDatabricksConnectionContext`

#### getOAuthScopesForU2M

    public List<String> getOAuthScopesForU2M()
                                      throws DatabricksParsingException

Description copied from interface: `IDatabricksConnectionContext`
Returns the OAuth scopes to request for the user-to-machine (U2M) authorization flow.

If an explicit auth scope is provided via connection parameters, this returns a singleton list containing that scope. On AWS and GCP, this returns the SQL scope and offline access scope. On Azure, this returns `null` because the default scope is set by the Databricks SDK.

Specified by:
  `getOAuthScopesForU2M` in interface `IDatabricksConnectionContext`
Returns:
  a list of OAuth scopes to request, or `null` on Azure to use the SDK default
Throws:
  `DatabricksParsingException` - if connection parameters cannot be parsed

#### getClientSecret

    public String getClientSecret()

Specified by:
  `getClientSecret` in interface `IDatabricksConnectionContext`

#### getGoogleServiceAccount

    public String getGoogleServiceAccount()

Specified by:
  `getGoogleServiceAccount` in interface `IDatabricksConnectionContext`

#### getGoogleCredentials

    public String getGoogleCredentials()

Specified by:
  `getGoogleCredentials` in interface `IDatabricksConnectionContext`

#### getAuthFlow

    public AuthFlow getAuthFlow()

Specified by:
  `getAuthFlow` in interface `IDatabricksConnectionContext`

#### getAuthMech

    public AuthMech getAuthMech()

Specified by:
  `getAuthMech` in interface `IDatabricksConnectionContext`

#### getLogLevel

    public LogLevel getLogLevel()

Specified by:
  `getLogLevel` in interface `IDatabricksConnectionContext`

#### getLogPathString

    public String getLogPathString()

Specified by:
  `getLogPathString` in interface `IDatabricksConnectionContext`

#### getLogFileSize

    public int getLogFileSize()
                       throws DatabricksValidationException

Specified by:
  `getLogFileSize` in interface `IDatabricksConnectionContext`
Throws:
  `DatabricksValidationException`

#### getLogFileCount

    public int getLogFileCount()
                        throws DatabricksValidationException

Specified by:
  `getLogFileCount` in interface `IDatabricksConnectionContext`
Throws:
  `DatabricksValidationException`

#### getClientUserAgent

    public String getClientUserAgent()

Description copied from interface: `IDatabricksConnectionContext`
Returns the userAgent string specific to client used to fetch results.

Specified by:
  `getClientUserAgent` in interface `IDatabricksConnectionContext`

#### getCustomerUserAgent

    public String getCustomerUserAgent()

Description copied from interface: `IDatabricksConnectionContext`
Returns the userAgent string specified as part of the JDBC connection string

Specified by:
  `getCustomerUserAgent` in interface `IDatabricksConnectionContext`

#### getCompressionCodec

    public CompressionCodec getCompressionCodec()

Specified by:
  `getCompressionCodec` in interface `IDatabricksConnectionContext`

#### getClientTypeFromContext

    public DatabricksClientType getClientTypeFromContext()

#### getClientType

    public DatabricksClientType getClientType()

Specified by:
  `getClientType` in interface `IDatabricksConnectionContext`

#### setClientType

    public void setClientType​(DatabricksClientType clientType)

Specified by:
  `setClientType` in interface `IDatabricksConnectionContext`

#### getCloudFetchThreadPoolSize

    public int getCloudFetchThreadPoolSize()
                                    throws DatabricksValidationException

Description copied from interface: `IDatabricksConnectionContext`
Returns the number of threads to be used for fetching data from cloud storage

Specified by:
  `getCloudFetchThreadPoolSize` in interface `IDatabricksConnectionContext`
Throws:
  `DatabricksValidationException`

#### getCloudFetchSpeedThreshold

    public double getCloudFetchSpeedThreshold()

Description copied from interface: `IDatabricksConnectionContext`
Returns the minimum expected download speed threshold in MB/s for CloudFetch operations

Specified by:
  `getCloudFetchSpeedThreshold` in interface `IDatabricksConnectionContext`

#### getCatalog

    public String getCatalog()

Specified by:
  `getCatalog` in interface `IDatabricksConnectionContext`

#### getSchema

    public String getSchema()

Specified by:
  `getSchema` in interface `IDatabricksConnectionContext`

#### getSessionConfigs

    public Map<String,​String> getSessionConfigs()

Specified by:
  `getSessionConfigs` in interface `IDatabricksConnectionContext`

#### getClientInfoProperties

    public Map<String,​String> getClientInfoProperties()

Specified by:
  `getClientInfoProperties` in interface `IDatabricksConnectionContext`

#### getCustomHeaders

    public Map<String,​String> getCustomHeaders()

Description copied from interface: `IDatabricksConnectionContext`
Returns the custom headers set in the JDBC connection string.

Specified by:
  `getCustomHeaders` in interface `IDatabricksConnectionContext`
Returns:
  Map of custom headers

#### isAllPurposeCluster

    public boolean isAllPurposeCluster()

Specified by:
  `isAllPurposeCluster` in interface `IDatabricksConnectionContext`

#### getProxyHost

    public String getProxyHost()

Specified by:
  `getProxyHost` in interface `IDatabricksConnectionContext`

#### getProxyPort

    public int getProxyPort()

Specified by:
  `getProxyPort` in interface `IDatabricksConnectionContext`

#### getProxyUser

    public String getProxyUser()

Specified by:
  `getProxyUser` in interface `IDatabricksConnectionContext`

#### getProxyPassword

    public String getProxyPassword()

Specified by:
  `getProxyPassword` in interface `IDatabricksConnectionContext`

#### getUseProxy

    public Boolean getUseProxy()

Specified by:
  `getUseProxy` in interface `IDatabricksConnectionContext`

#### getProxyAuthType

    public com.databricks.sdk.core.ProxyConfig.ProxyAuthType getProxyAuthType()

Specified by:
  `getProxyAuthType` in interface `IDatabricksConnectionContext`

#### getUseSystemProxy

    public Boolean getUseSystemProxy()

Specified by:
  `getUseSystemProxy` in interface `IDatabricksConnectionContext`

#### getUseCloudFetchProxy

    public Boolean getUseCloudFetchProxy()

Specified by:
  `getUseCloudFetchProxy` in interface `IDatabricksConnectionContext`

#### getCloudFetchProxyHost

    public String getCloudFetchProxyHost()

Specified by:
  `getCloudFetchProxyHost` in interface `IDatabricksConnectionContext`

#### getCloudFetchProxyPort

    public int getCloudFetchProxyPort()

Specified by:
  `getCloudFetchProxyPort` in interface `IDatabricksConnectionContext`

#### getCloudFetchProxyUser

    public String getCloudFetchProxyUser()

Specified by:
  `getCloudFetchProxyUser` in interface `IDatabricksConnectionContext`

#### getCloudFetchProxyPassword

    public String getCloudFetchProxyPassword()

Specified by:
  `getCloudFetchProxyPassword` in interface `IDatabricksConnectionContext`

#### getCloudFetchProxyAuthType

    public com.databricks.sdk.core.ProxyConfig.ProxyAuthType getCloudFetchProxyAuthType()

Specified by:
  `getCloudFetchProxyAuthType` in interface `IDatabricksConnectionContext`

#### shouldEnableArrow

    public Boolean shouldEnableArrow()

Specified by:
  `shouldEnableArrow` in interface `IDatabricksConnectionContext`

#### getEndpointURL

    public String getEndpointURL()
                          throws DatabricksParsingException

Specified by:
  `getEndpointURL` in interface `IDatabricksConnectionContext`
Throws:
  `DatabricksParsingException`

#### shouldRetryTemporarilyUnavailableError

    public Boolean shouldRetryTemporarilyUnavailableError()

Specified by:
  `shouldRetryTemporarilyUnavailableError` in interface `IDatabricksConnectionContext`

#### shouldRetryRateLimitError

    public Boolean shouldRetryRateLimitError()

Specified by:
  `shouldRetryRateLimitError` in interface `IDatabricksConnectionContext`

#### getTemporarilyUnavailableRetryTimeout

    public int getTemporarilyUnavailableRetryTimeout()

Specified by:
  `getTemporarilyUnavailableRetryTimeout` in interface `IDatabricksConnectionContext`

#### getRateLimitRetryTimeout

    public int getRateLimitRetryTimeout()

Specified by:
  `getRateLimitRetryTimeout` in interface `IDatabricksConnectionContext`

#### getApiRetriableHttpCodes

    public Set<Integer> getApiRetriableHttpCodes()

Specified by:
  `getApiRetriableHttpCodes` in interface `IDatabricksConnectionContext`

#### getApiRetryTimeout

    public int getApiRetryTimeout()

Specified by:
  `getApiRetryTimeout` in interface `IDatabricksConnectionContext`

#### getIdleHttpConnectionExpiry

    public int getIdleHttpConnectionExpiry()

Specified by:
  `getIdleHttpConnectionExpiry` in interface `IDatabricksConnectionContext`

#### supportManyParameters

    public boolean supportManyParameters()

Specified by:
  `supportManyParameters` in interface `IDatabricksConnectionContext`

#### getConnectionURL

    public String getConnectionURL()

Specified by:
  `getConnectionURL` in interface `IDatabricksConnectionContext`

#### checkCertificateRevocation

    public boolean checkCertificateRevocation()

Specified by:
  `checkCertificateRevocation` in interface `IDatabricksConnectionContext`

#### acceptUndeterminedCertificateRevocation

    public boolean acceptUndeterminedCertificateRevocation()

Specified by:
  `acceptUndeterminedCertificateRevocation` in interface `IDatabricksConnectionContext`

#### getJWTKeyFile

    public String getJWTKeyFile()

Description copied from interface: `IDatabricksConnectionContext`
Returns the file path to the JWT private key used for signing the JWT.

Specified by:
  `getJWTKeyFile` in interface `IDatabricksConnectionContext`

#### getKID

    public String getKID()

Description copied from interface: `IDatabricksConnectionContext`
Returns the Key ID (KID) used in the JWT header, identifying the key.

Specified by:
  `getKID` in interface `IDatabricksConnectionContext`

#### getJWTPassphrase

    public String getJWTPassphrase()

Description copied from interface: `IDatabricksConnectionContext`
Returns the passphrase to decrypt the private key if the key is encrypted.

Specified by:
  `getJWTPassphrase` in interface `IDatabricksConnectionContext`

#### getJWTAlgorithm

    public String getJWTAlgorithm()

Description copied from interface: `IDatabricksConnectionContext`
Returns the algorithm used for signing the JWT (e.g., RS256, ES256).

Specified by:
  `getJWTAlgorithm` in interface `IDatabricksConnectionContext`

#### useJWTAssertion

    public boolean useJWTAssertion()

Description copied from interface: `IDatabricksConnectionContext`
Returns whether JWT assertion should be used for OAuth2 authentication.

Specified by:
  `useJWTAssertion` in interface `IDatabricksConnectionContext`

#### getTokenEndpoint

    public String getTokenEndpoint()

Description copied from interface: `IDatabricksConnectionContext`
Returns the OAuth2 token endpoint URL for retrieving tokens.

Specified by:
  `getTokenEndpoint` in interface `IDatabricksConnectionContext`

#### getAuthEndpoint

    public String getAuthEndpoint()

Description copied from interface: `IDatabricksConnectionContext`
Returns the OAuth2 authorization endpoint URL for the authorization code flow.

Specified by:
  `getAuthEndpoint` in interface `IDatabricksConnectionContext`

#### isOAuthDiscoveryModeEnabled

    public boolean isOAuthDiscoveryModeEnabled()

Description copied from interface: `IDatabricksConnectionContext`
Returns whether OAuth2 discovery mode is enabled, which fetches endpoints dynamically.

Specified by:
  `isOAuthDiscoveryModeEnabled` in interface `IDatabricksConnectionContext`

#### getIdentityFederationClientId

    public String getIdentityFederationClientId()

Description copied from interface: `IDatabricksConnectionContext`
OAuth Client Id for identity federation which is used in exchanging the access token with Databricks in-house token

Specified by:
  `getIdentityFederationClientId` in interface `IDatabricksConnectionContext`

#### getOAuthDiscoveryURL

    public String getOAuthDiscoveryURL()

Description copied from interface: `IDatabricksConnectionContext`
Returns the discovery URL used to obtain the OAuth2 token and authorization endpoints.

Specified by:
  `getOAuthDiscoveryURL` in interface `IDatabricksConnectionContext`

#### getAuthScope

    public String getAuthScope()

Description copied from interface: `IDatabricksConnectionContext`
Returns the OAuth2 authentication scope used in the request.

Specified by:
  `getAuthScope` in interface `IDatabricksConnectionContext`

#### getOAuthRefreshToken

    public String getOAuthRefreshToken()

Description copied from interface: `IDatabricksConnectionContext`
Returns the OAuth2 refresh token used to obtain a new access token when the current one expires.

Specified by:
  `getOAuthRefreshToken` in interface `IDatabricksConnectionContext`

#### getOAuth2RedirectUrlPorts

    public List<Integer> getOAuth2RedirectUrlPorts()

Description copied from interface: `IDatabricksConnectionContext`
Returns the list of OAuth2 redirect URL ports used for OAuth authentication.

Specified by:
  `getOAuth2RedirectUrlPorts` in interface `IDatabricksConnectionContext`

#### getUseEmptyMetadata

    public Boolean getUseEmptyMetadata()

Specified by:
  `getUseEmptyMetadata` in interface `IDatabricksConnectionContext`

#### getNonProxyHosts

    public String getNonProxyHosts()

Description copied from interface: `IDatabricksConnectionContext`
Returns the non-proxy hosts that should be excluded from proxying.

Specified by:
  `getNonProxyHosts` in interface `IDatabricksConnectionContext`

#### getSSLTrustStore

    public String getSSLTrustStore()

Description copied from interface: `IDatabricksConnectionContext`
Returns the SSL trust store file path used for SSL connections.

Specified by:
  `getSSLTrustStore` in interface `IDatabricksConnectionContext`

#### getSSLTrustStorePassword

    public String getSSLTrustStorePassword()

Description copied from interface: `IDatabricksConnectionContext`
Returns the SSL trust store password of the trust store file.

Specified by:
  `getSSLTrustStorePassword` in interface `IDatabricksConnectionContext`

#### getSSLTrustStoreType

    public String getSSLTrustStoreType()

Description copied from interface: `IDatabricksConnectionContext`
Returns the SSL trust store type of the trust store file.

Specified by:
  `getSSLTrustStoreType` in interface `IDatabricksConnectionContext`

#### getSSLTrustStoreProvider

    public String getSSLTrustStoreProvider()

Description copied from interface: `IDatabricksConnectionContext`
Returns the SSL trust store provider for the trust store.

Specified by:
  `getSSLTrustStoreProvider` in interface `IDatabricksConnectionContext`

#### getSSLKeyStore

    public String getSSLKeyStore()

Description copied from interface: `IDatabricksConnectionContext`
Returns the SSL key store file path used for SSL connections.

Specified by:
  `getSSLKeyStore` in interface `IDatabricksConnectionContext`

#### getSSLKeyStorePassword

    public String getSSLKeyStorePassword()

Description copied from interface: `IDatabricksConnectionContext`
Returns the SSL key store password of the key store file.

Specified by:
  `getSSLKeyStorePassword` in interface `IDatabricksConnectionContext`

#### getSSLKeyStoreType

    public String getSSLKeyStoreType()

Description copied from interface: `IDatabricksConnectionContext`
Returns the SSL key store type of the key store file.

Specified by:
  `getSSLKeyStoreType` in interface `IDatabricksConnectionContext`

#### getSSLKeyStoreProvider

    public String getSSLKeyStoreProvider()

Description copied from interface: `IDatabricksConnectionContext`
Returns the SSL key store provider for the key store.

Specified by:
  `getSSLKeyStoreProvider` in interface `IDatabricksConnectionContext`

#### getMaxBatchSize

    public int getMaxBatchSize()
                        throws DatabricksValidationException

Description copied from interface: `IDatabricksConnectionContext`
Returns the maximum number of commands that can be executed in a single batch.

Specified by:
  `getMaxBatchSize` in interface `IDatabricksConnectionContext`
Throws:
  `DatabricksValidationException`

#### getConnectionUuid

    public String getConnectionUuid()

Description copied from interface: `IDatabricksConnectionContext`
Returns a unique identifier for this connection context.

This UUID is generated when the connection context is instantiated and serves as a unique internal identifier for each JDBC connection.

Specified by:
  `getConnectionUuid` in interface `IDatabricksConnectionContext`

#### getTelemetryBatchSize

    public int getTelemetryBatchSize()

Description copied from interface: `IDatabricksConnectionContext`
Returns the batch size for Telemetry logs processing

Specified by:
  `getTelemetryBatchSize` in interface `IDatabricksConnectionContext`

#### getBatchInsertSize

    public int getBatchInsertSize()
                           throws DatabricksValidationException

Description copied from interface: `IDatabricksConnectionContext`
Returns the maximum number of rows per batch insert execution

Specified by:
  `getBatchInsertSize` in interface `IDatabricksConnectionContext`
Throws:
  `DatabricksValidationException`

#### isTelemetryEnabled

    public boolean isTelemetryEnabled()

Description copied from interface: `IDatabricksConnectionContext`
Checks if Telemetry is enabled

Specified by:
  `isTelemetryEnabled` in interface `IDatabricksConnectionContext`

#### getVolumeOperationAllowedPaths

    public String getVolumeOperationAllowedPaths()

Description copied from interface: `IDatabricksConnectionContext`
Returns allowlisted local file paths for UC Volume operations

Specified by:
  `getVolumeOperationAllowedPaths` in interface `IDatabricksConnectionContext`

#### isSqlExecHybridResultsEnabled

    public boolean isSqlExecHybridResultsEnabled()

Description copied from interface: `IDatabricksConnectionContext`
Returns true if driver should use hybrid results in SQL_EXEC API.

Specified by:
  `isSqlExecHybridResultsEnabled` in interface `IDatabricksConnectionContext`

#### isSqlExecDirectResultsEnabled

    public boolean isSqlExecDirectResultsEnabled()

Description copied from interface: `IDatabricksConnectionContext`
Returns true if driver should use direct results in SQL_EXEC API.

Specified by:
  `isSqlExecDirectResultsEnabled` in interface `IDatabricksConnectionContext`

#### getAzureTenantId

    public String getAzureTenantId()

Description copied from interface: `IDatabricksConnectionContext`
Returns the Azure tenant ID for the Azure Databricks workspace.

Specified by:
  `getAzureTenantId` in interface `IDatabricksConnectionContext`

#### getDefaultStringColumnLength

    public int getDefaultStringColumnLength()

Description copied from interface: `IDatabricksConnectionContext`
Returns maximum number of characters that can be contained in STRING columns.

Specified by:
  `getDefaultStringColumnLength` in interface `IDatabricksConnectionContext`

#### getMaxDBFSConcurrentPresignedRequests

    public int getMaxDBFSConcurrentPresignedRequests()

Specified by:
  `getMaxDBFSConcurrentPresignedRequests` in interface `IDatabricksConnectionContext`

#### isComplexDatatypeSupportEnabled

    public boolean isComplexDatatypeSupportEnabled()

Description copied from interface: `IDatabricksConnectionContext`
Returns true if driver return complex data type java objects natively as opposed to string

Specified by:
  `isComplexDatatypeSupportEnabled` in interface `IDatabricksConnectionContext`

#### isGeoSpatialSupportEnabled

    public boolean isGeoSpatialSupportEnabled()

Description copied from interface: `IDatabricksConnectionContext`
Returns true if driver returns GEOMETRY and GEOGRAPHY types natively. Requires isComplexDatatypeSupportEnabled() to be true

Specified by:
  `isGeoSpatialSupportEnabled` in interface `IDatabricksConnectionContext`

#### isRequestTracingEnabled

    public boolean isRequestTracingEnabled()

Description copied from interface: `IDatabricksConnectionContext`
Returns true if request tracing should be enabled.

Specified by:
  `isRequestTracingEnabled` in interface `IDatabricksConnectionContext`

#### getHttpConnectionPoolSize

    public int getHttpConnectionPoolSize()
                                  throws DatabricksValidationException

Description copied from interface: `IDatabricksConnectionContext`
Returns the size for HTTP connection pool

Specified by:
  `getHttpConnectionPoolSize` in interface `IDatabricksConnectionContext`
Throws:
  `DatabricksValidationException`

#### allowSelfSignedCerts

    public boolean allowSelfSignedCerts()

Description copied from interface: `IDatabricksConnectionContext`
Returns whether self-signed certificates are allowed for SSL connections.

When true, the driver will accept any certificate, including self-signed certificates. This option is insecure and should only be used in non-production environments.

Specified by:
  `allowSelfSignedCerts` in interface `IDatabricksConnectionContext`
Returns:
  true if self-signed certificates are allowed, false otherwise

#### useSystemTrustStore

    public boolean useSystemTrustStore()

Description copied from interface: `IDatabricksConnectionContext`
Returns whether the system property trust store should be used for SSL certificate validation.

When true, the driver will use either:

1. The trust store specified by the Java system property `javax.net.ssl.trustStore` if set
2. Or the JDK's default trust store (cacerts) if no system property is set

When false, the driver will:

1. Use the custom trust store specified by the SSLTrustStore parameter if provided
2. Or use the JDK's default trust store (cacerts) but ignore any javax.net.ssl.trustStore system property

Specified by:
  `useSystemTrustStore` in interface `IDatabricksConnectionContext`
Returns:
  true if the system property trust store should be used, false otherwise

#### getUCIngestionRetriableHttpCodes

    public List<Integer> getUCIngestionRetriableHttpCodes()

Description copied from interface: `IDatabricksConnectionContext`
Returns the list of HTTP codes to retry for UC Volume Ingestion

Specified by:
  `getUCIngestionRetriableHttpCodes` in interface `IDatabricksConnectionContext`

#### getUCIngestionRetryTimeoutSeconds

    public int getUCIngestionRetryTimeoutSeconds()

Description copied from interface: `IDatabricksConnectionContext`
Returns retry timeout in seconds for UC Volume Ingestion

Specified by:
  `getUCIngestionRetryTimeoutSeconds` in interface `IDatabricksConnectionContext`

#### getAzureWorkspaceResourceId

    public String getAzureWorkspaceResourceId()

Specified by:
  `getAzureWorkspaceResourceId` in interface `IDatabricksConnectionContext`

#### getRowsFetchedPerBlock

    public int getRowsFetchedPerBlock()

Description copied from interface: `IDatabricksConnectionContext`
Returns maximum number of rows that a query returns at a time.

Specified by:
  `getRowsFetchedPerBlock` in interface `IDatabricksConnectionContext`

#### getSocketTimeout

    public int getSocketTimeout()

Returns the socket timeout in seconds for HTTP connections.

Specified by:
  `getSocketTimeout` in interface `IDatabricksConnectionContext`

#### getTelemetrySocketTimeout

    public int getTelemetrySocketTimeout()

Returns the socket timeout in seconds for the telemetry HTTP client.

Specified by:
  `getTelemetrySocketTimeout` in interface `IDatabricksConnectionContext`

#### getTokenCachePassPhrase

    public String getTokenCachePassPhrase()

Description copied from interface: `IDatabricksConnectionContext`
Returns the passphrase used for encrypting/decrypting token cache

Specified by:
  `getTokenCachePassPhrase` in interface `IDatabricksConnectionContext`

#### isTokenCacheEnabled

    public boolean isTokenCacheEnabled()

Description copied from interface: `IDatabricksConnectionContext`
Returns whether token caching is enabled for OAuth authentication

Specified by:
  `isTokenCacheEnabled` in interface `IDatabricksConnectionContext`

#### getApplicationName

    public String getApplicationName()

Description copied from interface: `IDatabricksConnectionContext`
Returns the application name using JDBC Connection

Specified by:
  `getApplicationName` in interface `IDatabricksConnectionContext`

#### getChunkReadyTimeoutSeconds

    public int getChunkReadyTimeoutSeconds()

Returns the timeout in seconds for waiting for a chunk to be ready.

Specified by:
  `getChunkReadyTimeoutSeconds` in interface `IDatabricksConnectionContext`

#### isTelemetryCircuitBreakerEnabled

    public boolean isTelemetryCircuitBreakerEnabled()

Description copied from interface: `IDatabricksConnectionContext`
Returns whether circuit breaker is enabled for telemetry

Specified by:
  `isTelemetryCircuitBreakerEnabled` in interface `IDatabricksConnectionContext`

#### getHttpMaxConnectionsPerRoute

    public int getHttpMaxConnectionsPerRoute()

Description copied from interface: `IDatabricksConnectionContext`
Returns the maximum number of HTTP connections per route

Specified by:
  `getHttpMaxConnectionsPerRoute` in interface `IDatabricksConnectionContext`

#### getHttpConnectionRequestTimeout

    public Integer getHttpConnectionRequestTimeout()

Description copied from interface: `IDatabricksConnectionContext`
Returns the HTTP connection request timeout in seconds

Specified by:
  `getHttpConnectionRequestTimeout` in interface `IDatabricksConnectionContext`

#### enableShowCommandsForGetFunctions

    public boolean enableShowCommandsForGetFunctions()

Specified by:
  `enableShowCommandsForGetFunctions` in interface `IDatabricksConnectionContext`

#### getEnableMetricViewMetadata

    public boolean getEnableMetricViewMetadata()

Specified by:
  `getEnableMetricViewMetadata` in interface `IDatabricksConnectionContext`

#### forceEnableTelemetry

    public boolean forceEnableTelemetry()

Description copied from interface: `IDatabricksConnectionContext`
Returns whether telemetry is enabled for all connections

Specified by:
  `forceEnableTelemetry` in interface `IDatabricksConnectionContext`

#### getTelemetryFlushIntervalInMilliseconds

    public int getTelemetryFlushIntervalInMilliseconds()

Description copied from interface: `IDatabricksConnectionContext`
Returns the flush interval in milliseconds for telemetry

Specified by:
  `getTelemetryFlushIntervalInMilliseconds` in interface `IDatabricksConnectionContext`

#### isBatchedInsertsEnabled

    public boolean isBatchedInsertsEnabled()

Description copied from interface: `IDatabricksConnectionContext`
Returns whether batched INSERT optimization is enabled

Specified by:
  `isBatchedInsertsEnabled` in interface `IDatabricksConnectionContext`

#### getNonRowcountQueryPrefixes

    public List<String> getNonRowcountQueryPrefixes()

Specified by:
  `getNonRowcountQueryPrefixes` in interface `IDatabricksConnectionContext`

#### getIgnoreTransactions

    public boolean getIgnoreTransactions()

Description copied from interface: `IDatabricksConnectionContext`
Returns whether transaction-related method calls should be ignored

Specified by:
  `getIgnoreTransactions` in interface `IDatabricksConnectionContext`

#### getFetchAutoCommitFromServer

    public boolean getFetchAutoCommitFromServer()

Description copied from interface: `IDatabricksConnectionContext`
Returns whether to fetch auto-commit state from server using SQL query instead of cached value

Specified by:
  `getFetchAutoCommitFromServer` in interface `IDatabricksConnectionContext`

#### getTelemetryLogLevel

    public TelemetryLogLevel getTelemetryLogLevel()

Specified by:
  `getTelemetryLogLevel` in interface `IDatabricksConnectionContext`

#### isSeaSyncMetadataEnabled

    public boolean isSeaSyncMetadataEnabled()

Description copied from interface: `IDatabricksConnectionContext`
Returns whether the x-databricks-sea-can-run-fully-sync header should be enabled for synchronous metadata requests in SEA mode

Specified by:
  `isSeaSyncMetadataEnabled` in interface `IDatabricksConnectionContext`

#### getDisableOauthRefreshToken

    public boolean getDisableOauthRefreshToken()

Description copied from interface: `IDatabricksConnectionContext`
Returns whether OAuth refresh tokens should be disabled (omit offline_access by default).

Specified by:
  `getDisableOauthRefreshToken` in interface `IDatabricksConnectionContext`

#### isTokenFederationEnabled

    public boolean isTokenFederationEnabled()

Description copied from interface: `IDatabricksConnectionContext`
Returns whether token federation is enabled for authentication.

Specified by:
  `isTokenFederationEnabled` in interface `IDatabricksConnectionContext`

#### isStreamingChunkProviderEnabled

    public boolean isStreamingChunkProviderEnabled()

Description copied from interface: `IDatabricksConnectionContext`
Returns whether streaming chunk provider is enabled for result fetching.

Specified by:
  `isStreamingChunkProviderEnabled` in interface `IDatabricksConnectionContext`

#### isInlineStreamingEnabled

    public boolean isInlineStreamingEnabled()

Description copied from interface: `IDatabricksConnectionContext`
Returns whether streaming mode is enabled for inline results (Thrift columnar and inline Arrow).

Specified by:
  `isInlineStreamingEnabled` in interface `IDatabricksConnectionContext`

#### isCloudFetchEnabled

    public boolean isCloudFetchEnabled()

Description copied from interface: `IDatabricksConnectionContext`
Returns whether CloudFetch (URL-based result download) is enabled.

When enabled (default), the server may return URL_BASED_SET results that are downloaded from cloud storage. When disabled, the server returns ARROW_BASED_SET with inline Arrow data.

Specified by:
  `isCloudFetchEnabled` in interface `IDatabricksConnectionContext`
Returns:
  true if CloudFetch is enabled, false otherwise

#### getThriftMaxBatchesInMemory

    public int getThriftMaxBatchesInMemory()

Description copied from interface: `IDatabricksConnectionContext`
Returns the maximum number of batches to keep in memory for Thrift streaming.

Specified by:
  `getThriftMaxBatchesInMemory` in interface `IDatabricksConnectionContext`
Returns:
  the max batches in memory (default: 3)

#### getLinkPrefetchWindow

    public int getLinkPrefetchWindow()

Description copied from interface: `IDatabricksConnectionContext`
Returns the number of chunk links to prefetch ahead of consumption.

This controls how far ahead the streaming chunk provider fetches links before they are needed. Higher values reduce latency by ensuring links are ready when needed. Lower values reduce the risk of link expiry for workloads that process data slowly (e.g., heavy computation per row), since prefetched links may expire before being used.

Specified by:
  `getLinkPrefetchWindow` in interface `IDatabricksConnectionContext`
Returns:
  the link prefetch window size (default: 128)