diff --git a/mondrian/src/main/java/mondrian/calc/impl/AbstractExpCompiler.java b/mondrian/src/main/java/mondrian/calc/impl/AbstractExpCompiler.java
index 7c8ebd7543..8d909d34b8 100644
--- a/mondrian/src/main/java/mondrian/calc/impl/AbstractExpCompiler.java
+++ b/mondrian/src/main/java/mondrian/calc/impl/AbstractExpCompiler.java
@@ -186,6 +186,8 @@ public Calc> compileAs(
}
}
final Calc> calc = compile(exp);
+
+
if (substitutions > 0) {
final TupleIteratorCalc tupleIteratorCalc = (TupleIteratorCalc) calc;
if (tupleIteratorCalc == null) {
diff --git a/mondrian/src/main/java/mondrian/calc/impl/AbstractIterCalc.java b/mondrian/src/main/java/mondrian/calc/impl/AbstractIterCalc.java
index 95f24bcd76..1dd4931064 100644
--- a/mondrian/src/main/java/mondrian/calc/impl/AbstractIterCalc.java
+++ b/mondrian/src/main/java/mondrian/calc/impl/AbstractIterCalc.java
@@ -9,7 +9,6 @@
package mondrian.calc.impl;
-import org.eclipse.daanse.olap.api.Evaluator;
import org.eclipse.daanse.olap.api.calc.Calc;
import org.eclipse.daanse.olap.api.calc.ResultStyle;
import org.eclipse.daanse.olap.api.calc.todo.TupleIterable;
@@ -19,30 +18,29 @@
import org.eclipse.daanse.olap.calc.base.AbstractProfilingNestedCalc;
/**
- * Abstract implementation of the {@link org.eclipse.daanse.olap.api.calc.todo.TupleIteratorCalc} interface.
+ * Abstract implementation of the
+ * {@link org.eclipse.daanse.olap.api.calc.todo.TupleIteratorCalc} interface.
*
- *
The derived class must
- * implement the {@link #evaluateIterable(org.eclipse.daanse.olap.api.Evaluator)} method,
- * and the {@link #evaluate(org.eclipse.daanse.olap.api.Evaluator)} method will call it.
+ *
+ * The derived class must implement the
+ * {@link #evaluateIterable(org.eclipse.daanse.olap.api.Evaluator)} method, and
+ * the {@link #evaluate(org.eclipse.daanse.olap.api.Evaluator)} method will call
+ * it.
*
* @see mondrian.calc.impl.AbstractListCalc
*
* @author jhyde
* @since Oct 24, 2008
*/
-public abstract class AbstractIterCalc
-extends AbstractProfilingNestedCalc
-implements TupleIteratorCalc
-{
+public abstract class AbstractIterCalc extends AbstractProfilingNestedCalc implements TupleIteratorCalc {
/**
- * Creates an abstract implementation of a compiled expression which returns
- * a {@link TupleIterable}.
+ * Creates an abstract implementation of a compiled expression which returns a
+ * {@link TupleIterable}.
*
- * @param exp Expression which was compiled
- * @param calcs List of child compiled expressions (for dependency
- * analysis)
+ * @param exp Expression which was compiled
+ * @param calcs List of child compiled expressions (for dependency analysis)
*/
- protected AbstractIterCalc( Type type, Calc>... calcs) {
+ protected AbstractIterCalc(Type type, Calc>... calcs) {
super(type, calcs);
}
@@ -51,11 +49,6 @@ public SetType getType() {
return (SetType) super.getType();
}
- @Override
- public final Object evaluate(Evaluator evaluator) {
- return evaluateIterable(evaluator);
- }
-
@Override
public ResultStyle getResultStyle() {
return ResultStyle.ITERABLE;
diff --git a/mondrian/src/main/java/mondrian/calc/impl/AbstractListCalc.java b/mondrian/src/main/java/mondrian/calc/impl/AbstractListCalc.java
index 36a1276068..52313abef6 100644
--- a/mondrian/src/main/java/mondrian/calc/impl/AbstractListCalc.java
+++ b/mondrian/src/main/java/mondrian/calc/impl/AbstractListCalc.java
@@ -29,30 +29,30 @@
* @author jhyde
* @since Sep 27, 2005
*/
-public abstract class AbstractListCalc
-extends AbstractProfilingNestedCalc
-implements TupleListCalc {
+public abstract class AbstractListCalc extends AbstractProfilingNestedCalc implements TupleListCalc {
private final boolean mutable;
/**
- * Creates an abstract implementation of a compiled expression which returns a mutable list of tuples.
+ * Creates an abstract implementation of a compiled expression which returns a
+ * mutable list of tuples.
*
* @param exp Expression which was compiled
* @param calcs List of child compiled expressions (for dependency analysis)
*/
- protected AbstractListCalc( Type type, Calc... calcs ) {
- this( type, calcs, true );
+ protected AbstractListCalc(Type type, Calc... calcs) {
+ this(type, calcs, true);
}
/**
- * Creates an abstract implementation of a compiled expression which returns a list.
+ * Creates an abstract implementation of a compiled expression which returns a
+ * list.
*
* @param exp Expression which was compiled
* @param calcs List of child compiled expressions (for dependency analysis)
* @param mutable Whether the list is mutable
*/
- protected AbstractListCalc( Type type, Calc[] calcs, boolean mutable ) {
- super( type, calcs );
+ protected AbstractListCalc(Type type, Calc[] calcs, boolean mutable) {
+ super(type, calcs);
this.mutable = mutable;
assert type instanceof SetType : "expecting a set: " + getType();
}
@@ -62,23 +62,9 @@ public SetType getType() {
return (SetType) super.getType();
}
- @Override
- public final Object evaluate( Evaluator evaluator ) {
- final TupleList tupleList = evaluateList( evaluator );
- assert tupleList != null : "null as empty tuple list is deprecated";
- return tupleList;
- }
-
- @Override
- public TupleIterable evaluateIterable( Evaluator evaluator ) {
- return evaluateList( evaluator );
- }
-
@Override
public ResultStyle getResultStyle() {
- return mutable
- ? ResultStyle.MUTABLE_LIST
- : ResultStyle.LIST;
+ return mutable ? ResultStyle.MUTABLE_LIST : ResultStyle.LIST;
}
@Override
diff --git a/mondrian/src/main/java/mondrian/calc/impl/BetterExpCompiler.java b/mondrian/src/main/java/mondrian/calc/impl/BetterExpCompiler.java
index 884b396e86..6d0e7f3cf3 100644
--- a/mondrian/src/main/java/mondrian/calc/impl/BetterExpCompiler.java
+++ b/mondrian/src/main/java/mondrian/calc/impl/BetterExpCompiler.java
@@ -20,7 +20,6 @@
import org.eclipse.daanse.olap.api.calc.MemberCalc;
import org.eclipse.daanse.olap.api.calc.ResultStyle;
import org.eclipse.daanse.olap.api.calc.TupleCalc;
-import org.eclipse.daanse.olap.api.calc.todo.TupleList;
import org.eclipse.daanse.olap.api.calc.todo.TupleListCalc;
import org.eclipse.daanse.olap.api.query.component.Expression;
import org.eclipse.daanse.olap.api.type.MemberType;
@@ -29,6 +28,7 @@
import org.eclipse.daanse.olap.calc.base.type.member.UnknownToMemberCalc;
import org.eclipse.daanse.olap.calc.base.type.tuple.MemberCalcToTupleCalc;
import org.eclipse.daanse.olap.calc.base.type.tuple.UnknownToTupleCalc;
+import org.eclipse.daanse.olap.calc.base.type.tuplelist.CopyOfTupleListCalc;
import mondrian.olap.Util;
@@ -88,26 +88,9 @@ public TupleListCalc compileList(Expression exp, boolean mutable) {
// Wrap the expression in an expression which creates a mutable
// copy.
- //TODO: use org.eclipse.daanse.olap.calc.base.type.tuplelist.CopyOfTupleListCalc
- return new CopyListCalc(tupleListCalc);
+ return new CopyOfTupleListCalc(tupleListCalc);
}
return tupleListCalc;
}
-//TODO: use org.eclipse.daanse.olap.calc.base.type.tuplelist.CopyOfTupleListCalc
-@Deprecated
-private static class CopyListCalc extends AbstractListCalc {
- private final TupleListCalc tupleListCalc;
-
- public CopyListCalc(TupleListCalc tupleListCalc) {
- super( tupleListCalc.getType(), new Calc[] { tupleListCalc });
- this.tupleListCalc = tupleListCalc;
- }
-
- @Override
- public TupleList evaluateList(Evaluator evaluator) {
- final TupleList list = tupleListCalc.evaluateList(evaluator);
- return list.copyList(-1);
- }
- }
}
diff --git a/mondrian/src/main/java/mondrian/calc/impl/GenericIterCalc.java b/mondrian/src/main/java/mondrian/calc/impl/GenericIterCalc.java
deleted file mode 100644
index 5f536d64c2..0000000000
--- a/mondrian/src/main/java/mondrian/calc/impl/GenericIterCalc.java
+++ /dev/null
@@ -1,84 +0,0 @@
-/*
- * This software is subject to the terms of the Eclipse Public License v1.0
- * Agreement, available at the following URL:
- * http://www.eclipse.org/legal/epl-v10.html.
- * You must accept the terms of that agreement to use this software.
- *
- * Copyright (c) 2002-2017 Hitachi Vantara.. All rights reserved.
- */
-
-package mondrian.calc.impl;
-
-import org.eclipse.daanse.olap.api.Evaluator;
-import org.eclipse.daanse.olap.api.calc.Calc;
-import org.eclipse.daanse.olap.api.calc.todo.TupleCursor;
-import org.eclipse.daanse.olap.api.calc.todo.TupleIterable;
-import org.eclipse.daanse.olap.api.calc.todo.TupleIteratorCalc;
-import org.eclipse.daanse.olap.api.calc.todo.TupleList;
-import org.eclipse.daanse.olap.api.calc.todo.TupleListCalc;
-import org.eclipse.daanse.olap.api.type.SetType;
-import org.eclipse.daanse.olap.api.type.Type;
-import org.eclipse.daanse.olap.calc.base.AbstractProfilingNestedCalc;
-
-/**
- * Adapter which computes a set expression and converts it to any list or
- * iterable type.
- *
- * @author jhyde
- * @since Nov 7, 2008
- */
-public abstract class GenericIterCalc
-extends AbstractProfilingNestedCalc
-implements TupleListCalc, TupleIteratorCalc
-{
- /**
- * Creates a GenericIterCalc without specifying child calculated
- * expressions.
- *
- * Subclass should override {@link #getChildCalcs()}.
- *
- * @param exp Source expression
- */
- protected GenericIterCalc( Type type) {
- super( type);
- }
-
- /**
- * Creates an GenericIterCalc.
- *
- * @param exp Source expression
- * @param calcs Child compiled expressions
- */
- protected GenericIterCalc( Type type, Calc[] calcs) {
- super(type, calcs);
- }
-
- @Override
- public SetType getType() {
- return (SetType) super.getType();
- }
-
- @Override
- public TupleList evaluateList(Evaluator evaluator) {
- final Object o = evaluate(evaluator);
- if (o instanceof TupleList tupleList) {
- return tupleList;
- }
- // Iterable
- final TupleIterable iterable = (TupleIterable) o;
- final TupleList tupleList =
- TupleCollections.createList(iterable.getArity());
- final TupleCursor cursor = iterable.tupleCursor();
- while (cursor.forward()) {
- tupleList.addCurrent(cursor);
- }
- return tupleList;
- }
-
- @Override
- public TupleIterable evaluateIterable(Evaluator evaluator) {
- final Object o = evaluate(evaluator);
- return (TupleIterable) o;
- }
-
-}
diff --git a/mondrian/src/main/java/mondrian/calc/impl/IterableListCalc.java b/mondrian/src/main/java/mondrian/calc/impl/IterableListCalc.java
index 26efb16174..a1122fffb5 100644
--- a/mondrian/src/main/java/mondrian/calc/impl/IterableListCalc.java
+++ b/mondrian/src/main/java/mondrian/calc/impl/IterableListCalc.java
@@ -17,14 +17,15 @@
import org.eclipse.daanse.olap.api.calc.todo.TupleList;
/**
- * Adapter that converts a {@link org.eclipse.daanse.olap.api.calc.todo.TupleIteratorCalc} to a
+ * Adapter that converts a
+ * {@link org.eclipse.daanse.olap.api.calc.todo.TupleIteratorCalc} to a
* {@link org.eclipse.daanse.olap.api.calc.todo.TupleListCalc}.
*
* @author jhyde
* @since Oct 23, 2008
*/
public class IterableListCalc extends AbstractListCalc {
- private final TupleIteratorCalc tupleIteratorCalc;
+ private final TupleIteratorCalc> tupleIteratorCalc;
/**
* Creates an IterableListCalc.
@@ -32,15 +33,14 @@ public class IterableListCalc extends AbstractListCalc {
* @param tupleIteratorCalc Calculation that returns an iterable.
*/
public IterableListCalc(TupleIteratorCalc tupleIteratorCalc) {
- super(tupleIteratorCalc.getType(), new Calc[] {tupleIteratorCalc});
+ super(tupleIteratorCalc.getType(), new Calc[] { tupleIteratorCalc });
this.tupleIteratorCalc = tupleIteratorCalc;
}
@Override
- public TupleList evaluateList(Evaluator evaluator) {
+ public TupleList evaluate(Evaluator evaluator) {
// A TupleIterCalc is allowed to return a list. If so, save the copy.
- final TupleIterable iterable =
- tupleIteratorCalc.evaluateIterable(evaluator);
+ final TupleIterable iterable = tupleIteratorCalc.evaluate(evaluator);
if (iterable instanceof TupleList tupleList) {
return tupleList;
}
diff --git a/mondrian/src/main/java/mondrian/olap/ParameterImpl.java b/mondrian/src/main/java/mondrian/olap/ParameterImpl.java
index 1a9377940d..9a68fd3844 100644
--- a/mondrian/src/main/java/mondrian/olap/ParameterImpl.java
+++ b/mondrian/src/main/java/mondrian/olap/ParameterImpl.java
@@ -326,7 +326,7 @@ public MemberListParameterCalc(ParameterSlot slot) {
}
@Override
- public TupleList evaluateList(Evaluator evaluator) {
+ public TupleList evaluate(Evaluator evaluator) {
TupleList value = (TupleList) evaluator.getParameterValue(slot);
if (!slot.isParameterSet()) {
// save value if not set (setting the default value)
diff --git a/mondrian/src/main/java/mondrian/rolap/RolapDependencyTestingEvaluator.java b/mondrian/src/main/java/mondrian/rolap/RolapDependencyTestingEvaluator.java
index 3c6e330a1e..17267c522a 100644
--- a/mondrian/src/main/java/mondrian/rolap/RolapDependencyTestingEvaluator.java
+++ b/mondrian/src/main/java/mondrian/rolap/RolapDependencyTestingEvaluator.java
@@ -20,6 +20,8 @@
import org.eclipse.daanse.olap.api.calc.Calc;
import org.eclipse.daanse.olap.api.calc.ResultStyle;
import org.eclipse.daanse.olap.api.calc.compiler.ExpressionCompiler;
+import org.eclipse.daanse.olap.api.calc.todo.TupleCursor;
+import org.eclipse.daanse.olap.api.calc.todo.TupleIterable;
import org.eclipse.daanse.olap.api.calc.todo.TupleList;
import org.eclipse.daanse.olap.api.CatalogReader;
import org.eclipse.daanse.olap.api.element.Hierarchy;
@@ -27,10 +29,11 @@
import org.eclipse.daanse.olap.api.element.Member;
import org.eclipse.daanse.olap.api.query.component.Expression;
import org.eclipse.daanse.olap.api.type.SetType;
+import org.eclipse.daanse.olap.calc.base.nested.AbstractProfilingNestedTupleIterableCalc;
+import org.eclipse.daanse.olap.calc.base.nested.AbstractProfilingNestedTupleListCalc;
import org.eclipse.daanse.olap.calc.base.nested.AbstractProfilingNestedUnknownCalc;
import mondrian.calc.impl.DelegatingExpCompiler;
-import mondrian.calc.impl.GenericIterCalc;
import mondrian.calc.impl.TupleCollections;
import mondrian.olap.Util;
@@ -343,7 +346,7 @@ public ResultStyle getResultStyle() {
* Expression which checks dependencies and list immutability of an
* underlying list or iterable expression.
*/
- private static class DteIterCalcImpl extends GenericIterCalc {
+ private static class DteIterCalcImpl extends AbstractProfilingNestedTupleIterableCalc {
private final Calc calc;
private final Hierarchy[] independentHierarchies;
private final boolean mutableList;
@@ -368,15 +371,65 @@ public Calc[] getChildCalcs() {
}
@Override
- public Object evaluate(Evaluator evaluator) {
+ public TupleIterable evaluate(Evaluator evaluator) {
RolapDependencyTestingEvaluator dtEval =
(RolapDependencyTestingEvaluator) evaluator;
- return dtEval.evaluate(calc, independentHierarchies, mdxString);
+ return (TupleIterable) dtEval.evaluate(calc, independentHierarchies, mdxString);
+ }
+
+ @Override
+ public ResultStyle getResultStyle() {
+ return calc.getResultStyle();
+ }
+ }
+
+
+ /**
+ * Expression which checks dependencies and list immutability of an
+ * underlying list or iterable expression.
+ */
+ private static class DteListCalcImpl extends AbstractProfilingNestedTupleListCalc {
+ private final Calc calc;
+ private final Hierarchy[] independentHierarchies;
+ private final boolean mutableList;
+ private final String mdxString;
+
+ DteListCalcImpl(
+ Calc calc,
+ Hierarchy[] independentHierarchies,
+ boolean mutableList,
+ String mdxString)
+ {
+ super(calc.getType());
+ this.calc = calc;
+ this.independentHierarchies = independentHierarchies;
+ this.mutableList = mutableList;
+ this.mdxString = mdxString;
+ }
+
+ @Override
+ public Calc[] getChildCalcs() {
+ return new Calc[] {calc};
}
+
+
@Override
- public TupleList evaluateList(Evaluator evaluator) {
- TupleList list = super.evaluateList(evaluator);
+ public TupleList evaluate(Evaluator evaluator) {
+ RolapDependencyTestingEvaluator dtEval = (RolapDependencyTestingEvaluator) evaluator;
+ Object o = dtEval.evaluate(calc, independentHierarchies, mdxString);
+
+ if (o instanceof TupleList tupleList) {
+ return tupleList;
+ }
+ // from GenericIterCalc may cause issues
+ final TupleIterable iterable = (TupleIterable) o;
+ final TupleList tupleList = TupleCollections.createList(iterable.getArity());
+ final TupleCursor cursor = iterable.tupleCursor();
+ while (cursor.forward()) {
+ tupleList.addCurrent(cursor);
+ }
+ TupleList list = evaluate(evaluator);
if (!mutableList) {
list = TupleCollections.unmodifiableList(list);
}
@@ -384,11 +437,10 @@ public TupleList evaluateList(Evaluator evaluator) {
}
@Override
- public ResultStyle getResultStyle() {
+ public ResultStyle getResultStyle() {
return calc.getResultStyle();
}
}
-
/**
* Expression compiler which introduces dependency testing.
*
diff --git a/mondrian/src/main/java/mondrian/rolap/RolapHierarchy.java b/mondrian/src/main/java/mondrian/rolap/RolapHierarchy.java
index ef8978931e..0c7a1cac9b 100644
--- a/mondrian/src/main/java/mondrian/rolap/RolapHierarchy.java
+++ b/mondrian/src/main/java/mondrian/rolap/RolapHierarchy.java
@@ -989,7 +989,7 @@ MemberReader createMemberReader(Role role) {
setType, new Calc[0])
{
@Override
- public TupleList evaluateList(
+ public TupleList evaluate(
Evaluator evaluator)
{
return
diff --git a/mondrian/src/main/java/mondrian/rolap/RolapResult.java b/mondrian/src/main/java/mondrian/rolap/RolapResult.java
index 02e3021cdd..8f321a12db 100644
--- a/mondrian/src/main/java/mondrian/rolap/RolapResult.java
+++ b/mondrian/src/main/java/mondrian/rolap/RolapResult.java
@@ -305,7 +305,7 @@ public class RolapResult extends ResultBase {
setType, new Calc[0])
{
@Override
- public TupleList evaluateList(
+ public TupleList evaluate(
Evaluator evaluator)
{
ArrayList children = new ArrayList<>();
@@ -355,7 +355,7 @@ public void unparse(Expression[] args, PrintWriter pw) {
new Expression[0],
returnType);
- final TupleIterable iterable = ( (TupleIteratorCalc) calc ).evaluateIterable( evaluator );
+ final TupleIterable iterable = ( (TupleIteratorCalc>) calc ).evaluate( evaluator );
TupleCursor cursor;
if ( iterable instanceof TupleList list ) {
cursor = list.tupleCursor();
@@ -1068,7 +1068,7 @@ private TupleIterable executeAxis( Evaluator evaluator, QueryAxis queryAxis, Cal
try {
evaluator.setNonEmpty( queryAxis.isNonEmpty() );
evaluator.setEvalAxes( true );
- final TupleIterable iterable = ( (TupleIteratorCalc) axisCalc ).evaluateIterable( evaluator );
+ final TupleIterable iterable = ( (TupleIteratorCalc>) axisCalc ).evaluate( evaluator );
if ( axisCalc.getClass().getName().indexOf( "OrderFunDef" ) != -1 ) {
queryAxis.setOrdered( true );
}
diff --git a/mondrian/src/main/java/mondrian/rolap/sql/CrossJoinArgFactory.java b/mondrian/src/main/java/mondrian/rolap/sql/CrossJoinArgFactory.java
index fe3fd05331..6e9a4391bc 100644
--- a/mondrian/src/main/java/mondrian/rolap/sql/CrossJoinArgFactory.java
+++ b/mondrian/src/main/java/mondrian/rolap/sql/CrossJoinArgFactory.java
@@ -962,7 +962,7 @@ private CrossJoinArg[] expandNonNative(
&& evaluator.getActiveNativeExpansions().add(exp))
{
TupleListCalc listCalc0 = compiler.compileList(exp);
- final TupleList tupleList = listCalc0.evaluateList(evaluator);
+ final TupleList tupleList = listCalc0.evaluate(evaluator);
// Prevent the case when the second argument size is too large
Util.checkCJResultLimit(tupleList.size());
diff --git a/mondrian/src/main/java/org/eclipse/daanse/olap/calc/base/nested/AbstractProfilingNestedTupleListCalc.java b/mondrian/src/main/java/org/eclipse/daanse/olap/calc/base/nested/AbstractProfilingNestedTupleListCalc.java
index c85938ec81..4b8bbe8a52 100644
--- a/mondrian/src/main/java/org/eclipse/daanse/olap/calc/base/nested/AbstractProfilingNestedTupleListCalc.java
+++ b/mondrian/src/main/java/org/eclipse/daanse/olap/calc/base/nested/AbstractProfilingNestedTupleListCalc.java
@@ -15,8 +15,8 @@
import org.eclipse.daanse.olap.api.calc.Calc;
import org.eclipse.daanse.olap.api.calc.ResultStyle;
-import org.eclipse.daanse.olap.api.calc.TupleListCalc;
import org.eclipse.daanse.olap.api.calc.todo.TupleList;
+import org.eclipse.daanse.olap.api.calc.todo.TupleListCalc;
import org.eclipse.daanse.olap.api.type.SetType;
import org.eclipse.daanse.olap.api.type.Type;
import org.eclipse.daanse.olap.calc.base.AbstractProfilingNestedCalc;
diff --git a/mondrian/src/main/java/org/eclipse/daanse/olap/calc/base/type/tuplelist/CopyOfTupleListCalc.java b/mondrian/src/main/java/org/eclipse/daanse/olap/calc/base/type/tuplelist/CopyOfTupleListCalc.java
index d97451278c..18acda3547 100644
--- a/mondrian/src/main/java/org/eclipse/daanse/olap/calc/base/type/tuplelist/CopyOfTupleListCalc.java
+++ b/mondrian/src/main/java/org/eclipse/daanse/olap/calc/base/type/tuplelist/CopyOfTupleListCalc.java
@@ -15,8 +15,8 @@
package org.eclipse.daanse.olap.calc.base.type.tuplelist;
import org.eclipse.daanse.olap.api.Evaluator;
-import org.eclipse.daanse.olap.api.calc.TupleListCalc;
import org.eclipse.daanse.olap.api.calc.todo.TupleList;
+import org.eclipse.daanse.olap.api.calc.todo.TupleListCalc;
import org.eclipse.daanse.olap.calc.base.nested.AbstractProfilingNestedTupleListCalc;
public class CopyOfTupleListCalc extends AbstractProfilingNestedTupleListCalc {
diff --git a/mondrian/src/main/java/org/eclipse/daanse/olap/function/def/aggregate/AbstractAggregateFunDef.java b/mondrian/src/main/java/org/eclipse/daanse/olap/function/def/aggregate/AbstractAggregateFunDef.java
index 822afc0928..a0eecad94f 100644
--- a/mondrian/src/main/java/org/eclipse/daanse/olap/function/def/aggregate/AbstractAggregateFunDef.java
+++ b/mondrian/src/main/java/org/eclipse/daanse/olap/function/def/aggregate/AbstractAggregateFunDef.java
@@ -99,7 +99,7 @@ public static TupleList evaluateCurrentList(
TupleList tuples;
try {
evaluator.setNonEmpty(false);
- tuples = tupleListCalc.evaluateList(evaluator);
+ tuples = tupleListCalc.evaluate(evaluator);
} finally {
evaluator.restore(savepoint);
}
@@ -115,7 +115,7 @@ public static TupleList evaluateCurrentList(
}
protected TupleIterable evaluateCurrentIterable(
- TupleIteratorCalc tupleIteratorCalc,
+ TupleIteratorCalc> tupleIteratorCalc,
Evaluator evaluator)
{
final int savepoint = evaluator.savepoint();
@@ -123,7 +123,7 @@ protected TupleIterable evaluateCurrentIterable(
TupleIterable iterable;
try {
evaluator.setNonEmpty(false);
- iterable = tupleIteratorCalc.evaluateIterable(evaluator);
+ iterable = tupleIteratorCalc.evaluate(evaluator);
} finally {
evaluator.restore(savepoint);
}
diff --git a/mondrian/src/main/java/org/eclipse/daanse/olap/function/def/aggregate/count/CountCalc.java b/mondrian/src/main/java/org/eclipse/daanse/olap/function/def/aggregate/count/CountCalc.java
index b6ad5bef32..00d80e0f63 100644
--- a/mondrian/src/main/java/org/eclipse/daanse/olap/function/def/aggregate/count/CountCalc.java
+++ b/mondrian/src/main/java/org/eclipse/daanse/olap/function/def/aggregate/count/CountCalc.java
@@ -29,7 +29,7 @@ protected CountCalc(Type type, final TupleListCalc tupleListCalc) {
@Override
public Integer evaluate(Evaluator evaluator) {
- TupleList list = getChildCalc(0, TupleListCalc.class).evaluateList(evaluator);
+ TupleList list = getChildCalc(0, TupleListCalc.class).evaluate(evaluator);
return FunUtil.count(evaluator, list, true);
}
diff --git a/mondrian/src/main/java/org/eclipse/daanse/olap/function/def/as/AsAliasCalc.java b/mondrian/src/main/java/org/eclipse/daanse/olap/function/def/as/AsAliasCalc.java
index d6b5161c99..822b8c401b 100644
--- a/mondrian/src/main/java/org/eclipse/daanse/olap/function/def/as/AsAliasCalc.java
+++ b/mondrian/src/main/java/org/eclipse/daanse/olap/function/def/as/AsAliasCalc.java
@@ -41,7 +41,7 @@ public AsAliasCalc(Type type, ScopedNamedSet scopedNamedSet) {
}
@Override
- public TupleIterable evaluateIterable(Evaluator evaluator) {
+ public TupleIterable evaluate(Evaluator evaluator) {
Evaluator.NamedSetEvaluator namedSetEvaluator = evaluator.getNamedSetEvaluator(scopedNamedSet, false);
return namedSetEvaluator.evaluateTupleIterable(evaluator);
}
diff --git a/mondrian/src/main/java/org/eclipse/daanse/olap/function/def/cache/CacheFunDef.java b/mondrian/src/main/java/org/eclipse/daanse/olap/function/def/cache/CacheFunDef.java
index 0d30b75e7e..919eeaacdd 100644
--- a/mondrian/src/main/java/org/eclipse/daanse/olap/function/def/cache/CacheFunDef.java
+++ b/mondrian/src/main/java/org/eclipse/daanse/olap/function/def/cache/CacheFunDef.java
@@ -49,7 +49,7 @@ public Calc> compileCall(ResolvedFunCall call, ExpressionCompiler compiler) {
final Expression exp = call.getArg(0);
final ExpCacheDescriptor cacheDescriptor = new ExpCacheDescriptorImpl(exp, compiler);
if (call.getType() instanceof SetType) {
- return new CacheGenericIterCalc(call.getType(), cacheDescriptor);
+ return new CacheGenericListCalc(call.getType(), cacheDescriptor);
} else {
return new CacheGenericCalc(call.getType(), cacheDescriptor);
}
diff --git a/mondrian/src/main/java/org/eclipse/daanse/olap/function/def/cache/CacheGenericIterCalc.java b/mondrian/src/main/java/org/eclipse/daanse/olap/function/def/cache/CacheGenericIterCalc.java
deleted file mode 100644
index 8fb5d82a18..0000000000
--- a/mondrian/src/main/java/org/eclipse/daanse/olap/function/def/cache/CacheGenericIterCalc.java
+++ /dev/null
@@ -1,47 +0,0 @@
-/*
-* Copyright (c) 2024 Contributors to the Eclipse Foundation.
-*
-* This program and the accompanying materials are made
-* available under the terms of the Eclipse Public License 2.0
-* which is available at https://www.eclipse.org/legal/epl-2.0/
-*
-* SPDX-License-Identifier: EPL-2.0
-*
-* Contributors:
-* SmartCity Jena - initial
-* Stefan Bischof (bipolis.org) - initial
-*/
-package org.eclipse.daanse.olap.function.def.cache;
-
-import org.eclipse.daanse.olap.api.Evaluator;
-import org.eclipse.daanse.olap.api.ExpCacheDescriptor;
-import org.eclipse.daanse.olap.api.calc.Calc;
-import org.eclipse.daanse.olap.api.calc.ResultStyle;
-import org.eclipse.daanse.olap.api.type.Type;
-
-import mondrian.calc.impl.GenericIterCalc;
-
-public class CacheGenericIterCalc extends GenericIterCalc {
- private final ExpCacheDescriptor cacheDescriptor;
-
- protected CacheGenericIterCalc(Type type, ExpCacheDescriptor cacheDescriptor) {
- super(type);
- this.cacheDescriptor = cacheDescriptor;
- }
-
- @Override
- public Object evaluate(Evaluator evaluator) {
- return evaluator.getCachedResult(cacheDescriptor);
- }
-
- @Override
- public Calc>[] getChildCalcs() {
- return new Calc[] {cacheDescriptor.getCalc()};
- }
-
- @Override
- public ResultStyle getResultStyle() {
- // cached lists are immutable
- return ResultStyle.LIST;
- }
-}
diff --git a/mondrian/src/main/java/org/eclipse/daanse/olap/function/def/cache/CacheGenericListCalc.java b/mondrian/src/main/java/org/eclipse/daanse/olap/function/def/cache/CacheGenericListCalc.java
new file mode 100644
index 0000000000..d4a88e14a1
--- /dev/null
+++ b/mondrian/src/main/java/org/eclipse/daanse/olap/function/def/cache/CacheGenericListCalc.java
@@ -0,0 +1,62 @@
+/*
+* Copyright (c) 2024 Contributors to the Eclipse Foundation.
+*
+* This program and the accompanying materials are made
+* available under the terms of the Eclipse Public License 2.0
+* which is available at https://www.eclipse.org/legal/epl-2.0/
+*
+* SPDX-License-Identifier: EPL-2.0
+*
+* Contributors:
+* SmartCity Jena - initial
+* Stefan Bischof (bipolis.org) - initial
+*/
+package org.eclipse.daanse.olap.function.def.cache;
+
+import org.eclipse.daanse.olap.api.Evaluator;
+import org.eclipse.daanse.olap.api.ExpCacheDescriptor;
+import org.eclipse.daanse.olap.api.calc.Calc;
+import org.eclipse.daanse.olap.api.calc.ResultStyle;
+import org.eclipse.daanse.olap.api.calc.todo.TupleCursor;
+import org.eclipse.daanse.olap.api.calc.todo.TupleIterable;
+import org.eclipse.daanse.olap.api.calc.todo.TupleList;
+import org.eclipse.daanse.olap.api.type.Type;
+import org.eclipse.daanse.olap.calc.base.nested.AbstractProfilingNestedTupleListCalc;
+
+import mondrian.calc.impl.TupleCollections;
+
+public class CacheGenericListCalc extends AbstractProfilingNestedTupleListCalc {
+ private final ExpCacheDescriptor cacheDescriptor;
+
+ protected CacheGenericListCalc(Type type, ExpCacheDescriptor cacheDescriptor) {
+ super(type);
+ this.cacheDescriptor = cacheDescriptor;
+ }
+
+ @Override
+ public TupleList evaluate(Evaluator evaluator) {
+ final Object o = evaluator.getCachedResult(cacheDescriptor);
+ if (o instanceof TupleList tupleList) {
+ return tupleList;
+ }
+ // Iterable
+ final TupleIterable iterable = (TupleIterable) o;
+ final TupleList tupleList = TupleCollections.createList(iterable.getArity());
+ final TupleCursor cursor = iterable.tupleCursor();
+ while (cursor.forward()) {
+ tupleList.addCurrent(cursor);
+ }
+ return tupleList;
+ }
+
+ @Override
+ public Calc>[] getChildCalcs() {
+ return new Calc[] { cacheDescriptor.getCalc() };
+ }
+
+ @Override
+ public ResultStyle getResultStyle() {
+ // cached lists are immutable
+ return ResultStyle.LIST;
+ }
+}
diff --git a/mondrian/src/main/java/org/eclipse/daanse/olap/function/def/count/CountCalc.java b/mondrian/src/main/java/org/eclipse/daanse/olap/function/def/count/CountCalc.java
index e2aaed3ab2..91562bfe50 100644
--- a/mondrian/src/main/java/org/eclipse/daanse/olap/function/def/count/CountCalc.java
+++ b/mondrian/src/main/java/org/eclipse/daanse/olap/function/def/count/CountCalc.java
@@ -77,13 +77,13 @@ public boolean dependsOn(Hierarchy hierarchy) {
return !calc.getType().usesHierarchy(hierarchy, true);
}
- private TupleIterable evaluateCurrentIterable(TupleIteratorCalc tupleIteratorCalc, Evaluator evaluator) {
+ private TupleIterable evaluateCurrentIterable(TupleIteratorCalc> tupleIteratorCalc, Evaluator evaluator) {
final int savepoint = evaluator.savepoint();
int currLen = 0;
TupleIterable iterable;
try {
evaluator.setNonEmpty(false);
- iterable = tupleIteratorCalc.evaluateIterable(evaluator);
+ iterable = tupleIteratorCalc.evaluate(evaluator);
} finally {
evaluator.restore(savepoint);
}
diff --git a/mondrian/src/main/java/org/eclipse/daanse/olap/function/def/covariance/CovarianceCalc.java b/mondrian/src/main/java/org/eclipse/daanse/olap/function/def/covariance/CovarianceCalc.java
index 10e3edfd0b..3b5d4c394a 100644
--- a/mondrian/src/main/java/org/eclipse/daanse/olap/function/def/covariance/CovarianceCalc.java
+++ b/mondrian/src/main/java/org/eclipse/daanse/olap/function/def/covariance/CovarianceCalc.java
@@ -35,7 +35,7 @@ protected CovarianceCalc(Type type, final TupleListCalc tupleListCalc, final Cal
@Override
public Double evaluate(Evaluator evaluator) {
- TupleList memberList = getChildCalc(0, TupleListCalc.class).evaluateList(evaluator);
+ TupleList memberList = getChildCalc(0, TupleListCalc.class).evaluate(evaluator);
final int savepoint = evaluator.savepoint();
try {
evaluator.setNonEmpty(false);
diff --git a/mondrian/src/main/java/org/eclipse/daanse/olap/function/def/crossjoin/BaseListCalc.java b/mondrian/src/main/java/org/eclipse/daanse/olap/function/def/crossjoin/BaseListCalc.java
index cb0f25c84c..199caed459 100644
--- a/mondrian/src/main/java/org/eclipse/daanse/olap/function/def/crossjoin/BaseListCalc.java
+++ b/mondrian/src/main/java/org/eclipse/daanse/olap/function/def/crossjoin/BaseListCalc.java
@@ -37,7 +37,7 @@ protected BaseListCalc( ResolvedFunCall call, Calc[] calcs, boolean mutable, int
}
@Override
- public TupleList evaluateList( Evaluator evaluator ) {
+ public TupleList evaluate( Evaluator evaluator ) {
// Use a native evaluator, if more efficient.
// TODO: Figure this out at compile time.
CatalogReader schemaReader = evaluator.getCatalogReader();
@@ -51,10 +51,10 @@ public TupleList evaluateList( Evaluator evaluator ) {
TupleListCalc listCalc1 = (TupleListCalc) calcs[0];
TupleListCalc listCalc2 = (TupleListCalc) calcs[1];
- TupleList l1 = listCalc1.evaluateList( evaluator );
+ TupleList l1 = listCalc1.evaluate( evaluator );
// check if size of first list already exceeds limit
Util.checkCJResultLimit( l1.size() );
- TupleList l2 = listCalc2.evaluateList( evaluator );
+ TupleList l2 = listCalc2.evaluate( evaluator );
// check if size of second list already exceeds limit
Util.checkCJResultLimit( l2.size() );
// check crossjoin
diff --git a/mondrian/src/main/java/org/eclipse/daanse/olap/function/def/crossjoin/CrossJoinIterCalc.java b/mondrian/src/main/java/org/eclipse/daanse/olap/function/def/crossjoin/CrossJoinIterCalc.java
index 2765e01c9f..a65c47cece 100644
--- a/mondrian/src/main/java/org/eclipse/daanse/olap/function/def/crossjoin/CrossJoinIterCalc.java
+++ b/mondrian/src/main/java/org/eclipse/daanse/olap/function/def/crossjoin/CrossJoinIterCalc.java
@@ -45,7 +45,7 @@ public CrossJoinIterCalc( ResolvedFunCall call, Calc[] calcs, int ctag ) {
}
@Override
- public TupleIterable evaluateIterable( Evaluator evaluator ) {
+ public TupleIterable evaluate( Evaluator evaluator ) {
// Use a native evaluator, if more efficient.
// TODO: Figure this out at compile time.
@@ -57,10 +57,10 @@ public TupleIterable evaluateIterable( Evaluator evaluator ) {
}
Calc[] calcs = getChildCalcs();
- TupleIteratorCalc calc1 = (TupleIteratorCalc) calcs[0];
- TupleIteratorCalc calc2 = (TupleIteratorCalc) calcs[1];
+ TupleIteratorCalc> calc1 = (TupleIteratorCalc) calcs[0];
+ TupleIteratorCalc> calc2 = (TupleIteratorCalc) calcs[1];
- TupleIterable o1 = calc1.evaluateIterable( evaluator );
+ TupleIterable o1 = calc1.evaluate( evaluator );
if ( o1 instanceof TupleList l1 ) {
l1 = CrossJoinFunDef.nonEmptyOptimizeList( evaluator, l1, call, ctag );
if ( l1.isEmpty() ) {
@@ -69,7 +69,7 @@ public TupleIterable evaluateIterable( Evaluator evaluator ) {
o1 = l1;
}
- TupleIterable o2 = calc2.evaluateIterable( evaluator );
+ TupleIterable o2 = calc2.evaluate( evaluator );
if ( o2 instanceof TupleList l2 ) {
l2 = CrossJoinFunDef.nonEmptyOptimizeList( evaluator, l2, call, ctag );
if ( l2.isEmpty() ) {
diff --git a/mondrian/src/main/java/org/eclipse/daanse/olap/function/def/descendants/DescendantsByDepthCalc.java b/mondrian/src/main/java/org/eclipse/daanse/olap/function/def/descendants/DescendantsByDepthCalc.java
index e35646c37d..4d191fb321 100644
--- a/mondrian/src/main/java/org/eclipse/daanse/olap/function/def/descendants/DescendantsByDepthCalc.java
+++ b/mondrian/src/main/java/org/eclipse/daanse/olap/function/def/descendants/DescendantsByDepthCalc.java
@@ -38,7 +38,7 @@ public DescendantsByDepthCalc(Type type, MemberCalc memberCalc, IntegerCalc dept
}
@Override
- public TupleList evaluateList(Evaluator evaluator) {
+ public TupleList evaluate(Evaluator evaluator) {
final MemberCalc memberCalc = getChildCalc(0, MemberCalc.class);
final IntegerCalc depthCalc = getChildCalc(1, IntegerCalc.class);
final Member member = memberCalc.evaluate(evaluator);
diff --git a/mondrian/src/main/java/org/eclipse/daanse/olap/function/def/descendants/DescendantsCalc.java b/mondrian/src/main/java/org/eclipse/daanse/olap/function/def/descendants/DescendantsCalc.java
index 5aa8881e99..790ecf1fce 100644
--- a/mondrian/src/main/java/org/eclipse/daanse/olap/function/def/descendants/DescendantsCalc.java
+++ b/mondrian/src/main/java/org/eclipse/daanse/olap/function/def/descendants/DescendantsCalc.java
@@ -40,7 +40,7 @@ public DescendantsCalc(Type type, MemberCalc memberCalc, LevelCalc levelCalc, fi
}
@Override
- public TupleList evaluateList( Evaluator evaluator ) {
+ public TupleList evaluate( Evaluator evaluator ) {
MemberCalc memberCalc = getChildCalc(0, MemberCalc.class);
LevelCalc levelCalc = getChildCalc(1, LevelCalc.class);
final Evaluator context =
diff --git a/mondrian/src/main/java/org/eclipse/daanse/olap/function/def/descendants/DescendantsLeavesByDepthCalc.java b/mondrian/src/main/java/org/eclipse/daanse/olap/function/def/descendants/DescendantsLeavesByDepthCalc.java
index aa224019f4..41073f876b 100644
--- a/mondrian/src/main/java/org/eclipse/daanse/olap/function/def/descendants/DescendantsLeavesByDepthCalc.java
+++ b/mondrian/src/main/java/org/eclipse/daanse/olap/function/def/descendants/DescendantsLeavesByDepthCalc.java
@@ -36,7 +36,7 @@ public DescendantsLeavesByDepthCalc(Type type, MemberCalc memberCalc, IntegerCal
}
@Override
- public TupleList evaluateList(Evaluator evaluator) {
+ public TupleList evaluate(Evaluator evaluator) {
IntegerCalc depthCalc = getChildCalc(1, IntegerCalc.class);
final Member member = getChildCalc(0, MemberCalc.class).evaluate(evaluator);
List result = new ArrayList<>();
diff --git a/mondrian/src/main/java/org/eclipse/daanse/olap/function/def/drilldownlevel/DrilldownLevelCalc.java b/mondrian/src/main/java/org/eclipse/daanse/olap/function/def/drilldownlevel/DrilldownLevelCalc.java
index fc8489661f..3c8ec70c43 100644
--- a/mondrian/src/main/java/org/eclipse/daanse/olap/function/def/drilldownlevel/DrilldownLevelCalc.java
+++ b/mondrian/src/main/java/org/eclipse/daanse/olap/function/def/drilldownlevel/DrilldownLevelCalc.java
@@ -40,10 +40,10 @@ public DrilldownLevelCalc(Type type, TupleListCalc tupleListCalc, LevelCalc leve
}
@Override
- public TupleList evaluateList(Evaluator evaluator) {
+ public TupleList evaluate(Evaluator evaluator) {
TupleListCalc tupleListCalc = getChildCalc(0, TupleListCalc.class);
LevelCalc levelCalc = getChildCalc(1, LevelCalc.class);
- TupleList list = tupleListCalc.evaluateList(evaluator);
+ TupleList list = tupleListCalc.evaluate(evaluator);
if (list.isEmpty()) {
return list;
}
diff --git a/mondrian/src/main/java/org/eclipse/daanse/olap/function/def/drilldownlevel/DrilldownLevelWithIndexCalc.java b/mondrian/src/main/java/org/eclipse/daanse/olap/function/def/drilldownlevel/DrilldownLevelWithIndexCalc.java
index 73c940a0ca..0f0cd0900b 100644
--- a/mondrian/src/main/java/org/eclipse/daanse/olap/function/def/drilldownlevel/DrilldownLevelWithIndexCalc.java
+++ b/mondrian/src/main/java/org/eclipse/daanse/olap/function/def/drilldownlevel/DrilldownLevelWithIndexCalc.java
@@ -40,10 +40,10 @@ public DrilldownLevelWithIndexCalc(Type type, TupleListCalc tupleListCalc, Integ
}
@Override
- public TupleList evaluateList(Evaluator evaluator) {
+ public TupleList evaluate(Evaluator evaluator) {
TupleListCalc tupleListCalc = getChildCalc(0, TupleListCalc.class);
IntegerCalc indexCalc = getChildCalc(1, IntegerCalc.class);
- TupleList list = tupleListCalc.evaluateList(evaluator);
+ TupleList list = tupleListCalc.evaluate(evaluator);
if (list.isEmpty()) {
return list;
}
diff --git a/mondrian/src/main/java/org/eclipse/daanse/olap/function/def/drilldownleveltopbottom/DrilldownLevelTopBottomCalc.java b/mondrian/src/main/java/org/eclipse/daanse/olap/function/def/drilldownleveltopbottom/DrilldownLevelTopBottomCalc.java
index 568b131cef..81a3b28fba 100644
--- a/mondrian/src/main/java/org/eclipse/daanse/olap/function/def/drilldownleveltopbottom/DrilldownLevelTopBottomCalc.java
+++ b/mondrian/src/main/java/org/eclipse/daanse/olap/function/def/drilldownleveltopbottom/DrilldownLevelTopBottomCalc.java
@@ -56,7 +56,7 @@ public DrilldownLevelTopBottomCalc(final Type type, final TupleListCalc tupleLis
}
@Override
- public TupleList evaluateList(Evaluator evaluator) {
+ public TupleList evaluate(Evaluator evaluator) {
// Use a native evaluator, if more efficient.
// TODO: Figure this out at compile time.
TupleListCalc tupleListCalc = getChildCalc(0, TupleListCalc.class);
@@ -69,7 +69,7 @@ public TupleList evaluateList(Evaluator evaluator) {
return (TupleList) nativeEvaluator.execute(ResultStyle.LIST);
}
- TupleList list = tupleListCalc.evaluateList(evaluator);
+ TupleList list = tupleListCalc.evaluate(evaluator);
Integer n = integerCalc.evaluate(evaluator);
if (n == null || n <= 0) {
return list;
diff --git a/mondrian/src/main/java/org/eclipse/daanse/olap/function/def/drilldownmember/DrilldownMemberCalc.java b/mondrian/src/main/java/org/eclipse/daanse/olap/function/def/drilldownmember/DrilldownMemberCalc.java
index f26d2ce464..0a769087dd 100644
--- a/mondrian/src/main/java/org/eclipse/daanse/olap/function/def/drilldownmember/DrilldownMemberCalc.java
+++ b/mondrian/src/main/java/org/eclipse/daanse/olap/function/def/drilldownmember/DrilldownMemberCalc.java
@@ -37,9 +37,9 @@ public DrilldownMemberCalc(final Type type, final TupleListCalc listCalc1, final
}
@Override
- public TupleList evaluateList(Evaluator evaluator) {
- final TupleList list1 = getChildCalc(0, TupleListCalc.class).evaluateList(evaluator);
- final TupleList list2 = getChildCalc(1, TupleListCalc.class).evaluateList(evaluator);
+ public TupleList evaluate(Evaluator evaluator) {
+ final TupleList list1 = getChildCalc(0, TupleListCalc.class).evaluate(evaluator);
+ final TupleList list2 = getChildCalc(1, TupleListCalc.class).evaluate(evaluator);
return drilldownMember(list1, list2, evaluator);
}
diff --git a/mondrian/src/main/java/org/eclipse/daanse/olap/function/def/except/ExceptCalc.java b/mondrian/src/main/java/org/eclipse/daanse/olap/function/def/except/ExceptCalc.java
index 319795dbdc..a30a383bed 100644
--- a/mondrian/src/main/java/org/eclipse/daanse/olap/function/def/except/ExceptCalc.java
+++ b/mondrian/src/main/java/org/eclipse/daanse/olap/function/def/except/ExceptCalc.java
@@ -33,12 +33,12 @@ public ExceptCalc(Type type, TupleListCalc listCalc0, TupleListCalc listCalc1) {
}
@Override
- public TupleList evaluateList(Evaluator evaluator) {
- TupleList list0 = getChildCalc(0, TupleListCalc.class).evaluateList(evaluator);
+ public TupleList evaluate(Evaluator evaluator) {
+ TupleList list0 = getChildCalc(0, TupleListCalc.class).evaluate(evaluator);
if (list0.isEmpty()) {
return list0;
}
- TupleList list1 = getChildCalc(1, TupleListCalc.class).evaluateList(evaluator);
+ TupleList list1 = getChildCalc(1, TupleListCalc.class).evaluate(evaluator);
if (list1.isEmpty()) {
return list0;
}
diff --git a/mondrian/src/main/java/org/eclipse/daanse/olap/function/def/exists/ExistsCalc.java b/mondrian/src/main/java/org/eclipse/daanse/olap/function/def/exists/ExistsCalc.java
index 1cc11ec93b..a049241b80 100644
--- a/mondrian/src/main/java/org/eclipse/daanse/olap/function/def/exists/ExistsCalc.java
+++ b/mondrian/src/main/java/org/eclipse/daanse/olap/function/def/exists/ExistsCalc.java
@@ -34,12 +34,12 @@ public ExistsCalc(Type type, TupleListCalc listCalc1, TupleListCalc listCalc2) {
}
@Override
- public TupleList evaluateList(Evaluator evaluator) {
- TupleList leftTuples = getChildCalc(0, TupleListCalc.class).evaluateList(evaluator);
+ public TupleList evaluate(Evaluator evaluator) {
+ TupleList leftTuples = getChildCalc(0, TupleListCalc.class).evaluate(evaluator);
if (leftTuples.isEmpty()) {
return TupleCollections.emptyList(leftTuples.getArity());
}
- TupleList rightTuples = getChildCalc(1, TupleListCalc.class).evaluateList(evaluator);
+ TupleList rightTuples = getChildCalc(1, TupleListCalc.class).evaluate(evaluator);
if (rightTuples.isEmpty()) {
return TupleCollections.emptyList(leftTuples.getArity());
}
diff --git a/mondrian/src/main/java/org/eclipse/daanse/olap/function/def/generate/GenerateListCalc.java b/mondrian/src/main/java/org/eclipse/daanse/olap/function/def/generate/GenerateListCalc.java
index bf4eac9f1d..a72d91271c 100644
--- a/mondrian/src/main/java/org/eclipse/daanse/olap/function/def/generate/GenerateListCalc.java
+++ b/mondrian/src/main/java/org/eclipse/daanse/olap/function/def/generate/GenerateListCalc.java
@@ -46,13 +46,13 @@ public GenerateListCalc(Type type, TupleIteratorCalc tupleIteratorCalc, TupleLis
}
@Override
- public TupleList evaluateList(Evaluator evaluator) {
- TupleIteratorCalc tupleIteratorCalc = getChildCalc(0, TupleIteratorCalc.class);
+ public TupleList evaluate(Evaluator evaluator) {
+ TupleIteratorCalc> tupleIteratorCalc = getChildCalc(0, TupleIteratorCalc.class);
TupleListCalc listCalc2 = getChildCalc(1, TupleListCalc.class);
final int savepoint = evaluator.savepoint();
try {
evaluator.setNonEmpty(false);
- final TupleIterable iterable1 = tupleIteratorCalc.evaluateIterable(evaluator);
+ final TupleIterable iterable1 = tupleIteratorCalc.evaluate(evaluator);
evaluator.restore(savepoint);
TupleList result = TupleCollections.createList(arityOut);
Execution execution = LocusImpl.peek().getExecution();
@@ -62,7 +62,7 @@ public TupleList evaluateList(Evaluator evaluator) {
while (cursor.forward()) {
CancellationChecker.checkCancelOrTimeout(rowCount++, execution);
cursor.setContext(evaluator);
- final TupleList result2 = listCalc2.evaluateList(evaluator);
+ final TupleList result2 = listCalc2.evaluate(evaluator);
result.addAll(result2);
}
} else {
@@ -73,7 +73,7 @@ public TupleList evaluateList(Evaluator evaluator) {
while (cursor.forward()) {
CancellationChecker.checkCancelOrTimeout(rowCount++, execution);
cursor.setContext(evaluator);
- final TupleList result2 = listCalc2.evaluateList(evaluator);
+ final TupleList result2 = listCalc2.evaluate(evaluator);
addDistinctTuples(result, result2, emitted);
}
}
diff --git a/mondrian/src/main/java/org/eclipse/daanse/olap/function/def/generate/GenerateStringCalc.java b/mondrian/src/main/java/org/eclipse/daanse/olap/function/def/generate/GenerateStringCalc.java
index c72a8f7b31..5abb17e4fb 100644
--- a/mondrian/src/main/java/org/eclipse/daanse/olap/function/def/generate/GenerateStringCalc.java
+++ b/mondrian/src/main/java/org/eclipse/daanse/olap/function/def/generate/GenerateStringCalc.java
@@ -41,7 +41,7 @@ public String evaluate(Evaluator evaluator) {
try {
StringBuilder buf = new StringBuilder();
int k = 0;
- final TupleIterable iter11 = getChildCalc(0, TupleIteratorCalc.class).evaluateIterable(evaluator);
+ final TupleIterable iter11 = (TupleIterable) getChildCalc(0, TupleIteratorCalc.class).evaluate(evaluator);
final TupleCursor cursor = iter11.tupleCursor();
int currentIteration = 0;
Execution execution = evaluator.getQuery().getStatement().getCurrentExecution();
diff --git a/mondrian/src/main/java/org/eclipse/daanse/olap/function/def/headtail/HeadCalc.java b/mondrian/src/main/java/org/eclipse/daanse/olap/function/def/headtail/HeadCalc.java
index 1bc7f2c94d..40520ee48a 100644
--- a/mondrian/src/main/java/org/eclipse/daanse/olap/function/def/headtail/HeadCalc.java
+++ b/mondrian/src/main/java/org/eclipse/daanse/olap/function/def/headtail/HeadCalc.java
@@ -29,11 +29,11 @@ public HeadCalc(Type type, TupleListCalc tupleListCalc, IntegerCalc integerCalc)
}
@Override
- public TupleList evaluateList(Evaluator evaluator) {
+ public TupleList evaluate(Evaluator evaluator) {
final int savepoint = evaluator.savepoint();
try {
evaluator.setNonEmpty(false);
- TupleList list = getChildCalc(0, TupleListCalc.class).evaluateList(evaluator);
+ TupleList list = getChildCalc(0, TupleListCalc.class).evaluate(evaluator);
Integer count = getChildCalc(1, IntegerCalc.class).evaluate(evaluator);
return head(count, list);
} finally {
diff --git a/mondrian/src/main/java/org/eclipse/daanse/olap/function/def/headtail/TailCalc.java b/mondrian/src/main/java/org/eclipse/daanse/olap/function/def/headtail/TailCalc.java
index 19ab5a9714..204e86af56 100644
--- a/mondrian/src/main/java/org/eclipse/daanse/olap/function/def/headtail/TailCalc.java
+++ b/mondrian/src/main/java/org/eclipse/daanse/olap/function/def/headtail/TailCalc.java
@@ -29,11 +29,11 @@ public TailCalc(Type type, TupleListCalc tupleListCalc, IntegerCalc integerCalc)
}
@Override
- public TupleList evaluateList(Evaluator evaluator) {
+ public TupleList evaluate(Evaluator evaluator) {
final int savepoint = evaluator.savepoint();
try {
evaluator.setNonEmpty(false);
- TupleList list = getChildCalc(0, TupleListCalc.class).evaluateList(evaluator);
+ TupleList list = getChildCalc(0, TupleListCalc.class).evaluate(evaluator);
Integer count = getChildCalc(1, IntegerCalc.class).evaluate(evaluator);
return tail(count, list);
} finally {
diff --git a/mondrian/src/main/java/org/eclipse/daanse/olap/function/def/hierarchize/HierarchizeCalc.java b/mondrian/src/main/java/org/eclipse/daanse/olap/function/def/hierarchize/HierarchizeCalc.java
index 818156ed0d..99565780ea 100644
--- a/mondrian/src/main/java/org/eclipse/daanse/olap/function/def/hierarchize/HierarchizeCalc.java
+++ b/mondrian/src/main/java/org/eclipse/daanse/olap/function/def/hierarchize/HierarchizeCalc.java
@@ -31,8 +31,8 @@ protected HierarchizeCalc(Type type, TupleListCalc tupleListCalc, final boolean
}
@Override
- public TupleList evaluateList( Evaluator evaluator ) {
- TupleList list = getChildCalc(0, TupleListCalc.class).evaluateList( evaluator );
+ public TupleList evaluate( Evaluator evaluator ) {
+ TupleList list = getChildCalc(0, TupleListCalc.class).evaluate( evaluator );
return Sorter.hierarchizeTupleList( list, post );
}
diff --git a/mondrian/src/main/java/org/eclipse/daanse/olap/function/def/iif/IifFunDef.java b/mondrian/src/main/java/org/eclipse/daanse/olap/function/def/iif/IifFunDef.java
index faabd7d819..ec1c4637df 100644
--- a/mondrian/src/main/java/org/eclipse/daanse/olap/function/def/iif/IifFunDef.java
+++ b/mondrian/src/main/java/org/eclipse/daanse/olap/function/def/iif/IifFunDef.java
@@ -18,6 +18,8 @@
import org.eclipse.daanse.olap.api.calc.Calc;
import org.eclipse.daanse.olap.api.calc.ResultStyle;
import org.eclipse.daanse.olap.api.calc.compiler.ExpressionCompiler;
+import org.eclipse.daanse.olap.api.calc.todo.TupleIteratorCalc;
+import org.eclipse.daanse.olap.api.calc.todo.TupleListCalc;
import org.eclipse.daanse.olap.api.function.FunctionMetaData;
import org.eclipse.daanse.olap.api.query.component.Expression;
import org.eclipse.daanse.olap.api.query.component.ResolvedFunCall;
@@ -80,7 +82,16 @@ public Calc> compileCall( ResolvedFunCall call, ExpressionCompiler compiler) {
compiler.compileAs(
call.getArg(2), call.getType(), ResultStyle.ANY_LIST);
if (call.getType() instanceof SetType) {
- return new IifSetTypeCalc(call.getType(), booleanCalc, calc1, calc2);
+ if (calc1 instanceof TupleListCalc tlc) {
+
+ return new IifSetTypeListCalc(call.getType(), booleanCalc, calc1, calc2);
+ } else if (calc1 instanceof TupleIteratorCalc tlc) {
+
+ return new IifSetTypeIterableCalcCalc(call.getType(), booleanCalc, calc1, calc2);
+ } else {
+ throw new IllegalArgumentException(
+ "Iif: unexpected type for first argument: " + calc1);
+ }
} else {
return new IifCalc(call.getType(), booleanCalc, calc1, calc2) {
};
diff --git a/mondrian/src/main/java/org/eclipse/daanse/olap/function/def/iif/IifSetTypeIterableCalcCalc.java b/mondrian/src/main/java/org/eclipse/daanse/olap/function/def/iif/IifSetTypeIterableCalcCalc.java
new file mode 100644
index 0000000000..e642da2a65
--- /dev/null
+++ b/mondrian/src/main/java/org/eclipse/daanse/olap/function/def/iif/IifSetTypeIterableCalcCalc.java
@@ -0,0 +1,54 @@
+/*
+ * Copyright (c) 2024 Contributors to the Eclipse Foundation.
+ *
+ * This program and the accompanying materials are made
+ * available under the terms of the Eclipse Public License 2.0
+ * which is available at https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
+ *
+ * Contributors:
+ * SmartCity Jena - initial
+ * Stefan Bischof (bipolis.org) - initial
+ */
+package org.eclipse.daanse.olap.function.def.iif;
+
+import org.eclipse.daanse.olap.api.Evaluator;
+import org.eclipse.daanse.olap.api.calc.BooleanCalc;
+import org.eclipse.daanse.olap.api.calc.Calc;
+import org.eclipse.daanse.olap.api.calc.ResultStyle;
+import org.eclipse.daanse.olap.api.calc.todo.TupleIterable;
+import org.eclipse.daanse.olap.api.type.Type;
+import org.eclipse.daanse.olap.calc.base.nested.AbstractProfilingNestedTupleIterableCalc;
+
+public class IifSetTypeIterableCalcCalc extends AbstractProfilingNestedTupleIterableCalc {
+
+ private final BooleanCalc booleanCalc;
+ private final Calc> calc1;
+ private final Calc> calc2;
+
+ protected IifSetTypeIterableCalcCalc(Type type, BooleanCalc booleanCalc, Calc> calc1, Calc> calc2) {
+ super(type);
+ this.booleanCalc = booleanCalc;
+ this.calc1 = calc1;
+ this.calc2 = calc2;
+ }
+
+ @Override
+ public TupleIterable evaluate(Evaluator evaluator) {
+ final boolean b = booleanCalc.evaluate(evaluator);
+ Calc> calc = b ? calc1 : calc2;
+ return (TupleIterable) calc.evaluate(evaluator);
+ }
+
+ @Override
+ public Calc>[] getChildCalcs() {
+ return new Calc[] { booleanCalc, calc1, calc2 };
+ }
+
+ @Override
+ public ResultStyle getResultStyle() {
+ return calc1.getResultStyle();
+ }
+
+}
diff --git a/mondrian/src/main/java/org/eclipse/daanse/olap/function/def/iif/IifSetTypeCalc.java b/mondrian/src/main/java/org/eclipse/daanse/olap/function/def/iif/IifSetTypeListCalc.java
similarity index 74%
rename from mondrian/src/main/java/org/eclipse/daanse/olap/function/def/iif/IifSetTypeCalc.java
rename to mondrian/src/main/java/org/eclipse/daanse/olap/function/def/iif/IifSetTypeListCalc.java
index 1a913bcc45..dc09f28cfd 100644
--- a/mondrian/src/main/java/org/eclipse/daanse/olap/function/def/iif/IifSetTypeCalc.java
+++ b/mondrian/src/main/java/org/eclipse/daanse/olap/function/def/iif/IifSetTypeListCalc.java
@@ -17,17 +17,17 @@
import org.eclipse.daanse.olap.api.calc.BooleanCalc;
import org.eclipse.daanse.olap.api.calc.Calc;
import org.eclipse.daanse.olap.api.calc.ResultStyle;
+import org.eclipse.daanse.olap.api.calc.todo.TupleList;
import org.eclipse.daanse.olap.api.type.Type;
+import org.eclipse.daanse.olap.calc.base.nested.AbstractProfilingNestedTupleListCalc;
-import mondrian.calc.impl.GenericIterCalc;
-
-public class IifSetTypeCalc extends GenericIterCalc {
+public class IifSetTypeListCalc extends AbstractProfilingNestedTupleListCalc {
private final BooleanCalc booleanCalc;
private final Calc> calc1;
private final Calc> calc2;
- protected IifSetTypeCalc(Type type, BooleanCalc booleanCalc, Calc> calc1, Calc> calc2) {
+ protected IifSetTypeListCalc(Type type, BooleanCalc booleanCalc, Calc> calc1, Calc> calc2) {
super(type);
this.booleanCalc = booleanCalc;
this.calc1 = calc1;
@@ -35,10 +35,10 @@ protected IifSetTypeCalc(Type type, BooleanCalc booleanCalc, Calc> calc1, Calc
}
@Override
- public Object evaluate(Evaluator evaluator) {
+ public TupleList evaluate(Evaluator evaluator) {
final boolean b = booleanCalc.evaluate(evaluator);
Calc> calc = b ? calc1 : calc2;
- return calc.evaluate(evaluator);
+ return (TupleList) calc.evaluate(evaluator);
}
@Override
diff --git a/mondrian/src/main/java/org/eclipse/daanse/olap/function/def/intersect/IntersectCalc.java b/mondrian/src/main/java/org/eclipse/daanse/olap/function/def/intersect/IntersectCalc.java
index a07ea9c239..cac06b0d85 100644
--- a/mondrian/src/main/java/org/eclipse/daanse/olap/function/def/intersect/IntersectCalc.java
+++ b/mondrian/src/main/java/org/eclipse/daanse/olap/function/def/intersect/IntersectCalc.java
@@ -41,12 +41,12 @@ public IntersectCalc(Type type, TupleListCalc listCalc1, TupleListCalc listCalc2
}
@Override
- public TupleList evaluateList(Evaluator evaluator) {
- TupleList leftList = getChildCalc(0, TupleListCalc.class).evaluateList(evaluator);
+ public TupleList evaluate(Evaluator evaluator) {
+ TupleList leftList = getChildCalc(0, TupleListCalc.class).evaluate(evaluator);
if (leftList.isEmpty()) {
return leftList;
}
- final TupleList rightList = getChildCalc(1, TupleListCalc.class).evaluateList(evaluator);
+ final TupleList rightList = getChildCalc(1, TupleListCalc.class).evaluate(evaluator);
if (rightList.isEmpty()) {
return rightList;
}
diff --git a/mondrian/src/main/java/org/eclipse/daanse/olap/function/def/lastperiods/LastPeriodsCalc.java b/mondrian/src/main/java/org/eclipse/daanse/olap/function/def/lastperiods/LastPeriodsCalc.java
index d1b6739025..e6147ad94a 100644
--- a/mondrian/src/main/java/org/eclipse/daanse/olap/function/def/lastperiods/LastPeriodsCalc.java
+++ b/mondrian/src/main/java/org/eclipse/daanse/olap/function/def/lastperiods/LastPeriodsCalc.java
@@ -34,7 +34,7 @@ public LastPeriodsCalc(Type type, MemberCalc memberCalc, IntegerCalc indexValueC
}
@Override
- public TupleList evaluateList(Evaluator evaluator) {
+ public TupleList evaluate(Evaluator evaluator) {
Member member = getChildCalc(0, MemberCalc.class).evaluate(evaluator);
Integer indexValue = getChildCalc(1, IntegerCalc.class).evaluate(evaluator);
diff --git a/mondrian/src/main/java/org/eclipse/daanse/olap/function/def/linreg/LinRegCalc.java b/mondrian/src/main/java/org/eclipse/daanse/olap/function/def/linreg/LinRegCalc.java
index 07db6f15c1..2925ad45d3 100644
--- a/mondrian/src/main/java/org/eclipse/daanse/olap/function/def/linreg/LinRegCalc.java
+++ b/mondrian/src/main/java/org/eclipse/daanse/olap/function/def/linreg/LinRegCalc.java
@@ -79,7 +79,7 @@ public static Value process(
TupleList members;
try {
evaluator.setNonEmpty(false);
- members = tupleListCalc.evaluateList(evaluator);
+ members = tupleListCalc.evaluate(evaluator);
} finally {
evaluator.restore(savepoint);
}
diff --git a/mondrian/src/main/java/org/eclipse/daanse/olap/function/def/member/AncestorsCalc.java b/mondrian/src/main/java/org/eclipse/daanse/olap/function/def/member/AncestorsCalc.java
index 43450d378c..40f698a934 100644
--- a/mondrian/src/main/java/org/eclipse/daanse/olap/function/def/member/AncestorsCalc.java
+++ b/mondrian/src/main/java/org/eclipse/daanse/olap/function/def/member/AncestorsCalc.java
@@ -34,7 +34,7 @@ protected AncestorsCalc(Type type, final MemberCalc memberCalc, final IntegerCal
}
@Override
- public TupleList evaluateList(Evaluator evaluator) {
+ public TupleList evaluate(Evaluator evaluator) {
Member member = getChildCalc(0, MemberCalc.class).evaluate(evaluator);
Integer distance = getChildCalc(1, IntegerCalc.class).evaluate(evaluator);
List ancestors = new ArrayList<>();
diff --git a/mondrian/src/main/java/org/eclipse/daanse/olap/function/def/member/AncestorsCalcForLevelType.java b/mondrian/src/main/java/org/eclipse/daanse/olap/function/def/member/AncestorsCalcForLevelType.java
index b096005ebd..d53e3d8172 100644
--- a/mondrian/src/main/java/org/eclipse/daanse/olap/function/def/member/AncestorsCalcForLevelType.java
+++ b/mondrian/src/main/java/org/eclipse/daanse/olap/function/def/member/AncestorsCalcForLevelType.java
@@ -35,7 +35,7 @@ protected AncestorsCalcForLevelType(Type type, final MemberCalc memberCalc, fina
}
@Override
- public TupleList evaluateList(Evaluator evaluator) {
+ public TupleList evaluate(Evaluator evaluator) {
Level level = getChildCalc(1, LevelCalc.class).evaluate(evaluator);
Member member = getChildCalc(0, MemberCalc.class).evaluate(evaluator);
int distance = member.getDepth() - level.getDepth();
diff --git a/mondrian/src/main/java/org/eclipse/daanse/olap/function/def/member/AncestorsFunDef.java b/mondrian/src/main/java/org/eclipse/daanse/olap/function/def/member/AncestorsFunDef.java
index 66fffca525..e52e4e5a73 100644
--- a/mondrian/src/main/java/org/eclipse/daanse/olap/function/def/member/AncestorsFunDef.java
+++ b/mondrian/src/main/java/org/eclipse/daanse/olap/function/def/member/AncestorsFunDef.java
@@ -50,7 +50,7 @@ public Calc> compileCall(ResolvedFunCall call, ExpressionCompiler compiler) {
final IntegerCalc distanceCalc = compiler.compileInteger(call.getArg(1));
return new AncestorsCalc(call.getType(), memberCalc, distanceCalc) {
@Override
- public TupleList evaluateList(Evaluator evaluator) {
+ public TupleList evaluate(Evaluator evaluator) {
Member member = memberCalc.evaluate(evaluator);
Integer distance = distanceCalc.evaluate(evaluator);
List ancestors = new ArrayList<>();
diff --git a/mondrian/src/main/java/org/eclipse/daanse/olap/function/def/nativizeset/NativeListCalc.java b/mondrian/src/main/java/org/eclipse/daanse/olap/function/def/nativizeset/NativeListCalc.java
index 10bd3da456..a14f02be45 100644
--- a/mondrian/src/main/java/org/eclipse/daanse/olap/function/def/nativizeset/NativeListCalc.java
+++ b/mondrian/src/main/java/org/eclipse/daanse/olap/function/def/nativizeset/NativeListCalc.java
@@ -57,7 +57,7 @@ protected NativeListCalc(
}
@Override
- public TupleList evaluateList(Evaluator evaluator) {
+ public TupleList evaluate(Evaluator evaluator) {
return computeTuples(evaluator);
}
@@ -78,7 +78,7 @@ private TupleList evaluateSimplifiedList(Evaluator evaluator) {
evaluator.setNonEmpty(false);
evaluator.setNativeEnabled(false);
TupleList simplifiedList =
- simpleCalc.evaluateList(evaluator);
+ simpleCalc.evaluate(evaluator);
NativizeSetFunDef.dumpListToLog("simplified list", simplifiedList);
return simplifiedList;
} finally {
@@ -96,7 +96,7 @@ private TupleList evaluateNonNative(Evaluator evaluator) {
try {
evaluator.setNonEmpty(true);
evaluator.setNativeEnabled(false);
- TupleList members = calc.evaluateList(evaluator);
+ TupleList members = calc.evaluate(evaluator);
return members;
} finally {
evaluator.restore(savepoint);
@@ -215,6 +215,6 @@ private TupleList evaluateJoinExpression(
.parseExpression(crossJoinExpression);
Expression resolved = compiler.getValidator().validate(unresolved, false);
TupleListCalc calc = compiler.compileList(resolved);
- return calc.evaluateList(evaluator);
+ return calc.evaluate(evaluator);
}
}
diff --git a/mondrian/src/main/java/org/eclipse/daanse/olap/function/def/nativizeset/NativizeSetFunDef.java b/mondrian/src/main/java/org/eclipse/daanse/olap/function/def/nativizeset/NativizeSetFunDef.java
index d42d31270a..a3d866315c 100644
--- a/mondrian/src/main/java/org/eclipse/daanse/olap/function/def/nativizeset/NativizeSetFunDef.java
+++ b/mondrian/src/main/java/org/eclipse/daanse/olap/function/def/nativizeset/NativizeSetFunDef.java
@@ -114,7 +114,7 @@ public Calc> compileCall( ResolvedFunCall call, ExpressionCompiler compiler) {
final int arity = calcs[0].getType().getArity();
assert arity >= 0;
if (arity == 1 || substitutionMap.isEmpty()) {
- TupleIteratorCalc calc = (TupleIteratorCalc) funArg.accept(compiler);
+ Calc> calc = funArg.accept(compiler);
final boolean highCardinality =
arity == 1
&& isHighCardinality(funArg, compiler.getEvaluator());
@@ -122,10 +122,10 @@ public Calc> compileCall( ResolvedFunCall call, ExpressionCompiler compiler) {
// This can happen under JDK1.4: caller wants iterator
// implementation, but compiler can only provide list.
// Fall through and use native.
- } else if (calc instanceof TupleListCalc) {
- return new NonNativeListCalc((TupleListCalc) calc, highCardinality);
- } else {
- return new NonNativeIterCalc(calc, highCardinality);
+ } else if (calc instanceof TupleListCalc tlc) {
+ return new NonNativeListCalc(tlc, highCardinality);
+ } else if(calc instanceof TupleIteratorCalc tic) {
+ return new NonNativeIterCalc(tic, highCardinality);
}
}
if (isFirstCompileCall) {
diff --git a/mondrian/src/main/java/org/eclipse/daanse/olap/function/def/nativizeset/NonNativeCalc.java b/mondrian/src/main/java/org/eclipse/daanse/olap/function/def/nativizeset/NonNativeCalc.java
index a26bc65abe..b46776beb9 100644
--- a/mondrian/src/main/java/org/eclipse/daanse/olap/function/def/nativizeset/NonNativeCalc.java
+++ b/mondrian/src/main/java/org/eclipse/daanse/olap/function/def/nativizeset/NonNativeCalc.java
@@ -20,11 +20,11 @@
import org.eclipse.daanse.olap.api.element.Hierarchy;
import org.eclipse.daanse.olap.calc.base.AbstractProfilingCalc;
-public class NonNativeCalc extends AbstractProfilingCalc implements ProfilingCalc {
- final Calc> parent;
+public class NonNativeCalc extends AbstractProfilingCalc implements ProfilingCalc {
+ final Calc parent;
final boolean nativeEnabled;
- protected NonNativeCalc(Calc> parent, final boolean nativeEnabled) {
+ protected NonNativeCalc(Calc parent, final boolean nativeEnabled) {
super(parent.getType());
assert parent != null;
@@ -33,7 +33,7 @@ protected NonNativeCalc(Calc> parent, final boolean nativeEnabled) {
}
@Override
- public Object evaluate(final Evaluator evaluator) {
+ public E evaluate(final Evaluator evaluator) {
evaluator.setNativeEnabled(nativeEnabled);
return parent.evaluate(evaluator);
}
diff --git a/mondrian/src/main/java/org/eclipse/daanse/olap/function/def/nativizeset/NonNativeIterCalc.java b/mondrian/src/main/java/org/eclipse/daanse/olap/function/def/nativizeset/NonNativeIterCalc.java
index 510090f6bf..3b98eb47b0 100644
--- a/mondrian/src/main/java/org/eclipse/daanse/olap/function/def/nativizeset/NonNativeIterCalc.java
+++ b/mondrian/src/main/java/org/eclipse/daanse/olap/function/def/nativizeset/NonNativeIterCalc.java
@@ -17,18 +17,18 @@
import org.eclipse.daanse.olap.api.calc.todo.TupleIterable;
import org.eclipse.daanse.olap.api.calc.todo.TupleIteratorCalc;
-public class NonNativeIterCalc extends NonNativeCalc implements TupleIteratorCalc {
+public class NonNativeIterCalc extends NonNativeCalc implements TupleIteratorCalc {
protected NonNativeIterCalc(TupleIteratorCalc parent, boolean highCardinality) {
super(parent, highCardinality);
}
- TupleIteratorCalc parent() {
+ TupleIteratorCalc> parent() {
return (TupleIteratorCalc) parent;
}
@Override
- public TupleIterable evaluateIterable(Evaluator evaluator) {
+ public TupleIterable evaluate(Evaluator evaluator) {
evaluator.setNativeEnabled(nativeEnabled);
- return parent().evaluateIterable(evaluator);
+ return parent().evaluate(evaluator);
}
}
diff --git a/mondrian/src/main/java/org/eclipse/daanse/olap/function/def/nativizeset/NonNativeListCalc.java b/mondrian/src/main/java/org/eclipse/daanse/olap/function/def/nativizeset/NonNativeListCalc.java
index 39faa45876..c3a9d39d78 100644
--- a/mondrian/src/main/java/org/eclipse/daanse/olap/function/def/nativizeset/NonNativeListCalc.java
+++ b/mondrian/src/main/java/org/eclipse/daanse/olap/function/def/nativizeset/NonNativeListCalc.java
@@ -14,11 +14,10 @@
package org.eclipse.daanse.olap.function.def.nativizeset;
import org.eclipse.daanse.olap.api.Evaluator;
-import org.eclipse.daanse.olap.api.calc.todo.TupleIterable;
import org.eclipse.daanse.olap.api.calc.todo.TupleList;
import org.eclipse.daanse.olap.api.calc.todo.TupleListCalc;
-public class NonNativeListCalc extends NonNativeCalc implements TupleListCalc {
+public class NonNativeListCalc extends NonNativeCalc implements TupleListCalc {
protected NonNativeListCalc(TupleListCalc parent, boolean highCardinality) {
super(parent, highCardinality);
}
@@ -28,13 +27,13 @@ TupleListCalc parent() {
}
@Override
- public TupleList evaluateList(Evaluator evaluator) {
+ public TupleList evaluate(Evaluator evaluator) {
evaluator.setNativeEnabled(nativeEnabled);
- return parent().evaluateList(evaluator);
+ return parent().evaluate(evaluator);
}
- @Override
- public TupleIterable evaluateIterable(Evaluator evaluator) {
- return evaluateList(evaluator);
- }
+// @Override
+// public TupleIterable evaluateIterable(Evaluator evaluator) {
+// return evaluateList(evaluator);
+// }
}
\ No newline at end of file
diff --git a/mondrian/src/main/java/org/eclipse/daanse/olap/function/def/nonempty/NonEmptyCalc.java b/mondrian/src/main/java/org/eclipse/daanse/olap/function/def/nonempty/NonEmptyCalc.java
index ffd0cfd99e..74cf70afdb 100644
--- a/mondrian/src/main/java/org/eclipse/daanse/olap/function/def/nonempty/NonEmptyCalc.java
+++ b/mondrian/src/main/java/org/eclipse/daanse/olap/function/def/nonempty/NonEmptyCalc.java
@@ -38,20 +38,20 @@ public NonEmptyCalc(
}
@Override
- public TupleList evaluateList(Evaluator evaluator) {
+ public TupleList evaluate(Evaluator evaluator) {
final int savepoint = evaluator.savepoint();
TupleListCalc listCalc1 = getChildCalc(0, TupleListCalc.class);
TupleListCalc listCalc2 = getChildCalc(1, TupleListCalc.class);
try {
evaluator.setNonEmpty(true);
- TupleList leftTuples = listCalc1.evaluateList(evaluator);
+ TupleList leftTuples = listCalc1.evaluate(evaluator);
if (leftTuples.isEmpty()) {
return TupleCollections.emptyList(leftTuples.getArity());
}
TupleList rightTuples = null;
if(listCalc2 != null) {
- rightTuples = listCalc2.evaluateList(evaluator);
+ rightTuples = listCalc2.evaluate(evaluator);
}
TupleList result =
TupleCollections.createList(leftTuples.getArity());
diff --git a/mondrian/src/main/java/org/eclipse/daanse/olap/function/def/nonemptycrossjoin/NonEmptyCrossJoinCalc.java b/mondrian/src/main/java/org/eclipse/daanse/olap/function/def/nonemptycrossjoin/NonEmptyCrossJoinCalc.java
index f7eb6b219d..d40dad7c6e 100644
--- a/mondrian/src/main/java/org/eclipse/daanse/olap/function/def/nonemptycrossjoin/NonEmptyCrossJoinCalc.java
+++ b/mondrian/src/main/java/org/eclipse/daanse/olap/function/def/nonemptycrossjoin/NonEmptyCrossJoinCalc.java
@@ -40,7 +40,7 @@ public NonEmptyCrossJoinCalc(Type type, TupleListCalc listCalc1, TupleListCalc l
}
@Override
- public TupleList evaluateList(Evaluator evaluator) {
+ public TupleList evaluate(Evaluator evaluator) {
CatalogReader schemaReader = evaluator.getCatalogReader();
// Evaluate the arguments in non empty mode, but remove from
@@ -80,12 +80,12 @@ public TupleList evaluateList(Evaluator evaluator) {
ResultStyle.LIST);
}
- final TupleList list1 = listCalc1.evaluateList(evaluator);
+ final TupleList list1 = listCalc1.evaluate(evaluator);
if (list1.isEmpty()) {
evaluator.restore(savepoint);
return list1;
}
- final TupleList list2 = listCalc2.evaluateList(evaluator);
+ final TupleList list2 = listCalc2.evaluate(evaluator);
TupleList result = CrossJoinFunDef.mutableCrossJoin(list1, list2);
// remove any remaining empty crossings from the result
diff --git a/mondrian/src/main/java/org/eclipse/daanse/olap/function/def/nonstandard/CachedExistsCalc.java b/mondrian/src/main/java/org/eclipse/daanse/olap/function/def/nonstandard/CachedExistsCalc.java
index 74993deb6a..90df7971bc 100644
--- a/mondrian/src/main/java/org/eclipse/daanse/olap/function/def/nonstandard/CachedExistsCalc.java
+++ b/mondrian/src/main/java/org/eclipse/daanse/olap/function/def/nonstandard/CachedExistsCalc.java
@@ -42,7 +42,7 @@ protected CachedExistsCalc(Type type, final TupleListCalc listCalc, final TupleC
}
@Override
- public TupleList evaluateList(Evaluator evaluator) {
+ public TupleList evaluate(Evaluator evaluator) {
evaluator.getTiming().markStart(TIMING_NAME);
try {
@@ -80,7 +80,7 @@ public TupleList evaluateList(Evaluator evaluator) {
// Build subtotal cache
HashMap setCache = new HashMap<>();
- TupleList setToCache = getChildCalc(0, TupleListCalc.class).evaluateList(evaluator);
+ TupleList setToCache = getChildCalc(0, TupleListCalc.class).evaluate(evaluator);
for (List tuple : setToCache) {
String subtotalKey = makeSubtotalKey(subtotalToListIndex, tuple, subtotal);
TupleList tupleCache = setCache.get(subtotalKey);
diff --git a/mondrian/src/main/java/org/eclipse/daanse/olap/function/def/order/OrderContextCalc.java b/mondrian/src/main/java/org/eclipse/daanse/olap/function/def/order/OrderContextCalc.java
index aa2e50030b..aa9bd2bb6d 100644
--- a/mondrian/src/main/java/org/eclipse/daanse/olap/function/def/order/OrderContextCalc.java
+++ b/mondrian/src/main/java/org/eclipse/daanse/olap/function/def/order/OrderContextCalc.java
@@ -17,14 +17,14 @@
import org.eclipse.daanse.olap.api.calc.Calc;
import org.eclipse.daanse.olap.api.calc.MemberCalc;
import org.eclipse.daanse.olap.api.calc.ResultStyle;
+import org.eclipse.daanse.olap.api.calc.todo.TupleList;
import org.eclipse.daanse.olap.api.element.Hierarchy;
import org.eclipse.daanse.olap.api.element.Member;
+import org.eclipse.daanse.olap.calc.base.nested.AbstractProfilingNestedTupleListCalc;
import org.eclipse.daanse.olap.calc.base.util.HirarchyDependsChecker;
import org.eclipse.daanse.olap.function.def.order.OrderFunDef.CalcWithDual;
-import mondrian.calc.impl.GenericIterCalc;
-
-public class OrderContextCalc extends GenericIterCalc {
+public class OrderContextCalc extends AbstractProfilingNestedTupleListCalc {
private final MemberCalc[] memberCalcs;
private final CalcWithDual calc;
private final Member[] members; // workspace
@@ -44,7 +44,7 @@ private static Calc>[] xx( MemberCalc[] memberCalcs, CalcWithDual calc ) {
}
@Override
- public Object evaluate( Evaluator evaluator ) {
+ public TupleList evaluate( Evaluator evaluator ) {
// Evaluate each of the members, and set as context in the
// sub-evaluator.
for ( int i = 0; i < memberCalcs.length; i++ ) {
diff --git a/mondrian/src/main/java/org/eclipse/daanse/olap/function/def/order/OrderCurrentMemberCalc.java b/mondrian/src/main/java/org/eclipse/daanse/olap/function/def/order/OrderCurrentMemberCalc.java
index 85fa1829cd..378ffa497e 100644
--- a/mondrian/src/main/java/org/eclipse/daanse/olap/function/def/order/OrderCurrentMemberCalc.java
+++ b/mondrian/src/main/java/org/eclipse/daanse/olap/function/def/order/OrderCurrentMemberCalc.java
@@ -38,7 +38,7 @@
import mondrian.olap.fun.sort.Sorter.SorterFlag;
public class OrderCurrentMemberCalc extends AbstractListCalc implements CalcWithDual {
- private final TupleIteratorCalc tupleIteratorCalc;
+ private final TupleIteratorCalc> tupleIteratorCalc;
private final Calc> sortKeyCalc;
private final List keySpecList;
private final int originalKeySpecCount;
@@ -56,7 +56,7 @@ public OrderCurrentMemberCalc( Type type, Calc>[] calcList, List
@Override
public TupleList evaluateDual( Evaluator rootEvaluator, Evaluator subEvaluator ) {
assert originalKeySpecCount == 1;
- final TupleIterable iterable = tupleIteratorCalc.evaluateIterable( rootEvaluator );
+ final TupleIterable iterable = tupleIteratorCalc.evaluate( rootEvaluator );
// REVIEW: If iterable happens to be a list, we'd like to pass it,
// but we cannot yet guarantee that it is mutable.
// final TupleList list = iterable instanceof ArrayTupleList && false ? (TupleList) iterable : null; old code
@@ -67,10 +67,10 @@ public TupleList evaluateDual( Evaluator rootEvaluator, Evaluator subEvaluator )
}
@Override
- public TupleList evaluateList( Evaluator evaluator ) {
+ public TupleList evaluate( Evaluator evaluator ) {
evaluator.getTiming().markStart( OrderFunDef.TIMING_NAME );
try {
- final TupleIterable iterable = tupleIteratorCalc.evaluateIterable( evaluator );
+ final TupleIterable iterable = tupleIteratorCalc.evaluate( evaluator );
// REVIEW: If iterable happens to be a list, we'd like to pass it,
// but we cannot yet guarantee that it is mutable.
// final TupleList list = iterable instanceof ArrayTupleList && false ? (TupleList) iterable : null; old code list all time null
diff --git a/mondrian/src/main/java/org/eclipse/daanse/olap/function/def/order/OrderFunDef.java b/mondrian/src/main/java/org/eclipse/daanse/olap/function/def/order/OrderFunDef.java
index 1aea2fb878..470024ffc2 100644
--- a/mondrian/src/main/java/org/eclipse/daanse/olap/function/def/order/OrderFunDef.java
+++ b/mondrian/src/main/java/org/eclipse/daanse/olap/function/def/order/OrderFunDef.java
@@ -26,6 +26,7 @@
import org.eclipse.daanse.olap.api.calc.compiler.ExpressionCompiler;
import org.eclipse.daanse.olap.api.calc.todo.TupleIteratorCalc;
import org.eclipse.daanse.olap.api.calc.todo.TupleList;
+import org.eclipse.daanse.olap.api.calc.todo.TupleListCalc;
import org.eclipse.daanse.olap.api.query.component.Expression;
import org.eclipse.daanse.olap.api.query.component.ResolvedFunCall;
import org.eclipse.daanse.olap.calc.base.AbstractProfilingNestedCalc;
@@ -120,7 +121,7 @@ private void buildKeySpecList( List keySpecList, ResolvedFunCall ca
}
}
- public interface CalcWithDual extends Calc {
+ public interface CalcWithDual extends TupleListCalc {
public TupleList evaluateDual( Evaluator rootEvaluator, Evaluator subEvaluator );
}
}
diff --git a/mondrian/src/main/java/org/eclipse/daanse/olap/function/def/periodstodate/PeriodsToDateCalc.java b/mondrian/src/main/java/org/eclipse/daanse/olap/function/def/periodstodate/PeriodsToDateCalc.java
index 02ff035ceb..79d92369c0 100644
--- a/mondrian/src/main/java/org/eclipse/daanse/olap/function/def/periodstodate/PeriodsToDateCalc.java
+++ b/mondrian/src/main/java/org/eclipse/daanse/olap/function/def/periodstodate/PeriodsToDateCalc.java
@@ -40,7 +40,7 @@ public PeriodsToDateCalc(Type type, LevelCalc levelCalc, MemberCalc memberCalc,
}
@Override
- public TupleList evaluateList(Evaluator evaluator) {
+ public TupleList evaluate(Evaluator evaluator) {
LevelCalc levelCalc = getChildCalc(0, LevelCalc.class);
MemberCalc memberCalc = getChildCalc(1, MemberCalc.class);
evaluator.getTiming().markStart(TIMING_NAME);
diff --git a/mondrian/src/main/java/org/eclipse/daanse/olap/function/def/periodstodate/xtd/XtdWithMemberCalc.java b/mondrian/src/main/java/org/eclipse/daanse/olap/function/def/periodstodate/xtd/XtdWithMemberCalc.java
index bb520ec0db..817042f03b 100644
--- a/mondrian/src/main/java/org/eclipse/daanse/olap/function/def/periodstodate/xtd/XtdWithMemberCalc.java
+++ b/mondrian/src/main/java/org/eclipse/daanse/olap/function/def/periodstodate/xtd/XtdWithMemberCalc.java
@@ -35,7 +35,7 @@ public XtdWithMemberCalc(Type type, MemberCalc memberCalc, Level level) {
}
@Override
- public TupleList evaluateList(Evaluator evaluator) {
+ public TupleList evaluate(Evaluator evaluator) {
evaluator.getTiming().markStart(XtdWithMemberCalc.TIMING_NAME);
try {
MemberCalc memberCalc = getChildCalc(0, MemberCalc.class);
diff --git a/mondrian/src/main/java/org/eclipse/daanse/olap/function/def/periodstodate/xtd/XtdWithoutMemberCalc.java b/mondrian/src/main/java/org/eclipse/daanse/olap/function/def/periodstodate/xtd/XtdWithoutMemberCalc.java
index bad8caabee..bcbbd2212a 100644
--- a/mondrian/src/main/java/org/eclipse/daanse/olap/function/def/periodstodate/xtd/XtdWithoutMemberCalc.java
+++ b/mondrian/src/main/java/org/eclipse/daanse/olap/function/def/periodstodate/xtd/XtdWithoutMemberCalc.java
@@ -35,7 +35,7 @@ public XtdWithoutMemberCalc(Type type, Level level) {
}
@Override
- public TupleList evaluateList(Evaluator evaluator) {
+ public TupleList evaluate(Evaluator evaluator) {
evaluator.getTiming().markStart(XtdWithoutMemberCalc.TIMING_NAME);
try {
return new UnaryTupleList(FunUtil.periodsToDate(evaluator, level, null));
diff --git a/mondrian/src/main/java/org/eclipse/daanse/olap/function/def/rank/RankedListCalc.java b/mondrian/src/main/java/org/eclipse/daanse/olap/function/def/rank/RankedListCalc.java
index 4c5d8215eb..cf45aa8296 100644
--- a/mondrian/src/main/java/org/eclipse/daanse/olap/function/def/rank/RankedListCalc.java
+++ b/mondrian/src/main/java/org/eclipse/daanse/olap/function/def/rank/RankedListCalc.java
@@ -40,7 +40,7 @@ public RankedListCalc( TupleListCalc tupleListCalc, boolean tuple ) {
public Object evaluate( Evaluator evaluator ) {
// Construct an array containing the value of the expression
// for each member.
- TupleList tupleList = tupleListCalc.evaluateList( evaluator );
+ TupleList tupleList = tupleListCalc.evaluate( evaluator );
assert tupleList != null;
if ( tuple ) {
return new RankedTupleList( tupleList );
diff --git a/mondrian/src/main/java/org/eclipse/daanse/olap/function/def/rank/SortedListCalc.java b/mondrian/src/main/java/org/eclipse/daanse/olap/function/def/rank/SortedListCalc.java
index a42c6e0c6b..0c89b461f4 100644
--- a/mondrian/src/main/java/org/eclipse/daanse/olap/function/def/rank/SortedListCalc.java
+++ b/mondrian/src/main/java/org/eclipse/daanse/olap/function/def/rank/SortedListCalc.java
@@ -76,7 +76,7 @@ public Object evaluate( Evaluator evaluator ) {
// Construct an array containing the value of the expression
// for each member.
- list = tupleListCalc.evaluateList( evaluator );
+ list = tupleListCalc.evaluate( evaluator );
assert list != null;
if ( list.isEmpty() ) {
return list.getArity() == 1 ? new MemberSortResult( new Object[0], Collections.emptyMap() )
diff --git a/mondrian/src/main/java/org/eclipse/daanse/olap/function/def/set/EmptyListCalc.java b/mondrian/src/main/java/org/eclipse/daanse/olap/function/def/set/EmptyListCalc.java
index 41c9fb60c0..519d645067 100644
--- a/mondrian/src/main/java/org/eclipse/daanse/olap/function/def/set/EmptyListCalc.java
+++ b/mondrian/src/main/java/org/eclipse/daanse/olap/function/def/set/EmptyListCalc.java
@@ -39,7 +39,7 @@ public class EmptyListCalc extends AbstractListCalc {
}
@Override
- public TupleList evaluateList(Evaluator evaluator) {
+ public TupleList evaluate(Evaluator evaluator) {
return list;
}
}
diff --git a/mondrian/src/main/java/org/eclipse/daanse/olap/function/def/set/ExprIterCalc.java b/mondrian/src/main/java/org/eclipse/daanse/olap/function/def/set/ExprIterCalc.java
index 7c35a11d8f..e6b99a89b2 100644
--- a/mondrian/src/main/java/org/eclipse/daanse/olap/function/def/set/ExprIterCalc.java
+++ b/mondrian/src/main/java/org/eclipse/daanse/olap/function/def/set/ExprIterCalc.java
@@ -60,9 +60,7 @@ public TupleIteratorCalc[] getChildCalcs() {
}
@Override
- public TupleIterable evaluateIterable(
- final Evaluator evaluator)
- {
+ public TupleIterable evaluate(final Evaluator evaluator) {
return new AbstractTupleIterable(getType().getArity()) {
@Override
public TupleCursor tupleCursor() {
@@ -82,8 +80,8 @@ public boolean forward() {
return false;
}
currentCursor =
- calcIterator.next()
- .evaluateIterable(evaluator)
+ ((TupleIterable) calcIterator.next()
+ .evaluate(evaluator))
.tupleCursor();
}
}
diff --git a/mondrian/src/main/java/org/eclipse/daanse/olap/function/def/set/SetCalc.java b/mondrian/src/main/java/org/eclipse/daanse/olap/function/def/set/SetCalc.java
index 779dd067b5..76922f736b 100644
--- a/mondrian/src/main/java/org/eclipse/daanse/olap/function/def/set/SetCalc.java
+++ b/mondrian/src/main/java/org/eclipse/daanse/olap/function/def/set/SetCalc.java
@@ -31,7 +31,7 @@ protected SetCalc(Type type, final TupleCalc tupleCalc) {
}
@Override
- public TupleIterable evaluateIterable(Evaluator evaluator) {
+ public TupleIterable evaluate(Evaluator evaluator) {
TupleCalc tupleCalc = getChildCalc(0, TupleCalc.class);
final Member[] members = tupleCalc.evaluate(evaluator);
return new ListTupleList(tupleCalc.getType().getArity(), Arrays.asList(members));
diff --git a/mondrian/src/main/java/org/eclipse/daanse/olap/function/def/set/SetFunDef.java b/mondrian/src/main/java/org/eclipse/daanse/olap/function/def/set/SetFunDef.java
index 8686440342..107ae302f3 100644
--- a/mondrian/src/main/java/org/eclipse/daanse/olap/function/def/set/SetFunDef.java
+++ b/mondrian/src/main/java/org/eclipse/daanse/olap/function/def/set/SetFunDef.java
@@ -109,7 +109,10 @@ public Calc> compileCall(ResolvedFunCall call, ExpressionCompiler compiler) {
// write 'Foo.Children on 1'.
return args[0].accept(compiler);
}
- return new SetListCalc(call.getType(), args, compiler, ResultStyle.LIST_MUTABLELIST);
+
+
+ return new SetListCalc(call.getType(), args, compiler, ResultStyle.LIST_MUTABLELIST);
+
}
static List> compileSelf(Expression[] args, ExpressionCompiler compiler,
diff --git a/mondrian/src/main/java/org/eclipse/daanse/olap/function/def/set/SetIterableCalc.java b/mondrian/src/main/java/org/eclipse/daanse/olap/function/def/set/SetIterableCalc.java
index 1e1d1e5505..eb8b79d90b 100644
--- a/mondrian/src/main/java/org/eclipse/daanse/olap/function/def/set/SetIterableCalc.java
+++ b/mondrian/src/main/java/org/eclipse/daanse/olap/function/def/set/SetIterableCalc.java
@@ -23,7 +23,7 @@
public class SetIterableCalc extends AbstractIterCalc{
- private final TupleIteratorCalc tupleIteratorCalc;
+ private final TupleIteratorCalc> tupleIteratorCalc;
protected SetIterableCalc(Type type, Calc> calc, final TupleIteratorCalc tupleIteratorCalc) {
super(type, calc);
@@ -32,8 +32,8 @@ protected SetIterableCalc(Type type, Calc> calc, final TupleIteratorCalc tuple
// name "Sublist..."
@Override
- public TupleIterable evaluateIterable(Evaluator evaluator) {
- return tupleIteratorCalc.evaluateIterable(evaluator);
+ public TupleIterable evaluate(Evaluator evaluator) {
+ return tupleIteratorCalc.evaluate(evaluator);
}
}
diff --git a/mondrian/src/main/java/org/eclipse/daanse/olap/function/def/set/SetListCalc.java b/mondrian/src/main/java/org/eclipse/daanse/olap/function/def/set/SetListCalc.java
index 527d74a6d9..88a67b527b 100644
--- a/mondrian/src/main/java/org/eclipse/daanse/olap/function/def/set/SetListCalc.java
+++ b/mondrian/src/main/java/org/eclipse/daanse/olap/function/def/set/SetListCalc.java
@@ -93,7 +93,7 @@ private VoidCalc createCalc(
@Override
public Void evaluate(Evaluator evaluator) {
TupleList list =
- tupleListCalc.evaluateList(evaluator);
+ tupleListCalc.evaluate(evaluator);
// Add only tuples which are not null. Tuples with
// any null members are considered null.
outer:
@@ -118,7 +118,7 @@ public Void evaluate(Evaluator evaluator) {
@Override
public Void evaluate(Evaluator evaluator) {
TupleList list =
- tupleListCalc.evaluateList(evaluator);
+ tupleListCalc.evaluate(evaluator);
result = list;
return null;
}
@@ -159,7 +159,7 @@ public Void evaluate(Evaluator evaluator) {
}
@Override
- public TupleList evaluateList(final Evaluator evaluator) {
+ public TupleList evaluate(final Evaluator evaluator) {
result.clear();
for (VoidCalc voidCalc : voidCalcs) {
voidCalc.evaluate(evaluator);
diff --git a/mondrian/src/main/java/org/eclipse/daanse/olap/function/def/set/SetMemberCalc.java b/mondrian/src/main/java/org/eclipse/daanse/olap/function/def/set/SetMemberCalc.java
index 9796184005..bb9e079898 100644
--- a/mondrian/src/main/java/org/eclipse/daanse/olap/function/def/set/SetMemberCalc.java
+++ b/mondrian/src/main/java/org/eclipse/daanse/olap/function/def/set/SetMemberCalc.java
@@ -33,7 +33,7 @@ public SetMemberCalc(Type type, MemberCalc memberCalc) {
// name "Sublist..."// name "Sublist..."
@Override
- public TupleIterable evaluateIterable(Evaluator evaluator) {
+ public TupleIterable evaluate(Evaluator evaluator) {
final Member member = getChildCalc(0, MemberCalc.class).evaluate(evaluator);
return member == null ? TupleCollections.createList(1)
: new UnaryTupleList(Collections.singletonList(member));
diff --git a/mondrian/src/main/java/org/eclipse/daanse/olap/function/def/set/SetMutableCalc.java b/mondrian/src/main/java/org/eclipse/daanse/olap/function/def/set/SetMutableCalc.java
index 029a6f01cb..6fc68e5aa1 100644
--- a/mondrian/src/main/java/org/eclipse/daanse/olap/function/def/set/SetMutableCalc.java
+++ b/mondrian/src/main/java/org/eclipse/daanse/olap/function/def/set/SetMutableCalc.java
@@ -36,8 +36,8 @@ protected SetMutableCalc(Type type, Calc> calc, final TupleListCalc tupleListC
// name "Sublist..."
@Override
- public TupleIterable evaluateIterable(Evaluator evaluator) {
- TupleList list = tupleListCalc.evaluateList(evaluator);
+ public TupleIterable evaluate(Evaluator evaluator) {
+ TupleList list = tupleListCalc.evaluate(evaluator);
TupleList result = list.copyList(list.size());
// Add only tuples which are not null. Tuples with
// any null members are considered null.
diff --git a/mondrian/src/main/java/org/eclipse/daanse/olap/function/def/set/addcalculatedmembers/AddCalculatedMembersCalc.java b/mondrian/src/main/java/org/eclipse/daanse/olap/function/def/set/addcalculatedmembers/AddCalculatedMembersCalc.java
index 8cb724e95e..9f26014c96 100644
--- a/mondrian/src/main/java/org/eclipse/daanse/olap/function/def/set/addcalculatedmembers/AddCalculatedMembersCalc.java
+++ b/mondrian/src/main/java/org/eclipse/daanse/olap/function/def/set/addcalculatedmembers/AddCalculatedMembersCalc.java
@@ -38,8 +38,8 @@ protected AddCalculatedMembersCalc(Type type, final TupleListCalc tupleListCalc)
}
@Override
- public TupleList evaluateList(Evaluator evaluator) {
- final TupleList list = getChildCalc(0, TupleListCalc.class).evaluateList(evaluator);
+ public TupleList evaluate(Evaluator evaluator) {
+ final TupleList list = getChildCalc(0, TupleListCalc.class).evaluate(evaluator);
return new UnaryTupleList(addCalculatedMembers(list.slice(0), evaluator));
}
diff --git a/mondrian/src/main/java/org/eclipse/daanse/olap/function/def/set/ascendants/AscendantsCalc.java b/mondrian/src/main/java/org/eclipse/daanse/olap/function/def/set/ascendants/AscendantsCalc.java
index a2ccb58cac..b888465d15 100644
--- a/mondrian/src/main/java/org/eclipse/daanse/olap/function/def/set/ascendants/AscendantsCalc.java
+++ b/mondrian/src/main/java/org/eclipse/daanse/olap/function/def/set/ascendants/AscendantsCalc.java
@@ -34,7 +34,7 @@ protected AscendantsCalc(Type type, final MemberCalc memberCalc) {
}
@Override
- public TupleList evaluateList(Evaluator evaluator) {
+ public TupleList evaluate(Evaluator evaluator) {
Member member = getChildCalc(0, MemberCalc.class).evaluate(evaluator);
return new UnaryTupleList(ascendants(evaluator.getCatalogReader(), member));
}
diff --git a/mondrian/src/main/java/org/eclipse/daanse/olap/function/def/set/children/ChildrenCalc.java b/mondrian/src/main/java/org/eclipse/daanse/olap/function/def/set/children/ChildrenCalc.java
index 1dab21281a..a05b7e681d 100644
--- a/mondrian/src/main/java/org/eclipse/daanse/olap/function/def/set/children/ChildrenCalc.java
+++ b/mondrian/src/main/java/org/eclipse/daanse/olap/function/def/set/children/ChildrenCalc.java
@@ -31,7 +31,7 @@ protected ChildrenCalc(Type type, final MemberCalc memberCalc) {
}
@Override
- public TupleList evaluateList(Evaluator evaluator) {
+ public TupleList evaluate(Evaluator evaluator) {
// Return the list of children. The list is immutable,
// hence 'false' above.
Member member = getChildCalc(0, MemberCalc.class).evaluate(evaluator);
diff --git a/mondrian/src/main/java/org/eclipse/daanse/olap/function/def/set/distinct/DistinctCalc.java b/mondrian/src/main/java/org/eclipse/daanse/olap/function/def/set/distinct/DistinctCalc.java
index eff0e1406a..3c0d2d6956 100644
--- a/mondrian/src/main/java/org/eclipse/daanse/olap/function/def/set/distinct/DistinctCalc.java
+++ b/mondrian/src/main/java/org/eclipse/daanse/olap/function/def/set/distinct/DistinctCalc.java
@@ -35,8 +35,8 @@ public DistinctCalc(ResolvedFunCall call, TupleListCalc tupleListCalc) {
}
@Override
- public TupleList evaluateList(Evaluator evaluator) {
- TupleList list = tupleListCalc.evaluateList(evaluator);
+ public TupleList evaluate(Evaluator evaluator) {
+ TupleList list = tupleListCalc.evaluate(evaluator);
Set> set = new HashSet<>(list.size());
TupleList result = list.copyList(list.size());
for (List element : list) {
diff --git a/mondrian/src/main/java/org/eclipse/daanse/olap/function/def/set/existing/ExistingCalc.java b/mondrian/src/main/java/org/eclipse/daanse/olap/function/def/set/existing/ExistingCalc.java
index 312861100c..4de90dfaa1 100644
--- a/mondrian/src/main/java/org/eclipse/daanse/olap/function/def/set/existing/ExistingCalc.java
+++ b/mondrian/src/main/java/org/eclipse/daanse/olap/function/def/set/existing/ExistingCalc.java
@@ -44,8 +44,8 @@ public boolean dependsOn(Hierarchy hierarchy) {
}
@Override
- public TupleList evaluateList(Evaluator evaluator) {
- TupleIterable setTuples = getChildCalc(0, TupleIteratorCalc.class).evaluateIterable(evaluator);
+ public TupleList evaluate(Evaluator evaluator) {
+ TupleIterable setTuples = (TupleIterable) getChildCalc(0, TupleIteratorCalc.class).evaluate(evaluator);
TupleList result = TupleCollections.createList(setTuples.getArity());
List contextMembers = Arrays.asList(evaluator.getMembers());
diff --git a/mondrian/src/main/java/org/eclipse/daanse/olap/function/def/set/extract/ExtractCalc.java b/mondrian/src/main/java/org/eclipse/daanse/olap/function/def/set/extract/ExtractCalc.java
index 9755585507..2bf83627d7 100644
--- a/mondrian/src/main/java/org/eclipse/daanse/olap/function/def/set/extract/ExtractCalc.java
+++ b/mondrian/src/main/java/org/eclipse/daanse/olap/function/def/set/extract/ExtractCalc.java
@@ -38,9 +38,9 @@ protected ExtractCalc(Type type, final int outArity, final int[] extractedOrdina
}
@Override
- public TupleList evaluateList(Evaluator evaluator) {
+ public TupleList evaluate(Evaluator evaluator) {
TupleList result = TupleCollections.createList(outArity);
- TupleList list = getChildCalc(0, TupleListCalc.class).evaluateList(evaluator);
+ TupleList list = getChildCalc(0, TupleListCalc.class).evaluate(evaluator);
Set> emittedTuples = new HashSet<>();
for (List members : list.project(extractedOrdinals)) {
if (emittedTuples.add(members)) {
diff --git a/mondrian/src/main/java/org/eclipse/daanse/olap/function/def/set/filter/BaseIterFilterCalc.java b/mondrian/src/main/java/org/eclipse/daanse/olap/function/def/set/filter/BaseIterFilterCalc.java
index 8d0e886f5b..47cdc41021 100644
--- a/mondrian/src/main/java/org/eclipse/daanse/olap/function/def/set/filter/BaseIterFilterCalc.java
+++ b/mondrian/src/main/java/org/eclipse/daanse/olap/function/def/set/filter/BaseIterFilterCalc.java
@@ -34,7 +34,7 @@ protected BaseIterFilterCalc(ResolvedFunCall call, Calc>[] calcs) {
}
@Override
- public TupleIterable evaluateIterable(Evaluator evaluator) {
+ public TupleIterable evaluate(Evaluator evaluator) {
evaluator.getTiming().markStart(FilterFunDef.TIMING_NAME);
try {
// Use a native evaluator, if more efficient.
diff --git a/mondrian/src/main/java/org/eclipse/daanse/olap/function/def/set/filter/BaseListFilterCalc.java b/mondrian/src/main/java/org/eclipse/daanse/olap/function/def/set/filter/BaseListFilterCalc.java
index 4834b7dbcb..46350d5ea0 100644
--- a/mondrian/src/main/java/org/eclipse/daanse/olap/function/def/set/filter/BaseListFilterCalc.java
+++ b/mondrian/src/main/java/org/eclipse/daanse/olap/function/def/set/filter/BaseListFilterCalc.java
@@ -34,7 +34,7 @@ protected BaseListFilterCalc(ResolvedFunCall call, Calc>[] calcs) {
}
@Override
- public TupleList evaluateList(Evaluator evaluator) {
+ public TupleList evaluate(Evaluator evaluator) {
// Use a native evaluator, if more efficient.
// TODO: Figure this out at compile time.
CatalogReader schemaReader = evaluator.getCatalogReader();
diff --git a/mondrian/src/main/java/org/eclipse/daanse/olap/function/def/set/filter/ImmutableIterFilterCalc.java b/mondrian/src/main/java/org/eclipse/daanse/olap/function/def/set/filter/ImmutableIterFilterCalc.java
index bcbdde00e4..2e23e9959c 100644
--- a/mondrian/src/main/java/org/eclipse/daanse/olap/function/def/set/filter/ImmutableIterFilterCalc.java
+++ b/mondrian/src/main/java/org/eclipse/daanse/olap/function/def/set/filter/ImmutableIterFilterCalc.java
@@ -38,7 +38,7 @@ protected TupleIterable makeIterable(Evaluator evaluator) {
Calc>[] calcs = getChildCalcs();
TupleListCalc lcalc = (TupleListCalc) calcs[0];
BooleanCalc bcalc = (BooleanCalc) calcs[1];
- TupleList members = lcalc.evaluateList(evaluator);
+ TupleList members = lcalc.evaluate(evaluator);
// Not mutable, must create new list
TupleList result = members.copyList(members.size() / 2);
diff --git a/mondrian/src/main/java/org/eclipse/daanse/olap/function/def/set/filter/ImmutableListFilterCalc.java b/mondrian/src/main/java/org/eclipse/daanse/olap/function/def/set/filter/ImmutableListFilterCalc.java
index e5525fa92c..dede29ff8f 100644
--- a/mondrian/src/main/java/org/eclipse/daanse/olap/function/def/set/filter/ImmutableListFilterCalc.java
+++ b/mondrian/src/main/java/org/eclipse/daanse/olap/function/def/set/filter/ImmutableListFilterCalc.java
@@ -39,7 +39,7 @@ protected TupleList makeList(Evaluator evaluator) {
Calc>[] calcs = getChildCalcs();
TupleListCalc lcalc = (TupleListCalc) calcs[0];
BooleanCalc bcalc = (BooleanCalc) calcs[1];
- TupleList members0 = lcalc.evaluateList(evaluator);
+ TupleList members0 = lcalc.evaluate(evaluator);
// Not mutable, must create new list;
// for capacity planning, guess selectivity = .5
diff --git a/mondrian/src/main/java/org/eclipse/daanse/olap/function/def/set/filter/IterIterFilterCalc.java b/mondrian/src/main/java/org/eclipse/daanse/olap/function/def/set/filter/IterIterFilterCalc.java
index 7e7c95c6f2..7e7fccce43 100644
--- a/mondrian/src/main/java/org/eclipse/daanse/olap/function/def/set/filter/IterIterFilterCalc.java
+++ b/mondrian/src/main/java/org/eclipse/daanse/olap/function/def/set/filter/IterIterFilterCalc.java
@@ -41,13 +41,13 @@ public IterIterFilterCalc(ResolvedFunCall call, Calc>[] calcs) {
@Override
protected TupleIterable makeIterable(Evaluator evaluator) {
Calc>[] calcs = getChildCalcs();
- TupleIteratorCalc icalc = (TupleIteratorCalc) calcs[0];
+ TupleIteratorCalc> icalc = (TupleIteratorCalc) calcs[0];
final BooleanCalc bcalc = (BooleanCalc) calcs[1];
// This does dynamics, just in time,
// as needed filtering
final TupleIterable iterable =
- icalc.evaluateIterable(evaluator);
+ icalc.evaluate(evaluator);
final Evaluator evaluator2 = evaluator.push();
evaluator2.setNonEmpty(false);
return new AbstractTupleIterable(iterable.getArity()) {
diff --git a/mondrian/src/main/java/org/eclipse/daanse/olap/function/def/set/filter/MutableIterFilterCalc.java b/mondrian/src/main/java/org/eclipse/daanse/olap/function/def/set/filter/MutableIterFilterCalc.java
index 3cd71e8918..630b8a9ac4 100644
--- a/mondrian/src/main/java/org/eclipse/daanse/olap/function/def/set/filter/MutableIterFilterCalc.java
+++ b/mondrian/src/main/java/org/eclipse/daanse/olap/function/def/set/filter/MutableIterFilterCalc.java
@@ -42,7 +42,7 @@ protected TupleIterable makeIterable(Evaluator evaluator) {
TupleListCalc lcalc = (TupleListCalc) calcs[0];
BooleanCalc bcalc = (BooleanCalc) calcs[1];
- TupleList list = lcalc.evaluateList(evaluator);
+ TupleList list = lcalc.evaluate(evaluator);
// make list mutable; guess selectivity .5
TupleList result =
diff --git a/mondrian/src/main/java/org/eclipse/daanse/olap/function/def/set/filter/MutableListFilterCalc.java b/mondrian/src/main/java/org/eclipse/daanse/olap/function/def/set/filter/MutableListFilterCalc.java
index 8bbefac665..a560380fcd 100644
--- a/mondrian/src/main/java/org/eclipse/daanse/olap/function/def/set/filter/MutableListFilterCalc.java
+++ b/mondrian/src/main/java/org/eclipse/daanse/olap/function/def/set/filter/MutableListFilterCalc.java
@@ -36,7 +36,7 @@ protected TupleList makeList(Evaluator evaluator) {
Calc>[] calcs = getChildCalcs();
TupleListCalc lcalc = (TupleListCalc) calcs[0];
BooleanCalc bcalc = (BooleanCalc) calcs[1];
- TupleList members0 = lcalc.evaluateList(evaluator);
+ TupleList members0 = lcalc.evaluate(evaluator);
// make list mutable;
// for capacity planning, guess selectivity = .5
diff --git a/mondrian/src/main/java/org/eclipse/daanse/olap/function/def/set/hierarchy/AllMembersCalc.java b/mondrian/src/main/java/org/eclipse/daanse/olap/function/def/set/hierarchy/AllMembersCalc.java
index e25b70c871..9fde92d9f4 100644
--- a/mondrian/src/main/java/org/eclipse/daanse/olap/function/def/set/hierarchy/AllMembersCalc.java
+++ b/mondrian/src/main/java/org/eclipse/daanse/olap/function/def/set/hierarchy/AllMembersCalc.java
@@ -29,7 +29,7 @@ protected AllMembersCalc(Type type, final HierarchyCalc hierarchyCalc) {
}
@Override
- public TupleList evaluateList(Evaluator evaluator) {
+ public TupleList evaluate(Evaluator evaluator) {
Hierarchy hierarchy = getChildCalc(0, HierarchyCalc.class).evaluate(evaluator);
return FunUtil.hierarchyMembers(hierarchy, evaluator, true);
}
diff --git a/mondrian/src/main/java/org/eclipse/daanse/olap/function/def/set/level/AllMembersCalc.java b/mondrian/src/main/java/org/eclipse/daanse/olap/function/def/set/level/AllMembersCalc.java
index e1c38f5cec..e579d5bcf1 100644
--- a/mondrian/src/main/java/org/eclipse/daanse/olap/function/def/set/level/AllMembersCalc.java
+++ b/mondrian/src/main/java/org/eclipse/daanse/olap/function/def/set/level/AllMembersCalc.java
@@ -29,7 +29,7 @@ protected AllMembersCalc(Type type, final LevelCalc levelCalc) {
}
@Override
- public TupleList evaluateList(Evaluator evaluator) {
+ public TupleList evaluate(Evaluator evaluator) {
Level level = getChildCalc(0, LevelCalc.class).evaluate(evaluator);
return FunUtil.levelMembers(level, evaluator, true);
}
diff --git a/mondrian/src/main/java/org/eclipse/daanse/olap/function/def/set/level/LevelMembersCalc.java b/mondrian/src/main/java/org/eclipse/daanse/olap/function/def/set/level/LevelMembersCalc.java
index eddede695e..b19a576565 100644
--- a/mondrian/src/main/java/org/eclipse/daanse/olap/function/def/set/level/LevelMembersCalc.java
+++ b/mondrian/src/main/java/org/eclipse/daanse/olap/function/def/set/level/LevelMembersCalc.java
@@ -29,7 +29,7 @@ protected LevelMembersCalc(Type type, final LevelCalc levelCalc) {
}
@Override
- public TupleList evaluateList(Evaluator evaluator) {
+ public TupleList evaluate(Evaluator evaluator) {
Level level = getChildCalc(0, LevelCalc.class).evaluate(evaluator);
return FunUtil.levelMembers(level, evaluator, false);
}
diff --git a/mondrian/src/main/java/org/eclipse/daanse/olap/function/def/set/members/MembersCalc.java b/mondrian/src/main/java/org/eclipse/daanse/olap/function/def/set/members/MembersCalc.java
index 91d946d881..3375a9a4e2 100644
--- a/mondrian/src/main/java/org/eclipse/daanse/olap/function/def/set/members/MembersCalc.java
+++ b/mondrian/src/main/java/org/eclipse/daanse/olap/function/def/set/members/MembersCalc.java
@@ -29,7 +29,7 @@ protected MembersCalc(Type type, final HierarchyCalc hierarchyCalc) {
}
@Override
- public TupleList evaluateList(Evaluator evaluator) {
+ public TupleList evaluate(Evaluator evaluator) {
Hierarchy hierarchy = getChildCalc(0, HierarchyCalc.class).evaluate(evaluator);
return FunUtil.hierarchyMembers(hierarchy, evaluator, false);
}
diff --git a/mondrian/src/main/java/org/eclipse/daanse/olap/function/def/set/range/RangeCalc.java b/mondrian/src/main/java/org/eclipse/daanse/olap/function/def/set/range/RangeCalc.java
index 09c6ea5f4d..752deb17de 100644
--- a/mondrian/src/main/java/org/eclipse/daanse/olap/function/def/set/range/RangeCalc.java
+++ b/mondrian/src/main/java/org/eclipse/daanse/olap/function/def/set/range/RangeCalc.java
@@ -31,7 +31,7 @@ protected RangeCalc(Type type, MemberCalc... calcs) {
}
@Override
- public TupleList evaluateList(Evaluator evaluator) {
+ public TupleList evaluate(Evaluator evaluator) {
final Member member0 = getChildCalc(0, MemberCalc.class).evaluate(evaluator);
final Member member1 = getChildCalc(1, MemberCalc.class).evaluate(evaluator);
if (member0.isNull() || member1.isNull()) {
diff --git a/mondrian/src/main/java/org/eclipse/daanse/olap/function/def/set/setitem/SetItemCalc.java b/mondrian/src/main/java/org/eclipse/daanse/olap/function/def/set/setitem/SetItemCalc.java
index 47dd4640e1..4b05aa414d 100644
--- a/mondrian/src/main/java/org/eclipse/daanse/olap/function/def/set/setitem/SetItemCalc.java
+++ b/mondrian/src/main/java/org/eclipse/daanse/olap/function/def/set/setitem/SetItemCalc.java
@@ -43,7 +43,7 @@ public Member evaluate(Evaluator evaluator) {
try {
evaluator.setNonEmpty(false);
list =
- tupleListCalc.evaluateList(evaluator).slice(0);
+ tupleListCalc.evaluate(evaluator).slice(0);
assert list != null;
} finally {
evaluator.restore(savepoint);
diff --git a/mondrian/src/main/java/org/eclipse/daanse/olap/function/def/set/setitem/SetItemStringCalc.java b/mondrian/src/main/java/org/eclipse/daanse/olap/function/def/set/setitem/SetItemStringCalc.java
index 87b9050673..6c8ea94bb2 100644
--- a/mondrian/src/main/java/org/eclipse/daanse/olap/function/def/set/setitem/SetItemStringCalc.java
+++ b/mondrian/src/main/java/org/eclipse/daanse/olap/function/def/set/setitem/SetItemStringCalc.java
@@ -43,7 +43,7 @@ public Member evaluate(Evaluator evaluator) {
final List list;
try {
evaluator.setNonEmpty(false);
- list = tupleListCalc.evaluateList(evaluator).slice(0);
+ list = tupleListCalc.evaluate(evaluator).slice(0);
assert list != null;
} finally {
evaluator.restore(savepoint);
diff --git a/mondrian/src/main/java/org/eclipse/daanse/olap/function/def/set/setitem/SetItemStringTupleCalc.java b/mondrian/src/main/java/org/eclipse/daanse/olap/function/def/set/setitem/SetItemStringTupleCalc.java
index 4ac5f7d8e5..b05eb423d1 100644
--- a/mondrian/src/main/java/org/eclipse/daanse/olap/function/def/set/setitem/SetItemStringTupleCalc.java
+++ b/mondrian/src/main/java/org/eclipse/daanse/olap/function/def/set/setitem/SetItemStringTupleCalc.java
@@ -41,7 +41,7 @@ public Member[] evaluate(Evaluator evaluator) {
final TupleList list;
try {
evaluator.setNonEmpty(false);
- list = tupleListCalc.evaluateList(evaluator);
+ list = tupleListCalc.evaluate(evaluator);
assert list != null;
} finally {
evaluator.restore(savepoint);
diff --git a/mondrian/src/main/java/org/eclipse/daanse/olap/function/def/set/setitem/SetItemTupleCalc.java b/mondrian/src/main/java/org/eclipse/daanse/olap/function/def/set/setitem/SetItemTupleCalc.java
index 79dba52751..340d156c4c 100644
--- a/mondrian/src/main/java/org/eclipse/daanse/olap/function/def/set/setitem/SetItemTupleCalc.java
+++ b/mondrian/src/main/java/org/eclipse/daanse/olap/function/def/set/setitem/SetItemTupleCalc.java
@@ -45,7 +45,7 @@ public Member[] evaluate(Evaluator evaluator) {
try {
evaluator.setNonEmpty(false);
list =
- tupleListCalc.evaluateList(evaluator);
+ tupleListCalc.evaluate(evaluator);
} finally {
evaluator.restore(savepoint);
}
diff --git a/mondrian/src/main/java/org/eclipse/daanse/olap/function/def/set/siblings/SiblingsCalc.java b/mondrian/src/main/java/org/eclipse/daanse/olap/function/def/set/siblings/SiblingsCalc.java
index ccfa131838..2927f2abde 100644
--- a/mondrian/src/main/java/org/eclipse/daanse/olap/function/def/set/siblings/SiblingsCalc.java
+++ b/mondrian/src/main/java/org/eclipse/daanse/olap/function/def/set/siblings/SiblingsCalc.java
@@ -33,7 +33,7 @@ protected SiblingsCalc(Type type, final MemberCalc memberCalc) {
}
@Override
- public TupleList evaluateList(Evaluator evaluator) {
+ public TupleList evaluate(Evaluator evaluator) {
final Member member = getChildCalc(0, MemberCalc.class).evaluate(evaluator);
return new UnaryTupleList(memberSiblings(member, evaluator));
}
diff --git a/mondrian/src/main/java/org/eclipse/daanse/olap/function/def/set/stripcalculatedmembers/StripCalculatedMembersCalc.java b/mondrian/src/main/java/org/eclipse/daanse/olap/function/def/set/stripcalculatedmembers/StripCalculatedMembersCalc.java
index 2f98db8932..51c61c555c 100644
--- a/mondrian/src/main/java/org/eclipse/daanse/olap/function/def/set/stripcalculatedmembers/StripCalculatedMembersCalc.java
+++ b/mondrian/src/main/java/org/eclipse/daanse/olap/function/def/set/stripcalculatedmembers/StripCalculatedMembersCalc.java
@@ -28,8 +28,8 @@ protected StripCalculatedMembersCalc(Type type, final TupleListCalc tupleListCal
}
@Override
- public TupleList evaluateList(Evaluator evaluator) {
- TupleList list = getChildCalc(0, TupleListCalc.class).evaluateList(evaluator);
+ public TupleList evaluate(Evaluator evaluator) {
+ TupleList list = getChildCalc(0, TupleListCalc.class).evaluate(evaluator);
return FunUtil.removeCalculatedMembers(list);
}
diff --git a/mondrian/src/main/java/org/eclipse/daanse/olap/function/def/settostr/SetToStrCalc.java b/mondrian/src/main/java/org/eclipse/daanse/olap/function/def/settostr/SetToStrCalc.java
index 5c4bce1a64..c8dd28a359 100644
--- a/mondrian/src/main/java/org/eclipse/daanse/olap/function/def/settostr/SetToStrCalc.java
+++ b/mondrian/src/main/java/org/eclipse/daanse/olap/function/def/settostr/SetToStrCalc.java
@@ -33,7 +33,7 @@ protected SetToStrCalc(Type type, final TupleListCalc tupleListCalc) {
@Override
public String evaluate(Evaluator evaluator) {
- final TupleList list = getChildCalc(0, TupleListCalc.class).evaluateList(evaluator);
+ final TupleList list = getChildCalc(0, TupleListCalc.class).evaluate(evaluator);
if (list.getArity() == 1) {
return memberSetToStr(list.slice(0));
} else {
diff --git a/mondrian/src/main/java/org/eclipse/daanse/olap/function/def/strtoset/StrToSetHierarchyCalc.java b/mondrian/src/main/java/org/eclipse/daanse/olap/function/def/strtoset/StrToSetHierarchyCalc.java
index d723dc58cb..4de9270518 100644
--- a/mondrian/src/main/java/org/eclipse/daanse/olap/function/def/strtoset/StrToSetHierarchyCalc.java
+++ b/mondrian/src/main/java/org/eclipse/daanse/olap/function/def/strtoset/StrToSetHierarchyCalc.java
@@ -34,7 +34,7 @@ protected StrToSetHierarchyCalc(Type type, final StringCalc stringCalc, final Hi
}
@Override
- public TupleList evaluateList(Evaluator evaluator) {
+ public TupleList evaluate(Evaluator evaluator) {
String string = getChildCalc(0, StringCalc.class).evaluate(evaluator);
if (string == null) {
throw FunUtil.newEvalException(new EmptyExpressionWasSpecifiedException());
diff --git a/mondrian/src/main/java/org/eclipse/daanse/olap/function/def/strtoset/StrToSetHierarchyListCalc.java b/mondrian/src/main/java/org/eclipse/daanse/olap/function/def/strtoset/StrToSetHierarchyListCalc.java
index 80703f1877..45d52e9259 100644
--- a/mondrian/src/main/java/org/eclipse/daanse/olap/function/def/strtoset/StrToSetHierarchyListCalc.java
+++ b/mondrian/src/main/java/org/eclipse/daanse/olap/function/def/strtoset/StrToSetHierarchyListCalc.java
@@ -35,7 +35,7 @@ protected StrToSetHierarchyListCalc(Type type, final StringCalc stringCalc, fina
}
@Override
- public TupleList evaluateList(Evaluator evaluator) {
+ public TupleList evaluate(Evaluator evaluator) {
String string = getChildCalc(0, StringCalc.class).evaluate(evaluator);
if (string == null) {
throw FunUtil.newEvalException(new EmptyExpressionWasSpecifiedException());
diff --git a/mondrian/src/main/java/org/eclipse/daanse/olap/function/def/subset/SubsetCalc.java b/mondrian/src/main/java/org/eclipse/daanse/olap/function/def/subset/SubsetCalc.java
index bfd13e3659..8beff4e596 100644
--- a/mondrian/src/main/java/org/eclipse/daanse/olap/function/def/subset/SubsetCalc.java
+++ b/mondrian/src/main/java/org/eclipse/daanse/olap/function/def/subset/SubsetCalc.java
@@ -29,14 +29,14 @@ public SubsetCalc(Type type, TupleListCalc tupleListCalc, IntegerCalc startCalc,
}
@Override
- public TupleList evaluateList(Evaluator evaluator) {
+ public TupleList evaluate(Evaluator evaluator) {
TupleListCalc tupleListCalc = getChildCalc(0, TupleListCalc.class);
IntegerCalc startCalc = getChildCalc(1, IntegerCalc.class);
IntegerCalc countCalc = getChildCalc(2, IntegerCalc.class);
final int savepoint = evaluator.savepoint();
try {
evaluator.setNonEmpty(false);
- final TupleList list = tupleListCalc.evaluateList(evaluator);
+ final TupleList list = tupleListCalc.evaluate(evaluator);
final Integer start = startCalc.evaluate(evaluator);
int end;
if (countCalc != null) {
diff --git a/mondrian/src/main/java/org/eclipse/daanse/olap/function/def/sum/SumIterCalc.java b/mondrian/src/main/java/org/eclipse/daanse/olap/function/def/sum/SumIterCalc.java
index c695833f28..4d8aa10d34 100644
--- a/mondrian/src/main/java/org/eclipse/daanse/olap/function/def/sum/SumIterCalc.java
+++ b/mondrian/src/main/java/org/eclipse/daanse/olap/function/def/sum/SumIterCalc.java
@@ -49,13 +49,13 @@ public boolean dependsOn(Hierarchy hierarchy) {
return HirarchyDependsChecker.checkAnyDependsButFirst(getChildCalcs(), hierarchy);
}
- private TupleIterable evaluateCurrentIterable(TupleIteratorCalc tupleIteratorCalc, Evaluator evaluator) {
+ private TupleIterable evaluateCurrentIterable(TupleIteratorCalc> tupleIteratorCalc, Evaluator evaluator) {
final int savepoint = evaluator.savepoint();
int currLen = 0;
TupleIterable iterable;
try {
evaluator.setNonEmpty(false);
- iterable = tupleIteratorCalc.evaluateIterable(evaluator);
+ iterable = tupleIteratorCalc.evaluate(evaluator);
} finally {
evaluator.restore(savepoint);
}
diff --git a/mondrian/src/main/java/org/eclipse/daanse/olap/function/def/toggledrillstate/ToggleDrillStateCalc.java b/mondrian/src/main/java/org/eclipse/daanse/olap/function/def/toggledrillstate/ToggleDrillStateCalc.java
index 0b2d831709..3b362e0973 100644
--- a/mondrian/src/main/java/org/eclipse/daanse/olap/function/def/toggledrillstate/ToggleDrillStateCalc.java
+++ b/mondrian/src/main/java/org/eclipse/daanse/olap/function/def/toggledrillstate/ToggleDrillStateCalc.java
@@ -33,11 +33,11 @@ public ToggleDrillStateCalc(Type type, TupleListCalc listCalc0, TupleListCalc li
}
@Override
- public TupleList evaluateList(Evaluator evaluator) {
+ public TupleList evaluate(Evaluator evaluator) {
TupleListCalc listCalc0 = getChildCalc(0, TupleListCalc.class);
TupleListCalc listCalc1 = getChildCalc(1, TupleListCalc.class);
- final TupleList list0 = listCalc0.evaluateList(evaluator);
- final TupleList list1 = listCalc1.evaluateList(evaluator);
+ final TupleList list0 = listCalc0.evaluate(evaluator);
+ final TupleList list1 = listCalc1.evaluate(evaluator);
return toggleDrillStateTuples(evaluator, list0, list1);
}
diff --git a/mondrian/src/main/java/org/eclipse/daanse/olap/function/def/topbottomcount/TopBottomCountCalc.java b/mondrian/src/main/java/org/eclipse/daanse/olap/function/def/topbottomcount/TopBottomCountCalc.java
index e0d67d80e4..7ea2cab8f4 100644
--- a/mondrian/src/main/java/org/eclipse/daanse/olap/function/def/topbottomcount/TopBottomCountCalc.java
+++ b/mondrian/src/main/java/org/eclipse/daanse/olap/function/def/topbottomcount/TopBottomCountCalc.java
@@ -49,7 +49,7 @@ public TopBottomCountCalc(Type type, TupleListCalc tupleListCalc, IntegerCalc in
}
@Override
- public TupleList evaluateList( Evaluator evaluator ) {
+ public TupleList evaluate( Evaluator evaluator ) {
// Use a native evaluator, if more efficient.
// TODO: Figure this out at compile time.
TupleListCalc tupleListCalc = getChildCalc(0, TupleListCalc.class);
@@ -70,7 +70,7 @@ public TupleList evaluateList( Evaluator evaluator ) {
return TupleCollections.emptyList( arity );
}
- TupleList list = tupleListCalc.evaluateList( evaluator );
+ TupleList list = tupleListCalc.evaluate( evaluator );
assert list.getArity() == arity;
if ( list.isEmpty() ) {
return list;
diff --git a/mondrian/src/main/java/org/eclipse/daanse/olap/function/def/topbottompercentsum/TopBottomPercentSumCalc.java b/mondrian/src/main/java/org/eclipse/daanse/olap/function/def/topbottompercentsum/TopBottomPercentSumCalc.java
index db67b7f62f..3f008e897f 100644
--- a/mondrian/src/main/java/org/eclipse/daanse/olap/function/def/topbottompercentsum/TopBottomPercentSumCalc.java
+++ b/mondrian/src/main/java/org/eclipse/daanse/olap/function/def/topbottompercentsum/TopBottomPercentSumCalc.java
@@ -43,11 +43,11 @@ public TopBottomPercentSumCalc(Type type, TupleListCalc tupleListCalc, DoubleCal
}
@Override
- public TupleList evaluateList(Evaluator evaluator) {
+ public TupleList evaluate(Evaluator evaluator) {
TupleListCalc tupleListCalc = getChildCalc(0, TupleListCalc.class);
DoubleCalc doubleCalc = getChildCalc(1, DoubleCalc.class);
Calc> calc = getChildCalc(2, Calc.class);
- TupleList list = tupleListCalc.evaluateList(evaluator);
+ TupleList list = tupleListCalc.evaluate(evaluator);
Double target = doubleCalc.evaluate(evaluator);
if (list.isEmpty()) {
return list;
diff --git a/mondrian/src/main/java/org/eclipse/daanse/olap/function/def/udf/in/InCalc.java b/mondrian/src/main/java/org/eclipse/daanse/olap/function/def/udf/in/InCalc.java
index 22791dfb47..dbd6ecf453 100644
--- a/mondrian/src/main/java/org/eclipse/daanse/olap/function/def/udf/in/InCalc.java
+++ b/mondrian/src/main/java/org/eclipse/daanse/olap/function/def/udf/in/InCalc.java
@@ -31,7 +31,7 @@ protected InCalc(Type type, MemberCalc memberCalc, TupleListCalc tupleListCalc)
public Boolean evaluate(Evaluator evaluator) {
final MemberCalc memberCalc = getChildCalc(0, MemberCalc.class);
final TupleListCalc tupleListCalc = getChildCalc(1, TupleListCalc.class);
- TupleList tupleList = tupleListCalc.evaluateList(evaluator);
+ TupleList tupleList = tupleListCalc.evaluate(evaluator);
Member member = memberCalc.evaluate(evaluator);
//List arg1 = (List) arguments[1].evaluate(evaluator);
diff --git a/mondrian/src/main/java/org/eclipse/daanse/olap/function/def/udf/lastnonempty/LastNonEmptyCalc.java b/mondrian/src/main/java/org/eclipse/daanse/olap/function/def/udf/lastnonempty/LastNonEmptyCalc.java
index ce3538c6a5..c930634ccf 100644
--- a/mondrian/src/main/java/org/eclipse/daanse/olap/function/def/udf/lastnonempty/LastNonEmptyCalc.java
+++ b/mondrian/src/main/java/org/eclipse/daanse/olap/function/def/udf/lastnonempty/LastNonEmptyCalc.java
@@ -38,7 +38,7 @@ protected LastNonEmptyCalc(Type type, TupleListCalc tupleListCalc, Calc> membe
public Member evaluate(Evaluator evaluator) {
final TupleListCalc tupleListCalc = getChildCalc(0, TupleListCalc.class);
final Calc> memberCalc = getChildCalc(1, Calc.class);
- TupleList tupleList = tupleListCalc.evaluateList(evaluator);
+ TupleList tupleList = tupleListCalc.evaluate(evaluator);
final List memberList = tupleList.slice(0);
int nullCount = 0;
int missCount = 0;
diff --git a/mondrian/src/main/java/org/eclipse/daanse/olap/function/def/union/UnionCalc.java b/mondrian/src/main/java/org/eclipse/daanse/olap/function/def/union/UnionCalc.java
index 7ffb883162..dc76b19892 100644
--- a/mondrian/src/main/java/org/eclipse/daanse/olap/function/def/union/UnionCalc.java
+++ b/mondrian/src/main/java/org/eclipse/daanse/olap/function/def/union/UnionCalc.java
@@ -37,11 +37,11 @@ public UnionCalc(Type type, TupleListCalc listCalc0, TupleListCalc listCalc1, fi
}
@Override
- public TupleList evaluateList(Evaluator evaluator) {
+ public TupleList evaluate(Evaluator evaluator) {
TupleListCalc listCalc0 = getChildCalc(0, TupleListCalc.class);
TupleListCalc listCalc1 = getChildCalc(1, TupleListCalc.class);
- TupleList list0 = listCalc0.evaluateList(evaluator);
- TupleList list1 = listCalc1.evaluateList(evaluator);
+ TupleList list0 = listCalc0.evaluate(evaluator);
+ TupleList list1 = listCalc1.evaluate(evaluator);
return union(list0, list1, all);
}
diff --git a/mondrian/src/main/java/org/eclipse/daanse/olap/function/def/visualtotals/VisualTotalsCalc.java b/mondrian/src/main/java/org/eclipse/daanse/olap/function/def/visualtotals/VisualTotalsCalc.java
index 6e99301c23..b701dfb871 100644
--- a/mondrian/src/main/java/org/eclipse/daanse/olap/function/def/visualtotals/VisualTotalsCalc.java
+++ b/mondrian/src/main/java/org/eclipse/daanse/olap/function/def/visualtotals/VisualTotalsCalc.java
@@ -46,9 +46,9 @@ public VisualTotalsCalc(
}
@Override
- public TupleList evaluateList(Evaluator evaluator) {
+ public TupleList evaluate(Evaluator evaluator) {
final List list =
- tupleListCalc.evaluateList(evaluator).slice(0);
+ tupleListCalc.evaluate(evaluator).slice(0);
final List resultList = new ArrayList<>(list);
final int memberCount = list.size();
for (int i = memberCount - 1; i >= 0; --i) {
diff --git a/mondrian/src/main/java/mondrian/olap/AbstractLiteralImpl.java b/mondrian/src/main/java/org/eclipse/daanse/olap/query/component/AbstractLiteralImpl.java
similarity index 95%
rename from mondrian/src/main/java/mondrian/olap/AbstractLiteralImpl.java
rename to mondrian/src/main/java/org/eclipse/daanse/olap/query/component/AbstractLiteralImpl.java
index 32d237ebd5..9568f9d0d5 100644
--- a/mondrian/src/main/java/mondrian/olap/AbstractLiteralImpl.java
+++ b/mondrian/src/main/java/org/eclipse/daanse/olap/query/component/AbstractLiteralImpl.java
@@ -11,7 +11,7 @@
* SmartCity Jena - initial
* Stefan Bischof (bipolis.org) - initial
*/
-package mondrian.olap;
+package org.eclipse.daanse.olap.query.component;
import org.eclipse.daanse.olap.api.Validator;
import org.eclipse.daanse.olap.api.query.component.Expression;
diff --git a/mondrian/src/main/java/org/eclipse/daanse/olap/query/component/NamedSetExpressionImpl.java b/mondrian/src/main/java/org/eclipse/daanse/olap/query/component/NamedSetExpressionImpl.java
index ab35a5bd31..93e83957da 100644
--- a/mondrian/src/main/java/org/eclipse/daanse/olap/query/component/NamedSetExpressionImpl.java
+++ b/mondrian/src/main/java/org/eclipse/daanse/olap/query/component/NamedSetExpressionImpl.java
@@ -110,7 +110,7 @@ public Calc accept(ExpressionCompiler compiler) {
new Calc[]{/* todo: compile namedSet.getExp() */})
{
@Override
- public TupleIterable evaluateIterable(
+ public TupleIterable evaluate(
Evaluator evaluator)
{
final Evaluator.NamedSetEvaluator eval = getEval(evaluator);
diff --git a/mondrian/src/main/java/org/eclipse/daanse/olap/query/component/NullLiteralImpl.java b/mondrian/src/main/java/org/eclipse/daanse/olap/query/component/NullLiteralImpl.java
index e35e75b7f0..08fc1e001f 100644
--- a/mondrian/src/main/java/org/eclipse/daanse/olap/query/component/NullLiteralImpl.java
+++ b/mondrian/src/main/java/org/eclipse/daanse/olap/query/component/NullLiteralImpl.java
@@ -24,8 +24,6 @@
import org.eclipse.daanse.olap.api.type.Type;
import org.eclipse.daanse.olap.calc.base.constant.ConstantStringCalc;
-import mondrian.olap.AbstractLiteralImpl;
-
public class NullLiteralImpl extends AbstractLiteralImpl implements NullLiteral {
public static final NullLiteralImpl nullValue = new NullLiteralImpl();
diff --git a/mondrian/src/main/java/org/eclipse/daanse/olap/query/component/NumericLiteralImpl.java b/mondrian/src/main/java/org/eclipse/daanse/olap/query/component/NumericLiteralImpl.java
index 9b22a410df..b4c66e2c22 100644
--- a/mondrian/src/main/java/org/eclipse/daanse/olap/query/component/NumericLiteralImpl.java
+++ b/mondrian/src/main/java/org/eclipse/daanse/olap/query/component/NumericLiteralImpl.java
@@ -26,8 +26,6 @@
import org.eclipse.daanse.olap.api.type.Type;
import org.eclipse.daanse.olap.calc.base.constant.ConstantDoubleCalc;
-import mondrian.olap.AbstractLiteralImpl;
-
public class NumericLiteralImpl extends AbstractLiteralImpl implements NumericLiteral {
private static final NumericLiteralImpl negativeOne = new NumericLiteralImpl(BigDecimal.ONE.negate());
private static final NumericLiteralImpl one = new NumericLiteralImpl(BigDecimal.ONE);
diff --git a/mondrian/src/main/java/org/eclipse/daanse/olap/query/component/StringLiteralImpl.java b/mondrian/src/main/java/org/eclipse/daanse/olap/query/component/StringLiteralImpl.java
index 4011f5066a..26b39738f1 100644
--- a/mondrian/src/main/java/org/eclipse/daanse/olap/query/component/StringLiteralImpl.java
+++ b/mondrian/src/main/java/org/eclipse/daanse/olap/query/component/StringLiteralImpl.java
@@ -24,7 +24,6 @@
import org.eclipse.daanse.olap.api.type.Type;
import org.eclipse.daanse.olap.calc.base.constant.ConstantStringCalc;
-import mondrian.olap.AbstractLiteralImpl;
import mondrian.olap.Util;
public class StringLiteralImpl extends AbstractLiteralImpl implements StringLiteral {
diff --git a/mondrian/src/main/java/org/eclipse/daanse/olap/query/component/SymbolLiteralImpl.java b/mondrian/src/main/java/org/eclipse/daanse/olap/query/component/SymbolLiteralImpl.java
index 3f3ff8e3c8..8827be6c1a 100644
--- a/mondrian/src/main/java/org/eclipse/daanse/olap/query/component/SymbolLiteralImpl.java
+++ b/mondrian/src/main/java/org/eclipse/daanse/olap/query/component/SymbolLiteralImpl.java
@@ -25,8 +25,6 @@
import org.eclipse.daanse.olap.api.type.Type;
import org.eclipse.daanse.olap.calc.base.constant.ConstantStringCalc;
-import mondrian.olap.AbstractLiteralImpl;
-
public class SymbolLiteralImpl extends AbstractLiteralImpl implements SymbolLiteral {
private SymbolLiteralImpl(String o) {
diff --git a/olap/api/src/main/java/org/eclipse/daanse/olap/api/CatalogCache.java b/olap/api/src/main/java/org/eclipse/daanse/olap/api/CatalogCache.java
index 438d4d0b90..a14f13c5e7 100644
--- a/olap/api/src/main/java/org/eclipse/daanse/olap/api/CatalogCache.java
+++ b/olap/api/src/main/java/org/eclipse/daanse/olap/api/CatalogCache.java
@@ -10,7 +10,8 @@
* Contributors:
* SmartCity Jena - initial
*
-*/package org.eclipse.daanse.olap.api;
+*/
+package org.eclipse.daanse.olap.api;
public interface CatalogCache {
diff --git a/olap/api/src/main/java/org/eclipse/daanse/olap/api/calc/TupleListCalc.java b/olap/api/src/main/java/org/eclipse/daanse/olap/api/calc/TupleListCalc.java
deleted file mode 100644
index 283abe1a10..0000000000
--- a/olap/api/src/main/java/org/eclipse/daanse/olap/api/calc/TupleListCalc.java
+++ /dev/null
@@ -1,23 +0,0 @@
-/*
-* Copyright (c) 2023 Contributors to the Eclipse Foundation.
-*
-* This program and the accompanying materials are made
-* available under the terms of the Eclipse Public License 2.0
-* which is available at https://www.eclipse.org/legal/epl-2.0/
-*
-* SPDX-License-Identifier: EPL-2.0
-*
-* Contributors:
-* SmartCity Jena - initial
-* Stefan Bischof (bipolis.org) - initial
-*/
-
-package org.eclipse.daanse.olap.api.calc;
-
-import org.eclipse.daanse.olap.api.calc.todo.TupleList;
-
-
-public interface TupleListCalc extends Calc {
-
-
-}
diff --git a/olap/api/src/main/java/org/eclipse/daanse/olap/api/calc/todo/TupleIteratorCalc.java b/olap/api/src/main/java/org/eclipse/daanse/olap/api/calc/todo/TupleIteratorCalc.java
index e1cddc1d3b..7e7f88fab6 100644
--- a/olap/api/src/main/java/org/eclipse/daanse/olap/api/calc/todo/TupleIteratorCalc.java
+++ b/olap/api/src/main/java/org/eclipse/daanse/olap/api/calc/todo/TupleIteratorCalc.java
@@ -1,50 +1,21 @@
/*
- * This software is subject to the terms of the Eclipse Public License v1.0
- * Agreement, available at the following URL:
- * http://www.eclipse.org/legal/epl-v10.html.
- * You must accept the terms of that agreement to use this software.
- *
- * Copyright (c) 2002-2017 Hitachi Vantara.. All rights reserved.
- *
- * For more information please visit the Project: Hitachi Vantara - Mondrian
- *
- * ---- All changes after Fork in 2023 ------------------------
- *
- * Project: Eclipse daanse
- *
- * Copyright (c) 2023 Contributors to the Eclipse Foundation.
- *
- * This program and the accompanying materials are made
- * available under the terms of the Eclipse Public License 2.0
- * which is available at https://www.eclipse.org/legal/epl-2.0/
- *
- * SPDX-License-Identifier: EPL-2.0
- *
- * Contributors after Fork in 2023:
- * SmartCity Jena - initial
- * Stefan Bischof (bipolis.org) - initial
- */
-
+* Copyright (c) 2025 Contributors to the Eclipse Foundation.
+*
+* This program and the accompanying materials are made
+* available under the terms of the Eclipse Public License 2.0
+* which is available at https://www.eclipse.org/legal/epl-2.0/
+*
+* SPDX-License-Identifier: EPL-2.0
+*
+* Contributors:
+* SmartCity Jena - initial
+*
+*/
package org.eclipse.daanse.olap.api.calc.todo;
-import org.eclipse.daanse.olap.api.Evaluator;
import org.eclipse.daanse.olap.api.calc.Calc;
-/**
- * Expression that evaluates a set of tuples to a {@link TupleIterable}.
- *
- * @author Richard Emberson
- * @since Jan 11, 2007
- */
-public interface TupleIteratorCalc extends Calc {
- /**
- * Evaluates an expression to yield an Iterable of members or tuples.
- *
- * The Iterable is immutable.
- *
- * @param evaluator Evaluation context
- * @return An Iterable of members or tuples, never null.
- */
- TupleIterable evaluateIterable(Evaluator evaluator);
+public interface TupleIteratorCalc extends Calc {
+
}
diff --git a/olap/api/src/main/java/org/eclipse/daanse/olap/api/calc/todo/TupleListCalc.java b/olap/api/src/main/java/org/eclipse/daanse/olap/api/calc/todo/TupleListCalc.java
index b8dda21c1a..684b7cfa6e 100644
--- a/olap/api/src/main/java/org/eclipse/daanse/olap/api/calc/todo/TupleListCalc.java
+++ b/olap/api/src/main/java/org/eclipse/daanse/olap/api/calc/todo/TupleListCalc.java
@@ -1,52 +1,21 @@
/*
- * This software is subject to the terms of the Eclipse Public License v1.0
- * Agreement, available at the following URL:
- * http://www.eclipse.org/legal/epl-v10.html.
- * You must accept the terms of that agreement to use this software.
- *
- * Copyright (c) 2002-2017 Hitachi Vantara.. All rights reserved.
- *
- * For more information please visit the Project: Hitachi Vantara - Mondrian
- *
- * ---- All changes after Fork in 2023 ------------------------
- *
- * Project: Eclipse daanse
- *
- * Copyright (c) 2023 Contributors to the Eclipse Foundation.
- *
- * This program and the accompanying materials are made
- * available under the terms of the Eclipse Public License 2.0
- * which is available at https://www.eclipse.org/legal/epl-2.0/
- *
- * SPDX-License-Identifier: EPL-2.0
- *
- * Contributors after Fork in 2023:
- * SmartCity Jena - initial
- * Stefan Bischof (bipolis.org) - initial
- */
-
+* Copyright (c) 2025 Contributors to the Eclipse Foundation.
+*
+* This program and the accompanying materials are made
+* available under the terms of the Eclipse Public License 2.0
+* which is available at https://www.eclipse.org/legal/epl-2.0/
+*
+* SPDX-License-Identifier: EPL-2.0
+*
+* Contributors:
+* SmartCity Jena - initial
+*
+*/
package org.eclipse.daanse.olap.api.calc.todo;
-import org.eclipse.daanse.olap.api.Evaluator;
-import org.eclipse.daanse.olap.api.calc.ResultStyle;
+import org.eclipse.daanse.olap.api.calc.Calc;
+
+public interface TupleListCalc extends TupleIteratorCalc, Calc {
-/**
- * Expression which evaluates a set of members or tuples to a list.
- *
- * @author jhyde
- * @since Sep 27, 2005
- */
-public interface TupleListCalc extends TupleIteratorCalc {
- /**
- * Evaluates an expression to yield a list of tuples.
- *
- * The list is immutable if {@link #getResultStyle()} yields
- * {@link ResultStyle#MUTABLE_LIST}. Otherwise,
- * the caller must not modify the list.
- *
- * @param evaluator Evaluation context
- * @return A list of tuples, never null.
- */
- TupleList evaluateList(Evaluator evaluator);
}
diff --git a/olap/xmla/bridge/test.bndrun b/olap/xmla/bridge/test.bndrun
index ec10d8b97b..6bcf13e550 100644
--- a/olap/xmla/bridge/test.bndrun
+++ b/olap/xmla/bridge/test.bndrun
@@ -47,7 +47,6 @@
org.eclipse.daanse.jdbc.db.dialect.api;version='[0.0.1,0.0.2)',\
org.eclipse.daanse.jdbc.db.dialect.db.common;version='[0.0.1,0.0.2)',\
org.eclipse.daanse.jdbc.db.dialect.db.ingres;version='[0.0.1,0.0.2)',\
- org.eclipse.daanse.jdbc.db.dialect.db.vectorwise;version='[0.0.1,0.0.2)',\
org.eclipse.daanse.mdx.model.api;version='[0.0.1,0.0.2)',\
org.eclipse.daanse.mdx.parser.api;version='[0.0.1,0.0.2)',\
org.eclipse.daanse.olap.action.api;version='[0.0.1,0.0.2)',\