code: public SFStatementMetaData describe(String sql) throws SFException, SQLException
    {
      SFBaseResultSet baseResultSet = executeQuery(sql, null, true, null);
  
      describeJobUUID = baseResultSet.getQueryId();
  
      return new SFStatementMetaData(baseResultSet.getMetaData(),
                                     baseResultSet.getStatementType(),
                                     baseResultSet.getNumberOfBinds(),
                                     baseResultSet.isArrayBindSupported());
    }
docs: Describe a statement
  
  @param sql statement
  @return metadata of statement including result set metadata and binding information
  @throws SQLException if connection is already closed
  @throws SFException  if result set is null