in src/main/user-impl/java/com/mysql/cj/jdbc/result/ResultSetMetaData.java [266:307]
public boolean isCaseSensitive(int column) throws java.sql.SQLException {
Field field = getField(column);
switch (field.getMysqlType()) {
case BIT:
case TINYINT:
case TINYINT_UNSIGNED:
case SMALLINT:
case SMALLINT_UNSIGNED:
case INT:
case INT_UNSIGNED:
case MEDIUMINT:
case MEDIUMINT_UNSIGNED:
case BIGINT:
case BIGINT_UNSIGNED:
case FLOAT:
case FLOAT_UNSIGNED:
case DOUBLE:
case DOUBLE_UNSIGNED:
case DATE:
case YEAR:
case TIME:
case TIMESTAMP:
case DATETIME:
return false;
case CHAR:
case VARCHAR:
case TINYTEXT:
case TEXT:
case MEDIUMTEXT:
case LONGTEXT:
case JSON:
case ENUM:
case SET:
String collationName = this.session.getServerSession().getCharsetSettings().getCollationNameForCollationIndex(field.getCollationIndex());
return collationName != null && !collationName.endsWith("_ci");
default:
return true;
}
}