<br>Julian. Discussing with Jonathan Fuerth, I came to understand your point. Olap4j does not promote a given MDX syntax nor should it ever do. I will start a spin-off project able to provide external code with a MdxParser that does not require a backend server connection.<br>
<br>I'll update this thread with links to the actual released code.<br><br clear="all">_____________________________<br>Luc Boudreau<br>
<br><br><div class="gmail_quote">On Wed, Apr 7, 2010 at 2:04 PM, Julian Hyde <span dir="ltr"><<a href="mailto:jhyde@pentaho.com">jhyde@pentaho.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin: 0pt 0pt 0pt 0.8ex; border-left: 1px solid rgb(204, 204, 204); padding-left: 1ex;">
<div link="blue" vlink="blue" lang="EN-US">
<div><span><font color="#000080" face="Lucida Sans" size="2">You should be able to use the olap4j public API for this.
Hand-parsing, as you correctly observe, is brittle, and we made the parser part
of the public API to solve this problem. </font></span></div>
<div><span><font color="#000080" face="Lucida Sans" size="2"></font></span> </div>
<div><span><font color="#000080" face="Lucida Sans" size="2">Create an olap4j connection, downcast to OlapConnection, then
call getParserFactory(), call createParser on that factory, then use the parser
to parse a string. </font></span><span><font color="#000080" face="Lucida Sans" size="2">Your code does not need to reference
DefaultMdxPArserImpl at all.</font></span></div>
<div><span><font color="#000080" face="Lucida Sans" size="2"></font></span> </div>
<div><span><font color="#000080" face="Lucida Sans" size="2">Note that after you have manipulated the parse tree, you
can re-creeate the MDX by calling String
ParseTreeNode.unparse(ParseTreeWriter).</font></span></div>
<div><span><font color="#000080" face="Lucida Sans" size="2"></font></span> </div>
<div><span><font color="#000080" face="Lucida Sans" size="2">And also node that you can create parse trees 'by hand'
without using a parser.</font></span></div>
<div><span><font color="#000080" face="Lucida Sans" size="2"></font></span> </div>
<div><span><font color="#000080" face="Lucida Sans" size="2">If you are using the mondrian olap4j driver the olap4j
connection will contain a mondrian connection. You can unwrap it using the
following code:</font></span></div>
<div><span><font color="#000080" face="Lucida Sans" size="2"></font></span> </div>
<div><span><font color="#000080" face="Lucida Sans" size="2">java.sql.Connection olap4jConnection;</font></span></div>
<div><span><font color="#000080" face="Lucida Sans" size="2">mondrian.olap.Connection mondrianConnection
=</font></span></div>
<div><span><font color="#000080" face="Lucida Sans" size="2">
olap4jConnection.unwrap(mondrian.olap.Connection.class);</font></span></div>
<div><span><font color="#000080" face="Lucida Sans" size="2"></font></span> </div>
<div><span><font color="#000080" face="Lucida Sans" size="2">The connection will be an instance of
mondrian.olap4j.MondrianOlap4jConnection but, as with DefaultMdxParserImpl, your
code never needs to (nor should) reference that class
directly.</font></span></div>
<div><span><font color="#000080" face="Lucida Sans" size="2"></font></span> </div>
<div><span><font color="#000080" face="Lucida Sans" size="2">Julian</font></span></div>
<div><span><font color="#000080" face="Lucida Sans" size="2"></font></span> </div><br>
<blockquote style="border-left: 2px solid rgb(0, 0, 128); padding-left: 5px; margin-left: 5px; margin-right: 0px;" dir="ltr">
<div dir="ltr" align="left" lang="en-us">
<hr>
<font face="Tahoma" size="2"><b>From:</b> Josh Chappelle
[mailto:<a href="mailto:jchappelle@4redi.com" target="_blank">jchappelle@4redi.com</a>] <br><b>Sent:</b> Wednesday, April 07, 2010 7:35
AM<br><b>To:</b> <a href="mailto:jhyde@pentaho.com" target="_blank">jhyde@pentaho.com</a>; 'Mondrian developer mailing list'; 'Luc
Boudreau'<div class="im"><br><b>Cc:</b> <a href="mailto:olap4j-devel@lists.sourceforge.net" target="_blank">olap4j-devel@lists.sourceforge.net</a><br></div><div><div></div><div class="h5"><b>Subject:</b>
RE: [Olap4j-devel] [Mondrian] Convert Connection to
OlapConnection<br></div></div></font><br></div><div><div></div><div class="h5">
<div></div>
<div>
<p class="MsoNormal"><font color="navy" face="Arial" size="2"><span style="font-family: Arial; color: navy; font-size: 10pt;">The gui use case is
exactly what we are doing. We have a web based application and we use wicket
for our presentation layer. We have created a primitive mdx designer to create
mdx views and save the mdx string to a database. When the user wants to edit
the mdx then it poses an issue of parsing. We can do some ugly string
manipulation but it starts to get ugly and as we all know that kind of thing
is brittle. That’s why we need the parser. I’m assuming I can create a
ParseTreeVisitor implementation that can parse the string and build up our
objects.</span></font></p>
<p class="MsoNormal"><font color="navy" face="Arial" size="2"><span style="font-family: Arial; color: navy; font-size: 10pt;"> </span></font></p>
<p class="MsoNormal"><font color="navy" face="Arial" size="2"><span style="font-family: Arial; color: navy; font-size: 10pt;">If there is another
class that is better suited for that please feel free to let me
know.</span></font></p>
<p class="MsoNormal"><font color="navy" face="Arial" size="2"><span style="font-family: Arial; color: navy; font-size: 10pt;"> </span></font></p>
<p class="MsoNormal"><font color="navy" face="Arial" size="2"><span style="font-family: Arial; color: navy; font-size: 10pt;">Thanks,</span></font></p>
<p class="MsoNormal"><font color="navy" face="Arial" size="2"><span style="font-family: Arial; color: navy; font-size: 10pt;"> </span></font></p>
<p class="MsoNormal"><font color="navy" face="Arial" size="2"><span style="font-family: Arial; color: navy; font-size: 10pt;">Josh</span></font></p>
<div>
<div style="text-align: center;" class="MsoNormal" align="center"><font face="Times New Roman" size="3"><span style="font-size: 12pt;">
<hr align="center" size="2" width="100%">
</span></font></div>
<p class="MsoNormal"><b><font face="Tahoma" size="2"><span style="font-family: Tahoma; font-size: 10pt; font-weight: bold;">From:</span></font></b><font face="Tahoma" size="2"><span style="font-family: Tahoma; font-size: 10pt;">
<a href="mailto:mondrian-bounces@pentaho.org" target="_blank">mondrian-bounces@pentaho.org</a> [mailto:<a href="mailto:mondrian-bounces@pentaho.org" target="_blank">mondrian-bounces@pentaho.org</a>] <b><span style="font-weight: bold;">On Behalf Of </span></b>Julian Hyde<br>
<b><span style="font-weight: bold;">Sent:</span></b> Tuesday, April 06, 2010 8:57
PM<br><b><span style="font-weight: bold;">To:</span></b> 'Luc
Boudreau'<br><b><span style="font-weight: bold;">Cc:</span></b>
<a href="mailto:olap4j-devel@lists.sourceforge.net" target="_blank">olap4j-devel@lists.sourceforge.net</a>; 'Mondrian developer mailing
list'<br><b><span style="font-weight: bold;">Subject:</span></b> RE:
[Olap4j-devel] [Mondrian] Convert Connection to
OlapConnection</span></font></p></div>
<p class="MsoNormal"><font face="Times New Roman" size="3"><span style="font-size: 12pt;"> </span></font></p>
<div>
<p class="MsoNormal"><font color="navy" face="Lucida Sans" size="2"><span style="font-family: 'Lucida Sans'; color: navy; font-size: 10pt;">I agree with
the 4 bundles of functionality you have proposed. But did you realize that the
parser bundle is already present? It's in the org.olap4j.mdx.parser
package:</span></font></p></div>
<div>
<p class="MsoNormal"><font face="Times New Roman" size="3"><span style="font-size: 12pt;"> </span></font></p></div>
<div>
<p class="MsoNormal"><font face="Times New Roman" size="3"><span style="font-size: 12pt;"><a href="http://www.olap4j.org/api/org/olap4j/mdx/parser/package-summary.html" target="_blank">http://www.olap4j.org/api/org/olap4j/mdx/parser/package-summary.html</a></span></font></p>
</div>
<div>
<p class="MsoNormal"><font face="Times New Roman" size="3"><span style="font-size: 12pt;"> </span></font></p></div>
<div>
<p class="MsoNormal"><font color="navy" face="Lucida Sans" size="2"><span style="font-family: 'Lucida Sans'; color: navy; font-size: 10pt;">The GUI use
case you cite is a good one. But it can be done today using MdxParser,
MdxParserFactory, and the parse tree object model classes in the
org.olap4j.mdx package. And by the way, to get a parser factory, you call
OlapConnection.getParserFactory.</span></font></p></div>
<div>
<p class="MsoNormal"><font face="Times New Roman" size="3"><span style="font-size: 12pt;"> </span></font></p></div>
<div>
<p class="MsoNormal"><font color="navy" face="Lucida Sans" size="2"><span style="font-family: 'Lucida Sans'; color: navy; font-size: 10pt;">Behind the
scenes, the olap4j driver is probably using DefaultMdxParserImpl. (It is for
both olap4j drivers that exist today.) But the app does not need to know about
DefaultMdxParserImpl in order to do what it needs to do, only
MdxParser.</span></font></p></div>
<div>
<p class="MsoNormal"><font face="Times New Roman" size="3"><span style="font-size: 12pt;"> </span></font></p></div>
<div>
<p class="MsoNormal"><font color="navy" face="Lucida Sans" size="2"><span style="font-family: 'Lucida Sans'; color: navy; font-size: 10pt;">Julian</span></font></p></div>
<blockquote style="border-width: medium medium medium 1.5pt; border-style: none none none solid; border-color: -moz-use-text-color -moz-use-text-color -moz-use-text-color navy; padding: 0in 0in 0in 4pt; margin: 5pt 0in 5pt 3.75pt;">
<p class="MsoNormal"><font face="Times New Roman" size="3"><span style="font-size: 12pt;"> </span></font></p>
<div style="text-align: center;" class="MsoNormal" align="center"><font face="Times New Roman" size="3"><span style="font-size: 12pt;">
<hr align="center" size="2" width="100%">
</span></font></div>
<p style="margin-bottom: 12pt;" class="MsoNormal"><b><font face="Tahoma" size="2"><span style="font-family: Tahoma; font-size: 10pt; font-weight: bold;">From:</span></font></b><font face="Tahoma" size="2"><span style="font-family: Tahoma; font-size: 10pt;"> Luc
Boudreau [mailto:<a href="mailto:lucboudreau@gmail.com" target="_blank">lucboudreau@gmail.com</a>] <br><b><span style="font-weight: bold;">Sent:</span></b> Tuesday, April 06, 2010 6:28
PM<br><b><span style="font-weight: bold;">To:</span></b>
<a href="mailto:jhyde@pentaho.com" target="_blank">jhyde@pentaho.com</a><br><b><span style="font-weight: bold;">Cc:</span></b>
Mondrian developer mailing list;
<a href="mailto:olap4j-devel@lists.sourceforge.net" target="_blank">olap4j-devel@lists.sourceforge.net</a><br><b><span style="font-weight: bold;">Subject:</span></b> Re: [Olap4j-devel] [Mondrian]
Convert Connection to OlapConnection</span></font></p>
<p class="MsoNormal"><font face="Times New Roman" size="3"><span style="font-size: 12pt;"><br>Database drivers who implement their own parser
and grammar are free to not use the one provided by olap4j. An
OlapConnection still has to provide a parser factory to public code. Nothing
should change there. Yet this does not constitute an argument for not
exposing the internal parser. Olap4j contains the only MDX parser available
as far as I know and it would be a shame to bury it at the bottom of the
library.<br><br>I agree with keeping DefaultMdxParserImpl part of the SPI
only. There is no need to expose it and as I said in my previous email, I'd
much rather see a unified standard way of obtaining a MdxParser
implementation. I'm not talking about core API changes. Here's a very common
and realistic use case for it; a syntax-aware GUI editor for MDX queries
which is not a query tool.<br><br>If your objection is related to the
separation of intent of the different components of olap4j, then I can
assure you that I am fully aware of the mixup that is already in place.
Olap4j includes already an four distinctive components bundled together...
We talked about separating those in the past and never got to doing it.
Should we decide to do the actual work, I believe that the natural
separation of components should be as follows.</span></font></p>
<ul type="disc">
<li style="margin-bottom: 12pt;" class="MsoNormal"><font face="Times New Roman" size="3"><span style="font-size: 12pt;">API (org.olap4j.* pagkages, minus the ones
below)<br>This is the bulk of the olap4j code.</span></font>
</li><li style="margin-bottom: 12pt;" class="MsoNormal"><font face="Times New Roman" size="3"><span style="font-size: 12pt;">XML/A Generic Driver
(org.olap4j.driver.xmla.*)<br>The XML/A driver depends on the API
only.</span></font>
</li><li style="margin-bottom: 12pt;" class="MsoNormal"><font face="Times New Roman" size="3"><span style="font-size: 12pt;">Query Model (org.olap4j.query.*)<br>The query
model classes would depend on the API only.</span></font>
</li><li class="MsoNormal"><font face="Times New Roman" size="3"><span style="font-size: 12pt;">MDX Parser (some package that is non existent
yet)<br>The MDX parser would be a very simplistic wrapper over the default
parser SPI classes and exposed as a MdxParser factory. It would depend on
the API core only.</span></font> </li></ul>
<p style="margin-bottom: 12pt;" class="MsoNormal"><font face="Times New Roman" size="3"><span style="font-size: 12pt;">Each of those
components can be part of the olap4j source tree for now, but I'd like to
take the opportunity to initiate a discussion about their separation and get
feedback about the ramifications. I don't mind doing the actual work.<br><br clear="all">_____________________________<br>Luc
Boudreau<br><br></span></font></p>
<div>
<p class="MsoNormal"><font face="Times New Roman" size="3"><span style="font-size: 12pt;">On Tue, Apr 6, 2010 at 7:49 PM, Julian Hyde <<a href="mailto:jhyde@pentaho.com" target="_blank">jhyde@pentaho.com</a>>
wrote:</span></font></p>
<div>
<div>
<p class="MsoNormal"><font color="navy" face="Lucida Sans" size="2"><span style="font-family: 'Lucida Sans'; color: navy; font-size: 10pt;">I stand by
the comments I made in that forum post. MdxParser is part of olap4j's public
API, but DefaultMdxParserImpl is not and will never
be.</span></font></p></div>
<div>
<p class="MsoNormal"><font face="Times New Roman" size="3"><span style="font-size: 12pt;"> </span></font></p></div>
<div>
<p class="MsoNormal"><font face="Times New Roman" size="3"><span style="font-size: 12pt;"><a href="http://www.olap4j.org/api/org/olap4j/mdx/parser/package-summary.html" target="_blank">http://www.olap4j.org/api/org/olap4j/mdx/parser/package-summary.html</a></span></font></p>
</div>
<div>
<p class="MsoNormal"><font face="Times New Roman" size="3"><span style="font-size: 12pt;"> </span></font></p></div>
<div>
<p class="MsoNormal"><font color="navy" face="Lucida Sans" size="2"><span style="font-family: 'Lucida Sans'; color: navy; font-size: 10pt;">The public
API, remember, is for people building OLAP applications. To them, olap4j
needs to look like JDBC, but with one exception. JDBC drivers don't supply a
SQL parser, but parsing is more important to MDX applications so every
olap4j driver must supply an MDX parser that implements the MdxParser
interface.</span></font></p></div>
<div>
<p class="MsoNormal"><font face="Times New Roman" size="3"><span style="font-size: 12pt;"> </span></font></p></div>
<div>
<p class="MsoNormal"><font color="navy" face="Lucida Sans" size="2"><span style="font-family: 'Lucida Sans'; color: navy; font-size: 10pt;">The other
important audience is developers of drivers. To a limited extent, the olap4j
code base gives them an SPI to help them build drivers. DefaultMdxParserImpl
is part of that SPI, as are the classes in org.olap4j.impl. We will try to
keep the SPI stable as olap4j eveolves but we won't bust a gut over
it.</span></font></p></div>
<div>
<p class="MsoNormal"><font face="Times New Roman" size="3"><span style="font-size: 12pt;"> </span></font></p></div>
<div>
<p class="MsoNormal"><font color="navy" face="Lucida Sans" size="2"><span style="font-family: 'Lucida Sans'; color: navy; font-size: 10pt;">Remember
that different drivers might be talking to different OLAP engines, and
different engines have different dialects of MDX, so naturally the driver
writers might want to create their own parser. They can write a parser from
scratch, or they can start with the default MDX
parser.</span></font></p></div>
<div>
<p class="MsoNormal"><font face="Times New Roman" size="3"><span style="font-size: 12pt;"> </span></font></p></div>
<div>
<div>
<p class="MsoNormal"><font color="navy" face="Lucida Sans" size="2"><span style="font-family: 'Lucida Sans'; color: navy; font-size: 10pt;">If you want
to dismember the olap4j project to get the MDX parser, then go ahead. olap4j
is after all an open source project. But you're on your own. You are in a
small minority of olap4j users, and we don't intend to change the olap4j API
for your benefit.</span></font></p></div>
<div>
<p class="MsoNormal"><font color="navy" face="Lucida Sans" size="2"><span style="font-family: 'Lucida Sans'; color: navy; font-size: 10pt;"> </span></font></p></div>
<div>
<p class="MsoNormal"><font color="navy" face="Lucida Sans" size="2"><span style="font-family: 'Lucida Sans'; color: navy; font-size: 10pt;">It sounds
like </span></font></p></div>
<div>
<p class="MsoNormal"><font color="navy" face="Lucida Sans" size="2"><span style="font-family: 'Lucida Sans'; color: navy; font-size: 10pt;"> </span></font></p></div>
<div>
<p class="MsoNormal"><font color="navy" face="Lucida Sans" size="2"><span style="font-family: 'Lucida Sans'; color: navy; font-size: 10pt;">Julian</span></font></p></div>
<div>
<p class="MsoNormal"><font color="navy" face="Lucida Sans" size="2"><span style="font-family: 'Lucida Sans'; color: navy; font-size: 10pt;"> </span></font></p></div></div>
<blockquote style="border-width: medium medium medium 1.5pt; border-style: none none none solid; border-color: -moz-use-text-color -moz-use-text-color -moz-use-text-color navy; padding: 0in 0in 0in 4pt; margin: 5pt 0in 5pt 3.75pt;">
<p class="MsoNormal"><font face="Times New Roman" size="3"><span style="font-size: 12pt;"> </span></font></p>
<div style="text-align: center;" class="MsoNormal" align="center"><font face="Times New Roman" size="3"><span style="font-size: 12pt;">
<hr align="center" size="2" width="100%">
</span></font></div>
<p style="margin-bottom: 12pt;" class="MsoNormal"><b><font face="Tahoma" size="2"><span style="font-family: Tahoma; font-size: 10pt; font-weight: bold;">From:</span></font></b><font face="Tahoma" size="2"><span style="font-family: Tahoma; font-size: 10pt;"> Luc
Boudreau [mailto:<a href="mailto:lucboudreau@gmail.com" target="_blank">lucboudreau@gmail.com</a>] <br><b><span style="font-weight: bold;">Sent:</span></b> Tuesday, April 06, 2010 3:58
PM<br><b><span style="font-weight: bold;">To:</span></b> Mondrian developer
mailing list<br><b><span style="font-weight: bold;">Cc:</span></b> <a href="mailto:olap4j-devel@lists.sourceforge.net" target="_blank">olap4j-devel@lists.sourceforge.net</a><br><b><span style="font-weight: bold;">Subject:</span></b> Re: [Olap4j-devel]
[Mondrian] Convert Connection to
OlapConnection</span></font></p>
<div>
<div>
<p style="margin-bottom: 12pt;" class="MsoNormal"><font face="Times New Roman" size="3"><span style="font-size: 12pt;"><br>As of olap4j
revision 307 ( <a href="http://olap4j.svn.sourceforge.net/viewvc/olap4j?view=rev&revision=307" target="_blank">http://olap4j.svn.sourceforge.net/viewvc/olap4j?view=rev&revision=307</a>
) the default MDX parser does not depend on OlapConnection. It should not
have been dependent on it in the first place. <br><br>Mondrian developers:
please modify the olap4j connection implementation and remove the now
deprecated call to DefaultMdxParserImpl(OlapConnection). Modifications to
the generic XML/A driver have already been performed.<br><br>This does not
mean that DefaultMdxParserImpl is part of the public API yet. There should
be a default parser factory exposed to developers. In the meanwhile,
developers can directly instantiate it, but be advised that we do not
provide any guarantees on this object's signature and we reserve the right
to modify it in the future. To create a parser, developers can call the
empty constructor.<br><br>A compiled binary which includes those changes
can be picked from the CI server as of now :<br><br><a href="http://ci.pentaho.com/view/Analysis/job/olap4j/258/" target="_blank">http://ci.pentaho.com/view/Analysis/job/olap4j/258/</a><br><br clear="all">_____________________________<br>
Luc
Boudreau<br><br></span></font></p>
<div>
<p class="MsoNormal"><font face="Times New Roman" size="3"><span style="font-size: 12pt;">On Tue, Apr 6, 2010 at 5:38 PM, Luc Boudreau
<<a href="mailto:lucboudreau@gmail.com" target="_blank">lucboudreau@gmail.com</a>>
wrote:</span></font></p>
<p style="margin-bottom: 12pt;" class="MsoNormal"><font face="Times New Roman" size="3"><span style="font-size: 12pt;"><br>This topic was
discussed in olap4j forums.<br><br><a href="http://sourceforge.net/projects/olap4j/forums/forum/577988/topic/3545015" target="_blank">http://sourceforge.net/projects/olap4j/forums/forum/577988/topic/3545015</a><br>
<br>Although
Julian's last comment mentioned that the parser is not officially part of
the public API, I for one would like to make it part of the public API.
There are many use cases for it and your request confirms it.<br><br>I'll
see what I can do to detach the parser from the connection classes.<br><br clear="all">_____________________________<br>Luc
Boudreau<br><br></span></font></p>
<div>
<div>
<div>
<p class="MsoNormal"><font face="Times New Roman" size="3"><span style="font-size: 12pt;">On Tue, Apr 6, 2010 at 5:32 PM, Josh Chappelle
<<a href="mailto:jchappelle@4redi.com" target="_blank">jchappelle@4redi.com</a>>
wrote:</span></font></p></div></div>
<blockquote style="border-width: medium medium medium 1pt; border-style: none none none solid; border-color: -moz-use-text-color -moz-use-text-color -moz-use-text-color rgb(204, 204, 204); padding: 0in 0in 0in 6pt; margin-left: 4.8pt; margin-right: 0in;">
<div>
<div>
<div vlink="purple" link="blue">
<div>
<p class="MsoNormal"><font face="Arial" size="2"><span style="font-family: Arial; font-size: 10pt;">Hi,</span></font></p>
<p class="MsoNormal"><font face="Times New Roman" size="3"><span style="font-size: 12pt;"> </span></font></p>
<p class="MsoNormal"><font face="Arial" size="2"><span style="font-family: Arial; font-size: 10pt;">We have a need to use the
MdxParser component from the Olap4j project. However up until this point
we have not been using olap4j at all. To instantiate a
DefaultMdxParserImpl you have to provide an org.olap4j.OlapConnection
object in the constructor. Our software is using a
mondrian.olap.Connection. Is there a way to convert between these two
connection objects? If not does it mean that we will have to use the
org.olap4j.OlapConnection in order to use the
MdxParser?</span></font></p>
<p class="MsoNormal"><font face="Times New Roman" size="3"><span style="font-size: 12pt;"> </span></font></p>
<p class="MsoNormal"><font face="Arial" size="2"><span style="font-family: Arial; font-size: 10pt;">Thanks,</span></font></p>
<p class="MsoNormal"><font face="Times New Roman" size="3"><span style="font-size: 12pt;"> </span></font></p>
<p class="MsoNormal"><font color="#888888" face="Arial" size="2"><span style="font-family: Arial; color: rgb(136, 136, 136); font-size: 10pt;">Josh
</span></font><font color="#888888"><span style="color: rgb(136, 136, 136);"></span></font></p></div></div>
<p class="MsoNormal"><font face="Times New Roman" size="3"><span style="font-size: 12pt;"> </span></font></p></div></div>
<p style="margin-bottom: 12pt;" class="MsoNormal"><font face="Times New Roman" size="3"><span style="font-size: 12pt;">_______________________________________________<br>Mondrian
mailing list<br><a href="mailto:Mondrian@pentaho.org" target="_blank">Mondrian@pentaho.org</a><br><a href="http://lists.pentaho.org/mailman/listinfo/mondrian" target="_blank">http://lists.pentaho.org/mailman/listinfo/mondrian</a></span></font></p>
</blockquote></div>
<p class="MsoNormal"><font face="Times New Roman" size="3"><span style="font-size: 12pt;"> </span></font></p></div>
<p class="MsoNormal"><font face="Times New Roman" size="3"><span style="font-size: 12pt;"> </span></font></p></div></div></blockquote></div></div>
<p class="MsoNormal"><font face="Times New Roman" size="3"><span style="font-size: 12pt;"> </span></font></p></blockquote></div></div></div></blockquote></div>
<br>------------------------------------------------------------------------------<br>
Download Intel&#174; Parallel Studio Eval<br>
Try the new software tools for yourself. Speed compiling, find bugs<br>
proactively, and fine-tune applications for parallel performance.<br>
See why Intel Parallel Studio got high marks during beta.<br>
<a href="http://p.sf.net/sfu/intel-sw-dev" target="_blank">http://p.sf.net/sfu/intel-sw-dev</a><br>_______________________________________________<br>
olap4j-devel mailing list<br>
<a href="mailto:olap4j-devel@lists.sourceforge.net">olap4j-devel@lists.sourceforge.net</a><br>
<a href="https://lists.sourceforge.net/lists/listinfo/olap4j-devel" target="_blank">https://lists.sourceforge.net/lists/listinfo/olap4j-devel</a><br>
<br></blockquote></div><br>