Bug 200516 CachedQueryResults should also implement IQueryService.
data/org.eclipse.birt.data/src/org/eclipse/birt/data/engine/impl/QueryExecutor.java
private int getColumnDataType( Context cx, String expr ) throws DataException
	{
		String columnName = QueryExecutorUtil.getColInfoFromJSExpr( cx, expr )
				.getColumnName( );
		if ( columnName == null )
		{
			return DataType.UNKNOWN_TYPE;
		}
		if ( columnName.equals( "__rownum" ) )
		{
			return DataType.INTEGER_TYPE;
		}
		Object baseExpr = ( this.baseQueryDefn.getBindings( ).get( columnName ) );
		if ( baseExpr == null )
		{
			return DataType.UNKNOWN_TYPE;
		}
		return ( (IBinding) baseExpr ).getExpression( ).getDataType( );
	}
	
	/**
	 * @param src
	 * @return
	 */
	private String getGroupKeyExpression( IGroupDefinition src )
	{
		String expr = src.getKeyColumn( );
		if ( expr == null )
		{
			expr = src.getKeyExpression( );