Not Sharing alias name information

Naveen V M
edited February 11, 2022 in Analytics #1
All -


I am using Birt(2.6.0). And, I have developed my own ODA same as CSV ODA available in birt site. When i tried Joint dataset feature, My report generation failed with "column binding" exception. But after removing Joint dataset, report generation is successful.

When i investigated more on this exception, i found this.

Let say, My Joint dataset tag looks like this,

<list-property name="columnHints">
<structure>
<property name="columnName">Dataset1::column1</property>
<property name="alias">column1</property>
<text-property name="displayName">Dataset1::column1</text-property>
</structure>
<structure>
<property name="columnName">Dataset2::column2</property>
<property name="alias">column2</property>
<text-property name="displayName">Dataset2::column2</text-property>
</structure>
</list-property>

In org.eclipse.birt.data.engine.impl.ResultIterator.validateManualBindingExpressions() method in turn calls populateValidDataSetColumnNameSet() method.

In populateValidDataSetColumnNameSet() method, both valid column name and alias name will be populated.

In my case, it is populating only the column name ie {"Dataset1::column1","Dataset2::column2"}.

I dont know why this line no 381 in ResultIterator.java ( this.odiResult.getResultClass( ).getFieldAlias( i ) ) is not returning my alais names.

Do i need to make some changes to my custom oda to send alias name?


Thanks,
Naveen.

Comments