public static String getIgniteTypeFromOdbcType()

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 + "'");
        }
    }