Package com.databricks.jdbc.api.impl
Class DatabricksResultSetMetaData
- java.lang.Object
-
- com.databricks.jdbc.api.impl.DatabricksResultSetMetaData
-
- All Implemented Interfaces:
ResultSetMetaData,Wrapper
public class DatabricksResultSetMetaData extends Object implements ResultSetMetaData
-
-
Field Summary
-
Fields inherited from interface java.sql.ResultSetMetaData
columnNoNulls, columnNullable, columnNullableUnknown
-
-
Constructor Summary
Constructors Constructor Description DatabricksResultSetMetaData(StatementId statementId, TGetResultSetMetadataResp resultManifest, long rows, long chunkCount, List<String> arrowMetadata, IDatabricksConnectionContext ctx)Constructs aDatabricksResultSetMetaDataobject for a Thrift-based result set.DatabricksResultSetMetaData(StatementId statementId, ResultManifest resultManifest, boolean usesExternalLinks, IDatabricksConnectionContext ctx)Constructs aDatabricksResultSetMetaDataobject for a SEA result set.DatabricksResultSetMetaData(StatementId statementId, List<ColumnMetadata> columnMetadataList, long totalRows)Constructs aDatabricksResultSetMetaDataobject for metadata result set (SEA Flow)DatabricksResultSetMetaData(StatementId statementId, List<String> columnNames, List<String> columnTypeText, int[] columnTypes, int[] columnTypePrecisions, int[] isNullables, long totalRows)Constructs aDatabricksResultSetMetaDataobject for predefined metadata result set.DatabricksResultSetMetaData(StatementId statementId, List<String> columnNames, List<String> columnDataTypes, IDatabricksConnectionContext ctx)Constructs aDatabricksResultSetMetaDataobject 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.DatabricksResultSetMetaData(StatementId statementId, List<String> columnNames, List<String> columnTypeText, List<Integer> columnTypes, List<Integer> columnTypePrecisions, List<Nullable> columnNullables, long totalRows)Constructs aDatabricksResultSetMetaDataobject for metadata result set (Thrift Flow)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description StringgetCatalogName(int column)LonggetChunkCount()StringgetColumnClassName(int column)intgetColumnCount()intgetColumnDisplaySize(int column)StringgetColumnLabel(int column)StringgetColumnName(int column)intgetColumnNameIndex(String columnName)Returns index of column-name in metadata starting from 1intgetColumnType(int column)StringgetColumnTypeName(int column)booleangetIsCloudFetchUsed()intgetPrecision(int column)int[]getPrecisionAndScale(ColumnInfo columnInfo)int[]getPrecisionAndScale(ColumnInfo columnInfo, int columnType)int[]getPrecisionAndScale(String columnTypeText, int columnType)intgetScale(int column)StringgetSchemaName(int column)StringgetTableName(int column)longgetTotalRows()booleanisAutoIncrement(int column)booleanisCaseSensitive(int column)booleanisCurrency(int column)booleanisDefinitelyWritable(int column)intisNullable(int column)booleanisReadOnly(int column)booleanisSearchable(int column)booleanisSigned(int column)booleanisWrapperFor(Class<?> iface)booleanisWritable(int column)<T> Tunwrap(Class<T> iface)
-
-
-
Constructor Detail
-
DatabricksResultSetMetaData
public DatabricksResultSetMetaData(StatementId statementId, ResultManifest resultManifest, boolean usesExternalLinks, IDatabricksConnectionContext ctx)
Constructs aDatabricksResultSetMetaDataobject for a SEA result set.- Parameters:
statementId- the unique identifier of the SQL statement executionresultManifest- the manifest containing metadata about the result set, including column information and typesusesExternalLinks- whether or not the resultData contains external links (cloud fetch is used)
-
DatabricksResultSetMetaData
public DatabricksResultSetMetaData(StatementId statementId, TGetResultSetMetadataResp resultManifest, long rows, long chunkCount, List<String> arrowMetadata, IDatabricksConnectionContext ctx)
Constructs aDatabricksResultSetMetaDataobject for a Thrift-based result set.- Parameters:
statementId- the unique identifier of the SQL statement executionresultManifest- the response containing metadata about the result set, including column information and types, obtained through the Thrift protocolrows- the total number of rows in the result setchunkCount- the total number of data chunks in the result set
-
DatabricksResultSetMetaData
public DatabricksResultSetMetaData(StatementId statementId, List<ColumnMetadata> columnMetadataList, long totalRows)
Constructs aDatabricksResultSetMetaDataobject for metadata result set (SEA Flow)- Parameters:
statementId- the unique identifier of the SQL statement executioncolumnMetadataList- the list containing metadata for each column in the result set, such as column names, types, and precisiontotalRows- the total number of rows in the result set
-
DatabricksResultSetMetaData
public DatabricksResultSetMetaData(StatementId statementId, List<String> columnNames, List<String> columnTypeText, List<Integer> columnTypes, List<Integer> columnTypePrecisions, List<Nullable> columnNullables, long totalRows)
Constructs aDatabricksResultSetMetaDataobject for metadata result set (Thrift Flow)- Parameters:
statementId- the unique identifier of the SQL statement executioncolumnNames- names of each columncolumnTypeText- type text of each columncolumnTypes- types of each columncolumnTypePrecisions- precisions of each columncolumnNullables- nullable value of each columntotalRows- total number of rows in result set
-
DatabricksResultSetMetaData
public DatabricksResultSetMetaData(StatementId statementId, List<String> columnNames, List<String> columnTypeText, int[] columnTypes, int[] columnTypePrecisions, int[] isNullables, long totalRows)
Constructs aDatabricksResultSetMetaDataobject for predefined metadata result set.- Parameters:
statementId- the unique identifier of the SQL statement executioncolumnNames- the names of each columncolumnTypeText- the textual representation of the column typescolumnTypes- the integer values representing the SQL types of each columncolumnTypePrecisions- the precisions of each columnisNullables- the nullability status of each columntotalRows- the total number of rows in the result set
-
DatabricksResultSetMetaData
public DatabricksResultSetMetaData(StatementId statementId, List<String> columnNames, List<String> columnDataTypes, IDatabricksConnectionContext ctx)
Constructs aDatabricksResultSetMetaDataobject 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.- Parameters:
statementId- the unique identifier of the SQL statement executioncolumnNames- names of each columncolumnDataTypes- types of each columnctx- connection context
-
-
Method Detail
-
getColumnCount
public int getColumnCount() throws SQLException- Specified by:
getColumnCountin interfaceResultSetMetaData- Throws:
SQLException
-
isAutoIncrement
public boolean isAutoIncrement(int column) throws SQLException- Specified by:
isAutoIncrementin interfaceResultSetMetaData- Throws:
SQLException
-
isCaseSensitive
public boolean isCaseSensitive(int column) throws SQLException- Specified by:
isCaseSensitivein interfaceResultSetMetaData- Throws:
SQLException
-
isSearchable
public boolean isSearchable(int column) throws SQLException- Specified by:
isSearchablein interfaceResultSetMetaData- Throws:
SQLException
-
isCurrency
public boolean isCurrency(int column) throws SQLException- Specified by:
isCurrencyin interfaceResultSetMetaData- Throws:
SQLException
-
isNullable
public int isNullable(int column) throws SQLException- Specified by:
isNullablein interfaceResultSetMetaData- Throws:
SQLException
-
isSigned
public boolean isSigned(int column) throws SQLException- Specified by:
isSignedin interfaceResultSetMetaData- Throws:
SQLException
-
getColumnDisplaySize
public int getColumnDisplaySize(int column) throws SQLException- Specified by:
getColumnDisplaySizein interfaceResultSetMetaData- Throws:
SQLException
-
getColumnLabel
public String getColumnLabel(int column) throws SQLException
- Specified by:
getColumnLabelin interfaceResultSetMetaData- Throws:
SQLException
-
getColumnName
public String getColumnName(int column) throws SQLException
- Specified by:
getColumnNamein interfaceResultSetMetaData- Throws:
SQLException
-
getSchemaName
public String getSchemaName(int column) throws SQLException
- Specified by:
getSchemaNamein interfaceResultSetMetaData- Throws:
SQLException
-
getPrecision
public int getPrecision(int column) throws SQLException- Specified by:
getPrecisionin interfaceResultSetMetaData- Throws:
SQLException
-
getScale
public int getScale(int column) throws SQLException- Specified by:
getScalein interfaceResultSetMetaData- Throws:
SQLException
-
getTableName
public String getTableName(int column) throws SQLException
- Specified by:
getTableNamein interfaceResultSetMetaData- Throws:
SQLException
-
getCatalogName
public String getCatalogName(int column) throws SQLException
- Specified by:
getCatalogNamein interfaceResultSetMetaData- Throws:
SQLException
-
getColumnType
public int getColumnType(int column) throws SQLException- Specified by:
getColumnTypein interfaceResultSetMetaData- Throws:
SQLException
-
getColumnTypeName
public String getColumnTypeName(int column) throws SQLException
- Specified by:
getColumnTypeNamein interfaceResultSetMetaData- Throws:
SQLException
-
isReadOnly
public boolean isReadOnly(int column) throws SQLException- Specified by:
isReadOnlyin interfaceResultSetMetaData- Throws:
SQLException
-
isWritable
public boolean isWritable(int column) throws SQLException- Specified by:
isWritablein interfaceResultSetMetaData- Throws:
SQLException
-
isDefinitelyWritable
public boolean isDefinitelyWritable(int column) throws SQLException- Specified by:
isDefinitelyWritablein interfaceResultSetMetaData- Throws:
SQLException
-
getColumnClassName
public String getColumnClassName(int column) throws SQLException
- Specified by:
getColumnClassNamein interfaceResultSetMetaData- Throws:
SQLException
-
unwrap
public <T> T unwrap(Class<T> iface) throws SQLException
- Specified by:
unwrapin interfaceWrapper- Throws:
SQLException
-
isWrapperFor
public boolean isWrapperFor(Class<?> iface) throws SQLException
- Specified by:
isWrapperForin interfaceWrapper- Throws:
SQLException
-
getColumnNameIndex
public int getColumnNameIndex(String columnName)
Returns index of column-name in metadata starting from 1- Parameters:
columnName- column-name- Returns:
- index of column if exists, else -1
-
getTotalRows
public long getTotalRows()
-
getIsCloudFetchUsed
public boolean getIsCloudFetchUsed()
-
getChunkCount
public Long getChunkCount()
-
getPrecisionAndScale
public int[] getPrecisionAndScale(String columnTypeText, int columnType)
-
getPrecisionAndScale
public int[] getPrecisionAndScale(ColumnInfo columnInfo, int columnType)
-
getPrecisionAndScale
public int[] getPrecisionAndScale(ColumnInfo columnInfo)
-
-