<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML><HEAD>
<META http-equiv=Content-Type content="text/html; charset=us-ascii">
<META content="MSHTML 6.00.6000.16546" name=GENERATOR></HEAD>
<BODY>
<DIV dir=ltr align=left><SPAN class=335500601-23102007><FONT face=Verdana
color=#000080 size=2>Ati,</FONT></SPAN></DIV>
<DIV dir=ltr align=left><SPAN class=335500601-23102007><FONT face=Verdana
color=#000080 size=2></FONT></SPAN> </DIV>
<DIV dir=ltr align=left><SPAN class=335500601-23102007><FONT face=Verdana
color=#000080 size=2>Thanks for the fix. I've run your changes through the
regression suite. Looking good so far. I'll run the suite in all of its various
property settings tonight and see if anything pops out.</FONT></SPAN></DIV>
<DIV dir=ltr align=left><SPAN class=335500601-23102007><FONT face=Verdana
color=#000080 size=2></FONT></SPAN> </DIV>
<DIV dir=ltr align=left><SPAN class=335500601-23102007><FONT face=Verdana
color=#000080 size=2>Since this change is a bug fix, I need a regression test
before I will check in. I think you could construct a testcase based on the
foodmart database. Add the test to TestAggregationManager;
testMultipleMeasures is an example of a test which runs an MDX query and
checks that a particular SQL query is generated. You will also need to use
TestContext.create() to alter the XML; testKeyExpressionCardinalityCache is an
example of a test which does that.</FONT></SPAN></DIV>
<DIV dir=ltr align=left><SPAN class=335500601-23102007><FONT face=Verdana
color=#000080 size=2></FONT></SPAN> </DIV>
<DIV dir=ltr align=left><SPAN class=335500601-23102007><FONT face=Verdana
color=#000080 size=2>Julian</FONT></SPAN></DIV><BR>
<BLOCKQUOTE
style="PADDING-LEFT: 5px; MARGIN-LEFT: 5px; BORDER-LEFT: #000080 2px solid; MARGIN-RIGHT: 0px">
<DIV class=OutlookMessageHeader lang=en-us dir=ltr align=left>
<HR tabIndex=-1>
<FONT face=Tahoma size=2><B>From:</B> mondrian-bounces@pentaho.org
[mailto:mondrian-bounces@pentaho.org] <B>On Behalf Of </B>Ati
Rosselet<BR><B>Sent:</B> Monday, October 22, 2007 5:23 PM<BR><B>To:</B>
Mondrian developer mailing list<BR><B>Subject:</B> Re: [Mondrian] Problem with
aggregate tables..<BR></FONT><BR></DIV>
<DIV></DIV>sorry... cut and paste got me.. end of first function ended up
after the end of the 2nd modified function.
so<BR><BR>
/**<BR> * Finds ALL the child
tables of the fact table with the given
columnName<BR> * used in their
left join condition. This is used by the AggTableManager
<BR> * while characterizing
the fact table columns. (previous only returned FIRST
child)<BR>
*/<BR> public
ArrayList<RolapStar.Table> findTablesWithLeftJoinCondition(final String
columnName) <BR>
<DIV id=mb_5>
{<BR>
java.util.ArrayList<RolapStar.Table> tables = new
java.util.ArrayList<RolapStar.Table>();<BR>
for (Table child : getChildren())
{<BR>
Condition condition =
child.joinCondition;<BR>
if (condition != null)
{<BR>
if (condition.left instanceof MondrianDef.Column)
{<BR>
MondrianDef.Column mcolumn
=<BR>
( MondrianDef.Column)
condition.left;<BR>
if (mcolumn.name.equals(columnName))
{<BR>
tables.add(child);<BR>
}<BR>
}<BR>
} </DIV>
}<BR> return
(tables.size()==0?null:tables);<BR>
}<BR><BR>and remove the return part from other
function..<BR><BR>Cheers..<BR>Ati<BR></BLOCKQUOTE></BODY></HTML>