Son Nguyen created HIVE-10933:
---------------------------------

             Summary: Hive 0.13 returns precision 0 for varchar(32) from 
DatabaseMetadata.getColumns()
                 Key: HIVE-10933
                 URL: https://issues.apache.org/jira/browse/HIVE-10933
             Project: Hive
          Issue Type: Bug
          Components: API
    Affects Versions: 0.13.0
            Reporter: Son Nguyen


DatabaseMetadata.getColumns() returns "COLUMN_SIZE" as 0 for a column defined 
as varchar(32), or char(32).   While ResultSetMetaData.getPrecision() returns 
correct value 32.

Here is the segment program that reproduces the issue.

try {
        statement = connection.createStatement();
                        
        statement.execute("drop table if exists son_table");
                        
        statement.execute("create table son_table( col1 varchar(32) )");
                        
        statement.close();
                        
} catch ( Exception e) {
           return;
}               
                
// get column info using metadata
try {
        DatabaseMetaData dmd = null;
        ResultSet resultSet = null;
                        
        dmd = connection.getMetaData();
                        
        resultSet = dmd.getColumns(null, null, "son_table", "col1");
                        
        if ( resultSet.next() ) {
                String tabName = resultSet.getString("TABLE_NAME");
                String colName = resultSet.getString("COLUMN_NAME");
                String dataType = resultSet.getString("DATA_TYPE");
                String typeName = resultSet.getString("TYPE_NAME");
                int precision = resultSet.getInt("COLUMN_SIZE");
                                
                // output is: colName = col1, dataType = 12, typeName = 
VARCHAR, precision = 0.
              System.out.format("colName = %s, dataType = %s, typeName = %s, 
precision = %d.",
                colName, dataType, typeName, precision);
        }

} catch ( Exception e) {
        return;
}





--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Reply via email to