Bug 143510 mysql column alias problem
I was using the following select statement as my data source: select id_case, cases.id_state, states.state, cast(summary AS CHAR) as summary, cast(descr AS CHAR) as descr, start_date, cast(client_text AS CHAR) as client_text, group_elements.name, groups.name from states, cases LEFT OUTER JOIN group_elements ON id_analist = group_elements.id_ge LEFT OUTER JOIN groups ON cases.id_group = groups.id_group where states.id_state = cases.id_state when I came across this issue. In the preview (I'm not sure if the same happens after report generation), group_elements.name and groups.name values don't show up correctly. In fact, groups.name appears as "name_9" (which of course isn't a problem) but its values are the same as group_elements.name values. Using an alias for one of the columns solves this issue. (Obviously this might be an issue with the mysql driver, but I don't think that's the case)
data/org.eclipse.birt.report.data.adapter/src/org/eclipse/birt/report/data/adapter/impl/DataSetMetaDataHelper.java
query.setMaxRows( 1 );
		
		boolean useResultHints = needsUseResultHint( dataSetHandle );
		return new QueryExecutionHelper( dataEngine,
				modelAdaptor,
				moduleHandle,
				useResultHints ).executeQuery( query ).getResultMetaData( );
	}
	/**
	 * 
	 * @param dataSetHandle
	 * @return
	 * @throws BirtException
	 */
	IResultMetaData refreshMetaData( DataSetHandle dataSetHandle )
			throws BirtException
	{
		IResultMetaData rsMeta = null;
		BirtException e = null;
		try
		{
			rsMeta = this.getDataSetMetaData( dataSetHandle, false );
		}
		catch ( BirtException e1 )
		{
			e = e1;
		}
		if ( needsSetCachedMetaData( dataSetHandle, rsMeta ) )
		{
			dataSetHandle.setCachedMetaData( StructureFactory.createCachedMetaData( ) );