[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.
Cheers
Ati
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