[Mondrian] Problem with aggregate tables..

Julian Hyde julianhyde at speakeasy.net
Mon Oct 22 21:12:26 EDT 2007


Ati,
 
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.
 
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.
 
Julian


  _____  

From: mondrian-bounces at pentaho.org [mailto:mondrian-bounces at pentaho.org] On
Behalf Of Ati Rosselet
Sent: Monday, October 22, 2007 5:23 PM
To: Mondrian developer mailing list
Subject: Re: [Mondrian] Problem with aggregate tables..


sorry... cut and paste got me.. end of first function ended up after the end
of the 2nd modified function. so

      /**
         * Finds ALL the child tables of the fact table with the given
columnName
         * used in their left join condition. This is used by the
AggTableManager 
         * while characterizing the fact table columns. (previous only
returned FIRST child)
         */
       public ArrayList<RolapStar.Table>
findTablesWithLeftJoinCondition(final String columnName) 

       {
            java.util.ArrayList<RolapStar.Table> tables = new
java.util.ArrayList<RolapStar.Table>();
            for (Table child : getChildren()) {
                Condition condition = child.joinCondition;
                if (condition != null) {
                    if (condition.left instanceof MondrianDef.Column) {
                        MondrianDef.Column mcolumn =
                            ( MondrianDef.Column) condition.left;
                        if (mcolumn.name.equals(columnName)) {
                            tables.add(child);
                        }
                    }
                } 
            }
            return (tables.size()==0?null:tables);
        }

and  remove the return part from other function..

Cheers..
Ati


-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.pentaho.org/pipermail/mondrian/attachments/20071022/23547795/attachment.html 


More information about the Mondrian mailing list