xsqlvar.sqldata = new String(db.in.readOpaque(xsqlvar.sqllen));
xsqlvar.sqldata = db.in.readOpaque(xsqlvar.sqllen);
    private Object readSQLDatum(isc_db_handle_impl db,                                 XSQLVAR xsqlvar) throws GDSException {        try {            switch (xsqlvar.sqltype & ~1) {                case SQL_TEXT:                    xsqlvar.sqldata =                        new String(db.in.readOpaque(xsqlvar.sqllen));                    break;                case SQL_VARYING:                    xsqlvar.sqldata =                        new String(db.in.readOpaque(db.in.readInt()));                    break;                case SQL_SHORT:                    xsqlvar.sqldata = new Short((short) db.in.readInt());                    break;                case SQL_LONG:                    xsqlvar.sqldata = new Integer(db.in.readInt());                    break;                case SQL_FLOAT:                    xsqlvar.sqldata = new Float(db.in.readFloat());                    break;                case SQL_DOUBLE:                    xsqlvar.sqldata = new Double(db.in.readDouble());                    break;//            case SQL_D_FLOAT://                break;                case SQL_TIMESTAMP:                    xsqlvar.sqldata = new java.sql.Timestamp(                        decodeDate(db.in.readInt()).getTime() +                        decodeTime(db.in.readInt()).getTime());                    break;                case SQL_BLOB:                    xsqlvar.sqldata = new Long(db.in.readLong());                    break;                case SQL_ARRAY:                    xsqlvar.sqldata = new Long(db.in.readLong());                    break;                case SQL_QUAD:                    xsqlvar.sqldata = new Long(db.in.readLong());                    break;                case SQL_TYPE_TIME:                    xsqlvar.sqldata = decodeTime(db.in.readInt());                    break;                case SQL_TYPE_DATE:                    xsqlvar.sqldata = decodeDate(db.in.readInt());                    break;                case SQL_INT64:                    xsqlvar.sqldata = new Long(db.in.readLong());                    break;            }                        xsqlvar.sqlind = db.in.readInt();                        if (xsqlvar.sqlind == 0) {                return xsqlvar.sqldata;            }            else if (xsqlvar.sqlind == -1) {                return null;            }            else {                throw new GDSException("invalid sqlind value: " + xsqlvar.sqlind);            }                    } catch (IOException ex) {            throw new GDSException(isc_net_read_err);        }    }