code: private void init_jdbcTypes() throws SQLException
      {
          ReportQuery q = (ReportQuery) getQueryObject().getQuery();
          m_jdbcTypes = new int[m_attributeCount];
          
          // try to get jdbcTypes from Query
          if (q.getJdbcTypes() != null)
          {
              m_jdbcTypes = q.getJdbcTypes();
          }
          else
          {
              ResultSetMetaData rsMetaData = getRsAndStmt().m_rs.getMetaData();
              for (int i = 0; i < m_attributeCount; i++)
              {
                  m_jdbcTypes[i] = rsMetaData.getColumnType(i + 1);
              }
              
          }
      }
docs: get the jdbcTypes from the Query or the ResultSet if not available from the Query
  @throws SQLException