@Override
  public void close() throws SQLException {
    shutdownPool();
    if (this.statement != null && (this.statement instanceof HiveStatement)) {
      /*
       * HIVE-25203: Be aware that a ResultSet is not supposed to control its parent Statement's
       * lifecycle, so before adding any logic into this branch, make sure if it's really correct.
       * One known exception is Statement#closeOnCompletion, which is part of the Statement API.
       */
      HiveStatement s = (HiveStatement) this.statement;
      s.closeOnResultSetCompletion();
    } else {
      // for those stmtHandle passed from HiveDatabaseMetaData instead of Statement
      closeOperationHandle(stmtHandle);
    }

    // Need reset during re-open when needed
    client = null;
    stmtHandle = null;
    isClosed = true;
    initEmptyIterator();
  }
Set the specified schema to the resultset
@param colNames
@param colTypes
jdbc/src/java/org/apache/hive/jdbc/HiveQueryResultSet.java