Julian,<br>I just haven&#39;t been able to get the regression test done... completely swamped by my work, and now I&#39;m waiting for a knee operation (blew out my knee) - not conducive to coherent thought.. :(&nbsp;&nbsp; This was an important fix for us, so I&#39;d like to get it into the mondrian code (surely someone else will be, or has already encountered the problem..).&nbsp;&nbsp; I don&#39;t suppose anyone else would like to throw a test together?&nbsp; If not.. I&#39;ll try to deal with it when I&#39;m back on the grid.. about 2 weeks I think
<br>Cheers.<br>Ati<br><br><div class="gmail_quote">On Oct 23, 2007 2:12 AM, Julian Hyde &lt;<a href="mailto:julianhyde@speakeasy.net">julianhyde@speakeasy.net</a>&gt; wrote:<br><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">




<div>
<div dir="ltr" align="left"><span><font color="#000080" face="Verdana" size="2">Ati,</font></span></div>
<div dir="ltr" align="left"><span><font color="#000080" face="Verdana" size="2"></font></span>&nbsp;</div>
<div dir="ltr" align="left"><span><font color="#000080" face="Verdana" size="2">Thanks for the fix. I&#39;ve run your changes through the 
regression suite. Looking good so far. I&#39;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><font color="#000080" face="Verdana" size="2"></font></span>&nbsp;</div>
<div dir="ltr" align="left"><span><font color="#000080" face="Verdana" 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&nbsp;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><font color="#000080" face="Verdana" size="2"></font></span>&nbsp;</div>
<div dir="ltr" align="left"><span><font color="#000080" face="Verdana" size="2">Julian</font></span></div><br>
<blockquote style="border-left: 2px solid rgb(0, 0, 128); padding-left: 5px; margin-left: 5px; margin-right: 0px;">
  <div dir="ltr" align="left" lang="en-us">
  <hr>
  <font face="Tahoma" size="2"><div class="Ih2E3d"><b>From:</b> <a href="mailto:mondrian-bounces@pentaho.org" target="_blank">mondrian-bounces@pentaho.org</a> 
  [mailto:<a href="mailto:mondrian-bounces@pentaho.org" target="_blank">mondrian-bounces@pentaho.org</a>] <b>On Behalf Of </b>Ati 
  Rosselet<br></div><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></div><div class="Wj3C7c">
  <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>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
  /**<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; * Finds ALL the child 
  tables of the fact table with the given 
  columnName<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; * used in their 
  left join condition. This is used by the AggTableManager 
  <br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; * while characterizing 
  the fact table columns. (previous only returned FIRST 
  child)<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
  */<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; public 
  ArrayList&lt;RolapStar.Table&gt; findTablesWithLeftJoinCondition(final String 
  columnName) <br>
  <div>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
  {<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
  java.util.ArrayList&lt;RolapStar.Table&gt; tables = new 
  java.util.ArrayList&lt;RolapStar.Table&gt;();<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
  for (Table child : getChildren()) 
  {<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
  Condition condition = 
  child.joinCondition;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
  if (condition != null) 
  {<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
  if (condition.left instanceof MondrianDef.Column) 
  {<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
  MondrianDef.Column mcolumn 
  =<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
  ( MondrianDef.Column) 
  condition.left;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
  if (mcolumn.name.equals(columnName)) 
  {<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
  tables.add(child);<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
  }<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
  }<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
  } </div>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
  }<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; return 
  (tables.size()==0?null:tables);<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
  }<br><br>and&nbsp; remove the return part from other 
  function..<br><br>Cheers..<br>Ati<br></div></div></blockquote></div>
<br>_______________________________________________<br>Mondrian mailing list<br><a href="mailto:Mondrian@pentaho.org">Mondrian@pentaho.org</a><br><a href="http://lists.pentaho.org/mailman/listinfo/mondrian" target="_blank">
http://lists.pentaho.org/mailman/listinfo/mondrian</a><br><br></blockquote></div><br>