Project: Birt
Bug 312036 AssertionError in ColumnHint.setDataType() works well with assertions disabled
Reported: 2010-05-07 06:19:45 | Status: resolved fixed

Build Identifier: M20090917-0800 I have defined a dataset which contains a column containing blob data, containing an image. When I start the application in a JVM with assertions enabled I get an AssertionError at java.lang.AssertionError at org.eclipse.birt.data.engine.odaconsumer.ColumnHint.setDataType(ColumnHint.java:129) at org.eclipse.birt.data.engine.executor.DataSourceQuery.prepareOdiHint(DataSourceQuery.java:673) at org.eclipse.birt.data.engine.executor.DataSourceQuery.addColumnHints(DataSourceQuery.java:635) at org.eclipse.birt.data.engine.executor.DataSourceQuery.prepareColumns(DataSourceQuery.java:352) at org.eclipse.birt.data.engine.executor.DataSourceQuery.prepare(DataSourceQuery.java:312) at org.eclipse.birt.data.engine.impl.PreparedOdaDSQuery$OdaDSQueryExecutor.prepareOdiQuery(PreparedOdaDSQuery.java:350) [...] This happens, because java.sql.Blob is passed to this method but the Assertion only accepts org.eclipse.datatools.connectivity.oda.IBlob as a datatype for BLOBs. When I start the JVM with assertions disabled I don't get this Error. Everthing works fine and the picture is rendered correctly. In the designer, I couldn't find any option to map java datatypes or something else. I created the report with the Designer Plugin (2.5.1) and I'm using the BIRT Runtime (alos 2.5.1) inside a web application (EAR). The application is deployed on a BEA Weblogic 10.3. Maybe this only some configuration thing but I can't get on. And by the way, disabling assertions is not an option. Reproducible: Always Steps to Reproduce: 1. Create a dataset which contains a BLOB column. 2. Run the report (JVM must have assertions enabled) 3. Wait for the AssertionError

Files changed in fix:
data/org.eclipse.birt.data/src/org/eclipse/birt/data/engine/odaconsumer/ColumnHint.java