Package com.databricks.jdbc.common.util
Class ProtocolFeatureUtil
- java.lang.Object
-
- com.databricks.jdbc.common.util.ProtocolFeatureUtil
-
public final class ProtocolFeatureUtil extends Object
Utility class for checking Spark protocol version features. Provides methods to determine if specific protocol features are supported.
-
-
Method Summary
All Methods Static Methods Concrete Methods Modifier and Type Method Description static booleanisNonDatabricksCompute(TProtocolVersion protocolVersion)Checks if the given protocol version indicates a non-Databricks compute.static booleansupportsAdvancedArrowTypes(TProtocolVersion protocolVersion)Checks if the given protocol version supports advanced Arrow types.static booleansupportsArrowMetadata(TProtocolVersion protocolVersion)Checks if the given protocol version supports Arrow metadata in result sets.static booleansupportsAsyncMetadataExecution(TProtocolVersion protocolVersion)Checks if the given protocol version supports async metadata execution.static booleansupportsAsyncMetadataOperations(TProtocolVersion protocolVersion)Checks if the given protocol version supports async metadata operations.static booleansupportsCloudFetch(TProtocolVersion protocolVersion)Checks if the given protocol version supports cloud result fetching.static booleansupportsCompressedArrowBatches(TProtocolVersion protocolVersion)Checks if the given protocol version supports compressed Arrow batches.static booleansupportsDirectResults(TProtocolVersion protocolVersion)Checks if the given protocol version supports direct results.static booleansupportsGetInfosInOpenSession(TProtocolVersion protocolVersion)Checks if the given protocol version supports getting additional information in OpenSession.static booleansupportsModifiedHasMoreRowsSemantics(TProtocolVersion protocolVersion)Checks if the given protocol version supports modified hasMoreRows semantics.static booleansupportsMultipleCatalogs(TProtocolVersion protocolVersion)Checks if the given protocol version supports multiple catalogs in metadata operations.static booleansupportsParameterizedQueries(TProtocolVersion protocolVersion)Checks if the given protocol version supports parameterized queries.static booleansupportsResultPersistenceMode(TProtocolVersion protocolVersion)Checks if the given protocol version supports result persistence mode.static booleansupportsResultSetMetadataFromFetch(TProtocolVersion protocolVersion)Checks if the given protocol version supports getting result set metadata from fetch results.
-
-
-
Method Detail
-
supportsGetInfosInOpenSession
public static boolean supportsGetInfosInOpenSession(TProtocolVersion protocolVersion)
Checks if the given protocol version supports getting additional information in OpenSession.- Parameters:
protocolVersion- The protocol version to check- Returns:
- true if getInfos in OpenSession is supported, false otherwise
-
supportsDirectResults
public static boolean supportsDirectResults(TProtocolVersion protocolVersion)
Checks if the given protocol version supports direct results.- Parameters:
protocolVersion- The protocol version to check- Returns:
- true if direct results are supported, false otherwise
-
supportsModifiedHasMoreRowsSemantics
public static boolean supportsModifiedHasMoreRowsSemantics(TProtocolVersion protocolVersion)
Checks if the given protocol version supports modified hasMoreRows semantics.- Parameters:
protocolVersion- The protocol version to check- Returns:
- true if modified hasMoreRows semantics are supported, false otherwise
-
supportsCloudFetch
public static boolean supportsCloudFetch(TProtocolVersion protocolVersion)
Checks if the given protocol version supports cloud result fetching.- Parameters:
protocolVersion- The protocol version to check- Returns:
- true if cloud fetch is supported, false otherwise
-
supportsMultipleCatalogs
public static boolean supportsMultipleCatalogs(TProtocolVersion protocolVersion)
Checks if the given protocol version supports multiple catalogs in metadata operations.- Parameters:
protocolVersion- The protocol version to check- Returns:
- true if multiple catalogs are supported, false otherwise
-
supportsArrowMetadata
public static boolean supportsArrowMetadata(TProtocolVersion protocolVersion)
Checks if the given protocol version supports Arrow metadata in result sets.- Parameters:
protocolVersion- The protocol version to check- Returns:
- true if Arrow metadata is supported, false otherwise
-
supportsResultSetMetadataFromFetch
public static boolean supportsResultSetMetadataFromFetch(TProtocolVersion protocolVersion)
Checks if the given protocol version supports getting result set metadata from fetch results.- Parameters:
protocolVersion- The protocol version to check- Returns:
- true if getting result set metadata from fetch is supported, false otherwise
-
supportsAdvancedArrowTypes
public static boolean supportsAdvancedArrowTypes(TProtocolVersion protocolVersion)
Checks if the given protocol version supports advanced Arrow types.- Parameters:
protocolVersion- The protocol version to check- Returns:
- true if advanced Arrow types are supported, false otherwise
-
supportsCompressedArrowBatches
public static boolean supportsCompressedArrowBatches(TProtocolVersion protocolVersion)
Checks if the given protocol version supports compressed Arrow batches.- Parameters:
protocolVersion- The protocol version to check- Returns:
- true if compressed Arrow batches are supported, false otherwise
-
supportsAsyncMetadataExecution
public static boolean supportsAsyncMetadataExecution(TProtocolVersion protocolVersion)
Checks if the given protocol version supports async metadata execution.- Parameters:
protocolVersion- The protocol version to check- Returns:
- true if async metadata execution is supported, false otherwise
-
supportsResultPersistenceMode
public static boolean supportsResultPersistenceMode(TProtocolVersion protocolVersion)
Checks if the given protocol version supports result persistence mode.- Parameters:
protocolVersion- The protocol version to check- Returns:
- true if result persistence mode is supported, false otherwise
-
supportsParameterizedQueries
public static boolean supportsParameterizedQueries(TProtocolVersion protocolVersion)
Checks if the given protocol version supports parameterized queries.- Parameters:
protocolVersion- The protocol version to check- Returns:
- true if parameterized queries are supported, false otherwise
-
supportsAsyncMetadataOperations
public static boolean supportsAsyncMetadataOperations(TProtocolVersion protocolVersion)
Checks if the given protocol version supports async metadata operations.- Parameters:
protocolVersion- The protocol version to check- Returns:
- true if async metadata operations are supported, false otherwise
-
isNonDatabricksCompute
public static boolean isNonDatabricksCompute(TProtocolVersion protocolVersion)
Checks if the given protocol version indicates a non-Databricks compute.- Parameters:
protocolVersion- The protocol version to check- Returns:
- true if this is a non-Databricks compute, false otherwise
-
-