Integer getColCharOctLen(int i) {

        int          size;
        int          type;
        ColumnSchema column;

        column = table.getColumn(i);
        type   = column.getDataType().getJDBCTypeCode();

        switch (type) {

            case Types.SQL_CHAR :
            case Types.SQL_CLOB :
            case Types.VARCHAR_IGNORECASE :
            case Types.SQL_VARCHAR : {
                size = column.getDataType().precision > Integer.MAX_VALUE
                       ? Integer.MAX_VALUE
                       : (int) column.getDataType().precision;

                if (size == 0) {}
                else if (size > HALF_MAX_INT) {
                    size = 0;
                } else {
                    size = 2 * size;
                }

                break;
            }
            default : {
                size = 0;

                break;
            }
        }

        return (size == 0) ? null
                           : ValuePool.getInt(size);
    }
Integer getColCharOctLen ( int i ) { int size ; int type ; ColumnSchema column ; column = table . getColumn ( i ) ; type = column . getDataType ( ) . getJDBCTypeCode ( ) ; switch ( type ) { case Types . SQL_CHAR : case Types . SQL_CLOB : case Types . VARCHAR_IGNORECASE : case Types . SQL_VARCHAR : { size = column . getDataType ( ) . precision > Integer . MAX_VALUE ? Integer . MAX_VALUE : ( int ) column . getDataType ( ) . precision ; if ( size == 0 ) { } else if ( size > HALF_MAX_INT ) { size = 0 ; } else { size = 2 * size ; } break ; } default : { size = 0 ; break ; } } return ( size == 0 ) ? null : ValuePool . getInt ( size ) ; }
Retrieves the declared size, in bytes, for character-valued
columns. <p>

If the size cannot be represented in the range [0,Integer.MAX_VALUE],
this returns null. <p>

@param i zero-based column index
@return the size, in bytes, for character-valued columns