Bug 136296 Set the filter function -between on the 'datatime' data type, an error is thrown out
Description: Set the filter operator-between on the 'datatime' data type, an error is thrown out Steps to reproduce: 1. new a sample datasource 2. input "select * from CLASSICMODELS.ORDERS " in the query text 3. add a filter expression: row["ORDERDATE"] Operator: between value1: "Feb 11, 2003 12:00:00 AM" Value2: "Apr 4, 2003 12:00:00 AM" 4.Preview Actual result: org.eclipse.birt.data.engine.core.DataException: An error happened in data type conversion. Invalid data type found in conditional expression. at org.eclipse.birt.data.engine.impl.FilterByRow.process(FilterByRow.java:228) at org.eclipse.birt.data.engine.executor.cache.RowResultSet.processFetchEvent(RowResultSet.java:121) at org.eclipse.birt.data.engine.executor.cache.RowResultSet.next(RowResultSet.java:89) at org.eclipse.birt.data.engine.executor.cache.ExpandableRowResultSet.next(ExpandableRowResultSet.java:66) at org.eclipse.birt.data.engine.executor.cache.SmartCache.populateData(SmartCache.java:304) at org.eclipse.birt.data.engine.executor.cache.SmartCache.initInstance(SmartCache.java:231) at org.eclipse.birt.data.engine.executor.cache.SmartCache.<init>(SmartCache.java:79) at org.eclipse.birt.data.engine.executor.transform.SinglePassRowProcessor.initOdiResultSet(SinglePassRowProcessor.java:95) at org.eclipse.birt.data.engine.executor.transform.SinglePassRowProcessor.pass(SinglePassRowProcessor.java:60) at org.eclipse.birt.data.engine.executor.transform.MultiPassRowProcessor.pass(MultiPassRowProcessor.java:93) at org.eclipse.birt.data.engine.executor.transform.ResultSetPopulator.populateResultSet(ResultSetPopulator.java:205) at org.eclipse.birt.data.engine.executor.transform.CachedResultSet.<init>(CachedResultSet.java:68) at org.eclipse.birt.data.engine.executor.DataSourceQuery.execute(DataSourceQuery.java:562) at org.eclipse.birt.data.engine.impl.PreparedOdaDSQuery$OdaDSQueryExecutor.executeOdiQuery(PreparedOdaDSQuery.java:265) at org.eclipse.birt.data.engine.impl.QueryExecutor.execute(QueryExecutor.java:545) at org.eclipse.birt.data.engine.impl.QueryService.executeQuery(QueryService.java:144) at org.eclipse.birt.data.engine.impl.QueryResults.getResultIterator(QueryResults.java:145) at org.eclipse.birt.report.designer.data.ui.dataset.ResultSetPreviewPage.updateResults(ResultSetPreviewPage.java:228) at org.eclipse.birt.report.designer.data.ui.dataset.ResultSetPreviewPage$4.run(ResultSetPreviewPage.java:402) at org.eclipse.swt.widgets.RunnableLock.run(RunnableLock.java:35) at org.eclipse.swt.widgets.Synchronizer.runAsyncMessages(Synchronizer.java:123) at org.eclipse.swt.widgets.Display.runAsyncMessages(Display.java:3323) at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:2969) at org.eclipse.jface.window.Window.runEventLoop(Window.java:820) at org.eclipse.jface.window.Window.open(Window.java:796) at org.eclipse.birt.report.designer.internal.ui.dialogs.BaseDialog.open(BaseDialog.java:145) at org.eclipse.birt.report.designer.internal.ui.views.data.providers.DataSetNodeProvider.performEdit(DataSetNodeProvider.java:198) at org.eclipse.birt.report.designer.internal.ui.views.DefaultNodeProvider.performRequest(DefaultNodeProvider.java:351) at org.eclipse.birt.report.designer.internal.ui.views.actions.EditAction.doAction(EditAction.java:79) at org.eclipse.birt.report.designer.internal.ui.views.actions.AbstractElementAction.run(AbstractElementAction.java:64) at org.eclipse.birt.report.designer.internal.ui.views.RenameListener.doubleClick(RenameListener.java:211) at org.eclipse.jface.viewers.StructuredViewer$1.run(StructuredViewer.java:789) at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:37) at org.eclipse.core.runtime.Platform.run(Platform.java:816) at org.eclipse.ui.internal.JFaceUtil$1.run(JFaceUtil.java:44) at org.eclipse.jface.util.SafeRunnable.run(SafeRunnable.java:149) at org.eclipse.jface.viewers.StructuredViewer.fireDoubleClick(StructuredViewer.java:787) at org.eclipse.jface.viewers.StructuredViewer.handleDoubleSelect(StructuredViewer.java:1022) at org.eclipse.jface.viewers.StructuredViewer$4.widgetDefaultSelected(StructuredViewer.java:1129) at org.eclipse.jface.util.OpenStrategy.fireDefaultSelectionEvent(OpenStrategy.java:223) at org.eclipse.jface.util.OpenStrategy.access$0(OpenStrategy.java:220) at org.eclipse.jface.util.OpenStrategy$1.handleEvent(OpenStrategy.java:281) at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:66) at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:925) at org.eclipse.swt.widgets.Display.runDeferredEvents(Display.java:3346) at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:2966) at org.eclipse.ui.internal.Workbench.runEventLoop(Workbench.java:1914) at org.eclipse.ui.internal.Workbench.runUI(Workbench.java:1878) at org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Workbench.java:419) at org.eclipse.ui.PlatformUI.createAndRunWorkbench(PlatformUI.java:143) at org.eclipse.ui.internal.ide.IDEApplication.run(IDEApplication.java:95) at org.eclipse.core.internal.runtime.PlatformActivator$1.run(PlatformActivator.java:78) at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.runApplication(EclipseAppLauncher.java:92) at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.start(EclipseAppLauncher.java:68) at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:376) at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:169) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source) at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) at java.lang.reflect.Method.invoke(Unknown Source) at org.eclipse.core.launcher.Main.invokeFramework(Main.java:336) at org.eclipse.core.launcher.Main.basicRun(Main.java:280) at org.eclipse.core.launcher.Main.run(Main.java:977) at org.eclipse.core.launcher.Main.main(Main.java:952)
data/org.eclipse.birt.data/src/org/eclipse/birt/data/engine/impl/ExecutorHelper.java
{
	
	private IExecutorHelper parent;
	private IResultIterator odiResult;
	private Scriptable scope;
	private ExprManager exprManager;
	
	public ExecutorHelper( IResultIterator it, Scriptable scope )
	{
		this.odiResult = it;
		this.scope = scope;
	}
	
	/* (non-Javadoc)
	 * @see org.eclipse.birt.data.engine.impl.IExecutorHelper#evaluate(org.eclipse.birt.data.engine.api.IBaseExpression)
	 */
	public Object evaluate( IBaseExpression expr ) throws BirtException
	{