public HiveSQLException(TStatus status) {
   // TODO: set correct vendorCode field
   super(status.getErrorMessage(), status.getSqlState(), status.getErrorCode());
   if (status.getInfoMessages() != null) {
     initCause(toCause(status.getInfoMessages()));
   }
 }
 /**
  * Converts the specified {@link Exception} object into a {@link TStatus} object
  *
  * @param e a {@link Exception} object
  * @return a {@link TStatus} object
  */
 public static TStatus toTStatus(Exception e) {
   if (e instanceof HiveSQLException) {
     return ((HiveSQLException) e).toTStatus();
   }
   TStatus tStatus = new TStatus(TStatusCode.ERROR_STATUS);
   tStatus.setErrorMessage(e.getMessage());
   tStatus.setInfoMessages(toString(e));
   return tStatus;
 }
 /**
  * Converts current object to a {@link TStatus} object
  *
  * @return a {@link TStatus} object
  */
 public TStatus toTStatus() {
   // TODO: convert sqlState, etc.
   TStatus tStatus = new TStatus(TStatusCode.ERROR_STATUS);
   tStatus.setSqlState(getSQLState());
   tStatus.setErrorCode(getErrorCode());
   tStatus.setErrorMessage(getMessage());
   tStatus.setInfoMessages(toString(this));
   return tStatus;
 }