Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
MONDRIAN: Implement functions <Named Set>.Current, <Named Set>.Curren…
…tOrdinal. Move implementation of InStr function from BuiltinFunTable to Vba.java, and implement another couple of overloadings. Make compiled expressions more typesafe with respect to members vs. tuples. Allow the key functions Order, Generate, Crossjoin to consume iterables as well as lists. This is necessary for named set ordinals to work correctly, but also allows us to handle large dimensions with less memory. [git-p4: depot-paths = "//open/mondrian/": change = 11947]
- Loading branch information
1 parent
324afb8
commit 7e16461
Showing
44 changed files
with
3,642 additions
and
1,238 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,36 @@ | ||
/* | ||
// $Id$ | ||
// This software is subject to the terms of the Common Public License | ||
// Agreement, available at the following URL: | ||
// http://www.opensource.org/licenses/cpl.html. | ||
// Copyright (C) 2008-2008 Julian Hyde | ||
// All Rights Reserved. | ||
// You must accept the terms of that agreement to use this software. | ||
*/ | ||
package mondrian.calc; | ||
|
||
import mondrian.olap.Evaluator; | ||
import mondrian.olap.Member; | ||
import mondrian.olap.type.SetType; | ||
|
||
/** | ||
* Expression which evaluates to an iterator over a set of members. | ||
* | ||
* @author jhyde | ||
* @version $Id$ | ||
* @since Oct 26, 2008 | ||
*/ | ||
public interface MemberIterCalc extends IterCalc { | ||
/** | ||
* Evaluates an expression to yield a member iterator. | ||
* | ||
* @param evaluator Evaluation context | ||
* @return A member iterator, never null. | ||
*/ | ||
Iterable<Member> evaluateMemberIterable(Evaluator evaluator); | ||
|
||
// override Calc.getType with stricter return type | ||
SetType getType(); | ||
} | ||
|
||
// End MemberIterCalc.java |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,37 @@ | ||
/* | ||
// $Id$ | ||
// This software is subject to the terms of the Common Public License | ||
// Agreement, available at the following URL: | ||
// http://www.opensource.org/licenses/cpl.html. | ||
// Copyright (C) 2008-2008 Julian Hyde | ||
// All Rights Reserved. | ||
// You must accept the terms of that agreement to use this software. | ||
*/ | ||
package mondrian.calc; | ||
|
||
import mondrian.olap.Evaluator; | ||
import mondrian.olap.Member; | ||
import mondrian.olap.type.SetType; | ||
|
||
/** | ||
* Expression which evaluates to an iterator over a set of members. | ||
* | ||
* @author jhyde | ||
* @version $Id$ | ||
* @since Oct 26, 2008 | ||
*/ | ||
public interface TupleIterCalc extends IterCalc { | ||
/** | ||
* Evaluates an expression to yield an iterator over tuples (arrays of | ||
* members). | ||
* | ||
* @param evaluator Evaluation context | ||
* @return A tuple iterator, never null. | ||
*/ | ||
Iterable<Member []> evaluateTupleIterable(Evaluator evaluator); | ||
|
||
// override Calc.getType with stricter return type | ||
SetType getType(); | ||
} | ||
|
||
// End TupleIterCalc.java |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.