[Mondrian] RE: Eigenbase perforce change 13968 for review

Julian Hyde jhyde at pentaho.com
Sun Dec 12 02:43:22 EST 2010


> Luc wrote:
> 
> http://p4web.eigenbase.org/@md=d&c=6PU@/13968?ac=10
> 
> Change 13968 by lucboudreau at luc-mondrian-3.2 on 2010/12/10 09:54:28
> 
> 	MONDRIAN: Fixes a bug where the RowSetDefinition object 
> was returning the catalogs names but should have tallied all 
> of the underlying schema names instead.

Not a bug. What XMLA calls a Data source, JDBC (and olap4j) calls a Catalog.
What XMLA calls a Catalog, JDBC calls a Schema.

So, when an XMLA request asks for the catalogs in a data source X, the
XmlaHandler was correctly giving them all of the schemas in the catalog X.

> >     @Override
> >     protected void setUp() throws Exception {
> >         super.setUp();
> >         Class.forName(MondrianOlap4jDriver.class.getName());
> >     }

This is overkill. Usually one loads a driver by writing

> Class.forName("com.acme.MyDriver");

to avoid a compile-time dependency on MyDriver. If you reference a class at
compile-time, any use of it will be sufficient to cause the class to load.
(Nothing special about Class.forName.) I'd write

> Util.discard(MondrianOlap4jDriver.class);

Better still, run the test under JDK 1.6. META-INF/services/java.sql.Driver
will cause the driver to be loaded automatically. No Class.forName required.

Julian




More information about the Mondrian mailing list