in modules/core/src/main/java/org/apache/ignite/internal/processors/odbc/odbc/OdbcUtils.java [102:177]
public static String getIgniteTypeFromOdbcType(String odbcDataType) {
assert odbcDataType != null;
switch (odbcDataType.toUpperCase()) {
case OdbcTypes.SQL_BIGINT:
return SqlListenerDataTypes.BIGINT;
case OdbcTypes.SQL_BINARY:
case OdbcTypes.SQL_LONGVARBINARY:
case OdbcTypes.SQL_VARBINARY:
return SqlListenerDataTypes.BINARY;
case OdbcTypes.SQL_BIT:
return SqlListenerDataTypes.BIT;
case OdbcTypes.SQL_CHAR:
return SqlListenerDataTypes.CHAR;
case OdbcTypes.SQL_DECIMAL:
case OdbcTypes.SQL_NUMERIC:
return SqlListenerDataTypes.DECIMAL;
case OdbcTypes.SQL_LONGVARCHAR:
case OdbcTypes.SQL_VARCHAR:
case OdbcTypes.SQL_WCHAR:
case OdbcTypes.SQL_WLONGVARCHAR:
case OdbcTypes.SQL_WVARCHAR:
return SqlListenerDataTypes.VARCHAR;
case OdbcTypes.SQL_DOUBLE:
case OdbcTypes.SQL_FLOAT:
return SqlListenerDataTypes.DOUBLE;
case OdbcTypes.SQL_REAL:
return SqlListenerDataTypes.REAL;
case OdbcTypes.SQL_GUID:
return SqlListenerDataTypes.UUID;
case OdbcTypes.SQL_SMALLINT:
return SqlListenerDataTypes.SMALLINT;
case OdbcTypes.SQL_INTEGER:
return SqlListenerDataTypes.INTEGER;
case OdbcTypes.SQL_DATE:
return SqlListenerDataTypes.DATE;
case OdbcTypes.SQL_TIME:
return SqlListenerDataTypes.TIME;
case OdbcTypes.SQL_TIMESTAMP:
return SqlListenerDataTypes.TIMESTAMP;
case OdbcTypes.SQL_TINYINT:
return SqlListenerDataTypes.TINYINT;
//No support for interval types
case OdbcTypes.SQL_INTERVAL_SECOND:
case OdbcTypes.SQL_INTERVAL_MINUTE:
case OdbcTypes.SQL_INTERVAL_HOUR:
case OdbcTypes.SQL_INTERVAL_DAY:
case OdbcTypes.SQL_INTERVAL_MONTH:
case OdbcTypes.SQL_INTERVAL_YEAR:
case OdbcTypes.SQL_INTERVAL_YEAR_TO_MONTH:
case OdbcTypes.SQL_INTERVAL_HOUR_TO_MINUTE:
case OdbcTypes.SQL_INTERVAL_HOUR_TO_SECOND:
case OdbcTypes.SQL_INTERVAL_MINUTE_TO_SECOND:
case OdbcTypes.SQL_INTERVAL_DAY_TO_HOUR:
case OdbcTypes.SQL_INTERVAL_DAY_TO_MINUTE:
case OdbcTypes.SQL_INTERVAL_DAY_TO_SECOND:
throw new IgniteException("Unsupported ODBC data type '" + odbcDataType + "'");
default:
throw new IgniteException("Invalid ODBC data type '" + odbcDataType + "'");
}
}