Interface IDatabricksConnectionContext

All Known Implementing Classes:
DatabricksConnectionContext

public interface IDatabricksConnectionContext
  • Method Details

    • getHostUrl

      String getHostUrl() throws DatabricksParsingException
      Returns host-Url for Databricks server as parsed from JDBC connection in format https://server:port
      Returns:
      Databricks host-Url
      Throws:
      DatabricksParsingException
    • getHost

      String getHost()
      Returns just the host parsed from JDBC connection. Note : this is not the url.
      Returns:
      Databricks host
    • getComputeResource

      IDatabricksComputeResource getComputeResource()
      Returns warehouse-Id as parsed from JDBC connection Url
      Returns:
      warehouse-Id
    • getToken

      String getToken()
      Returns the auth token (personal access token)
      Returns:
      auth token
    • getPassThroughAccessToken

      String getPassThroughAccessToken()
      Returns the pass through access token
      Returns:
      access token
    • getHostForOAuth

      String getHostForOAuth()
    • getClientId

    • getNullableClientId

      String getNullableClientId()
    • getClientSecret

      String getClientSecret()
    • getOAuthScopesForU2M

      List<String> getOAuthScopesForU2M() throws DatabricksParsingException
      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.

      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
    • getAuthMech

      AuthMech getAuthMech()
    • getAuthFlow

      AuthFlow getAuthFlow()
    • isPropertyPresent

      boolean isPropertyPresent(DatabricksJdbcUrlParams urlParam)
    • getLogLevel

      LogLevel getLogLevel()
    • getLogPathString

      String getLogPathString()
    • getLogFileSize

      int getLogFileSize()
    • getLogFileCount

      int getLogFileCount()
    • getClientUserAgent

      String getClientUserAgent()
      Returns the userAgent string specific to client used to fetch results.
    • getCompressionCodec

      CompressionCodec getCompressionCodec()
    • getCustomerUserAgent

      String getCustomerUserAgent()
      Returns the userAgent string specified as part of the JDBC connection string
    • getCatalog

      String getCatalog()
    • getSchema

      String getSchema()
    • getSessionConfigs

      Map<String,String> getSessionConfigs()
    • getClientInfoProperties

      Map<String,String> getClientInfoProperties()
    • getCustomHeaders

      Map<String,String> getCustomHeaders()
      Returns the custom headers set in the JDBC connection string.
      Returns:
      Map of custom headers
    • isAllPurposeCluster

      boolean isAllPurposeCluster()
    • getHttpPath

      String getHttpPath()
    • getEnableSQLValidationForIsValid

      boolean getEnableSQLValidationForIsValid()
      Returns the value of the EnableSQLValidationForIsValid connection property.
    • getEnableMultipleCatalogSupport

      boolean getEnableMultipleCatalogSupport()
      Returns the value of the enableMultipleCatalogSupport connection property.
    • getProxyHost

      String getProxyHost()
    • getProxyPort

      int getProxyPort()
    • getProxyUser

      String getProxyUser()
    • getProxyPassword

      String getProxyPassword()
    • getUseProxy

      Boolean getUseProxy()
    • getProxyAuthType

      com.databricks.sdk.core.ProxyConfig.ProxyAuthType getProxyAuthType()
    • getUseSystemProxy

      Boolean getUseSystemProxy()
    • getUseCloudFetchProxy

      Boolean getUseCloudFetchProxy()
    • getCloud

      com.databricks.sdk.core.utils.Cloud getCloud() throws DatabricksParsingException
      Throws:
      DatabricksParsingException
    • getCloudFetchProxyHost

      String getCloudFetchProxyHost()
    • getCloudFetchProxyPort

      int getCloudFetchProxyPort()
    • getCloudFetchProxyUser

      String getCloudFetchProxyUser()
    • getCloudFetchProxyPassword

      String getCloudFetchProxyPassword()
    • getCloudFetchProxyAuthType

      com.databricks.sdk.core.ProxyConfig.ProxyAuthType getCloudFetchProxyAuthType()
    • getEndpointURL

    • getAsyncExecPollInterval

      int getAsyncExecPollInterval()
    • shouldEnableArrow

      Boolean shouldEnableArrow()
    • getClientType

      DatabricksClientType getClientType()
    • setClientType

      void setClientType(DatabricksClientType clientType)
    • getUseEmptyMetadata

      Boolean getUseEmptyMetadata()
    • getCloudFetchThreadPoolSize

      int getCloudFetchThreadPoolSize()
      Returns the number of threads to be used for fetching data from cloud storage
    • getCloudFetchSpeedThreshold

      double getCloudFetchSpeedThreshold()
      Returns the minimum expected download speed threshold in MB/s for CloudFetch operations
    • getDirectResultMode

      Boolean getDirectResultMode()
    • shouldRetryTemporarilyUnavailableError

      Boolean shouldRetryTemporarilyUnavailableError()
    • shouldRetryRateLimitError

      Boolean shouldRetryRateLimitError()
    • getTemporarilyUnavailableRetryTimeout

      int getTemporarilyUnavailableRetryTimeout()
    • getRateLimitRetryTimeout

      int getRateLimitRetryTimeout()
    • getIdleHttpConnectionExpiry

      int getIdleHttpConnectionExpiry()
    • supportManyParameters

      boolean supportManyParameters()
    • getConnectionURL

      String getConnectionURL()
    • checkCertificateRevocation

      boolean checkCertificateRevocation()
    • acceptUndeterminedCertificateRevocation

      boolean acceptUndeterminedCertificateRevocation()
    • getJWTKeyFile

      String getJWTKeyFile()
      Returns the file path to the JWT private key used for signing the JWT.
    • getKID

      String getKID()
      Returns the Key ID (KID) used in the JWT header, identifying the key.
    • getJWTPassphrase

      String getJWTPassphrase()
      Returns the passphrase to decrypt the private key if the key is encrypted.
    • getJWTAlgorithm

      String getJWTAlgorithm()
      Returns the algorithm used for signing the JWT (e.g., RS256, ES256).
    • useJWTAssertion

      boolean useJWTAssertion()
      Returns whether JWT assertion should be used for OAuth2 authentication.
    • getTokenEndpoint

      String getTokenEndpoint()
      Returns the OAuth2 token endpoint URL for retrieving tokens.
    • getAuthEndpoint

      String getAuthEndpoint()
      Returns the OAuth2 authorization endpoint URL for the authorization code flow.
    • isOAuthDiscoveryModeEnabled

      boolean isOAuthDiscoveryModeEnabled()
      Returns whether OAuth2 discovery mode is enabled, which fetches endpoints dynamically.
    • getIdentityFederationClientId

      String getIdentityFederationClientId()
      OAuth Client Id for identity federation which is used in exchanging the access token with Databricks in-house token
    • getOAuthDiscoveryURL

      String getOAuthDiscoveryURL()
      Returns the discovery URL used to obtain the OAuth2 token and authorization endpoints.
    • getAuthScope

      String getAuthScope()
      Returns the OAuth2 authentication scope used in the request.
    • getOAuthRefreshToken

      String getOAuthRefreshToken()
      Returns the OAuth2 refresh token used to obtain a new access token when the current one expires.
    • getOAuth2RedirectUrlPorts

      List<Integer> getOAuth2RedirectUrlPorts()
      Returns the list of OAuth2 redirect URL ports used for OAuth authentication.
    • getGcpAuthType

    • getGoogleServiceAccount

      String getGoogleServiceAccount()
    • getGoogleCredentials

      String getGoogleCredentials()
    • getNonProxyHosts

      String getNonProxyHosts()
      Returns the non-proxy hosts that should be excluded from proxying.
    • getSSLTrustStore

      String getSSLTrustStore()
      Returns the SSL trust store file path used for SSL connections.
    • getSSLTrustStorePassword

      String getSSLTrustStorePassword()
      Returns the SSL trust store password of the trust store file.
    • getSSLTrustStoreType

      String getSSLTrustStoreType()
      Returns the SSL trust store type of the trust store file.
    • getSSLKeyStore

      String getSSLKeyStore()
      Returns the SSL key store file path used for SSL connections.
    • getSSLKeyStorePassword

      String getSSLKeyStorePassword()
      Returns the SSL key store password of the key store file.
    • getSSLKeyStoreType

      String getSSLKeyStoreType()
      Returns the SSL key store type of the key store file.
    • getSSLKeyStoreProvider

      String getSSLKeyStoreProvider()
      Returns the SSL key store provider for the key store.
    • getSSLTrustStoreProvider

      String getSSLTrustStoreProvider()
      Returns the SSL trust store provider for the trust store.
    • getMaxBatchSize

      int getMaxBatchSize()
      Returns the maximum number of commands that can be executed in a single batch.
    • isTelemetryEnabled

      boolean isTelemetryEnabled()
      Checks if Telemetry is enabled
    • getTelemetryBatchSize

      int getTelemetryBatchSize()
      Returns the batch size for Telemetry logs processing
    • getConnectionUuid

      String getConnectionUuid()
      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.

    • getVolumeOperationAllowedPaths

      String getVolumeOperationAllowedPaths()
      Returns allowlisted local file paths for UC Volume operations
    • isSqlExecHybridResultsEnabled

      boolean isSqlExecHybridResultsEnabled()
      Returns true if driver should use hybrid results in SQL_EXEC API.
    • isSqlExecDirectResultsEnabled

      boolean isSqlExecDirectResultsEnabled()
      Returns true if driver should use direct results in SQL_EXEC API.
    • getAzureTenantId

      String getAzureTenantId()
      Returns the Azure tenant ID for the Azure Databricks workspace.
    • isRequestTracingEnabled

      boolean isRequestTracingEnabled()
      Returns true if request tracing should be enabled.
    • getDefaultStringColumnLength

      int getDefaultStringColumnLength()
      Returns maximum number of characters that can be contained in STRING columns.
    • isComplexDatatypeSupportEnabled

      boolean isComplexDatatypeSupportEnabled()
      Returns true if driver return complex data type java objects natively as opposed to string
    • getHttpConnectionPoolSize

      int getHttpConnectionPoolSize()
      Returns the size for HTTP connection pool
    • getUCIngestionRetriableHttpCodes

      List<Integer> getUCIngestionRetriableHttpCodes()
      Returns the list of HTTP codes to retry for UC Volume Ingestion
    • getUCIngestionRetryTimeoutSeconds

      int getUCIngestionRetryTimeoutSeconds()
      Returns retry timeout in seconds for UC Volume Ingestion
    • getAzureWorkspaceResourceId

      String getAzureWorkspaceResourceId()
    • getRowsFetchedPerBlock

      int getRowsFetchedPerBlock()
      Returns maximum number of rows that a query returns at a time.
    • getSocketTimeout

      int getSocketTimeout()
      Returns the socket timeout in seconds for HTTP connections.
    • allowSelfSignedCerts

      boolean allowSelfSignedCerts()
      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.

      Returns:
      true if self-signed certificates are allowed, false otherwise
    • useSystemTrustStore

      boolean useSystemTrustStore()
      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
      Returns:
      true if the system property trust store should be used, false otherwise
    • getTokenCachePassPhrase

      String getTokenCachePassPhrase()
      Returns the passphrase used for encrypting/decrypting token cache
    • isTokenCacheEnabled

      boolean isTokenCacheEnabled()
      Returns whether token caching is enabled for OAuth authentication
    • getMaxDBFSConcurrentPresignedRequests

      int getMaxDBFSConcurrentPresignedRequests()
    • getApplicationName

      String getApplicationName()
      Returns the application name using JDBC Connection
    • getChunkReadyTimeoutSeconds

      int getChunkReadyTimeoutSeconds()
      Returns the timeout in seconds for waiting for a chunk to be ready.
    • forceEnableTelemetry

      boolean forceEnableTelemetry()
      Returns whether telemetry is enabled for all connections
    • getTelemetryFlushIntervalInMilliseconds

      int getTelemetryFlushIntervalInMilliseconds()
      Returns the flush interval in milliseconds for telemetry
    • isTelemetryCircuitBreakerEnabled

      boolean isTelemetryCircuitBreakerEnabled()
      Returns whether circuit breaker is enabled for telemetry
    • getHttpMaxConnectionsPerRoute

      int getHttpMaxConnectionsPerRoute()
      Returns the maximum number of HTTP connections per route
    • getHttpConnectionRequestTimeout

      Integer getHttpConnectionRequestTimeout()
      Returns the HTTP connection request timeout in seconds
    • enableShowCommandsForGetFunctions

      boolean enableShowCommandsForGetFunctions()
    • isBatchedInsertsEnabled

      boolean isBatchedInsertsEnabled()
      Returns whether batched INSERT optimization is enabled
    • getIgnoreTransactions

      boolean getIgnoreTransactions()
      Returns whether transaction-related method calls should be ignored
    • getEnableMetricViewMetadata

      boolean getEnableMetricViewMetadata()