code: private void retrieveColumnTypes(TableSchemaImpl tableData) throws Exception {
  
  		String sqlQuery = null;
  		{
  			StringWriter sw = new StringWriter();
  			PrintWriter pw = new PrintWriter(sw);
  			pw.print("SELECT * FROM ");
  			pw.print( tableData.getPhysicalName() );
  			pw.print(" LIMIT 1;");
  			pw.flush();
  			
  			sqlQuery = sw.toString();
  		}
  		
  		Statement stmt = connection.createStatement();
  		if( stmt.execute(sqlQuery) ) {
  			ResultSet rs = stmt.getResultSet();
  			ResultSetMetaData rsmd = rs.getMetaData();
  			
  			int count = rsmd.getColumnCount();
  			for(int loop=0; loop<count; ++loop) {
  				String columnName = rsmd.getColumnName(loop+1);
  				int sqlType = rsmd.getColumnType(loop+1);
  				String sqlTypeName = rsmd.getColumnTypeName(loop+1);
  
  				ColumnDataImpl columnDataImpl = tableData.createColumnDataFromName( columnName );
  				
  				ColumnData.Type colType = ColumnDataUtils.columnDataTypeFromSQLType(
  						sqlType, columnName, sqlTypeName);
  				
  				// Set column type
  				columnDataImpl.setColumnType(colType);
  			}	
  		}
  	}
docs: For a given table, queries the database for all available columns. It
  also derives the column type. This method performs a SQL select * on the
  requested table and uses the metadata returned in JDBC to populate the
  column information.
  @param tableData Table to query
  @throws Exception