public BigDecimal getBigDecimal(int columnIndex) throws  SQLException { if ((getXsqlvar(columnIndex).sqltype & ~1) != GDS.SQL_INT64) { throw new SQLException("Wrong type for column " + columnIndex + "type should be" + getXsqlvar(columnIndex).sqltype);
public BigDecimal getBigDecimal(int columnIndex, int scale) throws  SQLException { Object obj = getObject(columnIndex); if (obj == null) { return null; } if (obj instanceof BigDecimal) { return (BigDecimal) obj; } if (obj instanceof Number) { return new BigDecimal(((Number) obj).doubleValue()); } if (obj instanceof String) { try { return new BigDecimal((String) obj); } catch (NumberFormatException ex) { throw new SQLException("Number format error"); } } else { throw new SQLException("Illegal type conversion");
    public BigDecimal getBigDecimal(int columnIndex) throws  SQLException {        if ((getXsqlvar(columnIndex).sqltype & ~1) != GDS.SQL_INT64) {            throw new SQLException("Wrong type for column " + columnIndex + "type should be" + getXsqlvar(columnIndex).sqltype);        }        setWasNullColumnIndex(columnIndex);        if (row[columnIndex - 1] == null) {            return null;        }        return BigDecimal.valueOf(((Long)row[columnIndex - 1]).longValue(), getXsqlvar(columnIndex).sqlscale);    }