in src/main/core-impl/java/com/mysql/cj/NativeQueryBindValue.java [265:328]
public int getFieldType() {
switch (this.targetType) {
case NULL:
return MysqlType.FIELD_TYPE_NULL;
case DECIMAL:
case DECIMAL_UNSIGNED:
return MysqlType.FIELD_TYPE_NEWDECIMAL;
case DOUBLE:
case DOUBLE_UNSIGNED:
return MysqlType.FIELD_TYPE_DOUBLE;
case BIGINT:
case BIGINT_UNSIGNED:
return MysqlType.FIELD_TYPE_LONGLONG;
case BIT:
case BOOLEAN:
case TINYINT:
case TINYINT_UNSIGNED:
return MysqlType.FIELD_TYPE_TINY;
case CHAR:
return MysqlType.FIELD_TYPE_STRING;
case BINARY:
case VARBINARY:
case VARCHAR:
return MysqlType.FIELD_TYPE_VAR_STRING;
case FLOAT:
case FLOAT_UNSIGNED:
return MysqlType.FIELD_TYPE_FLOAT;
case SMALLINT:
case SMALLINT_UNSIGNED:
case MEDIUMINT:
case MEDIUMINT_UNSIGNED:
return MysqlType.FIELD_TYPE_SHORT;
case INT:
case INT_UNSIGNED:
case YEAR:
return MysqlType.FIELD_TYPE_LONG;
case DATE:
return MysqlType.FIELD_TYPE_DATE;
case TIME:
return MysqlType.FIELD_TYPE_TIME;
case TIMESTAMP:
return MysqlType.FIELD_TYPE_TIMESTAMP;
case DATETIME:
return MysqlType.FIELD_TYPE_DATETIME;
case BLOB:
case TEXT:
return MysqlType.FIELD_TYPE_BLOB;
case TINYBLOB:
case TINYTEXT:
return MysqlType.FIELD_TYPE_TINY_BLOB;
case MEDIUMBLOB:
case MEDIUMTEXT:
return MysqlType.FIELD_TYPE_MEDIUM_BLOB;
case LONGBLOB:
case LONGTEXT:
return MysqlType.FIELD_TYPE_LONG_BLOB;
// case JSON:
// case ENUM:
// case SET:
// case GEOMETRY:
default:
return MysqlType.FIELD_TYPE_VAR_STRING;
}
}