Re: [Olap4j-devel] Prooposal for replacing the "query" package
Open Java API for OLAP
Brought to you by:
jhyde,
lucboudreau
From: Cesar G. <cga...@ho...> - 2012-02-28 07:51:27
|
Hi Paul I'm glad you liked my proposal. MDX generation is certainly spread over four classes; it's an intentional "divide and conquer" strategy to keep parts as simple as possible. Anyway I had to include an unused QueryHierarchy.toOlap4jDidactic() method to remind myself the logic under QueryHierarchy.toOlap4j(). The current MDX responsabilities are as follow: - QueryAxis: delegates on DrillTree to generate the set expression, adds ordering, non-empty and constructs the final AxisNode - DrillTree: generates the axis set expression; delegates on QuieryHierarchy to generate drilled/expanded hierarchies and joins this hierarchy instances as specifyed by the QueryAxis - QueryHierarchy: generates a drilled/expanded hierarchy expression; navigates the include/exclude tree, using HierarchyExpander to check if certain node is expanded an to generate the expression for totally included subtrees. - HierarchyExpander: keeps information about expanded hierarchies The reason to avoid using MDX in regression testing is that I think the MDX currently generated is not optimal and should be improved. I can include stub MDX tests showing the expected, optimized, MDX. Support for LEVEL inclusions/exclusions in QueryHierarchy, and LEVEL expansion in QueryAxis, are my preferred candidates to smash the current MDX generation logic. So I'm delaying optimizations and refactoring until I get LEVEL operations working. - Cesar Subject: Re: [Olap4j-devel] Prooposal for replacing the "query" package From: p.s...@gm... Date: Mon, 27 Feb 2012 23:08:28 +0100 CC: p.s...@gm...; ola...@li... To: cga...@ho... Hi Cesar, I was reviewing your new query model over the weekend and I think it looks very promising. From what I can see the drilling seems to work nicely, although I still dont understand it completely. The code (e.g. toOlap4j()) to generate the mdx is very wide spread in different classes, compared to the 1 Olap4jNodeConverter we had before. What do you think of putting all these logic back into 1 class?And could you by any chance include mdx into your test code? One thing I'm a bit concerned about is that I still want to be able to do Level-based selections as well as Drill-based, (like jaspersofts new EE tool). At the moment you have removed the level-based code, right?What do you think of having a query model that can do both? I'll continue reviewing your code and as soon as I understand it we can take it to the next level. -Paul On Feb 22, 2012, at 7:21 PM, Cesar Garcia wrote:Hi Paul: I've just commited major changes to github to implement "QueryAxis.expandHierarchy" and "QueryAxis.collapseHierarchy" allowing the user to expand every member of a QueryAxis hierarchy. There are some regression tests explaining the semantics of thouse methods I've also updated my sample app to include this expand/collapse hierarchy functionality: http://blog.desarrolloagil.es/2012/02/version-6-hierarchy-expansion-lets.html Cesar From: cga...@ho... To: p.s...@gm... CC: jh...@pe...; ola...@li... Subject: RE: [Olap4j-devel] Prooposal for replacing the "query" package Date: Tue, 14 Feb 2012 12:25:24 +0100 Pauls I've just committed an initial regression test. It actually connects to an olap4j provider, execute the queries and then checks the positions in the ROWS cellset axis. The MDX is dumpped to console. I've used FailSafe plugin for integration testing. To run the test you have to - change connection settings in the RegressionIT.setUpFixture method to point to your DB server - run "mvn verify" It's implemented as JUnit tests, so you can probably execute/debug them in your favourite IDE Cesar Subject: Re: [Olap4j-devel] Prooposal for replacing the "query" package From: p.s...@gm... Date: Tue, 14 Feb 2012 01:56:30 +0100 CC: p.s...@gm...; jh...@pe...; ola...@li... To: cga...@ho... I just checked out your query model project cesar, and i think you made some very interesting choices and made some changes that I had in mind as well. Unfortunately its hard to understand the query model without the regression tests.It would be great if you could create a few tests (they don't have to actually run yet) that demonstrate the use of the query model and what mdx would be generated with it. And Julian, our idea was to just create a project for the query model... its completely independent from the rest of olap4j anyway. So we're not forking, we're just extracting the query model from the rest of olap4j for now. Cesar put his stuff on here already: https://github.com/cgalesanco/olap4j-query/ -Paul On Feb 13, 2012, at 10:48 PM, Cesar Garcia wrote:I'll continue by implementing missing functionalities and improvements in the model and will wait for Paul to review it. After that we can agree on the final guidelines for the package. I'll need write access to the svn repository in sf.net to create the branch. Cesar Subject: Re: [Olap4j-devel] Prooposal for replacing the "query" package From: p.s...@gm... Date: Mon, 13 Feb 2012 18:21:50 +0100 CC: jh...@pe...; p.s...@gm...; ola...@li... To: cga...@ho... I was just gonna use git as a starting platform.. to make it easier for us to develop on the side until we have something to show.I also prefer git in general, but I'm fine with svn as well... as long as its not perforce!! :) I would suggest to wait until I had time to review your code so we can say we have a general way forward with creating the branch.If you dont want to wait etc. you can go ahead and create the branch. I would also suggest that we talk about a few things first before we start implementing regression tests on a combined query model Again, if you don't wanna wait go ahead and I'll join where I see fit. -Paul On Feb 13, 2012, at 5:47 PM, Cesar Garcia wrote:Paul, I also feel more confortable with svn. I can create the new branch and start to migrate existing unit tests. Cesar > From: jh...@pe... > To: p.s...@gm... > CC: cga...@ho...; ola...@li... > Date: Mon, 13 Feb 2012 10:37:25 -0600 > Subject: Re: [Olap4j-devel] Prooposal for replacing the "query" package > > > On Feb 13, 2012, at 10:39 AM, Paul Stoellberger wrote: > > > Yeah my plan was to revise his model and compare it with my changes. > > > > I would create either a merged version or mine as a separate project on github for convenience reasons until its "stable" enough to discuss porting it back into the olap4j project. > > We can discuss how/if we're going to merge it once thats done. > > I would port the query unit tests back to this new query model and make sure that the same features are available in the new one as well. > > > > I can probably start working on this next week. > > I'll keep you posted once I have news! > > Why github? I suspect we'll never get round to merging from github back to olap4j svn, and that you & Cesar will find yourself making releases from the github version of the project. > > If there's a good reason to fork, I'll support it. If you just need to have a 'less stable' version of olap4j-query, an svn branch insf.net might be better. > > Julian > |