Package com.mysql.cj.protocol
Interface ColumnDefinition
- All Superinterfaces:
ProtocolEntity
- All Known Subinterfaces:
CachedResultSetMetaData
- All Known Implementing Classes:
CachedResultSetMetaDataImpl
,DefaultColumnDefinition
public interface ColumnDefinition extends ProtocolEntity
Represents protocol specific result set metadata,
eg., for native protocol, Protocol::ColumnDefinition41 protocol entity.
-
Method Summary
Modifier and Type Method Description void
buildIndexMapping()
Builds a hash between column names and their indices for fast retrieval.void
exportTo(ColumnDefinition columnDefinition)
int
findColumn(java.lang.String columnName, boolean useColumnNamesInFindColumn, int indexBase)
java.util.Map<java.lang.String,java.lang.Integer>
getColumnLabelToIndex()
java.util.Map<java.lang.String,java.lang.Integer>
getColumnNameToIndex()
java.util.Map<java.lang.String,java.lang.Integer>
getColumnToIndexCache()
Field[]
getFields()
java.util.Map<java.lang.String,java.lang.Integer>
getFullColumnNameToIndex()
boolean
hasBuiltIndexMapping()
boolean
hasLargeFields()
Check if fields with type BLOB, MEDIUMBLOB, LONGBLOB, TEXT, MEDIUMTEXT or LONGTEXT exist in this ColumnDefinition.void
initializeFrom(ColumnDefinition columnDefinition)
void
setColumnLabelToIndex(java.util.Map<java.lang.String,java.lang.Integer> columnLabelToIndex)
void
setColumnNameToIndex(java.util.Map<java.lang.String,java.lang.Integer> colNameToIndex)
void
setColumnToIndexCache(java.util.Map<java.lang.String,java.lang.Integer> columnToIndexCache)
void
setFields(Field[] fields)
void
setFullColumnNameToIndex(java.util.Map<java.lang.String,java.lang.Integer> fullColNameToIndex)
-
Method Details
-
getFields
Field[] getFields() -
setFields
-
buildIndexMapping
void buildIndexMapping()Builds a hash between column names and their indices for fast retrieval. This is done lazily to support findColumn() and get*(String), as it can be more expensive than just retrieving result set values by ordinal index. -
hasBuiltIndexMapping
boolean hasBuiltIndexMapping() -
getColumnLabelToIndex
java.util.Map<java.lang.String,java.lang.Integer> getColumnLabelToIndex() -
setColumnLabelToIndex
void setColumnLabelToIndex(java.util.Map<java.lang.String,java.lang.Integer> columnLabelToIndex) -
getFullColumnNameToIndex
java.util.Map<java.lang.String,java.lang.Integer> getFullColumnNameToIndex() -
setFullColumnNameToIndex
void setFullColumnNameToIndex(java.util.Map<java.lang.String,java.lang.Integer> fullColNameToIndex) -
getColumnNameToIndex
java.util.Map<java.lang.String,java.lang.Integer> getColumnNameToIndex() -
setColumnNameToIndex
void setColumnNameToIndex(java.util.Map<java.lang.String,java.lang.Integer> colNameToIndex) -
getColumnToIndexCache
java.util.Map<java.lang.String,java.lang.Integer> getColumnToIndexCache() -
setColumnToIndexCache
void setColumnToIndexCache(java.util.Map<java.lang.String,java.lang.Integer> columnToIndexCache) -
initializeFrom
-
exportTo
-
findColumn
int findColumn(java.lang.String columnName, boolean useColumnNamesInFindColumn, int indexBase) -
hasLargeFields
boolean hasLargeFields()Check if fields with type BLOB, MEDIUMBLOB, LONGBLOB, TEXT, MEDIUMTEXT or LONGTEXT exist in this ColumnDefinition.- Returns:
- true if fields with type BLOB, MEDIUMBLOB, LONGBLOB, TEXT, MEDIUMTEXT or LONGTEXT exist in this ColumnDefinition.
-