Some Eclipse Foundation services are deprecated, or will be soon. Please ensure you've read this important communication.

Bug 313654

Summary: Error occurs in chart builder when group on a decimal type column.[13]
Product: z_Archived Reporter: Maggie Shen <lshen>
Component: BIRTAssignee: xiaofeng zhang <xiaofeng.zhang>
Status: CLOSED FIXED QA Contact: Maggie Shen <lshen>
Severity: normal    
Priority: P3 CC: bluesoldier, Lionel.wyl, mwu
Version: 2.6.0   
Target Milestone: 2.6.1   
Hardware: PC   
OS: Windows XP   
Whiteboard: Obsolete
Attachments:
Description Flags
screen shot
none
test report none

Description Maggie Shen CLA 2010-05-20 02:28:30 EDT
Created attachment 169272 [details]
screen shot

description:
Error occurs in chart builder when group on a decimal type column.

build id:
2.6.0 v20100520-0630

steps to reproduce:
1. New a data set with  decimal type column.
2. New a chart, using the data set. 
3. Select decimal column as category series. 

Actual result:
Error occurs in chart builder. See attached screen shot. If you disabled the grouping on category series, the error will disappear.
Comment 1 Maggie Shen CLA 2010-05-20 02:29:39 EDT
Created attachment 169273 [details]
test report
Comment 2 Heng Li CLA 2010-05-20 04:05:59 EDT
Exception is thrown by data engine. It seems data engine does not support big decimal, it needs data engine to support big decimal. The exception shows below:

org.eclipse.birt.chart.exception.ChartException: Fail to compute value from sort, group or filter expression.
A BIRT exception occurred: Can not convert the value of 7.00E+310 to Double type.. See next exception for more information.
Can not convert the value of 7.00E+310 to Double type.
	at org.eclipse.birt.chart.reportitem.ui.ReportDataServiceProvider.createBaseEvaluator(ReportDataServiceProvider.java:1705)
	at org.eclipse.birt.chart.reportitem.ui.ReportDataServiceProvider.prepareRowExpressionEvaluator(ReportDataServiceProvider.java:1629)
	at org.eclipse.birt.chart.ui.util.ChartUIUtil.doLivePreview(ChartUIUtil.java:613)
	at org.eclipse.birt.chart.ui.util.ChartUIUtil.prepareLivePreview(ChartUIUtil.java:1740)
	at org.eclipse.birt.chart.ui.swt.wizard.TaskSelectData$1.run(TaskSelectData.java:829)
	at org.eclipse.birt.chart.ui.swt.wizard.preview.ChartLivePreviewThread.run(ChartLivePreviewThread.java:200)
