column.setTypeCode(Types.CLOB);
column.setTypeCode(Types.LONGVARCHAR);
    protected Column readColumn(DatabaseMetaDataWrapper metaData, Map values) throws SQLException    {        Column column = super.readColumn(metaData, values);        if (column.getSize() != null)        {            if (column.getSizeAsInt() <= 0)            {                column.setSize(null);                // PostgreSQL reports BYTEA and TEXT as BINARY(-1) and VARCHAR(-1) respectively                if (column.getTypeCode() == Types.BINARY)                {                    column.setTypeCode(Types.BLOB);                }                else if (column.getTypeCode() == Types.VARCHAR)                {                    column.setTypeCode(Types.CLOB);                }            }        }        String defaultValue = column.getDefaultValue();        if ((defaultValue != null) && (defaultValue.length() > 0))        {            // If the default value looks like "nextval('ROUNDTRIP_VALUE_seq'::text)"            // then it is an auto-increment column            if (defaultValue.startsWith("nextval("))            {                column.setAutoIncrement(true);                defaultValue = null;            }            else            {                // PostgreSQL returns default values in the forms "-9000000000000000000::bigint" or                // "'some value'::character varying" or "'2000-01-01'::date"                switch (column.getTypeCode())                {                    case Types.INTEGER:                    case Types.BIGINT:                    case Types.DECIMAL:                    case Types.NUMERIC:                        defaultValue = extractUndelimitedDefaultValue(defaultValue);                        break;                    case Types.CHAR:                    case Types.VARCHAR:                    case Types.DATE:                    case Types.TIME:                    case Types.TIMESTAMP:                        defaultValue = extractDelimitedDefaultValue(defaultValue);                        break;                }            }            column.setDefaultValue(defaultValue);        }        return column;    }