[Mondrian] Problem with aggregate tables..

Ati Rosselet ati.rosselet at gmail.com
Sun Feb 17 08:04:18 EST 2008

Julian (and others?)
Ok... I give up.. I have no idea how to properly test these changes.  Are
they still applicable to the current CVS version? (I assume so.. since I
haven't seen any notes/commits pertaining to this problem).   You mentioned
that you were going to run it through the regression suite to see if any
problems popped up - but I never heard of any results.. Does this mean that
basically all is ok?  This fix is kind of important.. pretty vital to us in
fact, and I'm surprised no-one else has encountered the problem I address in
it.   If you (or anyone) would be willing to either write the test, or give
me some pointers (I'm completely lost - probably partly from being in the
middle of a large .NET project :)), I'd be very grateful.   I'll try to get
the CVS version of 3.0 and see if the patches can still be applied.


2007/10/23 Julian Hyde <julianhyde at speakeasy.net>:

>  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
> _______________________________________________
> Mondrian mailing list
> Mondrian at pentaho.org
> http://lists.pentaho.org/mailman/listinfo/mondrian
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.pentaho.org/pipermail/mondrian/attachments/20080217/9984aa69/attachment.html 

More information about the Mondrian mailing list