Caused by: org.eclipse.birt.data.engine.core.DataException: Fail to compute value from sort, group or filter expression.
A BIRT exception occurred: Can not convert the value of 7.00E+310 to Double type.. See next exception for more information.
Can not convert the value of 7.00E+310 to Double type.
	at org.eclipse.birt.data.engine.impl.ComputedColumnHelperInstance.process(ComputedColumnHelper.java:471)
	at org.eclipse.birt.data.engine.impl.ComputedColumnHelper.process(ComputedColumnHelper.java:121)
	at org.eclipse.birt.data.engine.executor.cache.RowResultSet.processFetchEvent(RowResultSet.java:152)
	at org.eclipse.birt.data.engine.executor.cache.RowResultSet.next(RowResultSet.java:113)
	at org.eclipse.birt.data.engine.executor.cache.ExpandableRowResultSet.next(ExpandableRowResultSet.java:63)
	at org.eclipse.birt.data.engine.executor.cache.SmartCacheHelper.populateData(SmartCacheHelper.java:311)
	at org.eclipse.birt.data.engine.executor.cache.SmartCacheHelper.initInstance(SmartCacheHelper.java:283)
	at org.eclipse.birt.data.engine.executor.cache.SmartCacheHelper.getResultSetCache(SmartCacheHelper.java:244)
	at org.eclipse.birt.data.engine.executor.cache.SmartCache.<init>(SmartCache.java:69)
	at org.eclipse.birt.data.engine.executor.transform.pass.PassUtil.populateOdiResultSet(PassUtil.java:153)
	at org.eclipse.birt.data.engine.executor.transform.pass.PassUtil.pass(PassUtil.java:62)
	at org.eclipse.birt.data.engine.executor.transform.pass.ResultSetProcessUtil.doRowSorting(ResultSetProcessUtil.java:293)
	at org.eclipse.birt.data.engine.executor.transform.pass.ResultSetProcessUtil.populateResultSet(ResultSetProcessUtil.java:122)
	at org.eclipse.birt.data.engine.executor.transform.pass.ResultSetProcessUtil.doPopulate(ResultSetProcessUtil.java:85)
	at org.eclipse.birt.data.engine.executor.transform.pass.PassManager.doPopulation(PassManager.java:308)
	at org.eclipse.birt.data.engine.executor.transform.pass.PassManager.doMultiPass(PassManager.java:230)
	at org.eclipse.birt.data.engine.executor.transform.pass.PassManager.pass(PassManager.java:97)
	at org.eclipse.birt.data.engine.executor.transform.pass.PassManager.populateResultSet(PassManager.java:74)
	at org.eclipse.birt.data.engine.executor.transform.ResultSetPopulator.populateResultSet(ResultSetPopulator.java:196)
	at org.eclipse.birt.data.engine.executor.transform.CachedResultSet.<init>(CachedResultSet.java:152)
	at org.eclipse.birt.data.engine.executor.dscache.CandidateQuery.execute(CandidateQuery.java:52)
	at org.eclipse.birt.data.engine.impl.PreparedScriptDSQuery$ScriptDSQueryExecutor.executeOdiQuery(PreparedScriptDSQuery.java:223)
	at org.eclipse.birt.data.engine.impl.QueryExecutor.execute(QueryExecutor.java:1045)
	at org.eclipse.birt.data.engine.impl.ServiceForQueryResults.executeQuery(ServiceForQueryResults.java:232)
	at org.eclipse.birt.data.engine.impl.QueryResults.getResultIterator(QueryResults.java:159)
	at org.eclipse.birt.chart.reportitem.ui.ReportDataServiceProvider.createBaseEvaluator(ReportDataServiceProvider.java:1697)
	... 5 more
Caused by: org.eclipse.birt.data.engine.core.DataException: A BIRT exception occurred: Can not convert the value of 7.00E+310 to Double type.. See next exception for more information.
Can not convert the value of 7.00E+310 to Double type.
	at org.eclipse.birt.data.engine.core.DataException.wrap(DataException.java:118)
	at org.eclipse.birt.data.engine.impl.ComputedColumnHelperInstance.process(ComputedColumnHelper.java:457)
	... 30 more
Caused by: org.eclipse.birt.core.exception.CoreException: Can not convert the value of 7.00E+310 to Double type.
	at org.eclipse.birt.core.data.DataTypeUtil.toDouble(DataTypeUtil.java:931)
	at org.eclipse.birt.core.data.DataTypeUtil.toDouble(DataTypeUtil.java:1012)
	at org.eclipse.birt.data.engine.impl.group.NumericGroupCalculator.calculate(NumericGroupCalculator.java:56)
	at org.eclipse.birt.data.engine.impl.GroupComputedColumn.calculate(GroupComputedColumn.java:59)
	at org.eclipse.birt.data.engine.impl.ComputedColumnHelperInstance.process(ComputedColumnHelper.java:453)
	... 30 more
Comment 3 Yulin Wang CLA 2010-05-24 02:54:24 EDT
*** Bug 313658 has been marked as a duplicate of this bug. ***
Comment 4 Maggie Shen CLA 2010-08-04 01:28:42 EDT
verified on build 2.6.1 v20100804-0630.