// Path: src/main/java/com/treasuredata/jdbc/Utils.java
// public class Utils
// {
// 
//     /**
//      * Convert hive types to sql types.
//      *
//      * @param t
//      * @return Integer java.sql.Types values
//      * @throws SQLException
//      */
//     public static int TDTypeToSqlType(String t)
//             throws SQLException
//     {
//         String type = t.toLowerCase();
//         if ("string".equals(type)) {
//             return Types.VARCHAR;
//         }
//         else if ("varchar".equals(type) || type.startsWith("varchar(")) {
//             return Types.VARCHAR;
//         }
//         else if ("float".equals(type)) {
//             return Types.FLOAT;
//         }
//         else if ("double".equals(type)) {
//             return Types.DOUBLE;
//         }
//         else if ("boolean".equals(type)) {
//             return Types.BOOLEAN;
//         }
//         else if ("tinyint".equals(type)) {
//             return Types.TINYINT;
//         }
//         else if ("smallint".equals(type)) {
//             return Types.SMALLINT;
//         }
//         else if ("int".equals(type)) {
//             return Types.INTEGER;
//         }
//         else if ("long".equals(type)) {
//             return Types.BIGINT;
//         }
//         else if ("bigint".equals(type)) {
//             return Types.BIGINT;
//         }
//         else if ("date".equals(type)) {
//             return Types.DATE;
//         }
//         else if ("timestamp".equals(type)) {
//             return Types.TIMESTAMP;
//         }
//         else if (type.startsWith("map<")) {
//             return Types.VARCHAR;
//         }
//         else if (type.startsWith("array<")) {
//             return Types.VARCHAR;
//         }
//         else if (type.startsWith("struct<")) {
//             return Types.VARCHAR;
//         }
//         throw new SQLException("Unrecognized column type: " + type);
//     }
// }


import com.treasuredata.jdbc.Utils;
import java.sql.SQLException;
import java.sql.Types;
        this.tableName = tableName;
        this.tableCatalog = tableCatalog;
        this.type = type;
        this.comment = comment;
        this.ordinal = ordinal;
    }

    public String getColumnName()
    {
        return columnName;
    }

    public String getTableName()
    {
        return tableName;
    }

    public String getTableCatalog()
    {
        return tableCatalog;
    }

    public String getType()
    {
        return type;
    }

    public Integer getSqlType()
            throws SQLException
    {
// Path: src/main/java/com/treasuredata/jdbc/Utils.java
// public class Utils
// {
// 
//     /**
//      * Convert hive types to sql types.
//      *
//      * @param t
//      * @return Integer java.sql.Types values
//      * @throws SQLException
//      */
//     public static int TDTypeToSqlType(String t)
//             throws SQLException
//     {
//         String type = t.toLowerCase();
//         if ("string".equals(type)) {
//             return Types.VARCHAR;
//         }
//         else if ("varchar".equals(type) || type.startsWith("varchar(")) {
//             return Types.VARCHAR;
//         }
//         else if ("float".equals(type)) {
//             return Types.FLOAT;
//         }
//         else if ("double".equals(type)) {
//             return Types.DOUBLE;
//         }
//         else if ("boolean".equals(type)) {
//             return Types.BOOLEAN;
//         }
//         else if ("tinyint".equals(type)) {
//             return Types.TINYINT;
//         }
//         else if ("smallint".equals(type)) {
//             return Types.SMALLINT;
//         }
//         else if ("int".equals(type)) {
//             return Types.INTEGER;
//         }
//         else if ("long".equals(type)) {
//             return Types.BIGINT;
//         }
//         else if ("bigint".equals(type)) {
//             return Types.BIGINT;
//         }
//         else if ("date".equals(type)) {
//             return Types.DATE;
//         }
//         else if ("timestamp".equals(type)) {
//             return Types.TIMESTAMP;
//         }
//         else if (type.startsWith("map<")) {
//             return Types.VARCHAR;
//         }
//         else if (type.startsWith("array<")) {
//             return Types.VARCHAR;
//         }
//         else if (type.startsWith("struct<")) {
//             return Types.VARCHAR;
//         }
//         throw new SQLException("Unrecognized column type: " + type);
//     }
// }


// Path: src/main/java/com/treasuredata/jdbc/model/TDColumn.java
import com.treasuredata.jdbc.Utils;
import java.sql.SQLException;
import java.sql.Types;

        this.tableName = tableName;
        this.tableCatalog = tableCatalog;
        this.type = type;
        this.comment = comment;
        this.ordinal = ordinal;
    }

    public String getColumnName()
    {
        return columnName;
    }

    public String getTableName()
    {
        return tableName;
    }

    public String getTableCatalog()
    {
        return tableCatalog;
    }

    public String getType()
    {
        return type;
    }

    public Integer getSqlType()
            throws SQLException
    {
        return Utils.TDTypeToSqlType(type);