if (log.isDebugEnabled()) {log.debug("isc_info_sql_sub_type " + xsqlda.sqlvar[index - 1].sqlsubtype);}
log.debug("isc_info_sql_sub_type " + xsqlda.sqlvar[index - 1].sqlsubtype);
    private int parseTruncSqlInfo(byte[] info,                                  XSQLDA xsqlda,                                  int lastindex) throws GDSException {        byte item;        int index = 0;if (log.isDebugEnabled()) {log.debug("parseSqlInfo: first 2 bytes are " + isc_vax_integer(info, 0, 2) + " or: " + info[0] + ", " + info[1]);}        int i = 2;        int len = isc_vax_integer(info, i, 2);        i += 2;        int n = isc_vax_integer(info, i, len);        i += len;        if (xsqlda.sqlvar == null) {            xsqlda.sqld = xsqlda.sqln = n;            xsqlda.sqlvar = new XSQLVAR[xsqlda.sqln];        }if (log.isDebugEnabled()) {log.debug("xsqlda.sqln read as " + xsqlda.sqln);}        while (info[i] != isc_info_end) {            while ((item = info[i++]) != isc_info_sql_describe_end) {                switch (item) {                    case isc_info_sql_sqlda_seq:                        len = isc_vax_integer(info, i, 2);                        i += 2;                        index = isc_vax_integer(info, i, len);                        i += len;                        xsqlda.sqlvar[index - 1] = new XSQLVAR();if (log.isDebugEnabled()) {log.debug("new xsqlvar " + (index - 1));}                        break;                    case isc_info_sql_type:                        len = isc_vax_integer(info, i, 2);                        i += 2;                        xsqlda.sqlvar[index - 1].sqltype = isc_vax_integer (info, i, len);                        i += len;if (log.isDebugEnabled()) {log.debug("isc_info_sql_type " + xsqlda.sqlvar[index - 1].sqltype);}                        break;                    case isc_info_sql_sub_type:                        len = isc_vax_integer(info, i, 2);                        i += 2;                        xsqlda.sqlvar[index - 1].sqlsubtype = isc_vax_integer (info, i, len);                        i += len;if (log.isDebugEnabled()) {log.debug("isc_info_sql_sub_type " + xsqlda.sqlvar[index - 1].sqlsubtype);}                        break;                    case isc_info_sql_scale:                        len = isc_vax_integer(info, i, 2);                        i += 2;                        xsqlda.sqlvar[index - 1].sqlscale = isc_vax_integer (info, i, len);                        i += len;if (log.isDebugEnabled()) {log.debug("isc_info_sql_scale " + xsqlda.sqlvar[index - 1].sqlscale);}                        break;                    case isc_info_sql_length:                        len = isc_vax_integer(info, i, 2);                        i += 2;                        xsqlda.sqlvar[index - 1].sqllen = isc_vax_integer (info, i, len);                        i += len;if (log.isDebugEnabled()) {log.debug("isc_info_sql_length " + xsqlda.sqlvar[index - 1].sqllen);}                        break;                    case isc_info_sql_field:                        len = isc_vax_integer(info, i, 2);                        i += 2;                        xsqlda.sqlvar[index - 1].sqlname = new String(info, i, len);                        i += len;if (log.isDebugEnabled()) {log.debug("isc_info_sql_field " + xsqlda.sqlvar[index - 1].sqlname);}                        break;                    case isc_info_sql_relation:                        len = isc_vax_integer(info, i, 2);                        i += 2;                        xsqlda.sqlvar[index - 1].relname = new String(info, i, len);                        i += len;if (log.isDebugEnabled()) {log.debug("isc_info_sql_relation " + xsqlda.sqlvar[index - 1].relname);}                        break;                    case isc_info_sql_owner:                        len = isc_vax_integer(info, i, 2);                        i += 2;                        xsqlda.sqlvar[index - 1].ownname = new String(info, i, len);                        i += len;if (log.isDebugEnabled()) {log.debug("isc_info_sql_owner " + xsqlda.sqlvar[index - 1].ownname);}                        break;                    case isc_info_sql_alias:                        len = isc_vax_integer(info, i, 2);                        i += 2;                        xsqlda.sqlvar[index - 1].aliasname = new String(info, i, len);                        i += len;if (log.isDebugEnabled()) {log.debug("isc_info_sql_alias " + xsqlda.sqlvar[index - 1].aliasname);}                        break;                    case isc_info_truncated:if (log.isDebugEnabled()) {log.debug("isc_info_truncated ");}                        return lastindex;                        //throw new GDSException(isc_dsql_sqlda_err);                    default:                        throw new GDSException(isc_dsql_sqlda_err);                }            }            lastindex = index;        }        return 0;    }