[Mondrian] RE: Compilation

Julian Hyde jhyde at pentaho.com
Sun Feb 15 18:34:08 EST 2009


 

> Julian Hyde wrote:
> 
> > Since mondrian 3.0.4 we've improved the model for plugging in custom
> > dialects. You can now drop in a MonetDB dialect without 
> having to recompile
> > mondrian source code.
>
> Martin wrote:
>
> How does it work? Is there a list of query templates/ patterns with
> their translation scheme?

The Dialect class has methods that describe what the DBMS is capable of. 

See http://mondrian.pentaho.org/headapi/mondrian/spi/Dialect.html

Of course, the dialect API only contains methods for differences we've
encountered historically. If your DBMS replaced the 'SELECT' keyword with
'FOOBAR' we'd have to add a 'String getSelectKeyword()' method. The default
implementation, in JdbcDialectImpl, would return "SELECT".

Dialects are loaded using a chain-of-responsibility of DialectFactory
objects. Put your dialect and its factory on the classpath and mondrian will
load the first factory that claims to be able to handle your connection.

DialectTest is an important part of the process. It checks that the dialect
can do exactly what it say it can (and can not).

> Where can we find an example

See e.g.
http://mondrian.pentaho.org/headapi/src-html/mondrian/spi/impl/OracleDialect
.html#line.22

Julian





More information about the Mondrian mailing list