Package com.mysql.cj.result
Class DefaultColumnDefinition
java.lang.Object
com.mysql.cj.result.DefaultColumnDefinition
- All Implemented Interfaces:
ColumnDefinition
,ProtocolEntity
- Direct Known Subclasses:
CachedResultSetMetaDataImpl
public class DefaultColumnDefinition extends java.lang.Object implements ColumnDefinition
Protocol::ColumnDefinition41 object
-
Field Summary
-
Constructor Summary
Constructors Constructor Description DefaultColumnDefinition()
DefaultColumnDefinition(Field[] fields)
-
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)
-
Field Details
-
Constructor Details
-
DefaultColumnDefinition
public DefaultColumnDefinition() -
DefaultColumnDefinition
-
-
Method Details
-
getFields
- Specified by:
getFields
in interfaceColumnDefinition
-
setFields
- Specified by:
setFields
in interfaceColumnDefinition
-
buildIndexMapping
public void buildIndexMapping()Description copied from interface:ColumnDefinition
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.- Specified by:
buildIndexMapping
in interfaceColumnDefinition
-
hasBuiltIndexMapping
public boolean hasBuiltIndexMapping()- Specified by:
hasBuiltIndexMapping
in interfaceColumnDefinition
-
getColumnLabelToIndex
public java.util.Map<java.lang.String,java.lang.Integer> getColumnLabelToIndex()- Specified by:
getColumnLabelToIndex
in interfaceColumnDefinition
-
setColumnLabelToIndex
public void setColumnLabelToIndex(java.util.Map<java.lang.String,java.lang.Integer> columnLabelToIndex)- Specified by:
setColumnLabelToIndex
in interfaceColumnDefinition
-
getFullColumnNameToIndex
public java.util.Map<java.lang.String,java.lang.Integer> getFullColumnNameToIndex()- Specified by:
getFullColumnNameToIndex
in interfaceColumnDefinition
-
setFullColumnNameToIndex
public void setFullColumnNameToIndex(java.util.Map<java.lang.String,java.lang.Integer> fullColNameToIndex)- Specified by:
setFullColumnNameToIndex
in interfaceColumnDefinition
-
getColumnNameToIndex
public java.util.Map<java.lang.String,java.lang.Integer> getColumnNameToIndex()- Specified by:
getColumnNameToIndex
in interfaceColumnDefinition
-
setColumnNameToIndex
public void setColumnNameToIndex(java.util.Map<java.lang.String,java.lang.Integer> colNameToIndex)- Specified by:
setColumnNameToIndex
in interfaceColumnDefinition
-
getColumnToIndexCache
public java.util.Map<java.lang.String,java.lang.Integer> getColumnToIndexCache()- Specified by:
getColumnToIndexCache
in interfaceColumnDefinition
-
setColumnToIndexCache
public void setColumnToIndexCache(java.util.Map<java.lang.String,java.lang.Integer> columnToIndexCache)- Specified by:
setColumnToIndexCache
in interfaceColumnDefinition
-
initializeFrom
- Specified by:
initializeFrom
in interfaceColumnDefinition
-
exportTo
- Specified by:
exportTo
in interfaceColumnDefinition
-
findColumn
public int findColumn(java.lang.String columnName, boolean useColumnNamesInFindColumn, int indexBase)- Specified by:
findColumn
in interfaceColumnDefinition
-
hasLargeFields
public boolean hasLargeFields()Check if fields with type BLOB, MEDIUMBLOB, LONGBLOB, TEXT, MEDIUMTEXT or LONGTEXT exist in this ColumnDefinition. This check is used for making a decision about whether we want to force a buffer row (better for rows with large fields).- Specified by:
hasLargeFields
in interfaceColumnDefinition
- Returns:
- true if this ColumnDefinition has large fields
-