Bug 209910 Drag the dataset from library, the resultset column number is doubled
Reproduce step: 1. Create one data set in library. 2. Drag it into a report design. 3. Open the data set editor, switch to the output column page, the result set number is doubled. I found there is something wrong in the org.eclipse.birt.report.model.api.util.CompatibilityUtil class. The method addStructures()will add structures list twice when the propHandle is not local.
data/org.eclipse.birt.report.data.adapter/src/org/eclipse/birt/report/data/adapter/impl/MetaDataPopulator.java
for ( int n = 0; n < resultSetList.size( ); n++ )
			{
				orgColumnNameSet.add( ( (ResultSetColumn) resultSetList.get( n ) ).getColumnName( ) );
			}
			
			for ( int i = 0; i < resultSetList.size( ); i++ )
			{
				resultSetColumn = (ResultSetColumn) resultSetList.get( i );
				String columnName = resultSetColumn.getColumnName( );
				String uniqueColumnName = getUniqueName( orgColumnNameSet,
						uniqueColumnNameSet,
						columnName,
						i );
				uniqueColumnNameSet.add( uniqueColumnName );
				if ( !uniqueColumnName.equals( columnName ) )
				{
					updateModelColumn( dataSetHandle, uniqueColumnName, i + 1 );
				}
				columnDef = new ResultSetColumnDefinition( uniqueColumnName );
				columnDef.setDataTypeName( resultSetColumn.getDataType( ) );
				columnDef.setDataType( DataAdapterUtil.adaptModelDataType( resultSetColumn.getDataType( ) ) );
				if ( resultSetColumn.getPosition( ) != null )
					columnDef.setColumnPosition( resultSetColumn.getPosition( )
							.intValue( ) );
				if ( resultSetColumn.getNativeDataType( ) != null )
					columnDef.setNativeDataType( resultSetColumn.getNativeDataType( )
							.intValue( ) );
				if ( findColumnHint( dataSetHandle, uniqueColumnName ) != null )
				{
					ColumnHintHandle columnHint = findColumnHint( dataSetHandle,