You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@kylin.apache.org by li...@apache.org on 2024/07/15 08:30:33 UTC

(kylin) 07/30: KYLIN-5856 Merge content of KAPRel and OLAPRel into OlapRel

This is an automated email from the ASF dual-hosted git repository.

liyang pushed a commit to branch kylin5
in repository https://gitbox.apache.org/repos/asf/kylin.git

commit 11af676016846efe197d2ce749e6bd802d87f98f
Author: Pengfei Zhan <de...@gmail.com>
AuthorDate: Mon Oct 16 14:24:34 2023 +0800

    KYLIN-5856 Merge content of KAPRel and OLAPRel into OlapRel
---
 dev-support/forbidden-signatures.txt               |    3 +
 pom.xml                                            |    7 +-
 .../kylin/rest/controller/NBasicController.java    |    4 +-
 .../kylin/rest/controller/AdminControllerTest.java |    2 +-
 .../apache/kylin/rest/service/RouteService.java    |    2 +-
 .../rest/util/InitResourceGroupUtilsTest.java      |    4 +-
 .../kylin/common/BackwardCompatibilityConfig.java  |   57 +-
 .../org/apache/kylin/common/util/HadoopUtil.java   |    6 +-
 src/core-metadata/pom.xml                          |    6 +-
 .../measure/dim/DimCountDistinctMeasureType.java   |   10 -
 .../extendedcolumn/ExtendedColumnMeasureType.java  |   32 +-
 .../apache/kylin/measure/raw/RawMeasureType.java   |   34 +-
 .../apache/kylin/measure/topn/TopNMeasureType.java |   68 +-
 .../apache/kylin/metadata/acl/AclTCRManager.java   |   29 +-
 .../apache/kylin/metadata/acl/ColumnToConds.java   |  105 +-
 .../metadata/cube/cuboid/AggIndexMatcher.java      |    6 +-
 .../kylin/metadata/cube/cuboid/IndexMatcher.java   |    4 +-
 .../metadata/cube/cuboid/TableIndexMatcher.java    |    8 +-
 .../apache/kylin/metadata/model/FunctionDesc.java  |   13 +-
 .../kylin/metadata/realization/SQLDigest.java      |   99 +-
 .../org/apache/kylin/newten/CharNColumnTest.java   |    2 +-
 .../kylin/newten/EnhancedAggPushDownTest.java      |   44 +-
 .../kylin/newten/MultiPartitionPruningTest.java    |    8 +-
 .../NAggIndexPriorityAnswerWithCCExprTest.java     |    4 +-
 .../org/apache/kylin/newten/NFilePruningTest.java  |    7 +-
 .../org/apache/kylin/newten/NMatchingTest.java     |    5 +-
 .../kylin/newten/NQueryPartialMatchIndexTest.java  |    4 +-
 .../kylin/query/engine/SumExprPlannerTest.java     |    6 +-
 .../routing/DataflowCapabilityCheckerTest.java     |   34 +-
 .../routing/HeterogeneousSegmentPruningTest.java   |   36 +-
 .../query/routing/PartitionPruningRuleTest.java    |   17 +-
 .../query/routing/QueryLayoutChooserTest.java      |   70 +-
 .../kylin/query/routing/QueryLayoutFilterTest.java |   17 +-
 .../query/routing/RealizationChooserTest.java      |   20 +-
 .../query/routing/SegmentPruningRuleTest.java      |   24 +-
 .../routing/TableIndexAnswerSelectStarTest.java    |   22 +-
 .../query/routing/VacantIndexPruningRuleTest.java  |   28 +-
 .../java/org/apache/kylin/util/ExecAndComp.java    |    9 +-
 .../org/apache/kylin/util/OlapContextTestUtil.java |   37 +-
 .../query/engine/CountDistinctExprPlannerTest.xml  |  500 ++---
 .../engine/EnhancedAggPushDownPlannerTest.xml      | 1518 +++++++-------
 .../apache/kylin/query/engine/SqlToRelNodeTest.xml |  244 +--
 .../query/engine/SumCastDoublePlannerTest.xml      |  208 +-
 .../kylin/query/engine/SumExprPlannerTest.xml      | 2208 ++++++++++----------
 .../kylin/query/rules/AggPushdownRuleTest.xml      |  812 +++----
 .../kylin/query/rules/FilterSimplifyRuleTest.xml   |   92 +-
 .../query/rules/ScalarSubqueryJoinRuleTest.xml     | 1206 +++++------
 .../rest/controller/NQueryControllerTest.java      |    7 +-
 .../kylin/rest/service/ModelSemanticHelper.java    |   10 +-
 .../service/ModelServiceSemanticUpdateTest.java    |    2 +
 .../kylin/query/enumerator/HiveEnumerator.java     |   18 +-
 .../kylin/query/enumerator/MetadataEnumerator.java |    4 +-
 .../{OLAPEnumerator.java => OlapEnumerator.java}   |   20 +-
 .../enumerator/{OLAPQuery.java => OlapQuery.java}  |   19 +-
 .../apache/kylin/query/relnode/ColumnRowType.java  |    4 +-
 .../apache/kylin/query/relnode/ContextUtil.java    |  347 ++-
 .../kylin/query/relnode/KapAggregateRel.java       |  500 -----
 .../org/apache/kylin/query/relnode/KapContext.java |   75 -
 .../apache/kylin/query/relnode/KapLimitRel.java    |  149 --
 .../org/apache/kylin/query/relnode/KapRel.java     |  219 --
 .../org/apache/kylin/query/relnode/KapSortRel.java |  146 --
 .../apache/kylin/query/relnode/KapTableScan.java   |  185 --
 .../apache/kylin/query/relnode/KapUnionRel.java    |  130 --
 .../apache/kylin/query/relnode/KapValuesRel.java   |   84 -
 .../apache/kylin/query/relnode/KapWindowRel.java   |  140 --
 .../kylin/query/relnode/OLAPAggregateRel.java      |  584 ------
 .../apache/kylin/query/relnode/OLAPFilterRel.java  |  277 ---
 .../apache/kylin/query/relnode/OLAPJoinRel.java    |  380 ----
 .../apache/kylin/query/relnode/OLAPLimitRel.java   |  148 --
 .../apache/kylin/query/relnode/OLAPProjectRel.java |  300 ---
 .../org/apache/kylin/query/relnode/OLAPRel.java    |  242 ---
 .../apache/kylin/query/relnode/OLAPSortRel.java    |  155 --
 .../query/relnode/OLAPToEnumerableConverter.java   |  134 --
 .../kylin/query/relnode/OlapAggregateRel.java      |  887 ++++++++
 .../relnode/{OLAPContext.java => OlapContext.java} |  444 ++--
 .../{OLAPContextProp.java => OlapContextProp.java} |    4 +-
 .../{KapFilterRel.java => OlapFilterRel.java}      |  277 ++-
 .../relnode/{KapJoinRel.java => OlapJoinRel.java}  |  301 ++-
 .../apache/kylin/query/relnode/OlapLimitRel.java   |  193 ++
 .../{KapMinusRel.java => OlapMinusRel.java}        |   68 +-
 ...{KapModelViewRel.java => OlapModelViewRel.java} |   54 +-
 ...NonEquiJoinRel.java => OlapNonEquiJoinRel.java} |  164 +-
 .../{KapProjectRel.java => OlapProjectRel.java}    |  277 ++-
 .../org/apache/kylin/query/relnode/OlapRel.java    |  346 +++
 .../apache/kylin/query/relnode/OlapSortRel.java    |  195 ++
 .../{OLAPTableScan.java => OlapTableScan.java}     |  232 +-
 ...nverter.java => OlapToEnumerableConverter.java} |   36 +-
 .../{OLAPUnionRel.java => OlapUnionRel.java}       |  120 +-
 .../{OLAPValuesRel.java => OlapValuesRel.java}     |   70 +-
 .../{OLAPWindowRel.java => OlapWindowRel.java}     |  117 +-
 .../kylin/query/relnode/TableColRefWithRel.java    |    8 +-
 .../org/apache/kylin/query/routing/Candidate.java  |   10 +-
 .../query/routing/DataflowCapabilityChecker.java   |   31 +-
 .../kylin/query/routing/PartitionPruningRule.java  |   25 +-
 .../kylin/query/routing/QueryLayoutChooser.java    |   10 +-
 .../apache/kylin/query/routing/QueryRouter.java    |    2 +-
 .../kylin/query/routing/RealizationChooser.java    |  234 ++-
 .../routing/RemoveIncapableRealizationsRule.java   |    6 +-
 .../kylin/query/routing/SegmentPruningRule.java    |   47 +-
 .../apache/kylin/query/schema/KapOLAPSchema.java   |   63 -
 .../apache/kylin/query/schema/KapOLAPTable.java    |   45 -
 .../schema/{OLAPSchema.java => OlapSchema.java}    |   44 +-
 .../schema/{OLAPTable.java => OlapTable.java}      |   51 +-
 .../org/apache/kylin/query/security/RowFilter.java |   47 +-
 .../kylin/query/util/ComputedColumnRewriter.java   |   65 +-
 .../kylin/query/util/DefaultQueryTransformer.java  |    4 +-
 .../kylin/query/util/ICutContextStrategy.java      |   22 +-
 .../apache/kylin/query/util/QueryAliasMatcher.java |   22 +-
 .../kylin/query/util/RelAggPushDownUtil.java       |   26 +-
 .../kylin/query/util/RexToTblColRefTranslator.java |   16 +-
 .../java/org/apache/kylin/query/util/RexUtils.java |   43 +-
 .../apache/kylin/util/FilterConditionExpander.java |   17 +-
 .../apache/kylin/rest/service/QueryService.java    |    9 +-
 .../rest/metrics/QueryMetricsContextTest.java      |    4 +-
 .../kylin/rest/service/QueryRedisCacheTest.java    |    2 +
 .../kylin/rest/service/QueryServiceTest.java       |  307 +--
 .../optrule/CountDistinctCaseWhenFunctionRule.java |    6 +-
 .../kap/query/optrule/ExtensionOlapJoinRule.java   |   18 +-
 .../optrule/FilterJoinConditionMergeRule.java      |    6 +-
 .../kap/query/optrule/FilterSimplifyRule.java      |    4 +-
 .../kyligence/kap/query/optrule/KAPValuesRule.java |   11 +-
 .../query/optrule/KapAggFilterTransposeRule.java   |   14 +-
 .../kap/query/optrule/KapAggJoinTransposeRule.java |   26 +-
 .../kap/query/optrule/KapAggProjectMergeRule.java  |   24 +-
 .../query/optrule/KapAggProjectTransposeRule.java  |   28 +-
 .../kap/query/optrule/KapAggSumCastRule.java       |    6 +-
 .../kap/query/optrule/KapAggregateRule.java        |    6 +-
 .../query/optrule/KapCountDistinctJoinRule.java    |   33 +-
 .../query/optrule/KapEquiJoinConditionFixRule.java |    6 +-
 .../kyligence/kap/query/optrule/KapFilterRule.java |   12 +-
 .../query/optrule/KapJoinProjectTransposeRule.java |   20 +-
 .../kyligence/kap/query/optrule/KapJoinRule.java   |   28 +-
 .../kyligence/kap/query/optrule/KapLimitRule.java  |   10 +-
 .../kyligence/kap/query/optrule/KapMinusRule.java  |   10 +-
 .../kap/query/optrule/KapModelViewRule.java        |   12 +-
 .../optrule/KapOLAPToEnumerableConverterRule.java  |    8 +-
 .../kap/query/optrule/KapProjectRule.java          |   16 +-
 .../kyligence/kap/query/optrule/KapSortRule.java   |   12 +-
 .../kap/query/optrule/KapSumCastTransposeRule.java |   10 +-
 .../query/optrule/KapSumTransCastToThenRule.java   |    8 +-
 .../kyligence/kap/query/optrule/KapUnionRule.java  |   10 +-
 .../kyligence/kap/query/optrule/KapWindowRule.java |   12 +-
 .../kap/query/optrule/OLAPAggregateRule.java       |   10 +-
 .../kap/query/optrule/OLAPFilterRule.java          |   12 +-
 .../kyligence/kap/query/optrule/OLAPJoinRule.java  |   18 +-
 .../kyligence/kap/query/optrule/OLAPLimitRule.java |   10 +-
 .../kap/query/optrule/OLAPProjectRule.java         |   15 +-
 .../kyligence/kap/query/optrule/OLAPSortRule.java  |   12 +-
 .../optrule/OLAPToEnumerableConverterRule.java     |    8 +-
 .../kyligence/kap/query/optrule/OLAPUnionRule.java |   10 +-
 .../kap/query/optrule/OLAPWindowRule.java          |   10 +-
 .../kap/query/optrule/ScalarSubqueryJoinRule.java  |   50 +-
 .../kap/query/optrule/SumBasicOperatorRule.java    |    6 +-
 .../kap/query/optrule/SumCaseWhenFunctionRule.java |    6 +-
 .../kap/query/optrule/SumConstantConvertRule.java  |    6 +-
 .../apache/kylin/query/engine/PlannerFactory.java  |    4 +-
 .../kylin/query/engine/ProjectSchemaFactory.java   |    4 +-
 .../org/apache/kylin/query/engine/QueryExec.java   |   55 +-
 .../kylin/query/engine/QueryRoutingEngine.java     |   70 +-
 ...citeQueryPlanExec.java => CalcitePlanExec.java} |    5 +-
 ...rderQueryPlanExec.java => SparderPlanExec.java} |   47 +-
 .../kylin/query/engine/view/ModelViewExpander.java |    4 +-
 .../query/util/ContextInitialCutStrategy.java      |   27 +-
 .../kylin/query/util/ContextReCutStrategy.java     |   36 +-
 .../java/org/apache/kylin/query/util/HepUtils.java |    4 +-
 .../kylin/query/util/QueryContextCutter.java       |   31 +-
 .../org/apache/kylin/query/util/RuleUtils.java     |    4 +-
 .../query/calcite/KylinRelDataTypeSystemTest.java  |  127 +-
 .../kylin/query/engine/QueryRoutingEngineTest.java |   25 +-
 ...lTest.java => SparderPlanExecAbnormalTest.java} |   47 +-
 .../kylin/query/relnode/ContextUtilTest.java       |   10 +-
 .../kylin/query/routing/CandidateSortTest.java     |    6 +-
 .../kylin/query/routing/CandidateTestUtils.java    |   10 +-
 .../kylin/query/routing/QueryRouterTest.java       |    8 +-
 .../apache/kylin/query/security/RowFilterTest.java |   88 +-
 .../query/util/RexToTblColRefTranslatorTest.java   |   52 +-
 .../kylin/query/mask/QueryDependentColumnMask.java |    4 +-
 .../kylin/query/mask/QuerySensitiveDataMask.java   |    8 +-
 .../kylin/query/runtime/CalciteToSparkPlaner.scala |   52 +-
 .../kylin/query/runtime/plan/AggregatePlan.scala   |   20 +-
 .../kylin/query/runtime/plan/FilterPlan.scala      |    4 +-
 .../apache/kylin/query/runtime/plan/JoinPlan.scala |    6 +-
 .../kylin/query/runtime/plan/LimitPlan.scala       |   10 +-
 .../kylin/query/runtime/plan/MinusPlan.scala       |    4 +-
 .../kylin/query/runtime/plan/ProjectPlan.scala     |    6 +-
 .../kylin/query/runtime/plan/ResultPlan.scala      |    8 +-
 .../apache/kylin/query/runtime/plan/SortPlan.scala |    4 +-
 .../kylin/query/runtime/plan/TableScanPlan.scala   |   69 +-
 .../kylin/query/runtime/plan/UnionPlan.scala       |    4 +-
 .../kylin/query/runtime/plan/ValuesPlan.scala      |    4 +-
 .../kylin/query/runtime/plan/WindowPlan.scala      |    8 +-
 .../apache/spark/sql/KylinDataFrameManager.scala   |    4 +-
 .../org/apache/spark/sql/SparderTypeUtilTest.scala |    6 +-
 .../kylin/source/dfs/DFSFileTableReader.java       |   29 +-
 .../scala/org/apache/kylin/it/TestTPCHQuery.scala  |   10 +-
 195 files changed, 8206 insertions(+), 10152 deletions(-)

diff --git a/dev-support/forbidden-signatures.txt b/dev-support/forbidden-signatures.txt
index b158bdb858..5bdfad46b3 100644
--- a/dev-support/forbidden-signatures.txt
+++ b/dev-support/forbidden-signatures.txt
@@ -46,6 +46,9 @@ java.lang.Object#notifyAll()
 @defaultMessage Use StringBuilder; it is more efficient
 java.lang.StringBuffer
 
+@defaultMessage Use java.util.Deque; it is more efficient
+java.util.Stack
+
 @defaultMessage Please do not try to stop the world
 java.lang.System#gc()
 
diff --git a/pom.xml b/pom.xml
index 450a57dbc6..b025708e2a 100644
--- a/pom.xml
+++ b/pom.xml
@@ -253,8 +253,6 @@
             org/apache/kylin/**/tools/**:**/*CLI.java,
             **/org/apache/kylin/query/optrule/*,
             org/apache/kylin/query/exec/*,
-            org/apache/kylin/query/relnode/KapOLAPToEnumerableConverter.java,
-            **/org/apache/kylin/query/relnode/OLAP*Rel.java,
             **/org/apache/kylin/tool/kerberos/DelegationTokenManager.java,
             **/org/apache/kylin/tool/kerberos/KerberosLoginTask.java,
             **/org/apache/kylin/tool/kerberos/KerberosLoginUtil.java,
@@ -3125,6 +3123,11 @@
                 <artifactId>jersey-common</artifactId>
                 <version>${jersey.version}</version>
             </dependency>
+            <dependency>
+                <groupId>com.fasterxml.jackson.core</groupId>
+                <artifactId>jackson-databind</artifactId>
+                <version>${jackson-databind.version}</version>
+            </dependency>
             <dependency>
                 <groupId>com.github.stefanbirkner</groupId>
                 <artifactId>system-lambda</artifactId>
diff --git a/src/common-server/src/main/java/org/apache/kylin/rest/controller/NBasicController.java b/src/common-server/src/main/java/org/apache/kylin/rest/controller/NBasicController.java
index 3b5d199322..eb5d680743 100644
--- a/src/common-server/src/main/java/org/apache/kylin/rest/controller/NBasicController.java
+++ b/src/common-server/src/main/java/org/apache/kylin/rest/controller/NBasicController.java
@@ -656,7 +656,7 @@ public class NBasicController {
         for (String status : statuses) {
             if (!streamingJobsStatus.contains(status)) {
                 throw new KylinException(PARAMETER_INVALID_SUPPORT_LIST, "statuses",
-                        org.apache.commons.lang.StringUtils.join(streamingJobsStatus, ", "));
+                        StringUtils.join(streamingJobsStatus, ", "));
             }
         }
     }
@@ -670,7 +670,7 @@ public class NBasicController {
         for (String status : statuses) {
             if (!streamingJobTypeStatus.contains(status)) {
                 throw new KylinException(PARAMETER_INVALID_SUPPORT_LIST, "job_types",
-                        org.apache.commons.lang.StringUtils.join(streamingJobTypeStatus, ", "));
+                        StringUtils.join(streamingJobTypeStatus, ", "));
             }
         }
     }
diff --git a/src/common-server/src/test/java/org/apache/kylin/rest/controller/AdminControllerTest.java b/src/common-server/src/test/java/org/apache/kylin/rest/controller/AdminControllerTest.java
index 80347d8d09..aad58d680e 100644
--- a/src/common-server/src/test/java/org/apache/kylin/rest/controller/AdminControllerTest.java
+++ b/src/common-server/src/test/java/org/apache/kylin/rest/controller/AdminControllerTest.java
@@ -20,7 +20,7 @@ package org.apache.kylin.rest.controller;
 
 import static org.apache.kylin.common.constant.HttpConstant.HTTP_VND_APACHE_KYLIN_V4_PUBLIC_JSON;
 
-import org.apache.commons.lang.StringUtils;
+import org.apache.commons.lang3.StringUtils;
 import org.apache.kylin.common.util.JsonUtil;
 import org.apache.kylin.common.util.NLocalFileMetadataTestCase;
 import org.apache.kylin.rest.constant.Constant;
diff --git a/src/common-service/src/main/java/org/apache/kylin/rest/service/RouteService.java b/src/common-service/src/main/java/org/apache/kylin/rest/service/RouteService.java
index 2c8abd4b93..66a49766d9 100644
--- a/src/common-service/src/main/java/org/apache/kylin/rest/service/RouteService.java
+++ b/src/common-service/src/main/java/org/apache/kylin/rest/service/RouteService.java
@@ -33,7 +33,7 @@ import java.util.stream.Collectors;
 import javax.servlet.http.HttpServletRequest;
 
 import org.apache.commons.collections4.CollectionUtils;
-import org.apache.commons.lang.StringUtils;
+import org.apache.commons.lang3.StringUtils;
 import org.apache.kylin.common.KylinConfig;
 import org.apache.kylin.common.persistence.transaction.UnitOfWork;
 import org.apache.kylin.common.util.NamedThreadFactory;
diff --git a/src/common-service/src/test/java/org/apache/kylin/rest/util/InitResourceGroupUtilsTest.java b/src/common-service/src/test/java/org/apache/kylin/rest/util/InitResourceGroupUtilsTest.java
index b6ae0f1f0e..8958341c1f 100644
--- a/src/common-service/src/test/java/org/apache/kylin/rest/util/InitResourceGroupUtilsTest.java
+++ b/src/common-service/src/test/java/org/apache/kylin/rest/util/InitResourceGroupUtilsTest.java
@@ -25,8 +25,8 @@ import org.junit.jupiter.api.Assertions;
 import org.junit.jupiter.api.Test;
 
 @MetadataInfo(onlyProps = true)
-public class InitResourceGroupUtilsTest {
-    
+class InitResourceGroupUtilsTest {
+
     @Test
     void testInitResourceGroup() {
         ResourceGroupManager manager = ResourceGroupManager.getInstance(KylinConfig.getInstanceFromEnv());
diff --git a/src/core-common/src/main/java/org/apache/kylin/common/BackwardCompatibilityConfig.java b/src/core-common/src/main/java/org/apache/kylin/common/BackwardCompatibilityConfig.java
index 4e6467d586..cea29d30fc 100644
--- a/src/core-common/src/main/java/org/apache/kylin/common/BackwardCompatibilityConfig.java
+++ b/src/core-common/src/main/java/org/apache/kylin/common/BackwardCompatibilityConfig.java
@@ -23,14 +23,14 @@ import java.io.IOException;
 import java.io.InputStream;
 import java.io.PrintWriter;
 import java.nio.charset.Charset;
+import java.util.ArrayDeque;
+import java.util.Deque;
 import java.util.LinkedHashMap;
 import java.util.Map;
 import java.util.Map.Entry;
 import java.util.Objects;
 import java.util.Properties;
-import java.util.Stack;
 
-import org.apache.commons.io.IOUtils;
 import org.apache.kylin.common.util.OrderedProperties;
 import org.apache.kylin.guava30.shaded.common.collect.Maps;
 import org.slf4j.Logger;
@@ -41,29 +41,28 @@ public class BackwardCompatibilityConfig {
     private static final Logger logger = LoggerFactory.getLogger(BackwardCompatibilityConfig.class);
 
     private static final String KYLIN_BACKWARD_COMPATIBILITY = "kylin-backward-compatibility";
+    private static final String PROP_FILE_POSTFIX = ".properties";
 
     private final Map<String, String> old2new = Maps.newConcurrentMap();
     private final Map<String, String> old2newPrefix = Maps.newConcurrentMap();
 
     public BackwardCompatibilityConfig() {
         ClassLoader loader = Thread.currentThread().getContextClassLoader();
-        init(loader.getResourceAsStream(KYLIN_BACKWARD_COMPATIBILITY + ".properties"));
+        init(KYLIN_BACKWARD_COMPATIBILITY + PROP_FILE_POSTFIX, loader);
         for (int i = 0; i < 10; i++) {
-            init(loader.getResourceAsStream(KYLIN_BACKWARD_COMPATIBILITY + (i) + ".properties"));
+            init(KYLIN_BACKWARD_COMPATIBILITY + (i) + PROP_FILE_POSTFIX, loader);
         }
     }
 
-    private void init(InputStream is) {
-        if (is == null)
-            return;
-
+    private void init(String fileName, ClassLoader loader) {
         Properties props = new Properties();
-        try {
+        try (InputStream is = loader.getResourceAsStream(fileName)) {
+            if (is == null) {
+                return;
+            }
             props.load(is);
         } catch (IOException e) {
-            logger.error("", e);
-        } finally {
-            IOUtils.closeQuietly(is);
+            logger.error("Failed to get resource file<{}> ", fileName, e);
         }
 
         for (Entry<Object, Object> kv : props.entrySet()) {
@@ -91,9 +90,10 @@ public class BackwardCompatibilityConfig {
             return newKey;
         }
 
-        for (String oldPrefix : old2newPrefix.keySet()) {
+        for (Entry<String, String> oldToNewPrefix : old2newPrefix.entrySet()) {
+            String oldPrefix = oldToNewPrefix.getKey();
             if (key.startsWith(oldPrefix)) {
-                String newPrefix = old2newPrefix.get(oldPrefix);
+                String newPrefix = oldToNewPrefix.getValue();
                 newKey = newPrefix + key.substring(oldPrefix.length());
                 logger.warn("Config '{}' is deprecated, use '{}' instead", key, newKey);
                 return newKey;
@@ -139,43 +139,32 @@ public class BackwardCompatibilityConfig {
         BackwardCompatibilityConfig bcc = new BackwardCompatibilityConfig();
         File repoDir = new File(kylinRepoPath).getCanonicalFile();
         File outputDir = new File(outputPath).getCanonicalFile();
-        PrintWriter out = null;
 
         // generate sed file
         File sedFile = new File(outputDir, "upgrade-old-config.sed");
-        try {
-            out = new PrintWriter(sedFile, Charset.defaultCharset().name());
-            for (Entry<String, String> e : bcc.old2new.entrySet()) {
-                out.println("s/" + quote(e.getKey()) + "/" + e.getValue() + "/g");
-            }
-            for (Entry<String, String> e : bcc.old2newPrefix.entrySet()) {
-                out.println("s/" + quote(e.getKey()) + "/" + e.getValue() + "/g");
-            }
-        } finally {
-            IOUtils.closeQuietly(out);
+        try (PrintWriter out = new PrintWriter(sedFile, Charset.defaultCharset().name())) {
+            bcc.old2new.forEach((key, value) -> out.println("s/" + quote(key) + "/" + value + "/g"));
+            bcc.old2newPrefix.forEach((key, value) -> out.println("s/" + quote(key) + "/" + value + "/g"));
         }
 
         // generate sh file
         File shFile = new File(outputDir, "upgrade-old-config.sh");
-        try {
-            out = new PrintWriter(shFile, Charset.defaultCharset().name());
+        try (PrintWriter out = new PrintWriter(shFile, Charset.defaultCharset().name())) {
             out.println("#!/bin/bash");
-            Stack<File> stack = new Stack<>();
-            stack.push(repoDir);
+            Deque<File> stack = new ArrayDeque<>();
+            stack.offerLast(repoDir);
             while (!stack.isEmpty()) {
-                File dir = stack.pop();
+                File dir = stack.pollLast();
                 for (File f : Objects.requireNonNull(dir.listFiles())) {
                     if (f.getName().startsWith("."))
                         continue;
                     if (f.isDirectory()) {
                         if (acceptSourceDir(f))
-                            stack.push(f);
+                            stack.offerLast(f);
                     } else if (acceptSourceFile(f))
                         out.println("sed -i -f upgrade-old-config.sed " + f.getAbsolutePath());
                 }
             }
-        } finally {
-            IOUtils.closeQuietly(out);
         }
 
         System.out.println("Files generated:");
@@ -207,6 +196,6 @@ public class BackwardCompatibilityConfig {
             return false;
         else
             return name.endsWith(".java") || name.endsWith(".js") || name.endsWith(".sh")
-                    || name.endsWith(".properties") || name.endsWith(".xml");
+                    || name.endsWith(PROP_FILE_POSTFIX) || name.endsWith(".xml");
     }
 }
diff --git a/src/core-common/src/main/java/org/apache/kylin/common/util/HadoopUtil.java b/src/core-common/src/main/java/org/apache/kylin/common/util/HadoopUtil.java
index ec912d624a..fb32bafe13 100644
--- a/src/core-common/src/main/java/org/apache/kylin/common/util/HadoopUtil.java
+++ b/src/core-common/src/main/java/org/apache/kylin/common/util/HadoopUtil.java
@@ -37,7 +37,7 @@ import java.util.stream.Stream;
 
 import org.apache.commons.io.FileUtils;
 import org.apache.commons.io.IOUtils;
-import org.apache.commons.lang.StringUtils;
+import org.apache.commons.lang3.StringUtils;
 import org.apache.commons.lang3.exception.ExceptionUtils;
 import org.apache.hadoop.conf.Configuration;
 import org.apache.hadoop.fs.ContentSummary;
@@ -165,6 +165,10 @@ public class HadoopUtil {
         return getFileSystem(KylinConfig.readSystemKylinConfig().getWritingClusterWorkingDir());
     }
 
+    public static FileSystem getWriteClusterFileSystem() {
+        return getFileSystem(KylinConfig.readSystemKylinConfig().getWriteClusterWorkingDir());
+    }
+
     public static FileSystem getWorkingFileSystem(Configuration conf) {
         Path workingPath = new Path(KylinConfig.readSystemKylinConfig().getHdfsWorkingDirectory(null));
         return getFileSystem(workingPath, conf);
diff --git a/src/core-metadata/pom.xml b/src/core-metadata/pom.xml
index c48acf8ffe..fd30969601 100644
--- a/src/core-metadata/pom.xml
+++ b/src/core-metadata/pom.xml
@@ -20,7 +20,7 @@
     <packaging>jar</packaging>
     <name>Kylin - Core Metadata</name>
     <url>http://kylin.apache.org</url>
-    <description>Kylin  Open Source Meta</description>
+    <description>Kylin Open Source Meta</description>
 
 
     <parent>
@@ -43,6 +43,10 @@
             <groupId>com.google.guava</groupId>
             <artifactId>guava</artifactId>
         </dependency>
+        <dependency>
+            <groupId>com.fasterxml.jackson.core</groupId>
+            <artifactId>jackson-databind</artifactId>
+        </dependency>
         <dependency>
             <groupId>com.tdunning</groupId>
             <artifactId>t-digest</artifactId>
diff --git a/src/core-metadata/src/main/java/org/apache/kylin/measure/dim/DimCountDistinctMeasureType.java b/src/core-metadata/src/main/java/org/apache/kylin/measure/dim/DimCountDistinctMeasureType.java
index b228463413..4fa155a6e7 100644
--- a/src/core-metadata/src/main/java/org/apache/kylin/measure/dim/DimCountDistinctMeasureType.java
+++ b/src/core-metadata/src/main/java/org/apache/kylin/measure/dim/DimCountDistinctMeasureType.java
@@ -18,7 +18,6 @@
 
 package org.apache.kylin.measure.dim;
 
-import java.util.List;
 import java.util.Map;
 
 import org.apache.kylin.guava30.shaded.common.collect.ImmutableMap;
@@ -28,8 +27,6 @@ import org.apache.kylin.measure.MeasureType;
 import org.apache.kylin.measure.MeasureTypeFactory;
 import org.apache.kylin.metadata.datatype.DataType;
 import org.apache.kylin.metadata.model.FunctionDesc;
-import org.apache.kylin.metadata.model.MeasureDesc;
-import org.apache.kylin.metadata.realization.SQLDigest;
 
 public class DimCountDistinctMeasureType extends MeasureType<Object> {
     public static final String DATATYPE_DIM_DC = "dim_dc";
@@ -85,11 +82,4 @@ public class DimCountDistinctMeasureType extends MeasureType<Object> {
     public Map<String, Class<?>> getRewriteCalciteAggrFunctions() {
         return UDAF_MAP;
     }
-
-    public void adjustSqlDigest(List<MeasureDesc> measureDescs, SQLDigest sqlDigest) {
-        for (MeasureDesc measureDesc : measureDescs) {
-            sqlDigest.groupbyColumns.addAll(measureDesc.getFunction().getColRefs());
-            sqlDigest.aggregations.remove(measureDesc.getFunction());
-        }
-    }
 }
diff --git a/src/core-metadata/src/main/java/org/apache/kylin/measure/extendedcolumn/ExtendedColumnMeasureType.java b/src/core-metadata/src/main/java/org/apache/kylin/measure/extendedcolumn/ExtendedColumnMeasureType.java
index ff83cf0563..8d3f4e8f89 100644
--- a/src/core-metadata/src/main/java/org/apache/kylin/measure/extendedcolumn/ExtendedColumnMeasureType.java
+++ b/src/core-metadata/src/main/java/org/apache/kylin/measure/extendedcolumn/ExtendedColumnMeasureType.java
@@ -26,7 +26,6 @@ import java.util.Map;
 import org.apache.kylin.common.util.ByteArray;
 import org.apache.kylin.common.util.Bytes;
 import org.apache.kylin.common.util.Dictionary;
-import org.apache.kylin.guava30.shaded.common.collect.Lists;
 import org.apache.kylin.measure.MeasureAggregator;
 import org.apache.kylin.measure.MeasureIngester;
 import org.apache.kylin.measure.MeasureType;
@@ -78,40 +77,11 @@ public class ExtendedColumnMeasureType extends MeasureType<ByteArray> {
         this.dataType = dataType;
     }
 
-    public static List<TblColRef> getExtendedColumnHosts(FunctionDesc functionDesc) {
-        List<TblColRef> ret = Lists.newArrayList();
-        List<TblColRef> params = functionDesc.getColRefs();
-        for (int i = 0; i < params.size() - 1; i++) {
-            ret.add(params.get(i));
-        }
-        return ret;
-    }
-
     public static TblColRef getExtendedColumn(FunctionDesc functionDesc) {
         List<TblColRef> params = functionDesc.getColRefs();
         return params.get(params.size() - 1);
     }
 
-    public void adjustSqlDigest(List<MeasureDesc> measureDescs, SQLDigest sqlDigest) {
-        for (MeasureDesc measureDesc : measureDescs) {
-            if (!sqlDigest.involvedMeasure.contains(measureDesc)) {
-                continue;
-            }
-            FunctionDesc extendColumnFunc = measureDesc.getFunction();
-            List<TblColRef> hosts = getExtendedColumnHosts(extendColumnFunc);
-            TblColRef extended = getExtendedColumn(extendColumnFunc);
-
-            if (!sqlDigest.groupbyColumns.contains(extended)) {
-                continue;
-            }
-
-            sqlDigest.aggregations.add(extendColumnFunc);
-            sqlDigest.groupbyColumns.remove(extended);
-            sqlDigest.groupbyColumns.addAll(hosts);
-            sqlDigest.metricColumns.add(extended);
-        }
-    }
-
     @Override
     public CapabilityResult.CapabilityInfluence influenceCapabilityCheck(Collection<TblColRef> unmatchedDimensions,
             Collection<FunctionDesc> unmatchedAggregations, SQLDigest digest, final MeasureDesc measureDesc) {
@@ -121,7 +91,7 @@ public class ExtendedColumnMeasureType extends MeasureType<ByteArray> {
             return null;
         }
 
-        if (digest.filterColumns.contains(extendedCol)) {
+        if (digest.getFilterColumns().contains(extendedCol)) {
             return null;
         }
 
diff --git a/src/core-metadata/src/main/java/org/apache/kylin/measure/raw/RawMeasureType.java b/src/core-metadata/src/main/java/org/apache/kylin/measure/raw/RawMeasureType.java
index b1714ff686..10a6e99305 100644
--- a/src/core-metadata/src/main/java/org/apache/kylin/measure/raw/RawMeasureType.java
+++ b/src/core-metadata/src/main/java/org/apache/kylin/measure/raw/RawMeasureType.java
@@ -28,7 +28,6 @@ import java.util.Map;
 import org.apache.kylin.common.util.ByteArray;
 import org.apache.kylin.common.util.BytesUtil;
 import org.apache.kylin.common.util.Dictionary;
-import org.apache.kylin.guava30.shaded.common.collect.Lists;
 import org.apache.kylin.measure.MeasureAggregator;
 import org.apache.kylin.measure.MeasureIngester;
 import org.apache.kylin.measure.MeasureType;
@@ -37,20 +36,15 @@ import org.apache.kylin.metadata.datatype.DataType;
 import org.apache.kylin.metadata.datatype.DataTypeSerializer;
 import org.apache.kylin.metadata.model.FunctionDesc;
 import org.apache.kylin.metadata.model.MeasureDesc;
-import org.apache.kylin.metadata.model.ParameterDesc;
 import org.apache.kylin.metadata.model.TblColRef;
 import org.apache.kylin.metadata.realization.CapabilityResult;
 import org.apache.kylin.metadata.realization.SQLDigest;
 import org.apache.kylin.metadata.tuple.Tuple;
 import org.apache.kylin.metadata.tuple.TupleInfo;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
 
 public class RawMeasureType extends MeasureType<List<ByteArray>> {
     private static final long serialVersionUID = 1L;
 
-    private static final Logger logger = LoggerFactory.getLogger(RawMeasureType.class);
-
     public static final String FUNC_RAW = "RAW";
     public static final String DATATYPE_RAW = "raw";
 
@@ -177,7 +171,7 @@ public class RawMeasureType extends MeasureType<List<ByteArray>> {
             return null;
 
         TblColRef rawColumn = getRawColumn(measureDesc.getFunction());
-        if (!digest.allColumns.isEmpty() && !digest.allColumns.contains(rawColumn)) {
+        if (!digest.getAllColumns().isEmpty() && !digest.getAllColumns().contains(rawColumn)) {
             return null;
         }
 
@@ -202,32 +196,6 @@ public class RawMeasureType extends MeasureType<List<ByteArray>> {
         return false;
     }
 
-    public void adjustSqlDigest(List<MeasureDesc> measureDescs, SQLDigest sqlDigest) {
-
-        if (sqlDigest.isRawQuery) {
-            for (MeasureDesc measureDesc : measureDescs) {
-                if (!sqlDigest.involvedMeasure.contains(measureDesc)) {
-                    continue;
-                }
-                TblColRef col = this.getRawColumn(measureDesc.getFunction());
-                ParameterDesc colParameter = ParameterDesc.newInstance(col);
-                FunctionDesc rawFunc = FunctionDesc.newInstance("RAW", Lists.newArrayList(colParameter), null);
-
-                if (sqlDigest.allColumns.contains(col)) {
-                    if (measureDesc.getFunction().equals(rawFunc)) {
-                        FunctionDesc sumFunc = FunctionDesc.newInstance("SUM", Lists.newArrayList(colParameter), null);
-                        sqlDigest.aggregations.remove(sumFunc);
-                        sqlDigest.aggregations.add(rawFunc);
-                        logger.info("Add RAW measure on column " + col);
-                    }
-                    if (!sqlDigest.metricColumns.contains(col)) {
-                        sqlDigest.metricColumns.add(col);
-                    }
-                }
-            }
-        }
-    }
-
     @Override
     public boolean needAdvancedTupleFilling() {
         return true;
diff --git a/src/core-metadata/src/main/java/org/apache/kylin/measure/topn/TopNMeasureType.java b/src/core-metadata/src/main/java/org/apache/kylin/measure/topn/TopNMeasureType.java
index a80c89691f..bf4fe67875 100644
--- a/src/core-metadata/src/main/java/org/apache/kylin/measure/topn/TopNMeasureType.java
+++ b/src/core-metadata/src/main/java/org/apache/kylin/measure/topn/TopNMeasureType.java
@@ -20,6 +20,7 @@ package org.apache.kylin.measure.topn;
 
 import java.util.Arrays;
 import java.util.Collection;
+import java.util.HashSet;
 import java.util.Iterator;
 import java.util.List;
 import java.util.Map;
@@ -60,8 +61,6 @@ public class TopNMeasureType extends MeasureType<TopNCounter<ByteArray>> {
 
     public static final String CONFIG_ENCODING_PREFIX = "topn.encoding.";
     public static final String CONFIG_ENCODING_VERSION_PREFIX = "topn.encoding_version.";
-    public static final String CONFIG_AGG = "topn.aggregation";
-    public static final String CONFIG_ORDER = "topn.order";
 
     public static class Factory extends MeasureTypeFactory<TopNCounter<ByteArray>> {
 
@@ -96,10 +95,10 @@ public class TopNMeasureType extends MeasureType<TopNCounter<ByteArray>> {
     }
 
     public void validate(FunctionDesc functionDesc) throws IllegalArgumentException {
-        validate(functionDesc.getExpression(), functionDesc.getReturnDataType(), true);
+        validate(functionDesc.getExpression(), functionDesc.getReturnDataType());
     }
 
-    private void validate(String funcName, DataType dataType, boolean checkDataType) {
+    private void validate(String funcName, DataType dataType) {
         if (!FUNC_TOP_N.equals(funcName))
             throw new IllegalArgumentException();
 
@@ -177,9 +176,9 @@ public class TopNMeasureType extends MeasureType<TopNCounter<ByteArray>> {
             }
 
             @Override
-            public TopNCounter<ByteArray> reEncodeDictionary(TopNCounter<ByteArray> value, MeasureDesc measureDesc,
-                    Map<TblColRef, Dictionary<String>> oldDicts, Map<TblColRef, Dictionary<String>> newDicts) {
-                TopNCounter<ByteArray> topNCounter = value;
+            public TopNCounter<ByteArray> reEncodeDictionary(TopNCounter<ByteArray> topNCounter,
+                    MeasureDesc measureDesc, Map<TblColRef, Dictionary<String>> oldDicts,
+                    Map<TblColRef, Dictionary<String>> newDicts) {
 
                 if (newDimensionEncodings == null) {
                     literalCols = getTopNLiteralColumn(measureDesc.getFunction());
@@ -259,20 +258,21 @@ public class TopNMeasureType extends MeasureType<TopNCounter<ByteArray>> {
 
         List<TblColRef> literalCol = getTopNLiteralColumn(topN.getFunction());
         for (TblColRef colRef : literalCol) {
-            if (digest.filterColumns.contains(colRef)) {
-                // doesn't allow filtering by topn literal column
+            if (digest.getFilterColumns().contains(colRef)) {
+                // doesn't allow filtering by topN literal column
                 return null;
             }
         }
 
-        if (!digest.groupbyColumns.containsAll(literalCol) || !literalCol.containsAll(digest.groupbyColumns))
+        if (!new HashSet<>(digest.getGroupByColumns()).containsAll(literalCol)
+                || !new HashSet<>(literalCol).containsAll(digest.getGroupByColumns()))
             return null;
 
         // check digest requires only one measure
-        if (digest.aggregations.size() == 1) {
+        if (digest.getAggregations().size() == 1) {
 
             // the measure function must be SUM
-            FunctionDesc onlyFunction = digest.aggregations.iterator().next();
+            FunctionDesc onlyFunction = digest.getAggregations().iterator().next();
             if (!isTopNCompatibleSum(topN.getFunction(), onlyFunction))
                 return null;
 
@@ -298,21 +298,17 @@ public class TopNMeasureType extends MeasureType<TopNCounter<ByteArray>> {
     }
 
     private boolean checkOrderByAndLimit(SQLDigest digest, int topNPrecision) {
-        if (digest.limit > topNPrecision) {
+        if (digest.getLimit() > topNPrecision) {
             return false;
         }
 
-        // Top N style query can only has one order by field and must be descending order.
-        if (digest.sortColumns.size() != 1 || digest.sortOrders.get(0) != SQLDigest.OrderEnum.DESCENDING) {
+        // Top N style query can only have one order by field and must be descending order.
+        if (digest.getSortColumns().size() != 1 || digest.getSortOrders().get(0) != SQLDigest.OrderEnum.DESCENDING) {
             return false;
         }
-        TblColRef sortCol = digest.sortColumns.get(0);
-        // String database = sortCol.getColumnDesc().getTable().getDatabase();
+        TblColRef sortCol = digest.getSortColumns().get(0);
 
-        for (FunctionDesc agg : digest.aggregations) {
-            //  if (!agg.getParameters().get(0).getColRef().getColumnDesc().getTable().getDatabase().equals(database)) {
-            //      continue;
-            //  }
+        for (FunctionDesc agg : digest.getAggregations()) {
             if (sortCol.getName().equals(agg.getRewriteFieldName())) {
                 return true;
             }
@@ -336,10 +332,7 @@ public class TopNMeasureType extends MeasureType<TopNCounter<ByteArray>> {
         TblColRef topnNumCol = getTopNNumericColumn(topN);
 
         if (topnNumCol == null) {
-            if (sum.isCount())
-                return true;
-
-            return false;
+            return sum.isCount();
         }
 
         if (!sum.isSum())
@@ -359,20 +352,21 @@ public class TopNMeasureType extends MeasureType<TopNCounter<ByteArray>> {
 
     @Override
     public void adjustSqlDigest(MeasureDesc involvedMeasure, SQLDigest sqlDigest) {
-        if (sqlDigest.aggregations.size() > 1) {
+        List<FunctionDesc> sqlDigestAggregations = sqlDigest.getAggregations();
+        if (sqlDigestAggregations.size() > 1) {
             return;
         }
 
         FunctionDesc topnFunc = involvedMeasure.getFunction();
         List<TblColRef> topnLiteralCol = getTopNLiteralColumn(topnFunc);
 
-        if (!sqlDigest.groupbyColumns.containsAll(topnLiteralCol)
-                || !topnLiteralCol.containsAll(sqlDigest.groupbyColumns)) {
+        if (!new HashSet<>(sqlDigest.getGroupByColumns()).containsAll(topnLiteralCol)
+                || !new HashSet<>(topnLiteralCol).containsAll(sqlDigest.getGroupByColumns())) {
             return;
         }
 
-        if (!sqlDigest.aggregations.isEmpty()) {
-            FunctionDesc origFunc = sqlDigest.aggregations.iterator().next();
+        if (!sqlDigestAggregations.isEmpty()) {
+            FunctionDesc origFunc = sqlDigestAggregations.iterator().next();
             if (!origFunc.isSum() && !origFunc.isCount()) {
                 logger.warn("When query with topN, only SUM/Count function is allowed.");
                 return;
@@ -382,12 +376,12 @@ public class TopNMeasureType extends MeasureType<TopNCounter<ByteArray>> {
                 return;
             }
 
-            logger.info("Rewrite function " + origFunc + " to " + topnFunc);
+            logger.info("Rewrite function {} to {}", origFunc, topnFunc);
         }
 
-        sqlDigest.aggregations = Lists.newArrayList(topnFunc);
-        sqlDigest.groupbyColumns.removeAll(topnLiteralCol);
-        sqlDigest.metricColumns.addAll(topnLiteralCol);
+        sqlDigest.setAggregations(Lists.newArrayList(topnFunc));
+        sqlDigest.getGroupByColumns().removeAll(topnLiteralCol);
+        sqlDigest.getMetricColumns().addAll(topnLiteralCol);
     }
 
     @Override
@@ -412,7 +406,7 @@ public class TopNMeasureType extends MeasureType<TopNCounter<ByteArray>> {
             literalTupleIdx[i] = tupleInfo.hasColumn(colRef) ? tupleInfo.getColumnIndex(colRef) : -1;
         }
 
-        // for TopN, the aggr must be SUM
+        // for TopN, the aggregation must be SUM
         final int numericTupleIdx;
         if (numericCol != null) {
             FunctionDesc sumFunc = FunctionDesc.newInstance(FunctionDesc.FUNC_SUM,
@@ -516,11 +510,9 @@ public class TopNMeasureType extends MeasureType<TopNCounter<ByteArray>> {
 
     /**
      * Get the encoding name and version for the given col from Measure FunctionDesc
-     * @param functionDesc
-     * @param tblColRef
      * @return a pair of the encoding name and encoding version
      */
-    public static final Pair<String, String> getEncoding(FunctionDesc functionDesc, TblColRef tblColRef) {
+    public static Pair<String, String> getEncoding(FunctionDesc functionDesc, TblColRef tblColRef) {
         String encoding = functionDesc.getConfiguration().get(CONFIG_ENCODING_PREFIX + tblColRef.getIdentity());
         String encodingVersion = functionDesc.getConfiguration()
                 .get(CONFIG_ENCODING_VERSION_PREFIX + tblColRef.getIdentity());
diff --git a/src/core-metadata/src/main/java/org/apache/kylin/metadata/acl/AclTCRManager.java b/src/core-metadata/src/main/java/org/apache/kylin/metadata/acl/AclTCRManager.java
index 7280ae81ec..a17d818ea0 100644
--- a/src/core-metadata/src/main/java/org/apache/kylin/metadata/acl/AclTCRManager.java
+++ b/src/core-metadata/src/main/java/org/apache/kylin/metadata/acl/AclTCRManager.java
@@ -33,18 +33,9 @@ import java.util.stream.Stream;
 import org.apache.commons.collections.CollectionUtils;
 import org.apache.commons.collections.MapUtils;
 import org.apache.commons.lang3.StringUtils;
-import org.apache.commons.lang.text.StrBuilder;
 import org.apache.kylin.common.KylinConfig;
 import org.apache.kylin.common.persistence.ResourceStore;
-import org.apache.kylin.metadata.cachesync.CachedCrudAssist;
-import org.apache.kylin.metadata.model.ColumnDesc;
-import org.apache.kylin.metadata.model.TableDesc;
 import org.apache.kylin.common.persistence.transaction.UnitOfWork;
-import org.apache.kylin.metadata.model.NTableMetadataManager;
-import org.apache.kylin.metadata.model.util.ComputedColumnUtil;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-
 import org.apache.kylin.guava30.shaded.common.base.Joiner;
 import org.apache.kylin.guava30.shaded.common.base.Preconditions;
 import org.apache.kylin.guava30.shaded.common.collect.ArrayListMultimap;
@@ -53,6 +44,13 @@ import org.apache.kylin.guava30.shaded.common.collect.Lists;
 import org.apache.kylin.guava30.shaded.common.collect.Maps;
 import org.apache.kylin.guava30.shaded.common.collect.Multimap;
 import org.apache.kylin.guava30.shaded.common.collect.Sets;
+import org.apache.kylin.metadata.cachesync.CachedCrudAssist;
+import org.apache.kylin.metadata.model.ColumnDesc;
+import org.apache.kylin.metadata.model.NTableMetadataManager;
+import org.apache.kylin.metadata.model.TableDesc;
+import org.apache.kylin.metadata.model.util.ComputedColumnUtil;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
 
 import lombok.val;
 
@@ -401,13 +399,12 @@ public class AclTCRManager {
         final ColumnToConds columnConditions = new ColumnToConds();
         principalRF.getRowSets().stream().filter(r -> columnType.containsKey(r.getColumnName()))
                 .forEach(r -> columnConditions.put(r.getColumnName(),
-                        r.getValues().stream()
-                                .map(v -> new ColumnToConds.Cond(v, ColumnToConds.Cond.IntervalType.CLOSED))
+                        r.getValues().stream().map(v -> new ColumnToConds.Cond(v, ColumnToConds.IntervalType.CLOSED))
                                 .collect(Collectors.toList())));
         final ColumnToConds columnLikeConditions = new ColumnToConds();
         principalRF.getLikeRowSets().stream().filter(r -> columnType.containsKey(r.getColumnName()))
                 .forEach(r -> columnLikeConditions.put(r.getColumnName(),
-                        r.getValues().stream().map(v -> new ColumnToConds.Cond(v, ColumnToConds.Cond.IntervalType.LIKE))
+                        r.getValues().stream().map(v -> new ColumnToConds.Cond(v, ColumnToConds.IntervalType.LIKE))
                                 .collect(Collectors.toList())));
         return ColumnToConds.concatConds(columnConditions, columnLikeConditions, columnType);
     }
@@ -423,11 +420,11 @@ public class AclTCRManager {
             return null;
         }
 
-        StrBuilder result = new StrBuilder();
+        StringBuilder result = new StringBuilder();
         result.append("(");
         principalRF.getRowFilter().stream().filter(filterGroup -> MapUtils.isNotEmpty(filterGroup.getFilters()))
                 .forEach(filterGroup -> {
-                    if (result.endsWith(")")) {
+                    if (result.charAt(result.length() - 1) == ')') {
                         result.append(" ").append(filterGroup.getType()).append(" ");
                     }
 
@@ -439,7 +436,7 @@ public class AclTCRManager {
                                 String columnName = entry.getKey();
                                 AclTCR.FilterItems filterItems = entry.getValue();
 
-                                if (result.endsWith(")")) {
+                                if (result.charAt(result.length() - 1) == ')') {
                                     result.append(" ").append(filterItems.getType()).append(" ");
                                 }
 
@@ -456,7 +453,7 @@ public class AclTCRManager {
                                 }
 
                                 if (CollectionUtils.isNotEmpty(filterItems.getLikeItems())) {
-                                    if (result.endsWith(")")) {
+                                    if (result.charAt(result.length() - 1) == ')') {
                                         result.append(" OR ");
                                     }
 
diff --git a/src/core-metadata/src/main/java/org/apache/kylin/metadata/acl/ColumnToConds.java b/src/core-metadata/src/main/java/org/apache/kylin/metadata/acl/ColumnToConds.java
index b5b78c3dbf..f99fe0d43a 100644
--- a/src/core-metadata/src/main/java/org/apache/kylin/metadata/acl/ColumnToConds.java
+++ b/src/core-metadata/src/main/java/org/apache/kylin/metadata/acl/ColumnToConds.java
@@ -28,6 +28,7 @@ import java.util.HashSet;
 import java.util.List;
 import java.util.Locale;
 import java.util.Map;
+import java.util.Objects;
 import java.util.Set;
 import java.util.TimeZone;
 import java.util.stream.Collectors;
@@ -40,9 +41,12 @@ import org.apache.kylin.common.exception.KylinException;
 import org.apache.kylin.common.msg.MsgPicker;
 import org.apache.kylin.common.util.CaseInsensitiveStringMap;
 import org.apache.kylin.common.util.Pair;
+import org.apache.kylin.guava30.shaded.common.base.Joiner;
+import org.apache.kylin.guava30.shaded.common.base.Preconditions;
+import org.apache.kylin.guava30.shaded.common.collect.ImmutableList;
+import org.apache.kylin.guava30.shaded.common.collect.ImmutableSet;
 import org.apache.kylin.metadata.model.ColumnDesc;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
+import org.apache.kylin.metadata.model.NTableMetadataManager;
 
 import com.fasterxml.jackson.annotation.JsonAutoDetect;
 import com.fasterxml.jackson.core.JsonGenerator;
@@ -53,19 +57,14 @@ import com.fasterxml.jackson.databind.JsonSerializer;
 import com.fasterxml.jackson.databind.SerializerProvider;
 import com.fasterxml.jackson.databind.annotation.JsonDeserialize;
 import com.fasterxml.jackson.databind.annotation.JsonSerialize;
-import org.apache.kylin.guava30.shaded.common.base.Joiner;
-import org.apache.kylin.guava30.shaded.common.base.Preconditions;
-import org.apache.kylin.guava30.shaded.common.collect.ImmutableList;
-import org.apache.kylin.guava30.shaded.common.collect.ImmutableSet;
 
-import org.apache.kylin.metadata.acl.ColumnToConds.Cond.IntervalType;
-import org.apache.kylin.metadata.model.NTableMetadataManager;
+import lombok.extern.slf4j.Slf4j;
 
+@Slf4j
 @JsonAutoDetect(fieldVisibility = JsonAutoDetect.Visibility.NONE, getterVisibility = JsonAutoDetect.Visibility.NONE, isGetterVisibility = JsonAutoDetect.Visibility.NONE, setterVisibility = JsonAutoDetect.Visibility.NONE)
 //all row conditions in the table, for example:C1:{cond1, cond2},C2{cond1, cond3}, immutable
 public class ColumnToConds extends CaseInsensitiveStringMap<List<ColumnToConds.Cond>> implements Serializable {
 
-    private static final Logger logger = LoggerFactory.getLogger(ColumnToConds.class);
     private static final String COMMA = ",";
 
     public ColumnToConds() {
@@ -132,7 +131,7 @@ public class ColumnToConds extends CaseInsensitiveStringMap<List<ColumnToConds.C
             }
             if (CollectionUtils.isNotEmpty(likeConditions)) {
                 if (!isValidLikeColumnType(type)) {
-                    logger.error(MsgPicker.getMsg().getRowAclNotStringType());
+                    log.error(MsgPicker.getMsg().getRowAclNotStringType());
                 } else {
                     if (CollectionUtils.isNotEmpty(intervalConditions)) {
                         result.append(" or ");
@@ -157,22 +156,17 @@ public class ColumnToConds extends CaseInsensitiveStringMap<List<ColumnToConds.C
         return result.toString();
     }
 
-    public static String preview(String project, String table, ColumnToConds condsWithColumn,
-            ColumnToConds likeCondsWithColumn) {
-        Map<String, String> columnWithType = Preconditions.checkNotNull(getColumnWithType(project, table));
-        return concatConds(condsWithColumn, likeCondsWithColumn, columnWithType);
+    public enum IntervalType implements Serializable {
+        OPEN, // x in (a,b): a < x < b
+        CLOSED, // x in [a,b]: a ≤ x ≤ b
+        LEFT_INCLUSIVE, // x in [a,b): a ≤ x < b
+        RIGHT_INCLUSIVE, // x in (a,b]: a < x ≤ b
+        LIKE // x LIKE 'abc%'
     }
 
-    @JsonSerialize(using = Cond.RowACLCondSerializer.class)
-    @JsonDeserialize(using = Cond.RowACLCondDeserializer.class)
+    @JsonSerialize(using = ColumnToConds.RowACLCondSerializer.class)
+    @JsonDeserialize(using = ColumnToConds.RowACLCondDeserializer.class)
     public static class Cond implements Serializable {
-        public enum IntervalType implements Serializable {
-            OPEN, // x in (a,b): a < x < b
-            CLOSED, // x in [a,b]: a ≤ x ≤ b
-            LEFT_INCLUSIVE, // x in [a,b): a ≤ x < b
-            RIGHT_INCLUSIVE, // x in (a,b]: a < x ≤ b
-            LIKE // x LIKE 'abc%'
-        }
 
         private IntervalType type;
         private String leftExpr;
@@ -258,7 +252,7 @@ public class ColumnToConds extends CaseInsensitiveStringMap<List<ColumnToConds.C
                 sdf.setTimeZone(TimeZone.getDefault());
                 expr = sdf.format(new Date(Long.parseLong(expr)));
                 //transform "1970-01-01 00:00:59" into "00:00:59"
-                expr = "TIME '" + expr.substring(TIME_START_POS, expr.length()) + "'";
+                expr = "TIME '" + expr.substring(TIME_START_POS) + "'";
             }
             return expr;
         }
@@ -285,7 +279,7 @@ public class ColumnToConds extends CaseInsensitiveStringMap<List<ColumnToConds.C
             return expr;
         }
 
-        private static Pair<String, String> getOp(Cond.IntervalType type) {
+        private static Pair<String, String> getOp(IntervalType type) {
             switch (type) {
             case OPEN:
                 return Pair.newPair(">", "<");
@@ -311,9 +305,9 @@ public class ColumnToConds extends CaseInsensitiveStringMap<List<ColumnToConds.C
 
             if (type != cond.type)
                 return false;
-            if (leftExpr != null ? !leftExpr.equals(cond.leftExpr) : cond.leftExpr != null)
+            if (!Objects.equals(leftExpr, cond.leftExpr))
                 return false;
-            return rightExpr != null ? rightExpr.equals(cond.rightExpr) : cond.rightExpr == null;
+            return Objects.equals(rightExpr, cond.rightExpr);
         }
 
         @Override
@@ -324,40 +318,41 @@ public class ColumnToConds extends CaseInsensitiveStringMap<List<ColumnToConds.C
             return result;
         }
 
-        static class RowACLCondSerializer extends JsonSerializer<Cond> {
+    }
 
-            @Override
-            public void serialize(Cond cond, JsonGenerator gen, SerializerProvider serializers) throws IOException {
-                Object[] c;
-                if (cond.leftExpr.equals(cond.rightExpr)) {
-                    c = new Object[2];
-                    c[0] = cond.type.ordinal();
-                    c[1] = cond.leftExpr;
-                } else {
-                    c = new Object[3];
-                    c[0] = cond.type.ordinal();
-                    c[1] = cond.leftExpr;
-                    c[2] = cond.rightExpr;
-                }
-                gen.writeObject(c);
+    static class RowACLCondSerializer extends JsonSerializer<Cond> {
+
+        @Override
+        public void serialize(Cond cond, JsonGenerator gen, SerializerProvider serializers) throws IOException {
+            Object[] c;
+            if (cond.leftExpr.equals(cond.rightExpr)) {
+                c = new Object[2];
+                c[0] = cond.type.ordinal();
+                c[1] = cond.leftExpr;
+            } else {
+                c = new Object[3];
+                c[0] = cond.type.ordinal();
+                c[1] = cond.leftExpr;
+                c[2] = cond.rightExpr;
             }
+            gen.writeObject(c);
         }
+    }
 
-        static class RowACLCondDeserializer extends JsonDeserializer<Cond> {
+    static class RowACLCondDeserializer extends JsonDeserializer<Cond> {
 
-            @Override
-            public Cond deserialize(JsonParser p, DeserializationContext ctxt) throws IOException {
-                Object[] c = p.readValueAs(Object[].class);
-                Cond cond = new Cond();
-                cond.type = IntervalType.values()[(int) c[0]];
-                if (c.length == 2) {
-                    cond.leftExpr = cond.rightExpr = (String) c[1];
-                } else {
-                    cond.leftExpr = (String) c[1];
-                    cond.rightExpr = (String) c[2];
-                }
-                return cond;
+        @Override
+        public Cond deserialize(JsonParser p, DeserializationContext ctxt) throws IOException {
+            Object[] c = p.readValueAs(Object[].class);
+            Cond cond = new Cond();
+            cond.type = IntervalType.values()[(int) c[0]];
+            if (c.length == 2) {
+                cond.leftExpr = cond.rightExpr = (String) c[1];
+            } else {
+                cond.leftExpr = (String) c[1];
+                cond.rightExpr = (String) c[2];
             }
+            return cond;
         }
     }
 }
diff --git a/src/core-metadata/src/main/java/org/apache/kylin/metadata/cube/cuboid/AggIndexMatcher.java b/src/core-metadata/src/main/java/org/apache/kylin/metadata/cube/cuboid/AggIndexMatcher.java
index a7efb17286..c24460d8cf 100644
--- a/src/core-metadata/src/main/java/org/apache/kylin/metadata/cube/cuboid/AggIndexMatcher.java
+++ b/src/core-metadata/src/main/java/org/apache/kylin/metadata/cube/cuboid/AggIndexMatcher.java
@@ -65,13 +65,13 @@ public class AggIndexMatcher extends IndexMatcher {
     @Override
     protected boolean fastValidCheckBeforeMatch() {
         // cols may have null values as the CC col in query may not present in the model
-        sqlColumns = Stream.concat(sqlDigest.filterColumns.stream(), sqlDigest.groupbyColumns.stream())
+        sqlColumns = Stream.concat(sqlDigest.getFilterColumns().stream(), sqlDigest.getGroupByColumns().stream())
                 .map(tblColMap::get).collect(Collectors.toSet());
         if (sqlColumns.contains(null)) {
             return false;
         }
 
-        for (FunctionDesc agg : sqlDigest.aggregations) {
+        for (FunctionDesc agg : sqlDigest.getAggregations()) {
             List<Integer> cols = agg.getSourceColRefs().stream().map(tblColMap::get).collect(Collectors.toList());
             for (Integer col : cols) {
                 if (col == null) {
@@ -89,7 +89,7 @@ public class AggIndexMatcher extends IndexMatcher {
             return new MatchResult();
         }
         log.trace("Matching agg index");
-        Collection<FunctionDesc> unmatchedMetrics = Lists.newArrayList(sqlDigest.aggregations);
+        Collection<FunctionDesc> unmatchedMetrics = Lists.newArrayList(sqlDigest.getAggregations());
         Set<Integer> unmatchedCols = initUnmatchedColumnIds(layout);
         final Map<Integer, DeriveInfo> needDerive = Maps.newHashMap();
         goThruDerivedDims(layout.getIndex(), needDerive, unmatchedCols);
diff --git a/src/core-metadata/src/main/java/org/apache/kylin/metadata/cube/cuboid/IndexMatcher.java b/src/core-metadata/src/main/java/org/apache/kylin/metadata/cube/cuboid/IndexMatcher.java
index 5db2a673ec..e280c9c6dc 100644
--- a/src/core-metadata/src/main/java/org/apache/kylin/metadata/cube/cuboid/IndexMatcher.java
+++ b/src/core-metadata/src/main/java/org/apache/kylin/metadata/cube/cuboid/IndexMatcher.java
@@ -160,7 +160,9 @@ public abstract class IndexMatcher {
     }
 
     private boolean needJoinSnapshot(JoinDesc join) {
-        List<JoinDesc> sqlDigestJoins = sqlDigest.joinDescs == null ? Lists.newArrayList() : sqlDigest.joinDescs;
+        List<JoinDesc> sqlDigestJoins = sqlDigest.getJoinDescs() == null //
+                ? Lists.newArrayList()
+                : sqlDigest.getJoinDescs();
         for (JoinDesc digestJoin : sqlDigestJoins) {
             Set<TblColRef> digestPKs = Sets.newHashSet(digestJoin.getPrimaryKeyColumns());
             Set<TblColRef> digestFKs = Sets.newHashSet(digestJoin.getForeignKeyColumns());
diff --git a/src/core-metadata/src/main/java/org/apache/kylin/metadata/cube/cuboid/TableIndexMatcher.java b/src/core-metadata/src/main/java/org/apache/kylin/metadata/cube/cuboid/TableIndexMatcher.java
index e9c716f13e..c1a54ecd1a 100644
--- a/src/core-metadata/src/main/java/org/apache/kylin/metadata/cube/cuboid/TableIndexMatcher.java
+++ b/src/core-metadata/src/main/java/org/apache/kylin/metadata/cube/cuboid/TableIndexMatcher.java
@@ -50,7 +50,7 @@ public class TableIndexMatcher extends IndexMatcher {
     @Override
     protected boolean fastValidCheckBeforeMatch() {
         // cols may have null values as the CC col in query may not present in the model
-        sqlColumns = sqlDigest.allColumns.stream().map(tblColMap::get).collect(Collectors.toSet());
+        sqlColumns = sqlDigest.getAllColumns().stream().map(tblColMap::get).collect(Collectors.toSet());
         return !sqlColumns.contains(null);
     }
 
@@ -67,8 +67,8 @@ public class TableIndexMatcher extends IndexMatcher {
         if (NProjectManager.getProjectConfig(project).useTableIndexAnswerSelectStarEnabled()) {
             penaltyFactor = unmatchedCols.size();
             unmatchedCols.removeAll(dataflow.getAllColumnsIndex());
-            TableRef tableRef = dataflow.getModel().getTableNameMap().get(sqlDigest.factTable);
-            if (sqlDigest.isRawQuery && (sqlDigest.allColumns.size() == tableRef.getColumns().size())) {
+            TableRef tableRef = dataflow.getModel().getTableNameMap().get(sqlDigest.getFactTable());
+            if (sqlDigest.isRawQuery && (sqlDigest.getAllColumns().size() == tableRef.getColumns().size())) {
                 unmatchedCols.clear();
             }
         }
@@ -93,7 +93,7 @@ public class TableIndexMatcher extends IndexMatcher {
     @Override
     protected boolean canSkipIndexMatch(IndexEntity index) {
         boolean isUseTableIndex = dataflow.getConfig().isUseTableIndexAnswerNonRawQuery()
-                && !nonSupportFunTableIndex(sqlDigest.aggregations);
+                && !nonSupportFunTableIndex(sqlDigest.getAggregations());
         return !index.isTableIndex() || (!sqlDigest.isRawQuery && !isUseTableIndex);
     }
 }
diff --git a/src/core-metadata/src/main/java/org/apache/kylin/metadata/model/FunctionDesc.java b/src/core-metadata/src/main/java/org/apache/kylin/metadata/model/FunctionDesc.java
index 1946e16ad8..6183be7eea 100644
--- a/src/core-metadata/src/main/java/org/apache/kylin/metadata/model/FunctionDesc.java
+++ b/src/core-metadata/src/main/java/org/apache/kylin/metadata/model/FunctionDesc.java
@@ -46,6 +46,11 @@ import java.util.stream.Collectors;
 import org.apache.commons.collections.CollectionUtils;
 import org.apache.commons.lang3.StringUtils;
 import org.apache.kylin.common.exception.KylinException;
+import org.apache.kylin.guava30.shaded.common.base.Joiner;
+import org.apache.kylin.guava30.shaded.common.base.Preconditions;
+import org.apache.kylin.guava30.shaded.common.collect.ImmutableSet;
+import org.apache.kylin.guava30.shaded.common.collect.Lists;
+import org.apache.kylin.guava30.shaded.common.collect.Maps;
 import org.apache.kylin.measure.MeasureType;
 import org.apache.kylin.measure.MeasureTypeFactory;
 import org.apache.kylin.measure.basic.BasicMeasureType;
@@ -56,11 +61,6 @@ import com.fasterxml.jackson.annotation.JsonAutoDetect;
 import com.fasterxml.jackson.annotation.JsonAutoDetect.Visibility;
 import com.fasterxml.jackson.annotation.JsonInclude;
 import com.fasterxml.jackson.annotation.JsonProperty;
-import org.apache.kylin.guava30.shaded.common.base.Joiner;
-import org.apache.kylin.guava30.shaded.common.base.Preconditions;
-import org.apache.kylin.guava30.shaded.common.collect.ImmutableSet;
-import org.apache.kylin.guava30.shaded.common.collect.Lists;
-import org.apache.kylin.guava30.shaded.common.collect.Maps;
 
 import lombok.Getter;
 import lombok.Setter;
@@ -144,7 +144,8 @@ public class FunctionDesc implements Serializable {
 
     private static void checkSumLCTimeColDataType(String dataTypeName) {
         DataType dataType = DataType.getType(dataTypeName);
-        if (dataType.isTinyInt() || dataType.isFloat() || dataType.isDouble() || dataType.isDecimal() || dataType.isBoolean()) {
+        if (dataType.isTinyInt() || dataType.isFloat() || dataType.isDouble() || dataType.isDecimal()
+                || dataType.isBoolean()) {
             throw new KylinException(MODEL_SUM_LC_INVALID_TIMESTAMP_TYPE, dataType);
         }
     }
diff --git a/src/core-metadata/src/main/java/org/apache/kylin/metadata/realization/SQLDigest.java b/src/core-metadata/src/main/java/org/apache/kylin/metadata/realization/SQLDigest.java
index f24089bb55..a1a7c396d1 100644
--- a/src/core-metadata/src/main/java/org/apache/kylin/metadata/realization/SQLDigest.java
+++ b/src/core-metadata/src/main/java/org/apache/kylin/metadata/realization/SQLDigest.java
@@ -28,16 +28,16 @@ import java.util.Set;
 
 import org.apache.commons.collections.CollectionUtils;
 import org.apache.commons.lang3.StringUtils;
+import org.apache.kylin.guava30.shaded.common.collect.Lists;
 import org.apache.kylin.metadata.model.FunctionDesc;
 import org.apache.kylin.metadata.model.JoinDesc;
-import org.apache.kylin.metadata.model.MeasureDesc;
 import org.apache.kylin.metadata.model.ParameterDesc;
 import org.apache.kylin.metadata.model.TblColRef;
 
-import org.apache.kylin.guava30.shaded.common.collect.Lists;
+import lombok.Getter;
+import lombok.Setter;
 
-/**
- */
+@Getter
 public class SQLDigest {
 
     public enum OrderEnum {
@@ -45,41 +45,45 @@ public class SQLDigest {
     }
 
     // model
-    public String factTable;
-    public Set<TblColRef> allColumns;
-    public List<JoinDesc> joinDescs;
+    private final String factTable;
+    private Set<TblColRef> allColumns;
+    private final List<JoinDesc> joinDescs;
 
     // group by
-    public List<TblColRef> groupbyColumns;
-    public Set<TblColRef> subqueryJoinParticipants; // FIXME: can we add subqueryJoinParticipants to allColumns/groupbyCols at OLAPContext?
+    @Setter
+    private List<TblColRef> groupByColumns;
+
+    // can we add subqueryJoinParticipants to allColumns/groupByColumns at OLAPContext? from dong@newten
+    private final Set<TblColRef> subqueryJoinParticipants;
 
     // aggregation
-    public Set<TblColRef> metricColumns;
-    public List<FunctionDesc> aggregations; // storage level measure type, on top of which various sql aggr function may apply
+    private final Set<TblColRef> metricColumns;
+    // storage level measure type, on top of which various sql aggr function may apply
+    @Setter
+    private List<FunctionDesc> aggregations;
 
     // filter
-    public Set<TblColRef> filterColumns;
+    private final Set<TblColRef> filterColumns;
 
     // sort & limit
-    public List<TblColRef> sortColumns;
-    public List<OrderEnum> sortOrders;
+    private final List<TblColRef> sortColumns;
+    private final List<OrderEnum> sortOrders;
     public boolean isRawQuery;
-    public int limit = Integer.MAX_VALUE;
-    public boolean limitPrecedesAggr;
-
-    public Set<MeasureDesc> involvedMeasure;
+    private int limit = Integer.MAX_VALUE;
+    private final boolean limitPrecedesAggr;
 
     public SQLDigest(String factTable, Set<TblColRef> allColumns, List<JoinDesc> joinDescs, // model
-            List<TblColRef> groupbyColumns, Set<TblColRef> subqueryJoinParticipants, // group by
+            List<TblColRef> groupByColumns, Set<TblColRef> subqueryJoinParticipants, // group by
             Set<TblColRef> metricColumns, List<FunctionDesc> aggregations, // aggregation
             Set<TblColRef> filterColumns, // filter
-            List<TblColRef> sortColumns, List<OrderEnum> sortOrders, int limit, boolean limitPrecedesAggr, // sort & limit
-            Set<MeasureDesc> involvedMeasure) {
+            List<TblColRef> sortColumns, List<OrderEnum> sortOrders, // sort
+            int limit, boolean limitPrecedesAggr // limit
+    ) {
         this.factTable = factTable;
         this.allColumns = allColumns;
         this.joinDescs = joinDescs;
 
-        this.groupbyColumns = groupbyColumns;
+        this.groupByColumns = groupByColumns;
         this.subqueryJoinParticipants = subqueryJoinParticipants;
 
         this.metricColumns = metricColumns;
@@ -93,33 +97,32 @@ public class SQLDigest {
         this.limit = limit;
         this.limitPrecedesAggr = limitPrecedesAggr;
 
-        this.involvedMeasure = involvedMeasure;
-
         this.includeSubqueryJoinParticipants();
         this.allColumns = Collections.unmodifiableSet(allColumns);
     }
 
     private boolean isRawQuery() {
-        return this.groupbyColumns.isEmpty() && // select a group by a -> not raw
+        return this.groupByColumns.isEmpty() && // select a group by a -> not raw
                 this.aggregations.isEmpty(); // has aggr -> not raw
-        //the reason to choose aggregations rather than metricColumns is because the former is set earlier at implOLAP
+        // the reason to choose aggregations rather than metricColumns 
+        // is that the former is set earlier at implOLAP
     }
 
     public void includeSubqueryJoinParticipants() {
         if (this.isRawQuery) {
             this.allColumns.addAll(this.subqueryJoinParticipants);
         } else {
-            this.groupbyColumns.addAll(this.subqueryJoinParticipants);
+            this.groupByColumns.addAll(this.subqueryJoinParticipants);
             this.allColumns.addAll(this.subqueryJoinParticipants);
         }
     }
 
     @Override
     public String toString() {
-        return "fact table " + this.factTable + "," + //
-                "group by " + this.groupbyColumns + "," + //
-                "filter on " + this.filterColumns + "," + //
-                "with aggregates" + this.aggregations + ".";
+        return "fact table " + this.factTable + "," //
+                + "group by " + this.groupByColumns + "," //
+                + "filter on " + this.filterColumns + "," //
+                + "with aggregates" + this.aggregations + ".";
     }
 
     @Override
@@ -133,13 +136,12 @@ public class SQLDigest {
                 && limitPrecedesAggr == sqlDigest.limitPrecedesAggr && factTable.equals(sqlDigest.factTable)
                 && equalsIgnoreOrder(allColumns, sqlDigest.allColumns)
                 && equalsIgnoreOrder(joinDescs, sqlDigest.joinDescs)
-                && equalsIgnoreOrder(groupbyColumns, sqlDigest.groupbyColumns)
+                && equalsIgnoreOrder(groupByColumns, sqlDigest.groupByColumns)
                 && subqueryJoinParticipants.equals(sqlDigest.subqueryJoinParticipants)
                 && equalsIgnoreOrder(metricColumns, sqlDigest.metricColumns)
                 && equalsIgnoreOrder(aggregations, sqlDigest.aggregations)
                 && equalsIgnoreOrder(filterColumns, sqlDigest.filterColumns)
-                && equalsIgnoreOrder(sortColumns, sqlDigest.sortColumns) && sortOrders.equals(sqlDigest.sortOrders)
-                && involvedMeasure.equals(sqlDigest.involvedMeasure);
+                && equalsIgnoreOrder(sortColumns, sqlDigest.sortColumns) && sortOrders.equals(sqlDigest.sortOrders);
     }
 
     private static boolean equalsIgnoreOrder(Collection c1, Collection c2) {
@@ -235,9 +237,7 @@ public class SQLDigest {
                 Lists.newArrayList(j2.getPrimaryKeyColumns()))) {
             return false;
         }
-        if (!j1.getType().equalsIgnoreCase(j2.getType()))
-            return false;
-        return true;
+        return j1.getType().equalsIgnoreCase(j2.getType());
     }
 
     private static boolean equals(FunctionDesc f1, FunctionDesc f2) {
@@ -250,8 +250,7 @@ public class SQLDigest {
         if (f1.isCountDistinct()) {
             // for count distinct func, param's order doesn't matter
             if (CollectionUtils.isEmpty(f1.getParameters())) {
-                if (CollectionUtils.isNotEmpty(f2.getParameters()))
-                    return false;
+                return !CollectionUtils.isNotEmpty(f2.getParameters());
             } else {
                 return equalsIgnoreOrder(f1.getParameters(), f2.getParameters());
             }
@@ -259,14 +258,11 @@ public class SQLDigest {
             return true;
         } else {
             if (CollectionUtils.isEmpty(f1.getParameters())) {
-                if (CollectionUtils.isNotEmpty(f2.getParameters()))
-                    return false;
+                return !CollectionUtils.isNotEmpty(f2.getParameters());
             } else {
-                if (!equalsConsiderOrder(f1.getParameters(), f2.getParameters()))
-                    return false;
+                return equalsConsiderOrder(f1.getParameters(), f2.getParameters());
             }
         }
-        return true;
     }
 
     private static boolean equals(ParameterDesc p1, ParameterDesc p2) {
@@ -282,10 +278,7 @@ public class SQLDigest {
         if (p1.isColumnType() && !equals(p2.getColRef(), p1.getColRef())) {
             return false;
         }
-        if (!p1.isColumnType() && !p1.getValue().equals(p2.getValue())) {
-            return false;
-        }
-        return true;
+        return p1.isColumnType() || p1.getValue().equals(p2.getValue());
     }
 
     private static boolean equals(TblColRef t1, TblColRef t2) {
@@ -300,16 +293,12 @@ public class SQLDigest {
             return false;
         if (!(t1.getTableRef() == null ? t2.getTableRef() == null : t1.getTableRef().equals(t2.getTableRef())))
             return false;
-        if (t1.isInnerColumn() != t2.isInnerColumn())
-            return false;
-        return true;
+        return t1.isInnerColumn() == t2.isInnerColumn();
     }
 
     @Override
     public int hashCode() {
-        return Objects.hash(factTable, allColumns, joinDescs, groupbyColumns, subqueryJoinParticipants, metricColumns,
-                aggregations, filterColumns, sortColumns, sortOrders, isRawQuery(), limit, limitPrecedesAggr,
-                involvedMeasure);
+        return Objects.hash(factTable, allColumns, joinDescs, groupByColumns, subqueryJoinParticipants, metricColumns,
+                aggregations, filterColumns, sortColumns, sortOrders, isRawQuery(), limit, limitPrecedesAggr);
     }
-
 }
diff --git a/src/kylin-it/src/test/java/org/apache/kylin/newten/CharNColumnTest.java b/src/kylin-it/src/test/java/org/apache/kylin/newten/CharNColumnTest.java
index 8b1a159875..d6a7796c79 100644
--- a/src/kylin-it/src/test/java/org/apache/kylin/newten/CharNColumnTest.java
+++ b/src/kylin-it/src/test/java/org/apache/kylin/newten/CharNColumnTest.java
@@ -60,7 +60,7 @@ public class CharNColumnTest extends NLocalWithSparkSessionTest {
         KylinConfig config = KylinConfig.getInstanceFromEnv();
         populateSSWithCSVData(config, getProject(), SparderEnv.getSparkSession());
         String query1 = "select AGE, CITY, " + "intersect_count(USER_ID, TAG, array['rich','tall','handsome']) "
-                + "from TEST_CHAR_N where city=\'Beijing  \' group by AGE, CITY ";
+                + "from TEST_CHAR_N where city='Beijing  ' group by AGE, CITY ";
         List<String> r1 = ExecAndComp.queryModel(getProject(), query1).collectAsList().stream()
                 .map(row -> row.toSeq().mkString(",")).collect(Collectors.toList());
 
diff --git a/src/kylin-it/src/test/java/org/apache/kylin/newten/EnhancedAggPushDownTest.java b/src/kylin-it/src/test/java/org/apache/kylin/newten/EnhancedAggPushDownTest.java
index 61bf6251b1..9ed827a094 100644
--- a/src/kylin-it/src/test/java/org/apache/kylin/newten/EnhancedAggPushDownTest.java
+++ b/src/kylin-it/src/test/java/org/apache/kylin/newten/EnhancedAggPushDownTest.java
@@ -27,7 +27,7 @@ import org.apache.kylin.engine.spark.NLocalWithSparkSessionTest;
 import org.apache.kylin.job.util.JobContextUtil;
 import org.apache.kylin.query.engine.QueryExec;
 import org.apache.kylin.query.relnode.ContextUtil;
-import org.apache.kylin.query.relnode.OLAPContext;
+import org.apache.kylin.query.relnode.OlapContext;
 import org.junit.After;
 import org.junit.Assert;
 import org.junit.Before;
@@ -57,9 +57,9 @@ public class EnhancedAggPushDownTest extends NLocalWithSparkSessionTest {
                 + "inner join TEST_CATEGORY_GROUPINGS as tcg on TEST_KYLIN_FACT.LEAF_CATEG_ID = tcg.LEAF_CATEG_ID\n"
                 + "inner join KYLIN_CATEGORY_GROUPINGS as kcg on TEST_KYLIN_FACT.LEAF_CATEG_ID = kcg.LEAF_CATEG_ID \n"
                 + "group by SELLER_ID,kcg.CATEG_LVL3_ID    \n" + "order by SELLER_ID,kcg.CATEG_LVL3_ID desc limit 9";
-        List<OLAPContext> contexts = executeSql(sql);
-        Assert.assertEquals(1L, contexts.get(0).storageContext.getLayoutId(), 0);
-        Assert.assertEquals("model_snapshot", contexts.get(1).realization.getModel().getAlias());
+        List<OlapContext> contexts = executeSql(sql);
+        Assert.assertEquals(1L, contexts.get(0).getStorageContext().getLayoutId(), 0);
+        Assert.assertEquals("model_snapshot", contexts.get(1).getRealization().getModel().getAlias());
     }
 
     @Test
@@ -69,9 +69,9 @@ public class EnhancedAggPushDownTest extends NLocalWithSparkSessionTest {
                 + "inner join TEST_CATEGORY_GROUPINGS as tcg on TEST_KYLIN_FACT.LEAF_CATEG_ID = tcg.LEAF_CATEG_ID\n"
                 + "inner join KYLIN_CATEGORY_GROUPINGS as kcg on TEST_KYLIN_FACT.LEAF_CATEG_ID = kcg.LEAF_CATEG_ID \n"
                 + "group by SELLER_ID,kcg.CATEG_LVL3_ID    \n" + "order by SELLER_ID,kcg.CATEG_LVL3_ID desc limit 9";
-        List<OLAPContext> contexts = executeSql(sql);
-        Assert.assertEquals(1L, contexts.get(0).storageContext.getLayoutId(), 0);
-        Assert.assertEquals("model_snapshot", contexts.get(1).realization.getModel().getAlias());
+        List<OlapContext> contexts = executeSql(sql);
+        Assert.assertEquals(1L, contexts.get(0).getStorageContext().getLayoutId(), 0);
+        Assert.assertEquals("model_snapshot", contexts.get(1).getRealization().getModel().getAlias());
     }
 
     @Test
@@ -83,10 +83,10 @@ public class EnhancedAggPushDownTest extends NLocalWithSparkSessionTest {
                 + "inner join KYLIN_CATEGORY_GROUPINGS as kcg2 on TEST_KYLIN_FACT.LEAF_CATEG_ID = kcg2.LEAF_CATEG_ID \n"
                 + "group by SELLER_ID,kcg.CATEG_LVL3_ID,kcg2.CATEG_LVL3_ID  \n"
                 + "order by SELLER_ID,kcg.CATEG_LVL3_ID desc limit 9";
-        List<OLAPContext> contexts = executeSql(sql);
-        Assert.assertEquals(1L, contexts.get(0).storageContext.getLayoutId(), 0);
-        Assert.assertEquals("model_snapshot", contexts.get(1).realization.getModel().getAlias());
-        Assert.assertEquals("model_snapshot", contexts.get(2).realization.getModel().getAlias());
+        List<OlapContext> contexts = executeSql(sql);
+        Assert.assertEquals(1L, contexts.get(0).getStorageContext().getLayoutId(), 0);
+        Assert.assertEquals("model_snapshot", contexts.get(1).getRealization().getModel().getAlias());
+        Assert.assertEquals("model_snapshot", contexts.get(2).getRealization().getModel().getAlias());
     }
 
     @Test
@@ -97,11 +97,11 @@ public class EnhancedAggPushDownTest extends NLocalWithSparkSessionTest {
                 + "inner join TEST_CATEGORY_GROUPINGS as tcg on TEST_KYLIN_FACT.LEAF_CATEG_ID = tcg.LEAF_CATEG_ID\n"
                 + "inner join KYLIN_CATEGORY_GROUPINGS as kcg on TEST_KYLIN_FACT.LEAF_CATEG_ID = kcg.LEAF_CATEG_ID \n"
                 + "group by SELLER_ID,kcg.CATEG_LVL3_ID    \n" + "order by SELLER_ID,kcg.CATEG_LVL3_ID desc limit 9";
-        List<OLAPContext> contexts = executeSql(sql);
-        Assert.assertEquals(1L, contexts.get(0).storageContext.getLayoutId(), 0);
-        Assert.assertEquals("model_snapshot", contexts.get(1).realization.getModel().getAlias());
-        Assert.assertEquals(1L, contexts.get(2).storageContext.getLayoutId(), 0);
-        Assert.assertEquals("model_snapshot", contexts.get(3).realization.getModel().getAlias());
+        List<OlapContext> contexts = executeSql(sql);
+        Assert.assertEquals(1L, contexts.get(0).getStorageContext().getLayoutId(), 0);
+        Assert.assertEquals("model_snapshot", contexts.get(1).getRealization().getModel().getAlias());
+        Assert.assertEquals(1L, contexts.get(2).getStorageContext().getLayoutId(), 0);
+        Assert.assertEquals("model_snapshot", contexts.get(3).getRealization().getModel().getAlias());
     }
 
     @Test
@@ -114,14 +114,14 @@ public class EnhancedAggPushDownTest extends NLocalWithSparkSessionTest {
                 + "inner join TEST_CATEGORY_GROUPINGS as tcg on TEST_KYLIN_FACT.LEAF_CATEG_ID = tcg.LEAF_CATEG_ID\n"
                 + "inner join KYLIN_CATEGORY_GROUPINGS as kcg on TEST_KYLIN_FACT.LEAF_CATEG_ID = kcg.LEAF_CATEG_ID \n"
                 + "group by SELLER_ID,kcg.CATEG_LVL3_ID      \n" + "order by SELLER_ID,kcg.CATEG_LVL3_ID desc limit 9";
-        List<OLAPContext> contexts = executeSql(sql);
-        Assert.assertEquals(1L, contexts.get(0).storageContext.getLayoutId(), 0);
-        Assert.assertEquals("model_snapshot", contexts.get(1).realization.getModel().getAlias());
-        Assert.assertEquals(1L, contexts.get(2).storageContext.getLayoutId(), 0);
-        Assert.assertEquals("model_snapshot", contexts.get(3).realization.getModel().getAlias());
+        List<OlapContext> contexts = executeSql(sql);
+        Assert.assertEquals(1L, contexts.get(0).getStorageContext().getLayoutId(), 0);
+        Assert.assertEquals("model_snapshot", contexts.get(1).getRealization().getModel().getAlias());
+        Assert.assertEquals(1L, contexts.get(2).getStorageContext().getLayoutId(), 0);
+        Assert.assertEquals("model_snapshot", contexts.get(3).getRealization().getModel().getAlias());
     }
 
-    private List<OLAPContext> executeSql(String sql) {
+    private List<OlapContext> executeSql(String sql) {
         QueryExec queryExec = new QueryExec(getProject(), KylinConfig.getInstanceFromEnv());
         try {
             QueryContext.current().setProject(getProject());
diff --git a/src/kylin-it/src/test/java/org/apache/kylin/newten/MultiPartitionPruningTest.java b/src/kylin-it/src/test/java/org/apache/kylin/newten/MultiPartitionPruningTest.java
index c98138e1f0..8702bb0922 100644
--- a/src/kylin-it/src/test/java/org/apache/kylin/newten/MultiPartitionPruningTest.java
+++ b/src/kylin-it/src/test/java/org/apache/kylin/newten/MultiPartitionPruningTest.java
@@ -493,16 +493,16 @@ public class MultiPartitionPruningTest extends NLocalWithSparkSessionTest implem
         val df = ExecAndComp.queryModelWithoutCompute(getProject(), sql);
         val context = ContextUtil.listContexts().get(0);
         if (emptyLayout) {
-            Assert.assertTrue(context.storageContext.isEmptyLayout());
-            Assert.assertEquals(Long.valueOf(-1), context.storageContext.getLayoutId());
+            Assert.assertTrue(context.getStorageContext().isEmptyLayout());
+            Assert.assertEquals(Long.valueOf(-1), context.getStorageContext().getLayoutId());
             return numScanFiles;
         }
         df.collect();
         val actualNum = findFileSourceScanExec(df.queryExecution().executedPlan()).metrics().get("numFiles").get()
                 .value();
         Assert.assertEquals(numScanFiles, actualNum);
-        val segmentIds = context.storageContext.getPrunedSegments();
-        val partitions = context.storageContext.getPrunedPartitions();
+        val segmentIds = context.getStorageContext().getPrunedSegments();
+        val partitions = context.getStorageContext().getPrunedPartitions();
         assertPrunedSegmentRange(modelId, segmentIds, partitions, expectedRanges, expectedPartitions);
         return actualNum;
     }
diff --git a/src/kylin-it/src/test/java/org/apache/kylin/newten/NAggIndexPriorityAnswerWithCCExprTest.java b/src/kylin-it/src/test/java/org/apache/kylin/newten/NAggIndexPriorityAnswerWithCCExprTest.java
index 5d3e106081..16ffc21f93 100644
--- a/src/kylin-it/src/test/java/org/apache/kylin/newten/NAggIndexPriorityAnswerWithCCExprTest.java
+++ b/src/kylin-it/src/test/java/org/apache/kylin/newten/NAggIndexPriorityAnswerWithCCExprTest.java
@@ -30,7 +30,7 @@ import org.apache.kylin.metadata.cube.model.NDataflow;
 import org.apache.kylin.metadata.cube.model.NDataflowManager;
 import org.apache.kylin.metadata.cube.model.NIndexPlanManager;
 import org.apache.kylin.metadata.model.SegmentRange;
-import org.apache.kylin.query.relnode.OLAPContext;
+import org.apache.kylin.query.relnode.OlapContext;
 import org.apache.kylin.query.routing.Candidate;
 import org.apache.kylin.query.routing.QueryLayoutChooser;
 import org.apache.kylin.query.routing.RemoveIncapableRealizationsRule;
@@ -77,7 +77,7 @@ public class NAggIndexPriorityAnswerWithCCExprTest extends NLocalWithSparkSessio
                 + "from (select D_YEAR,D_DAYOFWEEK b from SSB.DATES) group by D_YEAR";
 
         NDataflow dataflow = NDataflowManager.getInstance(getTestConfig(), getProject()).getDataflow(modelId);
-        OLAPContext context = OlapContextTestUtil.getOlapContexts(getProject(), sql).get(0);
+        OlapContext context = OlapContextTestUtil.getOlapContexts(getProject(), sql).get(0);
 
         Map<String, String> sqlAlias2ModelName = OlapContextTestUtil.matchJoins(dataflow.getModel(), context);
         context.fixModel(dataflow.getModel(), sqlAlias2ModelName);
diff --git a/src/kylin-it/src/test/java/org/apache/kylin/newten/NFilePruningTest.java b/src/kylin-it/src/test/java/org/apache/kylin/newten/NFilePruningTest.java
index a4980db1e3..260fbed2ef 100644
--- a/src/kylin-it/src/test/java/org/apache/kylin/newten/NFilePruningTest.java
+++ b/src/kylin-it/src/test/java/org/apache/kylin/newten/NFilePruningTest.java
@@ -16,7 +16,6 @@
  * limitations under the License.
  */
 
-
 package org.apache.kylin.newten;
 
 import java.time.Instant;
@@ -643,8 +642,8 @@ public class NFilePruningTest extends NLocalWithSparkSessionTest implements Adap
         val df = ExecAndComp.queryModelWithoutCompute(getProject(), sql);
         val context = ContextUtil.listContexts().get(0);
         if (emptyLayout) {
-            Assert.assertTrue(context.storageContext.isEmptyLayout());
-            Assert.assertEquals(Long.valueOf(-1), context.storageContext.getLayoutId());
+            Assert.assertTrue(context.getStorageContext().isEmptyLayout());
+            Assert.assertEquals(Long.valueOf(-1), context.getStorageContext().getLayoutId());
             return numScanFiles;
         }
         df.collect();
@@ -652,7 +651,7 @@ public class NFilePruningTest extends NLocalWithSparkSessionTest implements Adap
         val actualNum = findFileSourceScanExec(df.queryExecution().executedPlan()).metrics().get("numFiles").get()
                 .value();
         Assert.assertEquals(numScanFiles, actualNum);
-        val segmentIds = context.storageContext.getPrunedSegments();
+        val segmentIds = context.getStorageContext().getPrunedSegments();
         assertPrunedSegmentRange(modelId, segmentIds, expectedRanges);
         return actualNum;
     }
diff --git a/src/kylin-it/src/test/java/org/apache/kylin/newten/NMatchingTest.java b/src/kylin-it/src/test/java/org/apache/kylin/newten/NMatchingTest.java
index ffb5689178..6d0de04dbe 100644
--- a/src/kylin-it/src/test/java/org/apache/kylin/newten/NMatchingTest.java
+++ b/src/kylin-it/src/test/java/org/apache/kylin/newten/NMatchingTest.java
@@ -16,7 +16,6 @@
  * limitations under the License.
  */
 
-
 package org.apache.kylin.newten;
 
 import java.util.ArrayList;
@@ -25,6 +24,7 @@ import java.util.List;
 import org.apache.kylin.common.KylinConfig;
 import org.apache.kylin.common.util.Pair;
 import org.apache.kylin.engine.spark.NLocalWithSparkSessionTest;
+import org.apache.kylin.guava30.shaded.common.base.Throwables;
 import org.apache.kylin.job.util.JobContextUtil;
 import org.apache.kylin.metadata.cube.model.NDataflowManager;
 import org.apache.kylin.metadata.realization.RealizationStatusEnum;
@@ -75,9 +75,8 @@ public class NMatchingTest extends NLocalWithSparkSessionTest {
             ExecAndComp.execAndCompare(query, getProject(), CompareLevel.SAME, "left");
             Assert.fail();
         } catch (Exception e) {
-            Assert.assertTrue(e.getCause().getCause().getCause().getMessage().contains("No realization found for OLAPContext"));
+            Assert.assertTrue(Throwables.getRootCause(e).getMessage().contains("No realization found for OlapContext"));
         }
-
     }
 
     @Test
diff --git a/src/kylin-it/src/test/java/org/apache/kylin/newten/NQueryPartialMatchIndexTest.java b/src/kylin-it/src/test/java/org/apache/kylin/newten/NQueryPartialMatchIndexTest.java
index c7158caba6..662d159765 100644
--- a/src/kylin-it/src/test/java/org/apache/kylin/newten/NQueryPartialMatchIndexTest.java
+++ b/src/kylin-it/src/test/java/org/apache/kylin/newten/NQueryPartialMatchIndexTest.java
@@ -71,7 +71,7 @@ public class NQueryPartialMatchIndexTest extends NLocalWithSparkSessionTest {
         QueryContext.current().setPartialMatchIndex(true);
         ExecAndComp.queryModelWithoutCompute(getProject(), sql);
         val context = ContextUtil.listContexts().get(0);
-        val segmentIds = context.storageContext.getPrunedSegments();
+        val segmentIds = context.getStorageContext().getPrunedSegments();
         assertPrunedSegmentRange(df.getModel().getId(), segmentIds, expectedRanges);
     }
 
@@ -88,7 +88,7 @@ public class NQueryPartialMatchIndexTest extends NLocalWithSparkSessionTest {
         } catch (Exception e) {
             if (e.getCause() instanceof NoRealizationFoundException) {
                 val context = ContextUtil.listContexts().get(0);
-                val segmentIds = context.storageContext.getPrunedSegments();
+                val segmentIds = context.getStorageContext().getPrunedSegments();
                 assertPrunedSegmentRange(df.getModel().getId(), segmentIds, Lists.newArrayList());
             }
         }
diff --git a/src/kylin-it/src/test/java/org/apache/kylin/query/engine/SumExprPlannerTest.java b/src/kylin-it/src/test/java/org/apache/kylin/query/engine/SumExprPlannerTest.java
index 4e1607d99f..b6255dae88 100644
--- a/src/kylin-it/src/test/java/org/apache/kylin/query/engine/SumExprPlannerTest.java
+++ b/src/kylin-it/src/test/java/org/apache/kylin/query/engine/SumExprPlannerTest.java
@@ -194,7 +194,7 @@ public class SumExprPlannerTest extends CalciteRuleTestBase {
                         KapAggProjectMergeRule.AGG_PROJECT_FILTER_JOIN,
                         KapAggProjectTransposeRule.AGG_PROJECT_FILTER_JOIN, KapAggProjectTransposeRule.AGG_PROJECT_JOIN,
                         KapAggFilterTransposeRule.AGG_FILTER_JOIN, KapAggJoinTransposeRule.INSTANCE_JOIN_RIGHT_AGG,
-                        KapCountDistinctJoinRule.INSTANCE_COUNT_DISTINCT_JOIN_ONESIDEAGG, KapAggregateRule.INSTANCE,
+                        KapCountDistinctJoinRule.COUNT_DISTINCT_JOIN_ONE_SIDE_AGG, KapAggregateRule.INSTANCE,
                         KapJoinRule.INSTANCE, KapProjectRule.INSTANCE));
     }
 
@@ -229,7 +229,7 @@ public class SumExprPlannerTest extends CalciteRuleTestBase {
                         KapAggProjectMergeRule.AGG_PROJECT_FILTER_JOIN,
                         KapAggProjectTransposeRule.AGG_PROJECT_FILTER_JOIN, KapAggProjectTransposeRule.AGG_PROJECT_JOIN,
                         KapAggFilterTransposeRule.AGG_FILTER_JOIN, KapAggJoinTransposeRule.INSTANCE_JOIN_RIGHT_AGG,
-                        KapCountDistinctJoinRule.INSTANCE_COUNT_DISTINCT_JOIN_ONESIDEAGG));
+                        KapCountDistinctJoinRule.COUNT_DISTINCT_JOIN_ONE_SIDE_AGG));
     }
 
     @Test
@@ -252,6 +252,6 @@ public class SumExprPlannerTest extends CalciteRuleTestBase {
                         KapAggProjectMergeRule.AGG_PROJECT_FILTER_JOIN,
                         KapAggProjectTransposeRule.AGG_PROJECT_FILTER_JOIN, KapAggProjectTransposeRule.AGG_PROJECT_JOIN,
                         KapAggFilterTransposeRule.AGG_FILTER_JOIN, KapAggJoinTransposeRule.INSTANCE_JOIN_RIGHT_AGG,
-                        KapCountDistinctJoinRule.INSTANCE_COUNT_DISTINCT_JOIN_ONESIDEAGG));
+                        KapCountDistinctJoinRule.COUNT_DISTINCT_JOIN_ONE_SIDE_AGG));
     }
 }
diff --git a/src/kylin-it/src/test/java/org/apache/kylin/query/routing/DataflowCapabilityCheckerTest.java b/src/kylin-it/src/test/java/org/apache/kylin/query/routing/DataflowCapabilityCheckerTest.java
index 1865372e8e..a843f60c17 100644
--- a/src/kylin-it/src/test/java/org/apache/kylin/query/routing/DataflowCapabilityCheckerTest.java
+++ b/src/kylin-it/src/test/java/org/apache/kylin/query/routing/DataflowCapabilityCheckerTest.java
@@ -46,7 +46,7 @@ import org.apache.kylin.metadata.model.Segments;
 import org.apache.kylin.metadata.project.EnhancedUnitOfWork;
 import org.apache.kylin.metadata.realization.CapabilityResult;
 import org.apache.kylin.metadata.realization.QueryableSeg;
-import org.apache.kylin.query.relnode.OLAPContext;
+import org.apache.kylin.query.relnode.OlapContext;
 import org.apache.kylin.util.MetadataTestUtils;
 import org.apache.kylin.util.OlapContextTestUtil;
 import org.junit.Assert;
@@ -62,7 +62,7 @@ public class DataflowCapabilityCheckerTest extends NLocalWithSparkSessionTest {
         NDataflow dataflow = NDataflowManager.getInstance(KylinConfig.getInstanceFromEnv(), getProject())
                 .getDataflow("abe3bf1a-c4bc-458d-8278-7ea8b00f5e96");
         String sql = "SELECT seller_ID FROM TEST_KYLIN_FACT LEFT JOIN TEST_ACCOUNT ON SELLER_ID = ACCOUNT_ID";
-        OLAPContext olapContext = OlapContextTestUtil.getOlapContexts(getProject(), sql).get(0);
+        OlapContext olapContext = OlapContextTestUtil.getOlapContexts(getProject(), sql).get(0);
         Map<String, String> sqlAlias2ModelNameMap = OlapContextTestUtil.matchJoins(dataflow.getModel(), olapContext);
         olapContext.fixModel(dataflow.getModel(), sqlAlias2ModelNameMap);
         Candidate candidate = new Candidate(dataflow, olapContext, sqlAlias2ModelNameMap);
@@ -80,7 +80,7 @@ public class DataflowCapabilityCheckerTest extends NLocalWithSparkSessionTest {
             String sql = "select a.NAME from TEST_BANK_INCOME a inner join TEST_BANK_LOCATION b \n"
                     + " on a.COUNTRY = b.COUNTRY group by a.Name ";
             NDataflow dataflow = NDataflowManager.getInstance(getTestConfig(), getProject()).getDataflow(modelId);
-            OLAPContext olapContext = OlapContextTestUtil.getOlapContexts(getProject(), sql, true).get(0);
+            OlapContext olapContext = OlapContextTestUtil.getOlapContexts(getProject(), sql, true).get(0);
             Map<String, String> sqlAlias2ModelNameMap = OlapContextTestUtil.matchJoins(dataflow.getModel(),
                     olapContext);
             olapContext.fixModel(dataflow.getModel(), sqlAlias2ModelNameMap);
@@ -96,7 +96,7 @@ public class DataflowCapabilityCheckerTest extends NLocalWithSparkSessionTest {
             String sql = "select a.NAME from TEST_BANK_INCOME a inner join TEST_BANK_LOCATION b \n"
                     + " on a.COUNTRY = b.COUNTRY";
             NDataflow dataflow = NDataflowManager.getInstance(getTestConfig(), getProject()).getDataflow(modelId);
-            OLAPContext olapContext = OlapContextTestUtil.getOlapContexts(getProject(), sql, true).get(0);
+            OlapContext olapContext = OlapContextTestUtil.getOlapContexts(getProject(), sql, true).get(0);
             Map<String, String> sqlAlias2ModelNameMap = OlapContextTestUtil.matchJoins(dataflow.getModel(),
                     olapContext);
             olapContext.fixModel(dataflow.getModel(), sqlAlias2ModelNameMap);
@@ -131,7 +131,7 @@ public class DataflowCapabilityCheckerTest extends NLocalWithSparkSessionTest {
             String sql = "select a.NAME from TEST_BANK_INCOME a inner join TEST_BANK_LOCATION b \n"
                     + " on a.COUNTRY = b.COUNTRY";
             NDataflow dataflow = NDataflowManager.getInstance(getTestConfig(), getProject()).getDataflow(modelId);
-            OLAPContext olapContext = OlapContextTestUtil.getOlapContexts(getProject(), sql, true).get(0);
+            OlapContext olapContext = OlapContextTestUtil.getOlapContexts(getProject(), sql, true).get(0);
             Map<String, String> sqlAlias2ModelNameMap = OlapContextTestUtil.matchJoins(dataflow.getModel(),
                     olapContext);
             olapContext.fixModel(dataflow.getModel(), sqlAlias2ModelNameMap);
@@ -158,7 +158,7 @@ public class DataflowCapabilityCheckerTest extends NLocalWithSparkSessionTest {
             String sql = "select a.NAME from TEST_BANK_INCOME a inner join TEST_BANK_LOCATION b \n"
                     + " on a.COUNTRY = b.COUNTRY";
             NDataflow dataflow = NDataflowManager.getInstance(getTestConfig(), getProject()).getDataflow(modelId);
-            OLAPContext olapContext = OlapContextTestUtil.getOlapContexts(getProject(), sql, true).get(0);
+            OlapContext olapContext = OlapContextTestUtil.getOlapContexts(getProject(), sql, true).get(0);
             Map<String, String> sqlAlias2ModelNameMap = OlapContextTestUtil.matchJoins(dataflow.getModel(),
                     olapContext);
             olapContext.fixModel(dataflow.getModel(), sqlAlias2ModelNameMap);
@@ -197,7 +197,7 @@ public class DataflowCapabilityCheckerTest extends NLocalWithSparkSessionTest {
         String sql = "select a.NAME from TEST_BANK_INCOME a inner join TEST_BANK_LOCATION b \n"
                 + " on a.COUNTRY = b.COUNTRY";
         NDataflow dataflow = NDataflowManager.getInstance(getTestConfig(), getProject()).getDataflow(modelId);
-        OLAPContext olapContext = OlapContextTestUtil.getOlapContexts(getProject(), sql, true).get(0);
+        OlapContext olapContext = OlapContextTestUtil.getOlapContexts(getProject(), sql, true).get(0);
         Map<String, String> sqlAlias2ModelNameMap = OlapContextTestUtil.matchJoins(dataflow.getModel(), olapContext);
         olapContext.fixModel(dataflow.getModel(), sqlAlias2ModelNameMap);
         Candidate candidate = new Candidate(dataflow, olapContext, sqlAlias2ModelNameMap);
@@ -238,7 +238,7 @@ public class DataflowCapabilityCheckerTest extends NLocalWithSparkSessionTest {
         String sql = "select a.NAME from TEST_BANK_INCOME a inner join TEST_BANK_LOCATION b \n"
                 + " on a.COUNTRY = b.COUNTRY";
         NDataflow dataflow = NDataflowManager.getInstance(getTestConfig(), getProject()).getDataflow(modelId);
-        OLAPContext olapContext = OlapContextTestUtil.getOlapContexts(getProject(), sql, true).get(0);
+        OlapContext olapContext = OlapContextTestUtil.getOlapContexts(getProject(), sql, true).get(0);
         Map<String, String> sqlAlias2ModelNameMap = OlapContextTestUtil.matchJoins(dataflow.getModel(), olapContext);
         olapContext.fixModel(dataflow.getModel(), sqlAlias2ModelNameMap);
         Candidate candidate = new Candidate(dataflow, olapContext, sqlAlias2ModelNameMap);
@@ -278,7 +278,7 @@ public class DataflowCapabilityCheckerTest extends NLocalWithSparkSessionTest {
         String sql = "select a.NAME from TEST_BANK_INCOME a inner join TEST_BANK_LOCATION b \n"
                 + " on a.COUNTRY = b.COUNTRY";
         NDataflow dataflow = NDataflowManager.getInstance(getTestConfig(), getProject()).getDataflow(modelId);
-        OLAPContext olapContext = OlapContextTestUtil.getOlapContexts(getProject(), sql, true).get(0);
+        OlapContext olapContext = OlapContextTestUtil.getOlapContexts(getProject(), sql, true).get(0);
         Map<String, String> sqlAlias2ModelNameMap = OlapContextTestUtil.matchJoins(dataflow.getModel(), olapContext);
         olapContext.fixModel(dataflow.getModel(), sqlAlias2ModelNameMap);
         Candidate candidate = new Candidate(dataflow, olapContext, sqlAlias2ModelNameMap);
@@ -319,7 +319,7 @@ public class DataflowCapabilityCheckerTest extends NLocalWithSparkSessionTest {
         String sql = "select a.NAME from TEST_BANK_INCOME a inner join TEST_BANK_LOCATION b \n"
                 + " on a.COUNTRY = b.COUNTRY";
         NDataflow dataflow = NDataflowManager.getInstance(getTestConfig(), getProject()).getDataflow(modelId);
-        OLAPContext olapContext = OlapContextTestUtil.getOlapContexts(getProject(), sql, true).get(0);
+        OlapContext olapContext = OlapContextTestUtil.getOlapContexts(getProject(), sql, true).get(0);
         Map<String, String> sqlAlias2ModelNameMap = OlapContextTestUtil.matchJoins(dataflow.getModel(), olapContext);
         olapContext.fixModel(dataflow.getModel(), sqlAlias2ModelNameMap);
         Candidate candidate = new Candidate(dataflow, olapContext, sqlAlias2ModelNameMap);
@@ -420,7 +420,7 @@ public class DataflowCapabilityCheckerTest extends NLocalWithSparkSessionTest {
         // case 1. raw-query answered by Lookup
         {
             String sql = "select SITE_ID from EDW.TEST_SITES";
-            OLAPContext olapContext = OlapContextTestUtil.getOlapContexts(getProject(), sql).get(0);
+            OlapContext olapContext = OlapContextTestUtil.getOlapContexts(getProject(), sql).get(0);
             Map<String, String> sqlAlias2ModelNameMap = OlapContextTestUtil.matchJoins(dataflow.getModel(),
                     olapContext);
             olapContext.fixModel(dataflow.getModel(), sqlAlias2ModelNameMap);
@@ -428,14 +428,14 @@ public class DataflowCapabilityCheckerTest extends NLocalWithSparkSessionTest {
             CapabilityResult result = DataflowCapabilityChecker.check(dataflow, candidate, olapContext.getSQLDigest());
             Assert.assertNotNull(result);
             Assert.assertTrue(result.getSelectedCandidate() instanceof NLookupCandidate);
-            Assert.assertFalse(olapContext.getSQLDigest().allColumns.isEmpty());
-            Assert.assertEquals(1, olapContext.getSQLDigest().allColumns.size());
+            Assert.assertFalse(olapContext.getSQLDigest().getAllColumns().isEmpty());
+            Assert.assertEquals(1, olapContext.getSQLDigest().getAllColumns().size());
         }
 
         // case 2. aggregate-query answered by lookup
         {
             String sql = "select sum(SITE_ID) from EDW.TEST_SITES";
-            OLAPContext olapContext = OlapContextTestUtil.getOlapContexts(getProject(), sql).get(0);
+            OlapContext olapContext = OlapContextTestUtil.getOlapContexts(getProject(), sql).get(0);
             Map<String, String> sqlAlias2ModelNameMap = OlapContextTestUtil.matchJoins(dataflow.getModel(),
                     olapContext);
             olapContext.fixModel(dataflow.getModel(), sqlAlias2ModelNameMap);
@@ -443,14 +443,14 @@ public class DataflowCapabilityCheckerTest extends NLocalWithSparkSessionTest {
             CapabilityResult result = DataflowCapabilityChecker.check(dataflow, candidate, olapContext.getSQLDigest());
             Assert.assertNotNull(result);
             Assert.assertTrue(result.getSelectedCandidate() instanceof NLookupCandidate);
-            Assert.assertFalse(olapContext.getSQLDigest().allColumns.isEmpty());
-            Assert.assertEquals(1, olapContext.getSQLDigest().allColumns.size());
+            Assert.assertFalse(olapContext.getSQLDigest().getAllColumns().isEmpty());
+            Assert.assertEquals(1, olapContext.getSQLDigest().getAllColumns().size());
         }
 
         {
             // case 3. cannot answer when there are no ready segment
             String sql = "select sum(SITE_ID) from EDW.TEST_SITES";
-            OLAPContext olapContext = OlapContextTestUtil.getOlapContexts(getProject(), sql).get(0);
+            OlapContext olapContext = OlapContextTestUtil.getOlapContexts(getProject(), sql).get(0);
             removeAllSegments(dataflow);
             dataflow = NDataflowManager.getInstance(KylinConfig.getInstanceFromEnv(), getProject())
                     .getDataflow("89af4ee2-2cdb-4b07-b39e-4c29856309aa");
diff --git a/src/kylin-it/src/test/java/org/apache/kylin/query/routing/HeterogeneousSegmentPruningTest.java b/src/kylin-it/src/test/java/org/apache/kylin/query/routing/HeterogeneousSegmentPruningTest.java
index baa433db24..133df6601b 100644
--- a/src/kylin-it/src/test/java/org/apache/kylin/query/routing/HeterogeneousSegmentPruningTest.java
+++ b/src/kylin-it/src/test/java/org/apache/kylin/query/routing/HeterogeneousSegmentPruningTest.java
@@ -44,8 +44,7 @@ import org.apache.kylin.metadata.model.Segments;
 import org.apache.kylin.metadata.project.EnhancedUnitOfWork;
 import org.apache.kylin.metadata.realization.NoRealizationFoundException;
 import org.apache.kylin.query.engine.QueryExec;
-import org.apache.kylin.query.relnode.OLAPContext;
-import org.apache.kylin.storage.StorageContext;
+import org.apache.kylin.query.relnode.OlapContext;
 import org.apache.kylin.util.MetadataTestUtils;
 import org.apache.kylin.util.OlapContextTestUtil;
 import org.junit.Assert;
@@ -607,18 +606,16 @@ public class HeterogeneousSegmentPruningTest extends NLocalWithSparkSessionTest
                 + "group by cal_dt\n";
         // can not query
         {
-            OLAPContext olapContext = OlapContextTestUtil.getOlapContexts(project, sql).get(0);
-            StorageContext storageContext = olapContext.storageContext;
-            Assert.assertEquals(-1L, storageContext.getLayoutId().longValue());
+            OlapContext olapContext = OlapContextTestUtil.getOlapContexts(project, sql).get(0);
+            Assert.assertEquals(-1L, olapContext.getStorageContext().getLayoutId().longValue());
         }
 
         {
             MetadataTestUtils.updateProjectConfig(project, "kylin.query.index-match-rules",
                     QueryRouter.USE_VACANT_INDEXES);
             try (QueryContext queryContext = QueryContext.current()) {
-                OLAPContext olapContext = OlapContextTestUtil.getOlapContexts(project, sql).get(0);
-                StorageContext storageContext = olapContext.storageContext;
-                Assert.assertEquals(10001L, storageContext.getLayoutId().longValue());
+                OlapContext olapContext = OlapContextTestUtil.getOlapContexts(project, sql).get(0);
+                Assert.assertEquals(10001L, olapContext.getStorageContext().getLayoutId().longValue());
                 Assert.assertFalse(queryContext.getQueryTagInfo().isVacant());
             }
         }
@@ -663,16 +660,15 @@ public class HeterogeneousSegmentPruningTest extends NLocalWithSparkSessionTest
 
         MetadataTestUtils.updateProjectConfig(project, "kylin.query.index-match-rules", QueryRouter.USE_VACANT_INDEXES);
         try (QueryContext queryContext = QueryContext.current()) {
-            OLAPContext olapContext = OlapContextTestUtil.getOlapContexts(project, sql).get(0);
-            StorageContext storageContext = olapContext.storageContext;
-            Assert.assertEquals(-1L, storageContext.getLayoutId().longValue());
+            OlapContext olapContext = OlapContextTestUtil.getOlapContexts(project, sql).get(0);
+            Assert.assertEquals(-1L, olapContext.getStorageContext().getLayoutId().longValue());
             Assert.assertFalse(queryContext.getQueryTagInfo().isVacant());
         }
     }
 
-    private void assertFiltersAndLayout(OLAPContext context, String segId, String expectedFilterCond) {
+    private void assertFiltersAndLayout(OlapContext context, String segId, String expectedFilterCond) {
         if (segId != null) {
-            Assert.assertEquals(segId, context.storageContext.getPrunedSegments().get(0).getId());
+            Assert.assertEquals(segId, context.getStorageContext().getPrunedSegments().get(0).getId());
         }
         if (expectedFilterCond != null) {
             Assert.assertEquals(expectedFilterCond, context.getExpandedFilterConditions().stream()
@@ -682,7 +678,7 @@ public class HeterogeneousSegmentPruningTest extends NLocalWithSparkSessionTest
 
     private void assertNoRealizationFound(String project, String sql) throws SqlParseException {
         val context = OlapContextTestUtil.getOlapContexts(project, sql).get(0);
-        Assert.assertNull(context.realization);
+        Assert.assertNull(context.getRealization());
     }
 
     private void assertPrunedSegmentsRange(String project, String sql, String dfId,
@@ -697,15 +693,15 @@ public class HeterogeneousSegmentPruningTest extends NLocalWithSparkSessionTest
         val context = OlapContextTestUtil.getOlapContexts(project, sql).get(0);
 
         if (expectedLayoutId == -1L) {
-            Assert.assertTrue(context.storageContext.isEmptyLayout());
-            Assert.assertEquals(Long.valueOf(-1), context.storageContext.getLayoutId());
+            Assert.assertTrue(context.getStorageContext().isEmptyLayout());
+            Assert.assertEquals(Long.valueOf(-1), context.getStorageContext().getLayoutId());
             return;
         }
 
-        Assert.assertNotNull(context.realization);
-        val prunedSegments = context.storageContext.getPrunedSegments();
-        val prunedPartitions = context.storageContext.getPrunedPartitions();
-        val candidate = context.storageContext.getCandidate();
+        Assert.assertNotNull(context.getRealization());
+        val prunedSegments = context.getStorageContext().getPrunedSegments();
+        val prunedPartitions = context.getStorageContext().getPrunedPartitions();
+        val candidate = context.getStorageContext().getCandidate();
         Assert.assertEquals(expectedRanges.size(), prunedSegments.size());
         Assert.assertEquals(expectedLayoutId, candidate.getLayoutEntity().getId());
 
diff --git a/src/kylin-it/src/test/java/org/apache/kylin/query/routing/PartitionPruningRuleTest.java b/src/kylin-it/src/test/java/org/apache/kylin/query/routing/PartitionPruningRuleTest.java
index 0cb9e8f62f..64ec3be941 100644
--- a/src/kylin-it/src/test/java/org/apache/kylin/query/routing/PartitionPruningRuleTest.java
+++ b/src/kylin-it/src/test/java/org/apache/kylin/query/routing/PartitionPruningRuleTest.java
@@ -43,7 +43,7 @@ import org.apache.kylin.metadata.cube.model.NDataflowUpdate;
 import org.apache.kylin.metadata.model.MultiPartitionDesc;
 import org.apache.kylin.metadata.model.NDataModelManager;
 import org.apache.kylin.query.exception.UserStopQueryException;
-import org.apache.kylin.query.relnode.OLAPContext;
+import org.apache.kylin.query.relnode.OlapContext;
 import org.apache.kylin.query.util.SlowQueryDetector;
 import org.apache.kylin.util.OlapContextTestUtil;
 import org.junit.Assert;
@@ -59,15 +59,14 @@ public class PartitionPruningRuleTest extends NLocalWithSparkSessionTest {
         String sql = "select cal_dt, sum(price) from test_kylin_fact" + " inner join test_account"
                 + " on test_kylin_fact.seller_id = test_account.account_id"
                 + " where cal_dt > '2012-01-01' and cal_dt < '2012-01-04' and lstg_site_id = 1 group by cal_dt";
-        OLAPContext olapContext = OlapContextTestUtil.getOlapContexts(project, sql, true).get(0);
+        OlapContext olapContext = OlapContextTestUtil.getOlapContexts(project, sql, true).get(0);
 
         int newPartitionsNum = 1000_000;
 
         modelManager.updateDataModel(modelId, copied -> {
             for (int i = 0; i < newPartitionsNum; i++) {
-                copied.getMultiPartitionDesc()
-                    .getPartitions()
-                    .add(new MultiPartitionDesc.PartitionInfo(i + 100, new String[] { String.valueOf(i + 100) }));
+                copied.getMultiPartitionDesc().getPartitions()
+                        .add(new MultiPartitionDesc.PartitionInfo(i + 100, new String[] { String.valueOf(i + 100) }));
             }
         });
 
@@ -135,8 +134,8 @@ public class PartitionPruningRuleTest extends NLocalWithSparkSessionTest {
         slowQueryDetector.get().stopQuery("pruning");
 
         Assert.assertFalse(queryEntry.get().isAsyncQuery());
-        Assert.assertTrue(queryEntry.get().isStopByUser()
-                && queryEntry.get().getPlannerCancelFlag().isCancelRequested());
+        Assert.assertTrue(
+                queryEntry.get().isStopByUser() && queryEntry.get().getPlannerCancelFlag().isCancelRequested());
 
         try {
             t.join();
@@ -222,8 +221,8 @@ public class PartitionPruningRuleTest extends NLocalWithSparkSessionTest {
         slowQueryDetector.get().stopQuery(queryId);
 
         Assert.assertTrue(queryEntry.get().isAsyncQuery());
-        Assert.assertTrue(queryEntry.get().isStopByUser()
-                && queryEntry.get().getPlannerCancelFlag().isCancelRequested());
+        Assert.assertTrue(
+                queryEntry.get().isStopByUser() && queryEntry.get().getPlannerCancelFlag().isCancelRequested());
         try {
             t.join();
         } catch (InterruptedException e) {
diff --git a/src/kylin-it/src/test/java/org/apache/kylin/query/routing/QueryLayoutChooserTest.java b/src/kylin-it/src/test/java/org/apache/kylin/query/routing/QueryLayoutChooserTest.java
index 4ab0ea8b38..8319c48a81 100644
--- a/src/kylin-it/src/test/java/org/apache/kylin/query/routing/QueryLayoutChooserTest.java
+++ b/src/kylin-it/src/test/java/org/apache/kylin/query/routing/QueryLayoutChooserTest.java
@@ -44,7 +44,7 @@ import org.apache.kylin.metadata.model.TableDesc;
 import org.apache.kylin.metadata.model.TableExtDesc;
 import org.apache.kylin.metadata.project.EnhancedUnitOfWork;
 import org.apache.kylin.metadata.realization.CapabilityResult;
-import org.apache.kylin.query.relnode.OLAPContext;
+import org.apache.kylin.query.relnode.OlapContext;
 import org.apache.kylin.util.MetadataTestUtils;
 import org.apache.kylin.util.OlapContextTestUtil;
 import org.junit.After;
@@ -70,7 +70,7 @@ public class QueryLayoutChooserTest extends NLocalWithSparkSessionTest {
         NDataflowManager dataflowManager = NDataflowManager.getInstance(getTestConfig(), getProject());
         {
             String sql = "select distinct DEAL_AMOUNT from test_kylin_fact \n";
-            OLAPContext olapContext = OlapContextTestUtil.getOlapContexts(getProject(), sql).get(0);
+            OlapContext olapContext = OlapContextTestUtil.getOlapContexts(getProject(), sql).get(0);
 
             // model with computedColumns
             String modelWithCCId = "89af4ee2-2cdb-4b07-b39e-4c29856309aa";
@@ -90,7 +90,7 @@ public class QueryLayoutChooserTest extends NLocalWithSparkSessionTest {
         // match aggIndex - null in agg col
         {
             String sql = "select sum(DEAL_AMOUNT) from test_kylin_fact \n";
-            OLAPContext olapContext = OlapContextTestUtil.getOlapContexts(getProject(), sql).get(0);
+            OlapContext olapContext = OlapContextTestUtil.getOlapContexts(getProject(), sql).get(0);
 
             // model with computedColumns
             String modelWithCCId = "89af4ee2-2cdb-4b07-b39e-4c29856309aa";
@@ -110,7 +110,7 @@ public class QueryLayoutChooserTest extends NLocalWithSparkSessionTest {
         // match tableIndex
         {
             String sql = "select DEAL_AMOUNT from test_kylin_fact \n";
-            OLAPContext olapContext = OlapContextTestUtil.getOlapContexts(getProject(), sql).get(0);
+            OlapContext olapContext = OlapContextTestUtil.getOlapContexts(getProject(), sql).get(0);
 
             // model with computedColumns
             String modelWithCCId = "89af4ee2-2cdb-4b07-b39e-4c29856309aa";
@@ -150,7 +150,7 @@ public class QueryLayoutChooserTest extends NLocalWithSparkSessionTest {
         {
             String sql = "select CAL_DT, count(price) as GMV from test_kylin_fact \n"
                     + " where CAL_DT='2012-01-10' group by CAL_DT ";
-            OLAPContext olapContext = OlapContextTestUtil.getOlapContexts(getProject(), sql).get(0);
+            OlapContext olapContext = OlapContextTestUtil.getOlapContexts(getProject(), sql).get(0);
             Map<String, String> sqlAlias2ModelNameMap = OlapContextTestUtil.matchJoins(dataflow.getModel(),
                     olapContext);
             olapContext.fixModel(dataflow.getModel(), sqlAlias2ModelNameMap);
@@ -165,7 +165,7 @@ public class QueryLayoutChooserTest extends NLocalWithSparkSessionTest {
         // 2. tableIndex match
         {
             String sql = "select CAL_DT from test_kylin_fact where CAL_DT='2012-01-10'";
-            OLAPContext olapContext = OlapContextTestUtil.getOlapContexts(getProject(), sql).get(0);
+            OlapContext olapContext = OlapContextTestUtil.getOlapContexts(getProject(), sql).get(0);
             Map<String, String> sqlAlias2ModelNameMap = OlapContextTestUtil.matchJoins(dataflow.getModel(),
                     olapContext);
             olapContext.fixModel(dataflow.getModel(), sqlAlias2ModelNameMap);
@@ -190,7 +190,7 @@ public class QueryLayoutChooserTest extends NLocalWithSparkSessionTest {
         {
             String sql = "select CAL_DT, TRANS_ID, count(*) as GMV from test_kylin_fact \n"
                     + " where CAL_DT='2012-01-10' and TRANS_ID > 10000 group by CAL_DT, TRANS_ID ";
-            OLAPContext olapContext = OlapContextTestUtil.getOlapContexts(getProject(), sql).get(0);
+            OlapContext olapContext = OlapContextTestUtil.getOlapContexts(getProject(), sql).get(0);
             Map<String, String> sqlAlias2ModelNameMap = OlapContextTestUtil.matchJoins(dataflow.getModel(),
                     olapContext);
             olapContext.fixModel(dataflow.getModel(), sqlAlias2ModelNameMap);
@@ -203,7 +203,7 @@ public class QueryLayoutChooserTest extends NLocalWithSparkSessionTest {
         {
             String sql = "select CAL_DT, TRANS_ID, count(*) as GMV from test_kylin_fact \n"
                     + " where CAL_DT > '2012-01-10' and TRANS_ID = 10000 group by CAL_DT, TRANS_ID ";
-            OLAPContext olapContext = OlapContextTestUtil.getOlapContexts(getProject(), sql).get(0);
+            OlapContext olapContext = OlapContextTestUtil.getOlapContexts(getProject(), sql).get(0);
             Map<String, String> sqlAlias2ModelNameMap = OlapContextTestUtil.matchJoins(dataflow.getModel(),
                     olapContext);
             olapContext.fixModel(dataflow.getModel(), sqlAlias2ModelNameMap);
@@ -218,7 +218,7 @@ public class QueryLayoutChooserTest extends NLocalWithSparkSessionTest {
             String sql = "select CAL_DT, TRANS_ID, count(*) as GMV from test_kylin_fact \n"
                     + " where CAL_DT = '2012-01-10' and TRANS_ID = 10000 group by CAL_DT, TRANS_ID ";
             mockTableStats();
-            OLAPContext olapContext = OlapContextTestUtil.getOlapContexts(getProject(), sql).get(0);
+            OlapContext olapContext = OlapContextTestUtil.getOlapContexts(getProject(), sql).get(0);
             Map<String, String> sqlAlias2ModelNameMap = OlapContextTestUtil.matchJoins(dataflow.getModel(),
                     olapContext);
             olapContext.fixModel(dataflow.getModel(), sqlAlias2ModelNameMap);
@@ -296,7 +296,7 @@ public class QueryLayoutChooserTest extends NLocalWithSparkSessionTest {
                 + "AND test_kylin_fact.lstg_site_id = test_category_groupings.site_id\n"
                 + " left JOIN edw.test_sites as test_sites ON test_kylin_fact.lstg_site_id = test_sites.site_id\n"
                 + " group by test_kylin_fact.lstg_format_name, META_CATEG_NAME";
-        OLAPContext olapContext = OlapContextTestUtil.getOlapContexts(getProject(), sql).get(0);
+        OlapContext olapContext = OlapContextTestUtil.getOlapContexts(getProject(), sql).get(0);
         Map<String, String> sqlAlias2ModelNameMap = OlapContextTestUtil.matchJoins(dataflow.getModel(), olapContext);
         olapContext.fixModel(dataflow.getModel(), sqlAlias2ModelNameMap);
         NLayoutCandidate layoutCandidate = QueryLayoutChooser.selectLayoutCandidate(dataflow,
@@ -364,7 +364,7 @@ public class QueryLayoutChooserTest extends NLocalWithSparkSessionTest {
 
         String sql = "select b.ACCOUNT_BUYER_LEVEL from \"DEFAULT\".\"TEST_KYLIN_FACT\" a\n"
                 + "left join \"DEFAULT\".\"TEST_ACCOUNT\" b on a.SELLER_ID = b.ACCOUNT_ID";
-        OLAPContext olapContext = OlapContextTestUtil.getOlapContexts(getProject(), sql).get(0);
+        OlapContext olapContext = OlapContextTestUtil.getOlapContexts(getProject(), sql).get(0);
         Map<String, String> sqlAlias2ModelNameMap = OlapContextTestUtil.matchJoins(dataflow.getModel(), olapContext);
         olapContext.fixModel(dataflow.getModel(), sqlAlias2ModelNameMap);
         NLayoutCandidate layoutCandidate = QueryLayoutChooser.selectLayoutCandidate(dataflow,
@@ -389,10 +389,10 @@ public class QueryLayoutChooserTest extends NLocalWithSparkSessionTest {
                 + "group by  1.1000000000000001\n";
 
         getTestConfig().setProperty("kylin.query.calcite.aggregate-pushdown-enabled", "true");
-        List<OLAPContext> olapContexts = OlapContextTestUtil.getHepRulesOptimizedOlapContexts(getProject(), sql, false);
+        List<OlapContext> olapContexts = OlapContextTestUtil.getHepRulesOptimizedOlapContexts(getProject(), sql, false);
 
         // validate the first
-        OLAPContext oneOlapContext = olapContexts.get(0);
+        OlapContext oneOlapContext = olapContexts.get(0);
         Map<String, String> oneMap = OlapContextTestUtil.matchJoins(dataflow.getModel(), oneOlapContext);
         oneOlapContext.fixModel(dataflow.getModel(), oneMap);
         NLayoutCandidate layoutCandidate = QueryLayoutChooser.selectLayoutCandidate(dataflow,
@@ -401,7 +401,7 @@ public class QueryLayoutChooserTest extends NLocalWithSparkSessionTest {
         Assert.assertEquals(1L, layoutCandidate.getLayoutEntity().getId());
 
         // validate the second
-        OLAPContext anotherOlapContext = olapContexts.get(1);
+        OlapContext anotherOlapContext = olapContexts.get(1);
         Map<String, String> anotherMap = OlapContextTestUtil.matchJoins(dataflow.getModel(), anotherOlapContext);
         anotherOlapContext.fixModel(dataflow.getModel(), anotherMap);
         NLayoutCandidate anotherCandidate = QueryLayoutChooser.selectLayoutCandidate(dataflow,
@@ -427,10 +427,10 @@ public class QueryLayoutChooserTest extends NLocalWithSparkSessionTest {
                 + "group by  1.1000000000000001\n";
 
         getTestConfig().setProperty("kylin.query.calcite.aggregate-pushdown-enabled", "false");
-        List<OLAPContext> olapContexts = OlapContextTestUtil.getHepRulesOptimizedOlapContexts(getProject(), sql, false);
+        List<OlapContext> olapContexts = OlapContextTestUtil.getHepRulesOptimizedOlapContexts(getProject(), sql, false);
 
         // validate the first
-        OLAPContext oneOlapContext = olapContexts.get(0);
+        OlapContext oneOlapContext = olapContexts.get(0);
         Map<String, String> oneMap = OlapContextTestUtil.matchJoins(dataflow.getModel(), oneOlapContext);
         oneOlapContext.fixModel(dataflow.getModel(), oneMap);
         NLayoutCandidate layoutCandidate = QueryLayoutChooser.selectLayoutCandidate(dataflow,
@@ -439,7 +439,7 @@ public class QueryLayoutChooserTest extends NLocalWithSparkSessionTest {
         Assert.assertEquals(1L, layoutCandidate.getLayoutEntity().getId());
 
         // validate the second
-        OLAPContext anotherOlapContext = olapContexts.get(1);
+        OlapContext anotherOlapContext = olapContexts.get(1);
         Map<String, String> anotherMap = OlapContextTestUtil.matchJoins(dataflow.getModel(), anotherOlapContext);
         anotherOlapContext.fixModel(dataflow.getModel(), anotherMap);
         NLayoutCandidate anotherCandidate = QueryLayoutChooser.selectLayoutCandidate(dataflow,
@@ -465,7 +465,7 @@ public class QueryLayoutChooserTest extends NLocalWithSparkSessionTest {
         {
             String sql = "select CAL_DT, TRANS_ID, count(*) as GMV from test_kylin_fact \n"
                     + " where CAL_DT = '2012-01-10' and TRANS_ID = 10000 group by CAL_DT, TRANS_ID ";
-            OLAPContext olapContext = OlapContextTestUtil.getOlapContexts(getProject(), sql).get(0);
+            OlapContext olapContext = OlapContextTestUtil.getOlapContexts(getProject(), sql).get(0);
             Map<String, String> sqlAlias2ModelNameMap = OlapContextTestUtil.matchJoins(dataflow.getModel(),
                     olapContext);
             olapContext.fixModel(dataflow.getModel(), sqlAlias2ModelNameMap);
@@ -484,7 +484,7 @@ public class QueryLayoutChooserTest extends NLocalWithSparkSessionTest {
         {
             String sql = "select CAL_DT, TRANS_ID, count(*) as GMV from test_kylin_fact \n"
                     + " where CAL_DT = '2012-01-10' and TRANS_ID > 10000 group by CAL_DT, TRANS_ID ";
-            OLAPContext olapContext = OlapContextTestUtil.getOlapContexts(getProject(), sql).get(0);
+            OlapContext olapContext = OlapContextTestUtil.getOlapContexts(getProject(), sql).get(0);
             Map<String, String> sqlAlias2ModelNameMap = OlapContextTestUtil.matchJoins(dataflow.getModel(),
                     olapContext);
             olapContext.fixModel(dataflow.getModel(), sqlAlias2ModelNameMap);
@@ -544,7 +544,7 @@ public class QueryLayoutChooserTest extends NLocalWithSparkSessionTest {
         String modelId = "abe3bf1a-c4bc-458d-8278-7ea8b00f5e96";
         NDataflow dataflow = NDataflowManager.getInstance(getTestConfig(), getProject()).getDataflow(modelId);
         String sql = "select avg(TEST_KYLIN_FACT.ITEM_COUNT) from TEST_KYLIN_FACT";
-        OLAPContext olapContext = OlapContextTestUtil.getOlapContexts(getProject(), sql).get(0);
+        OlapContext olapContext = OlapContextTestUtil.getOlapContexts(getProject(), sql).get(0);
         Map<String, String> sqlAlias2ModelNameMap = OlapContextTestUtil.matchJoins(dataflow.getModel(), olapContext);
         olapContext.fixModel(dataflow.getModel(), sqlAlias2ModelNameMap);
         NLayoutCandidate layoutCandidate = QueryLayoutChooser.selectLayoutCandidate(dataflow,
@@ -570,7 +570,7 @@ public class QueryLayoutChooserTest extends NLocalWithSparkSessionTest {
 
         {
             String sql = "select sum(ORDER_ID) from TEST_KYLIN_FACT";
-            OLAPContext olapContext = OlapContextTestUtil.getOlapContexts(emptyProject, sql).get(0);
+            OlapContext olapContext = OlapContextTestUtil.getOlapContexts(emptyProject, sql).get(0);
             Map<String, String> sqlAlias2ModelNameMap = OlapContextTestUtil.matchJoins(dataflow.getModel(),
                     olapContext);
             olapContext.fixModel(dataflow.getModel(), sqlAlias2ModelNameMap);
@@ -582,7 +582,7 @@ public class QueryLayoutChooserTest extends NLocalWithSparkSessionTest {
 
         {
             String sql = "select max(ORDER_ID) from TEST_KYLIN_FACT";
-            OLAPContext olapContext = OlapContextTestUtil.getOlapContexts(emptyProject, sql).get(0);
+            OlapContext olapContext = OlapContextTestUtil.getOlapContexts(emptyProject, sql).get(0);
             Map<String, String> sqlAlias2ModelNameMap = OlapContextTestUtil.matchJoins(dataflow.getModel(),
                     olapContext);
             olapContext.fixModel(dataflow.getModel(), sqlAlias2ModelNameMap);
@@ -594,7 +594,7 @@ public class QueryLayoutChooserTest extends NLocalWithSparkSessionTest {
 
         {
             String sql = "select min(ORDER_ID) from TEST_KYLIN_FACT";
-            OLAPContext olapContext = OlapContextTestUtil.getOlapContexts(emptyProject, sql).get(0);
+            OlapContext olapContext = OlapContextTestUtil.getOlapContexts(emptyProject, sql).get(0);
             Map<String, String> sqlAlias2ModelNameMap = OlapContextTestUtil.matchJoins(dataflow.getModel(),
                     olapContext);
             olapContext.fixModel(dataflow.getModel(), sqlAlias2ModelNameMap);
@@ -606,7 +606,7 @@ public class QueryLayoutChooserTest extends NLocalWithSparkSessionTest {
 
         {
             String sql = "select count(ORDER_ID) from TEST_KYLIN_FACT";
-            OLAPContext olapContext = OlapContextTestUtil.getOlapContexts(emptyProject, sql).get(0);
+            OlapContext olapContext = OlapContextTestUtil.getOlapContexts(emptyProject, sql).get(0);
             Map<String, String> sqlAlias2ModelNameMap = OlapContextTestUtil.matchJoins(dataflow.getModel(),
                     olapContext);
             olapContext.fixModel(dataflow.getModel(), sqlAlias2ModelNameMap);
@@ -618,7 +618,7 @@ public class QueryLayoutChooserTest extends NLocalWithSparkSessionTest {
 
         {
             String sql = "select count(distinct ORDER_ID) from TEST_KYLIN_FACT";
-            OLAPContext olapContext = OlapContextTestUtil.getOlapContexts(emptyProject, sql).get(0);
+            OlapContext olapContext = OlapContextTestUtil.getOlapContexts(emptyProject, sql).get(0);
             Map<String, String> sqlAlias2ModelNameMap = OlapContextTestUtil.matchJoins(dataflow.getModel(),
                     olapContext);
             olapContext.fixModel(dataflow.getModel(), sqlAlias2ModelNameMap);
@@ -630,7 +630,7 @@ public class QueryLayoutChooserTest extends NLocalWithSparkSessionTest {
 
         {
             String sql = "select collect_set(ORDER_ID) from TEST_KYLIN_FACT";
-            OLAPContext olapContext = OlapContextTestUtil.getOlapContexts(emptyProject, sql).get(0);
+            OlapContext olapContext = OlapContextTestUtil.getOlapContexts(emptyProject, sql).get(0);
             Map<String, String> sqlAlias2ModelNameMap = OlapContextTestUtil.matchJoins(dataflow.getModel(),
                     olapContext);
             olapContext.fixModel(dataflow.getModel(), sqlAlias2ModelNameMap);
@@ -642,7 +642,7 @@ public class QueryLayoutChooserTest extends NLocalWithSparkSessionTest {
         {
             getTestConfig().setProperty("kylin.engine.segment-online-mode", "ANY");
             String sql = "select max(PRICE)from TEST_KYLIN_FACT";
-            OLAPContext olapContext = OlapContextTestUtil.getOlapContexts(emptyProject, sql).get(0);
+            OlapContext olapContext = OlapContextTestUtil.getOlapContexts(emptyProject, sql).get(0);
             Map<String, String> sqlAlias2ModelNameMap = OlapContextTestUtil.matchJoins(dataflow.getModel(),
                     olapContext);
             olapContext.fixModel(dataflow.getModel(), sqlAlias2ModelNameMap);
@@ -679,7 +679,7 @@ public class QueryLayoutChooserTest extends NLocalWithSparkSessionTest {
         String sql = "select LSTG_FORMAT_NAME,count(*) from TEST_KYLIN_FACT group by LSTG_FORMAT_NAME";
 
         {
-            OLAPContext olapContext = OlapContextTestUtil.getOlapContexts(getProject(), sql).get(0);
+            OlapContext olapContext = OlapContextTestUtil.getOlapContexts(getProject(), sql).get(0);
             Map<String, String> tableAlias2ModelAliasMap = OlapContextTestUtil.matchJoins(dataflow.getModel(),
                     olapContext);
             olapContext.fixModel(dataflow.getModel(), tableAlias2ModelAliasMap);
@@ -691,7 +691,7 @@ public class QueryLayoutChooserTest extends NLocalWithSparkSessionTest {
 
         {
             overwriteSystemProp("kylin.query.layout.prefer-aggindex", "false");
-            OLAPContext olapContext = OlapContextTestUtil.getOlapContexts(getProject(), sql).get(0);
+            OlapContext olapContext = OlapContextTestUtil.getOlapContexts(getProject(), sql).get(0);
             Map<String, String> tableAlias2ModelAliasMap = OlapContextTestUtil.matchJoins(dataflow.getModel(),
                     olapContext);
             olapContext.fixModel(dataflow.getModel(), tableAlias2ModelAliasMap);
@@ -707,7 +707,7 @@ public class QueryLayoutChooserTest extends NLocalWithSparkSessionTest {
         String project = "table_index";
         MetadataTestUtils.updateProjectConfig(project, "kylin.query.use-tableindex-answer-non-raw-query", "true");
         String sql = "select max(PRICE)from TEST_KYLIN_FACT";
-        OLAPContext olapContext = OlapContextTestUtil.getOlapContexts(getProject(), sql).get(0);
+        OlapContext olapContext = OlapContextTestUtil.getOlapContexts(getProject(), sql).get(0);
 
         String modelId = "acfde546-2cc9-4eec-bc92-e3bd46d4e2ee";
         NDataflow dataflow = NDataflowManager.getInstance(getTestConfig(), project).getDataflow(modelId);
@@ -732,7 +732,7 @@ public class QueryLayoutChooserTest extends NLocalWithSparkSessionTest {
             copyForWrite.setOverrideProps(props);
         });
         String sql = "select max(PRICE) from TEST_KYLIN_FACT";
-        OLAPContext olapContext = OlapContextTestUtil.getOlapContexts(getProject(), sql).get(0);
+        OlapContext olapContext = OlapContextTestUtil.getOlapContexts(getProject(), sql).get(0);
 
         Map<String, String> sqlAlias2ModelNameMap = OlapContextTestUtil.matchJoins(dataflow.getModel(), olapContext);
         olapContext.fixModel(dataflow.getModel(), sqlAlias2ModelNameMap);
@@ -759,7 +759,7 @@ public class QueryLayoutChooserTest extends NLocalWithSparkSessionTest {
         for (String filter : filters) {
             String sql = "select CAL_DT from test_kylin_fact a inner join EDW.test_sites b \n"
                     + " on a.LSTG_SITE_ID = b.SITE_ID where " + filter;
-            OLAPContext olapContext = OlapContextTestUtil.getOlapContexts(getProject(), sql).get(0);
+            OlapContext olapContext = OlapContextTestUtil.getOlapContexts(getProject(), sql).get(0);
             Map<String, String> sqlAlias2ModelName = OlapContextTestUtil.matchJoins(dataflow.getModel(), olapContext);
             olapContext.fixModel(dataflow.getModel(), sqlAlias2ModelName);
             NLayoutCandidate layoutCandidate = QueryLayoutChooser.selectLayoutCandidate(dataflow,
@@ -782,7 +782,7 @@ public class QueryLayoutChooserTest extends NLocalWithSparkSessionTest {
 
         {
             String sql = "select max(BIG_REGION_NAME) max1, max(case when 1=1 then BIG_REGION_NAME end) max2 from TEST_DIM_AS_MEASURE";
-            OLAPContext olapContext = OlapContextTestUtil.getOlapContexts(emptyProject, sql).get(0);
+            OlapContext olapContext = OlapContextTestUtil.getOlapContexts(emptyProject, sql).get(0);
             Map<String, String> sqlAlias2ModelNameMap = OlapContextTestUtil.matchJoins(dataflow.getModel(),
                     olapContext);
             olapContext.fixModel(dataflow.getModel(), sqlAlias2ModelNameMap);
@@ -797,7 +797,7 @@ public class QueryLayoutChooserTest extends NLocalWithSparkSessionTest {
 
         {
             String sql = "select max(REGION_NAME) max1, max(case when 1=1 then BIG_REGION_NAME end) max2 from TEST_DIM_AS_MEASURE";
-            OLAPContext olapContext = OlapContextTestUtil.getOlapContexts(emptyProject, sql).get(0);
+            OlapContext olapContext = OlapContextTestUtil.getOlapContexts(emptyProject, sql).get(0);
             Map<String, String> sqlAlias2ModelNameMap = OlapContextTestUtil.matchJoins(dataflow.getModel(),
                     olapContext);
             olapContext.fixModel(dataflow.getModel(), sqlAlias2ModelNameMap);
@@ -838,7 +838,7 @@ public class QueryLayoutChooserTest extends NLocalWithSparkSessionTest {
                 + "GROUP BY \"TEST_KYLIN_FACT\".\"TRANS_ID\"";
         NDataflow dataflow = NDataflowManager.getInstance(KylinConfig.getInstanceFromEnv(), getProject())
                 .getDataflow("741ca86a-1f13-46da-a59f-95fb68615e3a");
-        OLAPContext olapContext = OlapContextTestUtil.getOlapContexts(getProject(), sql).get(0);
+        OlapContext olapContext = OlapContextTestUtil.getOlapContexts(getProject(), sql).get(0);
         Map<String, String> sqlAlias2ModelName = OlapContextTestUtil.matchJoins(dataflow.getModel(), olapContext);
         olapContext.fixModel(dataflow.getModel(), sqlAlias2ModelName);
         NLayoutCandidate layoutCandidate = QueryLayoutChooser.selectLayoutCandidate(dataflow,
diff --git a/src/kylin-it/src/test/java/org/apache/kylin/query/routing/QueryLayoutFilterTest.java b/src/kylin-it/src/test/java/org/apache/kylin/query/routing/QueryLayoutFilterTest.java
index fcb3fccc62..868b6db57b 100644
--- a/src/kylin-it/src/test/java/org/apache/kylin/query/routing/QueryLayoutFilterTest.java
+++ b/src/kylin-it/src/test/java/org/apache/kylin/query/routing/QueryLayoutFilterTest.java
@@ -36,7 +36,8 @@ import org.apache.kylin.metadata.query.QueryMetrics;
 import org.apache.kylin.query.engine.QueryExec;
 import org.apache.kylin.query.engine.TypeSystem;
 import org.apache.kylin.query.engine.meta.SimpleDataContext;
-import org.apache.kylin.query.relnode.OLAPContext;
+import org.apache.kylin.query.relnode.ContextUtil;
+import org.apache.kylin.query.relnode.OlapContext;
 import org.apache.kylin.util.OlapContextTestUtil;
 import org.apache.spark.SparkConf;
 import org.apache.spark.sql.SparderEnv;
@@ -102,19 +103,19 @@ public class QueryLayoutFilterTest extends NLocalWithSparkSessionTest {
                 + "and TEST_BANK_INCOME.DT = '2021-11-02'\n" //
                 + "and TEST_BANK_INCOME.COUNTRY in ('INDONESIA')\n" //
                 + "and TEST_BANK_INCOME.COUNTRY in ('KENYA')";
-        List<OLAPContext> contexts = OlapContextTestUtil.getOlapContexts(project, sql);
-        OLAPContext context = contexts.get(0);
+        List<OlapContext> contexts = OlapContextTestUtil.getOlapContexts(project, sql);
+        OlapContext context = contexts.get(0);
 
         CalciteSchema rootSchema = new QueryExec(project, kylinConfig).getRootSchema();
         SimpleDataContext dataContext = new SimpleDataContext(rootSchema.plus(), TypeSystem.javaTypeFactory(),
                 kylinConfig);
-        context.firstTableScan.getCluster().getPlanner().setExecutor(new RexExecutorImpl(dataContext));
+        context.getFirstTableScan().getCluster().getPlanner().setExecutor(new RexExecutorImpl(dataContext));
         List<NDataSegment> segments = new SegmentPruningRule().pruneSegments(dataflow, context);
         Assert.assertTrue(segments.isEmpty());
-        context.storageContext.setEmptyLayout(true);
-        context.realization = dataflow;
-        OLAPContext.registerContext(context);
-        List<NativeQueryRealization> realizations = OLAPContext.getNativeRealizations();
+        context.getStorageContext().setEmptyLayout(true);
+        context.setRealization(dataflow);
+        ContextUtil.registerContext(context);
+        List<NativeQueryRealization> realizations = ContextUtil.getNativeRealizations();
         Assert.assertEquals(1, realizations.size());
         Assert.assertEquals(QueryMetrics.FILTER_CONFLICT, realizations.get(0).getIndexType());
         Assert.assertEquals(Long.valueOf(-1), realizations.get(0).getLayoutId());
diff --git a/src/kylin-it/src/test/java/org/apache/kylin/query/routing/RealizationChooserTest.java b/src/kylin-it/src/test/java/org/apache/kylin/query/routing/RealizationChooserTest.java
index 267be6b1d8..55eeffd3d5 100644
--- a/src/kylin-it/src/test/java/org/apache/kylin/query/routing/RealizationChooserTest.java
+++ b/src/kylin-it/src/test/java/org/apache/kylin/query/routing/RealizationChooserTest.java
@@ -28,8 +28,8 @@ import org.apache.kylin.engine.spark.NLocalWithSparkSessionTest;
 import org.apache.kylin.guava30.shaded.common.collect.ImmutableList;
 import org.apache.kylin.metadata.cube.model.NDataflow;
 import org.apache.kylin.metadata.cube.model.NDataflowManager;
-import org.apache.kylin.query.relnode.KapSortRel;
-import org.apache.kylin.query.relnode.OLAPContext;
+import org.apache.kylin.query.relnode.OlapContext;
+import org.apache.kylin.query.relnode.OlapSortRel;
 import org.apache.kylin.util.OlapContextTestUtil;
 import org.junit.After;
 import org.junit.Assert;
@@ -61,7 +61,7 @@ public class RealizationChooserTest extends NLocalWithSparkSessionTest {
         for (String filter : filters) {
             String sql = "select a.NAME from TEST_BANK_INCOME a left join TEST_BANK_LOCATION b \n"
                     + " on a.COUNTRY = b.COUNTRY where " + filter;
-            OLAPContext olapContext = OlapContextTestUtil.getOlapContexts(getProject(), sql).get(0);
+            OlapContext olapContext = OlapContextTestUtil.getOlapContexts(getProject(), sql).get(0);
             Map<String, String> sqlAlias2ModelName = OlapContextTestUtil.matchJoins(dataflow.getModel(), olapContext);
             Assert.assertFalse(sqlAlias2ModelName.isEmpty());
         }
@@ -76,7 +76,7 @@ public class RealizationChooserTest extends NLocalWithSparkSessionTest {
         overwriteSystemProp("kylin.query.join-match-optimization-enabled", "true");
         String sql = "select a.NAME from TEST_BANK_INCOME a inner join TEST_BANK_LOCATION b on a.COUNTRY = b.COUNTRY";
         NDataflow dataflow = NDataflowManager.getInstance(getTestConfig(), project).getDataflow(modelId);
-        OLAPContext olapContext = OlapContextTestUtil.getOlapContexts(project, sql, true).get(0);
+        OlapContext olapContext = OlapContextTestUtil.getOlapContexts(project, sql, true).get(0);
         Map<String, String> sqlAlias2ModelName = OlapContextTestUtil.matchJoins(dataflow.getModel(), olapContext);
         Assert.assertTrue(sqlAlias2ModelName.isEmpty());
     }
@@ -93,7 +93,7 @@ public class RealizationChooserTest extends NLocalWithSparkSessionTest {
         for (String filter : filters) {
             String sql = "select CAL_DT from test_kylin_fact a inner join EDW.test_sites b \n"
                     + " on a.LSTG_SITE_ID = b.SITE_ID where " + filter;
-            OLAPContext olapContext = OlapContextTestUtil.getOlapContexts(getProject(), sql).get(0);
+            OlapContext olapContext = OlapContextTestUtil.getOlapContexts(getProject(), sql).get(0);
             Map<String, String> sqlAlias2ModelName = OlapContextTestUtil.matchJoins(dataflow.getModel(), olapContext);
             Assert.assertTrue(sqlAlias2ModelName.isEmpty());
         }
@@ -106,10 +106,10 @@ public class RealizationChooserTest extends NLocalWithSparkSessionTest {
         String sql = "select a.NAME from TEST_BANK_INCOME a inner join TEST_BANK_LOCATION b on a.COUNTRY = b.COUNTRY\n"
                 + "order by a.INCOME nulls last";
         RelNode relNode = OlapContextTestUtil.cutOlapContextsAndReturnRelNode(project, sql);
-        KapSortRel sortRel = null;
+        OlapSortRel sortRel = null;
         while (relNode != null) {
-            if (relNode instanceof KapSortRel) {
-                sortRel = (KapSortRel) relNode;
+            if (relNode instanceof OlapSortRel) {
+                sortRel = (OlapSortRel) relNode;
                 break;
             }
             relNode = relNode.getInput(0);
@@ -130,7 +130,7 @@ public class RealizationChooserTest extends NLocalWithSparkSessionTest {
         for (String filter : filters) {
             String sql = "select a.NAME from TEST_BANK_INCOME a left join TEST_BANK_LOCATION b \n"
                     + " on a.COUNTRY = b.COUNTRY where " + filter;
-            OLAPContext olapContext = OlapContextTestUtil.getOlapContexts(getProject(), sql, true).get(0);
+            OlapContext olapContext = OlapContextTestUtil.getOlapContexts(getProject(), sql, true).get(0);
             Map<String, String> sqlAlias2ModelName = OlapContextTestUtil.matchJoins(dataflow.getModel(), olapContext);
             Assert.assertFalse(sqlAlias2ModelName.isEmpty());
         }
@@ -147,7 +147,7 @@ public class RealizationChooserTest extends NLocalWithSparkSessionTest {
         for (String filter : filters) {
             String sql = "select a.NAME from TEST_BANK_INCOME a left join TEST_BANK_LOCATION b \n"
                     + " on a.COUNTRY = b.COUNTRY where " + filter;
-            OLAPContext olapContext = OlapContextTestUtil.getOlapContexts(getProject(), sql).get(0);
+            OlapContext olapContext = OlapContextTestUtil.getOlapContexts(getProject(), sql).get(0);
             Map<String, String> sqlAlias2ModelNameMap = OlapContextTestUtil.matchJoins(dataflow.getModel(),
                     olapContext);
             Assert.assertTrue(sqlAlias2ModelNameMap.isEmpty());
diff --git a/src/kylin-it/src/test/java/org/apache/kylin/query/routing/SegmentPruningRuleTest.java b/src/kylin-it/src/test/java/org/apache/kylin/query/routing/SegmentPruningRuleTest.java
index 73553132cf..653edf8a5a 100644
--- a/src/kylin-it/src/test/java/org/apache/kylin/query/routing/SegmentPruningRuleTest.java
+++ b/src/kylin-it/src/test/java/org/apache/kylin/query/routing/SegmentPruningRuleTest.java
@@ -51,7 +51,7 @@ import org.apache.kylin.query.engine.QueryExec;
 import org.apache.kylin.query.engine.TypeSystem;
 import org.apache.kylin.query.engine.meta.SimpleDataContext;
 import org.apache.kylin.query.exception.UserStopQueryException;
-import org.apache.kylin.query.relnode.OLAPContext;
+import org.apache.kylin.query.relnode.OlapContext;
 import org.apache.kylin.query.util.SlowQueryDetector;
 import org.apache.kylin.util.OlapContextTestUtil;
 import org.apache.spark.SparkConf;
@@ -107,12 +107,12 @@ public class SegmentPruningRuleTest extends NLocalWithSparkSessionTest {
     private List<NDataSegment> startRealizationPruner(NDataflowManager dataflowManager, String dataflowId, String sql,
                                                       String project, KylinConfig kylinConfig) throws Exception {
         NDataflow dataflow = dataflowManager.getDataflow(dataflowId);
-        List<OLAPContext> olapContexts = OlapContextTestUtil.getOlapContexts(getProject(), sql);
-        OLAPContext context = olapContexts.get(0);
+        List<OlapContext> olapContexts = OlapContextTestUtil.getOlapContexts(getProject(), sql);
+        OlapContext context = olapContexts.get(0);
         CalciteSchema rootSchema = new QueryExec(project, kylinConfig).getRootSchema();
         SimpleDataContext dataContext = new SimpleDataContext(rootSchema.plus(), TypeSystem.javaTypeFactory(),
                 kylinConfig);
-        context.firstTableScan.getCluster().getPlanner().setExecutor(new RexExecutorImpl(dataContext));
+        context.getFirstTableScan().getCluster().getPlanner().setExecutor(new RexExecutorImpl(dataContext));
         Map<String, String> map = RealizationChooser.matchJoins(dataflow.getModel(), context, false, false);
         context.fixModel(dataflow.getModel(), map);
         return new SegmentPruningRule().pruneSegments(dataflow, context);
@@ -250,8 +250,8 @@ public class SegmentPruningRuleTest extends NLocalWithSparkSessionTest {
 
         String project = getProject();
         NDataflowManager dataflowManager = NDataflowManager.getInstance(kylinConfig, project);
-        List<OLAPContext> olapContexts = OlapContextTestUtil.getOlapContexts(getProject(), sql);
-        OLAPContext context = olapContexts.get(0);
+        List<OlapContext> olapContexts = OlapContextTestUtil.getOlapContexts(getProject(), sql);
+        OlapContext context = olapContexts.get(0);
 
         // append new segments
         Calendar calendar = Calendar.getInstance();
@@ -278,7 +278,7 @@ public class SegmentPruningRuleTest extends NLocalWithSparkSessionTest {
         CalciteSchema rootSchema = new QueryExec(project, kylinConfig).getRootSchema();
         SimpleDataContext dataContext = new SimpleDataContext(rootSchema.plus(), TypeSystem.javaTypeFactory(),
                 kylinConfig);
-        context.firstTableScan.getCluster().getPlanner().setExecutor(new RexExecutorImpl(dataContext));
+        context.getFirstTableScan().getCluster().getPlanner().setExecutor(new RexExecutorImpl(dataContext));
         Map<String, String> map = RealizationChooser.matchJoins(dataflow.getModel(), context, false, false);
         context.fixModel(dataflow.getModel(), map);
 
@@ -293,7 +293,7 @@ public class SegmentPruningRuleTest extends NLocalWithSparkSessionTest {
         testTimeout(dataflow, context);
     }
 
-    private void testCancelQuery(NDataflow dataflow, OLAPContext context) {
+    private void testCancelQuery(NDataflow dataflow, OlapContext context) {
         AtomicReference<Exception> exp = new AtomicReference<>(null);
         AtomicReference<Segments<NDataSegment>> res = new AtomicReference<>(null);
         AtomicReference<SlowQueryDetector> slowQueryDetector = new AtomicReference<>(null);
@@ -334,7 +334,7 @@ public class SegmentPruningRuleTest extends NLocalWithSparkSessionTest {
                 exp.get() instanceof UserStopQueryException);
     }
 
-    private void testCancelQuery(NDataflow dataflow, OLAPContext context,
+    private void testCancelQuery(NDataflow dataflow, OlapContext context,
             Consumer<SlowQueryDetector.QueryEntry> updater) {
 
         AtomicReference<Exception> exp = new AtomicReference<>(null);
@@ -376,7 +376,7 @@ public class SegmentPruningRuleTest extends NLocalWithSparkSessionTest {
         Assert.assertTrue(exp.get().getMessage().contains("inconsistent states"));
     }
 
-    private void testCancelAsyncQuery(NDataflow dataflow, OLAPContext context) {
+    private void testCancelAsyncQuery(NDataflow dataflow, OlapContext context) {
         AtomicReference<Exception> exp = new AtomicReference<>(null);
         AtomicReference<Segments<NDataSegment>> res = new AtomicReference<>(null);
         AtomicReference<SlowQueryDetector> slowQueryDetector = new AtomicReference<>(null);
@@ -419,7 +419,7 @@ public class SegmentPruningRuleTest extends NLocalWithSparkSessionTest {
                 exp.get() instanceof UserStopQueryException);
     }
 
-    private void testInterrupt(NDataflow dataflow, OLAPContext context) {
+    private void testInterrupt(NDataflow dataflow, OlapContext context) {
         AtomicReference<Exception> exp = new AtomicReference<>(null);
         AtomicReference<Segments<NDataSegment>> res = new AtomicReference<>(null);
 
@@ -449,7 +449,7 @@ public class SegmentPruningRuleTest extends NLocalWithSparkSessionTest {
         Assert.assertTrue(exp.get().getCause() instanceof InterruptedException);
     }
 
-    private void testTimeout(NDataflow dataflow, OLAPContext context) {
+    private void testTimeout(NDataflow dataflow, OlapContext context) {
         AtomicReference<Exception> exp = new AtomicReference<>(null);
         AtomicReference<Segments<NDataSegment>> res = new AtomicReference<>(null);
         AtomicReference<SlowQueryDetector> slowQueryDetector = new AtomicReference<>(null);
diff --git a/src/kylin-it/src/test/java/org/apache/kylin/query/routing/TableIndexAnswerSelectStarTest.java b/src/kylin-it/src/test/java/org/apache/kylin/query/routing/TableIndexAnswerSelectStarTest.java
index 5e4ebfc8fe..db99e017f0 100644
--- a/src/kylin-it/src/test/java/org/apache/kylin/query/routing/TableIndexAnswerSelectStarTest.java
+++ b/src/kylin-it/src/test/java/org/apache/kylin/query/routing/TableIndexAnswerSelectStarTest.java
@@ -48,7 +48,7 @@ import org.apache.kylin.metadata.model.TblColRef;
 import org.apache.kylin.metadata.realization.RealizationStatusEnum;
 import org.apache.kylin.query.engine.QueryExec;
 import org.apache.kylin.query.engine.SchemaMetaData;
-import org.apache.kylin.query.relnode.OLAPContext;
+import org.apache.kylin.query.relnode.OlapContext;
 import org.apache.kylin.util.OlapContextTestUtil;
 import org.apache.spark.SparkConf;
 import org.apache.spark.sql.SparderEnv;
@@ -101,10 +101,10 @@ public class TableIndexAnswerSelectStarTest extends NLocalWithSparkSessionTest {
     public void testTableIndexAnswerSelectStarPartialMatch() throws Exception {
         String sql = "select * from kylin_sales";
         overwriteSystemProp("kylin.query.use-tableindex-answer-select-star.enabled", "true");
-        OLAPContext context = OlapContextTestUtil.getOlapContexts(getProject(), sql).get(0);
+        OlapContext context = OlapContextTestUtil.getOlapContexts(getProject(), sql).get(0);
         NDataflow dataflow = NDataflowManager.getInstance(KylinConfig.getInstanceFromEnv(), getProject())
                 .getDataflow("ccb82d81-1497-ca6d-f226-3258a0f0ba4f");
-        Assert.assertEquals(dataflow.getAllColumns().size(), context.allColumns.size());
+        Assert.assertEquals(dataflow.getAllColumns().size(), context.getAllColumns().size());
         Map<String, String> sqlAlias2ModelName = OlapContextTestUtil.matchJoins(dataflow.getModel(), context);
         context.fixModel(dataflow.getModel(), sqlAlias2ModelName);
         NLayoutCandidate layoutCandidate = QueryLayoutChooser.selectLayoutCandidate(dataflow,
@@ -117,10 +117,10 @@ public class TableIndexAnswerSelectStarTest extends NLocalWithSparkSessionTest {
     public void testTableIndexAnswerSelectStarBaseTableIndex() throws Exception {
         String sql = "select * from test_kylin_fact \n";
         overwriteSystemProp("kylin.query.use-tableindex-answer-select-star.enabled", "true");
-        OLAPContext context = OlapContextTestUtil.getOlapContexts(getProject(), sql).get(0);
+        OlapContext context = OlapContextTestUtil.getOlapContexts(getProject(), sql).get(0);
         NDataflow dataflow = NDataflowManager.getInstance(KylinConfig.getInstanceFromEnv(), getProject())
                 .getDataflow("c7a44f37-8481-e78b-5cac-faa7d76767db");
-        Assert.assertEquals(dataflow.getAllColumns().size(), context.allColumns.size());
+        Assert.assertEquals(dataflow.getAllColumns().size(), context.getAllColumns().size());
         Map<String, String> sqlAlias2ModelName = OlapContextTestUtil.matchJoins(dataflow.getModel(), context);
         context.fixModel(dataflow.getModel(), sqlAlias2ModelName);
         NLayoutCandidate layoutCandidate = QueryLayoutChooser.selectLayoutCandidate(dataflow,
@@ -183,8 +183,8 @@ public class TableIndexAnswerSelectStarTest extends NLocalWithSparkSessionTest {
         dataflowManager.updateDataflow(updateOps);
 
         String sql = "select cal_dt, new_cc from test_kylin_fact";
-        OLAPContext context = OlapContextTestUtil.getOlapContexts(getProject(), sql).get(0);
-        Set<TblColRef> allColumns = context.realization.getAllColumns();
+        OlapContext context = OlapContextTestUtil.getOlapContexts(getProject(), sql).get(0);
+        Set<TblColRef> allColumns = context.getRealization().getAllColumns();
         Assert.assertEquals(13, allColumns.size());
         SchemaMetaData schemaMetaData = new SchemaMetaData(getProject(), KylinConfig.getInstanceFromEnv());
         Assert.assertEquals(26, schemaMetaData.getTables().get(1).getFields().size());
@@ -208,7 +208,7 @@ public class TableIndexAnswerSelectStarTest extends NLocalWithSparkSessionTest {
         overwriteSystemProp("kylin.query.use-tableindex-answer-select-star.enabled", "true");
 
         String sql1 = "select * from (select trans_id from test_kylin_fact)";
-        OLAPContext context = OlapContextTestUtil.getOlapContexts(getProject(), sql1).get(0);
+        OlapContext context = OlapContextTestUtil.getOlapContexts(getProject(), sql1).get(0);
         Map<String, String> sqlAlias2ModelName = OlapContextTestUtil.matchJoins(dataflow.getModel(), context);
         context.fixModel(dataflow.getModel(), sqlAlias2ModelName);
         NLayoutCandidate layoutCandidate = QueryLayoutChooser.selectLayoutCandidate(dataflow,
@@ -223,7 +223,7 @@ public class TableIndexAnswerSelectStarTest extends NLocalWithSparkSessionTest {
             Assert.fail();
         } catch (Exception e) {
             Assert.assertTrue(Throwables.getRootCause(e.getCause()).getMessage()
-                    .contains("No realization found for OLAPContext"));
+                    .contains("No realization found for OlapContext"));
         }
 
         String sql3 = "select * from (select price from test_kylin_fact)";
@@ -232,14 +232,12 @@ public class TableIndexAnswerSelectStarTest extends NLocalWithSparkSessionTest {
             Assert.fail();
         } catch (Exception e) {
             Assert.assertTrue(Throwables.getRootCause(e.getCause()).getMessage()
-                    .contains("No realization found for OLAPContext"));
+                    .contains("No realization found for OlapContext"));
         }
-
     }
 
     @Override
     public String getProject() {
         return "tableindex_answer_selectstart";
     }
-
 }
diff --git a/src/kylin-it/src/test/java/org/apache/kylin/query/routing/VacantIndexPruningRuleTest.java b/src/kylin-it/src/test/java/org/apache/kylin/query/routing/VacantIndexPruningRuleTest.java
index 60f57eccd4..1e6386711a 100644
--- a/src/kylin-it/src/test/java/org/apache/kylin/query/routing/VacantIndexPruningRuleTest.java
+++ b/src/kylin-it/src/test/java/org/apache/kylin/query/routing/VacantIndexPruningRuleTest.java
@@ -36,7 +36,7 @@ import org.apache.kylin.metadata.model.NDataModel;
 import org.apache.kylin.metadata.model.NDataModelManager;
 import org.apache.kylin.metadata.project.EnhancedUnitOfWork;
 import org.apache.kylin.metadata.realization.CapabilityResult;
-import org.apache.kylin.query.relnode.OLAPContext;
+import org.apache.kylin.query.relnode.OlapContext;
 import org.apache.kylin.storage.StorageContext;
 import org.apache.kylin.util.MetadataTestUtils;
 import org.apache.kylin.util.OlapContextTestUtil;
@@ -73,9 +73,9 @@ class VacantIndexPruningRuleTest extends NLocalWithSparkSessionTest {
                 QueryRouter.USE_VACANT_INDEXES);
         try (QueryContext queryContext = QueryContext.current()) {
             String sql = "select max(LO_ORDERDATE) from ssb.lineorder";
-            List<OLAPContext> olapContexts = OlapContextTestUtil.getOlapContexts(getProject(), sql);
-            OLAPContext olapContext = olapContexts.get(0);
-            StorageContext storageContext = olapContext.storageContext;
+            List<OlapContext> olapContexts = OlapContextTestUtil.getOlapContexts(getProject(), sql);
+            OlapContext olapContext = olapContexts.get(0);
+            StorageContext storageContext = olapContext.getStorageContext();
             Assertions.assertTrue(storageContext.isEmptyLayout());
             Assertions.assertTrue(queryContext.getQueryTagInfo().isVacant());
         }
@@ -85,8 +85,8 @@ class VacantIndexPruningRuleTest extends NLocalWithSparkSessionTest {
     void testUnmatchedWithNullResult() throws SqlParseException {
         String modelId = "d67bf0e4-30f4-9248-2528-52daa80be91a";
         String sql = "select max(LO_ORDERPRIOTITY) from ssb.lineorder";
-        List<OLAPContext> olapContexts = OlapContextTestUtil.getOlapContexts(getProject(), sql);
-        OLAPContext olapContext = olapContexts.get(0);
+        List<OlapContext> olapContexts = OlapContextTestUtil.getOlapContexts(getProject(), sql);
+        OlapContext olapContext = olapContexts.get(0);
         NDataflow df = NDataflowManager.getInstance(getTestConfig(), getProject()).getDataflow(modelId);
         Map<String, String> matchedJoinGraphAliasMap = OlapContextTestUtil.matchJoins(df.getModel(), olapContext);
         olapContext.fixModel(df.getModel(), matchedJoinGraphAliasMap);
@@ -104,8 +104,8 @@ class VacantIndexPruningRuleTest extends NLocalWithSparkSessionTest {
         NDataModelManager modelMgr = NDataModelManager.getInstance(getTestConfig(), getProject());
         modelMgr.listAllModels().stream().filter(model -> !model.isBroken())
                 .forEach(model -> cleanAlreadyExistingLayoutsInSegments(model.getId()));
-        List<OLAPContext> olapContexts = OlapContextTestUtil.getOlapContexts(getProject(), sql);
-        OLAPContext olapContext = olapContexts.get(0);
+        List<OlapContext> olapContexts = OlapContextTestUtil.getOlapContexts(getProject(), sql);
+        OlapContext olapContext = olapContexts.get(0);
         NDataflow df = NDataflowManager.getInstance(getTestConfig(), getProject()).getDataflow(modelId);
         Map<String, String> matchedJoinGraphAliasMap = OlapContextTestUtil.matchJoins(df.getModel(), olapContext);
         olapContext.fixModel(df.getModel(), matchedJoinGraphAliasMap);
@@ -132,8 +132,8 @@ class VacantIndexPruningRuleTest extends NLocalWithSparkSessionTest {
     void testUnmatchedAggIndex() throws SqlParseException {
         String modelId = "d67bf0e4-30f4-9248-2528-52daa80be91a";
         String sql = "select max(LO_ORDERPRIOTITY) from ssb.lineorder";
-        List<OLAPContext> olapContexts = OlapContextTestUtil.getOlapContexts(getProject(), sql);
-        OLAPContext olapContext = olapContexts.get(0);
+        List<OlapContext> olapContexts = OlapContextTestUtil.getOlapContexts(getProject(), sql);
+        OlapContext olapContext = olapContexts.get(0);
         NDataflow df = NDataflowManager.getInstance(getTestConfig(), getProject()).getDataflow(modelId);
         Map<String, String> matchedJoinGraphAliasMap = OlapContextTestUtil.matchJoins(df.getModel(), olapContext);
         olapContext.fixModel(df.getModel(), matchedJoinGraphAliasMap);
@@ -152,8 +152,8 @@ class VacantIndexPruningRuleTest extends NLocalWithSparkSessionTest {
         NDataModelManager modelMgr = NDataModelManager.getInstance(getTestConfig(), getProject());
         modelMgr.listAllModels().stream().filter(model -> !model.isBroken())
                 .forEach(model -> cleanAlreadyExistingLayoutsInSegments(model.getId()));
-        List<OLAPContext> olapContexts = OlapContextTestUtil.getOlapContexts(getProject(), sql);
-        OLAPContext olapContext = olapContexts.get(0);
+        List<OlapContext> olapContexts = OlapContextTestUtil.getOlapContexts(getProject(), sql);
+        OlapContext olapContext = olapContexts.get(0);
         NDataflow df = NDataflowManager.getInstance(getTestConfig(), getProject()).getDataflow(modelId);
         Map<String, String> matchedJoinGraphAliasMap = OlapContextTestUtil.matchJoins(df.getModel(), olapContext);
         olapContext.fixModel(df.getModel(), matchedJoinGraphAliasMap);
@@ -175,8 +175,8 @@ class VacantIndexPruningRuleTest extends NLocalWithSparkSessionTest {
         NDataModelManager modelMgr = NDataModelManager.getInstance(getTestConfig(), getProject());
         modelMgr.listAllModels().stream().filter(model -> !model.isBroken())
                 .forEach(model -> cleanAlreadyExistingLayoutsInSegments(model.getId()));
-        List<OLAPContext> olapContexts = OlapContextTestUtil.getOlapContexts(getProject(), sql);
-        OLAPContext olapContext = olapContexts.get(0);
+        List<OlapContext> olapContexts = OlapContextTestUtil.getOlapContexts(getProject(), sql);
+        OlapContext olapContext = olapContexts.get(0);
         NDataflow df = NDataflowManager.getInstance(getTestConfig(), getProject()).getDataflow(modelId);
         Map<String, String> matchedJoinGraphAliasMap = OlapContextTestUtil.matchJoins(df.getModel(), olapContext);
         olapContext.fixModel(df.getModel(), matchedJoinGraphAliasMap);
diff --git a/src/kylin-it/src/test/java/org/apache/kylin/util/ExecAndComp.java b/src/kylin-it/src/test/java/org/apache/kylin/util/ExecAndComp.java
index d089e9e34a..abc283af90 100644
--- a/src/kylin-it/src/test/java/org/apache/kylin/util/ExecAndComp.java
+++ b/src/kylin-it/src/test/java/org/apache/kylin/util/ExecAndComp.java
@@ -51,7 +51,8 @@ import org.apache.kylin.metadata.query.StructField;
 import org.apache.kylin.query.engine.QueryExec;
 import org.apache.kylin.query.engine.data.QueryResult;
 import org.apache.kylin.query.pushdown.SparkSqlClient;
-import org.apache.kylin.query.relnode.OLAPContext;
+import org.apache.kylin.query.relnode.ContextUtil;
+import org.apache.kylin.query.relnode.OlapContext;
 import org.apache.kylin.query.util.PushDownUtil;
 import org.apache.kylin.query.util.QueryParams;
 import org.apache.kylin.query.util.QueryUtil;
@@ -347,8 +348,8 @@ public class ExecAndComp {
     public static EnhancedQueryResult queryModelWithOlapContext(String prj, String joinType, String sql,
             List<String> parameters) {
         QueryResult queryResult = queryModelWithMassage(prj, changeJoinType(sql, joinType), parameters);
-        val ctxs = OLAPContext.getThreadLocalContexts();
-        OLAPContext.clearThreadLocalContexts();
+        val ctxs = ContextUtil.getThreadLocalContexts();
+        ContextUtil.clearThreadLocalContexts();
         return new EnhancedQueryResult(queryResult, ctxs);
     }
 
@@ -492,7 +493,7 @@ public class ExecAndComp {
         @Delegate
         QueryResult queryResult;
 
-        public Collection<OLAPContext> olapContexts;
+        public Collection<OlapContext> olapContexts;
 
         public QueryResult getQueryResult() {
             return queryResult;
diff --git a/src/kylin-it/src/test/java/org/apache/kylin/util/OlapContextTestUtil.java b/src/kylin-it/src/test/java/org/apache/kylin/util/OlapContextTestUtil.java
index e7e2a88b5c..8c7fcdb088 100644
--- a/src/kylin-it/src/test/java/org/apache/kylin/util/OlapContextTestUtil.java
+++ b/src/kylin-it/src/test/java/org/apache/kylin/util/OlapContextTestUtil.java
@@ -32,17 +32,18 @@ import org.apache.kylin.metadata.project.NProjectManager;
 import org.apache.kylin.metadata.realization.NoRealizationFoundException;
 import org.apache.kylin.metadata.realization.NoStreamingRealizationFoundException;
 import org.apache.kylin.query.engine.QueryExec;
-import org.apache.kylin.query.relnode.OLAPContext;
+import org.apache.kylin.query.relnode.ContextUtil;
+import org.apache.kylin.query.relnode.OlapContext;
 import org.apache.kylin.query.routing.RealizationChooser;
 import org.apache.kylin.query.util.QueryContextCutter;
 
 public class OlapContextTestUtil {
 
-    public static List<OLAPContext> getOlapContexts(String project, String sql) throws SqlParseException {
+    public static List<OlapContext> getOlapContexts(String project, String sql) throws SqlParseException {
         return getOlapContexts(project, sql, false);
     }
 
-    public static List<OLAPContext> getOlapContexts(String project, String sql, boolean reCutBanned)
+    public static List<OlapContext> getOlapContexts(String project, String sql, boolean reCutBanned)
             throws SqlParseException {
         QueryExec queryExec = new QueryExec(project, KylinConfig.getInstanceFromEnv());
         try {
@@ -69,7 +70,7 @@ public class OlapContextTestUtil {
         return rel;
     }
 
-    public static List<OLAPContext> getOlapContexts(String project, String sql, boolean reCutBanned,
+    public static List<OlapContext> getOlapContexts(String project, String sql, boolean reCutBanned,
             Consumer<NoRealizationFoundException> consumer) throws SqlParseException {
         QueryExec queryExec = new QueryExec(project, KylinConfig.getInstanceFromEnv());
         try {
@@ -81,11 +82,11 @@ public class OlapContextTestUtil {
         return getOlapContexts();
     }
 
-    public static List<OLAPContext> getHepRulesOptimizedOlapContexts(String project, String sql, boolean reCutBanned)
+    public static List<OlapContext> getHepRulesOptimizedOlapContexts(String project, String sql, boolean reCutBanned)
             throws SqlParseException {
         QueryExec queryExec = new QueryExec(project, KylinConfig.getInstanceFromEnv());
         RelNode rel = queryExec.parseAndOptimize(sql);
-        List<OLAPContext> olapContexts = Lists.newArrayList();
+        List<OlapContext> olapContexts = Lists.newArrayList();
         try {
             List<RelNode> relNodes = queryExec.postOptimize(rel);
             relNodes.forEach(relNode -> {
@@ -100,22 +101,20 @@ public class OlapContextTestUtil {
         return olapContexts;
     }
 
-    private static List<OLAPContext> getOlapContexts() {
-        List<OLAPContext> result = Lists.newArrayList();
-        Collection<OLAPContext> contexts = OLAPContext.getThreadLocalContexts();
-        if (contexts != null) {
-            result.addAll(contexts);
-            result.forEach(olap -> {
-                if (olap.isFixedModel()) {
-                    olap.unfixModel();
-                }
-            });
-        }
+    private static List<OlapContext> getOlapContexts() {
+        List<OlapContext> result = Lists.newArrayList();
+        Collection<OlapContext> contexts = ContextUtil.getThreadLocalContexts();
+        result.addAll(contexts);
+        result.forEach(olap -> {
+            if (olap.isFixedModel()) {
+                olap.unfixModel();
+            }
+        });
         return result;
     }
 
-    public static Map<String, String> matchJoins(NDataModel model, OLAPContext ctx) {
-        KylinConfig projectConfig = NProjectManager.getProjectConfig(ctx.olapSchema.getProjectName());
+    public static Map<String, String> matchJoins(NDataModel model, OlapContext ctx) {
+        KylinConfig projectConfig = NProjectManager.getProjectConfig(ctx.getOlapSchema().getProjectName());
         boolean isPartialInnerJoin = projectConfig.isQueryMatchPartialInnerJoinModel();
         boolean isPartialNonEquiJoin = projectConfig.partialMatchNonEquiJoins();
         return RealizationChooser.matchJoins(model, ctx, isPartialInnerJoin, isPartialNonEquiJoin);
diff --git a/src/kylin-it/src/test/resources/org/apache/kylin/query/engine/CountDistinctExprPlannerTest.xml b/src/kylin-it/src/test/resources/org/apache/kylin/query/engine/CountDistinctExprPlannerTest.xml
index 5fcbe3af44..66a73c369f 100644
--- a/src/kylin-it/src/test/resources/org/apache/kylin/query/engine/CountDistinctExprPlannerTest.xml
+++ b/src/kylin-it/src/test/resources/org/apache/kylin/query/engine/CountDistinctExprPlannerTest.xml
@@ -20,374 +20,374 @@
     <TestCase name="testSimpleCountDistinctExpr">
         <Resource name="planBefore">
             <![CDATA[
-KapOLAPToEnumerableConverter
-  KapAggregateRel(group-set=[[]], groups=[null], EXPR$0=[COUNT(DISTINCT $0)], ctx=[])
-    KapProjectRel($f0=[CASE(=($3, 'FP-NON GTC'), $8, null)], ctx=[])
-      KapTableScan(table=[[DEFAULT, TEST_KYLIN_FACT]], ctx=[], fields=[[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38]])
+OlapToEnumerableConverter
+  OlapAggregateRel(group-set=[[]], groups=[null], EXPR$0=[COUNT(DISTINCT $0)], ctx=[])
+    OlapProjectRel($f0=[CASE(=($3, 'FP-NON GTC'), $8, null)], ctx=[])
+      OlapTableScan(table=[[DEFAULT, TEST_KYLIN_FACT]], ctx=[], fields=[[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38]])
 ]]>
         </Resource>
         <Resource name="planAfter">
             <![CDATA[
-KapOLAPToEnumerableConverter
-  KapAggregateRel(group-set=[[]], groups=[null], AGG$0=[BITMAP_COUNT($0)], ctx=[])
-    KapProjectRel($f0=[CASE(=($0, 'FP-NON GTC'), $1, null)], ctx=[])
-      KapAggregateRel(group-set=[[0]], groups=[null], COUNT_DISTINCT_CASE$0$0=[BITMAP_UUID($1)], ctx=[])
-        KapProjectRel(LSTG_FORMAT_NAME=[$3], PRICE=[$8], $f2=[0], ctx=[])
-          KapTableScan(table=[[DEFAULT, TEST_KYLIN_FACT]], ctx=[], fields=[[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38]])
+OlapToEnumerableConverter
+  OlapAggregateRel(group-set=[[]], groups=[null], AGG$0=[BITMAP_COUNT($0)], ctx=[])
+    OlapProjectRel($f0=[CASE(=($0, 'FP-NON GTC'), $1, null)], ctx=[])
+      OlapAggregateRel(group-set=[[0]], groups=[null], COUNT_DISTINCT_CASE$0$0=[BITMAP_UUID($1)], ctx=[])
+        OlapProjectRel(LSTG_FORMAT_NAME=[$3], PRICE=[$8], $f2=[0], ctx=[])
+          OlapTableScan(table=[[DEFAULT, TEST_KYLIN_FACT]], ctx=[], fields=[[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38]])
 ]]>
         </Resource>
     </TestCase>
     <TestCase name="testAllCases">
         <Resource name="query00.planBefore">
             <![CDATA[
-KapOLAPToEnumerableConverter
-  KapAggregateRel(group-set=[[]], groups=[null], EXPR$0=[COUNT(DISTINCT $0)], ctx=[])
-    KapProjectRel($f0=[CASE(=($2, 2012-10-30), $8, null)], ctx=[])
-      KapTableScan(table=[[DEFAULT, TEST_KYLIN_FACT]], ctx=[], fields=[[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38]])
+OlapToEnumerableConverter
+  OlapAggregateRel(group-set=[[]], groups=[null], EXPR$0=[COUNT(DISTINCT $0)], ctx=[])
+    OlapProjectRel($f0=[CASE(=($2, 2012-10-30), $8, null)], ctx=[])
+      OlapTableScan(table=[[DEFAULT, TEST_KYLIN_FACT]], ctx=[], fields=[[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38]])
 ]]>
         </Resource>
         <Resource name="query00.planAfter">
             <![CDATA[
-KapOLAPToEnumerableConverter
-  KapAggregateRel(group-set=[[]], groups=[null], AGG$0=[BITMAP_COUNT($0)], ctx=[])
-    KapProjectRel($f0=[CASE(=($0, 2012-10-30), $1, null)], ctx=[])
-      KapAggregateRel(group-set=[[0]], groups=[null], COUNT_DISTINCT_CASE$0$0=[BITMAP_UUID($1)], ctx=[])
-        KapProjectRel(CAL_DT=[$2], PRICE=[$8], $f2=[0], ctx=[])
-          KapTableScan(table=[[DEFAULT, TEST_KYLIN_FACT]], ctx=[], fields=[[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38]])
+OlapToEnumerableConverter
+  OlapAggregateRel(group-set=[[]], groups=[null], AGG$0=[BITMAP_COUNT($0)], ctx=[])
+    OlapProjectRel($f0=[CASE(=($0, 2012-10-30), $1, null)], ctx=[])
+      OlapAggregateRel(group-set=[[0]], groups=[null], COUNT_DISTINCT_CASE$0$0=[BITMAP_UUID($1)], ctx=[])
+        OlapProjectRel(CAL_DT=[$2], PRICE=[$8], $f2=[0], ctx=[])
+          OlapTableScan(table=[[DEFAULT, TEST_KYLIN_FACT]], ctx=[], fields=[[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38]])
 ]]>
         </Resource>
         <Resource name="query01.planBefore">
             <![CDATA[
-KapOLAPToEnumerableConverter
-  KapAggregateRel(group-set=[[]], groups=[null], EXPR$0=[COUNT(DISTINCT $0)], ctx=[])
-    KapProjectRel($f0=[CASE(AND(=($2, 2012-10-30), >($7, 1)), $8, null)], ctx=[])
-      KapTableScan(table=[[DEFAULT, TEST_KYLIN_FACT]], ctx=[], fields=[[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38]])
+OlapToEnumerableConverter
+  OlapAggregateRel(group-set=[[]], groups=[null], EXPR$0=[COUNT(DISTINCT $0)], ctx=[])
+    OlapProjectRel($f0=[CASE(AND(=($2, 2012-10-30), >($7, 1)), $8, null)], ctx=[])
+      OlapTableScan(table=[[DEFAULT, TEST_KYLIN_FACT]], ctx=[], fields=[[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38]])
 ]]>
         </Resource>
         <Resource name="query01.planAfter">
             <![CDATA[
-KapOLAPToEnumerableConverter
-  KapAggregateRel(group-set=[[]], groups=[null], AGG$0=[BITMAP_COUNT($0)], ctx=[])
-    KapProjectRel($f0=[CASE(AND(=($0, 2012-10-30), >($1, 1)), $2, null)], ctx=[])
-      KapAggregateRel(group-set=[[0, 1]], groups=[null], COUNT_DISTINCT_CASE$0$0=[BITMAP_UUID($2)], ctx=[])
-        KapProjectRel(CAL_DT=[$2], SELLER_ID=[$7], PRICE=[$8], $f3=[0], ctx=[])
-          KapTableScan(table=[[DEFAULT, TEST_KYLIN_FACT]], ctx=[], fields=[[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38]])
+OlapToEnumerableConverter
+  OlapAggregateRel(group-set=[[]], groups=[null], AGG$0=[BITMAP_COUNT($0)], ctx=[])
+    OlapProjectRel($f0=[CASE(AND(=($0, 2012-10-30), >($1, 1)), $2, null)], ctx=[])
+      OlapAggregateRel(group-set=[[0, 1]], groups=[null], COUNT_DISTINCT_CASE$0$0=[BITMAP_UUID($2)], ctx=[])
+        OlapProjectRel(CAL_DT=[$2], SELLER_ID=[$7], PRICE=[$8], $f3=[0], ctx=[])
+          OlapTableScan(table=[[DEFAULT, TEST_KYLIN_FACT]], ctx=[], fields=[[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38]])
 ]]>
         </Resource>
         <Resource name="query02.planBefore">
             <![CDATA[
-KapOLAPToEnumerableConverter
-  KapAggregateRel(group-set=[[]], groups=[null], EXPR$0=[COUNT(DISTINCT $0)], EXPR$1=[COUNT(DISTINCT $1)], EXPR$2=[COUNT(DISTINCT $2)], ctx=[])
-    KapProjectRel($f0=[CASE(AND(=($2, 2012-10-30), >($7, 1)), $8, null)], $f1=[CASE(>($7, 1), $8, null)], $f2=[CASE(>($9, 0), null, $8)], ctx=[])
-      KapTableScan(table=[[DEFAULT, TEST_KYLIN_FACT]], ctx=[], fields=[[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38]])
+OlapToEnumerableConverter
+  OlapAggregateRel(group-set=[[]], groups=[null], EXPR$0=[COUNT(DISTINCT $0)], EXPR$1=[COUNT(DISTINCT $1)], EXPR$2=[COUNT(DISTINCT $2)], ctx=[])
+    OlapProjectRel($f0=[CASE(AND(=($2, 2012-10-30), >($7, 1)), $8, null)], $f1=[CASE(>($7, 1), $8, null)], $f2=[CASE(>($9, 0), null, $8)], ctx=[])
+      OlapTableScan(table=[[DEFAULT, TEST_KYLIN_FACT]], ctx=[], fields=[[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38]])
 ]]>
         </Resource>
         <Resource name="query02.planAfter">
             <![CDATA[
-KapOLAPToEnumerableConverter
-  KapAggregateRel(group-set=[[]], groups=[null], AGG$0=[BITMAP_COUNT($0)], AGG$1=[BITMAP_COUNT($1)], AGG$2=[BITMAP_COUNT($2)], ctx=[])
-    KapProjectRel($f0=[CASE(AND(=($0, 2012-10-30), >($1, 1)), $4, null)], $f1=[CASE(>($2, 1), $5, null)], $f2=[CASE(>($3, 0), null, $6)], ctx=[])
-      KapAggregateRel(group-set=[[0, 1, 4, 7]], groups=[null], COUNT_DISTINCT_CASE$0$0=[BITMAP_UUID($2)], COUNT_DISTINCT_CASE$1$0=[BITMAP_UUID($5)], COUNT_DISTINCT_CASE$2$1=[BITMAP_UUID($9)], ctx=[])
-        KapProjectRel(CAL_DT=[$2], SELLER_ID=[$7], PRICE=[$8], $f3=[0], SELLER_ID0=[$7], PRICE0=[$8], $f6=[0], ITEM_COUNT=[$9], $f8=[0], PRICE01=[$8], ctx=[])
-          KapTableScan(table=[[DEFAULT, TEST_KYLIN_FACT]], ctx=[], fields=[[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38]])
+OlapToEnumerableConverter
+  OlapAggregateRel(group-set=[[]], groups=[null], AGG$0=[BITMAP_COUNT($0)], AGG$1=[BITMAP_COUNT($1)], AGG$2=[BITMAP_COUNT($2)], ctx=[])
+    OlapProjectRel($f0=[CASE(AND(=($0, 2012-10-30), >($1, 1)), $4, null)], $f1=[CASE(>($2, 1), $5, null)], $f2=[CASE(>($3, 0), null, $6)], ctx=[])
+      OlapAggregateRel(group-set=[[0, 1, 4, 7]], groups=[null], COUNT_DISTINCT_CASE$0$0=[BITMAP_UUID($2)], COUNT_DISTINCT_CASE$1$0=[BITMAP_UUID($5)], COUNT_DISTINCT_CASE$2$1=[BITMAP_UUID($9)], ctx=[])
+        OlapProjectRel(CAL_DT=[$2], SELLER_ID=[$7], PRICE=[$8], $f3=[0], SELLER_ID0=[$7], PRICE0=[$8], $f6=[0], ITEM_COUNT=[$9], $f8=[0], PRICE01=[$8], ctx=[])
+          OlapTableScan(table=[[DEFAULT, TEST_KYLIN_FACT]], ctx=[], fields=[[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38]])
 ]]>
         </Resource>
         <Resource name="query03.planBefore">
             <![CDATA[
-KapOLAPToEnumerableConverter
-  KapUnionRel(all=[false], ctx=[], all=[false])
-    KapProjectRel(EXPR$0=[$0], ctx=[])
-      KapAggregateRel(group-set=[[]], groups=[null], EXPR$0=[COUNT(DISTINCT $0)], ctx=[])
-        KapProjectRel($f0=[CASE(AND(=($2, 2012-10-30), >($7, 1)), $8, null)], ctx=[])
-          KapTableScan(table=[[DEFAULT, TEST_KYLIN_FACT]], ctx=[], fields=[[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38]])
-    KapAggregateRel(group-set=[[]], groups=[null], EXPR$0=[COUNT(DISTINCT $0)], ctx=[])
-      KapProjectRel($f0=[CASE(>($7, 1), $8, null)], ctx=[])
-        KapTableScan(table=[[DEFAULT, TEST_KYLIN_FACT]], ctx=[], fields=[[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38]])
+OlapToEnumerableConverter
+  OlapUnionRel(all=[false], ctx=[], all=[false])
+    OlapProjectRel(EXPR$0=[$0], ctx=[])
+      OlapAggregateRel(group-set=[[]], groups=[null], EXPR$0=[COUNT(DISTINCT $0)], ctx=[])
+        OlapProjectRel($f0=[CASE(AND(=($2, 2012-10-30), >($7, 1)), $8, null)], ctx=[])
+          OlapTableScan(table=[[DEFAULT, TEST_KYLIN_FACT]], ctx=[], fields=[[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38]])
+    OlapAggregateRel(group-set=[[]], groups=[null], EXPR$0=[COUNT(DISTINCT $0)], ctx=[])
+      OlapProjectRel($f0=[CASE(>($7, 1), $8, null)], ctx=[])
+        OlapTableScan(table=[[DEFAULT, TEST_KYLIN_FACT]], ctx=[], fields=[[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38]])
 ]]>
         </Resource>
         <Resource name="query03.planAfter">
             <![CDATA[
-KapOLAPToEnumerableConverter
-  KapUnionRel(all=[false], ctx=[], all=[false])
-    KapProjectRel(EXPR$0=[$0], ctx=[])
-      KapAggregateRel(group-set=[[]], groups=[null], AGG$0=[BITMAP_COUNT($0)], ctx=[])
-        KapProjectRel($f0=[CASE(AND(=($0, 2012-10-30), >($1, 1)), $2, null)], ctx=[])
-          KapAggregateRel(group-set=[[0, 1]], groups=[null], COUNT_DISTINCT_CASE$0$0=[BITMAP_UUID($2)], ctx=[])
-            KapProjectRel(CAL_DT=[$2], SELLER_ID=[$7], PRICE=[$8], $f3=[0], ctx=[])
-              KapTableScan(table=[[DEFAULT, TEST_KYLIN_FACT]], ctx=[], fields=[[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38]])
-    KapAggregateRel(group-set=[[]], groups=[null], AGG$0=[BITMAP_COUNT($0)], ctx=[])
-      KapProjectRel($f0=[CASE(>($0, 1), $1, null)], ctx=[])
-        KapAggregateRel(group-set=[[0]], groups=[null], COUNT_DISTINCT_CASE$0$0=[BITMAP_UUID($1)], ctx=[])
-          KapProjectRel(SELLER_ID=[$7], PRICE=[$8], $f2=[0], ctx=[])
-            KapTableScan(table=[[DEFAULT, TEST_KYLIN_FACT]], ctx=[], fields=[[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38]])
+OlapToEnumerableConverter
+  OlapUnionRel(all=[false], ctx=[], all=[false])
+    OlapProjectRel(EXPR$0=[$0], ctx=[])
+      OlapAggregateRel(group-set=[[]], groups=[null], AGG$0=[BITMAP_COUNT($0)], ctx=[])
+        OlapProjectRel($f0=[CASE(AND(=($0, 2012-10-30), >($1, 1)), $2, null)], ctx=[])
+          OlapAggregateRel(group-set=[[0, 1]], groups=[null], COUNT_DISTINCT_CASE$0$0=[BITMAP_UUID($2)], ctx=[])
+            OlapProjectRel(CAL_DT=[$2], SELLER_ID=[$7], PRICE=[$8], $f3=[0], ctx=[])
+              OlapTableScan(table=[[DEFAULT, TEST_KYLIN_FACT]], ctx=[], fields=[[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38]])
+    OlapAggregateRel(group-set=[[]], groups=[null], AGG$0=[BITMAP_COUNT($0)], ctx=[])
+      OlapProjectRel($f0=[CASE(>($0, 1), $1, null)], ctx=[])
+        OlapAggregateRel(group-set=[[0]], groups=[null], COUNT_DISTINCT_CASE$0$0=[BITMAP_UUID($1)], ctx=[])
+          OlapProjectRel(SELLER_ID=[$7], PRICE=[$8], $f2=[0], ctx=[])
+            OlapTableScan(table=[[DEFAULT, TEST_KYLIN_FACT]], ctx=[], fields=[[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38]])
 ]]>
         </Resource>
         <Resource name="query04.planBefore">
             <![CDATA[
-KapOLAPToEnumerableConverter
-  KapProjectRel(CNT1=[$0], CNT2=[$3], CAL_DT=[$1], ctx=[])
-    KapJoinRel(condition=[=($1, $2)], joinType=[inner], ctx=[])
-      KapProjectRel(CNT1=[$1], CAL_DT=[$0], ctx=[])
-        KapAggregateRel(group-set=[[0]], groups=[null], CNT1=[COUNT(DISTINCT $1)], ctx=[])
-          KapProjectRel(CAL_DT=[$2], $f1=[CASE(AND(=($2, 2012-10-30), >($7, 1)), $8, null)], ctx=[])
-            KapTableScan(table=[[DEFAULT, TEST_KYLIN_FACT]], ctx=[], fields=[[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38]])
-      KapAggregateRel(group-set=[[0]], groups=[null], CNT2=[COUNT(DISTINCT $1)], ctx=[])
-        KapProjectRel(CAL_DT=[$2], $f1=[CASE(>($7, 1), $8, null)], ctx=[])
-          KapTableScan(table=[[DEFAULT, TEST_KYLIN_FACT]], ctx=[], fields=[[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38]])
+OlapToEnumerableConverter
+  OlapProjectRel(CNT1=[$0], CNT2=[$3], CAL_DT=[$1], ctx=[])
+    OlapJoinRel(condition=[=($1, $2)], joinType=[inner], ctx=[])
+      OlapProjectRel(CNT1=[$1], CAL_DT=[$0], ctx=[])
+        OlapAggregateRel(group-set=[[0]], groups=[null], CNT1=[COUNT(DISTINCT $1)], ctx=[])
+          OlapProjectRel(CAL_DT=[$2], $f1=[CASE(AND(=($2, 2012-10-30), >($7, 1)), $8, null)], ctx=[])
+            OlapTableScan(table=[[DEFAULT, TEST_KYLIN_FACT]], ctx=[], fields=[[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38]])
+      OlapAggregateRel(group-set=[[0]], groups=[null], CNT2=[COUNT(DISTINCT $1)], ctx=[])
+        OlapProjectRel(CAL_DT=[$2], $f1=[CASE(>($7, 1), $8, null)], ctx=[])
+          OlapTableScan(table=[[DEFAULT, TEST_KYLIN_FACT]], ctx=[], fields=[[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38]])
 ]]>
         </Resource>
         <Resource name="query04.planAfter">
             <![CDATA[
-KapOLAPToEnumerableConverter
-  KapProjectRel(CNT1=[$0], CNT2=[$3], CAL_DT=[$1], ctx=[])
-    KapJoinRel(condition=[=($1, $2)], joinType=[inner], ctx=[])
-      KapProjectRel(CNT1=[$1], CAL_DT=[$0], ctx=[])
-        KapAggregateRel(group-set=[[0]], groups=[null], AGG$0=[BITMAP_COUNT($1)], ctx=[])
-          KapProjectRel(CAL_DT=[$0], $f1=[CASE(AND(=($1, 2012-10-30), >($2, 1)), $3, null)], ctx=[])
-            KapAggregateRel(group-set=[[0, 1, 2]], groups=[null], COUNT_DISTINCT_CASE$0$0=[BITMAP_UUID($3)], ctx=[])
-              KapProjectRel(CAL_DT=[$2], CAL_DT0=[$2], SELLER_ID=[$7], PRICE=[$8], $f4=[0], ctx=[])
-                KapTableScan(table=[[DEFAULT, TEST_KYLIN_FACT]], ctx=[], fields=[[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38]])
-      KapAggregateRel(group-set=[[0]], groups=[null], AGG$0=[BITMAP_COUNT($1)], ctx=[])
-        KapProjectRel(CAL_DT=[$0], $f1=[CASE(>($1, 1), $2, null)], ctx=[])
-          KapAggregateRel(group-set=[[0, 1]], groups=[null], COUNT_DISTINCT_CASE$0$0=[BITMAP_UUID($2)], ctx=[])
-            KapProjectRel(CAL_DT=[$2], SELLER_ID=[$7], PRICE=[$8], $f3=[0], ctx=[])
-              KapTableScan(table=[[DEFAULT, TEST_KYLIN_FACT]], ctx=[], fields=[[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38]])
+OlapToEnumerableConverter
+  OlapProjectRel(CNT1=[$0], CNT2=[$3], CAL_DT=[$1], ctx=[])
+    OlapJoinRel(condition=[=($1, $2)], joinType=[inner], ctx=[])
+      OlapProjectRel(CNT1=[$1], CAL_DT=[$0], ctx=[])
+        OlapAggregateRel(group-set=[[0]], groups=[null], AGG$0=[BITMAP_COUNT($1)], ctx=[])
+          OlapProjectRel(CAL_DT=[$0], $f1=[CASE(AND(=($1, 2012-10-30), >($2, 1)), $3, null)], ctx=[])
+            OlapAggregateRel(group-set=[[0, 1, 2]], groups=[null], COUNT_DISTINCT_CASE$0$0=[BITMAP_UUID($3)], ctx=[])
+              OlapProjectRel(CAL_DT=[$2], CAL_DT0=[$2], SELLER_ID=[$7], PRICE=[$8], $f4=[0], ctx=[])
+                OlapTableScan(table=[[DEFAULT, TEST_KYLIN_FACT]], ctx=[], fields=[[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38]])
+      OlapAggregateRel(group-set=[[0]], groups=[null], AGG$0=[BITMAP_COUNT($1)], ctx=[])
+        OlapProjectRel(CAL_DT=[$0], $f1=[CASE(>($1, 1), $2, null)], ctx=[])
+          OlapAggregateRel(group-set=[[0, 1]], groups=[null], COUNT_DISTINCT_CASE$0$0=[BITMAP_UUID($2)], ctx=[])
+            OlapProjectRel(CAL_DT=[$2], SELLER_ID=[$7], PRICE=[$8], $f3=[0], ctx=[])
+              OlapTableScan(table=[[DEFAULT, TEST_KYLIN_FACT]], ctx=[], fields=[[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38]])
 ]]>
         </Resource>
         <Resource name="query05.planBefore">
             <![CDATA[
-KapOLAPToEnumerableConverter
-  KapProjectRel(CNT1=[$1], CAL_DT=[$0], ctx=[])
-    KapAggregateRel(group-set=[[0]], groups=[null], CNT1=[COUNT(DISTINCT $1)], ctx=[])
-      KapProjectRel(CAL_DT=[$0], $f1=[CASE(AND(=($0, 2012-10-30), >($1, 1)), CAST($2):BIGINT, null)], ctx=[])
-        KapAggregateRel(group-set=[[0, 1]], groups=[null], CNT=[COUNT(DISTINCT $2)], ctx=[])
-          KapProjectRel(CAL_DT=[$2], SELLER_ID=[$7], $f2=[CASE(>($9, 1), $8, null)], ctx=[])
-            KapTableScan(table=[[DEFAULT, TEST_KYLIN_FACT]], ctx=[], fields=[[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38]])
+OlapToEnumerableConverter
+  OlapProjectRel(CNT1=[$1], CAL_DT=[$0], ctx=[])
+    OlapAggregateRel(group-set=[[0]], groups=[null], CNT1=[COUNT(DISTINCT $1)], ctx=[])
+      OlapProjectRel(CAL_DT=[$0], $f1=[CASE(AND(=($0, 2012-10-30), >($1, 1)), CAST($2):BIGINT, null)], ctx=[])
+        OlapAggregateRel(group-set=[[0, 1]], groups=[null], CNT=[COUNT(DISTINCT $2)], ctx=[])
+          OlapProjectRel(CAL_DT=[$2], SELLER_ID=[$7], $f2=[CASE(>($9, 1), $8, null)], ctx=[])
+            OlapTableScan(table=[[DEFAULT, TEST_KYLIN_FACT]], ctx=[], fields=[[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38]])
 ]]>
         </Resource>
         <Resource name="query05.planAfter">
             <![CDATA[
-KapOLAPToEnumerableConverter
-  KapProjectRel(CNT1=[$1], CAL_DT=[$0], ctx=[])
-    KapAggregateRel(group-set=[[0]], groups=[null], CNT1=[COUNT(DISTINCT $1)], ctx=[])
-      KapProjectRel(CAL_DT=[$0], $f1=[CASE(AND(=($0, 2012-10-30), >($1, 1)), CAST($2):BIGINT, null)], ctx=[])
-        KapAggregateRel(group-set=[[0, 1]], groups=[null], AGG$0=[BITMAP_COUNT($2)], ctx=[])
-          KapProjectRel(CAL_DT=[$0], SELLER_ID=[$1], $f2=[CASE(>($2, 1), $3, null)], ctx=[])
-            KapAggregateRel(group-set=[[0, 1, 2]], groups=[null], COUNT_DISTINCT_CASE$0$0=[BITMAP_UUID($3)], ctx=[])
-              KapProjectRel(CAL_DT=[$2], SELLER_ID=[$7], ITEM_COUNT=[$9], PRICE=[$8], $f4=[0], ctx=[])
-                KapTableScan(table=[[DEFAULT, TEST_KYLIN_FACT]], ctx=[], fields=[[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38]])
+OlapToEnumerableConverter
+  OlapProjectRel(CNT1=[$1], CAL_DT=[$0], ctx=[])
+    OlapAggregateRel(group-set=[[0]], groups=[null], CNT1=[COUNT(DISTINCT $1)], ctx=[])
+      OlapProjectRel(CAL_DT=[$0], $f1=[CASE(AND(=($0, 2012-10-30), >($1, 1)), CAST($2):BIGINT, null)], ctx=[])
+        OlapAggregateRel(group-set=[[0, 1]], groups=[null], AGG$0=[BITMAP_COUNT($2)], ctx=[])
+          OlapProjectRel(CAL_DT=[$0], SELLER_ID=[$1], $f2=[CASE(>($2, 1), $3, null)], ctx=[])
+            OlapAggregateRel(group-set=[[0, 1, 2]], groups=[null], COUNT_DISTINCT_CASE$0$0=[BITMAP_UUID($3)], ctx=[])
+              OlapProjectRel(CAL_DT=[$2], SELLER_ID=[$7], ITEM_COUNT=[$9], PRICE=[$8], $f4=[0], ctx=[])
+                OlapTableScan(table=[[DEFAULT, TEST_KYLIN_FACT]], ctx=[], fields=[[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38]])
 ]]>
         </Resource>
         <Resource name="query06.planBefore">
             <![CDATA[
-KapOLAPToEnumerableConverter
-  KapProjectRel(EXPR$0=[$1], CAL_DT=[$0], EXPR$2=[$2], EXPR$3=[$3], ctx=[])
-    KapAggregateRel(group-set=[[0]], groups=[null], EXPR$0=[SUM($1)], EXPR$2=[COUNT(DISTINCT $2)], EXPR$3=[SUM($3)], ctx=[])
-      KapProjectRel(CAL_DT=[$2], $f1=[CASE(=($2, 2012-10-30), $8, null)], $f2=[CASE(>($2, 2012-12-01), $10, null)], $f3=[*($8, 9)], ctx=[])
-        KapJoinRel(condition=[=($1, $39)], joinType=[left], ctx=[])
-          KapTableScan(table=[[DEFAULT, TEST_KYLIN_FACT]], ctx=[], fields=[[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38]])
-          KapTableScan(table=[[DEFAULT, TEST_ORDER]], ctx=[], fields=[[0, 1, 2, 3, 4]])
+OlapToEnumerableConverter
+  OlapProjectRel(EXPR$0=[$1], CAL_DT=[$0], EXPR$2=[$2], EXPR$3=[$3], ctx=[])
+    OlapAggregateRel(group-set=[[0]], groups=[null], EXPR$0=[SUM($1)], EXPR$2=[COUNT(DISTINCT $2)], EXPR$3=[SUM($3)], ctx=[])
+      OlapProjectRel(CAL_DT=[$2], $f1=[CASE(=($2, 2012-10-30), $8, null)], $f2=[CASE(>($2, 2012-12-01), $10, null)], $f3=[*($8, 9)], ctx=[])
+        OlapJoinRel(condition=[=($1, $39)], joinType=[left], ctx=[])
+          OlapTableScan(table=[[DEFAULT, TEST_KYLIN_FACT]], ctx=[], fields=[[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38]])
+          OlapTableScan(table=[[DEFAULT, TEST_ORDER]], ctx=[], fields=[[0, 1, 2, 3, 4]])
 ]]>
         </Resource>
         <Resource name="query06.planAfter">
             <![CDATA[
-KapOLAPToEnumerableConverter
-  KapProjectRel(EXPR$0=[$1], CAL_DT=[$0], EXPR$2=[$2], EXPR$3=[$3], ctx=[])
-    KapAggregateRel(group-set=[[0]], groups=[null], AGG$0=[SUM($1)], AGG$1=[BITMAP_COUNT($2)], AGG$2=[SUM($3)], ctx=[])
-      KapProjectRel(CAL_DT=[$0], EXPR$0=[$2], $f2=[CASE(>($1, 2012-12-01), $4, null)], EXPR$3=[$3], ctx=[])
-        KapProjectRel(CAL_DT=[$0], CAL_DT0=[$1], AGG$0=[$5], AGG$1=[$6], COUNT_DISTINCT_CASE$0$0=[$2], ctx=[])
-          KapJoinRel(condition=[AND(=($0, $3), =($1, $4))], joinType=[inner], ctx=[])
-            KapAggregateRel(group-set=[[0, 2]], groups=[null], COUNT_DISTINCT_CASE$0$0=[BITMAP_UUID($3)], ctx=[])
-              KapProjectRel(CAL_DT=[$2], $f1=[CAST(0):DECIMAL(19, 4)], CAL_DT0=[$2], TEST_COUNT_DISTINCT_BITMAP=[$10], $f4=[0], $f5=[CAST(0):DECIMAL(29, 4)], ctx=[])
-                KapJoinRel(condition=[=($1, $39)], joinType=[left], ctx=[])
-                  KapTableScan(table=[[DEFAULT, TEST_KYLIN_FACT]], ctx=[], fields=[[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38]])
-                  KapTableScan(table=[[DEFAULT, TEST_ORDER]], ctx=[], fields=[[0, 1, 2, 3, 4]])
-            KapAggregateRel(group-set=[[0, 1]], groups=[null], AGG$0=[SUM($2)], AGG$1=[SUM($3)], ctx=[])
-              KapProjectRel(CAL_DT=[$0], CAL_DT0=[$1], $f2=[CASE(=($2, 2012-10-30), $4, null)], EXPR$3=[$3], ctx=[])
-                KapAggregateRel(group-set=[[0, 1, 2]], groups=[null], TOP_AGG$0=[SUM($3)], TOP_AGG$1=[SUM($4)], TOP_AGG$2=[SUM($5)], ctx=[])
-                  KapProjectRel(CAL_DT=[$0], CAL_DT0=[$1], CAL_DT01=[$2], EXPR$3=[$3], SUM_CASE$0$0=[$4], $f5=[*(0, $5)], ctx=[])
-                    KapAggregateRel(group-set=[[0, 1, 2]], groups=[null], AGG$0=[SUM($3)], AGG$1=[SUM($4)], AGG$2=[SUM($5)], ctx=[])
-                      KapProjectRel(CAL_DT=[$0], CAL_DT0=[$1], CAL_DT01=[$2], $f3=[*($3, 9)], SUM_CASE$0$0=[$4], SUM_CONST$2=[$5], ctx=[])
-                        KapAggregateRel(group-set=[[0, 1, 2]], groups=[null], SUM_OP$0=[SUM($3)], SUM_CASE$0$0=[SUM($4)], SUM_CONST$2=[COUNT()], ctx=[])
-                          KapProjectRel(CAL_DT=[$2], CAL_DT0=[$2], CAL_DT01=[$2], PRICE=[$8], PRICE0=[$8], ctx=[])
-                            KapJoinRel(condition=[=($1, $39)], joinType=[left], ctx=[])
-                              KapTableScan(table=[[DEFAULT, TEST_KYLIN_FACT]], ctx=[], fields=[[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38]])
-                              KapTableScan(table=[[DEFAULT, TEST_ORDER]], ctx=[], fields=[[0, 1, 2, 3, 4]])
+OlapToEnumerableConverter
+  OlapProjectRel(EXPR$0=[$1], CAL_DT=[$0], EXPR$2=[$2], EXPR$3=[$3], ctx=[])
+    OlapAggregateRel(group-set=[[0]], groups=[null], AGG$0=[SUM($1)], AGG$1=[BITMAP_COUNT($2)], AGG$2=[SUM($3)], ctx=[])
+      OlapProjectRel(CAL_DT=[$0], EXPR$0=[$2], $f2=[CASE(>($1, 2012-12-01), $4, null)], EXPR$3=[$3], ctx=[])
+        OlapProjectRel(CAL_DT=[$0], CAL_DT0=[$1], AGG$0=[$5], AGG$1=[$6], COUNT_DISTINCT_CASE$0$0=[$2], ctx=[])
+          OlapJoinRel(condition=[AND(=($0, $3), =($1, $4))], joinType=[inner], ctx=[])
+            OlapAggregateRel(group-set=[[0, 2]], groups=[null], COUNT_DISTINCT_CASE$0$0=[BITMAP_UUID($3)], ctx=[])
+              OlapProjectRel(CAL_DT=[$2], $f1=[CAST(0):DECIMAL(19, 4)], CAL_DT0=[$2], TEST_COUNT_DISTINCT_BITMAP=[$10], $f4=[0], $f5=[CAST(0):DECIMAL(29, 4)], ctx=[])
+                OlapJoinRel(condition=[=($1, $39)], joinType=[left], ctx=[])
+                  OlapTableScan(table=[[DEFAULT, TEST_KYLIN_FACT]], ctx=[], fields=[[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38]])
+                  OlapTableScan(table=[[DEFAULT, TEST_ORDER]], ctx=[], fields=[[0, 1, 2, 3, 4]])
+            OlapAggregateRel(group-set=[[0, 1]], groups=[null], AGG$0=[SUM($2)], AGG$1=[SUM($3)], ctx=[])
+              OlapProjectRel(CAL_DT=[$0], CAL_DT0=[$1], $f2=[CASE(=($2, 2012-10-30), $4, null)], EXPR$3=[$3], ctx=[])
+                OlapAggregateRel(group-set=[[0, 1, 2]], groups=[null], TOP_AGG$0=[SUM($3)], TOP_AGG$1=[SUM($4)], TOP_AGG$2=[SUM($5)], ctx=[])
+                  OlapProjectRel(CAL_DT=[$0], CAL_DT0=[$1], CAL_DT01=[$2], EXPR$3=[$3], SUM_CASE$0$0=[$4], $f5=[*(0, $5)], ctx=[])
+                    OlapAggregateRel(group-set=[[0, 1, 2]], groups=[null], AGG$0=[SUM($3)], AGG$1=[SUM($4)], AGG$2=[SUM($5)], ctx=[])
+                      OlapProjectRel(CAL_DT=[$0], CAL_DT0=[$1], CAL_DT01=[$2], $f3=[*($3, 9)], SUM_CASE$0$0=[$4], SUM_CONST$2=[$5], ctx=[])
+                        OlapAggregateRel(group-set=[[0, 1, 2]], groups=[null], SUM_OP$0=[SUM($3)], SUM_CASE$0$0=[SUM($4)], SUM_CONST$2=[COUNT()], ctx=[])
+                          OlapProjectRel(CAL_DT=[$2], CAL_DT0=[$2], CAL_DT01=[$2], PRICE=[$8], PRICE0=[$8], ctx=[])
+                            OlapJoinRel(condition=[=($1, $39)], joinType=[left], ctx=[])
+                              OlapTableScan(table=[[DEFAULT, TEST_KYLIN_FACT]], ctx=[], fields=[[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38]])
+                              OlapTableScan(table=[[DEFAULT, TEST_ORDER]], ctx=[], fields=[[0, 1, 2, 3, 4]])
 ]]>
         </Resource>
         <Resource name="query07.planBefore">
             <![CDATA[
-KapOLAPToEnumerableConverter
-  KapAggregateRel(group-set=[[]], groups=[null], EXPR$0=[COUNT(DISTINCT $0)], EXPR$1=[SUM($1)], EXPR$2=[COUNT($2)], EXPR$3=[COUNT(DISTINCT $2)], ctx=[])
-    KapProjectRel($f0=[CASE(AND(=($2, 2012-10-30), >($7, 1)), $8, null)], PRICE=[$8], LSTG_FORMAT_NAME=[$3], ctx=[])
-      KapTableScan(table=[[DEFAULT, TEST_KYLIN_FACT]], ctx=[], fields=[[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38]])
+OlapToEnumerableConverter
+  OlapAggregateRel(group-set=[[]], groups=[null], EXPR$0=[COUNT(DISTINCT $0)], EXPR$1=[SUM($1)], EXPR$2=[COUNT($2)], EXPR$3=[COUNT(DISTINCT $2)], ctx=[])
+    OlapProjectRel($f0=[CASE(AND(=($2, 2012-10-30), >($7, 1)), $8, null)], PRICE=[$8], LSTG_FORMAT_NAME=[$3], ctx=[])
+      OlapTableScan(table=[[DEFAULT, TEST_KYLIN_FACT]], ctx=[], fields=[[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38]])
 ]]>
         </Resource>
         <Resource name="query07.planAfter">
             <![CDATA[
-KapOLAPToEnumerableConverter
-  KapProjectRel(AGG$0=[$1], AGG$1=[$2], AGG$2=[$3], EXPR$3=[$0], ctx=[])
-    KapJoinRel(condition=[true], joinType=[inner], ctx=[])
-      KapAggregateRel(group-set=[[]], groups=[null], EXPR$3=[COUNT(DISTINCT $2)], ctx=[])
-        KapProjectRel($f0=[CAST(0):DECIMAL(19, 4)], $f1=[CAST(0):DECIMAL(19, 4)], LSTG_FORMAT_NAME=[$3], ctx=[])
-          KapTableScan(table=[[DEFAULT, TEST_KYLIN_FACT]], ctx=[], fields=[[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38]])
-      KapAggregateRel(group-set=[[]], groups=[null], AGG$0=[BITMAP_COUNT($0)], AGG$1=[SUM($1)], AGG$2=[$SUM0($2)], ctx=[])
-        KapProjectRel($f0=[CASE(AND(=($0, 2012-10-30), >($1, 1)), $4, null)], EXPR$1=[$2], EXPR$2=[$3], ctx=[])
-          KapAggregateRel(group-set=[[0, 1]], groups=[null], EXPR$1=[SUM($4)], EXPR$2=[COUNT($5)], COUNT_DISTINCT_CASE$0$0=[BITMAP_UUID($2)], ctx=[])
-            KapProjectRel(CAL_DT=[$2], SELLER_ID=[$7], PRICE=[$8], $f3=[0], PRICE0=[$8], LSTG_FORMAT_NAME=[$3], ctx=[])
-              KapTableScan(table=[[DEFAULT, TEST_KYLIN_FACT]], ctx=[], fields=[[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38]])
+OlapToEnumerableConverter
+  OlapProjectRel(AGG$0=[$1], AGG$1=[$2], AGG$2=[$3], EXPR$3=[$0], ctx=[])
+    OlapJoinRel(condition=[true], joinType=[inner], ctx=[])
+      OlapAggregateRel(group-set=[[]], groups=[null], EXPR$3=[COUNT(DISTINCT $2)], ctx=[])
+        OlapProjectRel($f0=[CAST(0):DECIMAL(19, 4)], $f1=[CAST(0):DECIMAL(19, 4)], LSTG_FORMAT_NAME=[$3], ctx=[])
+          OlapTableScan(table=[[DEFAULT, TEST_KYLIN_FACT]], ctx=[], fields=[[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38]])
+      OlapAggregateRel(group-set=[[]], groups=[null], AGG$0=[BITMAP_COUNT($0)], AGG$1=[SUM($1)], AGG$2=[$SUM0($2)], ctx=[])
+        OlapProjectRel($f0=[CASE(AND(=($0, 2012-10-30), >($1, 1)), $4, null)], EXPR$1=[$2], EXPR$2=[$3], ctx=[])
+          OlapAggregateRel(group-set=[[0, 1]], groups=[null], EXPR$1=[SUM($4)], EXPR$2=[COUNT($5)], COUNT_DISTINCT_CASE$0$0=[BITMAP_UUID($2)], ctx=[])
+            OlapProjectRel(CAL_DT=[$2], SELLER_ID=[$7], PRICE=[$8], $f3=[0], PRICE0=[$8], LSTG_FORMAT_NAME=[$3], ctx=[])
+              OlapTableScan(table=[[DEFAULT, TEST_KYLIN_FACT]], ctx=[], fields=[[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38]])
 ]]>
         </Resource>
         <Resource name="query08.planBefore">
             <![CDATA[
-KapOLAPToEnumerableConverter
-  KapAggregateRel(group-set=[[]], groups=[null], EXPR$0=[COUNT(DISTINCT $0)], EXPR$1=[COUNT(DISTINCT $1)], EXPR$2=[COUNT(DISTINCT $2)], EXPR$3=[COUNT(DISTINCT $3)], ctx=[])
-    KapProjectRel($f0=[CASE(>($2, 2012-12-01), CAST($9):DECIMAL(19, 4), $8)], $f1=[CASE(>($2, 2012-12-01), null, 1)], $f2=[CASE(>($2, 2012-12-01), $9, 1)], $f3=[CASE(>($2, 2012-12-01), -($8, 1), null)], ctx=[])
-      KapTableScan(table=[[DEFAULT, TEST_KYLIN_FACT]], ctx=[], fields=[[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38]])
+OlapToEnumerableConverter
+  OlapAggregateRel(group-set=[[]], groups=[null], EXPR$0=[COUNT(DISTINCT $0)], EXPR$1=[COUNT(DISTINCT $1)], EXPR$2=[COUNT(DISTINCT $2)], EXPR$3=[COUNT(DISTINCT $3)], ctx=[])
+    OlapProjectRel($f0=[CASE(>($2, 2012-12-01), CAST($9):DECIMAL(19, 4), $8)], $f1=[CASE(>($2, 2012-12-01), null, 1)], $f2=[CASE(>($2, 2012-12-01), $9, 1)], $f3=[CASE(>($2, 2012-12-01), -($8, 1), null)], ctx=[])
+      OlapTableScan(table=[[DEFAULT, TEST_KYLIN_FACT]], ctx=[], fields=[[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38]])
 ]]>
         </Resource>
         <Resource name="query08.planAfter">
             <![CDATA[
-KapOLAPToEnumerableConverter
-  KapAggregateRel(group-set=[[]], groups=[null], EXPR$0=[COUNT(DISTINCT $0)], EXPR$1=[COUNT(DISTINCT $1)], EXPR$2=[COUNT(DISTINCT $2)], EXPR$3=[COUNT(DISTINCT $3)], ctx=[])
-    KapProjectRel($f0=[CASE(>($2, 2012-12-01), CAST($9):DECIMAL(19, 4), $8)], $f1=[CASE(>($2, 2012-12-01), null, 1)], $f2=[CASE(>($2, 2012-12-01), $9, 1)], $f3=[CASE(>($2, 2012-12-01), -($8, 1), null)], ctx=[])
-      KapTableScan(table=[[DEFAULT, TEST_KYLIN_FACT]], ctx=[], fields=[[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38]])
+OlapToEnumerableConverter
+  OlapAggregateRel(group-set=[[]], groups=[null], EXPR$0=[COUNT(DISTINCT $0)], EXPR$1=[COUNT(DISTINCT $1)], EXPR$2=[COUNT(DISTINCT $2)], EXPR$3=[COUNT(DISTINCT $3)], ctx=[])
+    OlapProjectRel($f0=[CASE(>($2, 2012-12-01), CAST($9):DECIMAL(19, 4), $8)], $f1=[CASE(>($2, 2012-12-01), null, 1)], $f2=[CASE(>($2, 2012-12-01), $9, 1)], $f3=[CASE(>($2, 2012-12-01), -($8, 1), null)], ctx=[])
+      OlapTableScan(table=[[DEFAULT, TEST_KYLIN_FACT]], ctx=[], fields=[[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38]])
 ]]>
         </Resource>
         <Resource name="query09.planBefore">
             <![CDATA[
-KapOLAPToEnumerableConverter
-  KapAggregateRel(group-set=[[]], groups=[null], EXPR$0=[COUNT(DISTINCT $0)], ctx=[])
-    KapProjectRel($f0=[CASE(>($2, 2012-12-01), $39, null)], ctx=[])
-      KapJoinRel(condition=[=($7, $39)], joinType=[inner], ctx=[])
-        KapTableScan(table=[[DEFAULT, TEST_KYLIN_FACT]], ctx=[], fields=[[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38]])
-        KapAggregateRel(group-set=[[0, 1]], groups=[null], ctx=[])
-          KapProjectRel(ACCOUNT_ID=[$0], ACCOUNT_COUNTRY=[$3], ctx=[])
-            KapTableScan(table=[[DEFAULT, TEST_ACCOUNT]], ctx=[], fields=[[0, 1, 2, 3, 4]])
+OlapToEnumerableConverter
+  OlapAggregateRel(group-set=[[]], groups=[null], EXPR$0=[COUNT(DISTINCT $0)], ctx=[])
+    OlapProjectRel($f0=[CASE(>($2, 2012-12-01), $39, null)], ctx=[])
+      OlapJoinRel(condition=[=($7, $39)], joinType=[inner], ctx=[])
+        OlapTableScan(table=[[DEFAULT, TEST_KYLIN_FACT]], ctx=[], fields=[[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38]])
+        OlapAggregateRel(group-set=[[0, 1]], groups=[null], ctx=[])
+          OlapProjectRel(ACCOUNT_ID=[$0], ACCOUNT_COUNTRY=[$3], ctx=[])
+            OlapTableScan(table=[[DEFAULT, TEST_ACCOUNT]], ctx=[], fields=[[0, 1, 2, 3, 4]])
 ]]>
         </Resource>
         <Resource name="query09.planAfter">
             <![CDATA[
-KapOLAPToEnumerableConverter
-  KapAggregateRel(group-set=[[]], groups=[null], EXPR$0=[COUNT(DISTINCT $0)], ctx=[])
-    KapProjectRel($f0=[CASE(>($2, 2012-12-01), $39, null)], ctx=[])
-      KapJoinRel(condition=[=($7, $39)], joinType=[inner], ctx=[])
-        KapTableScan(table=[[DEFAULT, TEST_KYLIN_FACT]], ctx=[], fields=[[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38]])
-        KapAggregateRel(group-set=[[0, 1]], groups=[null], ctx=[])
-          KapProjectRel(ACCOUNT_ID=[$0], ACCOUNT_COUNTRY=[$3], ctx=[])
-            KapTableScan(table=[[DEFAULT, TEST_ACCOUNT]], ctx=[], fields=[[0, 1, 2, 3, 4]])
+OlapToEnumerableConverter
+  OlapAggregateRel(group-set=[[]], groups=[null], EXPR$0=[COUNT(DISTINCT $0)], ctx=[])
+    OlapProjectRel($f0=[CASE(>($2, 2012-12-01), $39, null)], ctx=[])
+      OlapJoinRel(condition=[=($7, $39)], joinType=[inner], ctx=[])
+        OlapTableScan(table=[[DEFAULT, TEST_KYLIN_FACT]], ctx=[], fields=[[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38]])
+        OlapAggregateRel(group-set=[[0, 1]], groups=[null], ctx=[])
+          OlapProjectRel(ACCOUNT_ID=[$0], ACCOUNT_COUNTRY=[$3], ctx=[])
+            OlapTableScan(table=[[DEFAULT, TEST_ACCOUNT]], ctx=[], fields=[[0, 1, 2, 3, 4]])
 ]]>
         </Resource>
         <Resource name="query10.planBefore">
             <![CDATA[
-KapOLAPToEnumerableConverter
-  KapAggregateRel(group-set=[[]], groups=[null], EXPR$0=[COUNT(DISTINCT $0)], ctx=[])
-    KapProjectRel($f0=[CASE(AND(=($0, 2012-10-30), >($1, 1)), $2, null)], ctx=[])
-      KapUnionRel(all=[false], ctx=[], all=[false])
-        KapProjectRel(CAL_DT=[$2], SELLER_ID=[$7], PRICE=[$8], ctx=[])
-          KapFilterRel(condition=[AND(>=($7, 1), <=($7, 100))], ctx=[])
-            KapTableScan(table=[[DEFAULT, TEST_KYLIN_FACT]], ctx=[], fields=[[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38]])
-        KapProjectRel(CAL_DT=[$2], SELLER_ID=[$7], PRICE=[$8], ctx=[])
-          KapFilterRel(condition=[AND(>=($7, 200), <=($7, 300))], ctx=[])
-            KapTableScan(table=[[DEFAULT, TEST_KYLIN_FACT]], ctx=[], fields=[[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38]])
+OlapToEnumerableConverter
+  OlapAggregateRel(group-set=[[]], groups=[null], EXPR$0=[COUNT(DISTINCT $0)], ctx=[])
+    OlapProjectRel($f0=[CASE(AND(=($0, 2012-10-30), >($1, 1)), $2, null)], ctx=[])
+      OlapUnionRel(all=[false], ctx=[], all=[false])
+        OlapProjectRel(CAL_DT=[$2], SELLER_ID=[$7], PRICE=[$8], ctx=[])
+          OlapFilterRel(condition=[AND(>=($7, 1), <=($7, 100))], ctx=[])
+            OlapTableScan(table=[[DEFAULT, TEST_KYLIN_FACT]], ctx=[], fields=[[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38]])
+        OlapProjectRel(CAL_DT=[$2], SELLER_ID=[$7], PRICE=[$8], ctx=[])
+          OlapFilterRel(condition=[AND(>=($7, 200), <=($7, 300))], ctx=[])
+            OlapTableScan(table=[[DEFAULT, TEST_KYLIN_FACT]], ctx=[], fields=[[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38]])
 ]]>
         </Resource>
         <Resource name="query10.planAfter">
             <![CDATA[
-KapOLAPToEnumerableConverter
-  KapAggregateRel(group-set=[[]], groups=[null], EXPR$0=[COUNT(DISTINCT $0)], ctx=[])
-    KapProjectRel($f0=[CASE(AND(=($0, 2012-10-30), >($1, 1)), $2, null)], ctx=[])
-      KapUnionRel(all=[false], ctx=[], all=[false])
-        KapProjectRel(CAL_DT=[$2], SELLER_ID=[$7], PRICE=[$8], ctx=[])
-          KapFilterRel(condition=[AND(>=($7, 1), <=($7, 100))], ctx=[])
-            KapTableScan(table=[[DEFAULT, TEST_KYLIN_FACT]], ctx=[], fields=[[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38]])
-        KapProjectRel(CAL_DT=[$2], SELLER_ID=[$7], PRICE=[$8], ctx=[])
-          KapFilterRel(condition=[AND(>=($7, 200), <=($7, 300))], ctx=[])
-            KapTableScan(table=[[DEFAULT, TEST_KYLIN_FACT]], ctx=[], fields=[[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38]])
+OlapToEnumerableConverter
+  OlapAggregateRel(group-set=[[]], groups=[null], EXPR$0=[COUNT(DISTINCT $0)], ctx=[])
+    OlapProjectRel($f0=[CASE(AND(=($0, 2012-10-30), >($1, 1)), $2, null)], ctx=[])
+      OlapUnionRel(all=[false], ctx=[], all=[false])
+        OlapProjectRel(CAL_DT=[$2], SELLER_ID=[$7], PRICE=[$8], ctx=[])
+          OlapFilterRel(condition=[AND(>=($7, 1), <=($7, 100))], ctx=[])
+            OlapTableScan(table=[[DEFAULT, TEST_KYLIN_FACT]], ctx=[], fields=[[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38]])
+        OlapProjectRel(CAL_DT=[$2], SELLER_ID=[$7], PRICE=[$8], ctx=[])
+          OlapFilterRel(condition=[AND(>=($7, 200), <=($7, 300))], ctx=[])
+            OlapTableScan(table=[[DEFAULT, TEST_KYLIN_FACT]], ctx=[], fields=[[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38]])
 ]]>
         </Resource>
         <Resource name="query11.planBefore">
             <![CDATA[
-KapOLAPToEnumerableConverter
-  KapSortRel(sort0=[$0], sort1=[$1], dir0=[ASC-nulls-first], dir1=[ASC-nulls-first], ctx=[])
-    KapAggregateRel(group-set=[[0, 1]], groups=[null], EXPR$2=[COUNT(DISTINCT $2)], ctx=[])
-      KapProjectRel(CAL_DT=[$2], ACCOUNT_COUNTRY=[$42], $f2=[CASE(=($42, 'US'), $8, null)], ctx=[])
-        KapFilterRel(condition=[AND(>=($2, 2012-01-01), <($2, 2012-02-01), OR(=($42, 'US'), =($42, 'CN')))], ctx=[])
-          KapJoinRel(condition=[=($7, $39)], joinType=[inner], ctx=[])
-            KapTableScan(table=[[DEFAULT, TEST_KYLIN_FACT]], ctx=[], fields=[[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38]])
-            KapTableScan(table=[[DEFAULT, TEST_ACCOUNT]], ctx=[], fields=[[0, 1, 2, 3, 4]])
+OlapToEnumerableConverter
+  OlapSortRel(sort0=[$0], sort1=[$1], dir0=[ASC-nulls-first], dir1=[ASC-nulls-first], ctx=[])
+    OlapAggregateRel(group-set=[[0, 1]], groups=[null], EXPR$2=[COUNT(DISTINCT $2)], ctx=[])
+      OlapProjectRel(CAL_DT=[$2], ACCOUNT_COUNTRY=[$42], $f2=[CASE(=($42, 'US'), $8, null)], ctx=[])
+        OlapFilterRel(condition=[AND(>=($2, 2012-01-01), <($2, 2012-02-01), OR(=($42, 'US'), =($42, 'CN')))], ctx=[])
+          OlapJoinRel(condition=[=($7, $39)], joinType=[inner], ctx=[])
+            OlapTableScan(table=[[DEFAULT, TEST_KYLIN_FACT]], ctx=[], fields=[[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38]])
+            OlapTableScan(table=[[DEFAULT, TEST_ACCOUNT]], ctx=[], fields=[[0, 1, 2, 3, 4]])
 ]]>
         </Resource>
         <Resource name="query11.planAfter">
             <![CDATA[
-KapOLAPToEnumerableConverter
-  KapSortRel(sort0=[$0], sort1=[$1], dir0=[ASC-nulls-first], dir1=[ASC-nulls-first], ctx=[])
-    KapAggregateRel(group-set=[[0, 1]], groups=[null], AGG$0=[BITMAP_COUNT($2)], ctx=[])
-      KapProjectRel(CAL_DT=[$0], ACCOUNT_COUNTRY=[$1], $f2=[CASE(=($2, 'US'), $3, null)], ctx=[])
-        KapAggregateRel(group-set=[[0, 1, 2]], groups=[null], COUNT_DISTINCT_CASE$0$0=[BITMAP_UUID($3)], ctx=[])
-          KapProjectRel(CAL_DT=[$2], ACCOUNT_COUNTRY=[$42], ACCOUNT_COUNTRY0=[$42], PRICE=[$8], $f4=[0], ctx=[])
-            KapFilterRel(condition=[AND(>=($2, 2012-01-01), <($2, 2012-02-01), OR(=($42, 'US'), =($42, 'CN')))], ctx=[])
-              KapJoinRel(condition=[=($7, $39)], joinType=[inner], ctx=[])
-                KapTableScan(table=[[DEFAULT, TEST_KYLIN_FACT]], ctx=[], fields=[[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38]])
-                KapTableScan(table=[[DEFAULT, TEST_ACCOUNT]], ctx=[], fields=[[0, 1, 2, 3, 4]])
+OlapToEnumerableConverter
+  OlapSortRel(sort0=[$0], sort1=[$1], dir0=[ASC-nulls-first], dir1=[ASC-nulls-first], ctx=[])
+    OlapAggregateRel(group-set=[[0, 1]], groups=[null], AGG$0=[BITMAP_COUNT($2)], ctx=[])
+      OlapProjectRel(CAL_DT=[$0], ACCOUNT_COUNTRY=[$1], $f2=[CASE(=($2, 'US'), $3, null)], ctx=[])
+        OlapAggregateRel(group-set=[[0, 1, 2]], groups=[null], COUNT_DISTINCT_CASE$0$0=[BITMAP_UUID($3)], ctx=[])
+          OlapProjectRel(CAL_DT=[$2], ACCOUNT_COUNTRY=[$42], ACCOUNT_COUNTRY0=[$42], PRICE=[$8], $f4=[0], ctx=[])
+            OlapFilterRel(condition=[AND(>=($2, 2012-01-01), <($2, 2012-02-01), OR(=($42, 'US'), =($42, 'CN')))], ctx=[])
+              OlapJoinRel(condition=[=($7, $39)], joinType=[inner], ctx=[])
+                OlapTableScan(table=[[DEFAULT, TEST_KYLIN_FACT]], ctx=[], fields=[[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38]])
+                OlapTableScan(table=[[DEFAULT, TEST_ACCOUNT]], ctx=[], fields=[[0, 1, 2, 3, 4]])
 ]]>
         </Resource>
         <Resource name="query12.planBefore">
             <![CDATA[
-KapOLAPToEnumerableConverter
-  KapProjectRel(EXPR$0=[$0], EXPR$1=[$0], EXPR$2=[$1], EXPR$3=[$2], EXPR$4=[$3], EXPR$5=[$0], EXPR$6=[$0], EXPR$7=[$4], EXPR$8=[$4], EXPR$9=[$5], EXPR$10=[$6], EXPR$11=[$7], EXPR$12=[$4], EXPR$13=[$4], EXPR$14=[$8], EXPR$15=[$9], EXPR$16=[$10], EXPR$17=[$11], EXPR$18=[$12], EXPR$19=[$9], EXPR$20=[$9], EXPR$21=[$13], EXPR$22=[$13], EXPR$23=[$13], EXPR$24=[$13], EXPR$25=[$14], EXPR$26=[$13], EXPR$27=[$13], EXPR$28=[$15], EXPR$29=[$15], EXPR$30=[$15], EXPR$31=[$15], EXPR$32=[$15], EXPR$33=[ [...]
-    KapAggregateRel(group-set=[[]], groups=[null], EXPR$0=[COUNT(DISTINCT $0)], EXPR$2=[COUNT(DISTINCT $1)], EXPR$3=[COUNT(DISTINCT $2)], EXPR$4=[COUNT(DISTINCT $3)], EXPR$7=[COUNT(DISTINCT $4)], EXPR$9=[COUNT(DISTINCT $5)], EXPR$10=[COUNT(DISTINCT $6)], EXPR$11=[COUNT(DISTINCT $7)], EXPR$14=[COUNT(DISTINCT $8)], EXPR$15=[COUNT(DISTINCT $9)], EXPR$16=[COUNT(DISTINCT $10)], EXPR$17=[COUNT(DISTINCT $11)], EXPR$18=[COUNT(DISTINCT $12)], EXPR$21=[COUNT(DISTINCT $13)], EXPR$25=[COUNT(DISTINCT [...]
-      KapProjectRel($f0=[CASE(=($14, 2012-10-30), $0, null)], $f1=[CASE(=($14, 2012-10-30), CAST($0):FLOAT, null)], $f2=[CASE(=($14, 2012-10-30), CAST($0):DOUBLE, null)], $f3=[CASE(=($14, 2012-10-30), CAST($0):DECIMAL(25, 6), null)], $f4=[CASE(=($14, 2012-10-30), $2, null)], $f5=[CASE(=($14, 2012-10-30), CAST($2):FLOAT, null)], $f6=[CASE(=($14, 2012-10-30), CAST($2):DOUBLE, null)], $f7=[CASE(=($14, 2012-10-30), CAST($2):DECIMAL(25, 6), null)], $f8=[CASE(=($14, 2012-10-30), CAST($3):BIGIN [...]
-        KapTableScan(table=[[DEFAULT, TEST_MEASURE]], ctx=[], fields=[[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28]])
+OlapToEnumerableConverter
+  OlapProjectRel(EXPR$0=[$0], EXPR$1=[$0], EXPR$2=[$1], EXPR$3=[$2], EXPR$4=[$3], EXPR$5=[$0], EXPR$6=[$0], EXPR$7=[$4], EXPR$8=[$4], EXPR$9=[$5], EXPR$10=[$6], EXPR$11=[$7], EXPR$12=[$4], EXPR$13=[$4], EXPR$14=[$8], EXPR$15=[$9], EXPR$16=[$10], EXPR$17=[$11], EXPR$18=[$12], EXPR$19=[$9], EXPR$20=[$9], EXPR$21=[$13], EXPR$22=[$13], EXPR$23=[$13], EXPR$24=[$13], EXPR$25=[$14], EXPR$26=[$13], EXPR$27=[$13], EXPR$28=[$15], EXPR$29=[$15], EXPR$30=[$15], EXPR$31=[$15], EXPR$32=[$15], EXPR$33= [...]
+    OlapAggregateRel(group-set=[[]], groups=[null], EXPR$0=[COUNT(DISTINCT $0)], EXPR$2=[COUNT(DISTINCT $1)], EXPR$3=[COUNT(DISTINCT $2)], EXPR$4=[COUNT(DISTINCT $3)], EXPR$7=[COUNT(DISTINCT $4)], EXPR$9=[COUNT(DISTINCT $5)], EXPR$10=[COUNT(DISTINCT $6)], EXPR$11=[COUNT(DISTINCT $7)], EXPR$14=[COUNT(DISTINCT $8)], EXPR$15=[COUNT(DISTINCT $9)], EXPR$16=[COUNT(DISTINCT $10)], EXPR$17=[COUNT(DISTINCT $11)], EXPR$18=[COUNT(DISTINCT $12)], EXPR$21=[COUNT(DISTINCT $13)], EXPR$25=[COUNT(DISTINC [...]
+      OlapProjectRel($f0=[CASE(=($14, 2012-10-30), $0, null)], $f1=[CASE(=($14, 2012-10-30), CAST($0):FLOAT, null)], $f2=[CASE(=($14, 2012-10-30), CAST($0):DOUBLE, null)], $f3=[CASE(=($14, 2012-10-30), CAST($0):DECIMAL(25, 6), null)], $f4=[CASE(=($14, 2012-10-30), $2, null)], $f5=[CASE(=($14, 2012-10-30), CAST($2):FLOAT, null)], $f6=[CASE(=($14, 2012-10-30), CAST($2):DOUBLE, null)], $f7=[CASE(=($14, 2012-10-30), CAST($2):DECIMAL(25, 6), null)], $f8=[CASE(=($14, 2012-10-30), CAST($3):BIGI [...]
+        OlapTableScan(table=[[DEFAULT, TEST_MEASURE]], ctx=[], fields=[[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28]])
 ]]>
         </Resource>
         <Resource name="query12.planAfter">
             <![CDATA[
-KapOLAPToEnumerableConverter
-  KapProjectRel(EXPR$0=[$0], EXPR$1=[$0], EXPR$2=[$1], EXPR$3=[$2], EXPR$4=[$3], EXPR$5=[$0], EXPR$6=[$0], EXPR$7=[$4], EXPR$8=[$4], EXPR$9=[$5], EXPR$10=[$6], EXPR$11=[$7], EXPR$12=[$4], EXPR$13=[$4], EXPR$14=[$8], EXPR$15=[$9], EXPR$16=[$10], EXPR$17=[$11], EXPR$18=[$12], EXPR$19=[$9], EXPR$20=[$9], EXPR$21=[$13], EXPR$22=[$13], EXPR$23=[$13], EXPR$24=[$13], EXPR$25=[$14], EXPR$26=[$13], EXPR$27=[$13], EXPR$28=[$15], EXPR$29=[$15], EXPR$30=[$15], EXPR$31=[$15], EXPR$32=[$15], EXPR$33=[ [...]
-    KapAggregateRel(group-set=[[]], groups=[null], AGG$0=[BITMAP_COUNT($0)], AGG$1=[BITMAP_COUNT($1)], AGG$2=[BITMAP_COUNT($2)], AGG$3=[BITMAP_COUNT($3)], AGG$4=[BITMAP_COUNT($4)], AGG$5=[BITMAP_COUNT($5)], AGG$6=[BITMAP_COUNT($6)], AGG$7=[BITMAP_COUNT($7)], AGG$8=[BITMAP_COUNT($8)], AGG$9=[BITMAP_COUNT($9)], AGG$10=[BITMAP_COUNT($10)], AGG$11=[BITMAP_COUNT($11)], AGG$12=[BITMAP_COUNT($12)], AGG$13=[BITMAP_COUNT($13)], AGG$14=[BITMAP_COUNT($14)], AGG$15=[BITMAP_COUNT($15)], AGG$16=[BITMA [...]
-      KapProjectRel($f0=[CASE(=($0, 2012-10-30), $56, null)], $f1=[CASE(=($1, 2012-10-30), $57, null)], $f2=[CASE(=($2, 2012-10-30), $58, null)], $f3=[CASE(=($3, 2012-10-30), $59, null)], $f4=[CASE(=($4, 2012-10-30), $60, null)], $f5=[CASE(=($5, 2012-10-30), $61, null)], $f6=[CASE(=($6, 2012-10-30), $62, null)], $f7=[CASE(=($7, 2012-10-30), $63, null)], $f8=[CASE(=($8, 2012-10-30), $64, null)], $f9=[CASE(=($9, 2012-10-30), $65, null)], $f10=[CASE(=($10, 2012-10-30), $66, null)], $f11=[CA [...]
-        KapAggregateRel(group-set=[[0, 3, 6, 9, 12, 15, 18, 21, 24, 27, 30, 33, 36, 39, 42, 45, 48, 51, 54, 57, 60, 63, 66, 69, 72, 75, 78, 81, 84, 87, 90, 93, 96, 99, 102, 105, 108, 111, 114, 117, 120, 123, 126, 129, 132, 135, 138, 141, 144, 147, 150, 153, 156, 159, 162, 165]], groups=[null], COUNT_DISTINCT_CASE$0$0=[BITMAP_UUID($1)], COUNT_DISTINCT_CASE$1$0=[BITMAP_UUID($4)], COUNT_DISTINCT_CASE$2$0=[BITMAP_UUID($7)], COUNT_DISTINCT_CASE$3$0=[BITMAP_UUID($10)], COUNT_DISTINCT_CASE$4$0= [...]
-          KapProjectRel(TIME1=[$14], ID1=[$0], $f2=[0], TIME10=[$14], ID10=[$0], $f5=[0], TIME101=[$14], ID101=[$0], $f8=[0], TIME1012=[$14], ID1012=[$0], $f11=[0], TIME10123=[$14], ID3=[$2], $f14=[0], TIME101234=[$14], ID30=[$2], $f17=[0], TIME1012345=[$14], ID301=[$2], $f20=[0], TIME10123456=[$14], ID3012=[$2], $f23=[0], TIME101234567=[$14], ID4=[$3], $f26=[0], TIME1012345678=[$14], ID40=[$3], $f29=[0], TIME10123456789=[$14], ID401=[$3], $f32=[0], TIME1012345678910=[$14], ID4012=[$3],  [...]
-            KapTableScan(table=[[DEFAULT, TEST_MEASURE]], ctx=[], fields=[[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28]])
+OlapToEnumerableConverter
+  OlapProjectRel(EXPR$0=[$0], EXPR$1=[$0], EXPR$2=[$1], EXPR$3=[$2], EXPR$4=[$3], EXPR$5=[$0], EXPR$6=[$0], EXPR$7=[$4], EXPR$8=[$4], EXPR$9=[$5], EXPR$10=[$6], EXPR$11=[$7], EXPR$12=[$4], EXPR$13=[$4], EXPR$14=[$8], EXPR$15=[$9], EXPR$16=[$10], EXPR$17=[$11], EXPR$18=[$12], EXPR$19=[$9], EXPR$20=[$9], EXPR$21=[$13], EXPR$22=[$13], EXPR$23=[$13], EXPR$24=[$13], EXPR$25=[$14], EXPR$26=[$13], EXPR$27=[$13], EXPR$28=[$15], EXPR$29=[$15], EXPR$30=[$15], EXPR$31=[$15], EXPR$32=[$15], EXPR$33= [...]
+    OlapAggregateRel(group-set=[[]], groups=[null], AGG$0=[BITMAP_COUNT($0)], AGG$1=[BITMAP_COUNT($1)], AGG$2=[BITMAP_COUNT($2)], AGG$3=[BITMAP_COUNT($3)], AGG$4=[BITMAP_COUNT($4)], AGG$5=[BITMAP_COUNT($5)], AGG$6=[BITMAP_COUNT($6)], AGG$7=[BITMAP_COUNT($7)], AGG$8=[BITMAP_COUNT($8)], AGG$9=[BITMAP_COUNT($9)], AGG$10=[BITMAP_COUNT($10)], AGG$11=[BITMAP_COUNT($11)], AGG$12=[BITMAP_COUNT($12)], AGG$13=[BITMAP_COUNT($13)], AGG$14=[BITMAP_COUNT($14)], AGG$15=[BITMAP_COUNT($15)], AGG$16=[BITM [...]
+      OlapProjectRel($f0=[CASE(=($0, 2012-10-30), $56, null)], $f1=[CASE(=($1, 2012-10-30), $57, null)], $f2=[CASE(=($2, 2012-10-30), $58, null)], $f3=[CASE(=($3, 2012-10-30), $59, null)], $f4=[CASE(=($4, 2012-10-30), $60, null)], $f5=[CASE(=($5, 2012-10-30), $61, null)], $f6=[CASE(=($6, 2012-10-30), $62, null)], $f7=[CASE(=($7, 2012-10-30), $63, null)], $f8=[CASE(=($8, 2012-10-30), $64, null)], $f9=[CASE(=($9, 2012-10-30), $65, null)], $f10=[CASE(=($10, 2012-10-30), $66, null)], $f11=[C [...]
+        OlapAggregateRel(group-set=[[0, 3, 6, 9, 12, 15, 18, 21, 24, 27, 30, 33, 36, 39, 42, 45, 48, 51, 54, 57, 60, 63, 66, 69, 72, 75, 78, 81, 84, 87, 90, 93, 96, 99, 102, 105, 108, 111, 114, 117, 120, 123, 126, 129, 132, 135, 138, 141, 144, 147, 150, 153, 156, 159, 162, 165]], groups=[null], COUNT_DISTINCT_CASE$0$0=[BITMAP_UUID($1)], COUNT_DISTINCT_CASE$1$0=[BITMAP_UUID($4)], COUNT_DISTINCT_CASE$2$0=[BITMAP_UUID($7)], COUNT_DISTINCT_CASE$3$0=[BITMAP_UUID($10)], COUNT_DISTINCT_CASE$4$0 [...]
+          OlapProjectRel(TIME1=[$14], ID1=[$0], $f2=[0], TIME10=[$14], ID10=[$0], $f5=[0], TIME101=[$14], ID101=[$0], $f8=[0], TIME1012=[$14], ID1012=[$0], $f11=[0], TIME10123=[$14], ID3=[$2], $f14=[0], TIME101234=[$14], ID30=[$2], $f17=[0], TIME1012345=[$14], ID301=[$2], $f20=[0], TIME10123456=[$14], ID3012=[$2], $f23=[0], TIME101234567=[$14], ID4=[$3], $f26=[0], TIME1012345678=[$14], ID40=[$3], $f29=[0], TIME10123456789=[$14], ID401=[$3], $f32=[0], TIME1012345678910=[$14], ID4012=[$3], [...]
+            OlapTableScan(table=[[DEFAULT, TEST_MEASURE]], ctx=[], fields=[[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28]])
 ]]>
         </Resource>
         <Resource name="query13.planBefore">
             <![CDATA[
-KapOLAPToEnumerableConverter
-  KapAggregateRel(group-set=[[]], groups=[null], TEMP_________=[COUNT(DISTINCT $0)], EXPR$1=[COUNT(DISTINCT $1)], ctx=[])
-    KapProjectRel($f0=[CASE(=($3, 'Auction'), CAST($13):FLOAT, null)], LSTG_FORMAT_NAME=[$3], ctx=[])
-      KapFilterRel(condition=[=($2, 2012-01-01)], ctx=[])
-        KapJoinRel(condition=[=($1, $12)], joinType=[left], ctx=[])
-          KapProjectRel(TRANS_ID=[$0], ORDER_ID=[$1], CAL_DT=[$2], LSTG_FORMAT_NAME=[$3], LEAF_CATEG_ID=[$4], LSTG_SITE_ID=[$5], SLR_SEGMENT_CD=[$6], SELLER_ID=[$7], PRICE=[$8], ITEM_COUNT=[$9], TEST_COUNT_DISTINCT_BITMAP=[$10], IS_EFFECTUAL=[$11], ctx=[])
-            KapTableScan(table=[[DEFAULT, TEST_KYLIN_FACT]], ctx=[], fields=[[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38]])
-          KapProjectRel(ORDER_ID=[$0], BUYER_ID=[$1], TEST_DATE_ENC=[$2], TEST_TIME_ENC=[$3], TEST_EXTENDED_COLUMN=[$4], ctx=[])
-            KapTableScan(table=[[DEFAULT, TEST_ORDER]], ctx=[], fields=[[0, 1, 2, 3, 4]])
+OlapToEnumerableConverter
+  OlapAggregateRel(group-set=[[]], groups=[null], TEMP_________=[COUNT(DISTINCT $0)], EXPR$1=[COUNT(DISTINCT $1)], ctx=[])
+    OlapProjectRel($f0=[CASE(=($3, 'Auction'), CAST($13):FLOAT, null)], LSTG_FORMAT_NAME=[$3], ctx=[])
+      OlapFilterRel(condition=[=($2, 2012-01-01)], ctx=[])
+        OlapJoinRel(condition=[=($1, $12)], joinType=[left], ctx=[])
+          OlapProjectRel(TRANS_ID=[$0], ORDER_ID=[$1], CAL_DT=[$2], LSTG_FORMAT_NAME=[$3], LEAF_CATEG_ID=[$4], LSTG_SITE_ID=[$5], SLR_SEGMENT_CD=[$6], SELLER_ID=[$7], PRICE=[$8], ITEM_COUNT=[$9], TEST_COUNT_DISTINCT_BITMAP=[$10], IS_EFFECTUAL=[$11], ctx=[])
+            OlapTableScan(table=[[DEFAULT, TEST_KYLIN_FACT]], ctx=[], fields=[[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38]])
+          OlapProjectRel(ORDER_ID=[$0], BUYER_ID=[$1], TEST_DATE_ENC=[$2], TEST_TIME_ENC=[$3], TEST_EXTENDED_COLUMN=[$4], ctx=[])
+            OlapTableScan(table=[[DEFAULT, TEST_ORDER]], ctx=[], fields=[[0, 1, 2, 3, 4]])
 ]]>
         </Resource>
         <Resource name="query13.planAfter">
             <![CDATA[
-KapOLAPToEnumerableConverter
-  KapProjectRel(AGG$0=[$1], EXPR$1=[$0], ctx=[])
-    KapJoinRel(condition=[true], joinType=[inner], ctx=[])
-      KapAggregateRel(group-set=[[]], groups=[null], EXPR$1=[COUNT(DISTINCT $1)], ctx=[])
-        KapProjectRel($f0=[CAST(0E0):FLOAT], LSTG_FORMAT_NAME=[$3], ctx=[])
-          KapFilterRel(condition=[=($2, 2012-01-01)], ctx=[])
-            KapJoinRel(condition=[=($1, $12)], joinType=[left], ctx=[])
-              KapProjectRel(TRANS_ID=[$0], ORDER_ID=[$1], CAL_DT=[$2], LSTG_FORMAT_NAME=[$3], LEAF_CATEG_ID=[$4], LSTG_SITE_ID=[$5], SLR_SEGMENT_CD=[$6], SELLER_ID=[$7], PRICE=[$8], ITEM_COUNT=[$9], TEST_COUNT_DISTINCT_BITMAP=[$10], IS_EFFECTUAL=[$11], ctx=[])
-                KapTableScan(table=[[DEFAULT, TEST_KYLIN_FACT]], ctx=[], fields=[[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38]])
-              KapProjectRel(ORDER_ID=[$0], BUYER_ID=[$1], TEST_DATE_ENC=[$2], TEST_TIME_ENC=[$3], TEST_EXTENDED_COLUMN=[$4], ctx=[])
-                KapTableScan(table=[[DEFAULT, TEST_ORDER]], ctx=[], fields=[[0, 1, 2, 3, 4]])
-      KapAggregateRel(group-set=[[]], groups=[null], AGG$0=[BITMAP_COUNT($0)], ctx=[])
-        KapProjectRel($f0=[CASE(=($0, 'Auction'), $1, null)], ctx=[])
-          KapAggregateRel(group-set=[[0]], groups=[null], COUNT_DISTINCT_CASE$0$0=[BITMAP_UUID($1)], ctx=[])
-            KapProjectRel(LSTG_FORMAT_NAME=[$3], BUYER_ID=[$13], $f2=[0], ctx=[])
-              KapFilterRel(condition=[=($2, 2012-01-01)], ctx=[])
-                KapJoinRel(condition=[=($1, $12)], joinType=[left], ctx=[])
-                  KapProjectRel(TRANS_ID=[$0], ORDER_ID=[$1], CAL_DT=[$2], LSTG_FORMAT_NAME=[$3], LEAF_CATEG_ID=[$4], LSTG_SITE_ID=[$5], SLR_SEGMENT_CD=[$6], SELLER_ID=[$7], PRICE=[$8], ITEM_COUNT=[$9], TEST_COUNT_DISTINCT_BITMAP=[$10], IS_EFFECTUAL=[$11], ctx=[])
-                    KapTableScan(table=[[DEFAULT, TEST_KYLIN_FACT]], ctx=[], fields=[[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38]])
-                  KapProjectRel(ORDER_ID=[$0], BUYER_ID=[$1], TEST_DATE_ENC=[$2], TEST_TIME_ENC=[$3], TEST_EXTENDED_COLUMN=[$4], ctx=[])
-                    KapTableScan(table=[[DEFAULT, TEST_ORDER]], ctx=[], fields=[[0, 1, 2, 3, 4]])
+OlapToEnumerableConverter
+  OlapProjectRel(AGG$0=[$1], EXPR$1=[$0], ctx=[])
+    OlapJoinRel(condition=[true], joinType=[inner], ctx=[])
+      OlapAggregateRel(group-set=[[]], groups=[null], EXPR$1=[COUNT(DISTINCT $1)], ctx=[])
+        OlapProjectRel($f0=[CAST(0E0):FLOAT], LSTG_FORMAT_NAME=[$3], ctx=[])
+          OlapFilterRel(condition=[=($2, 2012-01-01)], ctx=[])
+            OlapJoinRel(condition=[=($1, $12)], joinType=[left], ctx=[])
+              OlapProjectRel(TRANS_ID=[$0], ORDER_ID=[$1], CAL_DT=[$2], LSTG_FORMAT_NAME=[$3], LEAF_CATEG_ID=[$4], LSTG_SITE_ID=[$5], SLR_SEGMENT_CD=[$6], SELLER_ID=[$7], PRICE=[$8], ITEM_COUNT=[$9], TEST_COUNT_DISTINCT_BITMAP=[$10], IS_EFFECTUAL=[$11], ctx=[])
+                OlapTableScan(table=[[DEFAULT, TEST_KYLIN_FACT]], ctx=[], fields=[[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38]])
+              OlapProjectRel(ORDER_ID=[$0], BUYER_ID=[$1], TEST_DATE_ENC=[$2], TEST_TIME_ENC=[$3], TEST_EXTENDED_COLUMN=[$4], ctx=[])
+                OlapTableScan(table=[[DEFAULT, TEST_ORDER]], ctx=[], fields=[[0, 1, 2, 3, 4]])
+      OlapAggregateRel(group-set=[[]], groups=[null], AGG$0=[BITMAP_COUNT($0)], ctx=[])
+        OlapProjectRel($f0=[CASE(=($0, 'Auction'), $1, null)], ctx=[])
+          OlapAggregateRel(group-set=[[0]], groups=[null], COUNT_DISTINCT_CASE$0$0=[BITMAP_UUID($1)], ctx=[])
+            OlapProjectRel(LSTG_FORMAT_NAME=[$3], BUYER_ID=[$13], $f2=[0], ctx=[])
+              OlapFilterRel(condition=[=($2, 2012-01-01)], ctx=[])
+                OlapJoinRel(condition=[=($1, $12)], joinType=[left], ctx=[])
+                  OlapProjectRel(TRANS_ID=[$0], ORDER_ID=[$1], CAL_DT=[$2], LSTG_FORMAT_NAME=[$3], LEAF_CATEG_ID=[$4], LSTG_SITE_ID=[$5], SLR_SEGMENT_CD=[$6], SELLER_ID=[$7], PRICE=[$8], ITEM_COUNT=[$9], TEST_COUNT_DISTINCT_BITMAP=[$10], IS_EFFECTUAL=[$11], ctx=[])
+                    OlapTableScan(table=[[DEFAULT, TEST_KYLIN_FACT]], ctx=[], fields=[[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38]])
+                  OlapProjectRel(ORDER_ID=[$0], BUYER_ID=[$1], TEST_DATE_ENC=[$2], TEST_TIME_ENC=[$3], TEST_EXTENDED_COLUMN=[$4], ctx=[])
+                    OlapTableScan(table=[[DEFAULT, TEST_ORDER]], ctx=[], fields=[[0, 1, 2, 3, 4]])
 ]]>
         </Resource>
     </TestCase>
diff --git a/src/kylin-it/src/test/resources/org/apache/kylin/query/engine/EnhancedAggPushDownPlannerTest.xml b/src/kylin-it/src/test/resources/org/apache/kylin/query/engine/EnhancedAggPushDownPlannerTest.xml
index f65eaa2c35..cab2174a81 100644
--- a/src/kylin-it/src/test/resources/org/apache/kylin/query/engine/EnhancedAggPushDownPlannerTest.xml
+++ b/src/kylin-it/src/test/resources/org/apache/kylin/query/engine/EnhancedAggPushDownPlannerTest.xml
@@ -21,959 +21,959 @@
     <TestCase name="testEnhancedAggPushDown">
         <Resource name="query00.planBefore">
             <![CDATA[
-KapOLAPToEnumerableConverter
-  KapAggregateRel(group-set=[[0]], groups=[null], EXPR$1=[SUM($1)], ctx=[])
-    KapProjectRel(SELLER_ID=[$7], PRICE=[$8], ctx=[])
-      KapJoinRel(condition=[=($4, $107)], joinType=[inner], ctx=[])
-        KapJoinRel(condition=[=($4, $71)], joinType=[inner], ctx=[])
-          KapJoinRel(condition=[=($1, $66)], joinType=[inner], ctx=[])
-            KapTableScan(table=[[DEFAULT, TEST_KYLIN_FACT]], ctx=[], fields=[[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65]])
-            KapTableScan(table=[[DEFAULT, TEST_ORDER]], ctx=[], fields=[[0, 1, 2, 3, 4]])
-          KapTableScan(table=[[DEFAULT, TEST_CATEGORY_GROUPINGS]], ctx=[], fields=[[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35]])
-        KapTableScan(table=[[DEFAULT, KYLIN_CATEGORY_GROUPINGS]], ctx=[], fields=[[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35]])
+OlapToEnumerableConverter
+  OlapAggregateRel(group-set=[[0]], groups=[null], EXPR$1=[SUM($1)], ctx=[])
+    OlapProjectRel(SELLER_ID=[$7], PRICE=[$8], ctx=[])
+      OlapJoinRel(condition=[=($4, $107)], joinType=[inner], ctx=[])
+        OlapJoinRel(condition=[=($4, $71)], joinType=[inner], ctx=[])
+          OlapJoinRel(condition=[=($1, $66)], joinType=[inner], ctx=[])
+            OlapTableScan(table=[[DEFAULT, TEST_KYLIN_FACT]], ctx=[], fields=[[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65]])
+            OlapTableScan(table=[[DEFAULT, TEST_ORDER]], ctx=[], fields=[[0, 1, 2, 3, 4]])
+          OlapTableScan(table=[[DEFAULT, TEST_CATEGORY_GROUPINGS]], ctx=[], fields=[[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35]])
+        OlapTableScan(table=[[DEFAULT, KYLIN_CATEGORY_GROUPINGS]], ctx=[], fields=[[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35]])
 ]]>
         </Resource>
         <Resource name="query00.planAfter">
             <![CDATA[
-KapOLAPToEnumerableConverter
-  KapAggregateRel(group-set=[[1]], groups=[null], EXPR$1=[SUM($5)], ctx=[])
-    KapProjectRel(LEAF_CATEG_ID=[$0], SELLER_ID=[$1], EXPR$1=[$2], LEAF_CATEG_ID0=[$3], $f1=[$4], $f5=[CAST(*($2, $4)):DECIMAL(19, 4)], ctx=[])
-      KapJoinRel(condition=[=($0, $3)], joinType=[inner], ctx=[])
-        KapAggregateRel(group-set=[[4, 7]], groups=[null], EXPR$1=[SUM($8)], ctx=[])
-          KapJoinRel(condition=[=($4, $71)], joinType=[inner], ctx=[])
-            KapJoinRel(condition=[=($1, $66)], joinType=[inner], ctx=[])
-              KapTableScan(table=[[DEFAULT, TEST_KYLIN_FACT]], ctx=[], fields=[[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65]])
-              KapTableScan(table=[[DEFAULT, TEST_ORDER]], ctx=[], fields=[[0, 1, 2, 3, 4]])
-            KapTableScan(table=[[DEFAULT, TEST_CATEGORY_GROUPINGS]], ctx=[], fields=[[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35]])
-        KapAggregateRel(group-set=[[0]], groups=[null], agg#0=[COUNT()], ctx=[])
-          KapTableScan(table=[[DEFAULT, KYLIN_CATEGORY_GROUPINGS]], ctx=[], fields=[[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35]])
+OlapToEnumerableConverter
+  OlapAggregateRel(group-set=[[1]], groups=[null], EXPR$1=[SUM($5)], ctx=[])
+    OlapProjectRel(LEAF_CATEG_ID=[$0], SELLER_ID=[$1], EXPR$1=[$2], LEAF_CATEG_ID0=[$3], $f1=[$4], $f5=[CAST(*($2, $4)):DECIMAL(19, 4)], ctx=[])
+      OlapJoinRel(condition=[=($0, $3)], joinType=[inner], ctx=[])
+        OlapAggregateRel(group-set=[[4, 7]], groups=[null], EXPR$1=[SUM($8)], ctx=[])
+          OlapJoinRel(condition=[=($4, $71)], joinType=[inner], ctx=[])
+            OlapJoinRel(condition=[=($1, $66)], joinType=[inner], ctx=[])
+              OlapTableScan(table=[[DEFAULT, TEST_KYLIN_FACT]], ctx=[], fields=[[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65]])
+              OlapTableScan(table=[[DEFAULT, TEST_ORDER]], ctx=[], fields=[[0, 1, 2, 3, 4]])
+            OlapTableScan(table=[[DEFAULT, TEST_CATEGORY_GROUPINGS]], ctx=[], fields=[[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35]])
+        OlapAggregateRel(group-set=[[0]], groups=[null], agg#0=[COUNT()], ctx=[])
+          OlapTableScan(table=[[DEFAULT, KYLIN_CATEGORY_GROUPINGS]], ctx=[], fields=[[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35]])
 ]]>
         </Resource>
 
         <Resource name="query01.planBefore">
             <![CDATA[
-KapOLAPToEnumerableConverter
-  KapLimitRel(ctx=[], fetch=[5])
-    KapProjectRel(SELLER_ID=[$0], EXPR$1=[$1], ctx=[])
-      KapUnionRel(all=[true], ctx=[], all=[true])
-        KapAggregateRel(group-set=[[0]], groups=[null], EXPR$1=[SUM($1)], ctx=[])
-          KapProjectRel(SELLER_ID=[$7], PRICE=[$8], ctx=[])
-            KapJoinRel(condition=[=($4, $107)], joinType=[inner], ctx=[])
-              KapJoinRel(condition=[=($4, $71)], joinType=[inner], ctx=[])
-                KapJoinRel(condition=[=($1, $66)], joinType=[inner], ctx=[])
-                  KapTableScan(table=[[DEFAULT, TEST_KYLIN_FACT]], ctx=[], fields=[[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65]])
-                  KapTableScan(table=[[DEFAULT, TEST_ORDER]], ctx=[], fields=[[0, 1, 2, 3, 4]])
-                KapTableScan(table=[[DEFAULT, TEST_CATEGORY_GROUPINGS]], ctx=[], fields=[[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35]])
-              KapTableScan(table=[[DEFAULT, KYLIN_CATEGORY_GROUPINGS]], ctx=[], fields=[[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35]])
-        KapAggregateRel(group-set=[[0]], groups=[null], EXPR$1=[SUM($1)], ctx=[])
-          KapProjectRel(SELLER_ID=[$7], PRICE=[$8], ctx=[])
-            KapJoinRel(condition=[=($4, $71)], joinType=[inner], ctx=[])
-              KapJoinRel(condition=[=($1, $66)], joinType=[inner], ctx=[])
-                KapTableScan(table=[[DEFAULT, TEST_KYLIN_FACT]], ctx=[], fields=[[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65]])
-                KapTableScan(table=[[DEFAULT, TEST_ORDER]], ctx=[], fields=[[0, 1, 2, 3, 4]])
-              KapTableScan(table=[[DEFAULT, TEST_CATEGORY_GROUPINGS]], ctx=[], fields=[[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35]])
+OlapToEnumerableConverter
+  OlapLimitRel(ctx=[], fetch=[5])
+    OlapProjectRel(SELLER_ID=[$0], EXPR$1=[$1], ctx=[])
+      OlapUnionRel(all=[true], ctx=[], all=[true])
+        OlapAggregateRel(group-set=[[0]], groups=[null], EXPR$1=[SUM($1)], ctx=[])
+          OlapProjectRel(SELLER_ID=[$7], PRICE=[$8], ctx=[])
+            OlapJoinRel(condition=[=($4, $107)], joinType=[inner], ctx=[])
+              OlapJoinRel(condition=[=($4, $71)], joinType=[inner], ctx=[])
+                OlapJoinRel(condition=[=($1, $66)], joinType=[inner], ctx=[])
+                  OlapTableScan(table=[[DEFAULT, TEST_KYLIN_FACT]], ctx=[], fields=[[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65]])
+                  OlapTableScan(table=[[DEFAULT, TEST_ORDER]], ctx=[], fields=[[0, 1, 2, 3, 4]])
+                OlapTableScan(table=[[DEFAULT, TEST_CATEGORY_GROUPINGS]], ctx=[], fields=[[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35]])
+              OlapTableScan(table=[[DEFAULT, KYLIN_CATEGORY_GROUPINGS]], ctx=[], fields=[[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35]])
+        OlapAggregateRel(group-set=[[0]], groups=[null], EXPR$1=[SUM($1)], ctx=[])
+          OlapProjectRel(SELLER_ID=[$7], PRICE=[$8], ctx=[])
+            OlapJoinRel(condition=[=($4, $71)], joinType=[inner], ctx=[])
+              OlapJoinRel(condition=[=($1, $66)], joinType=[inner], ctx=[])
+                OlapTableScan(table=[[DEFAULT, TEST_KYLIN_FACT]], ctx=[], fields=[[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65]])
+                OlapTableScan(table=[[DEFAULT, TEST_ORDER]], ctx=[], fields=[[0, 1, 2, 3, 4]])
+              OlapTableScan(table=[[DEFAULT, TEST_CATEGORY_GROUPINGS]], ctx=[], fields=[[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35]])
 ]]>
         </Resource>
         <Resource name="query01.planAfter">
             <![CDATA[
-KapOLAPToEnumerableConverter
-  KapLimitRel(ctx=[], fetch=[5])
-    KapProjectRel(SELLER_ID=[$0], EXPR$1=[$1], ctx=[])
-      KapUnionRel(all=[true], ctx=[], all=[true])
-        KapAggregateRel(group-set=[[1]], groups=[null], EXPR$1=[SUM($5)], ctx=[])
-          KapProjectRel(LEAF_CATEG_ID=[$0], SELLER_ID=[$1], EXPR$1=[$2], LEAF_CATEG_ID0=[$3], $f1=[$4], $f5=[CAST(*($2, $4)):DECIMAL(19, 4)], ctx=[])
-            KapJoinRel(condition=[=($0, $3)], joinType=[inner], ctx=[])
-              KapAggregateRel(group-set=[[4, 7]], groups=[null], EXPR$1=[SUM($8)], ctx=[])
-                KapJoinRel(condition=[=($4, $71)], joinType=[inner], ctx=[])
-                  KapJoinRel(condition=[=($1, $66)], joinType=[inner], ctx=[])
-                    KapTableScan(table=[[DEFAULT, TEST_KYLIN_FACT]], ctx=[], fields=[[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65]])
-                    KapTableScan(table=[[DEFAULT, TEST_ORDER]], ctx=[], fields=[[0, 1, 2, 3, 4]])
-                  KapTableScan(table=[[DEFAULT, TEST_CATEGORY_GROUPINGS]], ctx=[], fields=[[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35]])
-              KapAggregateRel(group-set=[[0]], groups=[null], agg#0=[COUNT()], ctx=[])
-                KapTableScan(table=[[DEFAULT, KYLIN_CATEGORY_GROUPINGS]], ctx=[], fields=[[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35]])
-        KapAggregateRel(group-set=[[0]], groups=[null], EXPR$1=[SUM($1)], ctx=[])
-          KapProjectRel(SELLER_ID=[$7], PRICE=[$8], ctx=[])
-            KapJoinRel(condition=[=($4, $71)], joinType=[inner], ctx=[])
-              KapJoinRel(condition=[=($1, $66)], joinType=[inner], ctx=[])
-                KapTableScan(table=[[DEFAULT, TEST_KYLIN_FACT]], ctx=[], fields=[[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65]])
-                KapTableScan(table=[[DEFAULT, TEST_ORDER]], ctx=[], fields=[[0, 1, 2, 3, 4]])
-              KapTableScan(table=[[DEFAULT, TEST_CATEGORY_GROUPINGS]], ctx=[], fields=[[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35]])
+OlapToEnumerableConverter
+  OlapLimitRel(ctx=[], fetch=[5])
+    OlapProjectRel(SELLER_ID=[$0], EXPR$1=[$1], ctx=[])
+      OlapUnionRel(all=[true], ctx=[], all=[true])
+        OlapAggregateRel(group-set=[[1]], groups=[null], EXPR$1=[SUM($5)], ctx=[])
+          OlapProjectRel(LEAF_CATEG_ID=[$0], SELLER_ID=[$1], EXPR$1=[$2], LEAF_CATEG_ID0=[$3], $f1=[$4], $f5=[CAST(*($2, $4)):DECIMAL(19, 4)], ctx=[])
+            OlapJoinRel(condition=[=($0, $3)], joinType=[inner], ctx=[])
+              OlapAggregateRel(group-set=[[4, 7]], groups=[null], EXPR$1=[SUM($8)], ctx=[])
+                OlapJoinRel(condition=[=($4, $71)], joinType=[inner], ctx=[])
+                  OlapJoinRel(condition=[=($1, $66)], joinType=[inner], ctx=[])
+                    OlapTableScan(table=[[DEFAULT, TEST_KYLIN_FACT]], ctx=[], fields=[[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65]])
+                    OlapTableScan(table=[[DEFAULT, TEST_ORDER]], ctx=[], fields=[[0, 1, 2, 3, 4]])
+                  OlapTableScan(table=[[DEFAULT, TEST_CATEGORY_GROUPINGS]], ctx=[], fields=[[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35]])
+              OlapAggregateRel(group-set=[[0]], groups=[null], agg#0=[COUNT()], ctx=[])
+                OlapTableScan(table=[[DEFAULT, KYLIN_CATEGORY_GROUPINGS]], ctx=[], fields=[[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35]])
+        OlapAggregateRel(group-set=[[0]], groups=[null], EXPR$1=[SUM($1)], ctx=[])
+          OlapProjectRel(SELLER_ID=[$7], PRICE=[$8], ctx=[])
+            OlapJoinRel(condition=[=($4, $71)], joinType=[inner], ctx=[])
+              OlapJoinRel(condition=[=($1, $66)], joinType=[inner], ctx=[])
+                OlapTableScan(table=[[DEFAULT, TEST_KYLIN_FACT]], ctx=[], fields=[[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65]])
+                OlapTableScan(table=[[DEFAULT, TEST_ORDER]], ctx=[], fields=[[0, 1, 2, 3, 4]])
+              OlapTableScan(table=[[DEFAULT, TEST_CATEGORY_GROUPINGS]], ctx=[], fields=[[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35]])
 ]]>
         </Resource>
 
         <Resource name="query02.planBefore">
             <![CDATA[
-KapOLAPToEnumerableConverter
-  KapLimitRel(ctx=[], fetch=[9])
-    KapSortRel(sort0=[$0], sort1=[$1], dir0=[ASC-nulls-first], dir1=[DESC-nulls-last], ctx=[])
-      KapAggregateRel(group-set=[[0, 1]], groups=[null], EXPR$2=[SUM($2)], EXPR$3=[COUNT(DISTINCT $3)], ctx=[])
-        KapProjectRel(SELLER_ID=[$7], CATEG_LVL3_ID=[$122], PRICE=[$8], ORDER_ID=[$1], ctx=[])
-          KapJoinRel(condition=[=($4, $107)], joinType=[inner], ctx=[])
-            KapJoinRel(condition=[=($4, $71)], joinType=[inner], ctx=[])
-              KapJoinRel(condition=[=($1, $66)], joinType=[inner], ctx=[])
-                KapTableScan(table=[[DEFAULT, TEST_KYLIN_FACT]], ctx=[], fields=[[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65]])
-                KapTableScan(table=[[DEFAULT, TEST_ORDER]], ctx=[], fields=[[0, 1, 2, 3, 4]])
-              KapTableScan(table=[[DEFAULT, TEST_CATEGORY_GROUPINGS]], ctx=[], fields=[[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35]])
-            KapTableScan(table=[[DEFAULT, KYLIN_CATEGORY_GROUPINGS]], ctx=[], fields=[[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35]])
+OlapToEnumerableConverter
+  OlapLimitRel(ctx=[], fetch=[9])
+    OlapSortRel(sort0=[$0], sort1=[$1], dir0=[ASC-nulls-first], dir1=[DESC-nulls-last], ctx=[])
+      OlapAggregateRel(group-set=[[0, 1]], groups=[null], EXPR$2=[SUM($2)], EXPR$3=[COUNT(DISTINCT $3)], ctx=[])
+        OlapProjectRel(SELLER_ID=[$7], CATEG_LVL3_ID=[$122], PRICE=[$8], ORDER_ID=[$1], ctx=[])
+          OlapJoinRel(condition=[=($4, $107)], joinType=[inner], ctx=[])
+            OlapJoinRel(condition=[=($4, $71)], joinType=[inner], ctx=[])
+              OlapJoinRel(condition=[=($1, $66)], joinType=[inner], ctx=[])
+                OlapTableScan(table=[[DEFAULT, TEST_KYLIN_FACT]], ctx=[], fields=[[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65]])
+                OlapTableScan(table=[[DEFAULT, TEST_ORDER]], ctx=[], fields=[[0, 1, 2, 3, 4]])
+              OlapTableScan(table=[[DEFAULT, TEST_CATEGORY_GROUPINGS]], ctx=[], fields=[[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35]])
+            OlapTableScan(table=[[DEFAULT, KYLIN_CATEGORY_GROUPINGS]], ctx=[], fields=[[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35]])
 ]]>
         </Resource>
         <Resource name="query02.planAfter">
             <![CDATA[
-KapOLAPToEnumerableConverter
-  KapLimitRel(ctx=[], fetch=[9])
-    KapSortRel(sort0=[$0], sort1=[$1], dir0=[ASC-nulls-first], dir1=[DESC-nulls-last], ctx=[])
-      KapAggregateRel(group-set=[[1, 2]], groups=[null], EXPR$2=[SUM($3)], EXPR$3=[COUNT(DISTINCT $0)], ctx=[])
-        KapAggregateRel(group-set=[[0, 2, 5]], groups=[null], EXPR$2=[SUM($7)], ctx=[])
-          KapProjectRel(ORDER_ID=[$0], LEAF_CATEG_ID=[$1], SELLER_ID=[$2], EXPR$2=[$3], LEAF_CATEG_ID0=[$4], CATEG_LVL3_ID=[$5], $f2=[$6], $f7=[CAST(*($3, $6)):DECIMAL(19, 4)], ctx=[])
-            KapJoinRel(condition=[=($1, $4)], joinType=[inner], ctx=[])
-              KapAggregateRel(group-set=[[1, 4, 7]], groups=[null], EXPR$2=[SUM($8)], ctx=[])
-                KapJoinRel(condition=[=($4, $71)], joinType=[inner], ctx=[])
-                  KapJoinRel(condition=[=($1, $66)], joinType=[inner], ctx=[])
-                    KapTableScan(table=[[DEFAULT, TEST_KYLIN_FACT]], ctx=[], fields=[[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65]])
-                    KapTableScan(table=[[DEFAULT, TEST_ORDER]], ctx=[], fields=[[0, 1, 2, 3, 4]])
-                  KapTableScan(table=[[DEFAULT, TEST_CATEGORY_GROUPINGS]], ctx=[], fields=[[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35]])
-              KapAggregateRel(group-set=[[0, 15]], groups=[null], agg#0=[COUNT()], ctx=[])
-                KapTableScan(table=[[DEFAULT, KYLIN_CATEGORY_GROUPINGS]], ctx=[], fields=[[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35]])
+OlapToEnumerableConverter
+  OlapLimitRel(ctx=[], fetch=[9])
+    OlapSortRel(sort0=[$0], sort1=[$1], dir0=[ASC-nulls-first], dir1=[DESC-nulls-last], ctx=[])
+      OlapAggregateRel(group-set=[[1, 2]], groups=[null], EXPR$2=[SUM($3)], EXPR$3=[COUNT(DISTINCT $0)], ctx=[])
+        OlapAggregateRel(group-set=[[0, 2, 5]], groups=[null], EXPR$2=[SUM($7)], ctx=[])
+          OlapProjectRel(ORDER_ID=[$0], LEAF_CATEG_ID=[$1], SELLER_ID=[$2], EXPR$2=[$3], LEAF_CATEG_ID0=[$4], CATEG_LVL3_ID=[$5], $f2=[$6], $f7=[CAST(*($3, $6)):DECIMAL(19, 4)], ctx=[])
+            OlapJoinRel(condition=[=($1, $4)], joinType=[inner], ctx=[])
+              OlapAggregateRel(group-set=[[1, 4, 7]], groups=[null], EXPR$2=[SUM($8)], ctx=[])
+                OlapJoinRel(condition=[=($4, $71)], joinType=[inner], ctx=[])
+                  OlapJoinRel(condition=[=($1, $66)], joinType=[inner], ctx=[])
+                    OlapTableScan(table=[[DEFAULT, TEST_KYLIN_FACT]], ctx=[], fields=[[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65]])
+                    OlapTableScan(table=[[DEFAULT, TEST_ORDER]], ctx=[], fields=[[0, 1, 2, 3, 4]])
+                  OlapTableScan(table=[[DEFAULT, TEST_CATEGORY_GROUPINGS]], ctx=[], fields=[[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35]])
+              OlapAggregateRel(group-set=[[0, 15]], groups=[null], agg#0=[COUNT()], ctx=[])
+                OlapTableScan(table=[[DEFAULT, KYLIN_CATEGORY_GROUPINGS]], ctx=[], fields=[[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35]])
 ]]>
         </Resource>
 
         <Resource name="query03.planBefore">
             <![CDATA[
-KapOLAPToEnumerableConverter
-  KapProjectRel(SELLER_ID=[$0], CATEG_LVL3_ID=[$1], CATEG_LVL3_ID0=[$2], EXPR$3=[$3], EXPR$4=[$4], ctx=[])
-    KapLimitRel(ctx=[], fetch=[9])
-      KapSortRel(sort0=[$0], sort1=[$1], dir0=[ASC-nulls-first], dir1=[DESC-nulls-last], ctx=[])
-        KapAggregateRel(group-set=[[0, 1, 2]], groups=[null], EXPR$3=[SUM($3)], EXPR$4=[COUNT(DISTINCT $4)], ctx=[])
-          KapProjectRel(SELLER_ID=[$7], CATEG_LVL3_ID=[$122], $f2=[$158], PRICE=[$8], ORDER_ID=[$1], ctx=[])
-            KapJoinRel(condition=[=($4, $143)], joinType=[inner], ctx=[])
-              KapJoinRel(condition=[=($4, $107)], joinType=[inner], ctx=[])
-                KapJoinRel(condition=[=($4, $71)], joinType=[inner], ctx=[])
-                  KapJoinRel(condition=[=($1, $66)], joinType=[inner], ctx=[])
-                    KapTableScan(table=[[DEFAULT, TEST_KYLIN_FACT]], ctx=[], fields=[[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65]])
-                    KapTableScan(table=[[DEFAULT, TEST_ORDER]], ctx=[], fields=[[0, 1, 2, 3, 4]])
-                  KapTableScan(table=[[DEFAULT, TEST_CATEGORY_GROUPINGS]], ctx=[], fields=[[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35]])
-                KapTableScan(table=[[DEFAULT, KYLIN_CATEGORY_GROUPINGS]], ctx=[], fields=[[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35]])
-              KapTableScan(table=[[DEFAULT, KYLIN_CATEGORY_GROUPINGS]], ctx=[], fields=[[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35]])
+OlapToEnumerableConverter
+  OlapProjectRel(SELLER_ID=[$0], CATEG_LVL3_ID=[$1], CATEG_LVL3_ID0=[$2], EXPR$3=[$3], EXPR$4=[$4], ctx=[])
+    OlapLimitRel(ctx=[], fetch=[9])
+      OlapSortRel(sort0=[$0], sort1=[$1], dir0=[ASC-nulls-first], dir1=[DESC-nulls-last], ctx=[])
+        OlapAggregateRel(group-set=[[0, 1, 2]], groups=[null], EXPR$3=[SUM($3)], EXPR$4=[COUNT(DISTINCT $4)], ctx=[])
+          OlapProjectRel(SELLER_ID=[$7], CATEG_LVL3_ID=[$122], $f2=[$158], PRICE=[$8], ORDER_ID=[$1], ctx=[])
+            OlapJoinRel(condition=[=($4, $143)], joinType=[inner], ctx=[])
+              OlapJoinRel(condition=[=($4, $107)], joinType=[inner], ctx=[])
+                OlapJoinRel(condition=[=($4, $71)], joinType=[inner], ctx=[])
+                  OlapJoinRel(condition=[=($1, $66)], joinType=[inner], ctx=[])
+                    OlapTableScan(table=[[DEFAULT, TEST_KYLIN_FACT]], ctx=[], fields=[[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65]])
+                    OlapTableScan(table=[[DEFAULT, TEST_ORDER]], ctx=[], fields=[[0, 1, 2, 3, 4]])
+                  OlapTableScan(table=[[DEFAULT, TEST_CATEGORY_GROUPINGS]], ctx=[], fields=[[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35]])
+                OlapTableScan(table=[[DEFAULT, KYLIN_CATEGORY_GROUPINGS]], ctx=[], fields=[[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35]])
+              OlapTableScan(table=[[DEFAULT, KYLIN_CATEGORY_GROUPINGS]], ctx=[], fields=[[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35]])
 ]]>
         </Resource>
         <Resource name="query03.planAfter">
             <![CDATA[
-KapOLAPToEnumerableConverter
-  KapProjectRel(SELLER_ID=[$0], CATEG_LVL3_ID=[$1], CATEG_LVL3_ID0=[$2], EXPR$3=[$3], EXPR$4=[$4], ctx=[])
-    KapLimitRel(ctx=[], fetch=[9])
-      KapSortRel(sort0=[$0], sort1=[$1], dir0=[ASC-nulls-first], dir1=[DESC-nulls-last], ctx=[])
-        KapAggregateRel(group-set=[[1, 2, 3]], groups=[null], EXPR$3=[SUM($4)], EXPR$4=[COUNT(DISTINCT $0)], ctx=[])
-          KapAggregateRel(group-set=[[0, 2, 3, 6]], groups=[null], EXPR$3=[SUM($8)], ctx=[])
-            KapProjectRel(ORDER_ID=[$0], LEAF_CATEG_ID=[$1], SELLER_ID=[$2], CATEG_LVL3_ID0=[$3], EXPR$3=[$4], LEAF_CATEG_ID0=[$5], CATEG_LVL3_ID=[$6], $f2=[$7], $f8=[CAST(*($4, $7)):DECIMAL(19, 4)], ctx=[])
-              KapJoinRel(condition=[=($1, $5)], joinType=[inner], ctx=[])
-                KapAggregateRel(group-set=[[1, 4, 7, 122]], groups=[null], EXPR$3=[SUM($8)], ctx=[])
-                  KapJoinRel(condition=[=($4, $107)], joinType=[inner], ctx=[])
-                    KapJoinRel(condition=[=($4, $71)], joinType=[inner], ctx=[])
-                      KapJoinRel(condition=[=($1, $66)], joinType=[inner], ctx=[])
-                        KapTableScan(table=[[DEFAULT, TEST_KYLIN_FACT]], ctx=[], fields=[[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65]])
-                        KapTableScan(table=[[DEFAULT, TEST_ORDER]], ctx=[], fields=[[0, 1, 2, 3, 4]])
-                      KapTableScan(table=[[DEFAULT, TEST_CATEGORY_GROUPINGS]], ctx=[], fields=[[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35]])
-                    KapTableScan(table=[[DEFAULT, KYLIN_CATEGORY_GROUPINGS]], ctx=[], fields=[[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35]])
-                KapAggregateRel(group-set=[[0, 15]], groups=[null], agg#0=[COUNT()], ctx=[])
-                  KapTableScan(table=[[DEFAULT, KYLIN_CATEGORY_GROUPINGS]], ctx=[], fields=[[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35]])
+OlapToEnumerableConverter
+  OlapProjectRel(SELLER_ID=[$0], CATEG_LVL3_ID=[$1], CATEG_LVL3_ID0=[$2], EXPR$3=[$3], EXPR$4=[$4], ctx=[])
+    OlapLimitRel(ctx=[], fetch=[9])
+      OlapSortRel(sort0=[$0], sort1=[$1], dir0=[ASC-nulls-first], dir1=[DESC-nulls-last], ctx=[])
+        OlapAggregateRel(group-set=[[1, 2, 3]], groups=[null], EXPR$3=[SUM($4)], EXPR$4=[COUNT(DISTINCT $0)], ctx=[])
+          OlapAggregateRel(group-set=[[0, 2, 3, 6]], groups=[null], EXPR$3=[SUM($8)], ctx=[])
+            OlapProjectRel(ORDER_ID=[$0], LEAF_CATEG_ID=[$1], SELLER_ID=[$2], CATEG_LVL3_ID0=[$3], EXPR$3=[$4], LEAF_CATEG_ID0=[$5], CATEG_LVL3_ID=[$6], $f2=[$7], $f8=[CAST(*($4, $7)):DECIMAL(19, 4)], ctx=[])
+              OlapJoinRel(condition=[=($1, $5)], joinType=[inner], ctx=[])
+                OlapAggregateRel(group-set=[[1, 4, 7, 122]], groups=[null], EXPR$3=[SUM($8)], ctx=[])
+                  OlapJoinRel(condition=[=($4, $107)], joinType=[inner], ctx=[])
+                    OlapJoinRel(condition=[=($4, $71)], joinType=[inner], ctx=[])
+                      OlapJoinRel(condition=[=($1, $66)], joinType=[inner], ctx=[])
+                        OlapTableScan(table=[[DEFAULT, TEST_KYLIN_FACT]], ctx=[], fields=[[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65]])
+                        OlapTableScan(table=[[DEFAULT, TEST_ORDER]], ctx=[], fields=[[0, 1, 2, 3, 4]])
+                      OlapTableScan(table=[[DEFAULT, TEST_CATEGORY_GROUPINGS]], ctx=[], fields=[[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35]])
+                    OlapTableScan(table=[[DEFAULT, KYLIN_CATEGORY_GROUPINGS]], ctx=[], fields=[[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35]])
+                OlapAggregateRel(group-set=[[0, 15]], groups=[null], agg#0=[COUNT()], ctx=[])
+                  OlapTableScan(table=[[DEFAULT, KYLIN_CATEGORY_GROUPINGS]], ctx=[], fields=[[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35]])
 ]]>
         </Resource>
 
         <Resource name="query04.planBefore">
             <![CDATA[
-KapOLAPToEnumerableConverter
-  KapLimitRel(ctx=[], fetch=[9])
-    KapSortRel(sort0=[$0], sort1=[$1], dir0=[ASC-nulls-first], dir1=[DESC-nulls-last], ctx=[])
-      KapAggregateRel(group-set=[[0, 1]], groups=[null], EXPR$2=[COUNT(DISTINCT $2)], ctx=[])
-        KapProjectRel(SELLER_ID=[$7], CATEG_LVL3_ID=[$122], ORDER_ID=[$1], ctx=[])
-          KapJoinRel(condition=[=($4, $107)], joinType=[inner], ctx=[])
-            KapJoinRel(condition=[=($4, $71)], joinType=[inner], ctx=[])
-              KapJoinRel(condition=[=($1, $66)], joinType=[inner], ctx=[])
-                KapTableScan(table=[[DEFAULT, TEST_KYLIN_FACT]], ctx=[], fields=[[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65]])
-                KapTableScan(table=[[DEFAULT, TEST_ORDER]], ctx=[], fields=[[0, 1, 2, 3, 4]])
-              KapTableScan(table=[[DEFAULT, TEST_CATEGORY_GROUPINGS]], ctx=[], fields=[[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35]])
-            KapTableScan(table=[[DEFAULT, KYLIN_CATEGORY_GROUPINGS]], ctx=[], fields=[[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35]])
+OlapToEnumerableConverter
+  OlapLimitRel(ctx=[], fetch=[9])
+    OlapSortRel(sort0=[$0], sort1=[$1], dir0=[ASC-nulls-first], dir1=[DESC-nulls-last], ctx=[])
+      OlapAggregateRel(group-set=[[0, 1]], groups=[null], EXPR$2=[COUNT(DISTINCT $2)], ctx=[])
+        OlapProjectRel(SELLER_ID=[$7], CATEG_LVL3_ID=[$122], ORDER_ID=[$1], ctx=[])
+          OlapJoinRel(condition=[=($4, $107)], joinType=[inner], ctx=[])
+            OlapJoinRel(condition=[=($4, $71)], joinType=[inner], ctx=[])
+              OlapJoinRel(condition=[=($1, $66)], joinType=[inner], ctx=[])
+                OlapTableScan(table=[[DEFAULT, TEST_KYLIN_FACT]], ctx=[], fields=[[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65]])
+                OlapTableScan(table=[[DEFAULT, TEST_ORDER]], ctx=[], fields=[[0, 1, 2, 3, 4]])
+              OlapTableScan(table=[[DEFAULT, TEST_CATEGORY_GROUPINGS]], ctx=[], fields=[[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35]])
+            OlapTableScan(table=[[DEFAULT, KYLIN_CATEGORY_GROUPINGS]], ctx=[], fields=[[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35]])
 ]]>
         </Resource>
         <Resource name="query04.planAfter">
             <![CDATA[
-KapOLAPToEnumerableConverter
-  KapLimitRel(ctx=[], fetch=[9])
-    KapSortRel(sort0=[$0], sort1=[$1], dir0=[ASC-nulls-first], dir1=[DESC-nulls-last], ctx=[])
-      KapAggregateRel(group-set=[[1, 2]], groups=[null], EXPR$2=[COUNT(DISTINCT $0)], ctx=[])
-        KapAggregateRel(group-set=[[0, 2, 4]], groups=[null], ctx=[])
-          KapJoinRel(condition=[=($1, $3)], joinType=[inner], ctx=[])
-            KapAggregateRel(group-set=[[1, 4, 7]], groups=[null], ctx=[])
-              KapJoinRel(condition=[=($4, $71)], joinType=[inner], ctx=[])
-                KapJoinRel(condition=[=($1, $66)], joinType=[inner], ctx=[])
-                  KapTableScan(table=[[DEFAULT, TEST_KYLIN_FACT]], ctx=[], fields=[[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65]])
-                  KapTableScan(table=[[DEFAULT, TEST_ORDER]], ctx=[], fields=[[0, 1, 2, 3, 4]])
-                KapTableScan(table=[[DEFAULT, TEST_CATEGORY_GROUPINGS]], ctx=[], fields=[[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35]])
-            KapAggregateRel(group-set=[[0, 15]], groups=[null], ctx=[])
-              KapTableScan(table=[[DEFAULT, KYLIN_CATEGORY_GROUPINGS]], ctx=[], fields=[[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35]])
+OlapToEnumerableConverter
+  OlapLimitRel(ctx=[], fetch=[9])
+    OlapSortRel(sort0=[$0], sort1=[$1], dir0=[ASC-nulls-first], dir1=[DESC-nulls-last], ctx=[])
+      OlapAggregateRel(group-set=[[1, 2]], groups=[null], EXPR$2=[COUNT(DISTINCT $0)], ctx=[])
+        OlapAggregateRel(group-set=[[0, 2, 4]], groups=[null], ctx=[])
+          OlapJoinRel(condition=[=($1, $3)], joinType=[inner], ctx=[])
+            OlapAggregateRel(group-set=[[1, 4, 7]], groups=[null], ctx=[])
+              OlapJoinRel(condition=[=($4, $71)], joinType=[inner], ctx=[])
+                OlapJoinRel(condition=[=($1, $66)], joinType=[inner], ctx=[])
+                  OlapTableScan(table=[[DEFAULT, TEST_KYLIN_FACT]], ctx=[], fields=[[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65]])
+                  OlapTableScan(table=[[DEFAULT, TEST_ORDER]], ctx=[], fields=[[0, 1, 2, 3, 4]])
+                OlapTableScan(table=[[DEFAULT, TEST_CATEGORY_GROUPINGS]], ctx=[], fields=[[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35]])
+            OlapAggregateRel(group-set=[[0, 15]], groups=[null], ctx=[])
+              OlapTableScan(table=[[DEFAULT, KYLIN_CATEGORY_GROUPINGS]], ctx=[], fields=[[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35]])
 ]]>
         </Resource>
 
         <Resource name="query05.planBefore">
             <![CDATA[
-KapOLAPToEnumerableConverter
-  KapLimitRel(ctx=[], fetch=[9])
-    KapSortRel(sort0=[$0], sort1=[$1], dir0=[ASC-nulls-first], dir1=[DESC-nulls-last], ctx=[])
-      KapAggregateRel(group-set=[[0, 1]], groups=[null], EXPR$2=[SUM($2)], EXPR$3=[COUNT(DISTINCT $3)], ctx=[])
-        KapProjectRel(SELLER_ID=[$7], CATEG_LVL3_ID=[$122], $f2=[CASE(>($0, 10), $8, 1)], ORDER_ID=[$1], ctx=[])
-          KapJoinRel(condition=[=($4, $107)], joinType=[inner], ctx=[])
-            KapJoinRel(condition=[=($4, $71)], joinType=[inner], ctx=[])
-              KapJoinRel(condition=[=($1, $66)], joinType=[inner], ctx=[])
-                KapTableScan(table=[[DEFAULT, TEST_KYLIN_FACT]], ctx=[], fields=[[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65]])
-                KapTableScan(table=[[DEFAULT, TEST_ORDER]], ctx=[], fields=[[0, 1, 2, 3, 4]])
-              KapTableScan(table=[[DEFAULT, TEST_CATEGORY_GROUPINGS]], ctx=[], fields=[[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35]])
-            KapTableScan(table=[[DEFAULT, KYLIN_CATEGORY_GROUPINGS]], ctx=[], fields=[[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35]])
+OlapToEnumerableConverter
+  OlapLimitRel(ctx=[], fetch=[9])
+    OlapSortRel(sort0=[$0], sort1=[$1], dir0=[ASC-nulls-first], dir1=[DESC-nulls-last], ctx=[])
+      OlapAggregateRel(group-set=[[0, 1]], groups=[null], EXPR$2=[SUM($2)], EXPR$3=[COUNT(DISTINCT $3)], ctx=[])
+        OlapProjectRel(SELLER_ID=[$7], CATEG_LVL3_ID=[$122], $f2=[CASE(>($0, 10), $8, 1)], ORDER_ID=[$1], ctx=[])
+          OlapJoinRel(condition=[=($4, $107)], joinType=[inner], ctx=[])
+            OlapJoinRel(condition=[=($4, $71)], joinType=[inner], ctx=[])
+              OlapJoinRel(condition=[=($1, $66)], joinType=[inner], ctx=[])
+                OlapTableScan(table=[[DEFAULT, TEST_KYLIN_FACT]], ctx=[], fields=[[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65]])
+                OlapTableScan(table=[[DEFAULT, TEST_ORDER]], ctx=[], fields=[[0, 1, 2, 3, 4]])
+              OlapTableScan(table=[[DEFAULT, TEST_CATEGORY_GROUPINGS]], ctx=[], fields=[[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35]])
+            OlapTableScan(table=[[DEFAULT, KYLIN_CATEGORY_GROUPINGS]], ctx=[], fields=[[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35]])
 ]]>
         </Resource>
         <Resource name="query05.planAfter">
             <![CDATA[
-KapOLAPToEnumerableConverter
-  KapLimitRel(ctx=[], fetch=[9])
-    KapSortRel(sort0=[$0], sort1=[$1], dir0=[ASC-nulls-first], dir1=[DESC-nulls-last], ctx=[])
-      KapProjectRel(SELLER_ID=[$0], CATEG_LVL3_ID0=[$1], AGG$0=[$5], EXPR$3=[$2], ctx=[])
-        KapJoinRel(condition=[AND(=($0, $3), =($1, $4))], joinType=[inner], ctx=[])
-          KapAggregateRel(group-set=[[1, 2]], groups=[null], EXPR$3=[COUNT(DISTINCT $0)], ctx=[])
-            KapAggregateRel(group-set=[[0, 2, 4]], groups=[null], ctx=[])
-              KapJoinRel(condition=[=($1, $3)], joinType=[inner], ctx=[])
-                KapAggregateRel(group-set=[[1, 4, 7]], groups=[null], ctx=[])
-                  KapJoinRel(condition=[=($4, $71)], joinType=[inner], ctx=[])
-                    KapJoinRel(condition=[=($1, $66)], joinType=[inner], ctx=[])
-                      KapTableScan(table=[[DEFAULT, TEST_KYLIN_FACT]], ctx=[], fields=[[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65]])
-                      KapTableScan(table=[[DEFAULT, TEST_ORDER]], ctx=[], fields=[[0, 1, 2, 3, 4]])
-                    KapTableScan(table=[[DEFAULT, TEST_CATEGORY_GROUPINGS]], ctx=[], fields=[[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35]])
-                KapAggregateRel(group-set=[[0, 15]], groups=[null], ctx=[])
-                  KapTableScan(table=[[DEFAULT, KYLIN_CATEGORY_GROUPINGS]], ctx=[], fields=[[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35]])
-          KapAggregateRel(group-set=[[0, 1]], groups=[null], AGG$0=[SUM($2)], ctx=[])
-            KapProjectRel(SELLER_ID=[$0], CATEG_LVL3_ID0=[$1], $f2=[CASE(>($2, 10), $3, $4)], ctx=[])
-              KapAggregateRel(group-set=[[0, 1, 2]], groups=[null], TOP_AGG$0=[SUM($3)], TOP_AGG$1=[SUM($4)], ctx=[])
-                KapProjectRel(SELLER_ID=[$0], CATEG_LVL3_ID0=[$1], TRANS_ID=[$2], SUM_CASE$0$0=[$3], $f4=[CAST(*(1, $4)):DECIMAL(19, 4) NOT NULL], ctx=[])
-                  KapProjectRel(SELLER_ID=[$1], CATEG_LVL3_ID0=[$2], TRANS_ID=[$0], SUM_CASE$0$0=[$3], SUM_CONST$1=[$4], ctx=[])
-                    KapAggregateRel(group-set=[[0, 2, 6]], groups=[null], SUM_CASE$0$0=[SUM($8)], SUM_CONST$1=[$SUM0($9)], ctx=[])
-                      KapProjectRel(TRANS_ID=[$0], LEAF_CATEG_ID=[$1], SELLER_ID=[$2], SUM_CASE$0$0=[$3], SUM_CONST$1=[$4], LEAF_CATEG_ID0=[$5], CATEG_LVL3_ID=[$6], $f2=[$7], $f8=[CAST(*($3, $7)):DECIMAL(19, 4)], $f9=[*($4, $7)], ctx=[])
-                        KapJoinRel(condition=[=($1, $5)], joinType=[inner], ctx=[])
-                          KapAggregateRel(group-set=[[0, 4, 7]], groups=[null], SUM_CASE$0$0=[SUM($8)], SUM_CONST$1=[COUNT()], ctx=[])
-                            KapJoinRel(condition=[=($4, $71)], joinType=[inner], ctx=[])
-                              KapJoinRel(condition=[=($1, $66)], joinType=[inner], ctx=[])
-                                KapTableScan(table=[[DEFAULT, TEST_KYLIN_FACT]], ctx=[], fields=[[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65]])
-                                KapTableScan(table=[[DEFAULT, TEST_ORDER]], ctx=[], fields=[[0, 1, 2, 3, 4]])
-                              KapTableScan(table=[[DEFAULT, TEST_CATEGORY_GROUPINGS]], ctx=[], fields=[[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35]])
-                          KapAggregateRel(group-set=[[0, 15]], groups=[null], agg#0=[COUNT()], ctx=[])
-                            KapTableScan(table=[[DEFAULT, KYLIN_CATEGORY_GROUPINGS]], ctx=[], fields=[[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35]])
+OlapToEnumerableConverter
+  OlapLimitRel(ctx=[], fetch=[9])
+    OlapSortRel(sort0=[$0], sort1=[$1], dir0=[ASC-nulls-first], dir1=[DESC-nulls-last], ctx=[])
+      OlapProjectRel(SELLER_ID=[$0], CATEG_LVL3_ID0=[$1], AGG$0=[$5], EXPR$3=[$2], ctx=[])
+        OlapJoinRel(condition=[AND(=($0, $3), =($1, $4))], joinType=[inner], ctx=[])
+          OlapAggregateRel(group-set=[[1, 2]], groups=[null], EXPR$3=[COUNT(DISTINCT $0)], ctx=[])
+            OlapAggregateRel(group-set=[[0, 2, 4]], groups=[null], ctx=[])
+              OlapJoinRel(condition=[=($1, $3)], joinType=[inner], ctx=[])
+                OlapAggregateRel(group-set=[[1, 4, 7]], groups=[null], ctx=[])
+                  OlapJoinRel(condition=[=($4, $71)], joinType=[inner], ctx=[])
+                    OlapJoinRel(condition=[=($1, $66)], joinType=[inner], ctx=[])
+                      OlapTableScan(table=[[DEFAULT, TEST_KYLIN_FACT]], ctx=[], fields=[[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65]])
+                      OlapTableScan(table=[[DEFAULT, TEST_ORDER]], ctx=[], fields=[[0, 1, 2, 3, 4]])
+                    OlapTableScan(table=[[DEFAULT, TEST_CATEGORY_GROUPINGS]], ctx=[], fields=[[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35]])
+                OlapAggregateRel(group-set=[[0, 15]], groups=[null], ctx=[])
+                  OlapTableScan(table=[[DEFAULT, KYLIN_CATEGORY_GROUPINGS]], ctx=[], fields=[[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35]])
+          OlapAggregateRel(group-set=[[0, 1]], groups=[null], AGG$0=[SUM($2)], ctx=[])
+            OlapProjectRel(SELLER_ID=[$0], CATEG_LVL3_ID0=[$1], $f2=[CASE(>($2, 10), $3, $4)], ctx=[])
+              OlapAggregateRel(group-set=[[0, 1, 2]], groups=[null], TOP_AGG$0=[SUM($3)], TOP_AGG$1=[SUM($4)], ctx=[])
+                OlapProjectRel(SELLER_ID=[$0], CATEG_LVL3_ID0=[$1], TRANS_ID=[$2], SUM_CASE$0$0=[$3], $f4=[CAST(*(1, $4)):DECIMAL(19, 4) NOT NULL], ctx=[])
+                  OlapProjectRel(SELLER_ID=[$1], CATEG_LVL3_ID0=[$2], TRANS_ID=[$0], SUM_CASE$0$0=[$3], SUM_CONST$1=[$4], ctx=[])
+                    OlapAggregateRel(group-set=[[0, 2, 6]], groups=[null], SUM_CASE$0$0=[SUM($8)], SUM_CONST$1=[$SUM0($9)], ctx=[])
+                      OlapProjectRel(TRANS_ID=[$0], LEAF_CATEG_ID=[$1], SELLER_ID=[$2], SUM_CASE$0$0=[$3], SUM_CONST$1=[$4], LEAF_CATEG_ID0=[$5], CATEG_LVL3_ID=[$6], $f2=[$7], $f8=[CAST(*($3, $7)):DECIMAL(19, 4)], $f9=[*($4, $7)], ctx=[])
+                        OlapJoinRel(condition=[=($1, $5)], joinType=[inner], ctx=[])
+                          OlapAggregateRel(group-set=[[0, 4, 7]], groups=[null], SUM_CASE$0$0=[SUM($8)], SUM_CONST$1=[COUNT()], ctx=[])
+                            OlapJoinRel(condition=[=($4, $71)], joinType=[inner], ctx=[])
+                              OlapJoinRel(condition=[=($1, $66)], joinType=[inner], ctx=[])
+                                OlapTableScan(table=[[DEFAULT, TEST_KYLIN_FACT]], ctx=[], fields=[[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65]])
+                                OlapTableScan(table=[[DEFAULT, TEST_ORDER]], ctx=[], fields=[[0, 1, 2, 3, 4]])
+                              OlapTableScan(table=[[DEFAULT, TEST_CATEGORY_GROUPINGS]], ctx=[], fields=[[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35]])
+                          OlapAggregateRel(group-set=[[0, 15]], groups=[null], agg#0=[COUNT()], ctx=[])
+                            OlapTableScan(table=[[DEFAULT, KYLIN_CATEGORY_GROUPINGS]], ctx=[], fields=[[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35]])
 ]]>
         </Resource>
 
         <Resource name="query06.planBefore">
             <![CDATA[
-KapOLAPToEnumerableConverter
-  KapLimitRel(ctx=[], fetch=[9])
-    KapSortRel(sort0=[$0], sort1=[$1], dir0=[ASC-nulls-first], dir1=[DESC-nulls-last], ctx=[])
-      KapAggregateRel(group-set=[[0, 1]], groups=[null], EXPR$2=[SUM($2)], EXPR$3=[SUM($3)], EXPR$4=[COUNT(DISTINCT $4)], ctx=[])
-        KapProjectRel(SELLER_ID=[$7], CATEG_LVL3_ID=[$122], PRICE=[$8], $f3=[CASE(>($0, 10), $8, 1)], ORDER_ID=[$1], ctx=[])
-          KapJoinRel(condition=[=($4, $107)], joinType=[inner], ctx=[])
-            KapJoinRel(condition=[=($4, $71)], joinType=[inner], ctx=[])
-              KapJoinRel(condition=[=($1, $66)], joinType=[inner], ctx=[])
-                KapTableScan(table=[[DEFAULT, TEST_KYLIN_FACT]], ctx=[], fields=[[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65]])
-                KapTableScan(table=[[DEFAULT, TEST_ORDER]], ctx=[], fields=[[0, 1, 2, 3, 4]])
-              KapTableScan(table=[[DEFAULT, TEST_CATEGORY_GROUPINGS]], ctx=[], fields=[[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35]])
-            KapTableScan(table=[[DEFAULT, KYLIN_CATEGORY_GROUPINGS]], ctx=[], fields=[[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35]])
+OlapToEnumerableConverter
+  OlapLimitRel(ctx=[], fetch=[9])
+    OlapSortRel(sort0=[$0], sort1=[$1], dir0=[ASC-nulls-first], dir1=[DESC-nulls-last], ctx=[])
+      OlapAggregateRel(group-set=[[0, 1]], groups=[null], EXPR$2=[SUM($2)], EXPR$3=[SUM($3)], EXPR$4=[COUNT(DISTINCT $4)], ctx=[])
+        OlapProjectRel(SELLER_ID=[$7], CATEG_LVL3_ID=[$122], PRICE=[$8], $f3=[CASE(>($0, 10), $8, 1)], ORDER_ID=[$1], ctx=[])
+          OlapJoinRel(condition=[=($4, $107)], joinType=[inner], ctx=[])
+            OlapJoinRel(condition=[=($4, $71)], joinType=[inner], ctx=[])
+              OlapJoinRel(condition=[=($1, $66)], joinType=[inner], ctx=[])
+                OlapTableScan(table=[[DEFAULT, TEST_KYLIN_FACT]], ctx=[], fields=[[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65]])
+                OlapTableScan(table=[[DEFAULT, TEST_ORDER]], ctx=[], fields=[[0, 1, 2, 3, 4]])
+              OlapTableScan(table=[[DEFAULT, TEST_CATEGORY_GROUPINGS]], ctx=[], fields=[[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35]])
+            OlapTableScan(table=[[DEFAULT, KYLIN_CATEGORY_GROUPINGS]], ctx=[], fields=[[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35]])
 ]]>
         </Resource>
         <Resource name="query06.planAfter">
             <![CDATA[
-KapOLAPToEnumerableConverter
-  KapLimitRel(ctx=[], fetch=[9])
-    KapSortRel(sort0=[$0], sort1=[$1], dir0=[ASC-nulls-first], dir1=[DESC-nulls-last], ctx=[])
-      KapProjectRel(SELLER_ID=[$0], CATEG_LVL3_ID0=[$1], AGG$0=[$5], AGG$1=[$6], EXPR$4=[$2], ctx=[])
-        KapJoinRel(condition=[AND(=($0, $3), =($1, $4))], joinType=[inner], ctx=[])
-          KapAggregateRel(group-set=[[1, 2]], groups=[null], EXPR$4=[COUNT(DISTINCT $0)], ctx=[])
-            KapAggregateRel(group-set=[[0, 2, 4]], groups=[null], ctx=[])
-              KapJoinRel(condition=[=($1, $3)], joinType=[inner], ctx=[])
-                KapAggregateRel(group-set=[[1, 4, 7]], groups=[null], ctx=[])
-                  KapJoinRel(condition=[=($4, $71)], joinType=[inner], ctx=[])
-                    KapJoinRel(condition=[=($1, $66)], joinType=[inner], ctx=[])
-                      KapTableScan(table=[[DEFAULT, TEST_KYLIN_FACT]], ctx=[], fields=[[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65]])
-                      KapTableScan(table=[[DEFAULT, TEST_ORDER]], ctx=[], fields=[[0, 1, 2, 3, 4]])
-                    KapTableScan(table=[[DEFAULT, TEST_CATEGORY_GROUPINGS]], ctx=[], fields=[[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35]])
-                KapAggregateRel(group-set=[[0, 15]], groups=[null], ctx=[])
-                  KapTableScan(table=[[DEFAULT, KYLIN_CATEGORY_GROUPINGS]], ctx=[], fields=[[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35]])
-          KapAggregateRel(group-set=[[0, 1]], groups=[null], AGG$0=[SUM($2)], AGG$1=[SUM($3)], ctx=[])
-            KapProjectRel(SELLER_ID=[$0], CATEG_LVL3_ID0=[$1], EXPR$2=[$3], $f3=[CASE(>($2, 10), $4, $5)], ctx=[])
-              KapAggregateRel(group-set=[[0, 1, 2]], groups=[null], TOP_AGG$0=[SUM($3)], TOP_AGG$1=[SUM($4)], TOP_AGG$2=[SUM($5)], ctx=[])
-                KapProjectRel(SELLER_ID=[$0], CATEG_LVL3_ID0=[$1], TRANS_ID=[$2], EXPR$2=[$3], SUM_CASE$0$0=[$4], $f5=[CAST(*(1, $5)):DECIMAL(19, 4) NOT NULL], ctx=[])
-                  KapProjectRel(SELLER_ID=[$1], CATEG_LVL3_ID0=[$2], TRANS_ID=[$0], EXPR$2=[$3], SUM_CASE$0$0=[$4], SUM_CONST$2=[$5], ctx=[])
-                    KapAggregateRel(group-set=[[0, 2, 6]], groups=[null], EXPR$2=[SUM($8)], SUM_CASE$0$0=[SUM($9)], SUM_CONST$2=[$SUM0($10)], ctx=[])
-                      KapProjectRel(TRANS_ID=[$0], LEAF_CATEG_ID=[$1], SELLER_ID=[$2], EXPR$2=[$3], SUM_CONST$2=[$4], LEAF_CATEG_ID0=[$5], CATEG_LVL3_ID=[$6], $f2=[$7], $f8=[CAST(*($3, $7)):DECIMAL(19, 4)], $f9=[CAST(*($3, $7)):DECIMAL(19, 4)], $f10=[*($4, $7)], ctx=[])
-                        KapJoinRel(condition=[=($1, $5)], joinType=[inner], ctx=[])
-                          KapAggregateRel(group-set=[[0, 4, 7]], groups=[null], EXPR$2=[SUM($8)], SUM_CONST$2=[COUNT()], ctx=[])
-                            KapJoinRel(condition=[=($4, $71)], joinType=[inner], ctx=[])
-                              KapJoinRel(condition=[=($1, $66)], joinType=[inner], ctx=[])
-                                KapTableScan(table=[[DEFAULT, TEST_KYLIN_FACT]], ctx=[], fields=[[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65]])
-                                KapTableScan(table=[[DEFAULT, TEST_ORDER]], ctx=[], fields=[[0, 1, 2, 3, 4]])
-                              KapTableScan(table=[[DEFAULT, TEST_CATEGORY_GROUPINGS]], ctx=[], fields=[[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35]])
-                          KapAggregateRel(group-set=[[0, 15]], groups=[null], agg#0=[COUNT()], ctx=[])
-                            KapTableScan(table=[[DEFAULT, KYLIN_CATEGORY_GROUPINGS]], ctx=[], fields=[[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35]])
+OlapToEnumerableConverter
+  OlapLimitRel(ctx=[], fetch=[9])
+    OlapSortRel(sort0=[$0], sort1=[$1], dir0=[ASC-nulls-first], dir1=[DESC-nulls-last], ctx=[])
+      OlapProjectRel(SELLER_ID=[$0], CATEG_LVL3_ID0=[$1], AGG$0=[$5], AGG$1=[$6], EXPR$4=[$2], ctx=[])
+        OlapJoinRel(condition=[AND(=($0, $3), =($1, $4))], joinType=[inner], ctx=[])
+          OlapAggregateRel(group-set=[[1, 2]], groups=[null], EXPR$4=[COUNT(DISTINCT $0)], ctx=[])
+            OlapAggregateRel(group-set=[[0, 2, 4]], groups=[null], ctx=[])
+              OlapJoinRel(condition=[=($1, $3)], joinType=[inner], ctx=[])
+                OlapAggregateRel(group-set=[[1, 4, 7]], groups=[null], ctx=[])
+                  OlapJoinRel(condition=[=($4, $71)], joinType=[inner], ctx=[])
+                    OlapJoinRel(condition=[=($1, $66)], joinType=[inner], ctx=[])
+                      OlapTableScan(table=[[DEFAULT, TEST_KYLIN_FACT]], ctx=[], fields=[[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65]])
+                      OlapTableScan(table=[[DEFAULT, TEST_ORDER]], ctx=[], fields=[[0, 1, 2, 3, 4]])
+                    OlapTableScan(table=[[DEFAULT, TEST_CATEGORY_GROUPINGS]], ctx=[], fields=[[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35]])
+                OlapAggregateRel(group-set=[[0, 15]], groups=[null], ctx=[])
+                  OlapTableScan(table=[[DEFAULT, KYLIN_CATEGORY_GROUPINGS]], ctx=[], fields=[[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35]])
+          OlapAggregateRel(group-set=[[0, 1]], groups=[null], AGG$0=[SUM($2)], AGG$1=[SUM($3)], ctx=[])
+            OlapProjectRel(SELLER_ID=[$0], CATEG_LVL3_ID0=[$1], EXPR$2=[$3], $f3=[CASE(>($2, 10), $4, $5)], ctx=[])
+              OlapAggregateRel(group-set=[[0, 1, 2]], groups=[null], TOP_AGG$0=[SUM($3)], TOP_AGG$1=[SUM($4)], TOP_AGG$2=[SUM($5)], ctx=[])
+                OlapProjectRel(SELLER_ID=[$0], CATEG_LVL3_ID0=[$1], TRANS_ID=[$2], EXPR$2=[$3], SUM_CASE$0$0=[$4], $f5=[CAST(*(1, $5)):DECIMAL(19, 4) NOT NULL], ctx=[])
+                  OlapProjectRel(SELLER_ID=[$1], CATEG_LVL3_ID0=[$2], TRANS_ID=[$0], EXPR$2=[$3], SUM_CASE$0$0=[$4], SUM_CONST$2=[$5], ctx=[])
+                    OlapAggregateRel(group-set=[[0, 2, 6]], groups=[null], EXPR$2=[SUM($8)], SUM_CASE$0$0=[SUM($9)], SUM_CONST$2=[$SUM0($10)], ctx=[])
+                      OlapProjectRel(TRANS_ID=[$0], LEAF_CATEG_ID=[$1], SELLER_ID=[$2], EXPR$2=[$3], SUM_CONST$2=[$4], LEAF_CATEG_ID0=[$5], CATEG_LVL3_ID=[$6], $f2=[$7], $f8=[CAST(*($3, $7)):DECIMAL(19, 4)], $f9=[CAST(*($3, $7)):DECIMAL(19, 4)], $f10=[*($4, $7)], ctx=[])
+                        OlapJoinRel(condition=[=($1, $5)], joinType=[inner], ctx=[])
+                          OlapAggregateRel(group-set=[[0, 4, 7]], groups=[null], EXPR$2=[SUM($8)], SUM_CONST$2=[COUNT()], ctx=[])
+                            OlapJoinRel(condition=[=($4, $71)], joinType=[inner], ctx=[])
+                              OlapJoinRel(condition=[=($1, $66)], joinType=[inner], ctx=[])
+                                OlapTableScan(table=[[DEFAULT, TEST_KYLIN_FACT]], ctx=[], fields=[[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65]])
+                                OlapTableScan(table=[[DEFAULT, TEST_ORDER]], ctx=[], fields=[[0, 1, 2, 3, 4]])
+                              OlapTableScan(table=[[DEFAULT, TEST_CATEGORY_GROUPINGS]], ctx=[], fields=[[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35]])
+                          OlapAggregateRel(group-set=[[0, 15]], groups=[null], agg#0=[COUNT()], ctx=[])
+                            OlapTableScan(table=[[DEFAULT, KYLIN_CATEGORY_GROUPINGS]], ctx=[], fields=[[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35]])
 ]]>
         </Resource>
 
         <Resource name="query07.planBefore">
             <![CDATA[
-KapOLAPToEnumerableConverter
-  KapProjectRel(SELLER_ID=[$0], CATEG_LVL3_ID=[$1], CATEG_LVL3_ID0=[$2], EXPR$3=[$3], EXPR$4=[$4], EXPR$5=[$5], ctx=[])
-    KapLimitRel(ctx=[], fetch=[9])
-      KapSortRel(sort0=[$0], sort1=[$1], dir0=[ASC-nulls-first], dir1=[DESC-nulls-last], ctx=[])
-        KapAggregateRel(group-set=[[0, 1, 2]], groups=[null], EXPR$3=[SUM($3)], EXPR$4=[COUNT(DISTINCT $4)], EXPR$5=[COUNT(DISTINCT $5)], ctx=[])
-          KapProjectRel(SELLER_ID=[$7], CATEG_LVL3_ID=[$122], $f2=[$158], PRICE=[$8], ORDER_ID=[$1], $f5=[CASE(>($0, 10), $8, 1)], ctx=[])
-            KapJoinRel(condition=[=($4, $143)], joinType=[inner], ctx=[])
-              KapJoinRel(condition=[=($4, $107)], joinType=[inner], ctx=[])
-                KapJoinRel(condition=[=($4, $71)], joinType=[inner], ctx=[])
-                  KapJoinRel(condition=[=($1, $66)], joinType=[inner], ctx=[])
-                    KapTableScan(table=[[DEFAULT, TEST_KYLIN_FACT]], ctx=[], fields=[[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65]])
-                    KapTableScan(table=[[DEFAULT, TEST_ORDER]], ctx=[], fields=[[0, 1, 2, 3, 4]])
-                  KapTableScan(table=[[DEFAULT, TEST_CATEGORY_GROUPINGS]], ctx=[], fields=[[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35]])
-                KapTableScan(table=[[DEFAULT, KYLIN_CATEGORY_GROUPINGS]], ctx=[], fields=[[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35]])
-              KapTableScan(table=[[DEFAULT, KYLIN_CATEGORY_GROUPINGS]], ctx=[], fields=[[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35]])
+OlapToEnumerableConverter
+  OlapProjectRel(SELLER_ID=[$0], CATEG_LVL3_ID=[$1], CATEG_LVL3_ID0=[$2], EXPR$3=[$3], EXPR$4=[$4], EXPR$5=[$5], ctx=[])
+    OlapLimitRel(ctx=[], fetch=[9])
+      OlapSortRel(sort0=[$0], sort1=[$1], dir0=[ASC-nulls-first], dir1=[DESC-nulls-last], ctx=[])
+        OlapAggregateRel(group-set=[[0, 1, 2]], groups=[null], EXPR$3=[SUM($3)], EXPR$4=[COUNT(DISTINCT $4)], EXPR$5=[COUNT(DISTINCT $5)], ctx=[])
+          OlapProjectRel(SELLER_ID=[$7], CATEG_LVL3_ID=[$122], $f2=[$158], PRICE=[$8], ORDER_ID=[$1], $f5=[CASE(>($0, 10), $8, 1)], ctx=[])
+            OlapJoinRel(condition=[=($4, $143)], joinType=[inner], ctx=[])
+              OlapJoinRel(condition=[=($4, $107)], joinType=[inner], ctx=[])
+                OlapJoinRel(condition=[=($4, $71)], joinType=[inner], ctx=[])
+                  OlapJoinRel(condition=[=($1, $66)], joinType=[inner], ctx=[])
+                    OlapTableScan(table=[[DEFAULT, TEST_KYLIN_FACT]], ctx=[], fields=[[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65]])
+                    OlapTableScan(table=[[DEFAULT, TEST_ORDER]], ctx=[], fields=[[0, 1, 2, 3, 4]])
+                  OlapTableScan(table=[[DEFAULT, TEST_CATEGORY_GROUPINGS]], ctx=[], fields=[[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35]])
+                OlapTableScan(table=[[DEFAULT, KYLIN_CATEGORY_GROUPINGS]], ctx=[], fields=[[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35]])
+              OlapTableScan(table=[[DEFAULT, KYLIN_CATEGORY_GROUPINGS]], ctx=[], fields=[[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35]])
 ]]>
         </Resource>
         <Resource name="query07.planAfter">
             <![CDATA[
-KapOLAPToEnumerableConverter
-  KapProjectRel(SELLER_ID=[$0], CATEG_LVL3_ID=[$1], CATEG_LVL3_ID0=[$2], EXPR$3=[$3], EXPR$4=[$4], EXPR$5=[$5], ctx=[])
-    KapLimitRel(ctx=[], fetch=[9])
-      KapSortRel(sort0=[$0], sort1=[$1], dir0=[ASC-nulls-first], dir1=[DESC-nulls-last], ctx=[])
-        KapAggregateRel(group-set=[[0, 1, 2]], groups=[null], EXPR$3=[SUM($5)], EXPR$4=[COUNT(DISTINCT $3)], EXPR$5=[COUNT(DISTINCT $4)], ctx=[])
-          KapAggregateRel(group-set=[[0, 1, 2, 3, 4]], groups=[null], EXPR$3=[SUM($5)], ctx=[])
-            KapProjectRel(SELLER_ID=[$2], CATEG_LVL3_ID=[$4], $f2=[$5], ORDER_ID=[$1], $f5=[CASE(>($0, 10), $3, 1)], $6=[$6], ctx=[])
-              KapAggregateRel(group-set=[[0, 1, 3, 4, 5, 8]], groups=[null], EXPR$3=[SUM($10)], ctx=[])
-                KapProjectRel(TRANS_ID=[$0], ORDER_ID=[$1], LEAF_CATEG_ID=[$2], SELLER_ID=[$3], PRICE=[$4], CATEG_LVL3_ID0=[$5], EXPR$3=[$6], LEAF_CATEG_ID0=[$7], CATEG_LVL3_ID=[$8], $f2=[$9], $f10=[CAST(*($6, $9)):DECIMAL(19, 4)], ctx=[])
-                  KapJoinRel(condition=[=($2, $7)], joinType=[inner], ctx=[])
-                    KapAggregateRel(group-set=[[0, 1, 4, 7, 8, 122]], groups=[null], EXPR$3=[SUM($8)], ctx=[])
-                      KapJoinRel(condition=[=($4, $107)], joinType=[inner], ctx=[])
-                        KapJoinRel(condition=[=($4, $71)], joinType=[inner], ctx=[])
-                          KapJoinRel(condition=[=($1, $66)], joinType=[inner], ctx=[])
-                            KapTableScan(table=[[DEFAULT, TEST_KYLIN_FACT]], ctx=[], fields=[[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65]])
-                            KapTableScan(table=[[DEFAULT, TEST_ORDER]], ctx=[], fields=[[0, 1, 2, 3, 4]])
-                          KapTableScan(table=[[DEFAULT, TEST_CATEGORY_GROUPINGS]], ctx=[], fields=[[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35]])
-                        KapTableScan(table=[[DEFAULT, KYLIN_CATEGORY_GROUPINGS]], ctx=[], fields=[[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35]])
-                    KapAggregateRel(group-set=[[0, 15]], groups=[null], agg#0=[COUNT()], ctx=[])
-                      KapTableScan(table=[[DEFAULT, KYLIN_CATEGORY_GROUPINGS]], ctx=[], fields=[[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35]])
+OlapToEnumerableConverter
+  OlapProjectRel(SELLER_ID=[$0], CATEG_LVL3_ID=[$1], CATEG_LVL3_ID0=[$2], EXPR$3=[$3], EXPR$4=[$4], EXPR$5=[$5], ctx=[])
+    OlapLimitRel(ctx=[], fetch=[9])
+      OlapSortRel(sort0=[$0], sort1=[$1], dir0=[ASC-nulls-first], dir1=[DESC-nulls-last], ctx=[])
+        OlapAggregateRel(group-set=[[0, 1, 2]], groups=[null], EXPR$3=[SUM($5)], EXPR$4=[COUNT(DISTINCT $3)], EXPR$5=[COUNT(DISTINCT $4)], ctx=[])
+          OlapAggregateRel(group-set=[[0, 1, 2, 3, 4]], groups=[null], EXPR$3=[SUM($5)], ctx=[])
+            OlapProjectRel(SELLER_ID=[$2], CATEG_LVL3_ID=[$4], $f2=[$5], ORDER_ID=[$1], $f5=[CASE(>($0, 10), $3, 1)], $6=[$6], ctx=[])
+              OlapAggregateRel(group-set=[[0, 1, 3, 4, 5, 8]], groups=[null], EXPR$3=[SUM($10)], ctx=[])
+                OlapProjectRel(TRANS_ID=[$0], ORDER_ID=[$1], LEAF_CATEG_ID=[$2], SELLER_ID=[$3], PRICE=[$4], CATEG_LVL3_ID0=[$5], EXPR$3=[$6], LEAF_CATEG_ID0=[$7], CATEG_LVL3_ID=[$8], $f2=[$9], $f10=[CAST(*($6, $9)):DECIMAL(19, 4)], ctx=[])
+                  OlapJoinRel(condition=[=($2, $7)], joinType=[inner], ctx=[])
+                    OlapAggregateRel(group-set=[[0, 1, 4, 7, 8, 122]], groups=[null], EXPR$3=[SUM($8)], ctx=[])
+                      OlapJoinRel(condition=[=($4, $107)], joinType=[inner], ctx=[])
+                        OlapJoinRel(condition=[=($4, $71)], joinType=[inner], ctx=[])
+                          OlapJoinRel(condition=[=($1, $66)], joinType=[inner], ctx=[])
+                            OlapTableScan(table=[[DEFAULT, TEST_KYLIN_FACT]], ctx=[], fields=[[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65]])
+                            OlapTableScan(table=[[DEFAULT, TEST_ORDER]], ctx=[], fields=[[0, 1, 2, 3, 4]])
+                          OlapTableScan(table=[[DEFAULT, TEST_CATEGORY_GROUPINGS]], ctx=[], fields=[[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35]])
+                        OlapTableScan(table=[[DEFAULT, KYLIN_CATEGORY_GROUPINGS]], ctx=[], fields=[[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35]])
+                    OlapAggregateRel(group-set=[[0, 15]], groups=[null], agg#0=[COUNT()], ctx=[])
+                      OlapTableScan(table=[[DEFAULT, KYLIN_CATEGORY_GROUPINGS]], ctx=[], fields=[[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35]])
 ]]>
         </Resource>
 
         <Resource name="query08.planBefore">
             <![CDATA[
-KapOLAPToEnumerableConverter
-  KapProjectRel(SELLER_ID=[$0], CATEG_LVL3_ID=[$1], CATEG_LVL3_ID0=[$2], EXPR$3=[$3], EXPR$4=[$4], EXPR$5=[$5], EXPR$6=[$6], ctx=[])
-    KapLimitRel(ctx=[], fetch=[9])
-      KapSortRel(sort0=[$0], sort1=[$1], dir0=[ASC-nulls-first], dir1=[DESC-nulls-last], ctx=[])
-        KapAggregateRel(group-set=[[0, 1, 2]], groups=[null], EXPR$3=[SUM($3)], EXPR$4=[SUM($4)], EXPR$5=[COUNT(DISTINCT $5)], EXPR$6=[COUNT(DISTINCT $4)], ctx=[])
-          KapProjectRel(SELLER_ID=[$7], CATEG_LVL3_ID=[$122], $f2=[$158], PRICE=[$8], $f4=[CASE(>($0, 10), $8, 1)], ORDER_ID=[$1], ctx=[])
-            KapJoinRel(condition=[=($4, $143)], joinType=[inner], ctx=[])
-              KapJoinRel(condition=[=($4, $107)], joinType=[inner], ctx=[])
-                KapJoinRel(condition=[=($4, $71)], joinType=[inner], ctx=[])
-                  KapJoinRel(condition=[=($1, $66)], joinType=[inner], ctx=[])
-                    KapTableScan(table=[[DEFAULT, TEST_KYLIN_FACT]], ctx=[], fields=[[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65]])
-                    KapTableScan(table=[[DEFAULT, TEST_ORDER]], ctx=[], fields=[[0, 1, 2, 3, 4]])
-                  KapTableScan(table=[[DEFAULT, TEST_CATEGORY_GROUPINGS]], ctx=[], fields=[[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35]])
-                KapTableScan(table=[[DEFAULT, KYLIN_CATEGORY_GROUPINGS]], ctx=[], fields=[[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35]])
-              KapTableScan(table=[[DEFAULT, KYLIN_CATEGORY_GROUPINGS]], ctx=[], fields=[[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35]])
+OlapToEnumerableConverter
+  OlapProjectRel(SELLER_ID=[$0], CATEG_LVL3_ID=[$1], CATEG_LVL3_ID0=[$2], EXPR$3=[$3], EXPR$4=[$4], EXPR$5=[$5], EXPR$6=[$6], ctx=[])
+    OlapLimitRel(ctx=[], fetch=[9])
+      OlapSortRel(sort0=[$0], sort1=[$1], dir0=[ASC-nulls-first], dir1=[DESC-nulls-last], ctx=[])
+        OlapAggregateRel(group-set=[[0, 1, 2]], groups=[null], EXPR$3=[SUM($3)], EXPR$4=[SUM($4)], EXPR$5=[COUNT(DISTINCT $5)], EXPR$6=[COUNT(DISTINCT $4)], ctx=[])
+          OlapProjectRel(SELLER_ID=[$7], CATEG_LVL3_ID=[$122], $f2=[$158], PRICE=[$8], $f4=[CASE(>($0, 10), $8, 1)], ORDER_ID=[$1], ctx=[])
+            OlapJoinRel(condition=[=($4, $143)], joinType=[inner], ctx=[])
+              OlapJoinRel(condition=[=($4, $107)], joinType=[inner], ctx=[])
+                OlapJoinRel(condition=[=($4, $71)], joinType=[inner], ctx=[])
+                  OlapJoinRel(condition=[=($1, $66)], joinType=[inner], ctx=[])
+                    OlapTableScan(table=[[DEFAULT, TEST_KYLIN_FACT]], ctx=[], fields=[[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65]])
+                    OlapTableScan(table=[[DEFAULT, TEST_ORDER]], ctx=[], fields=[[0, 1, 2, 3, 4]])
+                  OlapTableScan(table=[[DEFAULT, TEST_CATEGORY_GROUPINGS]], ctx=[], fields=[[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35]])
+                OlapTableScan(table=[[DEFAULT, KYLIN_CATEGORY_GROUPINGS]], ctx=[], fields=[[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35]])
+              OlapTableScan(table=[[DEFAULT, KYLIN_CATEGORY_GROUPINGS]], ctx=[], fields=[[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35]])
 ]]>
         </Resource>
         <Resource name="query08.planAfter">
             <![CDATA[
-KapOLAPToEnumerableConverter
-  KapProjectRel(SELLER_ID=[$0], CATEG_LVL3_ID=[$1], CATEG_LVL3_ID0=[$2], EXPR$3=[$3], EXPR$4=[$4], EXPR$5=[$5], EXPR$6=[$6], ctx=[])
-    KapLimitRel(ctx=[], fetch=[9])
-      KapSortRel(sort0=[$0], sort1=[$1], dir0=[ASC-nulls-first], dir1=[DESC-nulls-last], ctx=[])
-        KapProjectRel(SELLER_ID=[$0], CATEG_LVL3_ID0=[$1], CATEG_LVL3_ID1=[$2], AGG$0=[$8], AGG$1=[$9], EXPR$5=[$3], EXPR$6=[$4], ctx=[])
-          KapJoinRel(condition=[AND(=($0, $5), =($1, $6), =($2, $7))], joinType=[inner], ctx=[])
-            KapAggregateRel(group-set=[[0, 1, 2]], groups=[null], EXPR$5=[COUNT(DISTINCT $4)], EXPR$6=[COUNT(DISTINCT $3)], ctx=[])
-              KapAggregateRel(group-set=[[0, 1, 2, 3, 4]], groups=[null], ctx=[])
-                KapProjectRel(SELLER_ID=[$2], CATEG_LVL3_ID0=[$4], CATEG_LVL3_ID1=[$5], $f4=[CASE(>($0, 10), $3, 1)], ORDER_ID=[$1], ctx=[])
-                  KapAggregateRel(group-set=[[0, 1, 3, 4, 5, 7]], groups=[null], ctx=[])
-                    KapJoinRel(condition=[=($2, $6)], joinType=[inner], ctx=[])
-                      KapAggregateRel(group-set=[[0, 1, 4, 7, 8, 122]], groups=[null], ctx=[])
-                        KapJoinRel(condition=[=($4, $107)], joinType=[inner], ctx=[])
-                          KapJoinRel(condition=[=($4, $71)], joinType=[inner], ctx=[])
-                            KapJoinRel(condition=[=($1, $66)], joinType=[inner], ctx=[])
-                              KapTableScan(table=[[DEFAULT, TEST_KYLIN_FACT]], ctx=[], fields=[[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65]])
-                              KapTableScan(table=[[DEFAULT, TEST_ORDER]], ctx=[], fields=[[0, 1, 2, 3, 4]])
-                            KapTableScan(table=[[DEFAULT, TEST_CATEGORY_GROUPINGS]], ctx=[], fields=[[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35]])
-                          KapTableScan(table=[[DEFAULT, KYLIN_CATEGORY_GROUPINGS]], ctx=[], fields=[[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35]])
-                      KapAggregateRel(group-set=[[0, 15]], groups=[null], ctx=[])
-                        KapTableScan(table=[[DEFAULT, KYLIN_CATEGORY_GROUPINGS]], ctx=[], fields=[[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35]])
-            KapAggregateRel(group-set=[[0, 1, 2]], groups=[null], AGG$0=[SUM($3)], AGG$1=[SUM($4)], ctx=[])
-              KapProjectRel(SELLER_ID=[$0], CATEG_LVL3_ID0=[$1], CATEG_LVL3_ID1=[$2], EXPR$3=[$4], $f4=[CASE(>($3, 10), $5, $6)], ctx=[])
-                KapAggregateRel(group-set=[[0, 1, 2, 3]], groups=[null], TOP_AGG$0=[SUM($4)], TOP_AGG$1=[SUM($5)], TOP_AGG$2=[SUM($6)], ctx=[])
-                  KapProjectRel(SELLER_ID=[$0], CATEG_LVL3_ID0=[$1], CATEG_LVL3_ID1=[$2], TRANS_ID=[$3], EXPR$3=[$4], SUM_CASE$0$0=[$5], $f6=[CAST(*(1, $6)):DECIMAL(19, 4) NOT NULL], ctx=[])
-                    KapProjectRel(SELLER_ID=[$1], CATEG_LVL3_ID0=[$2], CATEG_LVL3_ID1=[$3], TRANS_ID=[$0], EXPR$3=[$4], SUM_CASE$0$0=[$5], SUM_CONST$2=[$6], ctx=[])
-                      KapAggregateRel(group-set=[[0, 2, 3, 7]], groups=[null], EXPR$3=[SUM($9)], SUM_CASE$0$0=[SUM($10)], SUM_CONST$2=[$SUM0($11)], ctx=[])
-                        KapProjectRel(TRANS_ID=[$0], LEAF_CATEG_ID=[$1], SELLER_ID=[$2], CATEG_LVL3_ID0=[$3], EXPR$3=[$4], SUM_CONST$2=[$5], LEAF_CATEG_ID0=[$6], CATEG_LVL3_ID=[$7], $f2=[$8], $f9=[CAST(*($4, $8)):DECIMAL(19, 4)], $f10=[CAST(*($4, $8)):DECIMAL(19, 4)], $f11=[*($5, $8)], ctx=[])
-                          KapJoinRel(condition=[=($1, $6)], joinType=[inner], ctx=[])
-                            KapAggregateRel(group-set=[[0, 4, 7, 122]], groups=[null], EXPR$3=[SUM($8)], SUM_CONST$2=[COUNT()], ctx=[])
-                              KapJoinRel(condition=[=($4, $107)], joinType=[inner], ctx=[])
-                                KapJoinRel(condition=[=($4, $71)], joinType=[inner], ctx=[])
-                                  KapJoinRel(condition=[=($1, $66)], joinType=[inner], ctx=[])
-                                    KapTableScan(table=[[DEFAULT, TEST_KYLIN_FACT]], ctx=[], fields=[[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65]])
-                                    KapTableScan(table=[[DEFAULT, TEST_ORDER]], ctx=[], fields=[[0, 1, 2, 3, 4]])
-                                  KapTableScan(table=[[DEFAULT, TEST_CATEGORY_GROUPINGS]], ctx=[], fields=[[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35]])
-                                KapTableScan(table=[[DEFAULT, KYLIN_CATEGORY_GROUPINGS]], ctx=[], fields=[[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35]])
-                            KapAggregateRel(group-set=[[0, 15]], groups=[null], agg#0=[COUNT()], ctx=[])
-                              KapTableScan(table=[[DEFAULT, KYLIN_CATEGORY_GROUPINGS]], ctx=[], fields=[[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35]])
+OlapToEnumerableConverter
+  OlapProjectRel(SELLER_ID=[$0], CATEG_LVL3_ID=[$1], CATEG_LVL3_ID0=[$2], EXPR$3=[$3], EXPR$4=[$4], EXPR$5=[$5], EXPR$6=[$6], ctx=[])
+    OlapLimitRel(ctx=[], fetch=[9])
+      OlapSortRel(sort0=[$0], sort1=[$1], dir0=[ASC-nulls-first], dir1=[DESC-nulls-last], ctx=[])
+        OlapProjectRel(SELLER_ID=[$0], CATEG_LVL3_ID0=[$1], CATEG_LVL3_ID1=[$2], AGG$0=[$8], AGG$1=[$9], EXPR$5=[$3], EXPR$6=[$4], ctx=[])
+          OlapJoinRel(condition=[AND(=($0, $5), =($1, $6), =($2, $7))], joinType=[inner], ctx=[])
+            OlapAggregateRel(group-set=[[0, 1, 2]], groups=[null], EXPR$5=[COUNT(DISTINCT $4)], EXPR$6=[COUNT(DISTINCT $3)], ctx=[])
+              OlapAggregateRel(group-set=[[0, 1, 2, 3, 4]], groups=[null], ctx=[])
+                OlapProjectRel(SELLER_ID=[$2], CATEG_LVL3_ID0=[$4], CATEG_LVL3_ID1=[$5], $f4=[CASE(>($0, 10), $3, 1)], ORDER_ID=[$1], ctx=[])
+                  OlapAggregateRel(group-set=[[0, 1, 3, 4, 5, 7]], groups=[null], ctx=[])
+                    OlapJoinRel(condition=[=($2, $6)], joinType=[inner], ctx=[])
+                      OlapAggregateRel(group-set=[[0, 1, 4, 7, 8, 122]], groups=[null], ctx=[])
+                        OlapJoinRel(condition=[=($4, $107)], joinType=[inner], ctx=[])
+                          OlapJoinRel(condition=[=($4, $71)], joinType=[inner], ctx=[])
+                            OlapJoinRel(condition=[=($1, $66)], joinType=[inner], ctx=[])
+                              OlapTableScan(table=[[DEFAULT, TEST_KYLIN_FACT]], ctx=[], fields=[[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65]])
+                              OlapTableScan(table=[[DEFAULT, TEST_ORDER]], ctx=[], fields=[[0, 1, 2, 3, 4]])
+                            OlapTableScan(table=[[DEFAULT, TEST_CATEGORY_GROUPINGS]], ctx=[], fields=[[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35]])
+                          OlapTableScan(table=[[DEFAULT, KYLIN_CATEGORY_GROUPINGS]], ctx=[], fields=[[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35]])
+                      OlapAggregateRel(group-set=[[0, 15]], groups=[null], ctx=[])
+                        OlapTableScan(table=[[DEFAULT, KYLIN_CATEGORY_GROUPINGS]], ctx=[], fields=[[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35]])
+            OlapAggregateRel(group-set=[[0, 1, 2]], groups=[null], AGG$0=[SUM($3)], AGG$1=[SUM($4)], ctx=[])
+              OlapProjectRel(SELLER_ID=[$0], CATEG_LVL3_ID0=[$1], CATEG_LVL3_ID1=[$2], EXPR$3=[$4], $f4=[CASE(>($3, 10), $5, $6)], ctx=[])
+                OlapAggregateRel(group-set=[[0, 1, 2, 3]], groups=[null], TOP_AGG$0=[SUM($4)], TOP_AGG$1=[SUM($5)], TOP_AGG$2=[SUM($6)], ctx=[])
+                  OlapProjectRel(SELLER_ID=[$0], CATEG_LVL3_ID0=[$1], CATEG_LVL3_ID1=[$2], TRANS_ID=[$3], EXPR$3=[$4], SUM_CASE$0$0=[$5], $f6=[CAST(*(1, $6)):DECIMAL(19, 4) NOT NULL], ctx=[])
+                    OlapProjectRel(SELLER_ID=[$1], CATEG_LVL3_ID0=[$2], CATEG_LVL3_ID1=[$3], TRANS_ID=[$0], EXPR$3=[$4], SUM_CASE$0$0=[$5], SUM_CONST$2=[$6], ctx=[])
+                      OlapAggregateRel(group-set=[[0, 2, 3, 7]], groups=[null], EXPR$3=[SUM($9)], SUM_CASE$0$0=[SUM($10)], SUM_CONST$2=[$SUM0($11)], ctx=[])
+                        OlapProjectRel(TRANS_ID=[$0], LEAF_CATEG_ID=[$1], SELLER_ID=[$2], CATEG_LVL3_ID0=[$3], EXPR$3=[$4], SUM_CONST$2=[$5], LEAF_CATEG_ID0=[$6], CATEG_LVL3_ID=[$7], $f2=[$8], $f9=[CAST(*($4, $8)):DECIMAL(19, 4)], $f10=[CAST(*($4, $8)):DECIMAL(19, 4)], $f11=[*($5, $8)], ctx=[])
+                          OlapJoinRel(condition=[=($1, $6)], joinType=[inner], ctx=[])
+                            OlapAggregateRel(group-set=[[0, 4, 7, 122]], groups=[null], EXPR$3=[SUM($8)], SUM_CONST$2=[COUNT()], ctx=[])
+                              OlapJoinRel(condition=[=($4, $107)], joinType=[inner], ctx=[])
+                                OlapJoinRel(condition=[=($4, $71)], joinType=[inner], ctx=[])
+                                  OlapJoinRel(condition=[=($1, $66)], joinType=[inner], ctx=[])
+                                    OlapTableScan(table=[[DEFAULT, TEST_KYLIN_FACT]], ctx=[], fields=[[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65]])
+                                    OlapTableScan(table=[[DEFAULT, TEST_ORDER]], ctx=[], fields=[[0, 1, 2, 3, 4]])
+                                  OlapTableScan(table=[[DEFAULT, TEST_CATEGORY_GROUPINGS]], ctx=[], fields=[[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35]])
+                                OlapTableScan(table=[[DEFAULT, KYLIN_CATEGORY_GROUPINGS]], ctx=[], fields=[[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35]])
+                            OlapAggregateRel(group-set=[[0, 15]], groups=[null], agg#0=[COUNT()], ctx=[])
+                              OlapTableScan(table=[[DEFAULT, KYLIN_CATEGORY_GROUPINGS]], ctx=[], fields=[[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35]])
 ]]>
         </Resource>
 
         <Resource name="query09.planBefore">
             <![CDATA[
-KapOLAPToEnumerableConverter
-  KapProjectRel(SELLER_ID=[$0], CATEG_LVL3_ID=[$1], CATEG_LVL3_ID0=[$2], EXPR$3=[$3], EXPR$4=[$4], EXPR$5=[$5], EXPR$6=[$6], ctx=[])
-    KapLimitRel(ctx=[], fetch=[9])
-      KapSortRel(sort0=[$0], sort1=[$1], dir0=[ASC-nulls-first], dir1=[DESC-nulls-last], ctx=[])
-        KapAggregateRel(group-set=[[0, 1, 2]], groups=[null], EXPR$3=[SUM($3)], EXPR$4=[SUM($4)], EXPR$5=[COUNT(DISTINCT $5)], EXPR$6=[COUNT(DISTINCT $4)], ctx=[])
-          KapProjectRel(SELLER_ID=[$7], CATEG_LVL3_ID=[$122], $f2=[$158], PRICE=[$8], $f4=[CASE(>($0, 10), $8, 1)], ORDER_ID=[$1], ctx=[])
-            KapJoinRel(condition=[=($4, $143)], joinType=[left], ctx=[])
-              KapJoinRel(condition=[=($4, $107)], joinType=[inner], ctx=[])
-                KapJoinRel(condition=[=($4, $71)], joinType=[inner], ctx=[])
-                  KapJoinRel(condition=[=($1, $66)], joinType=[inner], ctx=[])
-                    KapTableScan(table=[[DEFAULT, TEST_KYLIN_FACT]], ctx=[], fields=[[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65]])
-                    KapTableScan(table=[[DEFAULT, TEST_ORDER]], ctx=[], fields=[[0, 1, 2, 3, 4]])
-                  KapTableScan(table=[[DEFAULT, TEST_CATEGORY_GROUPINGS]], ctx=[], fields=[[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35]])
-                KapTableScan(table=[[DEFAULT, KYLIN_CATEGORY_GROUPINGS]], ctx=[], fields=[[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35]])
-              KapTableScan(table=[[DEFAULT, KYLIN_CATEGORY_GROUPINGS]], ctx=[], fields=[[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35]])
+OlapToEnumerableConverter
+  OlapProjectRel(SELLER_ID=[$0], CATEG_LVL3_ID=[$1], CATEG_LVL3_ID0=[$2], EXPR$3=[$3], EXPR$4=[$4], EXPR$5=[$5], EXPR$6=[$6], ctx=[])
+    OlapLimitRel(ctx=[], fetch=[9])
+      OlapSortRel(sort0=[$0], sort1=[$1], dir0=[ASC-nulls-first], dir1=[DESC-nulls-last], ctx=[])
+        OlapAggregateRel(group-set=[[0, 1, 2]], groups=[null], EXPR$3=[SUM($3)], EXPR$4=[SUM($4)], EXPR$5=[COUNT(DISTINCT $5)], EXPR$6=[COUNT(DISTINCT $4)], ctx=[])
+          OlapProjectRel(SELLER_ID=[$7], CATEG_LVL3_ID=[$122], $f2=[$158], PRICE=[$8], $f4=[CASE(>($0, 10), $8, 1)], ORDER_ID=[$1], ctx=[])
+            OlapJoinRel(condition=[=($4, $143)], joinType=[left], ctx=[])
+              OlapJoinRel(condition=[=($4, $107)], joinType=[inner], ctx=[])
+                OlapJoinRel(condition=[=($4, $71)], joinType=[inner], ctx=[])
+                  OlapJoinRel(condition=[=($1, $66)], joinType=[inner], ctx=[])
+                    OlapTableScan(table=[[DEFAULT, TEST_KYLIN_FACT]], ctx=[], fields=[[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65]])
+                    OlapTableScan(table=[[DEFAULT, TEST_ORDER]], ctx=[], fields=[[0, 1, 2, 3, 4]])
+                  OlapTableScan(table=[[DEFAULT, TEST_CATEGORY_GROUPINGS]], ctx=[], fields=[[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35]])
+                OlapTableScan(table=[[DEFAULT, KYLIN_CATEGORY_GROUPINGS]], ctx=[], fields=[[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35]])
+              OlapTableScan(table=[[DEFAULT, KYLIN_CATEGORY_GROUPINGS]], ctx=[], fields=[[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35]])
 ]]>
         </Resource>
         <Resource name="query09.planAfter">
             <![CDATA[
-KapOLAPToEnumerableConverter
-  KapProjectRel(SELLER_ID=[$0], CATEG_LVL3_ID=[$1], CATEG_LVL3_ID0=[$2], EXPR$3=[$3], EXPR$4=[$4], EXPR$5=[$5], EXPR$6=[$6], ctx=[])
-    KapLimitRel(ctx=[], fetch=[9])
-      KapSortRel(sort0=[$0], sort1=[$1], dir0=[ASC-nulls-first], dir1=[DESC-nulls-last], ctx=[])
-        KapProjectRel(SELLER_ID=[$0], CATEG_LVL3_ID0=[$1], CATEG_LVL3_ID1=[$2], AGG$0=[$8], AGG$1=[$9], EXPR$5=[$3], EXPR$6=[$4], ctx=[])
-          KapJoinRel(condition=[AND(=($0, $5), =($1, $6), =($2, $7))], joinType=[inner], ctx=[])
-            KapAggregateRel(group-set=[[0, 1, 2]], groups=[null], EXPR$5=[COUNT(DISTINCT $4)], EXPR$6=[COUNT(DISTINCT $3)], ctx=[])
-              KapAggregateRel(group-set=[[0, 1, 2, 3, 4]], groups=[null], ctx=[])
-                KapProjectRel(SELLER_ID=[$2], CATEG_LVL3_ID0=[$4], CATEG_LVL3_ID1=[$5], $f4=[CASE(>($0, 10), $3, 1)], ORDER_ID=[$1], ctx=[])
-                  KapAggregateRel(group-set=[[0, 1, 3, 4, 5, 7]], groups=[null], ctx=[])
-                    KapJoinRel(condition=[=($2, $6)], joinType=[left], ctx=[])
-                      KapAggregateRel(group-set=[[0, 1, 4, 7, 8, 122]], groups=[null], ctx=[])
-                        KapJoinRel(condition=[=($4, $107)], joinType=[inner], ctx=[])
-                          KapJoinRel(condition=[=($4, $71)], joinType=[inner], ctx=[])
-                            KapJoinRel(condition=[=($1, $66)], joinType=[inner], ctx=[])
-                              KapTableScan(table=[[DEFAULT, TEST_KYLIN_FACT]], ctx=[], fields=[[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65]])
-                              KapTableScan(table=[[DEFAULT, TEST_ORDER]], ctx=[], fields=[[0, 1, 2, 3, 4]])
-                            KapTableScan(table=[[DEFAULT, TEST_CATEGORY_GROUPINGS]], ctx=[], fields=[[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35]])
-                          KapTableScan(table=[[DEFAULT, KYLIN_CATEGORY_GROUPINGS]], ctx=[], fields=[[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35]])
-                      KapAggregateRel(group-set=[[0, 15]], groups=[null], ctx=[])
-                        KapTableScan(table=[[DEFAULT, KYLIN_CATEGORY_GROUPINGS]], ctx=[], fields=[[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35]])
-            KapAggregateRel(group-set=[[0, 1, 2]], groups=[null], AGG$0=[SUM($3)], AGG$1=[SUM($4)], ctx=[])
-              KapProjectRel(SELLER_ID=[$0], CATEG_LVL3_ID0=[$1], CATEG_LVL3_ID1=[$2], EXPR$3=[$4], $f4=[CASE(>($3, 10), $5, $6)], ctx=[])
-                KapAggregateRel(group-set=[[0, 1, 2, 3]], groups=[null], TOP_AGG$0=[SUM($4)], TOP_AGG$1=[SUM($5)], TOP_AGG$2=[SUM($6)], ctx=[])
-                  KapProjectRel(SELLER_ID=[$0], CATEG_LVL3_ID0=[$1], CATEG_LVL3_ID1=[$2], TRANS_ID=[$3], EXPR$3=[$4], SUM_CASE$0$0=[$5], $f6=[CAST(*(1, $6)):DECIMAL(19, 4) NOT NULL], ctx=[])
-                    KapProjectRel(SELLER_ID=[$1], CATEG_LVL3_ID0=[$2], CATEG_LVL3_ID1=[$3], TRANS_ID=[$0], EXPR$3=[$4], SUM_CASE$0$0=[$5], SUM_CONST$2=[$6], ctx=[])
-                      KapAggregateRel(group-set=[[0, 2, 3, 7]], groups=[null], EXPR$3=[SUM($9)], SUM_CASE$0$0=[SUM($10)], SUM_CONST$2=[$SUM0($11)], ctx=[])
-                        KapProjectRel(TRANS_ID=[$0], LEAF_CATEG_ID=[$1], SELLER_ID=[$2], CATEG_LVL3_ID0=[$3], EXPR$3=[$4], SUM_CONST$2=[$5], LEAF_CATEG_ID0=[$6], CATEG_LVL3_ID=[$7], $f2=[$8], $f9=[CAST(*($4, COALESCE($8, 1))):DECIMAL(19, 4)], $f10=[CAST(*($4, COALESCE($8, 1))):DECIMAL(19, 4)], $f11=[*(COALESCE($5, 1), $8)], ctx=[])
-                          KapJoinRel(condition=[=($1, $6)], joinType=[left], ctx=[])
-                            KapAggregateRel(group-set=[[0, 4, 7, 122]], groups=[null], EXPR$3=[SUM($8)], SUM_CONST$2=[COUNT()], ctx=[])
-                              KapJoinRel(condition=[=($4, $107)], joinType=[inner], ctx=[])
-                                KapJoinRel(condition=[=($4, $71)], joinType=[inner], ctx=[])
-                                  KapJoinRel(condition=[=($1, $66)], joinType=[inner], ctx=[])
-                                    KapTableScan(table=[[DEFAULT, TEST_KYLIN_FACT]], ctx=[], fields=[[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65]])
-                                    KapTableScan(table=[[DEFAULT, TEST_ORDER]], ctx=[], fields=[[0, 1, 2, 3, 4]])
-                                  KapTableScan(table=[[DEFAULT, TEST_CATEGORY_GROUPINGS]], ctx=[], fields=[[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35]])
-                                KapTableScan(table=[[DEFAULT, KYLIN_CATEGORY_GROUPINGS]], ctx=[], fields=[[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35]])
-                            KapAggregateRel(group-set=[[0, 15]], groups=[null], agg#0=[COUNT()], ctx=[])
-                              KapTableScan(table=[[DEFAULT, KYLIN_CATEGORY_GROUPINGS]], ctx=[], fields=[[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35]])
+OlapToEnumerableConverter
+  OlapProjectRel(SELLER_ID=[$0], CATEG_LVL3_ID=[$1], CATEG_LVL3_ID0=[$2], EXPR$3=[$3], EXPR$4=[$4], EXPR$5=[$5], EXPR$6=[$6], ctx=[])
+    OlapLimitRel(ctx=[], fetch=[9])
+      OlapSortRel(sort0=[$0], sort1=[$1], dir0=[ASC-nulls-first], dir1=[DESC-nulls-last], ctx=[])
+        OlapProjectRel(SELLER_ID=[$0], CATEG_LVL3_ID0=[$1], CATEG_LVL3_ID1=[$2], AGG$0=[$8], AGG$1=[$9], EXPR$5=[$3], EXPR$6=[$4], ctx=[])
+          OlapJoinRel(condition=[AND(=($0, $5), =($1, $6), =($2, $7))], joinType=[inner], ctx=[])
+            OlapAggregateRel(group-set=[[0, 1, 2]], groups=[null], EXPR$5=[COUNT(DISTINCT $4)], EXPR$6=[COUNT(DISTINCT $3)], ctx=[])
+              OlapAggregateRel(group-set=[[0, 1, 2, 3, 4]], groups=[null], ctx=[])
+                OlapProjectRel(SELLER_ID=[$2], CATEG_LVL3_ID0=[$4], CATEG_LVL3_ID1=[$5], $f4=[CASE(>($0, 10), $3, 1)], ORDER_ID=[$1], ctx=[])
+                  OlapAggregateRel(group-set=[[0, 1, 3, 4, 5, 7]], groups=[null], ctx=[])
+                    OlapJoinRel(condition=[=($2, $6)], joinType=[left], ctx=[])
+                      OlapAggregateRel(group-set=[[0, 1, 4, 7, 8, 122]], groups=[null], ctx=[])
+                        OlapJoinRel(condition=[=($4, $107)], joinType=[inner], ctx=[])
+                          OlapJoinRel(condition=[=($4, $71)], joinType=[inner], ctx=[])
+                            OlapJoinRel(condition=[=($1, $66)], joinType=[inner], ctx=[])
+                              OlapTableScan(table=[[DEFAULT, TEST_KYLIN_FACT]], ctx=[], fields=[[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65]])
+                              OlapTableScan(table=[[DEFAULT, TEST_ORDER]], ctx=[], fields=[[0, 1, 2, 3, 4]])
+                            OlapTableScan(table=[[DEFAULT, TEST_CATEGORY_GROUPINGS]], ctx=[], fields=[[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35]])
+                          OlapTableScan(table=[[DEFAULT, KYLIN_CATEGORY_GROUPINGS]], ctx=[], fields=[[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35]])
+                      OlapAggregateRel(group-set=[[0, 15]], groups=[null], ctx=[])
+                        OlapTableScan(table=[[DEFAULT, KYLIN_CATEGORY_GROUPINGS]], ctx=[], fields=[[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35]])
+            OlapAggregateRel(group-set=[[0, 1, 2]], groups=[null], AGG$0=[SUM($3)], AGG$1=[SUM($4)], ctx=[])
+              OlapProjectRel(SELLER_ID=[$0], CATEG_LVL3_ID0=[$1], CATEG_LVL3_ID1=[$2], EXPR$3=[$4], $f4=[CASE(>($3, 10), $5, $6)], ctx=[])
+                OlapAggregateRel(group-set=[[0, 1, 2, 3]], groups=[null], TOP_AGG$0=[SUM($4)], TOP_AGG$1=[SUM($5)], TOP_AGG$2=[SUM($6)], ctx=[])
+                  OlapProjectRel(SELLER_ID=[$0], CATEG_LVL3_ID0=[$1], CATEG_LVL3_ID1=[$2], TRANS_ID=[$3], EXPR$3=[$4], SUM_CASE$0$0=[$5], $f6=[CAST(*(1, $6)):DECIMAL(19, 4) NOT NULL], ctx=[])
+                    OlapProjectRel(SELLER_ID=[$1], CATEG_LVL3_ID0=[$2], CATEG_LVL3_ID1=[$3], TRANS_ID=[$0], EXPR$3=[$4], SUM_CASE$0$0=[$5], SUM_CONST$2=[$6], ctx=[])
+                      OlapAggregateRel(group-set=[[0, 2, 3, 7]], groups=[null], EXPR$3=[SUM($9)], SUM_CASE$0$0=[SUM($10)], SUM_CONST$2=[$SUM0($11)], ctx=[])
+                        OlapProjectRel(TRANS_ID=[$0], LEAF_CATEG_ID=[$1], SELLER_ID=[$2], CATEG_LVL3_ID0=[$3], EXPR$3=[$4], SUM_CONST$2=[$5], LEAF_CATEG_ID0=[$6], CATEG_LVL3_ID=[$7], $f2=[$8], $f9=[CAST(*($4, COALESCE($8, 1))):DECIMAL(19, 4)], $f10=[CAST(*($4, COALESCE($8, 1))):DECIMAL(19, 4)], $f11=[*(COALESCE($5, 1), $8)], ctx=[])
+                          OlapJoinRel(condition=[=($1, $6)], joinType=[left], ctx=[])
+                            OlapAggregateRel(group-set=[[0, 4, 7, 122]], groups=[null], EXPR$3=[SUM($8)], SUM_CONST$2=[COUNT()], ctx=[])
+                              OlapJoinRel(condition=[=($4, $107)], joinType=[inner], ctx=[])
+                                OlapJoinRel(condition=[=($4, $71)], joinType=[inner], ctx=[])
+                                  OlapJoinRel(condition=[=($1, $66)], joinType=[inner], ctx=[])
+                                    OlapTableScan(table=[[DEFAULT, TEST_KYLIN_FACT]], ctx=[], fields=[[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65]])
+                                    OlapTableScan(table=[[DEFAULT, TEST_ORDER]], ctx=[], fields=[[0, 1, 2, 3, 4]])
+                                  OlapTableScan(table=[[DEFAULT, TEST_CATEGORY_GROUPINGS]], ctx=[], fields=[[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35]])
+                                OlapTableScan(table=[[DEFAULT, KYLIN_CATEGORY_GROUPINGS]], ctx=[], fields=[[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35]])
+                            OlapAggregateRel(group-set=[[0, 15]], groups=[null], agg#0=[COUNT()], ctx=[])
+                              OlapTableScan(table=[[DEFAULT, KYLIN_CATEGORY_GROUPINGS]], ctx=[], fields=[[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35]])
 ]]>
         </Resource>
 
         <Resource name="query10.planBefore">
             <![CDATA[
-KapOLAPToEnumerableConverter
-  KapAggregateRel(group-set=[[0]], groups=[null], EXPR$1=[SUM($1)], EXPR$2=[SUM($2)], ctx=[])
-    KapProjectRel(SELLER_ID=[$7], LEAF_CATEG_ID1=[$107], PRICE=[$8], ctx=[])
-      KapJoinRel(condition=[=($4, $107)], joinType=[inner], ctx=[])
-        KapJoinRel(condition=[=($4, $71)], joinType=[inner], ctx=[])
-          KapJoinRel(condition=[=($1, $66)], joinType=[inner], ctx=[])
-            KapTableScan(table=[[DEFAULT, TEST_KYLIN_FACT]], ctx=[], fields=[[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65]])
-            KapTableScan(table=[[DEFAULT, TEST_ORDER]], ctx=[], fields=[[0, 1, 2, 3, 4]])
-          KapTableScan(table=[[DEFAULT, TEST_CATEGORY_GROUPINGS]], ctx=[], fields=[[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35]])
-        KapTableScan(table=[[DEFAULT, KYLIN_CATEGORY_GROUPINGS]], ctx=[], fields=[[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35]])
+OlapToEnumerableConverter
+  OlapAggregateRel(group-set=[[0]], groups=[null], EXPR$1=[SUM($1)], EXPR$2=[SUM($2)], ctx=[])
+    OlapProjectRel(SELLER_ID=[$7], LEAF_CATEG_ID1=[$107], PRICE=[$8], ctx=[])
+      OlapJoinRel(condition=[=($4, $107)], joinType=[inner], ctx=[])
+        OlapJoinRel(condition=[=($4, $71)], joinType=[inner], ctx=[])
+          OlapJoinRel(condition=[=($1, $66)], joinType=[inner], ctx=[])
+            OlapTableScan(table=[[DEFAULT, TEST_KYLIN_FACT]], ctx=[], fields=[[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65]])
+            OlapTableScan(table=[[DEFAULT, TEST_ORDER]], ctx=[], fields=[[0, 1, 2, 3, 4]])
+          OlapTableScan(table=[[DEFAULT, TEST_CATEGORY_GROUPINGS]], ctx=[], fields=[[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35]])
+        OlapTableScan(table=[[DEFAULT, KYLIN_CATEGORY_GROUPINGS]], ctx=[], fields=[[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35]])
 ]]>
         </Resource>
         <Resource name="query10.planAfter">
             <![CDATA[
-KapOLAPToEnumerableConverter
-  KapAggregateRel(group-set=[[1]], groups=[null], EXPR$1=[SUM($7)], EXPR$2=[SUM($8)], ctx=[])
-    KapProjectRel(LEAF_CATEG_ID=[$0], SELLER_ID=[$1], $f2=[$2], EXPR$2=[$3], LEAF_CATEG_ID0=[$4], EXPR$1=[$5], $f20=[$6], $f7=[CAST(*($2, $5)):BIGINT], $f8=[CAST(*($3, $6)):DECIMAL(19, 4)], ctx=[])
-      KapJoinRel(condition=[=($0, $4)], joinType=[inner], ctx=[])
-        KapAggregateRel(group-set=[[4, 7]], groups=[null], agg#0=[COUNT()], EXPR$2=[SUM($8)], ctx=[])
-          KapJoinRel(condition=[=($4, $71)], joinType=[inner], ctx=[])
-            KapJoinRel(condition=[=($1, $66)], joinType=[inner], ctx=[])
-              KapTableScan(table=[[DEFAULT, TEST_KYLIN_FACT]], ctx=[], fields=[[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65]])
-              KapTableScan(table=[[DEFAULT, TEST_ORDER]], ctx=[], fields=[[0, 1, 2, 3, 4]])
-            KapTableScan(table=[[DEFAULT, TEST_CATEGORY_GROUPINGS]], ctx=[], fields=[[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35]])
-        KapAggregateRel(group-set=[[0]], groups=[null], EXPR$1=[SUM($0)], agg#1=[COUNT()], ctx=[])
-          KapTableScan(table=[[DEFAULT, KYLIN_CATEGORY_GROUPINGS]], ctx=[], fields=[[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35]])
+OlapToEnumerableConverter
+  OlapAggregateRel(group-set=[[1]], groups=[null], EXPR$1=[SUM($7)], EXPR$2=[SUM($8)], ctx=[])
+    OlapProjectRel(LEAF_CATEG_ID=[$0], SELLER_ID=[$1], $f2=[$2], EXPR$2=[$3], LEAF_CATEG_ID0=[$4], EXPR$1=[$5], $f20=[$6], $f7=[CAST(*($2, $5)):BIGINT], $f8=[CAST(*($3, $6)):DECIMAL(19, 4)], ctx=[])
+      OlapJoinRel(condition=[=($0, $4)], joinType=[inner], ctx=[])
+        OlapAggregateRel(group-set=[[4, 7]], groups=[null], agg#0=[COUNT()], EXPR$2=[SUM($8)], ctx=[])
+          OlapJoinRel(condition=[=($4, $71)], joinType=[inner], ctx=[])
+            OlapJoinRel(condition=[=($1, $66)], joinType=[inner], ctx=[])
+              OlapTableScan(table=[[DEFAULT, TEST_KYLIN_FACT]], ctx=[], fields=[[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65]])
+              OlapTableScan(table=[[DEFAULT, TEST_ORDER]], ctx=[], fields=[[0, 1, 2, 3, 4]])
+            OlapTableScan(table=[[DEFAULT, TEST_CATEGORY_GROUPINGS]], ctx=[], fields=[[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35]])
+        OlapAggregateRel(group-set=[[0]], groups=[null], EXPR$1=[SUM($0)], agg#1=[COUNT()], ctx=[])
+          OlapTableScan(table=[[DEFAULT, KYLIN_CATEGORY_GROUPINGS]], ctx=[], fields=[[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35]])
 ]]>
         </Resource>
 
         <Resource name="query11.planBefore">
             <![CDATA[
-KapOLAPToEnumerableConverter
-  KapAggregateRel(group-set=[[0]], groups=[null], EXPR$1=[SUM($1)], ctx=[])
-    KapProjectRel(SELLER_ID=[$7], $f1=[+($107, $8)], ctx=[])
-      KapJoinRel(condition=[=($4, $107)], joinType=[inner], ctx=[])
-        KapJoinRel(condition=[=($4, $71)], joinType=[inner], ctx=[])
-          KapJoinRel(condition=[=($1, $66)], joinType=[inner], ctx=[])
-            KapTableScan(table=[[DEFAULT, TEST_KYLIN_FACT]], ctx=[], fields=[[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65]])
-            KapTableScan(table=[[DEFAULT, TEST_ORDER]], ctx=[], fields=[[0, 1, 2, 3, 4]])
-          KapTableScan(table=[[DEFAULT, TEST_CATEGORY_GROUPINGS]], ctx=[], fields=[[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35]])
-        KapTableScan(table=[[DEFAULT, KYLIN_CATEGORY_GROUPINGS]], ctx=[], fields=[[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35]])
+OlapToEnumerableConverter
+  OlapAggregateRel(group-set=[[0]], groups=[null], EXPR$1=[SUM($1)], ctx=[])
+    OlapProjectRel(SELLER_ID=[$7], $f1=[+($107, $8)], ctx=[])
+      OlapJoinRel(condition=[=($4, $107)], joinType=[inner], ctx=[])
+        OlapJoinRel(condition=[=($4, $71)], joinType=[inner], ctx=[])
+          OlapJoinRel(condition=[=($1, $66)], joinType=[inner], ctx=[])
+            OlapTableScan(table=[[DEFAULT, TEST_KYLIN_FACT]], ctx=[], fields=[[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65]])
+            OlapTableScan(table=[[DEFAULT, TEST_ORDER]], ctx=[], fields=[[0, 1, 2, 3, 4]])
+          OlapTableScan(table=[[DEFAULT, TEST_CATEGORY_GROUPINGS]], ctx=[], fields=[[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35]])
+        OlapTableScan(table=[[DEFAULT, KYLIN_CATEGORY_GROUPINGS]], ctx=[], fields=[[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35]])
 ]]>
         </Resource>
         <Resource name="query11.planAfter">
             <![CDATA[
-KapOLAPToEnumerableConverter
-  KapAggregateRel(group-set=[[0]], groups=[null], EXPR$1=[SUM($1)], ctx=[])
-    KapProjectRel(SELLER_ID=[$7], $f1=[+($107, $8)], ctx=[])
-      KapJoinRel(condition=[=($4, $107)], joinType=[inner], ctx=[])
-        KapJoinRel(condition=[=($4, $71)], joinType=[inner], ctx=[])
-          KapJoinRel(condition=[=($1, $66)], joinType=[inner], ctx=[])
-            KapTableScan(table=[[DEFAULT, TEST_KYLIN_FACT]], ctx=[], fields=[[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65]])
-            KapTableScan(table=[[DEFAULT, TEST_ORDER]], ctx=[], fields=[[0, 1, 2, 3, 4]])
-          KapTableScan(table=[[DEFAULT, TEST_CATEGORY_GROUPINGS]], ctx=[], fields=[[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35]])
-        KapTableScan(table=[[DEFAULT, KYLIN_CATEGORY_GROUPINGS]], ctx=[], fields=[[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35]])
+OlapToEnumerableConverter
+  OlapAggregateRel(group-set=[[0]], groups=[null], EXPR$1=[SUM($1)], ctx=[])
+    OlapProjectRel(SELLER_ID=[$7], $f1=[+($107, $8)], ctx=[])
+      OlapJoinRel(condition=[=($4, $107)], joinType=[inner], ctx=[])
+        OlapJoinRel(condition=[=($4, $71)], joinType=[inner], ctx=[])
+          OlapJoinRel(condition=[=($1, $66)], joinType=[inner], ctx=[])
+            OlapTableScan(table=[[DEFAULT, TEST_KYLIN_FACT]], ctx=[], fields=[[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65]])
+            OlapTableScan(table=[[DEFAULT, TEST_ORDER]], ctx=[], fields=[[0, 1, 2, 3, 4]])
+          OlapTableScan(table=[[DEFAULT, TEST_CATEGORY_GROUPINGS]], ctx=[], fields=[[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35]])
+        OlapTableScan(table=[[DEFAULT, KYLIN_CATEGORY_GROUPINGS]], ctx=[], fields=[[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35]])
 ]]>
         </Resource>
 
         <Resource name="query12.planBefore">
             <![CDATA[
-KapOLAPToEnumerableConverter
-  KapAggregateRel(group-set=[[0]], groups=[null], EXPR$1=[SUM($1)], ctx=[])
-    KapProjectRel(SELLER_ID=[$7], PRICE=[$8], ctx=[])
-      KapJoinRel(condition=[=($4, $107)], joinType=[left], ctx=[])
-        KapJoinRel(condition=[=($4, $71)], joinType=[inner], ctx=[])
-          KapJoinRel(condition=[=($1, $66)], joinType=[inner], ctx=[])
-            KapTableScan(table=[[DEFAULT, TEST_KYLIN_FACT]], ctx=[], fields=[[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65]])
-            KapTableScan(table=[[DEFAULT, TEST_ORDER]], ctx=[], fields=[[0, 1, 2, 3, 4]])
-          KapTableScan(table=[[DEFAULT, TEST_CATEGORY_GROUPINGS]], ctx=[], fields=[[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35]])
-        KapTableScan(table=[[DEFAULT, KYLIN_CATEGORY_GROUPINGS]], ctx=[], fields=[[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35]])
+OlapToEnumerableConverter
+  OlapAggregateRel(group-set=[[0]], groups=[null], EXPR$1=[SUM($1)], ctx=[])
+    OlapProjectRel(SELLER_ID=[$7], PRICE=[$8], ctx=[])
+      OlapJoinRel(condition=[=($4, $107)], joinType=[left], ctx=[])
+        OlapJoinRel(condition=[=($4, $71)], joinType=[inner], ctx=[])
+          OlapJoinRel(condition=[=($1, $66)], joinType=[inner], ctx=[])
+            OlapTableScan(table=[[DEFAULT, TEST_KYLIN_FACT]], ctx=[], fields=[[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65]])
+            OlapTableScan(table=[[DEFAULT, TEST_ORDER]], ctx=[], fields=[[0, 1, 2, 3, 4]])
+          OlapTableScan(table=[[DEFAULT, TEST_CATEGORY_GROUPINGS]], ctx=[], fields=[[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35]])
+        OlapTableScan(table=[[DEFAULT, KYLIN_CATEGORY_GROUPINGS]], ctx=[], fields=[[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35]])
 ]]>
         </Resource>
         <Resource name="query12.planAfter">
             <![CDATA[
-KapOLAPToEnumerableConverter
-  KapAggregateRel(group-set=[[1]], groups=[null], EXPR$1=[SUM($5)], ctx=[])
-    KapProjectRel(LEAF_CATEG_ID=[$0], SELLER_ID=[$1], EXPR$1=[$2], LEAF_CATEG_ID0=[$3], $f1=[$4], $f5=[CAST(*($2, COALESCE($4, 1))):DECIMAL(19, 4)], ctx=[])
-      KapJoinRel(condition=[=($0, $3)], joinType=[left], ctx=[])
-        KapAggregateRel(group-set=[[4, 7]], groups=[null], EXPR$1=[SUM($8)], ctx=[])
-          KapJoinRel(condition=[=($4, $71)], joinType=[inner], ctx=[])
-            KapJoinRel(condition=[=($1, $66)], joinType=[inner], ctx=[])
-              KapTableScan(table=[[DEFAULT, TEST_KYLIN_FACT]], ctx=[], fields=[[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65]])
-              KapTableScan(table=[[DEFAULT, TEST_ORDER]], ctx=[], fields=[[0, 1, 2, 3, 4]])
-            KapTableScan(table=[[DEFAULT, TEST_CATEGORY_GROUPINGS]], ctx=[], fields=[[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35]])
-        KapAggregateRel(group-set=[[0]], groups=[null], agg#0=[COUNT()], ctx=[])
-          KapTableScan(table=[[DEFAULT, KYLIN_CATEGORY_GROUPINGS]], ctx=[], fields=[[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35]])
+OlapToEnumerableConverter
+  OlapAggregateRel(group-set=[[1]], groups=[null], EXPR$1=[SUM($5)], ctx=[])
+    OlapProjectRel(LEAF_CATEG_ID=[$0], SELLER_ID=[$1], EXPR$1=[$2], LEAF_CATEG_ID0=[$3], $f1=[$4], $f5=[CAST(*($2, COALESCE($4, 1))):DECIMAL(19, 4)], ctx=[])
+      OlapJoinRel(condition=[=($0, $3)], joinType=[left], ctx=[])
+        OlapAggregateRel(group-set=[[4, 7]], groups=[null], EXPR$1=[SUM($8)], ctx=[])
+          OlapJoinRel(condition=[=($4, $71)], joinType=[inner], ctx=[])
+            OlapJoinRel(condition=[=($1, $66)], joinType=[inner], ctx=[])
+              OlapTableScan(table=[[DEFAULT, TEST_KYLIN_FACT]], ctx=[], fields=[[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65]])
+              OlapTableScan(table=[[DEFAULT, TEST_ORDER]], ctx=[], fields=[[0, 1, 2, 3, 4]])
+            OlapTableScan(table=[[DEFAULT, TEST_CATEGORY_GROUPINGS]], ctx=[], fields=[[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35]])
+        OlapAggregateRel(group-set=[[0]], groups=[null], agg#0=[COUNT()], ctx=[])
+          OlapTableScan(table=[[DEFAULT, KYLIN_CATEGORY_GROUPINGS]], ctx=[], fields=[[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35]])
 ]]>
         </Resource>
 
         <Resource name="query13.planBefore">
             <![CDATA[
-KapOLAPToEnumerableConverter
-  KapAggregateRel(group-set=[[0]], groups=[null], EXPR$1=[SUM($1)], EXPR$2=[SUM($2)], ctx=[])
-    KapProjectRel(SELLER_ID=[$7], LEAF_CATEG_ID1=[$107], PRICE=[$8], ctx=[])
-      KapJoinRel(condition=[=($4, $107)], joinType=[left], ctx=[])
-        KapJoinRel(condition=[=($4, $71)], joinType=[inner], ctx=[])
-          KapJoinRel(condition=[=($1, $66)], joinType=[inner], ctx=[])
-            KapTableScan(table=[[DEFAULT, TEST_KYLIN_FACT]], ctx=[], fields=[[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65]])
-            KapTableScan(table=[[DEFAULT, TEST_ORDER]], ctx=[], fields=[[0, 1, 2, 3, 4]])
-          KapTableScan(table=[[DEFAULT, TEST_CATEGORY_GROUPINGS]], ctx=[], fields=[[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35]])
-        KapTableScan(table=[[DEFAULT, KYLIN_CATEGORY_GROUPINGS]], ctx=[], fields=[[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35]])
+OlapToEnumerableConverter
+  OlapAggregateRel(group-set=[[0]], groups=[null], EXPR$1=[SUM($1)], EXPR$2=[SUM($2)], ctx=[])
+    OlapProjectRel(SELLER_ID=[$7], LEAF_CATEG_ID1=[$107], PRICE=[$8], ctx=[])
+      OlapJoinRel(condition=[=($4, $107)], joinType=[left], ctx=[])
+        OlapJoinRel(condition=[=($4, $71)], joinType=[inner], ctx=[])
+          OlapJoinRel(condition=[=($1, $66)], joinType=[inner], ctx=[])
+            OlapTableScan(table=[[DEFAULT, TEST_KYLIN_FACT]], ctx=[], fields=[[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65]])
+            OlapTableScan(table=[[DEFAULT, TEST_ORDER]], ctx=[], fields=[[0, 1, 2, 3, 4]])
+          OlapTableScan(table=[[DEFAULT, TEST_CATEGORY_GROUPINGS]], ctx=[], fields=[[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35]])
+        OlapTableScan(table=[[DEFAULT, KYLIN_CATEGORY_GROUPINGS]], ctx=[], fields=[[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35]])
 ]]>
         </Resource>
         <Resource name="query13.planAfter">
             <![CDATA[
-KapOLAPToEnumerableConverter
-  KapAggregateRel(group-set=[[1]], groups=[null], EXPR$1=[SUM($7)], EXPR$2=[SUM($8)], ctx=[])
-    KapProjectRel(LEAF_CATEG_ID=[$0], SELLER_ID=[$1], $f2=[$2], EXPR$2=[$3], LEAF_CATEG_ID0=[$4], EXPR$1=[$5], $f20=[$6], $f7=[CAST(*(COALESCE($2, 1), $5)):BIGINT], $f8=[CAST(*($3, COALESCE($6, 1))):DECIMAL(19, 4)], ctx=[])
-      KapJoinRel(condition=[=($0, $4)], joinType=[left], ctx=[])
-        KapAggregateRel(group-set=[[4, 7]], groups=[null], agg#0=[COUNT()], EXPR$2=[SUM($8)], ctx=[])
-          KapJoinRel(condition=[=($4, $71)], joinType=[inner], ctx=[])
-            KapJoinRel(condition=[=($1, $66)], joinType=[inner], ctx=[])
-              KapTableScan(table=[[DEFAULT, TEST_KYLIN_FACT]], ctx=[], fields=[[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65]])
-              KapTableScan(table=[[DEFAULT, TEST_ORDER]], ctx=[], fields=[[0, 1, 2, 3, 4]])
-            KapTableScan(table=[[DEFAULT, TEST_CATEGORY_GROUPINGS]], ctx=[], fields=[[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35]])
-        KapAggregateRel(group-set=[[0]], groups=[null], EXPR$1=[SUM($0)], agg#1=[COUNT()], ctx=[])
-          KapTableScan(table=[[DEFAULT, KYLIN_CATEGORY_GROUPINGS]], ctx=[], fields=[[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35]])
+OlapToEnumerableConverter
+  OlapAggregateRel(group-set=[[1]], groups=[null], EXPR$1=[SUM($7)], EXPR$2=[SUM($8)], ctx=[])
+    OlapProjectRel(LEAF_CATEG_ID=[$0], SELLER_ID=[$1], $f2=[$2], EXPR$2=[$3], LEAF_CATEG_ID0=[$4], EXPR$1=[$5], $f20=[$6], $f7=[CAST(*(COALESCE($2, 1), $5)):BIGINT], $f8=[CAST(*($3, COALESCE($6, 1))):DECIMAL(19, 4)], ctx=[])
+      OlapJoinRel(condition=[=($0, $4)], joinType=[left], ctx=[])
+        OlapAggregateRel(group-set=[[4, 7]], groups=[null], agg#0=[COUNT()], EXPR$2=[SUM($8)], ctx=[])
+          OlapJoinRel(condition=[=($4, $71)], joinType=[inner], ctx=[])
+            OlapJoinRel(condition=[=($1, $66)], joinType=[inner], ctx=[])
+              OlapTableScan(table=[[DEFAULT, TEST_KYLIN_FACT]], ctx=[], fields=[[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65]])
+              OlapTableScan(table=[[DEFAULT, TEST_ORDER]], ctx=[], fields=[[0, 1, 2, 3, 4]])
+            OlapTableScan(table=[[DEFAULT, TEST_CATEGORY_GROUPINGS]], ctx=[], fields=[[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35]])
+        OlapAggregateRel(group-set=[[0]], groups=[null], EXPR$1=[SUM($0)], agg#1=[COUNT()], ctx=[])
+          OlapTableScan(table=[[DEFAULT, KYLIN_CATEGORY_GROUPINGS]], ctx=[], fields=[[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35]])
 ]]>
         </Resource>
 
         <Resource name="query14.planBefore">
             <![CDATA[
-KapOLAPToEnumerableConverter
-  KapLimitRel(ctx=[], fetch=[5])
-    KapProjectRel(SELLER_ID=[$0], EXPR$1=[$1], ctx=[])
-      KapUnionRel(all=[true], ctx=[], all=[true])
-        KapAggregateRel(group-set=[[0]], groups=[null], EXPR$1=[SUM($1)], ctx=[])
-          KapProjectRel(SELLER_ID=[$7], PRICE=[$8], ctx=[])
-            KapJoinRel(condition=[=($4, $107)], joinType=[left], ctx=[])
-              KapJoinRel(condition=[=($4, $71)], joinType=[inner], ctx=[])
-                KapJoinRel(condition=[=($1, $66)], joinType=[inner], ctx=[])
-                  KapTableScan(table=[[DEFAULT, TEST_KYLIN_FACT]], ctx=[], fields=[[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65]])
-                  KapTableScan(table=[[DEFAULT, TEST_ORDER]], ctx=[], fields=[[0, 1, 2, 3, 4]])
-                KapTableScan(table=[[DEFAULT, TEST_CATEGORY_GROUPINGS]], ctx=[], fields=[[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35]])
-              KapTableScan(table=[[DEFAULT, KYLIN_CATEGORY_GROUPINGS]], ctx=[], fields=[[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35]])
-        KapAggregateRel(group-set=[[0]], groups=[null], EXPR$1=[SUM($1)], ctx=[])
-          KapProjectRel(SELLER_ID=[$7], PRICE=[$8], ctx=[])
-            KapJoinRel(condition=[=($4, $71)], joinType=[inner], ctx=[])
-              KapJoinRel(condition=[=($1, $66)], joinType=[inner], ctx=[])
-                KapTableScan(table=[[DEFAULT, TEST_KYLIN_FACT]], ctx=[], fields=[[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65]])
-                KapTableScan(table=[[DEFAULT, TEST_ORDER]], ctx=[], fields=[[0, 1, 2, 3, 4]])
-              KapTableScan(table=[[DEFAULT, TEST_CATEGORY_GROUPINGS]], ctx=[], fields=[[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35]])
+OlapToEnumerableConverter
+  OlapLimitRel(ctx=[], fetch=[5])
+    OlapProjectRel(SELLER_ID=[$0], EXPR$1=[$1], ctx=[])
+      OlapUnionRel(all=[true], ctx=[], all=[true])
+        OlapAggregateRel(group-set=[[0]], groups=[null], EXPR$1=[SUM($1)], ctx=[])
+          OlapProjectRel(SELLER_ID=[$7], PRICE=[$8], ctx=[])
+            OlapJoinRel(condition=[=($4, $107)], joinType=[left], ctx=[])
+              OlapJoinRel(condition=[=($4, $71)], joinType=[inner], ctx=[])
+                OlapJoinRel(condition=[=($1, $66)], joinType=[inner], ctx=[])
+                  OlapTableScan(table=[[DEFAULT, TEST_KYLIN_FACT]], ctx=[], fields=[[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65]])
+                  OlapTableScan(table=[[DEFAULT, TEST_ORDER]], ctx=[], fields=[[0, 1, 2, 3, 4]])
+                OlapTableScan(table=[[DEFAULT, TEST_CATEGORY_GROUPINGS]], ctx=[], fields=[[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35]])
+              OlapTableScan(table=[[DEFAULT, KYLIN_CATEGORY_GROUPINGS]], ctx=[], fields=[[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35]])
+        OlapAggregateRel(group-set=[[0]], groups=[null], EXPR$1=[SUM($1)], ctx=[])
+          OlapProjectRel(SELLER_ID=[$7], PRICE=[$8], ctx=[])
+            OlapJoinRel(condition=[=($4, $71)], joinType=[inner], ctx=[])
+              OlapJoinRel(condition=[=($1, $66)], joinType=[inner], ctx=[])
+                OlapTableScan(table=[[DEFAULT, TEST_KYLIN_FACT]], ctx=[], fields=[[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65]])
+                OlapTableScan(table=[[DEFAULT, TEST_ORDER]], ctx=[], fields=[[0, 1, 2, 3, 4]])
+              OlapTableScan(table=[[DEFAULT, TEST_CATEGORY_GROUPINGS]], ctx=[], fields=[[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35]])
 ]]>
         </Resource>
         <Resource name="query14.planAfter">
             <![CDATA[
-KapOLAPToEnumerableConverter
-  KapLimitRel(ctx=[], fetch=[5])
-    KapProjectRel(SELLER_ID=[$0], EXPR$1=[$1], ctx=[])
-      KapUnionRel(all=[true], ctx=[], all=[true])
-        KapAggregateRel(group-set=[[1]], groups=[null], EXPR$1=[SUM($5)], ctx=[])
-          KapProjectRel(LEAF_CATEG_ID=[$0], SELLER_ID=[$1], EXPR$1=[$2], LEAF_CATEG_ID0=[$3], $f1=[$4], $f5=[CAST(*($2, COALESCE($4, 1))):DECIMAL(19, 4)], ctx=[])
-            KapJoinRel(condition=[=($0, $3)], joinType=[left], ctx=[])
-              KapAggregateRel(group-set=[[4, 7]], groups=[null], EXPR$1=[SUM($8)], ctx=[])
-                KapJoinRel(condition=[=($4, $71)], joinType=[inner], ctx=[])
-                  KapJoinRel(condition=[=($1, $66)], joinType=[inner], ctx=[])
-                    KapTableScan(table=[[DEFAULT, TEST_KYLIN_FACT]], ctx=[], fields=[[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65]])
-                    KapTableScan(table=[[DEFAULT, TEST_ORDER]], ctx=[], fields=[[0, 1, 2, 3, 4]])
-                  KapTableScan(table=[[DEFAULT, TEST_CATEGORY_GROUPINGS]], ctx=[], fields=[[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35]])
-              KapAggregateRel(group-set=[[0]], groups=[null], agg#0=[COUNT()], ctx=[])
-                KapTableScan(table=[[DEFAULT, KYLIN_CATEGORY_GROUPINGS]], ctx=[], fields=[[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35]])
-        KapAggregateRel(group-set=[[0]], groups=[null], EXPR$1=[SUM($1)], ctx=[])
-          KapProjectRel(SELLER_ID=[$7], PRICE=[$8], ctx=[])
-            KapJoinRel(condition=[=($4, $71)], joinType=[inner], ctx=[])
-              KapJoinRel(condition=[=($1, $66)], joinType=[inner], ctx=[])
-                KapTableScan(table=[[DEFAULT, TEST_KYLIN_FACT]], ctx=[], fields=[[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65]])
-                KapTableScan(table=[[DEFAULT, TEST_ORDER]], ctx=[], fields=[[0, 1, 2, 3, 4]])
-              KapTableScan(table=[[DEFAULT, TEST_CATEGORY_GROUPINGS]], ctx=[], fields=[[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35]])
+OlapToEnumerableConverter
+  OlapLimitRel(ctx=[], fetch=[5])
+    OlapProjectRel(SELLER_ID=[$0], EXPR$1=[$1], ctx=[])
+      OlapUnionRel(all=[true], ctx=[], all=[true])
+        OlapAggregateRel(group-set=[[1]], groups=[null], EXPR$1=[SUM($5)], ctx=[])
+          OlapProjectRel(LEAF_CATEG_ID=[$0], SELLER_ID=[$1], EXPR$1=[$2], LEAF_CATEG_ID0=[$3], $f1=[$4], $f5=[CAST(*($2, COALESCE($4, 1))):DECIMAL(19, 4)], ctx=[])
+            OlapJoinRel(condition=[=($0, $3)], joinType=[left], ctx=[])
+              OlapAggregateRel(group-set=[[4, 7]], groups=[null], EXPR$1=[SUM($8)], ctx=[])
+                OlapJoinRel(condition=[=($4, $71)], joinType=[inner], ctx=[])
+                  OlapJoinRel(condition=[=($1, $66)], joinType=[inner], ctx=[])
+                    OlapTableScan(table=[[DEFAULT, TEST_KYLIN_FACT]], ctx=[], fields=[[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65]])
+                    OlapTableScan(table=[[DEFAULT, TEST_ORDER]], ctx=[], fields=[[0, 1, 2, 3, 4]])
+                  OlapTableScan(table=[[DEFAULT, TEST_CATEGORY_GROUPINGS]], ctx=[], fields=[[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35]])
+              OlapAggregateRel(group-set=[[0]], groups=[null], agg#0=[COUNT()], ctx=[])
+                OlapTableScan(table=[[DEFAULT, KYLIN_CATEGORY_GROUPINGS]], ctx=[], fields=[[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35]])
+        OlapAggregateRel(group-set=[[0]], groups=[null], EXPR$1=[SUM($1)], ctx=[])
+          OlapProjectRel(SELLER_ID=[$7], PRICE=[$8], ctx=[])
+            OlapJoinRel(condition=[=($4, $71)], joinType=[inner], ctx=[])
+              OlapJoinRel(condition=[=($1, $66)], joinType=[inner], ctx=[])
+                OlapTableScan(table=[[DEFAULT, TEST_KYLIN_FACT]], ctx=[], fields=[[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65]])
+                OlapTableScan(table=[[DEFAULT, TEST_ORDER]], ctx=[], fields=[[0, 1, 2, 3, 4]])
+              OlapTableScan(table=[[DEFAULT, TEST_CATEGORY_GROUPINGS]], ctx=[], fields=[[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35]])
 ]]>
         </Resource>
 
         <Resource name="query15.planBefore">
             <![CDATA[
-KapOLAPToEnumerableConverter
-  KapProjectRel(SELLER_ID=[$0], CATEG_LVL3_ID=[$1], CATEG_LVL3_ID0=[$2], EXPR$3=[$3], EXPR$4=[$4], ctx=[])
-    KapLimitRel(ctx=[], fetch=[9])
-      KapSortRel(sort0=[$0], sort1=[$1], dir0=[ASC-nulls-first], dir1=[DESC-nulls-last], ctx=[])
-        KapAggregateRel(group-set=[[0, 1, 2]], groups=[null], EXPR$3=[SUM($3)], EXPR$4=[COUNT(DISTINCT $4)], ctx=[])
-          KapProjectRel(SELLER_ID=[$7], CATEG_LVL3_ID=[$122], $f2=[$158], PRICE=[$8], ORDER_ID=[$1], ctx=[])
-            KapJoinRel(condition=[=($4, $143)], joinType=[inner], ctx=[])
-              KapJoinRel(condition=[=($4, $107)], joinType=[left], ctx=[])
-                KapJoinRel(condition=[=($4, $71)], joinType=[inner], ctx=[])
-                  KapJoinRel(condition=[=($1, $66)], joinType=[inner], ctx=[])
-                    KapTableScan(table=[[DEFAULT, TEST_KYLIN_FACT]], ctx=[], fields=[[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65]])
-                    KapTableScan(table=[[DEFAULT, TEST_ORDER]], ctx=[], fields=[[0, 1, 2, 3, 4]])
-                  KapTableScan(table=[[DEFAULT, TEST_CATEGORY_GROUPINGS]], ctx=[], fields=[[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35]])
-                KapTableScan(table=[[DEFAULT, KYLIN_CATEGORY_GROUPINGS]], ctx=[], fields=[[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35]])
-              KapTableScan(table=[[DEFAULT, KYLIN_CATEGORY_GROUPINGS]], ctx=[], fields=[[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35]])
+OlapToEnumerableConverter
+  OlapProjectRel(SELLER_ID=[$0], CATEG_LVL3_ID=[$1], CATEG_LVL3_ID0=[$2], EXPR$3=[$3], EXPR$4=[$4], ctx=[])
+    OlapLimitRel(ctx=[], fetch=[9])
+      OlapSortRel(sort0=[$0], sort1=[$1], dir0=[ASC-nulls-first], dir1=[DESC-nulls-last], ctx=[])
+        OlapAggregateRel(group-set=[[0, 1, 2]], groups=[null], EXPR$3=[SUM($3)], EXPR$4=[COUNT(DISTINCT $4)], ctx=[])
+          OlapProjectRel(SELLER_ID=[$7], CATEG_LVL3_ID=[$122], $f2=[$158], PRICE=[$8], ORDER_ID=[$1], ctx=[])
+            OlapJoinRel(condition=[=($4, $143)], joinType=[inner], ctx=[])
+              OlapJoinRel(condition=[=($4, $107)], joinType=[left], ctx=[])
+                OlapJoinRel(condition=[=($4, $71)], joinType=[inner], ctx=[])
+                  OlapJoinRel(condition=[=($1, $66)], joinType=[inner], ctx=[])
+                    OlapTableScan(table=[[DEFAULT, TEST_KYLIN_FACT]], ctx=[], fields=[[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65]])
+                    OlapTableScan(table=[[DEFAULT, TEST_ORDER]], ctx=[], fields=[[0, 1, 2, 3, 4]])
+                  OlapTableScan(table=[[DEFAULT, TEST_CATEGORY_GROUPINGS]], ctx=[], fields=[[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35]])
+                OlapTableScan(table=[[DEFAULT, KYLIN_CATEGORY_GROUPINGS]], ctx=[], fields=[[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35]])
+              OlapTableScan(table=[[DEFAULT, KYLIN_CATEGORY_GROUPINGS]], ctx=[], fields=[[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35]])
 ]]>
         </Resource>
         <Resource name="query15.planAfter">
             <![CDATA[
-KapOLAPToEnumerableConverter
-  KapProjectRel(SELLER_ID=[$0], CATEG_LVL3_ID=[$1], CATEG_LVL3_ID0=[$2], EXPR$3=[$3], EXPR$4=[$4], ctx=[])
-    KapLimitRel(ctx=[], fetch=[9])
-      KapSortRel(sort0=[$0], sort1=[$1], dir0=[ASC-nulls-first], dir1=[DESC-nulls-last], ctx=[])
-        KapAggregateRel(group-set=[[1, 2, 3]], groups=[null], EXPR$3=[SUM($4)], EXPR$4=[COUNT(DISTINCT $0)], ctx=[])
-          KapAggregateRel(group-set=[[0, 2, 3, 6]], groups=[null], EXPR$3=[SUM($8)], ctx=[])
-            KapProjectRel(ORDER_ID=[$0], LEAF_CATEG_ID=[$1], SELLER_ID=[$2], CATEG_LVL3_ID0=[$3], EXPR$3=[$4], LEAF_CATEG_ID0=[$5], CATEG_LVL3_ID=[$6], $f2=[$7], $f8=[CAST(*($4, $7)):DECIMAL(19, 4)], ctx=[])
-              KapJoinRel(condition=[=($1, $5)], joinType=[inner], ctx=[])
-                KapAggregateRel(group-set=[[1, 4, 7, 122]], groups=[null], EXPR$3=[SUM($8)], ctx=[])
-                  KapJoinRel(condition=[=($4, $107)], joinType=[left], ctx=[])
-                    KapJoinRel(condition=[=($4, $71)], joinType=[inner], ctx=[])
-                      KapJoinRel(condition=[=($1, $66)], joinType=[inner], ctx=[])
-                        KapTableScan(table=[[DEFAULT, TEST_KYLIN_FACT]], ctx=[], fields=[[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65]])
-                        KapTableScan(table=[[DEFAULT, TEST_ORDER]], ctx=[], fields=[[0, 1, 2, 3, 4]])
-                      KapTableScan(table=[[DEFAULT, TEST_CATEGORY_GROUPINGS]], ctx=[], fields=[[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35]])
-                    KapTableScan(table=[[DEFAULT, KYLIN_CATEGORY_GROUPINGS]], ctx=[], fields=[[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35]])
-                KapAggregateRel(group-set=[[0, 15]], groups=[null], agg#0=[COUNT()], ctx=[])
-                  KapTableScan(table=[[DEFAULT, KYLIN_CATEGORY_GROUPINGS]], ctx=[], fields=[[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35]])
+OlapToEnumerableConverter
+  OlapProjectRel(SELLER_ID=[$0], CATEG_LVL3_ID=[$1], CATEG_LVL3_ID0=[$2], EXPR$3=[$3], EXPR$4=[$4], ctx=[])
+    OlapLimitRel(ctx=[], fetch=[9])
+      OlapSortRel(sort0=[$0], sort1=[$1], dir0=[ASC-nulls-first], dir1=[DESC-nulls-last], ctx=[])
+        OlapAggregateRel(group-set=[[1, 2, 3]], groups=[null], EXPR$3=[SUM($4)], EXPR$4=[COUNT(DISTINCT $0)], ctx=[])
+          OlapAggregateRel(group-set=[[0, 2, 3, 6]], groups=[null], EXPR$3=[SUM($8)], ctx=[])
+            OlapProjectRel(ORDER_ID=[$0], LEAF_CATEG_ID=[$1], SELLER_ID=[$2], CATEG_LVL3_ID0=[$3], EXPR$3=[$4], LEAF_CATEG_ID0=[$5], CATEG_LVL3_ID=[$6], $f2=[$7], $f8=[CAST(*($4, $7)):DECIMAL(19, 4)], ctx=[])
+              OlapJoinRel(condition=[=($1, $5)], joinType=[inner], ctx=[])
+                OlapAggregateRel(group-set=[[1, 4, 7, 122]], groups=[null], EXPR$3=[SUM($8)], ctx=[])
+                  OlapJoinRel(condition=[=($4, $107)], joinType=[left], ctx=[])
+                    OlapJoinRel(condition=[=($4, $71)], joinType=[inner], ctx=[])
+                      OlapJoinRel(condition=[=($1, $66)], joinType=[inner], ctx=[])
+                        OlapTableScan(table=[[DEFAULT, TEST_KYLIN_FACT]], ctx=[], fields=[[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65]])
+                        OlapTableScan(table=[[DEFAULT, TEST_ORDER]], ctx=[], fields=[[0, 1, 2, 3, 4]])
+                      OlapTableScan(table=[[DEFAULT, TEST_CATEGORY_GROUPINGS]], ctx=[], fields=[[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35]])
+                    OlapTableScan(table=[[DEFAULT, KYLIN_CATEGORY_GROUPINGS]], ctx=[], fields=[[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35]])
+                OlapAggregateRel(group-set=[[0, 15]], groups=[null], agg#0=[COUNT()], ctx=[])
+                  OlapTableScan(table=[[DEFAULT, KYLIN_CATEGORY_GROUPINGS]], ctx=[], fields=[[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35]])
 ]]>
         </Resource>
 
         <Resource name="query16.planBefore">
             <![CDATA[
-KapOLAPToEnumerableConverter
-  KapProjectRel(SELLER_ID=[$0], CATEG_LVL3_ID=[$1], CATEG_LVL3_ID0=[$2], EXPR$3=[$3], EXPR$4=[$4], ctx=[])
-    KapLimitRel(ctx=[], fetch=[9])
-      KapSortRel(sort0=[$0], sort1=[$1], dir0=[ASC-nulls-first], dir1=[DESC-nulls-last], ctx=[])
-        KapAggregateRel(group-set=[[0, 1, 2]], groups=[null], EXPR$3=[SUM($3)], EXPR$4=[COUNT(DISTINCT $4)], ctx=[])
-          KapProjectRel(SELLER_ID=[$7], CATEG_LVL3_ID=[$122], $f2=[$158], PRICE=[$8], ORDER_ID=[$1], ctx=[])
-            KapJoinRel(condition=[=($4, $143)], joinType=[left], ctx=[])
-              KapJoinRel(condition=[=($4, $107)], joinType=[inner], ctx=[])
-                KapJoinRel(condition=[=($4, $71)], joinType=[inner], ctx=[])
-                  KapJoinRel(condition=[=($1, $66)], joinType=[inner], ctx=[])
-                    KapTableScan(table=[[DEFAULT, TEST_KYLIN_FACT]], ctx=[], fields=[[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65]])
-                    KapTableScan(table=[[DEFAULT, TEST_ORDER]], ctx=[], fields=[[0, 1, 2, 3, 4]])
-                  KapTableScan(table=[[DEFAULT, TEST_CATEGORY_GROUPINGS]], ctx=[], fields=[[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35]])
-                KapTableScan(table=[[DEFAULT, KYLIN_CATEGORY_GROUPINGS]], ctx=[], fields=[[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35]])
-              KapTableScan(table=[[DEFAULT, KYLIN_CATEGORY_GROUPINGS]], ctx=[], fields=[[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35]])
+OlapToEnumerableConverter
+  OlapProjectRel(SELLER_ID=[$0], CATEG_LVL3_ID=[$1], CATEG_LVL3_ID0=[$2], EXPR$3=[$3], EXPR$4=[$4], ctx=[])
+    OlapLimitRel(ctx=[], fetch=[9])
+      OlapSortRel(sort0=[$0], sort1=[$1], dir0=[ASC-nulls-first], dir1=[DESC-nulls-last], ctx=[])
+        OlapAggregateRel(group-set=[[0, 1, 2]], groups=[null], EXPR$3=[SUM($3)], EXPR$4=[COUNT(DISTINCT $4)], ctx=[])
+          OlapProjectRel(SELLER_ID=[$7], CATEG_LVL3_ID=[$122], $f2=[$158], PRICE=[$8], ORDER_ID=[$1], ctx=[])
+            OlapJoinRel(condition=[=($4, $143)], joinType=[left], ctx=[])
+              OlapJoinRel(condition=[=($4, $107)], joinType=[inner], ctx=[])
+                OlapJoinRel(condition=[=($4, $71)], joinType=[inner], ctx=[])
+                  OlapJoinRel(condition=[=($1, $66)], joinType=[inner], ctx=[])
+                    OlapTableScan(table=[[DEFAULT, TEST_KYLIN_FACT]], ctx=[], fields=[[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65]])
+                    OlapTableScan(table=[[DEFAULT, TEST_ORDER]], ctx=[], fields=[[0, 1, 2, 3, 4]])
+                  OlapTableScan(table=[[DEFAULT, TEST_CATEGORY_GROUPINGS]], ctx=[], fields=[[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35]])
+                OlapTableScan(table=[[DEFAULT, KYLIN_CATEGORY_GROUPINGS]], ctx=[], fields=[[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35]])
+              OlapTableScan(table=[[DEFAULT, KYLIN_CATEGORY_GROUPINGS]], ctx=[], fields=[[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35]])
 ]]>
         </Resource>
         <Resource name="query16.planAfter">
             <![CDATA[
-KapOLAPToEnumerableConverter
-  KapProjectRel(SELLER_ID=[$0], CATEG_LVL3_ID=[$1], CATEG_LVL3_ID0=[$2], EXPR$3=[$3], EXPR$4=[$4], ctx=[])
-    KapLimitRel(ctx=[], fetch=[9])
-      KapSortRel(sort0=[$0], sort1=[$1], dir0=[ASC-nulls-first], dir1=[DESC-nulls-last], ctx=[])
-        KapAggregateRel(group-set=[[1, 2, 3]], groups=[null], EXPR$3=[SUM($4)], EXPR$4=[COUNT(DISTINCT $0)], ctx=[])
-          KapAggregateRel(group-set=[[0, 2, 3, 6]], groups=[null], EXPR$3=[SUM($8)], ctx=[])
-            KapProjectRel(ORDER_ID=[$0], LEAF_CATEG_ID=[$1], SELLER_ID=[$2], CATEG_LVL3_ID0=[$3], EXPR$3=[$4], LEAF_CATEG_ID0=[$5], CATEG_LVL3_ID=[$6], $f2=[$7], $f8=[CAST(*($4, COALESCE($7, 1))):DECIMAL(19, 4)], ctx=[])
-              KapJoinRel(condition=[=($1, $5)], joinType=[left], ctx=[])
-                KapAggregateRel(group-set=[[1, 4, 7, 122]], groups=[null], EXPR$3=[SUM($8)], ctx=[])
-                  KapJoinRel(condition=[=($4, $107)], joinType=[inner], ctx=[])
-                    KapJoinRel(condition=[=($4, $71)], joinType=[inner], ctx=[])
-                      KapJoinRel(condition=[=($1, $66)], joinType=[inner], ctx=[])
-                        KapTableScan(table=[[DEFAULT, TEST_KYLIN_FACT]], ctx=[], fields=[[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65]])
-                        KapTableScan(table=[[DEFAULT, TEST_ORDER]], ctx=[], fields=[[0, 1, 2, 3, 4]])
-                      KapTableScan(table=[[DEFAULT, TEST_CATEGORY_GROUPINGS]], ctx=[], fields=[[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35]])
-                    KapTableScan(table=[[DEFAULT, KYLIN_CATEGORY_GROUPINGS]], ctx=[], fields=[[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35]])
-                KapAggregateRel(group-set=[[0, 15]], groups=[null], agg#0=[COUNT()], ctx=[])
-                  KapTableScan(table=[[DEFAULT, KYLIN_CATEGORY_GROUPINGS]], ctx=[], fields=[[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35]])
+OlapToEnumerableConverter
+  OlapProjectRel(SELLER_ID=[$0], CATEG_LVL3_ID=[$1], CATEG_LVL3_ID0=[$2], EXPR$3=[$3], EXPR$4=[$4], ctx=[])
+    OlapLimitRel(ctx=[], fetch=[9])
+      OlapSortRel(sort0=[$0], sort1=[$1], dir0=[ASC-nulls-first], dir1=[DESC-nulls-last], ctx=[])
+        OlapAggregateRel(group-set=[[1, 2, 3]], groups=[null], EXPR$3=[SUM($4)], EXPR$4=[COUNT(DISTINCT $0)], ctx=[])
+          OlapAggregateRel(group-set=[[0, 2, 3, 6]], groups=[null], EXPR$3=[SUM($8)], ctx=[])
+            OlapProjectRel(ORDER_ID=[$0], LEAF_CATEG_ID=[$1], SELLER_ID=[$2], CATEG_LVL3_ID0=[$3], EXPR$3=[$4], LEAF_CATEG_ID0=[$5], CATEG_LVL3_ID=[$6], $f2=[$7], $f8=[CAST(*($4, COALESCE($7, 1))):DECIMAL(19, 4)], ctx=[])
+              OlapJoinRel(condition=[=($1, $5)], joinType=[left], ctx=[])
+                OlapAggregateRel(group-set=[[1, 4, 7, 122]], groups=[null], EXPR$3=[SUM($8)], ctx=[])
+                  OlapJoinRel(condition=[=($4, $107)], joinType=[inner], ctx=[])
+                    OlapJoinRel(condition=[=($4, $71)], joinType=[inner], ctx=[])
+                      OlapJoinRel(condition=[=($1, $66)], joinType=[inner], ctx=[])
+                        OlapTableScan(table=[[DEFAULT, TEST_KYLIN_FACT]], ctx=[], fields=[[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65]])
+                        OlapTableScan(table=[[DEFAULT, TEST_ORDER]], ctx=[], fields=[[0, 1, 2, 3, 4]])
+                      OlapTableScan(table=[[DEFAULT, TEST_CATEGORY_GROUPINGS]], ctx=[], fields=[[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35]])
+                    OlapTableScan(table=[[DEFAULT, KYLIN_CATEGORY_GROUPINGS]], ctx=[], fields=[[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35]])
+                OlapAggregateRel(group-set=[[0, 15]], groups=[null], agg#0=[COUNT()], ctx=[])
+                  OlapTableScan(table=[[DEFAULT, KYLIN_CATEGORY_GROUPINGS]], ctx=[], fields=[[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35]])
 ]]>
         </Resource>
 
         <Resource name="query17.planBefore">
             <![CDATA[
-KapOLAPToEnumerableConverter
-  KapLimitRel(ctx=[], fetch=[9])
-    KapSortRel(sort0=[$0], sort1=[$1], dir0=[ASC-nulls-first], dir1=[DESC-nulls-last], ctx=[])
-      KapAggregateRel(group-set=[[0, 1]], groups=[null], EXPR$2=[COUNT(DISTINCT $2)], ctx=[])
-        KapProjectRel(SELLER_ID=[$7], CATEG_LVL3_ID=[$122], ORDER_ID=[$1], ctx=[])
-          KapJoinRel(condition=[=($4, $107)], joinType=[left], ctx=[])
-            KapJoinRel(condition=[=($4, $71)], joinType=[inner], ctx=[])
-              KapJoinRel(condition=[=($1, $66)], joinType=[inner], ctx=[])
-                KapTableScan(table=[[DEFAULT, TEST_KYLIN_FACT]], ctx=[], fields=[[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65]])
-                KapTableScan(table=[[DEFAULT, TEST_ORDER]], ctx=[], fields=[[0, 1, 2, 3, 4]])
-              KapTableScan(table=[[DEFAULT, TEST_CATEGORY_GROUPINGS]], ctx=[], fields=[[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35]])
-            KapTableScan(table=[[DEFAULT, KYLIN_CATEGORY_GROUPINGS]], ctx=[], fields=[[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35]])
+OlapToEnumerableConverter
+  OlapLimitRel(ctx=[], fetch=[9])
+    OlapSortRel(sort0=[$0], sort1=[$1], dir0=[ASC-nulls-first], dir1=[DESC-nulls-last], ctx=[])
+      OlapAggregateRel(group-set=[[0, 1]], groups=[null], EXPR$2=[COUNT(DISTINCT $2)], ctx=[])
+        OlapProjectRel(SELLER_ID=[$7], CATEG_LVL3_ID=[$122], ORDER_ID=[$1], ctx=[])
+          OlapJoinRel(condition=[=($4, $107)], joinType=[left], ctx=[])
+            OlapJoinRel(condition=[=($4, $71)], joinType=[inner], ctx=[])
+              OlapJoinRel(condition=[=($1, $66)], joinType=[inner], ctx=[])
+                OlapTableScan(table=[[DEFAULT, TEST_KYLIN_FACT]], ctx=[], fields=[[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65]])
+                OlapTableScan(table=[[DEFAULT, TEST_ORDER]], ctx=[], fields=[[0, 1, 2, 3, 4]])
+              OlapTableScan(table=[[DEFAULT, TEST_CATEGORY_GROUPINGS]], ctx=[], fields=[[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35]])
+            OlapTableScan(table=[[DEFAULT, KYLIN_CATEGORY_GROUPINGS]], ctx=[], fields=[[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35]])
 ]]>
         </Resource>
         <Resource name="query17.planAfter">
             <![CDATA[
-KapOLAPToEnumerableConverter
-  KapLimitRel(ctx=[], fetch=[9])
-    KapSortRel(sort0=[$0], sort1=[$1], dir0=[ASC-nulls-first], dir1=[DESC-nulls-last], ctx=[])
-      KapAggregateRel(group-set=[[1, 2]], groups=[null], EXPR$2=[COUNT(DISTINCT $0)], ctx=[])
-        KapAggregateRel(group-set=[[0, 2, 4]], groups=[null], ctx=[])
-          KapJoinRel(condition=[=($1, $3)], joinType=[left], ctx=[])
-            KapAggregateRel(group-set=[[1, 4, 7]], groups=[null], ctx=[])
-              KapJoinRel(condition=[=($4, $71)], joinType=[inner], ctx=[])
-                KapJoinRel(condition=[=($1, $66)], joinType=[inner], ctx=[])
-                  KapTableScan(table=[[DEFAULT, TEST_KYLIN_FACT]], ctx=[], fields=[[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65]])
-                  KapTableScan(table=[[DEFAULT, TEST_ORDER]], ctx=[], fields=[[0, 1, 2, 3, 4]])
-                KapTableScan(table=[[DEFAULT, TEST_CATEGORY_GROUPINGS]], ctx=[], fields=[[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35]])
-            KapAggregateRel(group-set=[[0, 15]], groups=[null], ctx=[])
-              KapTableScan(table=[[DEFAULT, KYLIN_CATEGORY_GROUPINGS]], ctx=[], fields=[[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35]])
+OlapToEnumerableConverter
+  OlapLimitRel(ctx=[], fetch=[9])
+    OlapSortRel(sort0=[$0], sort1=[$1], dir0=[ASC-nulls-first], dir1=[DESC-nulls-last], ctx=[])
+      OlapAggregateRel(group-set=[[1, 2]], groups=[null], EXPR$2=[COUNT(DISTINCT $0)], ctx=[])
+        OlapAggregateRel(group-set=[[0, 2, 4]], groups=[null], ctx=[])
+          OlapJoinRel(condition=[=($1, $3)], joinType=[left], ctx=[])
+            OlapAggregateRel(group-set=[[1, 4, 7]], groups=[null], ctx=[])
+              OlapJoinRel(condition=[=($4, $71)], joinType=[inner], ctx=[])
+                OlapJoinRel(condition=[=($1, $66)], joinType=[inner], ctx=[])
+                  OlapTableScan(table=[[DEFAULT, TEST_KYLIN_FACT]], ctx=[], fields=[[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65]])
+                  OlapTableScan(table=[[DEFAULT, TEST_ORDER]], ctx=[], fields=[[0, 1, 2, 3, 4]])
+                OlapTableScan(table=[[DEFAULT, TEST_CATEGORY_GROUPINGS]], ctx=[], fields=[[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35]])
+            OlapAggregateRel(group-set=[[0, 15]], groups=[null], ctx=[])
+              OlapTableScan(table=[[DEFAULT, KYLIN_CATEGORY_GROUPINGS]], ctx=[], fields=[[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35]])
 ]]>
         </Resource>
 
         <Resource name="query18.planBefore">
             <![CDATA[
-KapOLAPToEnumerableConverter
-  KapLimitRel(ctx=[], fetch=[9])
-    KapSortRel(sort0=[$0], sort1=[$1], dir0=[ASC-nulls-first], dir1=[DESC-nulls-last], ctx=[])
-      KapAggregateRel(group-set=[[0, 1]], groups=[null], EXPR$2=[SUM($2)], EXPR$3=[COUNT(DISTINCT $3)], ctx=[])
-        KapProjectRel(SELLER_ID=[$7], CATEG_LVL3_ID=[$122], $f2=[CASE(>($0, 10), $8, 1)], ORDER_ID=[$1], ctx=[])
-          KapJoinRel(condition=[=($4, $107)], joinType=[left], ctx=[])
-            KapJoinRel(condition=[=($4, $71)], joinType=[inner], ctx=[])
-              KapJoinRel(condition=[=($1, $66)], joinType=[inner], ctx=[])
-                KapTableScan(table=[[DEFAULT, TEST_KYLIN_FACT]], ctx=[], fields=[[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65]])
-                KapTableScan(table=[[DEFAULT, TEST_ORDER]], ctx=[], fields=[[0, 1, 2, 3, 4]])
-              KapTableScan(table=[[DEFAULT, TEST_CATEGORY_GROUPINGS]], ctx=[], fields=[[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35]])
-            KapTableScan(table=[[DEFAULT, KYLIN_CATEGORY_GROUPINGS]], ctx=[], fields=[[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35]])
+OlapToEnumerableConverter
+  OlapLimitRel(ctx=[], fetch=[9])
+    OlapSortRel(sort0=[$0], sort1=[$1], dir0=[ASC-nulls-first], dir1=[DESC-nulls-last], ctx=[])
+      OlapAggregateRel(group-set=[[0, 1]], groups=[null], EXPR$2=[SUM($2)], EXPR$3=[COUNT(DISTINCT $3)], ctx=[])
+        OlapProjectRel(SELLER_ID=[$7], CATEG_LVL3_ID=[$122], $f2=[CASE(>($0, 10), $8, 1)], ORDER_ID=[$1], ctx=[])
+          OlapJoinRel(condition=[=($4, $107)], joinType=[left], ctx=[])
+            OlapJoinRel(condition=[=($4, $71)], joinType=[inner], ctx=[])
+              OlapJoinRel(condition=[=($1, $66)], joinType=[inner], ctx=[])
+                OlapTableScan(table=[[DEFAULT, TEST_KYLIN_FACT]], ctx=[], fields=[[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65]])
+                OlapTableScan(table=[[DEFAULT, TEST_ORDER]], ctx=[], fields=[[0, 1, 2, 3, 4]])
+              OlapTableScan(table=[[DEFAULT, TEST_CATEGORY_GROUPINGS]], ctx=[], fields=[[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35]])
+            OlapTableScan(table=[[DEFAULT, KYLIN_CATEGORY_GROUPINGS]], ctx=[], fields=[[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35]])
 ]]>
         </Resource>
         <Resource name="query18.planAfter">
             <![CDATA[
-KapOLAPToEnumerableConverter
-  KapLimitRel(ctx=[], fetch=[9])
-    KapSortRel(sort0=[$0], sort1=[$1], dir0=[ASC-nulls-first], dir1=[DESC-nulls-last], ctx=[])
-      KapProjectRel(SELLER_ID=[$0], CATEG_LVL3_ID0=[$1], AGG$0=[$5], EXPR$3=[$2], ctx=[])
-        KapJoinRel(condition=[AND(=($0, $3), =($1, $4))], joinType=[inner], ctx=[])
-          KapAggregateRel(group-set=[[1, 2]], groups=[null], EXPR$3=[COUNT(DISTINCT $0)], ctx=[])
-            KapAggregateRel(group-set=[[0, 2, 4]], groups=[null], ctx=[])
-              KapJoinRel(condition=[=($1, $3)], joinType=[left], ctx=[])
-                KapAggregateRel(group-set=[[1, 4, 7]], groups=[null], ctx=[])
-                  KapJoinRel(condition=[=($4, $71)], joinType=[inner], ctx=[])
-                    KapJoinRel(condition=[=($1, $66)], joinType=[inner], ctx=[])
-                      KapTableScan(table=[[DEFAULT, TEST_KYLIN_FACT]], ctx=[], fields=[[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65]])
-                      KapTableScan(table=[[DEFAULT, TEST_ORDER]], ctx=[], fields=[[0, 1, 2, 3, 4]])
-                    KapTableScan(table=[[DEFAULT, TEST_CATEGORY_GROUPINGS]], ctx=[], fields=[[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35]])
-                KapAggregateRel(group-set=[[0, 15]], groups=[null], ctx=[])
-                  KapTableScan(table=[[DEFAULT, KYLIN_CATEGORY_GROUPINGS]], ctx=[], fields=[[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35]])
-          KapAggregateRel(group-set=[[0, 1]], groups=[null], AGG$0=[SUM($2)], ctx=[])
-            KapProjectRel(SELLER_ID=[$0], CATEG_LVL3_ID0=[$1], $f2=[CASE(>($2, 10), $3, $4)], ctx=[])
-              KapAggregateRel(group-set=[[0, 1, 2]], groups=[null], TOP_AGG$0=[SUM($3)], TOP_AGG$1=[SUM($4)], ctx=[])
-                KapProjectRel(SELLER_ID=[$0], CATEG_LVL3_ID0=[$1], TRANS_ID=[$2], SUM_CASE$0$0=[$3], $f4=[CAST(*(1, $4)):DECIMAL(19, 4) NOT NULL], ctx=[])
-                  KapProjectRel(SELLER_ID=[$1], CATEG_LVL3_ID0=[$2], TRANS_ID=[$0], SUM_CASE$0$0=[$3], SUM_CONST$1=[$4], ctx=[])
-                    KapAggregateRel(group-set=[[0, 2, 6]], groups=[null], SUM_CASE$0$0=[SUM($8)], SUM_CONST$1=[$SUM0($9)], ctx=[])
-                      KapProjectRel(TRANS_ID=[$0], LEAF_CATEG_ID=[$1], SELLER_ID=[$2], SUM_CASE$0$0=[$3], SUM_CONST$1=[$4], LEAF_CATEG_ID0=[$5], CATEG_LVL3_ID=[$6], $f2=[$7], $f8=[CAST(*($3, COALESCE($7, 1))):DECIMAL(19, 4)], $f9=[*(COALESCE($4, 1), $7)], ctx=[])
-                        KapJoinRel(condition=[=($1, $5)], joinType=[left], ctx=[])
-                          KapAggregateRel(group-set=[[0, 4, 7]], groups=[null], SUM_CASE$0$0=[SUM($8)], SUM_CONST$1=[COUNT()], ctx=[])
-                            KapJoinRel(condition=[=($4, $71)], joinType=[inner], ctx=[])
-                              KapJoinRel(condition=[=($1, $66)], joinType=[inner], ctx=[])
-                                KapTableScan(table=[[DEFAULT, TEST_KYLIN_FACT]], ctx=[], fields=[[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65]])
-                                KapTableScan(table=[[DEFAULT, TEST_ORDER]], ctx=[], fields=[[0, 1, 2, 3, 4]])
-                              KapTableScan(table=[[DEFAULT, TEST_CATEGORY_GROUPINGS]], ctx=[], fields=[[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35]])
-                          KapAggregateRel(group-set=[[0, 15]], groups=[null], agg#0=[COUNT()], ctx=[])
-                            KapTableScan(table=[[DEFAULT, KYLIN_CATEGORY_GROUPINGS]], ctx=[], fields=[[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35]])
+OlapToEnumerableConverter
+  OlapLimitRel(ctx=[], fetch=[9])
+    OlapSortRel(sort0=[$0], sort1=[$1], dir0=[ASC-nulls-first], dir1=[DESC-nulls-last], ctx=[])
+      OlapProjectRel(SELLER_ID=[$0], CATEG_LVL3_ID0=[$1], AGG$0=[$5], EXPR$3=[$2], ctx=[])
+        OlapJoinRel(condition=[AND(=($0, $3), =($1, $4))], joinType=[inner], ctx=[])
+          OlapAggregateRel(group-set=[[1, 2]], groups=[null], EXPR$3=[COUNT(DISTINCT $0)], ctx=[])
+            OlapAggregateRel(group-set=[[0, 2, 4]], groups=[null], ctx=[])
+              OlapJoinRel(condition=[=($1, $3)], joinType=[left], ctx=[])
+                OlapAggregateRel(group-set=[[1, 4, 7]], groups=[null], ctx=[])
+                  OlapJoinRel(condition=[=($4, $71)], joinType=[inner], ctx=[])
+                    OlapJoinRel(condition=[=($1, $66)], joinType=[inner], ctx=[])
+                      OlapTableScan(table=[[DEFAULT, TEST_KYLIN_FACT]], ctx=[], fields=[[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65]])
+                      OlapTableScan(table=[[DEFAULT, TEST_ORDER]], ctx=[], fields=[[0, 1, 2, 3, 4]])
+                    OlapTableScan(table=[[DEFAULT, TEST_CATEGORY_GROUPINGS]], ctx=[], fields=[[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35]])
+                OlapAggregateRel(group-set=[[0, 15]], groups=[null], ctx=[])
+                  OlapTableScan(table=[[DEFAULT, KYLIN_CATEGORY_GROUPINGS]], ctx=[], fields=[[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35]])
+          OlapAggregateRel(group-set=[[0, 1]], groups=[null], AGG$0=[SUM($2)], ctx=[])
+            OlapProjectRel(SELLER_ID=[$0], CATEG_LVL3_ID0=[$1], $f2=[CASE(>($2, 10), $3, $4)], ctx=[])
+              OlapAggregateRel(group-set=[[0, 1, 2]], groups=[null], TOP_AGG$0=[SUM($3)], TOP_AGG$1=[SUM($4)], ctx=[])
+                OlapProjectRel(SELLER_ID=[$0], CATEG_LVL3_ID0=[$1], TRANS_ID=[$2], SUM_CASE$0$0=[$3], $f4=[CAST(*(1, $4)):DECIMAL(19, 4) NOT NULL], ctx=[])
+                  OlapProjectRel(SELLER_ID=[$1], CATEG_LVL3_ID0=[$2], TRANS_ID=[$0], SUM_CASE$0$0=[$3], SUM_CONST$1=[$4], ctx=[])
+                    OlapAggregateRel(group-set=[[0, 2, 6]], groups=[null], SUM_CASE$0$0=[SUM($8)], SUM_CONST$1=[$SUM0($9)], ctx=[])
+                      OlapProjectRel(TRANS_ID=[$0], LEAF_CATEG_ID=[$1], SELLER_ID=[$2], SUM_CASE$0$0=[$3], SUM_CONST$1=[$4], LEAF_CATEG_ID0=[$5], CATEG_LVL3_ID=[$6], $f2=[$7], $f8=[CAST(*($3, COALESCE($7, 1))):DECIMAL(19, 4)], $f9=[*(COALESCE($4, 1), $7)], ctx=[])
+                        OlapJoinRel(condition=[=($1, $5)], joinType=[left], ctx=[])
+                          OlapAggregateRel(group-set=[[0, 4, 7]], groups=[null], SUM_CASE$0$0=[SUM($8)], SUM_CONST$1=[COUNT()], ctx=[])
+                            OlapJoinRel(condition=[=($4, $71)], joinType=[inner], ctx=[])
+                              OlapJoinRel(condition=[=($1, $66)], joinType=[inner], ctx=[])
+                                OlapTableScan(table=[[DEFAULT, TEST_KYLIN_FACT]], ctx=[], fields=[[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65]])
+                                OlapTableScan(table=[[DEFAULT, TEST_ORDER]], ctx=[], fields=[[0, 1, 2, 3, 4]])
+                              OlapTableScan(table=[[DEFAULT, TEST_CATEGORY_GROUPINGS]], ctx=[], fields=[[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35]])
+                          OlapAggregateRel(group-set=[[0, 15]], groups=[null], agg#0=[COUNT()], ctx=[])
+                            OlapTableScan(table=[[DEFAULT, KYLIN_CATEGORY_GROUPINGS]], ctx=[], fields=[[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35]])
 ]]>
         </Resource>
 
         <Resource name="query19.planBefore">
             <![CDATA[
-KapOLAPToEnumerableConverter
-  KapProjectRel(SELLER_ID=[$0], CATEG_LVL3_ID=[$1], CATEG_LVL3_ID0=[$2], EXPR$3=[$3], EXPR$4=[$4], EXPR$5=[$5], ctx=[])
-    KapLimitRel(ctx=[], fetch=[9])
-      KapSortRel(sort0=[$0], sort1=[$1], dir0=[ASC-nulls-first], dir1=[DESC-nulls-last], ctx=[])
-        KapAggregateRel(group-set=[[0, 1, 2]], groups=[null], EXPR$3=[SUM($3)], EXPR$4=[COUNT(DISTINCT $4)], EXPR$5=[COUNT(DISTINCT $5)], ctx=[])
-          KapProjectRel(SELLER_ID=[$7], CATEG_LVL3_ID=[$122], $f2=[$158], PRICE=[$8], ORDER_ID=[$1], $f5=[CASE(>($0, 10), $8, 1)], ctx=[])
-            KapJoinRel(condition=[=($4, $143)], joinType=[inner], ctx=[])
-              KapJoinRel(condition=[=($4, $107)], joinType=[left], ctx=[])
-                KapJoinRel(condition=[=($4, $71)], joinType=[inner], ctx=[])
-                  KapJoinRel(condition=[=($1, $66)], joinType=[inner], ctx=[])
-                    KapTableScan(table=[[DEFAULT, TEST_KYLIN_FACT]], ctx=[], fields=[[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65]])
-                    KapTableScan(table=[[DEFAULT, TEST_ORDER]], ctx=[], fields=[[0, 1, 2, 3, 4]])
-                  KapTableScan(table=[[DEFAULT, TEST_CATEGORY_GROUPINGS]], ctx=[], fields=[[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35]])
-                KapTableScan(table=[[DEFAULT, KYLIN_CATEGORY_GROUPINGS]], ctx=[], fields=[[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35]])
-              KapTableScan(table=[[DEFAULT, KYLIN_CATEGORY_GROUPINGS]], ctx=[], fields=[[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35]])
+OlapToEnumerableConverter
+  OlapProjectRel(SELLER_ID=[$0], CATEG_LVL3_ID=[$1], CATEG_LVL3_ID0=[$2], EXPR$3=[$3], EXPR$4=[$4], EXPR$5=[$5], ctx=[])
+    OlapLimitRel(ctx=[], fetch=[9])
+      OlapSortRel(sort0=[$0], sort1=[$1], dir0=[ASC-nulls-first], dir1=[DESC-nulls-last], ctx=[])
+        OlapAggregateRel(group-set=[[0, 1, 2]], groups=[null], EXPR$3=[SUM($3)], EXPR$4=[COUNT(DISTINCT $4)], EXPR$5=[COUNT(DISTINCT $5)], ctx=[])
+          OlapProjectRel(SELLER_ID=[$7], CATEG_LVL3_ID=[$122], $f2=[$158], PRICE=[$8], ORDER_ID=[$1], $f5=[CASE(>($0, 10), $8, 1)], ctx=[])
+            OlapJoinRel(condition=[=($4, $143)], joinType=[inner], ctx=[])
+              OlapJoinRel(condition=[=($4, $107)], joinType=[left], ctx=[])
+                OlapJoinRel(condition=[=($4, $71)], joinType=[inner], ctx=[])
+                  OlapJoinRel(condition=[=($1, $66)], joinType=[inner], ctx=[])
+                    OlapTableScan(table=[[DEFAULT, TEST_KYLIN_FACT]], ctx=[], fields=[[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65]])
+                    OlapTableScan(table=[[DEFAULT, TEST_ORDER]], ctx=[], fields=[[0, 1, 2, 3, 4]])
+                  OlapTableScan(table=[[DEFAULT, TEST_CATEGORY_GROUPINGS]], ctx=[], fields=[[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35]])
+                OlapTableScan(table=[[DEFAULT, KYLIN_CATEGORY_GROUPINGS]], ctx=[], fields=[[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35]])
+              OlapTableScan(table=[[DEFAULT, KYLIN_CATEGORY_GROUPINGS]], ctx=[], fields=[[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35]])
 ]]>
         </Resource>
         <Resource name="query19.planAfter">
             <![CDATA[
-KapOLAPToEnumerableConverter
-  KapProjectRel(SELLER_ID=[$0], CATEG_LVL3_ID=[$1], CATEG_LVL3_ID0=[$2], EXPR$3=[$3], EXPR$4=[$4], EXPR$5=[$5], ctx=[])
-    KapLimitRel(ctx=[], fetch=[9])
-      KapSortRel(sort0=[$0], sort1=[$1], dir0=[ASC-nulls-first], dir1=[DESC-nulls-last], ctx=[])
-        KapAggregateRel(group-set=[[0, 1, 2]], groups=[null], EXPR$3=[SUM($5)], EXPR$4=[COUNT(DISTINCT $3)], EXPR$5=[COUNT(DISTINCT $4)], ctx=[])
-          KapAggregateRel(group-set=[[0, 1, 2, 3, 4]], groups=[null], EXPR$3=[SUM($5)], ctx=[])
-            KapProjectRel(SELLER_ID=[$2], CATEG_LVL3_ID=[$4], $f2=[$5], ORDER_ID=[$1], $f5=[CASE(>($0, 10), $3, 1)], $6=[$6], ctx=[])
-              KapAggregateRel(group-set=[[0, 1, 3, 4, 5, 8]], groups=[null], EXPR$3=[SUM($10)], ctx=[])
-                KapProjectRel(TRANS_ID=[$0], ORDER_ID=[$1], LEAF_CATEG_ID=[$2], SELLER_ID=[$3], PRICE=[$4], CATEG_LVL3_ID0=[$5], EXPR$3=[$6], LEAF_CATEG_ID0=[$7], CATEG_LVL3_ID=[$8], $f2=[$9], $f10=[CAST(*($6, $9)):DECIMAL(19, 4)], ctx=[])
-                  KapJoinRel(condition=[=($2, $7)], joinType=[inner], ctx=[])
-                    KapAggregateRel(group-set=[[0, 1, 4, 7, 8, 122]], groups=[null], EXPR$3=[SUM($8)], ctx=[])
-                      KapJoinRel(condition=[=($4, $107)], joinType=[left], ctx=[])
-                        KapJoinRel(condition=[=($4, $71)], joinType=[inner], ctx=[])
-                          KapJoinRel(condition=[=($1, $66)], joinType=[inner], ctx=[])
-                            KapTableScan(table=[[DEFAULT, TEST_KYLIN_FACT]], ctx=[], fields=[[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65]])
-                            KapTableScan(table=[[DEFAULT, TEST_ORDER]], ctx=[], fields=[[0, 1, 2, 3, 4]])
-                          KapTableScan(table=[[DEFAULT, TEST_CATEGORY_GROUPINGS]], ctx=[], fields=[[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35]])
-                        KapTableScan(table=[[DEFAULT, KYLIN_CATEGORY_GROUPINGS]], ctx=[], fields=[[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35]])
-                    KapAggregateRel(group-set=[[0, 15]], groups=[null], agg#0=[COUNT()], ctx=[])
-                      KapTableScan(table=[[DEFAULT, KYLIN_CATEGORY_GROUPINGS]], ctx=[], fields=[[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35]])
+OlapToEnumerableConverter
+  OlapProjectRel(SELLER_ID=[$0], CATEG_LVL3_ID=[$1], CATEG_LVL3_ID0=[$2], EXPR$3=[$3], EXPR$4=[$4], EXPR$5=[$5], ctx=[])
+    OlapLimitRel(ctx=[], fetch=[9])
+      OlapSortRel(sort0=[$0], sort1=[$1], dir0=[ASC-nulls-first], dir1=[DESC-nulls-last], ctx=[])
+        OlapAggregateRel(group-set=[[0, 1, 2]], groups=[null], EXPR$3=[SUM($5)], EXPR$4=[COUNT(DISTINCT $3)], EXPR$5=[COUNT(DISTINCT $4)], ctx=[])
+          OlapAggregateRel(group-set=[[0, 1, 2, 3, 4]], groups=[null], EXPR$3=[SUM($5)], ctx=[])
+            OlapProjectRel(SELLER_ID=[$2], CATEG_LVL3_ID=[$4], $f2=[$5], ORDER_ID=[$1], $f5=[CASE(>($0, 10), $3, 1)], $6=[$6], ctx=[])
+              OlapAggregateRel(group-set=[[0, 1, 3, 4, 5, 8]], groups=[null], EXPR$3=[SUM($10)], ctx=[])
+                OlapProjectRel(TRANS_ID=[$0], ORDER_ID=[$1], LEAF_CATEG_ID=[$2], SELLER_ID=[$3], PRICE=[$4], CATEG_LVL3_ID0=[$5], EXPR$3=[$6], LEAF_CATEG_ID0=[$7], CATEG_LVL3_ID=[$8], $f2=[$9], $f10=[CAST(*($6, $9)):DECIMAL(19, 4)], ctx=[])
+                  OlapJoinRel(condition=[=($2, $7)], joinType=[inner], ctx=[])
+                    OlapAggregateRel(group-set=[[0, 1, 4, 7, 8, 122]], groups=[null], EXPR$3=[SUM($8)], ctx=[])
+                      OlapJoinRel(condition=[=($4, $107)], joinType=[left], ctx=[])
+                        OlapJoinRel(condition=[=($4, $71)], joinType=[inner], ctx=[])
+                          OlapJoinRel(condition=[=($1, $66)], joinType=[inner], ctx=[])
+                            OlapTableScan(table=[[DEFAULT, TEST_KYLIN_FACT]], ctx=[], fields=[[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65]])
+                            OlapTableScan(table=[[DEFAULT, TEST_ORDER]], ctx=[], fields=[[0, 1, 2, 3, 4]])
+                          OlapTableScan(table=[[DEFAULT, TEST_CATEGORY_GROUPINGS]], ctx=[], fields=[[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35]])
+                        OlapTableScan(table=[[DEFAULT, KYLIN_CATEGORY_GROUPINGS]], ctx=[], fields=[[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35]])
+                    OlapAggregateRel(group-set=[[0, 15]], groups=[null], agg#0=[COUNT()], ctx=[])
+                      OlapTableScan(table=[[DEFAULT, KYLIN_CATEGORY_GROUPINGS]], ctx=[], fields=[[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35]])
 ]]>
         </Resource>
 
         <Resource name="query20.planBefore">
             <![CDATA[
-KapOLAPToEnumerableConverter
-  KapProjectRel(SELLER_ID=[$0], CATEG_LVL3_ID=[$1], CATEG_LVL3_ID0=[$2], EXPR$3=[$3], EXPR$4=[$4], EXPR$5=[$5], EXPR$6=[$6], ctx=[])
-    KapLimitRel(ctx=[], fetch=[9])
-      KapSortRel(sort0=[$0], sort1=[$1], dir0=[ASC-nulls-first], dir1=[DESC-nulls-last], ctx=[])
-        KapAggregateRel(group-set=[[0, 1, 2]], groups=[null], EXPR$3=[SUM($3)], EXPR$4=[SUM($4)], EXPR$5=[COUNT(DISTINCT $5)], EXPR$6=[COUNT(DISTINCT $4)], ctx=[])
-          KapProjectRel(SELLER_ID=[$7], CATEG_LVL3_ID=[$122], $f2=[$158], PRICE=[$8], $f4=[CASE(>($0, 10), $8, 1)], ORDER_ID=[$1], ctx=[])
-            KapJoinRel(condition=[=($4, $143)], joinType=[inner], ctx=[])
-              KapJoinRel(condition=[=($4, $107)], joinType=[left], ctx=[])
-                KapJoinRel(condition=[=($4, $71)], joinType=[inner], ctx=[])
-                  KapJoinRel(condition=[=($1, $66)], joinType=[inner], ctx=[])
-                    KapTableScan(table=[[DEFAULT, TEST_KYLIN_FACT]], ctx=[], fields=[[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65]])
-                    KapTableScan(table=[[DEFAULT, TEST_ORDER]], ctx=[], fields=[[0, 1, 2, 3, 4]])
-                  KapTableScan(table=[[DEFAULT, TEST_CATEGORY_GROUPINGS]], ctx=[], fields=[[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35]])
-                KapTableScan(table=[[DEFAULT, KYLIN_CATEGORY_GROUPINGS]], ctx=[], fields=[[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35]])
-              KapTableScan(table=[[DEFAULT, KYLIN_CATEGORY_GROUPINGS]], ctx=[], fields=[[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35]])
+OlapToEnumerableConverter
+  OlapProjectRel(SELLER_ID=[$0], CATEG_LVL3_ID=[$1], CATEG_LVL3_ID0=[$2], EXPR$3=[$3], EXPR$4=[$4], EXPR$5=[$5], EXPR$6=[$6], ctx=[])
+    OlapLimitRel(ctx=[], fetch=[9])
+      OlapSortRel(sort0=[$0], sort1=[$1], dir0=[ASC-nulls-first], dir1=[DESC-nulls-last], ctx=[])
+        OlapAggregateRel(group-set=[[0, 1, 2]], groups=[null], EXPR$3=[SUM($3)], EXPR$4=[SUM($4)], EXPR$5=[COUNT(DISTINCT $5)], EXPR$6=[COUNT(DISTINCT $4)], ctx=[])
+          OlapProjectRel(SELLER_ID=[$7], CATEG_LVL3_ID=[$122], $f2=[$158], PRICE=[$8], $f4=[CASE(>($0, 10), $8, 1)], ORDER_ID=[$1], ctx=[])
+            OlapJoinRel(condition=[=($4, $143)], joinType=[inner], ctx=[])
+              OlapJoinRel(condition=[=($4, $107)], joinType=[left], ctx=[])
+                OlapJoinRel(condition=[=($4, $71)], joinType=[inner], ctx=[])
+                  OlapJoinRel(condition=[=($1, $66)], joinType=[inner], ctx=[])
+                    OlapTableScan(table=[[DEFAULT, TEST_KYLIN_FACT]], ctx=[], fields=[[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65]])
+                    OlapTableScan(table=[[DEFAULT, TEST_ORDER]], ctx=[], fields=[[0, 1, 2, 3, 4]])
+                  OlapTableScan(table=[[DEFAULT, TEST_CATEGORY_GROUPINGS]], ctx=[], fields=[[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35]])
+                OlapTableScan(table=[[DEFAULT, KYLIN_CATEGORY_GROUPINGS]], ctx=[], fields=[[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35]])
+              OlapTableScan(table=[[DEFAULT, KYLIN_CATEGORY_GROUPINGS]], ctx=[], fields=[[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35]])
 ]]>
         </Resource>
         <Resource name="query20.planAfter">
             <![CDATA[
-KapOLAPToEnumerableConverter
-  KapProjectRel(SELLER_ID=[$0], CATEG_LVL3_ID=[$1], CATEG_LVL3_ID0=[$2], EXPR$3=[$3], EXPR$4=[$4], EXPR$5=[$5], EXPR$6=[$6], ctx=[])
-    KapLimitRel(ctx=[], fetch=[9])
-      KapSortRel(sort0=[$0], sort1=[$1], dir0=[ASC-nulls-first], dir1=[DESC-nulls-last], ctx=[])
-        KapProjectRel(SELLER_ID=[$0], CATEG_LVL3_ID0=[$1], CATEG_LVL3_ID1=[$2], AGG$0=[$8], AGG$1=[$9], EXPR$5=[$3], EXPR$6=[$4], ctx=[])
-          KapJoinRel(condition=[AND(=($0, $5), =($1, $6), =($2, $7))], joinType=[inner], ctx=[])
-            KapAggregateRel(group-set=[[0, 1, 2]], groups=[null], EXPR$5=[COUNT(DISTINCT $4)], EXPR$6=[COUNT(DISTINCT $3)], ctx=[])
-              KapAggregateRel(group-set=[[0, 1, 2, 3, 4]], groups=[null], ctx=[])
-                KapProjectRel(SELLER_ID=[$2], CATEG_LVL3_ID0=[$4], CATEG_LVL3_ID1=[$5], $f4=[CASE(>($0, 10), $3, 1)], ORDER_ID=[$1], ctx=[])
-                  KapAggregateRel(group-set=[[0, 1, 3, 4, 5, 7]], groups=[null], ctx=[])
-                    KapJoinRel(condition=[=($2, $6)], joinType=[inner], ctx=[])
-                      KapAggregateRel(group-set=[[0, 1, 4, 7, 8, 122]], groups=[null], ctx=[])
-                        KapJoinRel(condition=[=($4, $107)], joinType=[left], ctx=[])
-                          KapJoinRel(condition=[=($4, $71)], joinType=[inner], ctx=[])
-                            KapJoinRel(condition=[=($1, $66)], joinType=[inner], ctx=[])
-                              KapTableScan(table=[[DEFAULT, TEST_KYLIN_FACT]], ctx=[], fields=[[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65]])
-                              KapTableScan(table=[[DEFAULT, TEST_ORDER]], ctx=[], fields=[[0, 1, 2, 3, 4]])
-                            KapTableScan(table=[[DEFAULT, TEST_CATEGORY_GROUPINGS]], ctx=[], fields=[[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35]])
-                          KapTableScan(table=[[DEFAULT, KYLIN_CATEGORY_GROUPINGS]], ctx=[], fields=[[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35]])
-                      KapAggregateRel(group-set=[[0, 15]], groups=[null], ctx=[])
-                        KapTableScan(table=[[DEFAULT, KYLIN_CATEGORY_GROUPINGS]], ctx=[], fields=[[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35]])
-            KapAggregateRel(group-set=[[0, 1, 2]], groups=[null], AGG$0=[SUM($3)], AGG$1=[SUM($4)], ctx=[])
-              KapProjectRel(SELLER_ID=[$0], CATEG_LVL3_ID0=[$1], CATEG_LVL3_ID1=[$2], EXPR$3=[$4], $f4=[CASE(>($3, 10), $5, $6)], ctx=[])
-                KapAggregateRel(group-set=[[0, 1, 2, 3]], groups=[null], TOP_AGG$0=[SUM($4)], TOP_AGG$1=[SUM($5)], TOP_AGG$2=[SUM($6)], ctx=[])
-                  KapProjectRel(SELLER_ID=[$0], CATEG_LVL3_ID0=[$1], CATEG_LVL3_ID1=[$2], TRANS_ID=[$3], EXPR$3=[$4], SUM_CASE$0$0=[$5], $f6=[CAST(*(1, $6)):DECIMAL(19, 4) NOT NULL], ctx=[])
-                    KapProjectRel(SELLER_ID=[$1], CATEG_LVL3_ID0=[$2], CATEG_LVL3_ID1=[$3], TRANS_ID=[$0], EXPR$3=[$4], SUM_CASE$0$0=[$5], SUM_CONST$2=[$6], ctx=[])
-                      KapAggregateRel(group-set=[[0, 2, 3, 7]], groups=[null], EXPR$3=[SUM($9)], SUM_CASE$0$0=[SUM($10)], SUM_CONST$2=[$SUM0($11)], ctx=[])
-                        KapProjectRel(TRANS_ID=[$0], LEAF_CATEG_ID=[$1], SELLER_ID=[$2], CATEG_LVL3_ID0=[$3], EXPR$3=[$4], SUM_CONST$2=[$5], LEAF_CATEG_ID0=[$6], CATEG_LVL3_ID=[$7], $f2=[$8], $f9=[CAST(*($4, $8)):DECIMAL(19, 4)], $f10=[CAST(*($4, $8)):DECIMAL(19, 4)], $f11=[*($5, $8)], ctx=[])
-                          KapJoinRel(condition=[=($1, $6)], joinType=[inner], ctx=[])
-                            KapAggregateRel(group-set=[[0, 4, 7, 122]], groups=[null], EXPR$3=[SUM($8)], SUM_CONST$2=[COUNT()], ctx=[])
-                              KapJoinRel(condition=[=($4, $107)], joinType=[left], ctx=[])
-                                KapJoinRel(condition=[=($4, $71)], joinType=[inner], ctx=[])
-                                  KapJoinRel(condition=[=($1, $66)], joinType=[inner], ctx=[])
-                                    KapTableScan(table=[[DEFAULT, TEST_KYLIN_FACT]], ctx=[], fields=[[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65]])
-                                    KapTableScan(table=[[DEFAULT, TEST_ORDER]], ctx=[], fields=[[0, 1, 2, 3, 4]])
-                                  KapTableScan(table=[[DEFAULT, TEST_CATEGORY_GROUPINGS]], ctx=[], fields=[[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35]])
-                                KapTableScan(table=[[DEFAULT, KYLIN_CATEGORY_GROUPINGS]], ctx=[], fields=[[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35]])
-                            KapAggregateRel(group-set=[[0, 15]], groups=[null], agg#0=[COUNT()], ctx=[])
-                              KapTableScan(table=[[DEFAULT, KYLIN_CATEGORY_GROUPINGS]], ctx=[], fields=[[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35]])
+OlapToEnumerableConverter
+  OlapProjectRel(SELLER_ID=[$0], CATEG_LVL3_ID=[$1], CATEG_LVL3_ID0=[$2], EXPR$3=[$3], EXPR$4=[$4], EXPR$5=[$5], EXPR$6=[$6], ctx=[])
+    OlapLimitRel(ctx=[], fetch=[9])
+      OlapSortRel(sort0=[$0], sort1=[$1], dir0=[ASC-nulls-first], dir1=[DESC-nulls-last], ctx=[])
+        OlapProjectRel(SELLER_ID=[$0], CATEG_LVL3_ID0=[$1], CATEG_LVL3_ID1=[$2], AGG$0=[$8], AGG$1=[$9], EXPR$5=[$3], EXPR$6=[$4], ctx=[])
+          OlapJoinRel(condition=[AND(=($0, $5), =($1, $6), =($2, $7))], joinType=[inner], ctx=[])
+            OlapAggregateRel(group-set=[[0, 1, 2]], groups=[null], EXPR$5=[COUNT(DISTINCT $4)], EXPR$6=[COUNT(DISTINCT $3)], ctx=[])
+              OlapAggregateRel(group-set=[[0, 1, 2, 3, 4]], groups=[null], ctx=[])
+                OlapProjectRel(SELLER_ID=[$2], CATEG_LVL3_ID0=[$4], CATEG_LVL3_ID1=[$5], $f4=[CASE(>($0, 10), $3, 1)], ORDER_ID=[$1], ctx=[])
+                  OlapAggregateRel(group-set=[[0, 1, 3, 4, 5, 7]], groups=[null], ctx=[])
+                    OlapJoinRel(condition=[=($2, $6)], joinType=[inner], ctx=[])
+                      OlapAggregateRel(group-set=[[0, 1, 4, 7, 8, 122]], groups=[null], ctx=[])
+                        OlapJoinRel(condition=[=($4, $107)], joinType=[left], ctx=[])
+                          OlapJoinRel(condition=[=($4, $71)], joinType=[inner], ctx=[])
+                            OlapJoinRel(condition=[=($1, $66)], joinType=[inner], ctx=[])
+                              OlapTableScan(table=[[DEFAULT, TEST_KYLIN_FACT]], ctx=[], fields=[[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65]])
+                              OlapTableScan(table=[[DEFAULT, TEST_ORDER]], ctx=[], fields=[[0, 1, 2, 3, 4]])
+                            OlapTableScan(table=[[DEFAULT, TEST_CATEGORY_GROUPINGS]], ctx=[], fields=[[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35]])
+                          OlapTableScan(table=[[DEFAULT, KYLIN_CATEGORY_GROUPINGS]], ctx=[], fields=[[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35]])
+                      OlapAggregateRel(group-set=[[0, 15]], groups=[null], ctx=[])
+                        OlapTableScan(table=[[DEFAULT, KYLIN_CATEGORY_GROUPINGS]], ctx=[], fields=[[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35]])
+            OlapAggregateRel(group-set=[[0, 1, 2]], groups=[null], AGG$0=[SUM($3)], AGG$1=[SUM($4)], ctx=[])
+              OlapProjectRel(SELLER_ID=[$0], CATEG_LVL3_ID0=[$1], CATEG_LVL3_ID1=[$2], EXPR$3=[$4], $f4=[CASE(>($3, 10), $5, $6)], ctx=[])
+                OlapAggregateRel(group-set=[[0, 1, 2, 3]], groups=[null], TOP_AGG$0=[SUM($4)], TOP_AGG$1=[SUM($5)], TOP_AGG$2=[SUM($6)], ctx=[])
+                  OlapProjectRel(SELLER_ID=[$0], CATEG_LVL3_ID0=[$1], CATEG_LVL3_ID1=[$2], TRANS_ID=[$3], EXPR$3=[$4], SUM_CASE$0$0=[$5], $f6=[CAST(*(1, $6)):DECIMAL(19, 4) NOT NULL], ctx=[])
+                    OlapProjectRel(SELLER_ID=[$1], CATEG_LVL3_ID0=[$2], CATEG_LVL3_ID1=[$3], TRANS_ID=[$0], EXPR$3=[$4], SUM_CASE$0$0=[$5], SUM_CONST$2=[$6], ctx=[])
+                      OlapAggregateRel(group-set=[[0, 2, 3, 7]], groups=[null], EXPR$3=[SUM($9)], SUM_CASE$0$0=[SUM($10)], SUM_CONST$2=[$SUM0($11)], ctx=[])
+                        OlapProjectRel(TRANS_ID=[$0], LEAF_CATEG_ID=[$1], SELLER_ID=[$2], CATEG_LVL3_ID0=[$3], EXPR$3=[$4], SUM_CONST$2=[$5], LEAF_CATEG_ID0=[$6], CATEG_LVL3_ID=[$7], $f2=[$8], $f9=[CAST(*($4, $8)):DECIMAL(19, 4)], $f10=[CAST(*($4, $8)):DECIMAL(19, 4)], $f11=[*($5, $8)], ctx=[])
+                          OlapJoinRel(condition=[=($1, $6)], joinType=[inner], ctx=[])
+                            OlapAggregateRel(group-set=[[0, 4, 7, 122]], groups=[null], EXPR$3=[SUM($8)], SUM_CONST$2=[COUNT()], ctx=[])
+                              OlapJoinRel(condition=[=($4, $107)], joinType=[left], ctx=[])
+                                OlapJoinRel(condition=[=($4, $71)], joinType=[inner], ctx=[])
+                                  OlapJoinRel(condition=[=($1, $66)], joinType=[inner], ctx=[])
+                                    OlapTableScan(table=[[DEFAULT, TEST_KYLIN_FACT]], ctx=[], fields=[[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65]])
+                                    OlapTableScan(table=[[DEFAULT, TEST_ORDER]], ctx=[], fields=[[0, 1, 2, 3, 4]])
+                                  OlapTableScan(table=[[DEFAULT, TEST_CATEGORY_GROUPINGS]], ctx=[], fields=[[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35]])
+                                OlapTableScan(table=[[DEFAULT, KYLIN_CATEGORY_GROUPINGS]], ctx=[], fields=[[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35]])
+                            OlapAggregateRel(group-set=[[0, 15]], groups=[null], agg#0=[COUNT()], ctx=[])
+                              OlapTableScan(table=[[DEFAULT, KYLIN_CATEGORY_GROUPINGS]], ctx=[], fields=[[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35]])
 ]]>
         </Resource>
 
 
         <Resource name="query21.planBefore">
             <![CDATA[
-KapOLAPToEnumerableConverter
-  KapSortRel(sort0=[$0], dir0=[ASC-nulls-first], ctx=[])
-    KapProjectRel(LEAF_CATEG_ID=[$1], ctx=[])
-      KapAggregateRel(group-set=[[0, 1]], groups=[null], ctx=[])
-        KapProjectRel(SELLER_ID=[$7], LEAF_CATEG_ID=[$107], ctx=[])
-          KapJoinRel(condition=[=($4, $107)], joinType=[inner], ctx=[])
-            KapJoinRel(condition=[=($4, $71)], joinType=[inner], ctx=[])
-              KapJoinRel(condition=[=($1, $66)], joinType=[inner], ctx=[])
-                KapTableScan(table=[[DEFAULT, TEST_KYLIN_FACT]], ctx=[], fields=[[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65]])
-                KapTableScan(table=[[DEFAULT, TEST_ORDER]], ctx=[], fields=[[0, 1, 2, 3, 4]])
-              KapTableScan(table=[[DEFAULT, TEST_CATEGORY_GROUPINGS]], ctx=[], fields=[[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35]])
-            KapTableScan(table=[[DEFAULT, KYLIN_CATEGORY_GROUPINGS]], ctx=[], fields=[[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35]])
+OlapToEnumerableConverter
+  OlapSortRel(sort0=[$0], dir0=[ASC-nulls-first], ctx=[])
+    OlapProjectRel(LEAF_CATEG_ID=[$1], ctx=[])
+      OlapAggregateRel(group-set=[[0, 1]], groups=[null], ctx=[])
+        OlapProjectRel(SELLER_ID=[$7], LEAF_CATEG_ID=[$107], ctx=[])
+          OlapJoinRel(condition=[=($4, $107)], joinType=[inner], ctx=[])
+            OlapJoinRel(condition=[=($4, $71)], joinType=[inner], ctx=[])
+              OlapJoinRel(condition=[=($1, $66)], joinType=[inner], ctx=[])
+                OlapTableScan(table=[[DEFAULT, TEST_KYLIN_FACT]], ctx=[], fields=[[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65]])
+                OlapTableScan(table=[[DEFAULT, TEST_ORDER]], ctx=[], fields=[[0, 1, 2, 3, 4]])
+              OlapTableScan(table=[[DEFAULT, TEST_CATEGORY_GROUPINGS]], ctx=[], fields=[[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35]])
+            OlapTableScan(table=[[DEFAULT, KYLIN_CATEGORY_GROUPINGS]], ctx=[], fields=[[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35]])
 ]]>
         </Resource>
         <Resource name="query21.planAfter">
             <![CDATA[
-KapOLAPToEnumerableConverter
-  KapSortRel(sort0=[$0], dir0=[ASC-nulls-first], ctx=[])
-    KapProjectRel(LEAF_CATEG_ID=[$1], ctx=[])
-      KapProjectRel(SELLER_ID=[$1], LEAF_CATEG_ID=[$2], ctx=[])
-        KapJoinRel(condition=[=($0, $2)], joinType=[inner], ctx=[])
-          KapAggregateRel(group-set=[[4, 7]], groups=[null], ctx=[])
-            KapJoinRel(condition=[=($4, $71)], joinType=[inner], ctx=[])
-              KapJoinRel(condition=[=($1, $66)], joinType=[inner], ctx=[])
-                KapTableScan(table=[[DEFAULT, TEST_KYLIN_FACT]], ctx=[], fields=[[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65]])
-                KapTableScan(table=[[DEFAULT, TEST_ORDER]], ctx=[], fields=[[0, 1, 2, 3, 4]])
-              KapTableScan(table=[[DEFAULT, TEST_CATEGORY_GROUPINGS]], ctx=[], fields=[[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35]])
-          KapAggregateRel(group-set=[[0]], groups=[null], ctx=[])
-            KapTableScan(table=[[DEFAULT, KYLIN_CATEGORY_GROUPINGS]], ctx=[], fields=[[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35]])
+OlapToEnumerableConverter
+  OlapSortRel(sort0=[$0], dir0=[ASC-nulls-first], ctx=[])
+    OlapProjectRel(LEAF_CATEG_ID=[$1], ctx=[])
+      OlapProjectRel(SELLER_ID=[$1], LEAF_CATEG_ID=[$2], ctx=[])
+        OlapJoinRel(condition=[=($0, $2)], joinType=[inner], ctx=[])
+          OlapAggregateRel(group-set=[[4, 7]], groups=[null], ctx=[])
+            OlapJoinRel(condition=[=($4, $71)], joinType=[inner], ctx=[])
+              OlapJoinRel(condition=[=($1, $66)], joinType=[inner], ctx=[])
+                OlapTableScan(table=[[DEFAULT, TEST_KYLIN_FACT]], ctx=[], fields=[[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65]])
+                OlapTableScan(table=[[DEFAULT, TEST_ORDER]], ctx=[], fields=[[0, 1, 2, 3, 4]])
+              OlapTableScan(table=[[DEFAULT, TEST_CATEGORY_GROUPINGS]], ctx=[], fields=[[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35]])
+          OlapAggregateRel(group-set=[[0]], groups=[null], ctx=[])
+            OlapTableScan(table=[[DEFAULT, KYLIN_CATEGORY_GROUPINGS]], ctx=[], fields=[[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35]])
 ]]>
         </Resource>
     </TestCase>
diff --git a/src/kylin-it/src/test/resources/org/apache/kylin/query/engine/SqlToRelNodeTest.xml b/src/kylin-it/src/test/resources/org/apache/kylin/query/engine/SqlToRelNodeTest.xml
index dca32e385e..ac1d4b20dd 100644
--- a/src/kylin-it/src/test/resources/org/apache/kylin/query/engine/SqlToRelNodeTest.xml
+++ b/src/kylin-it/src/test/resources/org/apache/kylin/query/engine/SqlToRelNodeTest.xml
@@ -21,110 +21,110 @@
     <TestCase name="testConvertSqlToRelNode_whenManyUnionAndWith">
         <Resource name="query07.planExpect">
             <![CDATA[
-KapOLAPToEnumerableConverter
-  KapSortRel(sort0=[$1], dir0=[ASC-nulls-first], ctx=[])
-    KapProjectRel(WEEK_BEG_DT=[$0], CAL_DT=[$1], EXP_DIMENSION=[$2], EXP_INT=[$3], MEASURE=[$4], ctx=[])
-      KapProjectRel(WEEK_BEG_DT=[$0], CAL_DT=[$1], EXP_DIMENSION=[$2], EXP_INT=[$3], MEASURE=[$4], ctx=[])
-        KapFilterRel(condition=[>($3, 0)], ctx=[])
-          KapProjectRel(WEEK_BEG_DT=[$0], CAL_DT=[$1], EXP_DIMENSION=[$2], EXP_INT=[$3], MEASURE=[$4], ctx=[])
-            KapUnionRel(all=[true], ctx=[], all=[true])
-              KapUnionRel(all=[true], ctx=[], all=[true])
-                KapAggregateRel(group-set=[[0, 1, 2, 3]], groups=[null], MEASURE=[SUM($4)], ctx=[])
-                  KapProjectRel(WEEK_BEG_DT=[$5], CAL_DT=[$6], EXP_DIMENSION=['l1'], EXP_INT=[$7], MY_SUM_PRICE1=[$10], ctx=[])
-                    KapJoinRel(condition=[=($1, $5)], joinType=[inner], ctx=[])
-                      KapAggregateRel(group-set=[[0, 1, 2, 3]], groups=[null], MY_SUM_PRICE2=[SUM($4)], ctx=[])
-                        KapProjectRel(WEEK_BEG_DT=[$0], CAL_DT=[$1], TRANS_ID=[$3], SLR_SEGMENT_CD=[$4], MY_SUM_PRICE1=[*($5, 1.3)], ctx=[])
-                          KapAggregateRel(group-set=[[0, 1, 2, 3, 4]], groups=[null], agg#0=[SUM($5)], ctx=[])
-                            KapProjectRel(WEEK_BEG_DT=[$0], CAL_DT=[$1], ITEM_COUNT=[$2], TRANS_ID=[$4], SLR_SEGMENT_CD=[$5], SUM_PRICE=[$6], ctx=[])
-                              KapLimitRel(ctx=[], fetch=[10])
-                                KapSortRel(sort0=[$1], sort1=[$2], dir0=[ASC-nulls-first], dir1=[ASC-nulls-first], ctx=[])
-                                  KapAggregateRel(group-set=[[0, 1, 2, 3, 4, 5]], groups=[null], SUM_PRICE=[SUM($6)], ctx=[])
-                                    KapProjectRel(WEEK_BEG_DT=[$43], CAL_DT=[$2], ITEM_COUNT=[$9], ORDER_ID=[$1], TRANS_ID=[$0], SLR_SEGMENT_CD=[$6], PRICE=[$8], ctx=[])
-                                      KapJoinRel(condition=[=($5, $175)], joinType=[inner], ctx=[])
-                                        KapJoinRel(condition=[AND(=($4, $139), =($5, $141))], joinType=[inner], ctx=[])
-                                          KapJoinRel(condition=[=($2, $39)], joinType=[inner], ctx=[])
-                                            KapTableScan(table=[[DEFAULT, TEST_KYLIN_FACT]], ctx=[], fields=[[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38]])
-                                            KapTableScan(table=[[EDW, TEST_CAL_DT]], ctx=[], fields=[[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99]])
-                                          KapTableScan(table=[[DEFAULT, TEST_CATEGORY_GROUPINGS]], ctx=[], fields=[[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35]])
-                                        KapTableScan(table=[[EDW, TEST_SITES]], ctx=[], fields=[[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]])
-                      KapProjectRel(WEEK_BEG_DT=[$0], CAL_DT=[$1], ITEM_COUNT=[$2], TRANS_ID=[$3], SLR_SEGMENT_CD=[$4], MY_SUM_PRICE1=[*($5, 1.3)], ctx=[])
-                        KapAggregateRel(group-set=[[0, 1, 2, 3, 4]], groups=[null], agg#0=[SUM($5)], ctx=[])
-                          KapProjectRel(WEEK_BEG_DT=[$0], CAL_DT=[$1], ITEM_COUNT=[$2], TRANS_ID=[$4], SLR_SEGMENT_CD=[$5], SUM_PRICE=[$6], ctx=[])
-                            KapLimitRel(ctx=[], fetch=[10])
-                              KapSortRel(sort0=[$1], sort1=[$2], dir0=[ASC-nulls-first], dir1=[ASC-nulls-first], ctx=[])
-                                KapAggregateRel(group-set=[[0, 1, 2, 3, 4, 5]], groups=[null], SUM_PRICE=[SUM($6)], ctx=[])
-                                  KapProjectRel(WEEK_BEG_DT=[$43], CAL_DT=[$2], ITEM_COUNT=[$9], ORDER_ID=[$1], TRANS_ID=[$0], SLR_SEGMENT_CD=[$6], PRICE=[$8], ctx=[])
-                                    KapJoinRel(condition=[=($5, $175)], joinType=[inner], ctx=[])
-                                      KapJoinRel(condition=[AND(=($4, $139), =($5, $141))], joinType=[inner], ctx=[])
-                                        KapJoinRel(condition=[=($2, $39)], joinType=[inner], ctx=[])
-                                          KapTableScan(table=[[DEFAULT, TEST_KYLIN_FACT]], ctx=[], fields=[[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38]])
-                                          KapTableScan(table=[[EDW, TEST_CAL_DT]], ctx=[], fields=[[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99]])
-                                        KapTableScan(table=[[DEFAULT, TEST_CATEGORY_GROUPINGS]], ctx=[], fields=[[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35]])
-                                      KapTableScan(table=[[EDW, TEST_SITES]], ctx=[], fields=[[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]])
-                KapAggregateRel(group-set=[[0, 1, 2, 3]], groups=[null], MEASURE=[SUM($4)], ctx=[])
-                  KapProjectRel(WEEK_BEG_DT=[$5], CAL_DT=[$6], EXP_DIMENSION=['l1'], EXP_INT=[$8], MY_SUM_PRICE1=[$10], ctx=[])
-                    KapJoinRel(condition=[=($1, $5)], joinType=[inner], ctx=[])
-                      KapAggregateRel(group-set=[[0, 1, 2, 3]], groups=[null], MY_SUM_PRICE2=[SUM($4)], ctx=[])
-                        KapProjectRel(WEEK_BEG_DT=[$0], CAL_DT=[$1], TRANS_ID=[$3], SLR_SEGMENT_CD=[$4], MY_SUM_PRICE1=[*($5, 1.3)], ctx=[])
-                          KapAggregateRel(group-set=[[0, 1, 2, 3, 4]], groups=[null], agg#0=[SUM($5)], ctx=[])
-                            KapProjectRel(WEEK_BEG_DT=[$0], CAL_DT=[$1], ITEM_COUNT=[$2], TRANS_ID=[$4], SLR_SEGMENT_CD=[$5], SUM_PRICE=[$6], ctx=[])
-                              KapLimitRel(ctx=[], fetch=[10])
-                                KapSortRel(sort0=[$1], sort1=[$2], dir0=[ASC-nulls-first], dir1=[ASC-nulls-first], ctx=[])
-                                  KapAggregateRel(group-set=[[0, 1, 2, 3, 4, 5]], groups=[null], SUM_PRICE=[SUM($6)], ctx=[])
-                                    KapProjectRel(WEEK_BEG_DT=[$43], CAL_DT=[$2], ITEM_COUNT=[$9], ORDER_ID=[$1], TRANS_ID=[$0], SLR_SEGMENT_CD=[$6], PRICE=[$8], ctx=[])
-                                      KapJoinRel(condition=[=($5, $175)], joinType=[inner], ctx=[])
-                                        KapJoinRel(condition=[AND(=($4, $139), =($5, $141))], joinType=[inner], ctx=[])
-                                          KapJoinRel(condition=[=($2, $39)], joinType=[inner], ctx=[])
-                                            KapTableScan(table=[[DEFAULT, TEST_KYLIN_FACT]], ctx=[], fields=[[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38]])
-                                            KapTableScan(table=[[EDW, TEST_CAL_DT]], ctx=[], fields=[[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99]])
-                                          KapTableScan(table=[[DEFAULT, TEST_CATEGORY_GROUPINGS]], ctx=[], fields=[[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35]])
-                                        KapTableScan(table=[[EDW, TEST_SITES]], ctx=[], fields=[[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]])
-                      KapProjectRel(WEEK_BEG_DT=[$0], CAL_DT=[$1], ITEM_COUNT=[$2], TRANS_ID=[$3], SLR_SEGMENT_CD=[$4], MY_SUM_PRICE1=[*($5, 1.3)], ctx=[])
-                        KapAggregateRel(group-set=[[0, 1, 2, 3, 4]], groups=[null], agg#0=[SUM($5)], ctx=[])
-                          KapProjectRel(WEEK_BEG_DT=[$0], CAL_DT=[$1], ITEM_COUNT=[$2], TRANS_ID=[$4], SLR_SEGMENT_CD=[$5], SUM_PRICE=[$6], ctx=[])
-                            KapLimitRel(ctx=[], fetch=[10])
-                              KapSortRel(sort0=[$1], sort1=[$2], dir0=[ASC-nulls-first], dir1=[ASC-nulls-first], ctx=[])
-                                KapAggregateRel(group-set=[[0, 1, 2, 3, 4, 5]], groups=[null], SUM_PRICE=[SUM($6)], ctx=[])
-                                  KapProjectRel(WEEK_BEG_DT=[$43], CAL_DT=[$2], ITEM_COUNT=[$9], ORDER_ID=[$1], TRANS_ID=[$0], SLR_SEGMENT_CD=[$6], PRICE=[$8], ctx=[])
-                                    KapJoinRel(condition=[=($5, $175)], joinType=[inner], ctx=[])
-                                      KapJoinRel(condition=[AND(=($4, $139), =($5, $141))], joinType=[inner], ctx=[])
-                                        KapJoinRel(condition=[=($2, $39)], joinType=[inner], ctx=[])
-                                          KapTableScan(table=[[DEFAULT, TEST_KYLIN_FACT]], ctx=[], fields=[[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38]])
-                                          KapTableScan(table=[[EDW, TEST_CAL_DT]], ctx=[], fields=[[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99]])
-                                        KapTableScan(table=[[DEFAULT, TEST_CATEGORY_GROUPINGS]], ctx=[], fields=[[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35]])
-                                      KapTableScan(table=[[EDW, TEST_SITES]], ctx=[], fields=[[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]])
-              KapAggregateRel(group-set=[[0, 1, 2, 3]], groups=[null], MEASURE=[SUM($4)], ctx=[])
-                KapProjectRel(WEEK_BEG_DT=[$5], CAL_DT=[$6], EXP_DIMENSION=['l1'], EXP_INT=[$9], MY_SUM_PRICE1=[$10], ctx=[])
-                  KapJoinRel(condition=[=($1, $5)], joinType=[inner], ctx=[])
-                    KapAggregateRel(group-set=[[0, 1, 2, 3]], groups=[null], MY_SUM_PRICE2=[SUM($4)], ctx=[])
-                      KapProjectRel(WEEK_BEG_DT=[$0], CAL_DT=[$1], TRANS_ID=[$3], SLR_SEGMENT_CD=[$4], MY_SUM_PRICE1=[*($5, 1.3)], ctx=[])
-                        KapAggregateRel(group-set=[[0, 1, 2, 3, 4]], groups=[null], agg#0=[SUM($5)], ctx=[])
-                          KapProjectRel(WEEK_BEG_DT=[$0], CAL_DT=[$1], ITEM_COUNT=[$2], TRANS_ID=[$4], SLR_SEGMENT_CD=[$5], SUM_PRICE=[$6], ctx=[])
-                            KapLimitRel(ctx=[], fetch=[10])
-                              KapSortRel(sort0=[$1], sort1=[$2], dir0=[ASC-nulls-first], dir1=[ASC-nulls-first], ctx=[])
-                                KapAggregateRel(group-set=[[0, 1, 2, 3, 4, 5]], groups=[null], SUM_PRICE=[SUM($6)], ctx=[])
-                                  KapProjectRel(WEEK_BEG_DT=[$43], CAL_DT=[$2], ITEM_COUNT=[$9], ORDER_ID=[$1], TRANS_ID=[$0], SLR_SEGMENT_CD=[$6], PRICE=[$8], ctx=[])
-                                    KapJoinRel(condition=[=($5, $175)], joinType=[inner], ctx=[])
-                                      KapJoinRel(condition=[AND(=($4, $139), =($5, $141))], joinType=[inner], ctx=[])
-                                        KapJoinRel(condition=[=($2, $39)], joinType=[inner], ctx=[])
-                                          KapTableScan(table=[[DEFAULT, TEST_KYLIN_FACT]], ctx=[], fields=[[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38]])
-                                          KapTableScan(table=[[EDW, TEST_CAL_DT]], ctx=[], fields=[[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99]])
-                                        KapTableScan(table=[[DEFAULT, TEST_CATEGORY_GROUPINGS]], ctx=[], fields=[[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35]])
-                                      KapTableScan(table=[[EDW, TEST_SITES]], ctx=[], fields=[[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]])
-                    KapProjectRel(WEEK_BEG_DT=[$0], CAL_DT=[$1], ITEM_COUNT=[$2], TRANS_ID=[$3], SLR_SEGMENT_CD=[$4], MY_SUM_PRICE1=[*($5, 1.3)], ctx=[])
-                      KapAggregateRel(group-set=[[0, 1, 2, 3, 4]], groups=[null], agg#0=[SUM($5)], ctx=[])
-                        KapProjectRel(WEEK_BEG_DT=[$0], CAL_DT=[$1], ITEM_COUNT=[$2], TRANS_ID=[$4], SLR_SEGMENT_CD=[$5], SUM_PRICE=[$6], ctx=[])
-                          KapLimitRel(ctx=[], fetch=[10])
-                            KapSortRel(sort0=[$1], sort1=[$2], dir0=[ASC-nulls-first], dir1=[ASC-nulls-first], ctx=[])
-                              KapAggregateRel(group-set=[[0, 1, 2, 3, 4, 5]], groups=[null], SUM_PRICE=[SUM($6)], ctx=[])
-                                KapProjectRel(WEEK_BEG_DT=[$43], CAL_DT=[$2], ITEM_COUNT=[$9], ORDER_ID=[$1], TRANS_ID=[$0], SLR_SEGMENT_CD=[$6], PRICE=[$8], ctx=[])
-                                  KapJoinRel(condition=[=($5, $175)], joinType=[inner], ctx=[])
-                                    KapJoinRel(condition=[AND(=($4, $139), =($5, $141))], joinType=[inner], ctx=[])
-                                      KapJoinRel(condition=[=($2, $39)], joinType=[inner], ctx=[])
-                                        KapTableScan(table=[[DEFAULT, TEST_KYLIN_FACT]], ctx=[], fields=[[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38]])
-                                        KapTableScan(table=[[EDW, TEST_CAL_DT]], ctx=[], fields=[[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99]])
-                                      KapTableScan(table=[[DEFAULT, TEST_CATEGORY_GROUPINGS]], ctx=[], fields=[[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35]])
-                                    KapTableScan(table=[[EDW, TEST_SITES]], ctx=[], fields=[[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]])
+OlapToEnumerableConverter
+  OlapSortRel(sort0=[$1], dir0=[ASC-nulls-first], ctx=[])
+    OlapProjectRel(WEEK_BEG_DT=[$0], CAL_DT=[$1], EXP_DIMENSION=[$2], EXP_INT=[$3], MEASURE=[$4], ctx=[])
+      OlapProjectRel(WEEK_BEG_DT=[$0], CAL_DT=[$1], EXP_DIMENSION=[$2], EXP_INT=[$3], MEASURE=[$4], ctx=[])
+        OlapFilterRel(condition=[>($3, 0)], ctx=[])
+          OlapProjectRel(WEEK_BEG_DT=[$0], CAL_DT=[$1], EXP_DIMENSION=[$2], EXP_INT=[$3], MEASURE=[$4], ctx=[])
+            OlapUnionRel(all=[true], ctx=[], all=[true])
+              OlapUnionRel(all=[true], ctx=[], all=[true])
+                OlapAggregateRel(group-set=[[0, 1, 2, 3]], groups=[null], MEASURE=[SUM($4)], ctx=[])
+                  OlapProjectRel(WEEK_BEG_DT=[$5], CAL_DT=[$6], EXP_DIMENSION=['l1'], EXP_INT=[$7], MY_SUM_PRICE1=[$10], ctx=[])
+                    OlapJoinRel(condition=[=($1, $5)], joinType=[inner], ctx=[])
+                      OlapAggregateRel(group-set=[[0, 1, 2, 3]], groups=[null], MY_SUM_PRICE2=[SUM($4)], ctx=[])
+                        OlapProjectRel(WEEK_BEG_DT=[$0], CAL_DT=[$1], TRANS_ID=[$3], SLR_SEGMENT_CD=[$4], MY_SUM_PRICE1=[*($5, 1.3)], ctx=[])
+                          OlapAggregateRel(group-set=[[0, 1, 2, 3, 4]], groups=[null], agg#0=[SUM($5)], ctx=[])
+                            OlapProjectRel(WEEK_BEG_DT=[$0], CAL_DT=[$1], ITEM_COUNT=[$2], TRANS_ID=[$4], SLR_SEGMENT_CD=[$5], SUM_PRICE=[$6], ctx=[])
+                              OlapLimitRel(ctx=[], fetch=[10])
+                                OlapSortRel(sort0=[$1], sort1=[$2], dir0=[ASC-nulls-first], dir1=[ASC-nulls-first], ctx=[])
+                                  OlapAggregateRel(group-set=[[0, 1, 2, 3, 4, 5]], groups=[null], SUM_PRICE=[SUM($6)], ctx=[])
+                                    OlapProjectRel(WEEK_BEG_DT=[$43], CAL_DT=[$2], ITEM_COUNT=[$9], ORDER_ID=[$1], TRANS_ID=[$0], SLR_SEGMENT_CD=[$6], PRICE=[$8], ctx=[])
+                                      OlapJoinRel(condition=[=($5, $175)], joinType=[inner], ctx=[])
+                                        OlapJoinRel(condition=[AND(=($4, $139), =($5, $141))], joinType=[inner], ctx=[])
+                                          OlapJoinRel(condition=[=($2, $39)], joinType=[inner], ctx=[])
+                                            OlapTableScan(table=[[DEFAULT, TEST_KYLIN_FACT]], ctx=[], fields=[[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38]])
+                                            OlapTableScan(table=[[EDW, TEST_CAL_DT]], ctx=[], fields=[[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99]])
+                                          OlapTableScan(table=[[DEFAULT, TEST_CATEGORY_GROUPINGS]], ctx=[], fields=[[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35]])
+                                        OlapTableScan(table=[[EDW, TEST_SITES]], ctx=[], fields=[[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]])
+                      OlapProjectRel(WEEK_BEG_DT=[$0], CAL_DT=[$1], ITEM_COUNT=[$2], TRANS_ID=[$3], SLR_SEGMENT_CD=[$4], MY_SUM_PRICE1=[*($5, 1.3)], ctx=[])
+                        OlapAggregateRel(group-set=[[0, 1, 2, 3, 4]], groups=[null], agg#0=[SUM($5)], ctx=[])
+                          OlapProjectRel(WEEK_BEG_DT=[$0], CAL_DT=[$1], ITEM_COUNT=[$2], TRANS_ID=[$4], SLR_SEGMENT_CD=[$5], SUM_PRICE=[$6], ctx=[])
+                            OlapLimitRel(ctx=[], fetch=[10])
+                              OlapSortRel(sort0=[$1], sort1=[$2], dir0=[ASC-nulls-first], dir1=[ASC-nulls-first], ctx=[])
+                                OlapAggregateRel(group-set=[[0, 1, 2, 3, 4, 5]], groups=[null], SUM_PRICE=[SUM($6)], ctx=[])
+                                  OlapProjectRel(WEEK_BEG_DT=[$43], CAL_DT=[$2], ITEM_COUNT=[$9], ORDER_ID=[$1], TRANS_ID=[$0], SLR_SEGMENT_CD=[$6], PRICE=[$8], ctx=[])
+                                    OlapJoinRel(condition=[=($5, $175)], joinType=[inner], ctx=[])
+                                      OlapJoinRel(condition=[AND(=($4, $139), =($5, $141))], joinType=[inner], ctx=[])
+                                        OlapJoinRel(condition=[=($2, $39)], joinType=[inner], ctx=[])
+                                          OlapTableScan(table=[[DEFAULT, TEST_KYLIN_FACT]], ctx=[], fields=[[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38]])
+                                          OlapTableScan(table=[[EDW, TEST_CAL_DT]], ctx=[], fields=[[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99]])
+                                        OlapTableScan(table=[[DEFAULT, TEST_CATEGORY_GROUPINGS]], ctx=[], fields=[[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35]])
+                                      OlapTableScan(table=[[EDW, TEST_SITES]], ctx=[], fields=[[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]])
+                OlapAggregateRel(group-set=[[0, 1, 2, 3]], groups=[null], MEASURE=[SUM($4)], ctx=[])
+                  OlapProjectRel(WEEK_BEG_DT=[$5], CAL_DT=[$6], EXP_DIMENSION=['l1'], EXP_INT=[$8], MY_SUM_PRICE1=[$10], ctx=[])
+                    OlapJoinRel(condition=[=($1, $5)], joinType=[inner], ctx=[])
+                      OlapAggregateRel(group-set=[[0, 1, 2, 3]], groups=[null], MY_SUM_PRICE2=[SUM($4)], ctx=[])
+                        OlapProjectRel(WEEK_BEG_DT=[$0], CAL_DT=[$1], TRANS_ID=[$3], SLR_SEGMENT_CD=[$4], MY_SUM_PRICE1=[*($5, 1.3)], ctx=[])
+                          OlapAggregateRel(group-set=[[0, 1, 2, 3, 4]], groups=[null], agg#0=[SUM($5)], ctx=[])
+                            OlapProjectRel(WEEK_BEG_DT=[$0], CAL_DT=[$1], ITEM_COUNT=[$2], TRANS_ID=[$4], SLR_SEGMENT_CD=[$5], SUM_PRICE=[$6], ctx=[])
+                              OlapLimitRel(ctx=[], fetch=[10])
+                                OlapSortRel(sort0=[$1], sort1=[$2], dir0=[ASC-nulls-first], dir1=[ASC-nulls-first], ctx=[])
+                                  OlapAggregateRel(group-set=[[0, 1, 2, 3, 4, 5]], groups=[null], SUM_PRICE=[SUM($6)], ctx=[])
+                                    OlapProjectRel(WEEK_BEG_DT=[$43], CAL_DT=[$2], ITEM_COUNT=[$9], ORDER_ID=[$1], TRANS_ID=[$0], SLR_SEGMENT_CD=[$6], PRICE=[$8], ctx=[])
+                                      OlapJoinRel(condition=[=($5, $175)], joinType=[inner], ctx=[])
+                                        OlapJoinRel(condition=[AND(=($4, $139), =($5, $141))], joinType=[inner], ctx=[])
+                                          OlapJoinRel(condition=[=($2, $39)], joinType=[inner], ctx=[])
+                                            OlapTableScan(table=[[DEFAULT, TEST_KYLIN_FACT]], ctx=[], fields=[[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38]])
+                                            OlapTableScan(table=[[EDW, TEST_CAL_DT]], ctx=[], fields=[[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99]])
+                                          OlapTableScan(table=[[DEFAULT, TEST_CATEGORY_GROUPINGS]], ctx=[], fields=[[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35]])
+                                        OlapTableScan(table=[[EDW, TEST_SITES]], ctx=[], fields=[[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]])
+                      OlapProjectRel(WEEK_BEG_DT=[$0], CAL_DT=[$1], ITEM_COUNT=[$2], TRANS_ID=[$3], SLR_SEGMENT_CD=[$4], MY_SUM_PRICE1=[*($5, 1.3)], ctx=[])
+                        OlapAggregateRel(group-set=[[0, 1, 2, 3, 4]], groups=[null], agg#0=[SUM($5)], ctx=[])
+                          OlapProjectRel(WEEK_BEG_DT=[$0], CAL_DT=[$1], ITEM_COUNT=[$2], TRANS_ID=[$4], SLR_SEGMENT_CD=[$5], SUM_PRICE=[$6], ctx=[])
+                            OlapLimitRel(ctx=[], fetch=[10])
+                              OlapSortRel(sort0=[$1], sort1=[$2], dir0=[ASC-nulls-first], dir1=[ASC-nulls-first], ctx=[])
+                                OlapAggregateRel(group-set=[[0, 1, 2, 3, 4, 5]], groups=[null], SUM_PRICE=[SUM($6)], ctx=[])
+                                  OlapProjectRel(WEEK_BEG_DT=[$43], CAL_DT=[$2], ITEM_COUNT=[$9], ORDER_ID=[$1], TRANS_ID=[$0], SLR_SEGMENT_CD=[$6], PRICE=[$8], ctx=[])
+                                    OlapJoinRel(condition=[=($5, $175)], joinType=[inner], ctx=[])
+                                      OlapJoinRel(condition=[AND(=($4, $139), =($5, $141))], joinType=[inner], ctx=[])
+                                        OlapJoinRel(condition=[=($2, $39)], joinType=[inner], ctx=[])
+                                          OlapTableScan(table=[[DEFAULT, TEST_KYLIN_FACT]], ctx=[], fields=[[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38]])
+                                          OlapTableScan(table=[[EDW, TEST_CAL_DT]], ctx=[], fields=[[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99]])
+                                        OlapTableScan(table=[[DEFAULT, TEST_CATEGORY_GROUPINGS]], ctx=[], fields=[[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35]])
+                                      OlapTableScan(table=[[EDW, TEST_SITES]], ctx=[], fields=[[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]])
+              OlapAggregateRel(group-set=[[0, 1, 2, 3]], groups=[null], MEASURE=[SUM($4)], ctx=[])
+                OlapProjectRel(WEEK_BEG_DT=[$5], CAL_DT=[$6], EXP_DIMENSION=['l1'], EXP_INT=[$9], MY_SUM_PRICE1=[$10], ctx=[])
+                  OlapJoinRel(condition=[=($1, $5)], joinType=[inner], ctx=[])
+                    OlapAggregateRel(group-set=[[0, 1, 2, 3]], groups=[null], MY_SUM_PRICE2=[SUM($4)], ctx=[])
+                      OlapProjectRel(WEEK_BEG_DT=[$0], CAL_DT=[$1], TRANS_ID=[$3], SLR_SEGMENT_CD=[$4], MY_SUM_PRICE1=[*($5, 1.3)], ctx=[])
+                        OlapAggregateRel(group-set=[[0, 1, 2, 3, 4]], groups=[null], agg#0=[SUM($5)], ctx=[])
+                          OlapProjectRel(WEEK_BEG_DT=[$0], CAL_DT=[$1], ITEM_COUNT=[$2], TRANS_ID=[$4], SLR_SEGMENT_CD=[$5], SUM_PRICE=[$6], ctx=[])
+                            OlapLimitRel(ctx=[], fetch=[10])
+                              OlapSortRel(sort0=[$1], sort1=[$2], dir0=[ASC-nulls-first], dir1=[ASC-nulls-first], ctx=[])
+                                OlapAggregateRel(group-set=[[0, 1, 2, 3, 4, 5]], groups=[null], SUM_PRICE=[SUM($6)], ctx=[])
+                                  OlapProjectRel(WEEK_BEG_DT=[$43], CAL_DT=[$2], ITEM_COUNT=[$9], ORDER_ID=[$1], TRANS_ID=[$0], SLR_SEGMENT_CD=[$6], PRICE=[$8], ctx=[])
+                                    OlapJoinRel(condition=[=($5, $175)], joinType=[inner], ctx=[])
+                                      OlapJoinRel(condition=[AND(=($4, $139), =($5, $141))], joinType=[inner], ctx=[])
+                                        OlapJoinRel(condition=[=($2, $39)], joinType=[inner], ctx=[])
+                                          OlapTableScan(table=[[DEFAULT, TEST_KYLIN_FACT]], ctx=[], fields=[[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38]])
+                                          OlapTableScan(table=[[EDW, TEST_CAL_DT]], ctx=[], fields=[[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99]])
+                                        OlapTableScan(table=[[DEFAULT, TEST_CATEGORY_GROUPINGS]], ctx=[], fields=[[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35]])
+                                      OlapTableScan(table=[[EDW, TEST_SITES]], ctx=[], fields=[[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]])
+                    OlapProjectRel(WEEK_BEG_DT=[$0], CAL_DT=[$1], ITEM_COUNT=[$2], TRANS_ID=[$3], SLR_SEGMENT_CD=[$4], MY_SUM_PRICE1=[*($5, 1.3)], ctx=[])
+                      OlapAggregateRel(group-set=[[0, 1, 2, 3, 4]], groups=[null], agg#0=[SUM($5)], ctx=[])
+                        OlapProjectRel(WEEK_BEG_DT=[$0], CAL_DT=[$1], ITEM_COUNT=[$2], TRANS_ID=[$4], SLR_SEGMENT_CD=[$5], SUM_PRICE=[$6], ctx=[])
+                          OlapLimitRel(ctx=[], fetch=[10])
+                            OlapSortRel(sort0=[$1], sort1=[$2], dir0=[ASC-nulls-first], dir1=[ASC-nulls-first], ctx=[])
+                              OlapAggregateRel(group-set=[[0, 1, 2, 3, 4, 5]], groups=[null], SUM_PRICE=[SUM($6)], ctx=[])
+                                OlapProjectRel(WEEK_BEG_DT=[$43], CAL_DT=[$2], ITEM_COUNT=[$9], ORDER_ID=[$1], TRANS_ID=[$0], SLR_SEGMENT_CD=[$6], PRICE=[$8], ctx=[])
+                                  OlapJoinRel(condition=[=($5, $175)], joinType=[inner], ctx=[])
+                                    OlapJoinRel(condition=[AND(=($4, $139), =($5, $141))], joinType=[inner], ctx=[])
+                                      OlapJoinRel(condition=[=($2, $39)], joinType=[inner], ctx=[])
+                                        OlapTableScan(table=[[DEFAULT, TEST_KYLIN_FACT]], ctx=[], fields=[[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38]])
+                                        OlapTableScan(table=[[EDW, TEST_CAL_DT]], ctx=[], fields=[[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99]])
+                                      OlapTableScan(table=[[DEFAULT, TEST_CATEGORY_GROUPINGS]], ctx=[], fields=[[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35]])
+                                    OlapTableScan(table=[[EDW, TEST_SITES]], ctx=[], fields=[[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]])
 ]]>
         </Resource>
     </TestCase>
@@ -134,42 +134,42 @@ KapOLAPToEnumerableConverter
 LogicalAggregate(group=[{0}])
   LogicalProject(LSTG_FORMAT_NAME=[$3])
     LogicalFilter(condition=[OR(=($3, null), =($3, 'FP-GTC'))])
-      KapTableScan(table=[[DEFAULT, TEST_KYLIN_FACT]], ctx=[], fields=[[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38]])
+      OlapTableScan(table=[[DEFAULT, TEST_KYLIN_FACT]], ctx=[], fields=[[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38]])
 ]]>
         </Resource>
         <Resource name="query_sql_in_query02.planAfter">
             <![CDATA[
-KapOLAPToEnumerableConverter
-  KapAggregateRel(group-set=[[0]], groups=[null], ctx=[])
-    KapProjectRel(LSTG_FORMAT_NAME=[$3], ctx=[])
-      KapFilterRel(condition=[OR(=($3, null), =($3, 'FP-GTC'))], ctx=[])
-        KapTableScan(table=[[DEFAULT, TEST_KYLIN_FACT]], ctx=[], fields=[[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38]])
+OlapToEnumerableConverter
+  OlapAggregateRel(group-set=[[0]], groups=[null], ctx=[])
+    OlapProjectRel(LSTG_FORMAT_NAME=[$3], ctx=[])
+      OlapFilterRel(condition=[OR(=($3, null), =($3, 'FP-GTC'))], ctx=[])
+        OlapTableScan(table=[[DEFAULT, TEST_KYLIN_FACT]], ctx=[], fields=[[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38]])
 ]]>
         </Resource>
     </TestCase>
     <TestCase name="testProjectMergeWithBloat">
         <Resource name="bloat_merge_sql.bloat_disabled">
             <![CDATA[
-KapOLAPToEnumerableConverter
-  KapProjectRel(EXPR$0=[+(+(CASE(>($0, 60), 1, 0), CASE(>($0, 60), 1, 0)), +(CASE(>($0, 60), 1, 0), CASE(>($0, 60), 1, 0)))], ctx=[])
-    KapTableScan(table=[[DEFAULT, TEST_KYLIN_FACT]], ctx=[], fields=[[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38]])
+OlapToEnumerableConverter
+  OlapProjectRel(EXPR$0=[+(+(CASE(>($0, 60), 1, 0), CASE(>($0, 60), 1, 0)), +(CASE(>($0, 60), 1, 0), CASE(>($0, 60), 1, 0)))], ctx=[])
+    OlapTableScan(table=[[DEFAULT, TEST_KYLIN_FACT]], ctx=[], fields=[[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38]])
 ]]>
         </Resource>
         <Resource name="bloat_merge_sql.bloat_enabled">
             <![CDATA[
-KapOLAPToEnumerableConverter
-  KapProjectRel(EXPR$0=[+($0, $0)], ctx=[])
-    KapProjectRel(X=[+($0, $0)], ctx=[])
-      KapProjectRel(V=[CASE(>($0, 60), 1, 0)], ctx=[])
-        KapTableScan(table=[[DEFAULT, TEST_KYLIN_FACT]], ctx=[], fields=[[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38]])
+OlapToEnumerableConverter
+  OlapProjectRel(EXPR$0=[+($0, $0)], ctx=[])
+    OlapProjectRel(X=[+($0, $0)], ctx=[])
+      OlapProjectRel(V=[CASE(>($0, 60), 1, 0)], ctx=[])
+        OlapTableScan(table=[[DEFAULT, TEST_KYLIN_FACT]], ctx=[], fields=[[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38]])
 ]]>
         </Resource>
         <Resource name="bloat_merge_sql.bloat_enabled_bloat_5">
             <![CDATA[
-KapOLAPToEnumerableConverter
-  KapProjectRel(EXPR$0=[+(+($0, $0), +($0, $0))], ctx=[])
-    KapProjectRel(V=[CASE(>($0, 60), 1, 0)], ctx=[])
-      KapTableScan(table=[[DEFAULT, TEST_KYLIN_FACT]], ctx=[], fields=[[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38]])
+OlapToEnumerableConverter
+  OlapProjectRel(EXPR$0=[+(+($0, $0), +($0, $0))], ctx=[])
+    OlapProjectRel(V=[CASE(>($0, 60), 1, 0)], ctx=[])
+      OlapTableScan(table=[[DEFAULT, TEST_KYLIN_FACT]], ctx=[], fields=[[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38]])
 ]]>
         </Resource>
     </TestCase>
diff --git a/src/kylin-it/src/test/resources/org/apache/kylin/query/engine/SumCastDoublePlannerTest.xml b/src/kylin-it/src/test/resources/org/apache/kylin/query/engine/SumCastDoublePlannerTest.xml
index 43ca2c2695..f51548cbbc 100644
--- a/src/kylin-it/src/test/resources/org/apache/kylin/query/engine/SumCastDoublePlannerTest.xml
+++ b/src/kylin-it/src/test/resources/org/apache/kylin/query/engine/SumCastDoublePlannerTest.xml
@@ -21,186 +21,186 @@
     <TestCase name="testSumCastDouble">
         <Resource name="query00.planBefore">
             <![CDATA[
-KapOLAPToEnumerableConverter
-  KapAggregateRel(group-set=[[]], groups=[null], EXPR$0=[SUM($0)], ctx=[])
-    KapProjectRel($f0=[CAST($7):DOUBLE], ctx=[])
-      KapTableScan(table=[[DEFAULT, TEST_KYLIN_FACT]], ctx=[], fields=[[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38]])
+OlapToEnumerableConverter
+  OlapAggregateRel(group-set=[[]], groups=[null], EXPR$0=[SUM($0)], ctx=[])
+    OlapProjectRel($f0=[CAST($7):DOUBLE], ctx=[])
+      OlapTableScan(table=[[DEFAULT, TEST_KYLIN_FACT]], ctx=[], fields=[[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38]])
 ]]>
         </Resource>
         <Resource name="query00.planAfter">
             <![CDATA[
-KapOLAPToEnumerableConverter
-  KapProjectRel(EXPR$0=[CAST($0):DOUBLE], ctx=[])
-    KapAggregateRel(group-set=[[]], groups=[null], EXPR$0=[SUM($0)], ctx=[])
-      KapProjectRel(SELLER_ID=[$7], ctx=[])
-        KapTableScan(table=[[DEFAULT, TEST_KYLIN_FACT]], ctx=[], fields=[[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38]])
+OlapToEnumerableConverter
+  OlapProjectRel(EXPR$0=[CAST($0):DOUBLE], ctx=[])
+    OlapAggregateRel(group-set=[[]], groups=[null], EXPR$0=[SUM($0)], ctx=[])
+      OlapProjectRel(SELLER_ID=[$7], ctx=[])
+        OlapTableScan(table=[[DEFAULT, TEST_KYLIN_FACT]], ctx=[], fields=[[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38]])
 ]]>
         </Resource>
 
         <Resource name="query01.planBefore">
             <![CDATA[
-KapOLAPToEnumerableConverter
-  KapAggregateRel(group-set=[[]], groups=[null], EXPR$0=[SUM($0)], ctx=[])
-    KapProjectRel($f0=[CAST($8):DOUBLE], ctx=[])
-      KapTableScan(table=[[DEFAULT, TEST_KYLIN_FACT]], ctx=[], fields=[[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38]])
+OlapToEnumerableConverter
+  OlapAggregateRel(group-set=[[]], groups=[null], EXPR$0=[SUM($0)], ctx=[])
+    OlapProjectRel($f0=[CAST($8):DOUBLE], ctx=[])
+      OlapTableScan(table=[[DEFAULT, TEST_KYLIN_FACT]], ctx=[], fields=[[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38]])
 ]]>
         </Resource>
         <Resource name="query01.planAfter">
             <![CDATA[
-KapOLAPToEnumerableConverter
-  KapProjectRel(EXPR$0=[CAST($0):DOUBLE], ctx=[])
-    KapAggregateRel(group-set=[[]], groups=[null], EXPR$0=[SUM($0)], ctx=[])
-      KapProjectRel(PRICE=[$8], ctx=[])
-        KapTableScan(table=[[DEFAULT, TEST_KYLIN_FACT]], ctx=[], fields=[[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38]])
+OlapToEnumerableConverter
+  OlapProjectRel(EXPR$0=[CAST($0):DOUBLE], ctx=[])
+    OlapAggregateRel(group-set=[[]], groups=[null], EXPR$0=[SUM($0)], ctx=[])
+      OlapProjectRel(PRICE=[$8], ctx=[])
+        OlapTableScan(table=[[DEFAULT, TEST_KYLIN_FACT]], ctx=[], fields=[[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38]])
 ]]>
         </Resource>
 
         <Resource name="query02.planBefore">
             <![CDATA[
-KapOLAPToEnumerableConverter
-  KapAggregateRel(group-set=[[]], groups=[null], EXPR$0=[SUM($0)], ctx=[])
-    KapProjectRel($f0=[CAST($3):DOUBLE], ctx=[])
-      KapTableScan(table=[[DEFAULT, TEST_KYLIN_FACT]], ctx=[], fields=[[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38]])
+OlapToEnumerableConverter
+  OlapAggregateRel(group-set=[[]], groups=[null], EXPR$0=[SUM($0)], ctx=[])
+    OlapProjectRel($f0=[CAST($3):DOUBLE], ctx=[])
+      OlapTableScan(table=[[DEFAULT, TEST_KYLIN_FACT]], ctx=[], fields=[[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38]])
 ]]>
         </Resource>
         <Resource name="query02.planAfter">
             <![CDATA[
-KapOLAPToEnumerableConverter
-  KapAggregateRel(group-set=[[]], groups=[null], EXPR$0=[SUM($0)], ctx=[])
-    KapProjectRel($f0=[CAST($3):DOUBLE], ctx=[])
-      KapTableScan(table=[[DEFAULT, TEST_KYLIN_FACT]], ctx=[], fields=[[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38]])
+OlapToEnumerableConverter
+  OlapAggregateRel(group-set=[[]], groups=[null], EXPR$0=[SUM($0)], ctx=[])
+    OlapProjectRel($f0=[CAST($3):DOUBLE], ctx=[])
+      OlapTableScan(table=[[DEFAULT, TEST_KYLIN_FACT]], ctx=[], fields=[[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38]])
 ]]>
         </Resource>
 
         <Resource name="query03.planBefore">
             <![CDATA[
-KapOLAPToEnumerableConverter
-  KapAggregateRel(group-set=[[]], groups=[null], EXPR$0=[SUM($0)], ctx=[])
-    KapProjectRel($f0=[CAST($1):DOUBLE], ctx=[])
-      KapTableScan(table=[[DEFAULT, TEST_KYLIN_FACT]], ctx=[], fields=[[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38]])
+OlapToEnumerableConverter
+  OlapAggregateRel(group-set=[[]], groups=[null], EXPR$0=[SUM($0)], ctx=[])
+    OlapProjectRel($f0=[CAST($1):DOUBLE], ctx=[])
+      OlapTableScan(table=[[DEFAULT, TEST_KYLIN_FACT]], ctx=[], fields=[[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38]])
 ]]>
         </Resource>
         <Resource name="query03.planAfter">
             <![CDATA[
-KapOLAPToEnumerableConverter
-  KapProjectRel(EXPR$0=[CAST($0):DOUBLE], ctx=[])
-    KapAggregateRel(group-set=[[]], groups=[null], EXPR$0=[SUM($0)], ctx=[])
-      KapProjectRel(ORDER_ID=[$1], ctx=[])
-        KapTableScan(table=[[DEFAULT, TEST_KYLIN_FACT]], ctx=[], fields=[[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38]])
+OlapToEnumerableConverter
+  OlapProjectRel(EXPR$0=[CAST($0):DOUBLE], ctx=[])
+    OlapAggregateRel(group-set=[[]], groups=[null], EXPR$0=[SUM($0)], ctx=[])
+      OlapProjectRel(ORDER_ID=[$1], ctx=[])
+        OlapTableScan(table=[[DEFAULT, TEST_KYLIN_FACT]], ctx=[], fields=[[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38]])
 ]]>
         </Resource>
 
         <Resource name="query04.planBefore">
             <![CDATA[
-KapOLAPToEnumerableConverter
-  KapAggregateRel(group-set=[[]], groups=[null], EXPR$0=[SUM($0)], ctx=[])
-    KapProjectRel($f0=[CAST($6):DOUBLE], ctx=[])
-      KapTableScan(table=[[DEFAULT, TEST_KYLIN_FACT]], ctx=[], fields=[[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38]])
+OlapToEnumerableConverter
+  OlapAggregateRel(group-set=[[]], groups=[null], EXPR$0=[SUM($0)], ctx=[])
+    OlapProjectRel($f0=[CAST($6):DOUBLE], ctx=[])
+      OlapTableScan(table=[[DEFAULT, TEST_KYLIN_FACT]], ctx=[], fields=[[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38]])
 ]]>
         </Resource>
         <Resource name="query04.planAfter">
             <![CDATA[
-KapOLAPToEnumerableConverter
-  KapProjectRel(EXPR$0=[CAST($0):DOUBLE], ctx=[])
-    KapAggregateRel(group-set=[[]], groups=[null], EXPR$0=[SUM($0)], ctx=[])
-      KapProjectRel(SLR_SEGMENT_CD=[$6], ctx=[])
-        KapTableScan(table=[[DEFAULT, TEST_KYLIN_FACT]], ctx=[], fields=[[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38]])
+OlapToEnumerableConverter
+  OlapProjectRel(EXPR$0=[CAST($0):DOUBLE], ctx=[])
+    OlapAggregateRel(group-set=[[]], groups=[null], EXPR$0=[SUM($0)], ctx=[])
+      OlapProjectRel(SLR_SEGMENT_CD=[$6], ctx=[])
+        OlapTableScan(table=[[DEFAULT, TEST_KYLIN_FACT]], ctx=[], fields=[[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38]])
 ]]>
         </Resource>
 
         <Resource name="query05.planBefore">
             <![CDATA[
-KapOLAPToEnumerableConverter
-  KapProjectRel(EXPR$0=[$2], EXPR$1=[$3], EXPR$2=[$4], EXPR$3=[$5], LSTG_FORMAT_NAME=[$0], TRANS_ID=[$1], ctx=[])
-    KapLimitRel(ctx=[], fetch=[100])
-      KapSortRel(sort0=[$0], dir0=[DESC-nulls-last], ctx=[])
-        KapAggregateRel(group-set=[[0, 1]], groups=[null], EXPR$0=[SUM($2)], EXPR$1=[SUM($3)], EXPR$2=[SUM($4)], EXPR$3=[SUM($5)], ctx=[])
-          KapProjectRel(LSTG_FORMAT_NAME=[$3], TRANS_ID=[$0], $f2=[CAST($7):DOUBLE], $f3=[CAST($8):DOUBLE], $f4=[CAST($1):DOUBLE], $f5=[CAST($6):DOUBLE], ctx=[])
-            KapTableScan(table=[[DEFAULT, TEST_KYLIN_FACT]], ctx=[], fields=[[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38]])
+OlapToEnumerableConverter
+  OlapProjectRel(EXPR$0=[$2], EXPR$1=[$3], EXPR$2=[$4], EXPR$3=[$5], LSTG_FORMAT_NAME=[$0], TRANS_ID=[$1], ctx=[])
+    OlapLimitRel(ctx=[], fetch=[100])
+      OlapSortRel(sort0=[$0], dir0=[DESC-nulls-last], ctx=[])
+        OlapAggregateRel(group-set=[[0, 1]], groups=[null], EXPR$0=[SUM($2)], EXPR$1=[SUM($3)], EXPR$2=[SUM($4)], EXPR$3=[SUM($5)], ctx=[])
+          OlapProjectRel(LSTG_FORMAT_NAME=[$3], TRANS_ID=[$0], $f2=[CAST($7):DOUBLE], $f3=[CAST($8):DOUBLE], $f4=[CAST($1):DOUBLE], $f5=[CAST($6):DOUBLE], ctx=[])
+            OlapTableScan(table=[[DEFAULT, TEST_KYLIN_FACT]], ctx=[], fields=[[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38]])
 ]]>
         </Resource>
         <Resource name="query05.planAfter">
             <![CDATA[
-KapOLAPToEnumerableConverter
-  KapProjectRel(EXPR$0=[$2], EXPR$1=[$3], EXPR$2=[$4], EXPR$3=[$5], LSTG_FORMAT_NAME=[$0], TRANS_ID=[$1], ctx=[])
-    KapLimitRel(ctx=[], fetch=[100])
-      KapSortRel(sort0=[$0], dir0=[DESC-nulls-last], ctx=[])
-        KapProjectRel(LSTG_FORMAT_NAME=[$0], TRANS_ID=[$1], EXPR$0=[CAST($2):DOUBLE], EXPR$1=[CAST($3):DOUBLE], EXPR$2=[CAST($4):DOUBLE], EXPR$3=[CAST($5):DOUBLE], ctx=[])
-          KapAggregateRel(group-set=[[0, 1]], groups=[null], EXPR$0=[SUM($2)], EXPR$1=[SUM($3)], EXPR$2=[SUM($4)], EXPR$3=[SUM($5)], ctx=[])
-            KapProjectRel(LSTG_FORMAT_NAME=[$3], TRANS_ID=[$0], SELLER_ID=[$7], PRICE=[$8], ORDER_ID=[$1], SLR_SEGMENT_CD=[$6], ctx=[])
-              KapTableScan(table=[[DEFAULT, TEST_KYLIN_FACT]], ctx=[], fields=[[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38]])
+OlapToEnumerableConverter
+  OlapProjectRel(EXPR$0=[$2], EXPR$1=[$3], EXPR$2=[$4], EXPR$3=[$5], LSTG_FORMAT_NAME=[$0], TRANS_ID=[$1], ctx=[])
+    OlapLimitRel(ctx=[], fetch=[100])
+      OlapSortRel(sort0=[$0], dir0=[DESC-nulls-last], ctx=[])
+        OlapProjectRel(LSTG_FORMAT_NAME=[$0], TRANS_ID=[$1], EXPR$0=[CAST($2):DOUBLE], EXPR$1=[CAST($3):DOUBLE], EXPR$2=[CAST($4):DOUBLE], EXPR$3=[CAST($5):DOUBLE], ctx=[])
+          OlapAggregateRel(group-set=[[0, 1]], groups=[null], EXPR$0=[SUM($2)], EXPR$1=[SUM($3)], EXPR$2=[SUM($4)], EXPR$3=[SUM($5)], ctx=[])
+            OlapProjectRel(LSTG_FORMAT_NAME=[$3], TRANS_ID=[$0], SELLER_ID=[$7], PRICE=[$8], ORDER_ID=[$1], SLR_SEGMENT_CD=[$6], ctx=[])
+              OlapTableScan(table=[[DEFAULT, TEST_KYLIN_FACT]], ctx=[], fields=[[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38]])
 ]]>
         </Resource>
 
         <Resource name="query06.planBefore">
             <![CDATA[
-KapOLAPToEnumerableConverter
-  KapProjectRel(EXPR$0=[$4], EXPR$1=[$5], EXPR$2=[$6], EXPR$3=[$7], LSTG_FORMAT_NAME=[$0], TRANS_ID=[$1], PRICE_D=[$2], ORDER_ID_D=[$3], ctx=[])
-    KapLimitRel(ctx=[], fetch=[100])
-      KapSortRel(sort0=[$0], dir0=[DESC-nulls-last], ctx=[])
-        KapAggregateRel(group-set=[[0, 1, 2, 3]], groups=[null], EXPR$0=[SUM($4)], EXPR$1=[SUM($2)], EXPR$2=[SUM($3)], EXPR$3=[SUM($5)], ctx=[])
-          KapProjectRel(LSTG_FORMAT_NAME=[$3], TRANS_ID=[$0], PRICE_D=[CAST($8):DOUBLE], ORDER_ID_D=[CAST($1):DOUBLE], $f4=[CAST($7):DOUBLE], $f5=[CAST($6):DOUBLE], ctx=[])
-            KapTableScan(table=[[DEFAULT, TEST_KYLIN_FACT]], ctx=[], fields=[[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38]])
+OlapToEnumerableConverter
+  OlapProjectRel(EXPR$0=[$4], EXPR$1=[$5], EXPR$2=[$6], EXPR$3=[$7], LSTG_FORMAT_NAME=[$0], TRANS_ID=[$1], PRICE_D=[$2], ORDER_ID_D=[$3], ctx=[])
+    OlapLimitRel(ctx=[], fetch=[100])
+      OlapSortRel(sort0=[$0], dir0=[DESC-nulls-last], ctx=[])
+        OlapAggregateRel(group-set=[[0, 1, 2, 3]], groups=[null], EXPR$0=[SUM($4)], EXPR$1=[SUM($2)], EXPR$2=[SUM($3)], EXPR$3=[SUM($5)], ctx=[])
+          OlapProjectRel(LSTG_FORMAT_NAME=[$3], TRANS_ID=[$0], PRICE_D=[CAST($8):DOUBLE], ORDER_ID_D=[CAST($1):DOUBLE], $f4=[CAST($7):DOUBLE], $f5=[CAST($6):DOUBLE], ctx=[])
+            OlapTableScan(table=[[DEFAULT, TEST_KYLIN_FACT]], ctx=[], fields=[[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38]])
 ]]>
         </Resource>
         <Resource name="query06.planAfter">
             <![CDATA[
-KapOLAPToEnumerableConverter
-  KapProjectRel(EXPR$0=[$4], EXPR$1=[$5], EXPR$2=[$6], EXPR$3=[$7], LSTG_FORMAT_NAME=[$0], TRANS_ID=[$1], PRICE_D=[$2], ORDER_ID_D=[$3], ctx=[])
-    KapLimitRel(ctx=[], fetch=[100])
-      KapSortRel(sort0=[$0], dir0=[DESC-nulls-last], ctx=[])
-        KapProjectRel(LSTG_FORMAT_NAME=[$0], TRANS_ID=[$1], PRICE=[$2], ORDER_ID=[$3], EXPR$0=[CAST($4):DOUBLE], EXPR$1=[CAST($5):DOUBLE], EXPR$2=[CAST($6):DOUBLE], EXPR$3=[CAST($7):DOUBLE], ctx=[])
-          KapAggregateRel(group-set=[[0, 1, 2, 3]], groups=[null], EXPR$0=[SUM($4)], EXPR$1=[SUM($6)], EXPR$2=[SUM($7)], EXPR$3=[SUM($5)], ctx=[])
-            KapProjectRel(LSTG_FORMAT_NAME=[$3], TRANS_ID=[$0], PRICE=[CAST($8):DOUBLE], ORDER_ID=[CAST($1):DOUBLE], SELLER_ID=[$7], SLR_SEGMENT_CD=[$6], PRICE0=[$8], ORDER_ID0=[$1], ctx=[])
-              KapTableScan(table=[[DEFAULT, TEST_KYLIN_FACT]], ctx=[], fields=[[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38]])
+OlapToEnumerableConverter
+  OlapProjectRel(EXPR$0=[$4], EXPR$1=[$5], EXPR$2=[$6], EXPR$3=[$7], LSTG_FORMAT_NAME=[$0], TRANS_ID=[$1], PRICE_D=[$2], ORDER_ID_D=[$3], ctx=[])
+    OlapLimitRel(ctx=[], fetch=[100])
+      OlapSortRel(sort0=[$0], dir0=[DESC-nulls-last], ctx=[])
+        OlapProjectRel(LSTG_FORMAT_NAME=[$0], TRANS_ID=[$1], PRICE=[$2], ORDER_ID=[$3], EXPR$0=[CAST($4):DOUBLE], EXPR$1=[CAST($5):DOUBLE], EXPR$2=[CAST($6):DOUBLE], EXPR$3=[CAST($7):DOUBLE], ctx=[])
+          OlapAggregateRel(group-set=[[0, 1, 2, 3]], groups=[null], EXPR$0=[SUM($4)], EXPR$1=[SUM($6)], EXPR$2=[SUM($7)], EXPR$3=[SUM($5)], ctx=[])
+            OlapProjectRel(LSTG_FORMAT_NAME=[$3], TRANS_ID=[$0], PRICE=[CAST($8):DOUBLE], ORDER_ID=[CAST($1):DOUBLE], SELLER_ID=[$7], SLR_SEGMENT_CD=[$6], PRICE0=[$8], ORDER_ID0=[$1], ctx=[])
+              OlapTableScan(table=[[DEFAULT, TEST_KYLIN_FACT]], ctx=[], fields=[[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38]])
 ]]>
         </Resource>
 
         <Resource name="query07.planBefore">
             <![CDATA[
-KapOLAPToEnumerableConverter
-  KapProjectRel(EXPR$0=[$4], EXPR$1=[$5], EXPR$2=[$5], EXPR$3=[$6], EXPR$4=[$6], EXPR$5=[$7], LSTG_FORMAT_NAME=[$0], TRANS_ID=[$1], PRICE_D=[$2], ORDER_ID_D=[$3], ORDER_ID_D2=[$3], ctx=[])
-    KapLimitRel(ctx=[], fetch=[100])
-      KapSortRel(sort0=[$0], dir0=[DESC-nulls-last], ctx=[])
-        KapAggregateRel(group-set=[[0, 1, 2, 3]], groups=[null], EXPR$0=[SUM($4)], EXPR$2=[SUM($2)], EXPR$4=[SUM($3)], EXPR$5=[SUM($5)], ctx=[])
-          KapProjectRel(LSTG_FORMAT_NAME=[$3], TRANS_ID=[$0], PRICE_D=[CAST($8):DOUBLE], ORDER_ID_D2=[CAST($1):DOUBLE], $f4=[CAST($7):DOUBLE], $f5=[CAST($6):DOUBLE], ctx=[])
-            KapTableScan(table=[[DEFAULT, TEST_KYLIN_FACT]], ctx=[], fields=[[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38]])
+OlapToEnumerableConverter
+  OlapProjectRel(EXPR$0=[$4], EXPR$1=[$5], EXPR$2=[$5], EXPR$3=[$6], EXPR$4=[$6], EXPR$5=[$7], LSTG_FORMAT_NAME=[$0], TRANS_ID=[$1], PRICE_D=[$2], ORDER_ID_D=[$3], ORDER_ID_D2=[$3], ctx=[])
+    OlapLimitRel(ctx=[], fetch=[100])
+      OlapSortRel(sort0=[$0], dir0=[DESC-nulls-last], ctx=[])
+        OlapAggregateRel(group-set=[[0, 1, 2, 3]], groups=[null], EXPR$0=[SUM($4)], EXPR$2=[SUM($2)], EXPR$4=[SUM($3)], EXPR$5=[SUM($5)], ctx=[])
+          OlapProjectRel(LSTG_FORMAT_NAME=[$3], TRANS_ID=[$0], PRICE_D=[CAST($8):DOUBLE], ORDER_ID_D2=[CAST($1):DOUBLE], $f4=[CAST($7):DOUBLE], $f5=[CAST($6):DOUBLE], ctx=[])
+            OlapTableScan(table=[[DEFAULT, TEST_KYLIN_FACT]], ctx=[], fields=[[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38]])
 ]]>
         </Resource>
         <Resource name="query07.planAfter">
             <![CDATA[
-KapOLAPToEnumerableConverter
-  KapProjectRel(EXPR$0=[$4], EXPR$1=[$5], EXPR$2=[$5], EXPR$3=[$6], EXPR$4=[$6], EXPR$5=[$7], LSTG_FORMAT_NAME=[$0], TRANS_ID=[$1], PRICE_D=[$2], ORDER_ID_D=[$3], ORDER_ID_D2=[$3], ctx=[])
-    KapLimitRel(ctx=[], fetch=[100])
-      KapSortRel(sort0=[$0], dir0=[DESC-nulls-last], ctx=[])
-        KapProjectRel(LSTG_FORMAT_NAME=[$0], TRANS_ID=[$1], PRICE=[$2], ORDER_ID=[$3], EXPR$0=[CAST($4):DOUBLE], EXPR$2=[CAST($5):DOUBLE], EXPR$4=[CAST($6):DOUBLE], EXPR$5=[CAST($7):DOUBLE], ctx=[])
-          KapAggregateRel(group-set=[[0, 1, 2, 3]], groups=[null], EXPR$0=[SUM($4)], EXPR$2=[SUM($6)], EXPR$4=[SUM($7)], EXPR$5=[SUM($5)], ctx=[])
-            KapProjectRel(LSTG_FORMAT_NAME=[$3], TRANS_ID=[$0], PRICE=[CAST($8):DOUBLE], ORDER_ID=[CAST($1):DOUBLE], SELLER_ID=[$7], SLR_SEGMENT_CD=[$6], PRICE0=[$8], ORDER_ID0=[$1], ctx=[])
-              KapTableScan(table=[[DEFAULT, TEST_KYLIN_FACT]], ctx=[], fields=[[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38]])
+OlapToEnumerableConverter
+  OlapProjectRel(EXPR$0=[$4], EXPR$1=[$5], EXPR$2=[$5], EXPR$3=[$6], EXPR$4=[$6], EXPR$5=[$7], LSTG_FORMAT_NAME=[$0], TRANS_ID=[$1], PRICE_D=[$2], ORDER_ID_D=[$3], ORDER_ID_D2=[$3], ctx=[])
+    OlapLimitRel(ctx=[], fetch=[100])
+      OlapSortRel(sort0=[$0], dir0=[DESC-nulls-last], ctx=[])
+        OlapProjectRel(LSTG_FORMAT_NAME=[$0], TRANS_ID=[$1], PRICE=[$2], ORDER_ID=[$3], EXPR$0=[CAST($4):DOUBLE], EXPR$2=[CAST($5):DOUBLE], EXPR$4=[CAST($6):DOUBLE], EXPR$5=[CAST($7):DOUBLE], ctx=[])
+          OlapAggregateRel(group-set=[[0, 1, 2, 3]], groups=[null], EXPR$0=[SUM($4)], EXPR$2=[SUM($6)], EXPR$4=[SUM($7)], EXPR$5=[SUM($5)], ctx=[])
+            OlapProjectRel(LSTG_FORMAT_NAME=[$3], TRANS_ID=[$0], PRICE=[CAST($8):DOUBLE], ORDER_ID=[CAST($1):DOUBLE], SELLER_ID=[$7], SLR_SEGMENT_CD=[$6], PRICE0=[$8], ORDER_ID0=[$1], ctx=[])
+              OlapTableScan(table=[[DEFAULT, TEST_KYLIN_FACT]], ctx=[], fields=[[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38]])
 ]]>
         </Resource>
 
         <Resource name="query08.planBefore">
             <![CDATA[
-KapOLAPToEnumerableConverter
-  KapProjectRel(EXPR$0=[$4], EXPR$1=[$5], EXPR$2=[$6], EXPR$3=[$7], EXPR$4=[$8], EXPR$5=[$9], LSTG_FORMAT_NAME=[$0], TRANS_ID=[$1], PRICE_D=[$2], ORDER_ID_D=[$3], ORDER_ID_D2=[$3], ctx=[])
-    KapLimitRel(ctx=[], fetch=[100])
-      KapSortRel(sort0=[$0], dir0=[DESC-nulls-last], ctx=[])
-        KapAggregateRel(group-set=[[0, 1, 2, 3]], groups=[null], EXPR$0=[SUM($4)], EXPR$1=[SUM($5)], EXPR$2=[SUM($2)], EXPR$3=[SUM($6)], EXPR$4=[SUM($3)], EXPR$5=[SUM($7)], ctx=[])
-          KapProjectRel(LSTG_FORMAT_NAME=[$3], TRANS_ID=[$0], PRICE_D=[CAST($8):DOUBLE], ORDER_ID_D2=[CAST($1):DOUBLE], $f4=[CAST($7):DOUBLE], $f5=[CAST(+($8, 0.1)):DOUBLE], $f6=[CAST(+($1, 1)):DOUBLE], $f7=[CAST($6):DOUBLE], ctx=[])
-            KapTableScan(table=[[DEFAULT, TEST_KYLIN_FACT]], ctx=[], fields=[[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38]])
+OlapToEnumerableConverter
+  OlapProjectRel(EXPR$0=[$4], EXPR$1=[$5], EXPR$2=[$6], EXPR$3=[$7], EXPR$4=[$8], EXPR$5=[$9], LSTG_FORMAT_NAME=[$0], TRANS_ID=[$1], PRICE_D=[$2], ORDER_ID_D=[$3], ORDER_ID_D2=[$3], ctx=[])
+    OlapLimitRel(ctx=[], fetch=[100])
+      OlapSortRel(sort0=[$0], dir0=[DESC-nulls-last], ctx=[])
+        OlapAggregateRel(group-set=[[0, 1, 2, 3]], groups=[null], EXPR$0=[SUM($4)], EXPR$1=[SUM($5)], EXPR$2=[SUM($2)], EXPR$3=[SUM($6)], EXPR$4=[SUM($3)], EXPR$5=[SUM($7)], ctx=[])
+          OlapProjectRel(LSTG_FORMAT_NAME=[$3], TRANS_ID=[$0], PRICE_D=[CAST($8):DOUBLE], ORDER_ID_D2=[CAST($1):DOUBLE], $f4=[CAST($7):DOUBLE], $f5=[CAST(+($8, 0.1)):DOUBLE], $f6=[CAST(+($1, 1)):DOUBLE], $f7=[CAST($6):DOUBLE], ctx=[])
+            OlapTableScan(table=[[DEFAULT, TEST_KYLIN_FACT]], ctx=[], fields=[[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38]])
 ]]>
         </Resource>
         <Resource name="query08.planAfter">
             <![CDATA[
-KapOLAPToEnumerableConverter
-  KapProjectRel(EXPR$0=[$4], EXPR$1=[$5], EXPR$2=[$6], EXPR$3=[$7], EXPR$4=[$8], EXPR$5=[$9], LSTG_FORMAT_NAME=[$0], TRANS_ID=[$1], PRICE_D=[$2], ORDER_ID_D=[$3], ORDER_ID_D2=[$3], ctx=[])
-    KapLimitRel(ctx=[], fetch=[100])
-      KapSortRel(sort0=[$0], dir0=[DESC-nulls-last], ctx=[])
-        KapProjectRel(LSTG_FORMAT_NAME=[$0], TRANS_ID=[$1], PRICE=[$2], ORDER_ID=[$3], EXPR$0=[CAST($4):DOUBLE], EXPR$1=[CAST($5):DOUBLE], EXPR$2=[CAST($6):DOUBLE], EXPR$3=[CAST($7):DOUBLE], EXPR$4=[CAST($8):DOUBLE], EXPR$5=[CAST($9):DOUBLE], ctx=[])
-          KapAggregateRel(group-set=[[0, 1, 2, 3]], groups=[null], EXPR$0=[SUM($4)], EXPR$1=[SUM($5)], EXPR$2=[SUM($8)], EXPR$3=[SUM($6)], EXPR$4=[SUM($9)], EXPR$5=[SUM($7)], ctx=[])
-            KapProjectRel(LSTG_FORMAT_NAME=[$3], TRANS_ID=[$0], PRICE=[CAST($8):DOUBLE], ORDER_ID=[CAST($1):DOUBLE], SELLER_ID=[$7], $f5=[+($8, 0.1)], $f6=[+($1, 1)], SLR_SEGMENT_CD=[$6], PRICE0=[$8], ORDER_ID0=[$1], ctx=[])
-              KapTableScan(table=[[DEFAULT, TEST_KYLIN_FACT]], ctx=[], fields=[[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38]])
+OlapToEnumerableConverter
+  OlapProjectRel(EXPR$0=[$4], EXPR$1=[$5], EXPR$2=[$6], EXPR$3=[$7], EXPR$4=[$8], EXPR$5=[$9], LSTG_FORMAT_NAME=[$0], TRANS_ID=[$1], PRICE_D=[$2], ORDER_ID_D=[$3], ORDER_ID_D2=[$3], ctx=[])
+    OlapLimitRel(ctx=[], fetch=[100])
+      OlapSortRel(sort0=[$0], dir0=[DESC-nulls-last], ctx=[])
+        OlapProjectRel(LSTG_FORMAT_NAME=[$0], TRANS_ID=[$1], PRICE=[$2], ORDER_ID=[$3], EXPR$0=[CAST($4):DOUBLE], EXPR$1=[CAST($5):DOUBLE], EXPR$2=[CAST($6):DOUBLE], EXPR$3=[CAST($7):DOUBLE], EXPR$4=[CAST($8):DOUBLE], EXPR$5=[CAST($9):DOUBLE], ctx=[])
+          OlapAggregateRel(group-set=[[0, 1, 2, 3]], groups=[null], EXPR$0=[SUM($4)], EXPR$1=[SUM($5)], EXPR$2=[SUM($8)], EXPR$3=[SUM($6)], EXPR$4=[SUM($9)], EXPR$5=[SUM($7)], ctx=[])
+            OlapProjectRel(LSTG_FORMAT_NAME=[$3], TRANS_ID=[$0], PRICE=[CAST($8):DOUBLE], ORDER_ID=[CAST($1):DOUBLE], SELLER_ID=[$7], $f5=[+($8, 0.1)], $f6=[+($1, 1)], SLR_SEGMENT_CD=[$6], PRICE0=[$8], ORDER_ID0=[$1], ctx=[])
+              OlapTableScan(table=[[DEFAULT, TEST_KYLIN_FACT]], ctx=[], fields=[[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38]])
 ]]>
         </Resource>
     </TestCase>
diff --git a/src/kylin-it/src/test/resources/org/apache/kylin/query/engine/SumExprPlannerTest.xml b/src/kylin-it/src/test/resources/org/apache/kylin/query/engine/SumExprPlannerTest.xml
index 5cd88d79e1..0b523080aa 100644
--- a/src/kylin-it/src/test/resources/org/apache/kylin/query/engine/SumExprPlannerTest.xml
+++ b/src/kylin-it/src/test/resources/org/apache/kylin/query/engine/SumExprPlannerTest.xml
@@ -21,1195 +21,1195 @@
     <TestCase name="testAllCases">
         <Resource name="query00.planBefore">
             <![CDATA[
-KapOLAPToEnumerableConverter
-  KapProjectRel(COL1=[$2], COL2=[$3], COL3=[$0], COL4=[$4], COL5=[$5], COL6=[*(3, $4)], COL7=[$6], COL8=[$7], COL9=[$1], COL91=[CASE(=($8, 0), 0, AND(<>($4, 0), =($8, 0)), 0, *($4, $8))], ctx=[])
-    KapAggregateRel(group-set=[[0, 1]], groups=[null], COL1=[COUNT()], COL2=[SUM($2)], COL4=[SUM($3)], COL5=[COUNT($3)], COL7=[SUM($4)], COL8=[SUM($5)], agg#6=[SUM($6)], ctx=[])
-      KapProjectRel(COL3=[$7], COL9=[$44], $f2=[CASE(<=($44, 2012-12-31), *($8, 4), >($44, 2012-12-31), 1, null)], PRICE=[$8], $f4=[*($8, 3)], $f5=[/($8, 2)], ITEM_COUNT=[$9], ctx=[])
-        KapFilterRel(condition=[=($3, 'FP-GTC')], ctx=[])
-          KapJoinRel(condition=[=($207, $213)], joinType=[inner], ctx=[])
-            KapJoinRel(condition=[=($202, $209)], joinType=[inner], ctx=[])
-              KapJoinRel(condition=[=($40, $204)], joinType=[inner], ctx=[])
-                KapJoinRel(condition=[=($7, $199)], joinType=[inner], ctx=[])
-                  KapJoinRel(condition=[=($6, $190)], joinType=[inner], ctx=[])
-                    KapJoinRel(condition=[=($5, $180)], joinType=[inner], ctx=[])
-                      KapJoinRel(condition=[AND(=($4, $144), =($5, $146))], joinType=[inner], ctx=[])
-                        KapJoinRel(condition=[=($2, $44)], joinType=[inner], ctx=[])
-                          KapJoinRel(condition=[=($1, $39)], joinType=[inner], ctx=[])
-                            KapTableScan(table=[[DEFAULT, TEST_KYLIN_FACT]], ctx=[], fields=[[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38]])
-                            KapTableScan(table=[[DEFAULT, TEST_ORDER]], ctx=[], fields=[[0, 1, 2, 3, 4]])
-                          KapTableScan(table=[[EDW, TEST_CAL_DT]], ctx=[], fields=[[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99]])
-                        KapTableScan(table=[[DEFAULT, TEST_CATEGORY_GROUPINGS]], ctx=[], fields=[[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35]])
-                      KapTableScan(table=[[EDW, TEST_SITES]], ctx=[], fields=[[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]])
-                    KapTableScan(table=[[EDW, TEST_SELLER_TYPE_DIM]], ctx=[], fields=[[0, 1, 2, 3, 4, 5, 6, 7, 8]])
-                  KapTableScan(table=[[DEFAULT, TEST_ACCOUNT]], ctx=[], fields=[[0, 1, 2, 3, 4]])
-                KapTableScan(table=[[DEFAULT, TEST_ACCOUNT]], ctx=[], fields=[[0, 1, 2, 3, 4]])
-              KapTableScan(table=[[DEFAULT, TEST_COUNTRY]], ctx=[], fields=[[0, 1, 2, 3]])
-            KapTableScan(table=[[DEFAULT, TEST_COUNTRY]], ctx=[], fields=[[0, 1, 2, 3]])
+OlapToEnumerableConverter
+  OlapProjectRel(COL1=[$2], COL2=[$3], COL3=[$0], COL4=[$4], COL5=[$5], COL6=[*(3, $4)], COL7=[$6], COL8=[$7], COL9=[$1], COL91=[CASE(=($8, 0), 0, AND(<>($4, 0), =($8, 0)), 0, *($4, $8))], ctx=[])
+    OlapAggregateRel(group-set=[[0, 1]], groups=[null], COL1=[COUNT()], COL2=[SUM($2)], COL4=[SUM($3)], COL5=[COUNT($3)], COL7=[SUM($4)], COL8=[SUM($5)], agg#6=[SUM($6)], ctx=[])
+      OlapProjectRel(COL3=[$7], COL9=[$44], $f2=[CASE(<=($44, 2012-12-31), *($8, 4), >($44, 2012-12-31), 1, null)], PRICE=[$8], $f4=[*($8, 3)], $f5=[/($8, 2)], ITEM_COUNT=[$9], ctx=[])
+        OlapFilterRel(condition=[=($3, 'FP-GTC')], ctx=[])
+          OlapJoinRel(condition=[=($207, $213)], joinType=[inner], ctx=[])
+            OlapJoinRel(condition=[=($202, $209)], joinType=[inner], ctx=[])
+              OlapJoinRel(condition=[=($40, $204)], joinType=[inner], ctx=[])
+                OlapJoinRel(condition=[=($7, $199)], joinType=[inner], ctx=[])
+                  OlapJoinRel(condition=[=($6, $190)], joinType=[inner], ctx=[])
+                    OlapJoinRel(condition=[=($5, $180)], joinType=[inner], ctx=[])
+                      OlapJoinRel(condition=[AND(=($4, $144), =($5, $146))], joinType=[inner], ctx=[])
+                        OlapJoinRel(condition=[=($2, $44)], joinType=[inner], ctx=[])
+                          OlapJoinRel(condition=[=($1, $39)], joinType=[inner], ctx=[])
+                            OlapTableScan(table=[[DEFAULT, TEST_KYLIN_FACT]], ctx=[], fields=[[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38]])
+                            OlapTableScan(table=[[DEFAULT, TEST_ORDER]], ctx=[], fields=[[0, 1, 2, 3, 4]])
+                          OlapTableScan(table=[[EDW, TEST_CAL_DT]], ctx=[], fields=[[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99]])
+                        OlapTableScan(table=[[DEFAULT, TEST_CATEGORY_GROUPINGS]], ctx=[], fields=[[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35]])
+                      OlapTableScan(table=[[EDW, TEST_SITES]], ctx=[], fields=[[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]])
+                    OlapTableScan(table=[[EDW, TEST_SELLER_TYPE_DIM]], ctx=[], fields=[[0, 1, 2, 3, 4, 5, 6, 7, 8]])
+                  OlapTableScan(table=[[DEFAULT, TEST_ACCOUNT]], ctx=[], fields=[[0, 1, 2, 3, 4]])
+                OlapTableScan(table=[[DEFAULT, TEST_ACCOUNT]], ctx=[], fields=[[0, 1, 2, 3, 4]])
+              OlapTableScan(table=[[DEFAULT, TEST_COUNTRY]], ctx=[], fields=[[0, 1, 2, 3]])
+            OlapTableScan(table=[[DEFAULT, TEST_COUNTRY]], ctx=[], fields=[[0, 1, 2, 3]])
 ]]>
         </Resource>
         <Resource name="query00.planAfter">
             <![CDATA[
-KapOLAPToEnumerableConverter
-  KapProjectRel(COL1=[$2], COL2=[$3], COL3=[$0], COL4=[$4], COL5=[$5], COL6=[*(3, $4)], COL7=[$6], COL8=[$7], COL9=[$1], COL91=[CASE(=($8, 0), 0, AND(<>($4, 0), =($8, 0)), 0, *($4, $8))], ctx=[])
-    KapAggregateRel(group-set=[[0, 1]], groups=[null], AGG$0=[$SUM0($2)], AGG$1=[SUM($3)], AGG$2=[SUM($4)], AGG$3=[$SUM0($5)], AGG$4=[SUM($6)], AGG$5=[SUM($7)], AGG$6=[SUM($8)], ctx=[])
-      KapProjectRel(SELLER_ID=[$0], CAL_DT0=[$1], COL1=[$3], $f3=[CASE(<=($2, 2012-12-31), $9, >($2, 2012-12-31), $10, null)], COL4=[$4], COL5=[$5], COL7=[$6], COL8=[$7], $f8=[$8], ctx=[])
-        KapAggregateRel(group-set=[[0, 1, 2]], groups=[null], AGG$0=[SUM($3)], AGG$1=[SUM($4)], AGG$2=[SUM($5)], AGG$3=[SUM($6)], AGG$4=[SUM($7)], AGG$5=[SUM($8)], AGG$6=[SUM($9)], AGG$7=[SUM($10)], AGG$8=[SUM($11)], ctx=[])
-          KapProjectRel(SELLER_ID=[$0], CAL_DT0=[$1], CAL_DT00=[$2], COL1=[$3], COL4=[$4], COL5=[$5], $f6=[*($6, 3)], $f7=[/($7, 2)], $f8=[$8], $f9=[*($9, 4)], SUM_CASE$0$1=[$10], SUM_CASE$0$2=[$11], ctx=[])
-            KapAggregateRel(group-set=[[0, 1, 2]], groups=[null], TOP_AGG$0=[$SUM0($3)], TOP_AGG$1=[SUM($4)], TOP_AGG$2=[$SUM0($5)], TOP_AGG$3=[SUM($6)], TOP_AGG$4=[SUM($7)], TOP_AGG$5=[SUM($8)], TOP_AGG$6=[SUM($9)], TOP_AGG$7=[SUM($10)], TOP_AGG$8=[SUM($11)], ctx=[])
-              KapProjectRel(SELLER_ID=[$0], CAL_DT0=[$1], CAL_DT00=[$2], COL1=[$3], COL4=[$4], COL5=[$5], SUM_OP$0=[$6], SUM_OP$1=[$7], $f8=[$8], SUM_OP$2=[$9], $f10=[CAST(*(1, $10)):DECIMAL(29, 4) NOT NULL], $f11=[*(0, $11)], ctx=[])
-                KapAggregateRel(group-set=[[0, 1, 2]], groups=[null], COL1=[COUNT()], COL4=[SUM($3)], COL5=[COUNT($4)], SUM_OP$0=[SUM($5)], SUM_OP$1=[SUM($6)], agg#5=[SUM($7)], SUM_OP$2=[SUM($8)], SUM_CONST$7=[COUNT()], SUM_CONST$8=[COUNT()], ctx=[])
-                  KapProjectRel(SELLER_ID=[$7], CAL_DT0=[$44], CAL_DT00=[$44], PRICE=[$8], PRICE0=[$8], PRICE01=[$8], PRICE012=[$8], ITEM_COUNT=[$9], PRICE0123=[$8], ctx=[])
-                    KapFilterRel(condition=[=($3, 'FP-GTC')], ctx=[])
-                      KapJoinRel(condition=[=($207, $213)], joinType=[inner], ctx=[])
-                        KapJoinRel(condition=[=($202, $209)], joinType=[inner], ctx=[])
-                          KapJoinRel(condition=[=($40, $204)], joinType=[inner], ctx=[])
-                            KapJoinRel(condition=[=($7, $199)], joinType=[inner], ctx=[])
-                              KapJoinRel(condition=[=($6, $190)], joinType=[inner], ctx=[])
-                                KapJoinRel(condition=[=($5, $180)], joinType=[inner], ctx=[])
-                                  KapJoinRel(condition=[AND(=($4, $144), =($5, $146))], joinType=[inner], ctx=[])
-                                    KapJoinRel(condition=[=($2, $44)], joinType=[inner], ctx=[])
-                                      KapJoinRel(condition=[=($1, $39)], joinType=[inner], ctx=[])
-                                        KapTableScan(table=[[DEFAULT, TEST_KYLIN_FACT]], ctx=[], fields=[[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38]])
-                                        KapTableScan(table=[[DEFAULT, TEST_ORDER]], ctx=[], fields=[[0, 1, 2, 3, 4]])
-                                      KapTableScan(table=[[EDW, TEST_CAL_DT]], ctx=[], fields=[[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99]])
-                                    KapTableScan(table=[[DEFAULT, TEST_CATEGORY_GROUPINGS]], ctx=[], fields=[[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35]])
-                                  KapTableScan(table=[[EDW, TEST_SITES]], ctx=[], fields=[[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]])
-                                KapTableScan(table=[[EDW, TEST_SELLER_TYPE_DIM]], ctx=[], fields=[[0, 1, 2, 3, 4, 5, 6, 7, 8]])
-                              KapTableScan(table=[[DEFAULT, TEST_ACCOUNT]], ctx=[], fields=[[0, 1, 2, 3, 4]])
-                            KapTableScan(table=[[DEFAULT, TEST_ACCOUNT]], ctx=[], fields=[[0, 1, 2, 3, 4]])
-                          KapTableScan(table=[[DEFAULT, TEST_COUNTRY]], ctx=[], fields=[[0, 1, 2, 3]])
-                        KapTableScan(table=[[DEFAULT, TEST_COUNTRY]], ctx=[], fields=[[0, 1, 2, 3]])
+OlapToEnumerableConverter
+  OlapProjectRel(COL1=[$2], COL2=[$3], COL3=[$0], COL4=[$4], COL5=[$5], COL6=[*(3, $4)], COL7=[$6], COL8=[$7], COL9=[$1], COL91=[CASE(=($8, 0), 0, AND(<>($4, 0), =($8, 0)), 0, *($4, $8))], ctx=[])
+    OlapAggregateRel(group-set=[[0, 1]], groups=[null], AGG$0=[$SUM0($2)], AGG$1=[SUM($3)], AGG$2=[SUM($4)], AGG$3=[$SUM0($5)], AGG$4=[SUM($6)], AGG$5=[SUM($7)], AGG$6=[SUM($8)], ctx=[])
+      OlapProjectRel(SELLER_ID=[$0], CAL_DT0=[$1], COL1=[$3], $f3=[CASE(<=($2, 2012-12-31), $9, >($2, 2012-12-31), $10, null)], COL4=[$4], COL5=[$5], COL7=[$6], COL8=[$7], $f8=[$8], ctx=[])
+        OlapAggregateRel(group-set=[[0, 1, 2]], groups=[null], AGG$0=[SUM($3)], AGG$1=[SUM($4)], AGG$2=[SUM($5)], AGG$3=[SUM($6)], AGG$4=[SUM($7)], AGG$5=[SUM($8)], AGG$6=[SUM($9)], AGG$7=[SUM($10)], AGG$8=[SUM($11)], ctx=[])
+          OlapProjectRel(SELLER_ID=[$0], CAL_DT0=[$1], CAL_DT00=[$2], COL1=[$3], COL4=[$4], COL5=[$5], $f6=[*($6, 3)], $f7=[/($7, 2)], $f8=[$8], $f9=[*($9, 4)], SUM_CASE$0$1=[$10], SUM_CASE$0$2=[$11], ctx=[])
+            OlapAggregateRel(group-set=[[0, 1, 2]], groups=[null], TOP_AGG$0=[$SUM0($3)], TOP_AGG$1=[SUM($4)], TOP_AGG$2=[$SUM0($5)], TOP_AGG$3=[SUM($6)], TOP_AGG$4=[SUM($7)], TOP_AGG$5=[SUM($8)], TOP_AGG$6=[SUM($9)], TOP_AGG$7=[SUM($10)], TOP_AGG$8=[SUM($11)], ctx=[])
+              OlapProjectRel(SELLER_ID=[$0], CAL_DT0=[$1], CAL_DT00=[$2], COL1=[$3], COL4=[$4], COL5=[$5], SUM_OP$0=[$6], SUM_OP$1=[$7], $f8=[$8], SUM_OP$2=[$9], $f10=[CAST(*(1, $10)):DECIMAL(29, 4) NOT NULL], $f11=[*(0, $11)], ctx=[])
+                OlapAggregateRel(group-set=[[0, 1, 2]], groups=[null], COL1=[COUNT()], COL4=[SUM($3)], COL5=[COUNT($4)], SUM_OP$0=[SUM($5)], SUM_OP$1=[SUM($6)], agg#5=[SUM($7)], SUM_OP$2=[SUM($8)], SUM_CONST$7=[COUNT()], SUM_CONST$8=[COUNT()], ctx=[])
+                  OlapProjectRel(SELLER_ID=[$7], CAL_DT0=[$44], CAL_DT00=[$44], PRICE=[$8], PRICE0=[$8], PRICE01=[$8], PRICE012=[$8], ITEM_COUNT=[$9], PRICE0123=[$8], ctx=[])
+                    OlapFilterRel(condition=[=($3, 'FP-GTC')], ctx=[])
+                      OlapJoinRel(condition=[=($207, $213)], joinType=[inner], ctx=[])
+                        OlapJoinRel(condition=[=($202, $209)], joinType=[inner], ctx=[])
+                          OlapJoinRel(condition=[=($40, $204)], joinType=[inner], ctx=[])
+                            OlapJoinRel(condition=[=($7, $199)], joinType=[inner], ctx=[])
+                              OlapJoinRel(condition=[=($6, $190)], joinType=[inner], ctx=[])
+                                OlapJoinRel(condition=[=($5, $180)], joinType=[inner], ctx=[])
+                                  OlapJoinRel(condition=[AND(=($4, $144), =($5, $146))], joinType=[inner], ctx=[])
+                                    OlapJoinRel(condition=[=($2, $44)], joinType=[inner], ctx=[])
+                                      OlapJoinRel(condition=[=($1, $39)], joinType=[inner], ctx=[])
+                                        OlapTableScan(table=[[DEFAULT, TEST_KYLIN_FACT]], ctx=[], fields=[[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38]])
+                                        OlapTableScan(table=[[DEFAULT, TEST_ORDER]], ctx=[], fields=[[0, 1, 2, 3, 4]])
+                                      OlapTableScan(table=[[EDW, TEST_CAL_DT]], ctx=[], fields=[[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99]])
+                                    OlapTableScan(table=[[DEFAULT, TEST_CATEGORY_GROUPINGS]], ctx=[], fields=[[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35]])
+                                  OlapTableScan(table=[[EDW, TEST_SITES]], ctx=[], fields=[[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]])
+                                OlapTableScan(table=[[EDW, TEST_SELLER_TYPE_DIM]], ctx=[], fields=[[0, 1, 2, 3, 4, 5, 6, 7, 8]])
+                              OlapTableScan(table=[[DEFAULT, TEST_ACCOUNT]], ctx=[], fields=[[0, 1, 2, 3, 4]])
+                            OlapTableScan(table=[[DEFAULT, TEST_ACCOUNT]], ctx=[], fields=[[0, 1, 2, 3, 4]])
+                          OlapTableScan(table=[[DEFAULT, TEST_COUNTRY]], ctx=[], fields=[[0, 1, 2, 3]])
+                        OlapTableScan(table=[[DEFAULT, TEST_COUNTRY]], ctx=[], fields=[[0, 1, 2, 3]])
 ]]>
         </Resource>
         <Resource name="query00-if.planBefore">
             <![CDATA[
-KapOLAPToEnumerableConverter
-  KapProjectRel(COL1=[$2], COL2=[$3], COL3=[$0], COL4=[$4], COL5=[$5], COL6=[*(3, $4)], COL7=[$6], COL8=[$7], COL9=[$1], COL91=[CASE(=($8, 0), 0, AND(<>($4, 0), =($8, 0)), 0, *($4, $8))], ctx=[])
-    KapAggregateRel(group-set=[[0, 1]], groups=[null], COL1=[COUNT()], COL2=[SUM($2)], COL4=[SUM($3)], COL5=[COUNT($3)], COL7=[SUM($4)], COL8=[SUM($5)], agg#6=[SUM($6)], ctx=[])
-      KapProjectRel(COL3=[$7], COL9=[$44], $f2=[IF(<=($44, 2012-12-31), *($8, 4), 1)], PRICE=[$8], $f4=[*($8, 3)], $f5=[/($8, 2)], ITEM_COUNT=[$9], ctx=[])
-        KapFilterRel(condition=[=($3, 'FP-GTC')], ctx=[])
-          KapJoinRel(condition=[=($207, $213)], joinType=[inner], ctx=[])
-            KapJoinRel(condition=[=($202, $209)], joinType=[inner], ctx=[])
-              KapJoinRel(condition=[=($40, $204)], joinType=[inner], ctx=[])
-                KapJoinRel(condition=[=($7, $199)], joinType=[inner], ctx=[])
-                  KapJoinRel(condition=[=($6, $190)], joinType=[inner], ctx=[])
-                    KapJoinRel(condition=[=($5, $180)], joinType=[inner], ctx=[])
-                      KapJoinRel(condition=[AND(=($4, $144), =($5, $146))], joinType=[inner], ctx=[])
-                        KapJoinRel(condition=[=($2, $44)], joinType=[inner], ctx=[])
-                          KapJoinRel(condition=[=($1, $39)], joinType=[inner], ctx=[])
-                            KapTableScan(table=[[DEFAULT, TEST_KYLIN_FACT]], ctx=[], fields=[[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38]])
-                            KapTableScan(table=[[DEFAULT, TEST_ORDER]], ctx=[], fields=[[0, 1, 2, 3, 4]])
-                          KapTableScan(table=[[EDW, TEST_CAL_DT]], ctx=[], fields=[[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99]])
-                        KapTableScan(table=[[DEFAULT, TEST_CATEGORY_GROUPINGS]], ctx=[], fields=[[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35]])
-                      KapTableScan(table=[[EDW, TEST_SITES]], ctx=[], fields=[[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]])
-                    KapTableScan(table=[[EDW, TEST_SELLER_TYPE_DIM]], ctx=[], fields=[[0, 1, 2, 3, 4, 5, 6, 7, 8]])
-                  KapTableScan(table=[[DEFAULT, TEST_ACCOUNT]], ctx=[], fields=[[0, 1, 2, 3, 4]])
-                KapTableScan(table=[[DEFAULT, TEST_ACCOUNT]], ctx=[], fields=[[0, 1, 2, 3, 4]])
-              KapTableScan(table=[[DEFAULT, TEST_COUNTRY]], ctx=[], fields=[[0, 1, 2, 3]])
-            KapTableScan(table=[[DEFAULT, TEST_COUNTRY]], ctx=[], fields=[[0, 1, 2, 3]])
+OlapToEnumerableConverter
+  OlapProjectRel(COL1=[$2], COL2=[$3], COL3=[$0], COL4=[$4], COL5=[$5], COL6=[*(3, $4)], COL7=[$6], COL8=[$7], COL9=[$1], COL91=[CASE(=($8, 0), 0, AND(<>($4, 0), =($8, 0)), 0, *($4, $8))], ctx=[])
+    OlapAggregateRel(group-set=[[0, 1]], groups=[null], COL1=[COUNT()], COL2=[SUM($2)], COL4=[SUM($3)], COL5=[COUNT($3)], COL7=[SUM($4)], COL8=[SUM($5)], agg#6=[SUM($6)], ctx=[])
+      OlapProjectRel(COL3=[$7], COL9=[$44], $f2=[IF(<=($44, 2012-12-31), *($8, 4), 1)], PRICE=[$8], $f4=[*($8, 3)], $f5=[/($8, 2)], ITEM_COUNT=[$9], ctx=[])
+        OlapFilterRel(condition=[=($3, 'FP-GTC')], ctx=[])
+          OlapJoinRel(condition=[=($207, $213)], joinType=[inner], ctx=[])
+            OlapJoinRel(condition=[=($202, $209)], joinType=[inner], ctx=[])
+              OlapJoinRel(condition=[=($40, $204)], joinType=[inner], ctx=[])
+                OlapJoinRel(condition=[=($7, $199)], joinType=[inner], ctx=[])
+                  OlapJoinRel(condition=[=($6, $190)], joinType=[inner], ctx=[])
+                    OlapJoinRel(condition=[=($5, $180)], joinType=[inner], ctx=[])
+                      OlapJoinRel(condition=[AND(=($4, $144), =($5, $146))], joinType=[inner], ctx=[])
+                        OlapJoinRel(condition=[=($2, $44)], joinType=[inner], ctx=[])
+                          OlapJoinRel(condition=[=($1, $39)], joinType=[inner], ctx=[])
+                            OlapTableScan(table=[[DEFAULT, TEST_KYLIN_FACT]], ctx=[], fields=[[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38]])
+                            OlapTableScan(table=[[DEFAULT, TEST_ORDER]], ctx=[], fields=[[0, 1, 2, 3, 4]])
+                          OlapTableScan(table=[[EDW, TEST_CAL_DT]], ctx=[], fields=[[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99]])
+                        OlapTableScan(table=[[DEFAULT, TEST_CATEGORY_GROUPINGS]], ctx=[], fields=[[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35]])
+                      OlapTableScan(table=[[EDW, TEST_SITES]], ctx=[], fields=[[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]])
+                    OlapTableScan(table=[[EDW, TEST_SELLER_TYPE_DIM]], ctx=[], fields=[[0, 1, 2, 3, 4, 5, 6, 7, 8]])
+                  OlapTableScan(table=[[DEFAULT, TEST_ACCOUNT]], ctx=[], fields=[[0, 1, 2, 3, 4]])
+                OlapTableScan(table=[[DEFAULT, TEST_ACCOUNT]], ctx=[], fields=[[0, 1, 2, 3, 4]])
+              OlapTableScan(table=[[DEFAULT, TEST_COUNTRY]], ctx=[], fields=[[0, 1, 2, 3]])
+            OlapTableScan(table=[[DEFAULT, TEST_COUNTRY]], ctx=[], fields=[[0, 1, 2, 3]])
 ]]>
         </Resource>
         <Resource name="query00-if.planAfter">
             <![CDATA[
-KapOLAPToEnumerableConverter
-  KapProjectRel(COL1=[$2], COL2=[$3], COL3=[$0], COL4=[$4], COL5=[$5], COL6=[*(3, $4)], COL7=[$6], COL8=[$7], COL9=[$1], COL91=[CASE(=($8, 0), 0, AND(<>($4, 0), =($8, 0)), 0, *($4, $8))], ctx=[])
-    KapAggregateRel(group-set=[[0, 1]], groups=[null], AGG$0=[$SUM0($2)], AGG$1=[SUM($3)], AGG$2=[SUM($4)], AGG$3=[$SUM0($5)], AGG$4=[SUM($6)], AGG$5=[SUM($7)], AGG$6=[SUM($8)], ctx=[])
-      KapProjectRel(SELLER_ID=[$0], CAL_DT0=[$1], COL1=[$3], $f3=[CASE(<=($2, 2012-12-31), $9, $10)], COL4=[$4], COL5=[$5], COL7=[$6], COL8=[$7], $f8=[$8], ctx=[])
-        KapAggregateRel(group-set=[[0, 1, 2]], groups=[null], AGG$0=[SUM($3)], AGG$1=[SUM($4)], AGG$2=[SUM($5)], AGG$3=[SUM($6)], AGG$4=[SUM($7)], AGG$5=[SUM($8)], AGG$6=[SUM($9)], AGG$7=[SUM($10)], ctx=[])
-          KapProjectRel(SELLER_ID=[$0], CAL_DT0=[$1], CAL_DT00=[$2], COL1=[$3], COL4=[$4], COL5=[$5], $f6=[*($6, 3)], $f7=[/($7, 2)], $f8=[$8], $f9=[*($9, 4)], SUM_CASE$0$1=[$10], ctx=[])
-            KapAggregateRel(group-set=[[0, 1, 2]], groups=[null], TOP_AGG$0=[$SUM0($3)], TOP_AGG$1=[SUM($4)], TOP_AGG$2=[$SUM0($5)], TOP_AGG$3=[SUM($6)], TOP_AGG$4=[SUM($7)], TOP_AGG$5=[SUM($8)], TOP_AGG$6=[SUM($9)], TOP_AGG$7=[SUM($10)], ctx=[])
-              KapProjectRel(SELLER_ID=[$0], CAL_DT0=[$1], CAL_DT00=[$2], COL1=[$3], COL4=[$4], COL5=[$5], SUM_OP$0=[$6], SUM_OP$1=[$7], $f8=[$8], SUM_OP$2=[$9], $f10=[*(1, $10)], ctx=[])
-                KapAggregateRel(group-set=[[0, 1, 2]], groups=[null], COL1=[COUNT()], COL4=[SUM($3)], COL5=[COUNT($4)], SUM_OP$0=[SUM($5)], SUM_OP$1=[SUM($6)], agg#5=[SUM($7)], SUM_OP$2=[SUM($8)], SUM_CONST$7=[COUNT()], ctx=[])
-                  KapProjectRel(SELLER_ID=[$7], CAL_DT0=[$44], CAL_DT00=[$44], PRICE=[$8], PRICE0=[$8], PRICE01=[$8], PRICE012=[$8], ITEM_COUNT=[$9], PRICE0123=[$8], ctx=[])
-                    KapFilterRel(condition=[=($3, 'FP-GTC')], ctx=[])
-                      KapJoinRel(condition=[=($207, $213)], joinType=[inner], ctx=[])
-                        KapJoinRel(condition=[=($202, $209)], joinType=[inner], ctx=[])
-                          KapJoinRel(condition=[=($40, $204)], joinType=[inner], ctx=[])
-                            KapJoinRel(condition=[=($7, $199)], joinType=[inner], ctx=[])
-                              KapJoinRel(condition=[=($6, $190)], joinType=[inner], ctx=[])
-                                KapJoinRel(condition=[=($5, $180)], joinType=[inner], ctx=[])
-                                  KapJoinRel(condition=[AND(=($4, $144), =($5, $146))], joinType=[inner], ctx=[])
-                                    KapJoinRel(condition=[=($2, $44)], joinType=[inner], ctx=[])
-                                      KapJoinRel(condition=[=($1, $39)], joinType=[inner], ctx=[])
-                                        KapTableScan(table=[[DEFAULT, TEST_KYLIN_FACT]], ctx=[], fields=[[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38]])
-                                        KapTableScan(table=[[DEFAULT, TEST_ORDER]], ctx=[], fields=[[0, 1, 2, 3, 4]])
-                                      KapTableScan(table=[[EDW, TEST_CAL_DT]], ctx=[], fields=[[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99]])
-                                    KapTableScan(table=[[DEFAULT, TEST_CATEGORY_GROUPINGS]], ctx=[], fields=[[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35]])
-                                  KapTableScan(table=[[EDW, TEST_SITES]], ctx=[], fields=[[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]])
-                                KapTableScan(table=[[EDW, TEST_SELLER_TYPE_DIM]], ctx=[], fields=[[0, 1, 2, 3, 4, 5, 6, 7, 8]])
-                              KapTableScan(table=[[DEFAULT, TEST_ACCOUNT]], ctx=[], fields=[[0, 1, 2, 3, 4]])
-                            KapTableScan(table=[[DEFAULT, TEST_ACCOUNT]], ctx=[], fields=[[0, 1, 2, 3, 4]])
-                          KapTableScan(table=[[DEFAULT, TEST_COUNTRY]], ctx=[], fields=[[0, 1, 2, 3]])
-                        KapTableScan(table=[[DEFAULT, TEST_COUNTRY]], ctx=[], fields=[[0, 1, 2, 3]])
+OlapToEnumerableConverter
+  OlapProjectRel(COL1=[$2], COL2=[$3], COL3=[$0], COL4=[$4], COL5=[$5], COL6=[*(3, $4)], COL7=[$6], COL8=[$7], COL9=[$1], COL91=[CASE(=($8, 0), 0, AND(<>($4, 0), =($8, 0)), 0, *($4, $8))], ctx=[])
+    OlapAggregateRel(group-set=[[0, 1]], groups=[null], AGG$0=[$SUM0($2)], AGG$1=[SUM($3)], AGG$2=[SUM($4)], AGG$3=[$SUM0($5)], AGG$4=[SUM($6)], AGG$5=[SUM($7)], AGG$6=[SUM($8)], ctx=[])
+      OlapProjectRel(SELLER_ID=[$0], CAL_DT0=[$1], COL1=[$3], $f3=[CASE(<=($2, 2012-12-31), $9, $10)], COL4=[$4], COL5=[$5], COL7=[$6], COL8=[$7], $f8=[$8], ctx=[])
+        OlapAggregateRel(group-set=[[0, 1, 2]], groups=[null], AGG$0=[SUM($3)], AGG$1=[SUM($4)], AGG$2=[SUM($5)], AGG$3=[SUM($6)], AGG$4=[SUM($7)], AGG$5=[SUM($8)], AGG$6=[SUM($9)], AGG$7=[SUM($10)], ctx=[])
+          OlapProjectRel(SELLER_ID=[$0], CAL_DT0=[$1], CAL_DT00=[$2], COL1=[$3], COL4=[$4], COL5=[$5], $f6=[*($6, 3)], $f7=[/($7, 2)], $f8=[$8], $f9=[*($9, 4)], SUM_CASE$0$1=[$10], ctx=[])
+            OlapAggregateRel(group-set=[[0, 1, 2]], groups=[null], TOP_AGG$0=[$SUM0($3)], TOP_AGG$1=[SUM($4)], TOP_AGG$2=[$SUM0($5)], TOP_AGG$3=[SUM($6)], TOP_AGG$4=[SUM($7)], TOP_AGG$5=[SUM($8)], TOP_AGG$6=[SUM($9)], TOP_AGG$7=[SUM($10)], ctx=[])
+              OlapProjectRel(SELLER_ID=[$0], CAL_DT0=[$1], CAL_DT00=[$2], COL1=[$3], COL4=[$4], COL5=[$5], SUM_OP$0=[$6], SUM_OP$1=[$7], $f8=[$8], SUM_OP$2=[$9], $f10=[*(1, $10)], ctx=[])
+                OlapAggregateRel(group-set=[[0, 1, 2]], groups=[null], COL1=[COUNT()], COL4=[SUM($3)], COL5=[COUNT($4)], SUM_OP$0=[SUM($5)], SUM_OP$1=[SUM($6)], agg#5=[SUM($7)], SUM_OP$2=[SUM($8)], SUM_CONST$7=[COUNT()], ctx=[])
+                  OlapProjectRel(SELLER_ID=[$7], CAL_DT0=[$44], CAL_DT00=[$44], PRICE=[$8], PRICE0=[$8], PRICE01=[$8], PRICE012=[$8], ITEM_COUNT=[$9], PRICE0123=[$8], ctx=[])
+                    OlapFilterRel(condition=[=($3, 'FP-GTC')], ctx=[])
+                      OlapJoinRel(condition=[=($207, $213)], joinType=[inner], ctx=[])
+                        OlapJoinRel(condition=[=($202, $209)], joinType=[inner], ctx=[])
+                          OlapJoinRel(condition=[=($40, $204)], joinType=[inner], ctx=[])
+                            OlapJoinRel(condition=[=($7, $199)], joinType=[inner], ctx=[])
+                              OlapJoinRel(condition=[=($6, $190)], joinType=[inner], ctx=[])
+                                OlapJoinRel(condition=[=($5, $180)], joinType=[inner], ctx=[])
+                                  OlapJoinRel(condition=[AND(=($4, $144), =($5, $146))], joinType=[inner], ctx=[])
+                                    OlapJoinRel(condition=[=($2, $44)], joinType=[inner], ctx=[])
+                                      OlapJoinRel(condition=[=($1, $39)], joinType=[inner], ctx=[])
+                                        OlapTableScan(table=[[DEFAULT, TEST_KYLIN_FACT]], ctx=[], fields=[[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38]])
+                                        OlapTableScan(table=[[DEFAULT, TEST_ORDER]], ctx=[], fields=[[0, 1, 2, 3, 4]])
+                                      OlapTableScan(table=[[EDW, TEST_CAL_DT]], ctx=[], fields=[[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99]])
+                                    OlapTableScan(table=[[DEFAULT, TEST_CATEGORY_GROUPINGS]], ctx=[], fields=[[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35]])
+                                  OlapTableScan(table=[[EDW, TEST_SITES]], ctx=[], fields=[[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]])
+                                OlapTableScan(table=[[EDW, TEST_SELLER_TYPE_DIM]], ctx=[], fields=[[0, 1, 2, 3, 4, 5, 6, 7, 8]])
+                              OlapTableScan(table=[[DEFAULT, TEST_ACCOUNT]], ctx=[], fields=[[0, 1, 2, 3, 4]])
+                            OlapTableScan(table=[[DEFAULT, TEST_ACCOUNT]], ctx=[], fields=[[0, 1, 2, 3, 4]])
+                          OlapTableScan(table=[[DEFAULT, TEST_COUNTRY]], ctx=[], fields=[[0, 1, 2, 3]])
+                        OlapTableScan(table=[[DEFAULT, TEST_COUNTRY]], ctx=[], fields=[[0, 1, 2, 3]])
 ]]>
 
         </Resource>
         <Resource name="query01.planBefore">
             <![CDATA[
-KapOLAPToEnumerableConverter
-  KapAggregateRel(group-set=[[0]], groups=[null], COL92=[SUM($1)], COL3=[SUM($2)], ctx=[])
-    KapProjectRel(COL1=[$44], $f1=[CASE(=($3, 'ABIN'), 0, 1)], $f2=[CASE(AND(=(EXTRACT(FLAG(YEAR), $44), 2012), =(EXTRACT(FLAG(MONTH), $44), 3), <=($44, 2012-03-13)), *($8, 2), OR(<>(EXTRACT(FLAG(YEAR), $44), 2012), <>(EXTRACT(FLAG(MONTH), $44), 3), >($44, 2012-03-13)), 1, null)], ctx=[])
-      KapJoinRel(condition=[=($207, $213)], joinType=[inner], ctx=[])
-        KapJoinRel(condition=[=($202, $209)], joinType=[inner], ctx=[])
-          KapJoinRel(condition=[=($40, $204)], joinType=[inner], ctx=[])
-            KapJoinRel(condition=[=($7, $199)], joinType=[inner], ctx=[])
-              KapJoinRel(condition=[=($6, $190)], joinType=[inner], ctx=[])
-                KapJoinRel(condition=[=($5, $180)], joinType=[inner], ctx=[])
-                  KapJoinRel(condition=[AND(=($4, $144), =($5, $146))], joinType=[inner], ctx=[])
-                    KapJoinRel(condition=[=($2, $44)], joinType=[inner], ctx=[])
-                      KapJoinRel(condition=[=($1, $39)], joinType=[inner], ctx=[])
-                        KapTableScan(table=[[DEFAULT, TEST_KYLIN_FACT]], ctx=[], fields=[[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38]])
-                        KapTableScan(table=[[DEFAULT, TEST_ORDER]], ctx=[], fields=[[0, 1, 2, 3, 4]])
-                      KapTableScan(table=[[EDW, TEST_CAL_DT]], ctx=[], fields=[[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99]])
-                    KapTableScan(table=[[DEFAULT, TEST_CATEGORY_GROUPINGS]], ctx=[], fields=[[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35]])
-                  KapTableScan(table=[[EDW, TEST_SITES]], ctx=[], fields=[[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]])
-                KapTableScan(table=[[EDW, TEST_SELLER_TYPE_DIM]], ctx=[], fields=[[0, 1, 2, 3, 4, 5, 6, 7, 8]])
-              KapTableScan(table=[[DEFAULT, TEST_ACCOUNT]], ctx=[], fields=[[0, 1, 2, 3, 4]])
-            KapTableScan(table=[[DEFAULT, TEST_ACCOUNT]], ctx=[], fields=[[0, 1, 2, 3, 4]])
-          KapTableScan(table=[[DEFAULT, TEST_COUNTRY]], ctx=[], fields=[[0, 1, 2, 3]])
-        KapTableScan(table=[[DEFAULT, TEST_COUNTRY]], ctx=[], fields=[[0, 1, 2, 3]])
+OlapToEnumerableConverter
+  OlapAggregateRel(group-set=[[0]], groups=[null], COL92=[SUM($1)], COL3=[SUM($2)], ctx=[])
+    OlapProjectRel(COL1=[$44], $f1=[CASE(=($3, 'ABIN'), 0, 1)], $f2=[CASE(AND(=(EXTRACT(FLAG(YEAR), $44), 2012), =(EXTRACT(FLAG(MONTH), $44), 3), <=($44, 2012-03-13)), *($8, 2), OR(<>(EXTRACT(FLAG(YEAR), $44), 2012), <>(EXTRACT(FLAG(MONTH), $44), 3), >($44, 2012-03-13)), 1, null)], ctx=[])
+      OlapJoinRel(condition=[=($207, $213)], joinType=[inner], ctx=[])
+        OlapJoinRel(condition=[=($202, $209)], joinType=[inner], ctx=[])
+          OlapJoinRel(condition=[=($40, $204)], joinType=[inner], ctx=[])
+            OlapJoinRel(condition=[=($7, $199)], joinType=[inner], ctx=[])
+              OlapJoinRel(condition=[=($6, $190)], joinType=[inner], ctx=[])
+                OlapJoinRel(condition=[=($5, $180)], joinType=[inner], ctx=[])
+                  OlapJoinRel(condition=[AND(=($4, $144), =($5, $146))], joinType=[inner], ctx=[])
+                    OlapJoinRel(condition=[=($2, $44)], joinType=[inner], ctx=[])
+                      OlapJoinRel(condition=[=($1, $39)], joinType=[inner], ctx=[])
+                        OlapTableScan(table=[[DEFAULT, TEST_KYLIN_FACT]], ctx=[], fields=[[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38]])
+                        OlapTableScan(table=[[DEFAULT, TEST_ORDER]], ctx=[], fields=[[0, 1, 2, 3, 4]])
+                      OlapTableScan(table=[[EDW, TEST_CAL_DT]], ctx=[], fields=[[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99]])
+                    OlapTableScan(table=[[DEFAULT, TEST_CATEGORY_GROUPINGS]], ctx=[], fields=[[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35]])
+                  OlapTableScan(table=[[EDW, TEST_SITES]], ctx=[], fields=[[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]])
+                OlapTableScan(table=[[EDW, TEST_SELLER_TYPE_DIM]], ctx=[], fields=[[0, 1, 2, 3, 4, 5, 6, 7, 8]])
+              OlapTableScan(table=[[DEFAULT, TEST_ACCOUNT]], ctx=[], fields=[[0, 1, 2, 3, 4]])
+            OlapTableScan(table=[[DEFAULT, TEST_ACCOUNT]], ctx=[], fields=[[0, 1, 2, 3, 4]])
+          OlapTableScan(table=[[DEFAULT, TEST_COUNTRY]], ctx=[], fields=[[0, 1, 2, 3]])
+        OlapTableScan(table=[[DEFAULT, TEST_COUNTRY]], ctx=[], fields=[[0, 1, 2, 3]])
 ]]>
         </Resource>
         <Resource name="query01.planAfter">
             <![CDATA[
-KapOLAPToEnumerableConverter
-  KapAggregateRel(group-set=[[0]], groups=[null], AGG$0=[SUM($1)], AGG$1=[SUM($2)], ctx=[])
-    KapProjectRel(CAL_DT0=[$0], $f1=[CASE(=($1, 'ABIN'), $3, $4)], $f2=[CASE(AND(=(EXTRACT(FLAG(YEAR), $2), 2012), =(EXTRACT(FLAG(MONTH), $2), 3), <=($2, 2012-03-13)), $5, OR(<>(EXTRACT(FLAG(YEAR), $2), 2012), <>(EXTRACT(FLAG(MONTH), $2), 3), >($2, 2012-03-13)), $6, null)], ctx=[])
-      KapAggregateRel(group-set=[[0, 1, 2]], groups=[null], AGG$0=[SUM($3)], AGG$1=[SUM($4)], AGG$2=[SUM($5)], AGG$3=[SUM($6)], AGG$4=[SUM($7)], ctx=[])
-        KapProjectRel(CAL_DT0=[$0], LSTG_FORMAT_NAME=[$1], CAL_DT00=[$2], SUM_CASE$0$0=[$3], SUM_CASE$0$1=[$4], $f5=[*($5, 2)], SUM_CASE$1$1=[$6], SUM_CASE$1$2=[$7], ctx=[])
-          KapAggregateRel(group-set=[[0, 1, 2]], groups=[null], TOP_AGG$0=[SUM($3)], TOP_AGG$1=[SUM($4)], TOP_AGG$2=[SUM($5)], TOP_AGG$3=[SUM($6)], TOP_AGG$4=[SUM($7)], ctx=[])
-            KapProjectRel(CAL_DT0=[$0], LSTG_FORMAT_NAME=[$1], CAL_DT00=[$2], $f3=[*(0, $3)], $f4=[*(1, $4)], SUM_OP$0=[$5], $f6=[CAST(*(1, $6)):DECIMAL(29, 4) NOT NULL], $f7=[*(0, $7)], ctx=[])
-              KapAggregateRel(group-set=[[0, 1, 2]], groups=[null], SUM_CONST$0=[COUNT()], SUM_CONST$1=[COUNT()], SUM_OP$0=[SUM($3)], SUM_CONST$3=[COUNT()], SUM_CONST$4=[COUNT()], ctx=[])
-                KapProjectRel(CAL_DT0=[$44], LSTG_FORMAT_NAME=[$3], CAL_DT00=[$44], PRICE=[$8], ctx=[])
-                  KapJoinRel(condition=[=($207, $213)], joinType=[inner], ctx=[])
-                    KapJoinRel(condition=[=($202, $209)], joinType=[inner], ctx=[])
-                      KapJoinRel(condition=[=($40, $204)], joinType=[inner], ctx=[])
-                        KapJoinRel(condition=[=($7, $199)], joinType=[inner], ctx=[])
-                          KapJoinRel(condition=[=($6, $190)], joinType=[inner], ctx=[])
-                            KapJoinRel(condition=[=($5, $180)], joinType=[inner], ctx=[])
-                              KapJoinRel(condition=[AND(=($4, $144), =($5, $146))], joinType=[inner], ctx=[])
-                                KapJoinRel(condition=[=($2, $44)], joinType=[inner], ctx=[])
-                                  KapJoinRel(condition=[=($1, $39)], joinType=[inner], ctx=[])
-                                    KapTableScan(table=[[DEFAULT, TEST_KYLIN_FACT]], ctx=[], fields=[[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38]])
-                                    KapTableScan(table=[[DEFAULT, TEST_ORDER]], ctx=[], fields=[[0, 1, 2, 3, 4]])
-                                  KapTableScan(table=[[EDW, TEST_CAL_DT]], ctx=[], fields=[[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99]])
-                                KapTableScan(table=[[DEFAULT, TEST_CATEGORY_GROUPINGS]], ctx=[], fields=[[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35]])
-                              KapTableScan(table=[[EDW, TEST_SITES]], ctx=[], fields=[[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]])
-                            KapTableScan(table=[[EDW, TEST_SELLER_TYPE_DIM]], ctx=[], fields=[[0, 1, 2, 3, 4, 5, 6, 7, 8]])
-                          KapTableScan(table=[[DEFAULT, TEST_ACCOUNT]], ctx=[], fields=[[0, 1, 2, 3, 4]])
-                        KapTableScan(table=[[DEFAULT, TEST_ACCOUNT]], ctx=[], fields=[[0, 1, 2, 3, 4]])
-                      KapTableScan(table=[[DEFAULT, TEST_COUNTRY]], ctx=[], fields=[[0, 1, 2, 3]])
-                    KapTableScan(table=[[DEFAULT, TEST_COUNTRY]], ctx=[], fields=[[0, 1, 2, 3]])
+OlapToEnumerableConverter
+  OlapAggregateRel(group-set=[[0]], groups=[null], AGG$0=[SUM($1)], AGG$1=[SUM($2)], ctx=[])
+    OlapProjectRel(CAL_DT0=[$0], $f1=[CASE(=($1, 'ABIN'), $3, $4)], $f2=[CASE(AND(=(EXTRACT(FLAG(YEAR), $2), 2012), =(EXTRACT(FLAG(MONTH), $2), 3), <=($2, 2012-03-13)), $5, OR(<>(EXTRACT(FLAG(YEAR), $2), 2012), <>(EXTRACT(FLAG(MONTH), $2), 3), >($2, 2012-03-13)), $6, null)], ctx=[])
+      OlapAggregateRel(group-set=[[0, 1, 2]], groups=[null], AGG$0=[SUM($3)], AGG$1=[SUM($4)], AGG$2=[SUM($5)], AGG$3=[SUM($6)], AGG$4=[SUM($7)], ctx=[])
+        OlapProjectRel(CAL_DT0=[$0], LSTG_FORMAT_NAME=[$1], CAL_DT00=[$2], SUM_CASE$0$0=[$3], SUM_CASE$0$1=[$4], $f5=[*($5, 2)], SUM_CASE$1$1=[$6], SUM_CASE$1$2=[$7], ctx=[])
+          OlapAggregateRel(group-set=[[0, 1, 2]], groups=[null], TOP_AGG$0=[SUM($3)], TOP_AGG$1=[SUM($4)], TOP_AGG$2=[SUM($5)], TOP_AGG$3=[SUM($6)], TOP_AGG$4=[SUM($7)], ctx=[])
+            OlapProjectRel(CAL_DT0=[$0], LSTG_FORMAT_NAME=[$1], CAL_DT00=[$2], $f3=[*(0, $3)], $f4=[*(1, $4)], SUM_OP$0=[$5], $f6=[CAST(*(1, $6)):DECIMAL(29, 4) NOT NULL], $f7=[*(0, $7)], ctx=[])
+              OlapAggregateRel(group-set=[[0, 1, 2]], groups=[null], SUM_CONST$0=[COUNT()], SUM_CONST$1=[COUNT()], SUM_OP$0=[SUM($3)], SUM_CONST$3=[COUNT()], SUM_CONST$4=[COUNT()], ctx=[])
+                OlapProjectRel(CAL_DT0=[$44], LSTG_FORMAT_NAME=[$3], CAL_DT00=[$44], PRICE=[$8], ctx=[])
+                  OlapJoinRel(condition=[=($207, $213)], joinType=[inner], ctx=[])
+                    OlapJoinRel(condition=[=($202, $209)], joinType=[inner], ctx=[])
+                      OlapJoinRel(condition=[=($40, $204)], joinType=[inner], ctx=[])
+                        OlapJoinRel(condition=[=($7, $199)], joinType=[inner], ctx=[])
+                          OlapJoinRel(condition=[=($6, $190)], joinType=[inner], ctx=[])
+                            OlapJoinRel(condition=[=($5, $180)], joinType=[inner], ctx=[])
+                              OlapJoinRel(condition=[AND(=($4, $144), =($5, $146))], joinType=[inner], ctx=[])
+                                OlapJoinRel(condition=[=($2, $44)], joinType=[inner], ctx=[])
+                                  OlapJoinRel(condition=[=($1, $39)], joinType=[inner], ctx=[])
+                                    OlapTableScan(table=[[DEFAULT, TEST_KYLIN_FACT]], ctx=[], fields=[[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38]])
+                                    OlapTableScan(table=[[DEFAULT, TEST_ORDER]], ctx=[], fields=[[0, 1, 2, 3, 4]])
+                                  OlapTableScan(table=[[EDW, TEST_CAL_DT]], ctx=[], fields=[[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99]])
+                                OlapTableScan(table=[[DEFAULT, TEST_CATEGORY_GROUPINGS]], ctx=[], fields=[[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35]])
+                              OlapTableScan(table=[[EDW, TEST_SITES]], ctx=[], fields=[[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]])
+                            OlapTableScan(table=[[EDW, TEST_SELLER_TYPE_DIM]], ctx=[], fields=[[0, 1, 2, 3, 4, 5, 6, 7, 8]])
+                          OlapTableScan(table=[[DEFAULT, TEST_ACCOUNT]], ctx=[], fields=[[0, 1, 2, 3, 4]])
+                        OlapTableScan(table=[[DEFAULT, TEST_ACCOUNT]], ctx=[], fields=[[0, 1, 2, 3, 4]])
+                      OlapTableScan(table=[[DEFAULT, TEST_COUNTRY]], ctx=[], fields=[[0, 1, 2, 3]])
+                    OlapTableScan(table=[[DEFAULT, TEST_COUNTRY]], ctx=[], fields=[[0, 1, 2, 3]])
 ]]>
         </Resource>
         <Resource name="query02.planBefore">
             <![CDATA[
-KapOLAPToEnumerableConverter
-  KapProjectRel(COL1=[$2], COL2=[CASE(<=($0, 2012-12-31), $1, >($0, 2012-12-31), 1, null)], ctx=[])
-    KapAggregateRel(group-set=[[0, 1, 2]], groups=[null], ctx=[])
-      KapProjectRel(CAL_DT0=[$2], PRICE_SUM=[$1], COL1=[$6], ctx=[])
-        KapJoinRel(condition=[=($0, $2)], joinType=[inner], ctx=[])
-          KapAggregateRel(group-set=[[0]], groups=[null], PRICE_SUM=[SUM($1)], ctx=[])
-            KapProjectRel(CAL_DT=[$2], $f1=[CASE(=($3, 'FP-non GTC'), $8, 2)], ctx=[])
-              KapTableScan(table=[[DEFAULT, TEST_KYLIN_FACT]], ctx=[], fields=[[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38]])
-          KapTableScan(table=[[EDW, TEST_CAL_DT]], ctx=[], fields=[[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99]])
+OlapToEnumerableConverter
+  OlapProjectRel(COL1=[$2], COL2=[CASE(<=($0, 2012-12-31), $1, >($0, 2012-12-31), 1, null)], ctx=[])
+    OlapAggregateRel(group-set=[[0, 1, 2]], groups=[null], ctx=[])
+      OlapProjectRel(CAL_DT0=[$2], PRICE_SUM=[$1], COL1=[$6], ctx=[])
+        OlapJoinRel(condition=[=($0, $2)], joinType=[inner], ctx=[])
+          OlapAggregateRel(group-set=[[0]], groups=[null], PRICE_SUM=[SUM($1)], ctx=[])
+            OlapProjectRel(CAL_DT=[$2], $f1=[CASE(=($3, 'FP-non GTC'), $8, 2)], ctx=[])
+              OlapTableScan(table=[[DEFAULT, TEST_KYLIN_FACT]], ctx=[], fields=[[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38]])
+          OlapTableScan(table=[[EDW, TEST_CAL_DT]], ctx=[], fields=[[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99]])
 ]]>
         </Resource>
         <Resource name="query02.planAfter">
             <![CDATA[
-KapOLAPToEnumerableConverter
-  KapProjectRel(COL1=[$2], COL2=[CASE(<=($0, 2012-12-31), $1, >($0, 2012-12-31), 1, null)], ctx=[])
-    KapAggregateRel(group-set=[[0, 1, 2]], groups=[null], ctx=[])
-      KapProjectRel(CAL_DT0=[$2], PRICE_SUM=[$1], COL1=[$6], ctx=[])
-        KapJoinRel(condition=[=($0, $2)], joinType=[inner], ctx=[])
-          KapAggregateRel(group-set=[[0]], groups=[null], AGG$0=[SUM($1)], ctx=[])
-            KapProjectRel(CAL_DT=[$0], $f1=[CASE(=($1, 'FP-non GTC'), $2, $3)], ctx=[])
-              KapAggregateRel(group-set=[[0, 1]], groups=[null], TOP_AGG$0=[SUM($2)], TOP_AGG$1=[SUM($3)], ctx=[])
-                KapProjectRel(CAL_DT=[$0], LSTG_FORMAT_NAME=[$1], SUM_CASE$0$0=[$2], $f3=[CAST(*(2, $3)):DECIMAL(19, 4) NOT NULL], ctx=[])
-                  KapAggregateRel(group-set=[[0, 1]], groups=[null], SUM_CASE$0$0=[SUM($2)], SUM_CONST$1=[COUNT()], ctx=[])
-                    KapProjectRel(CAL_DT=[$2], LSTG_FORMAT_NAME=[$3], PRICE=[$8], ctx=[])
-                      KapTableScan(table=[[DEFAULT, TEST_KYLIN_FACT]], ctx=[], fields=[[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38]])
-          KapTableScan(table=[[EDW, TEST_CAL_DT]], ctx=[], fields=[[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99]])
+OlapToEnumerableConverter
+  OlapProjectRel(COL1=[$2], COL2=[CASE(<=($0, 2012-12-31), $1, >($0, 2012-12-31), 1, null)], ctx=[])
+    OlapAggregateRel(group-set=[[0, 1, 2]], groups=[null], ctx=[])
+      OlapProjectRel(CAL_DT0=[$2], PRICE_SUM=[$1], COL1=[$6], ctx=[])
+        OlapJoinRel(condition=[=($0, $2)], joinType=[inner], ctx=[])
+          OlapAggregateRel(group-set=[[0]], groups=[null], AGG$0=[SUM($1)], ctx=[])
+            OlapProjectRel(CAL_DT=[$0], $f1=[CASE(=($1, 'FP-non GTC'), $2, $3)], ctx=[])
+              OlapAggregateRel(group-set=[[0, 1]], groups=[null], TOP_AGG$0=[SUM($2)], TOP_AGG$1=[SUM($3)], ctx=[])
+                OlapProjectRel(CAL_DT=[$0], LSTG_FORMAT_NAME=[$1], SUM_CASE$0$0=[$2], $f3=[CAST(*(2, $3)):DECIMAL(19, 4) NOT NULL], ctx=[])
+                  OlapAggregateRel(group-set=[[0, 1]], groups=[null], SUM_CASE$0$0=[SUM($2)], SUM_CONST$1=[COUNT()], ctx=[])
+                    OlapProjectRel(CAL_DT=[$2], LSTG_FORMAT_NAME=[$3], PRICE=[$8], ctx=[])
+                      OlapTableScan(table=[[DEFAULT, TEST_KYLIN_FACT]], ctx=[], fields=[[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38]])
+          OlapTableScan(table=[[EDW, TEST_CAL_DT]], ctx=[], fields=[[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99]])
 ]]>
         </Resource>
         <Resource name="query03.planBefore">
             <![CDATA[
-KapOLAPToEnumerableConverter
-  KapProjectRel(COL1=[$2], COL2=[$3], COL3=[$0], COL4=[$4], COL5=[$1], COL6=[$5], COL7=[*(2, $4)], COL8=[$6], COL9=[ROUND($7, 6)], ctx=[])
-    KapAggregateRel(group-set=[[0, 1]], groups=[null], COL1=[COUNT()], COL2=[SUM($2)], COL4=[SUM($3)], COL6=[COUNT($3)], COL8=[SUM($4)], agg#5=[SUM($5)], ctx=[])
-      KapProjectRel(COL3=[$7], COL5=[$44], $f2=[*($8, 4)], PRICE=[$8], $f4=[*($9, 3)], $f5=[/($9, 3.0)], ctx=[])
-        KapFilterRel(condition=[=($3, 'FP-GTC')], ctx=[])
-          KapJoinRel(condition=[=($207, $213)], joinType=[inner], ctx=[])
-            KapJoinRel(condition=[=($202, $209)], joinType=[inner], ctx=[])
-              KapJoinRel(condition=[=($40, $204)], joinType=[inner], ctx=[])
-                KapJoinRel(condition=[=($7, $199)], joinType=[inner], ctx=[])
-                  KapJoinRel(condition=[=($6, $190)], joinType=[inner], ctx=[])
-                    KapJoinRel(condition=[=($5, $180)], joinType=[inner], ctx=[])
-                      KapJoinRel(condition=[AND(=($4, $144), =($5, $146))], joinType=[inner], ctx=[])
-                        KapJoinRel(condition=[=($2, $44)], joinType=[inner], ctx=[])
-                          KapJoinRel(condition=[=($1, $39)], joinType=[inner], ctx=[])
-                            KapTableScan(table=[[DEFAULT, TEST_KYLIN_FACT]], ctx=[], fields=[[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38]])
-                            KapTableScan(table=[[DEFAULT, TEST_ORDER]], ctx=[], fields=[[0, 1, 2, 3, 4]])
-                          KapTableScan(table=[[EDW, TEST_CAL_DT]], ctx=[], fields=[[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99]])
-                        KapTableScan(table=[[DEFAULT, TEST_CATEGORY_GROUPINGS]], ctx=[], fields=[[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35]])
-                      KapTableScan(table=[[EDW, TEST_SITES]], ctx=[], fields=[[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]])
-                    KapTableScan(table=[[EDW, TEST_SELLER_TYPE_DIM]], ctx=[], fields=[[0, 1, 2, 3, 4, 5, 6, 7, 8]])
-                  KapTableScan(table=[[DEFAULT, TEST_ACCOUNT]], ctx=[], fields=[[0, 1, 2, 3, 4]])
-                KapTableScan(table=[[DEFAULT, TEST_ACCOUNT]], ctx=[], fields=[[0, 1, 2, 3, 4]])
-              KapTableScan(table=[[DEFAULT, TEST_COUNTRY]], ctx=[], fields=[[0, 1, 2, 3]])
-            KapTableScan(table=[[DEFAULT, TEST_COUNTRY]], ctx=[], fields=[[0, 1, 2, 3]])
+OlapToEnumerableConverter
+  OlapProjectRel(COL1=[$2], COL2=[$3], COL3=[$0], COL4=[$4], COL5=[$1], COL6=[$5], COL7=[*(2, $4)], COL8=[$6], COL9=[ROUND($7, 6)], ctx=[])
+    OlapAggregateRel(group-set=[[0, 1]], groups=[null], COL1=[COUNT()], COL2=[SUM($2)], COL4=[SUM($3)], COL6=[COUNT($3)], COL8=[SUM($4)], agg#5=[SUM($5)], ctx=[])
+      OlapProjectRel(COL3=[$7], COL5=[$44], $f2=[*($8, 4)], PRICE=[$8], $f4=[*($9, 3)], $f5=[/($9, 3.0)], ctx=[])
+        OlapFilterRel(condition=[=($3, 'FP-GTC')], ctx=[])
+          OlapJoinRel(condition=[=($207, $213)], joinType=[inner], ctx=[])
+            OlapJoinRel(condition=[=($202, $209)], joinType=[inner], ctx=[])
+              OlapJoinRel(condition=[=($40, $204)], joinType=[inner], ctx=[])
+                OlapJoinRel(condition=[=($7, $199)], joinType=[inner], ctx=[])
+                  OlapJoinRel(condition=[=($6, $190)], joinType=[inner], ctx=[])
+                    OlapJoinRel(condition=[=($5, $180)], joinType=[inner], ctx=[])
+                      OlapJoinRel(condition=[AND(=($4, $144), =($5, $146))], joinType=[inner], ctx=[])
+                        OlapJoinRel(condition=[=($2, $44)], joinType=[inner], ctx=[])
+                          OlapJoinRel(condition=[=($1, $39)], joinType=[inner], ctx=[])
+                            OlapTableScan(table=[[DEFAULT, TEST_KYLIN_FACT]], ctx=[], fields=[[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38]])
+                            OlapTableScan(table=[[DEFAULT, TEST_ORDER]], ctx=[], fields=[[0, 1, 2, 3, 4]])
+                          OlapTableScan(table=[[EDW, TEST_CAL_DT]], ctx=[], fields=[[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99]])
+                        OlapTableScan(table=[[DEFAULT, TEST_CATEGORY_GROUPINGS]], ctx=[], fields=[[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35]])
+                      OlapTableScan(table=[[EDW, TEST_SITES]], ctx=[], fields=[[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]])
+                    OlapTableScan(table=[[EDW, TEST_SELLER_TYPE_DIM]], ctx=[], fields=[[0, 1, 2, 3, 4, 5, 6, 7, 8]])
+                  OlapTableScan(table=[[DEFAULT, TEST_ACCOUNT]], ctx=[], fields=[[0, 1, 2, 3, 4]])
+                OlapTableScan(table=[[DEFAULT, TEST_ACCOUNT]], ctx=[], fields=[[0, 1, 2, 3, 4]])
+              OlapTableScan(table=[[DEFAULT, TEST_COUNTRY]], ctx=[], fields=[[0, 1, 2, 3]])
+            OlapTableScan(table=[[DEFAULT, TEST_COUNTRY]], ctx=[], fields=[[0, 1, 2, 3]])
 ]]>
         </Resource>
         <Resource name="query03.planAfter">
             <![CDATA[
-KapOLAPToEnumerableConverter
-  KapProjectRel(COL1=[$2], COL2=[$3], COL3=[$0], COL4=[$4], COL5=[$1], COL6=[$5], COL7=[*(2, $4)], COL8=[$6], COL9=[ROUND($7, 6)], ctx=[])
-    KapAggregateRel(group-set=[[0, 1]], groups=[null], AGG$0=[SUM($2)], AGG$1=[SUM($3)], AGG$2=[SUM($4)], AGG$3=[SUM($5)], AGG$4=[SUM($6)], AGG$5=[SUM($7)], ctx=[])
-      KapProjectRel(SELLER_ID=[$0], CAL_DT0=[$1], COL1=[$2], $f3=[*($3, 4)], COL4=[$4], COL6=[$5], $f6=[CAST(*($6, 3)):BIGINT], $f7=[CAST(/($7, 3.0)):DECIMAL(19, 6)], ctx=[])
-        KapAggregateRel(group-set=[[0, 1]], groups=[null], COL1=[COUNT()], SUM_OP$0=[SUM($2)], COL4=[SUM($3)], COL6=[COUNT($4)], SUM_OP$1=[SUM($5)], SUM_OP$2=[SUM($6)], ctx=[])
-          KapProjectRel(SELLER_ID=[$7], CAL_DT0=[$44], PRICE=[$8], PRICE0=[$8], PRICE01=[$8], ITEM_COUNT=[$9], ITEM_COUNT0=[$9], ctx=[])
-            KapFilterRel(condition=[=($3, 'FP-GTC')], ctx=[])
-              KapJoinRel(condition=[=($207, $213)], joinType=[inner], ctx=[])
-                KapJoinRel(condition=[=($202, $209)], joinType=[inner], ctx=[])
-                  KapJoinRel(condition=[=($40, $204)], joinType=[inner], ctx=[])
-                    KapJoinRel(condition=[=($7, $199)], joinType=[inner], ctx=[])
-                      KapJoinRel(condition=[=($6, $190)], joinType=[inner], ctx=[])
-                        KapJoinRel(condition=[=($5, $180)], joinType=[inner], ctx=[])
-                          KapJoinRel(condition=[AND(=($4, $144), =($5, $146))], joinType=[inner], ctx=[])
-                            KapJoinRel(condition=[=($2, $44)], joinType=[inner], ctx=[])
-                              KapJoinRel(condition=[=($1, $39)], joinType=[inner], ctx=[])
-                                KapTableScan(table=[[DEFAULT, TEST_KYLIN_FACT]], ctx=[], fields=[[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38]])
-                                KapTableScan(table=[[DEFAULT, TEST_ORDER]], ctx=[], fields=[[0, 1, 2, 3, 4]])
-                              KapTableScan(table=[[EDW, TEST_CAL_DT]], ctx=[], fields=[[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99]])
-                            KapTableScan(table=[[DEFAULT, TEST_CATEGORY_GROUPINGS]], ctx=[], fields=[[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35]])
-                          KapTableScan(table=[[EDW, TEST_SITES]], ctx=[], fields=[[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]])
-                        KapTableScan(table=[[EDW, TEST_SELLER_TYPE_DIM]], ctx=[], fields=[[0, 1, 2, 3, 4, 5, 6, 7, 8]])
-                      KapTableScan(table=[[DEFAULT, TEST_ACCOUNT]], ctx=[], fields=[[0, 1, 2, 3, 4]])
-                    KapTableScan(table=[[DEFAULT, TEST_ACCOUNT]], ctx=[], fields=[[0, 1, 2, 3, 4]])
-                  KapTableScan(table=[[DEFAULT, TEST_COUNTRY]], ctx=[], fields=[[0, 1, 2, 3]])
-                KapTableScan(table=[[DEFAULT, TEST_COUNTRY]], ctx=[], fields=[[0, 1, 2, 3]])
+OlapToEnumerableConverter
+  OlapProjectRel(COL1=[$2], COL2=[$3], COL3=[$0], COL4=[$4], COL5=[$1], COL6=[$5], COL7=[*(2, $4)], COL8=[$6], COL9=[ROUND($7, 6)], ctx=[])
+    OlapAggregateRel(group-set=[[0, 1]], groups=[null], AGG$0=[SUM($2)], AGG$1=[SUM($3)], AGG$2=[SUM($4)], AGG$3=[SUM($5)], AGG$4=[SUM($6)], AGG$5=[SUM($7)], ctx=[])
+      OlapProjectRel(SELLER_ID=[$0], CAL_DT0=[$1], COL1=[$2], $f3=[*($3, 4)], COL4=[$4], COL6=[$5], $f6=[CAST(*($6, 3)):BIGINT], $f7=[CAST(/($7, 3.0)):DECIMAL(19, 6)], ctx=[])
+        OlapAggregateRel(group-set=[[0, 1]], groups=[null], COL1=[COUNT()], SUM_OP$0=[SUM($2)], COL4=[SUM($3)], COL6=[COUNT($4)], SUM_OP$1=[SUM($5)], SUM_OP$2=[SUM($6)], ctx=[])
+          OlapProjectRel(SELLER_ID=[$7], CAL_DT0=[$44], PRICE=[$8], PRICE0=[$8], PRICE01=[$8], ITEM_COUNT=[$9], ITEM_COUNT0=[$9], ctx=[])
+            OlapFilterRel(condition=[=($3, 'FP-GTC')], ctx=[])
+              OlapJoinRel(condition=[=($207, $213)], joinType=[inner], ctx=[])
+                OlapJoinRel(condition=[=($202, $209)], joinType=[inner], ctx=[])
+                  OlapJoinRel(condition=[=($40, $204)], joinType=[inner], ctx=[])
+                    OlapJoinRel(condition=[=($7, $199)], joinType=[inner], ctx=[])
+                      OlapJoinRel(condition=[=($6, $190)], joinType=[inner], ctx=[])
+                        OlapJoinRel(condition=[=($5, $180)], joinType=[inner], ctx=[])
+                          OlapJoinRel(condition=[AND(=($4, $144), =($5, $146))], joinType=[inner], ctx=[])
+                            OlapJoinRel(condition=[=($2, $44)], joinType=[inner], ctx=[])
+                              OlapJoinRel(condition=[=($1, $39)], joinType=[inner], ctx=[])
+                                OlapTableScan(table=[[DEFAULT, TEST_KYLIN_FACT]], ctx=[], fields=[[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38]])
+                                OlapTableScan(table=[[DEFAULT, TEST_ORDER]], ctx=[], fields=[[0, 1, 2, 3, 4]])
+                              OlapTableScan(table=[[EDW, TEST_CAL_DT]], ctx=[], fields=[[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99]])
+                            OlapTableScan(table=[[DEFAULT, TEST_CATEGORY_GROUPINGS]], ctx=[], fields=[[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35]])
+                          OlapTableScan(table=[[EDW, TEST_SITES]], ctx=[], fields=[[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]])
+                        OlapTableScan(table=[[EDW, TEST_SELLER_TYPE_DIM]], ctx=[], fields=[[0, 1, 2, 3, 4, 5, 6, 7, 8]])
+                      OlapTableScan(table=[[DEFAULT, TEST_ACCOUNT]], ctx=[], fields=[[0, 1, 2, 3, 4]])
+                    OlapTableScan(table=[[DEFAULT, TEST_ACCOUNT]], ctx=[], fields=[[0, 1, 2, 3, 4]])
+                  OlapTableScan(table=[[DEFAULT, TEST_COUNTRY]], ctx=[], fields=[[0, 1, 2, 3]])
+                OlapTableScan(table=[[DEFAULT, TEST_COUNTRY]], ctx=[], fields=[[0, 1, 2, 3]])
 ]]>
         </Resource>
         <Resource name="query04.planBefore">
             <![CDATA[
-KapOLAPToEnumerableConverter
-  KapProjectRel(COL1=[$2], COL2=[CASE(<=($0, 2012-12-31), $1, >($0, 2012-12-31), 1, null)], ctx=[])
-    KapAggregateRel(group-set=[[0, 1, 2]], groups=[null], ctx=[])
-      KapProjectRel(CAL_DT0=[$2], PRICE_SUM=[$1], COL1=[$6], ctx=[])
-        KapJoinRel(condition=[=($0, $2)], joinType=[inner], ctx=[])
-          KapAggregateRel(group-set=[[0]], groups=[null], PRICE_SUM=[SUM($1)], ctx=[])
-            KapProjectRel(CAL_DT=[$2], $f1=[CASE(=($3, 'FP-non GTC'), *($8, 2), 2)], ctx=[])
-              KapTableScan(table=[[DEFAULT, TEST_KYLIN_FACT]], ctx=[], fields=[[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38]])
-          KapTableScan(table=[[EDW, TEST_CAL_DT]], ctx=[], fields=[[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99]])
+OlapToEnumerableConverter
+  OlapProjectRel(COL1=[$2], COL2=[CASE(<=($0, 2012-12-31), $1, >($0, 2012-12-31), 1, null)], ctx=[])
+    OlapAggregateRel(group-set=[[0, 1, 2]], groups=[null], ctx=[])
+      OlapProjectRel(CAL_DT0=[$2], PRICE_SUM=[$1], COL1=[$6], ctx=[])
+        OlapJoinRel(condition=[=($0, $2)], joinType=[inner], ctx=[])
+          OlapAggregateRel(group-set=[[0]], groups=[null], PRICE_SUM=[SUM($1)], ctx=[])
+            OlapProjectRel(CAL_DT=[$2], $f1=[CASE(=($3, 'FP-non GTC'), *($8, 2), 2)], ctx=[])
+              OlapTableScan(table=[[DEFAULT, TEST_KYLIN_FACT]], ctx=[], fields=[[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38]])
+          OlapTableScan(table=[[EDW, TEST_CAL_DT]], ctx=[], fields=[[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99]])
 ]]>
         </Resource>
         <Resource name="query04.planAfter">
             <![CDATA[
-KapOLAPToEnumerableConverter
-  KapProjectRel(COL1=[$2], COL2=[CASE(<=($0, 2012-12-31), $1, >($0, 2012-12-31), 1, null)], ctx=[])
-    KapAggregateRel(group-set=[[0, 1, 2]], groups=[null], ctx=[])
-      KapProjectRel(CAL_DT0=[$2], PRICE_SUM=[$1], COL1=[$6], ctx=[])
-        KapJoinRel(condition=[=($0, $2)], joinType=[inner], ctx=[])
-          KapAggregateRel(group-set=[[0]], groups=[null], AGG$0=[SUM($1)], ctx=[])
-            KapProjectRel(CAL_DT=[$0], $f1=[CASE(=($1, 'FP-non GTC'), $2, $3)], ctx=[])
-              KapAggregateRel(group-set=[[0, 1]], groups=[null], AGG$0=[SUM($2)], AGG$1=[SUM($3)], ctx=[])
-                KapProjectRel(CAL_DT=[$0], LSTG_FORMAT_NAME=[$1], $f2=[*($2, 2)], SUM_CASE$0$1=[$3], ctx=[])
-                  KapAggregateRel(group-set=[[0, 1]], groups=[null], TOP_AGG$0=[SUM($2)], TOP_AGG$1=[SUM($3)], ctx=[])
-                    KapProjectRel(CAL_DT=[$0], LSTG_FORMAT_NAME=[$1], SUM_OP$0=[$2], $f3=[CAST(*(2, $3)):DECIMAL(29, 4) NOT NULL], ctx=[])
-                      KapAggregateRel(group-set=[[0, 1]], groups=[null], SUM_OP$0=[SUM($2)], SUM_CONST$1=[COUNT()], ctx=[])
-                        KapProjectRel(CAL_DT=[$2], LSTG_FORMAT_NAME=[$3], PRICE=[$8], ctx=[])
-                          KapTableScan(table=[[DEFAULT, TEST_KYLIN_FACT]], ctx=[], fields=[[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38]])
-          KapTableScan(table=[[EDW, TEST_CAL_DT]], ctx=[], fields=[[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99]])
+OlapToEnumerableConverter
+  OlapProjectRel(COL1=[$2], COL2=[CASE(<=($0, 2012-12-31), $1, >($0, 2012-12-31), 1, null)], ctx=[])
+    OlapAggregateRel(group-set=[[0, 1, 2]], groups=[null], ctx=[])
+      OlapProjectRel(CAL_DT0=[$2], PRICE_SUM=[$1], COL1=[$6], ctx=[])
+        OlapJoinRel(condition=[=($0, $2)], joinType=[inner], ctx=[])
+          OlapAggregateRel(group-set=[[0]], groups=[null], AGG$0=[SUM($1)], ctx=[])
+            OlapProjectRel(CAL_DT=[$0], $f1=[CASE(=($1, 'FP-non GTC'), $2, $3)], ctx=[])
+              OlapAggregateRel(group-set=[[0, 1]], groups=[null], AGG$0=[SUM($2)], AGG$1=[SUM($3)], ctx=[])
+                OlapProjectRel(CAL_DT=[$0], LSTG_FORMAT_NAME=[$1], $f2=[*($2, 2)], SUM_CASE$0$1=[$3], ctx=[])
+                  OlapAggregateRel(group-set=[[0, 1]], groups=[null], TOP_AGG$0=[SUM($2)], TOP_AGG$1=[SUM($3)], ctx=[])
+                    OlapProjectRel(CAL_DT=[$0], LSTG_FORMAT_NAME=[$1], SUM_OP$0=[$2], $f3=[CAST(*(2, $3)):DECIMAL(29, 4) NOT NULL], ctx=[])
+                      OlapAggregateRel(group-set=[[0, 1]], groups=[null], SUM_OP$0=[SUM($2)], SUM_CONST$1=[COUNT()], ctx=[])
+                        OlapProjectRel(CAL_DT=[$2], LSTG_FORMAT_NAME=[$3], PRICE=[$8], ctx=[])
+                          OlapTableScan(table=[[DEFAULT, TEST_KYLIN_FACT]], ctx=[], fields=[[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38]])
+          OlapTableScan(table=[[EDW, TEST_CAL_DT]], ctx=[], fields=[[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99]])
 ]]>
         </Resource>
         <Resource name="query05.planBefore">
             <![CDATA[
-KapOLAPToEnumerableConverter
-  KapAggregateRel(group-set=[[]], groups=[null], TWO_COL_PLUS_SUM=[SUM($0)], TWO_COL_PLUS_CONST_SUM=[SUM($1)], CONST_MINUS_COL_SUM=[SUM($2)], CONST_MINUS_COL_PLUS_COL_SUM=[SUM($3)], ctx=[])
-    KapProjectRel($f0=[+($1, $2)], $f1=[+(+($1, $2), 100)], $f2=[-(-(1000000, $1), $2)], $f3=[+(-(1000000.0, $1), $2)], ctx=[])
-      KapAggregateRel(group-set=[[0]], groups=[null], A1=[SUM($1)], A2=[SUM($2)], ctx=[])
-        KapProjectRel(CAL_DT=[$2], PRICE=[$8], ITEM_COUNT=[$9], ctx=[])
-          KapTableScan(table=[[DEFAULT, TEST_KYLIN_FACT]], ctx=[], fields=[[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38]])
+OlapToEnumerableConverter
+  OlapAggregateRel(group-set=[[]], groups=[null], TWO_COL_PLUS_SUM=[SUM($0)], TWO_COL_PLUS_CONST_SUM=[SUM($1)], CONST_MINUS_COL_SUM=[SUM($2)], CONST_MINUS_COL_PLUS_COL_SUM=[SUM($3)], ctx=[])
+    OlapProjectRel($f0=[+($1, $2)], $f1=[+(+($1, $2), 100)], $f2=[-(-(1000000, $1), $2)], $f3=[+(-(1000000.0, $1), $2)], ctx=[])
+      OlapAggregateRel(group-set=[[0]], groups=[null], A1=[SUM($1)], A2=[SUM($2)], ctx=[])
+        OlapProjectRel(CAL_DT=[$2], PRICE=[$8], ITEM_COUNT=[$9], ctx=[])
+          OlapTableScan(table=[[DEFAULT, TEST_KYLIN_FACT]], ctx=[], fields=[[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38]])
 ]]>
         </Resource>
         <Resource name="query05.planAfter">
             <![CDATA[
-KapOLAPToEnumerableConverter
-  KapAggregateRel(group-set=[[]], groups=[null], TWO_COL_PLUS_SUM=[SUM($0)], TWO_COL_PLUS_CONST_SUM=[SUM($1)], CONST_MINUS_COL_SUM=[SUM($2)], CONST_MINUS_COL_PLUS_COL_SUM=[SUM($3)], ctx=[])
-    KapProjectRel($f0=[+($1, $2)], $f1=[+(+($1, $2), 100)], $f2=[-(-(1000000, $1), $2)], $f3=[+(-(1000000.0, $1), $2)], ctx=[])
-      KapAggregateRel(group-set=[[0]], groups=[null], A1=[SUM($1)], A2=[SUM($2)], ctx=[])
-        KapProjectRel(CAL_DT=[$2], PRICE=[$8], ITEM_COUNT=[$9], ctx=[])
-          KapTableScan(table=[[DEFAULT, TEST_KYLIN_FACT]], ctx=[], fields=[[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38]])
+OlapToEnumerableConverter
+  OlapAggregateRel(group-set=[[]], groups=[null], TWO_COL_PLUS_SUM=[SUM($0)], TWO_COL_PLUS_CONST_SUM=[SUM($1)], CONST_MINUS_COL_SUM=[SUM($2)], CONST_MINUS_COL_PLUS_COL_SUM=[SUM($3)], ctx=[])
+    OlapProjectRel($f0=[+($1, $2)], $f1=[+(+($1, $2), 100)], $f2=[-(-(1000000, $1), $2)], $f3=[+(-(1000000.0, $1), $2)], ctx=[])
+      OlapAggregateRel(group-set=[[0]], groups=[null], A1=[SUM($1)], A2=[SUM($2)], ctx=[])
+        OlapProjectRel(CAL_DT=[$2], PRICE=[$8], ITEM_COUNT=[$9], ctx=[])
+          OlapTableScan(table=[[DEFAULT, TEST_KYLIN_FACT]], ctx=[], fields=[[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38]])
 ]]>
         </Resource>
         <Resource name="query06.planBefore">
             <![CDATA[
-KapOLAPToEnumerableConverter
-  KapProjectRel(SUM_EXPR=[$1], ctx=[])
-    KapAggregateRel(group-set=[[0]], groups=[null], SUM_EXPR=[SUM($1)], ctx=[])
-      KapProjectRel(LSTG_FORMAT_NAME=[$3], $f1=[CASE(AND(=($1, 1050), =($2, 2012-10-29)), $8, null)], ctx=[])
-        KapTableScan(table=[[DEFAULT, TEST_KYLIN_FACT]], ctx=[], fields=[[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38]])
+OlapToEnumerableConverter
+  OlapProjectRel(SUM_EXPR=[$1], ctx=[])
+    OlapAggregateRel(group-set=[[0]], groups=[null], SUM_EXPR=[SUM($1)], ctx=[])
+      OlapProjectRel(LSTG_FORMAT_NAME=[$3], $f1=[CASE(AND(=($1, 1050), =($2, 2012-10-29)), $8, null)], ctx=[])
+        OlapTableScan(table=[[DEFAULT, TEST_KYLIN_FACT]], ctx=[], fields=[[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38]])
 ]]>
         </Resource>
         <Resource name="query06.planAfter">
             <![CDATA[
-KapOLAPToEnumerableConverter
-  KapProjectRel(SUM_EXPR=[$1], ctx=[])
-    KapAggregateRel(group-set=[[0]], groups=[null], AGG$0=[SUM($1)], ctx=[])
-      KapProjectRel(LSTG_FORMAT_NAME=[$0], $f1=[CASE(AND(=($1, 1050), =($2, 2012-10-29)), $3, null)], ctx=[])
-        KapAggregateRel(group-set=[[0, 1, 2]], groups=[null], TOP_AGG$0=[SUM($3)], TOP_AGG$1=[SUM($4)], ctx=[])
-          KapProjectRel(LSTG_FORMAT_NAME=[$0], ORDER_ID=[$1], CAL_DT=[$2], SUM_CASE$0$0=[$3], $f4=[*(0, $4)], ctx=[])
-            KapAggregateRel(group-set=[[0, 1, 2]], groups=[null], SUM_CASE$0$0=[SUM($3)], SUM_CONST$1=[COUNT()], ctx=[])
-              KapProjectRel(LSTG_FORMAT_NAME=[$3], ORDER_ID=[$1], CAL_DT=[$2], PRICE=[$8], ctx=[])
-                KapTableScan(table=[[DEFAULT, TEST_KYLIN_FACT]], ctx=[], fields=[[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38]])
+OlapToEnumerableConverter
+  OlapProjectRel(SUM_EXPR=[$1], ctx=[])
+    OlapAggregateRel(group-set=[[0]], groups=[null], AGG$0=[SUM($1)], ctx=[])
+      OlapProjectRel(LSTG_FORMAT_NAME=[$0], $f1=[CASE(AND(=($1, 1050), =($2, 2012-10-29)), $3, null)], ctx=[])
+        OlapAggregateRel(group-set=[[0, 1, 2]], groups=[null], TOP_AGG$0=[SUM($3)], TOP_AGG$1=[SUM($4)], ctx=[])
+          OlapProjectRel(LSTG_FORMAT_NAME=[$0], ORDER_ID=[$1], CAL_DT=[$2], SUM_CASE$0$0=[$3], $f4=[*(0, $4)], ctx=[])
+            OlapAggregateRel(group-set=[[0, 1, 2]], groups=[null], SUM_CASE$0$0=[SUM($3)], SUM_CONST$1=[COUNT()], ctx=[])
+              OlapProjectRel(LSTG_FORMAT_NAME=[$3], ORDER_ID=[$1], CAL_DT=[$2], PRICE=[$8], ctx=[])
+                OlapTableScan(table=[[DEFAULT, TEST_KYLIN_FACT]], ctx=[], fields=[[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38]])
 ]]>
         </Resource>
         <Resource name="query07.planBefore">
             <![CDATA[
-KapOLAPToEnumerableConverter
-  KapProjectRel(SUM_EXPR=[$1], ctx=[])
-    KapAggregateRel(group-set=[[0]], groups=[null], SUM_EXPR=[SUM($1)], ctx=[])
-      KapProjectRel(LSTG_FORMAT_NAME=[$3], $f1=[CASE(AND(=($3, 'ABIN'), =($2, 2013-11-20)), $8, null)], ctx=[])
-        KapTableScan(table=[[DEFAULT, TEST_KYLIN_FACT]], ctx=[], fields=[[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38]])
+OlapToEnumerableConverter
+  OlapProjectRel(SUM_EXPR=[$1], ctx=[])
+    OlapAggregateRel(group-set=[[0]], groups=[null], SUM_EXPR=[SUM($1)], ctx=[])
+      OlapProjectRel(LSTG_FORMAT_NAME=[$3], $f1=[CASE(AND(=($3, 'ABIN'), =($2, 2013-11-20)), $8, null)], ctx=[])
+        OlapTableScan(table=[[DEFAULT, TEST_KYLIN_FACT]], ctx=[], fields=[[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38]])
 ]]>
         </Resource>
         <Resource name="query07.planAfter">
             <![CDATA[
-KapOLAPToEnumerableConverter
-  KapProjectRel(SUM_EXPR=[$1], ctx=[])
-    KapAggregateRel(group-set=[[0]], groups=[null], AGG$0=[SUM($1)], ctx=[])
-      KapProjectRel(LSTG_FORMAT_NAME=[$0], $f1=[CASE(AND(=($2, 'ABIN'), =($1, 2013-11-20)), $3, null)], ctx=[])
-        KapAggregateRel(group-set=[[0, 1, 2]], groups=[null], TOP_AGG$0=[SUM($3)], TOP_AGG$1=[SUM($4)], ctx=[])
-          KapProjectRel(LSTG_FORMAT_NAME=[$0], CAL_DT=[$1], LSTG_FORMAT_NAME0=[$2], SUM_CASE$0$0=[$3], $f4=[*(0, $4)], ctx=[])
-            KapAggregateRel(group-set=[[0, 1, 2]], groups=[null], SUM_CASE$0$0=[SUM($3)], SUM_CONST$1=[COUNT()], ctx=[])
-              KapProjectRel(LSTG_FORMAT_NAME=[$3], CAL_DT=[$2], LSTG_FORMAT_NAME0=[$3], PRICE=[$8], ctx=[])
-                KapTableScan(table=[[DEFAULT, TEST_KYLIN_FACT]], ctx=[], fields=[[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38]])
+OlapToEnumerableConverter
+  OlapProjectRel(SUM_EXPR=[$1], ctx=[])
+    OlapAggregateRel(group-set=[[0]], groups=[null], AGG$0=[SUM($1)], ctx=[])
+      OlapProjectRel(LSTG_FORMAT_NAME=[$0], $f1=[CASE(AND(=($2, 'ABIN'), =($1, 2013-11-20)), $3, null)], ctx=[])
+        OlapAggregateRel(group-set=[[0, 1, 2]], groups=[null], TOP_AGG$0=[SUM($3)], TOP_AGG$1=[SUM($4)], ctx=[])
+          OlapProjectRel(LSTG_FORMAT_NAME=[$0], CAL_DT=[$1], LSTG_FORMAT_NAME0=[$2], SUM_CASE$0$0=[$3], $f4=[*(0, $4)], ctx=[])
+            OlapAggregateRel(group-set=[[0, 1, 2]], groups=[null], SUM_CASE$0$0=[SUM($3)], SUM_CONST$1=[COUNT()], ctx=[])
+              OlapProjectRel(LSTG_FORMAT_NAME=[$3], CAL_DT=[$2], LSTG_FORMAT_NAME0=[$3], PRICE=[$8], ctx=[])
+                OlapTableScan(table=[[DEFAULT, TEST_KYLIN_FACT]], ctx=[], fields=[[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38]])
 ]]>
         </Resource>
         <Resource name="query10.planBefore">
             <![CDATA[
-KapOLAPToEnumerableConverter
-  KapUnionRel(all=[true], ctx=[], all=[true])
-    KapAggregateRel(group-set=[[]], groups=[null], EXPR=[SUM($0)], ctx=[])
-      KapProjectRel($f0=[*($1, 2)], ctx=[])
-        KapAggregateRel(group-set=[[0]], groups=[null], A1=[SUM($1)], A2=[SUM($2)], ctx=[])
-          KapProjectRel(CAL_DT=[$2], PRICE=[$8], ITEM_COUNT=[$9], ctx=[])
-            KapTableScan(table=[[DEFAULT, TEST_KYLIN_FACT]], ctx=[], fields=[[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38]])
-    KapAggregateRel(group-set=[[]], groups=[null], EXPR=[SUM($0)], ctx=[])
-      KapProjectRel($f0=[*($2, 2)], ctx=[])
-        KapAggregateRel(group-set=[[0]], groups=[null], PRI=[MIN($1)], A1=[SUM($1)], ctx=[])
-          KapProjectRel(CAL_DT=[$2], PRICE=[$8], ctx=[])
-            KapTableScan(table=[[DEFAULT, TEST_KYLIN_FACT]], ctx=[], fields=[[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38]])
+OlapToEnumerableConverter
+  OlapUnionRel(all=[true], ctx=[], all=[true])
+    OlapAggregateRel(group-set=[[]], groups=[null], EXPR=[SUM($0)], ctx=[])
+      OlapProjectRel($f0=[*($1, 2)], ctx=[])
+        OlapAggregateRel(group-set=[[0]], groups=[null], A1=[SUM($1)], A2=[SUM($2)], ctx=[])
+          OlapProjectRel(CAL_DT=[$2], PRICE=[$8], ITEM_COUNT=[$9], ctx=[])
+            OlapTableScan(table=[[DEFAULT, TEST_KYLIN_FACT]], ctx=[], fields=[[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38]])
+    OlapAggregateRel(group-set=[[]], groups=[null], EXPR=[SUM($0)], ctx=[])
+      OlapProjectRel($f0=[*($2, 2)], ctx=[])
+        OlapAggregateRel(group-set=[[0]], groups=[null], PRI=[MIN($1)], A1=[SUM($1)], ctx=[])
+          OlapProjectRel(CAL_DT=[$2], PRICE=[$8], ctx=[])
+            OlapTableScan(table=[[DEFAULT, TEST_KYLIN_FACT]], ctx=[], fields=[[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38]])
 ]]>
         </Resource>
         <Resource name="query10.planAfter">
             <![CDATA[
-KapOLAPToEnumerableConverter
-  KapUnionRel(all=[true], ctx=[], all=[true])
-    KapAggregateRel(group-set=[[]], groups=[null], EXPR=[SUM($0)], ctx=[])
-      KapProjectRel($f0=[*($1, 2)], ctx=[])
-        KapAggregateRel(group-set=[[0]], groups=[null], A1=[SUM($1)], A2=[SUM($2)], ctx=[])
-          KapProjectRel(CAL_DT=[$2], PRICE=[$8], ITEM_COUNT=[$9], ctx=[])
-            KapTableScan(table=[[DEFAULT, TEST_KYLIN_FACT]], ctx=[], fields=[[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38]])
-    KapAggregateRel(group-set=[[]], groups=[null], EXPR=[SUM($0)], ctx=[])
-      KapProjectRel($f0=[*($2, 2)], ctx=[])
-        KapAggregateRel(group-set=[[0]], groups=[null], PRI=[MIN($1)], A1=[SUM($1)], ctx=[])
-          KapProjectRel(CAL_DT=[$2], PRICE=[$8], ctx=[])
-            KapTableScan(table=[[DEFAULT, TEST_KYLIN_FACT]], ctx=[], fields=[[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38]])
+OlapToEnumerableConverter
+  OlapUnionRel(all=[true], ctx=[], all=[true])
+    OlapAggregateRel(group-set=[[]], groups=[null], EXPR=[SUM($0)], ctx=[])
+      OlapProjectRel($f0=[*($1, 2)], ctx=[])
+        OlapAggregateRel(group-set=[[0]], groups=[null], A1=[SUM($1)], A2=[SUM($2)], ctx=[])
+          OlapProjectRel(CAL_DT=[$2], PRICE=[$8], ITEM_COUNT=[$9], ctx=[])
+            OlapTableScan(table=[[DEFAULT, TEST_KYLIN_FACT]], ctx=[], fields=[[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38]])
+    OlapAggregateRel(group-set=[[]], groups=[null], EXPR=[SUM($0)], ctx=[])
+      OlapProjectRel($f0=[*($2, 2)], ctx=[])
+        OlapAggregateRel(group-set=[[0]], groups=[null], PRI=[MIN($1)], A1=[SUM($1)], ctx=[])
+          OlapProjectRel(CAL_DT=[$2], PRICE=[$8], ctx=[])
+            OlapTableScan(table=[[DEFAULT, TEST_KYLIN_FACT]], ctx=[], fields=[[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38]])
 ]]>
         </Resource>
         <Resource name="query11.planBefore">
             <![CDATA[
-KapOLAPToEnumerableConverter
-  KapUnionRel(all=[true], ctx=[], all=[true])
-    KapProjectRel(EXPR=[$0], PRI=[CAST(/($1, $2)):BIGINT], PPP=[CAST(/(-($3, /(*($4, $4), $5)), $5)):BIGINT], ctx=[])
-      KapAggregateRel(group-set=[[]], groups=[null], EXPR=[SUM($0)], agg#1=[SUM($1)], agg#2=[COUNT($1)], agg#3=[SUM($2)], agg#4=[SUM($3)], agg#5=[COUNT($3)], ctx=[])
-        KapProjectRel($f0=[$0], $f1=[$1], $f3=[*($2, $2)], PRI=[$2], ctx=[])
-          KapProjectRel($f0=[*($0, 2)], $f1=[*(/($1, $2), 2)], PRI=[/($1, $2)], ctx=[])
-            KapAggregateRel(group-set=[[]], groups=[null], A1=[SUM($0)], A2=[SUM($1)], agg#2=[COUNT($1)], ctx=[])
-              KapProjectRel(PRICE=[$8], ITEM_COUNT=[$9], ctx=[])
-                KapTableScan(table=[[DEFAULT, TEST_KYLIN_FACT]], ctx=[], fields=[[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38]])
-    KapProjectRel(EXPR=[$0], PRI=[CAST(/($1, $2)):BIGINT], PPP=[CAST(/(-($3, /(*($4, $4), $5)), $5)):BIGINT], ctx=[])
-      KapAggregateRel(group-set=[[]], groups=[null], EXPR=[SUM($0)], agg#1=[SUM($1)], agg#2=[COUNT($1)], agg#3=[SUM($2)], agg#4=[SUM($3)], agg#5=[COUNT($3)], ctx=[])
-        KapProjectRel($f0=[$0], $f1=[$1], $f3=[*($2, $2)], PRI=[$2], ctx=[])
-          KapProjectRel($f0=[*($1, 2)], $f1=[*(/($2, $3), 2)], PRI=[/($2, $3)], ctx=[])
-            KapAggregateRel(group-set=[[]], groups=[null], MIN_PRI=[MIN($0)], A1=[SUM($0)], A2=[SUM($1)], agg#3=[COUNT($1)], ctx=[])
-              KapProjectRel(PRICE=[$8], ITEM_COUNT=[$9], ctx=[])
-                KapTableScan(table=[[DEFAULT, TEST_KYLIN_FACT]], ctx=[], fields=[[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38]])
+OlapToEnumerableConverter
+  OlapUnionRel(all=[true], ctx=[], all=[true])
+    OlapProjectRel(EXPR=[$0], PRI=[CAST(/($1, $2)):BIGINT], PPP=[CAST(/(-($3, /(*($4, $4), $5)), $5)):BIGINT], ctx=[])
+      OlapAggregateRel(group-set=[[]], groups=[null], EXPR=[SUM($0)], agg#1=[SUM($1)], agg#2=[COUNT($1)], agg#3=[SUM($2)], agg#4=[SUM($3)], agg#5=[COUNT($3)], ctx=[])
+        OlapProjectRel($f0=[$0], $f1=[$1], $f3=[*($2, $2)], PRI=[$2], ctx=[])
+          OlapProjectRel($f0=[*($0, 2)], $f1=[*(/($1, $2), 2)], PRI=[/($1, $2)], ctx=[])
+            OlapAggregateRel(group-set=[[]], groups=[null], A1=[SUM($0)], A2=[SUM($1)], agg#2=[COUNT($1)], ctx=[])
+              OlapProjectRel(PRICE=[$8], ITEM_COUNT=[$9], ctx=[])
+                OlapTableScan(table=[[DEFAULT, TEST_KYLIN_FACT]], ctx=[], fields=[[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38]])
+    OlapProjectRel(EXPR=[$0], PRI=[CAST(/($1, $2)):BIGINT], PPP=[CAST(/(-($3, /(*($4, $4), $5)), $5)):BIGINT], ctx=[])
+      OlapAggregateRel(group-set=[[]], groups=[null], EXPR=[SUM($0)], agg#1=[SUM($1)], agg#2=[COUNT($1)], agg#3=[SUM($2)], agg#4=[SUM($3)], agg#5=[COUNT($3)], ctx=[])
+        OlapProjectRel($f0=[$0], $f1=[$1], $f3=[*($2, $2)], PRI=[$2], ctx=[])
+          OlapProjectRel($f0=[*($1, 2)], $f1=[*(/($2, $3), 2)], PRI=[/($2, $3)], ctx=[])
+            OlapAggregateRel(group-set=[[]], groups=[null], MIN_PRI=[MIN($0)], A1=[SUM($0)], A2=[SUM($1)], agg#3=[COUNT($1)], ctx=[])
+              OlapProjectRel(PRICE=[$8], ITEM_COUNT=[$9], ctx=[])
+                OlapTableScan(table=[[DEFAULT, TEST_KYLIN_FACT]], ctx=[], fields=[[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38]])
 ]]>
         </Resource>
         <Resource name="query11.planAfter">
             <![CDATA[
-KapOLAPToEnumerableConverter
-  KapUnionRel(all=[true], ctx=[], all=[true])
-    KapProjectRel(EXPR=[$0], PRI=[CAST(/($1, $2)):BIGINT], PPP=[CAST(/(-($3, /(*($4, $4), $5)), $5)):BIGINT], ctx=[])
-      KapAggregateRel(group-set=[[]], groups=[null], EXPR=[SUM($0)], agg#1=[SUM($1)], agg#2=[COUNT($1)], agg#3=[SUM($2)], agg#4=[SUM($3)], agg#5=[COUNT($3)], ctx=[])
-        KapProjectRel($f0=[$0], $f1=[$1], $f3=[*($2, $2)], PRI=[$2], ctx=[])
-          KapProjectRel($f0=[*($0, 2)], $f1=[*(/($1, $2), 2)], PRI=[/($1, $2)], ctx=[])
-            KapAggregateRel(group-set=[[]], groups=[null], A1=[SUM($0)], A2=[SUM($1)], agg#2=[COUNT($1)], ctx=[])
-              KapProjectRel(PRICE=[$8], ITEM_COUNT=[$9], ctx=[])
-                KapTableScan(table=[[DEFAULT, TEST_KYLIN_FACT]], ctx=[], fields=[[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38]])
-    KapProjectRel(EXPR=[$0], PRI=[CAST(/($1, $2)):BIGINT], PPP=[CAST(/(-($3, /(*($4, $4), $5)), $5)):BIGINT], ctx=[])
-      KapAggregateRel(group-set=[[]], groups=[null], EXPR=[SUM($0)], agg#1=[SUM($1)], agg#2=[COUNT($1)], agg#3=[SUM($2)], agg#4=[SUM($3)], agg#5=[COUNT($3)], ctx=[])
-        KapProjectRel($f0=[$0], $f1=[$1], $f3=[*($2, $2)], PRI=[$2], ctx=[])
-          KapProjectRel($f0=[*($1, 2)], $f1=[*(/($2, $3), 2)], PRI=[/($2, $3)], ctx=[])
-            KapAggregateRel(group-set=[[]], groups=[null], MIN_PRI=[MIN($0)], A1=[SUM($0)], A2=[SUM($1)], agg#3=[COUNT($1)], ctx=[])
-              KapProjectRel(PRICE=[$8], ITEM_COUNT=[$9], ctx=[])
-                KapTableScan(table=[[DEFAULT, TEST_KYLIN_FACT]], ctx=[], fields=[[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38]])
+OlapToEnumerableConverter
+  OlapUnionRel(all=[true], ctx=[], all=[true])
+    OlapProjectRel(EXPR=[$0], PRI=[CAST(/($1, $2)):BIGINT], PPP=[CAST(/(-($3, /(*($4, $4), $5)), $5)):BIGINT], ctx=[])
+      OlapAggregateRel(group-set=[[]], groups=[null], EXPR=[SUM($0)], agg#1=[SUM($1)], agg#2=[COUNT($1)], agg#3=[SUM($2)], agg#4=[SUM($3)], agg#5=[COUNT($3)], ctx=[])
+        OlapProjectRel($f0=[$0], $f1=[$1], $f3=[*($2, $2)], PRI=[$2], ctx=[])
+          OlapProjectRel($f0=[*($0, 2)], $f1=[*(/($1, $2), 2)], PRI=[/($1, $2)], ctx=[])
+            OlapAggregateRel(group-set=[[]], groups=[null], A1=[SUM($0)], A2=[SUM($1)], agg#2=[COUNT($1)], ctx=[])
+              OlapProjectRel(PRICE=[$8], ITEM_COUNT=[$9], ctx=[])
+                OlapTableScan(table=[[DEFAULT, TEST_KYLIN_FACT]], ctx=[], fields=[[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38]])
+    OlapProjectRel(EXPR=[$0], PRI=[CAST(/($1, $2)):BIGINT], PPP=[CAST(/(-($3, /(*($4, $4), $5)), $5)):BIGINT], ctx=[])
+      OlapAggregateRel(group-set=[[]], groups=[null], EXPR=[SUM($0)], agg#1=[SUM($1)], agg#2=[COUNT($1)], agg#3=[SUM($2)], agg#4=[SUM($3)], agg#5=[COUNT($3)], ctx=[])
+        OlapProjectRel($f0=[$0], $f1=[$1], $f3=[*($2, $2)], PRI=[$2], ctx=[])
+          OlapProjectRel($f0=[*($1, 2)], $f1=[*(/($2, $3), 2)], PRI=[/($2, $3)], ctx=[])
+            OlapAggregateRel(group-set=[[]], groups=[null], MIN_PRI=[MIN($0)], A1=[SUM($0)], A2=[SUM($1)], agg#3=[COUNT($1)], ctx=[])
+              OlapProjectRel(PRICE=[$8], ITEM_COUNT=[$9], ctx=[])
+                OlapTableScan(table=[[DEFAULT, TEST_KYLIN_FACT]], ctx=[], fields=[[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38]])
 ]]>
         </Resource>
         <Resource name="query12.planBefore">
             <![CDATA[
-KapOLAPToEnumerableConverter
-  KapAggregateRel(group-set=[[]], groups=[null], C1=[SUM($0)], ctx=[])
-    KapProjectRel($f0=[*(CASE(LIKE($3, 'A%'), $8, null), 2)], ctx=[])
-      KapTableScan(table=[[DEFAULT, TEST_KYLIN_FACT]], ctx=[], fields=[[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38]])
+OlapToEnumerableConverter
+  OlapAggregateRel(group-set=[[]], groups=[null], C1=[SUM($0)], ctx=[])
+    OlapProjectRel($f0=[*(CASE(LIKE($3, 'A%'), $8, null), 2)], ctx=[])
+      OlapTableScan(table=[[DEFAULT, TEST_KYLIN_FACT]], ctx=[], fields=[[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38]])
 ]]>
         </Resource>
         <Resource name="query12.planAfter">
             <![CDATA[
-KapOLAPToEnumerableConverter
-  KapAggregateRel(group-set=[[]], groups=[null], C1=[SUM($0)], ctx=[])
-    KapProjectRel($f0=[*(CASE(LIKE($3, 'A%'), $8, null), 2)], ctx=[])
-      KapTableScan(table=[[DEFAULT, TEST_KYLIN_FACT]], ctx=[], fields=[[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38]])
+OlapToEnumerableConverter
+  OlapAggregateRel(group-set=[[]], groups=[null], C1=[SUM($0)], ctx=[])
+    OlapProjectRel($f0=[*(CASE(LIKE($3, 'A%'), $8, null), 2)], ctx=[])
+      OlapTableScan(table=[[DEFAULT, TEST_KYLIN_FACT]], ctx=[], fields=[[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38]])
 ]]>
         </Resource>
         <Resource name="query13.planBefore">
             <![CDATA[
-KapOLAPToEnumerableConverter
-  KapProjectRel(C1=[CAST($0):DECIMAL(38, 0)], C2=[CAST($0):DECIMAL(38, 0)], C3=[CAST($1):DECIMAL(38, 0)], ctx=[])
-    KapAggregateRel(group-set=[[]], groups=[null], agg#0=[SUM($0)], agg#1=[SUM($1)], ctx=[])
-      KapProjectRel($f0=[CASE(>($5, 2), *(CEIL($8), 2), null)], $f1=[CASE(>($5, 2), *(FLOOR($8), 2), null)], ctx=[])
-        KapTableScan(table=[[DEFAULT, TEST_KYLIN_FACT]], ctx=[], fields=[[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38]])
+OlapToEnumerableConverter
+  OlapProjectRel(C1=[CAST($0):DECIMAL(38, 0)], C2=[CAST($0):DECIMAL(38, 0)], C3=[CAST($1):DECIMAL(38, 0)], ctx=[])
+    OlapAggregateRel(group-set=[[]], groups=[null], agg#0=[SUM($0)], agg#1=[SUM($1)], ctx=[])
+      OlapProjectRel($f0=[CASE(>($5, 2), *(CEIL($8), 2), null)], $f1=[CASE(>($5, 2), *(FLOOR($8), 2), null)], ctx=[])
+        OlapTableScan(table=[[DEFAULT, TEST_KYLIN_FACT]], ctx=[], fields=[[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38]])
 ]]>
         </Resource>
         <Resource name="query13.planAfter">
             <![CDATA[
-KapOLAPToEnumerableConverter
-  KapProjectRel(C1=[CAST($0):DECIMAL(38, 0)], C2=[CAST($0):DECIMAL(38, 0)], C3=[CAST($1):DECIMAL(38, 0)], ctx=[])
-    KapAggregateRel(group-set=[[]], groups=[null], AGG$0=[SUM($0)], AGG$1=[SUM($1)], ctx=[])
-      KapProjectRel($f0=[CASE(>($0, 2), $2, null)], $f1=[CASE(>($1, 2), $4, null)], ctx=[])
-        KapAggregateRel(group-set=[[0, 1]], groups=[null], TOP_AGG$0=[SUM($2)], TOP_AGG$1=[SUM($3)], TOP_AGG$2=[SUM($4)], TOP_AGG$3=[SUM($5)], ctx=[])
-          KapProjectRel(LSTG_SITE_ID=[$0], LSTG_SITE_ID0=[$1], SUM_CASE$0$0=[$2], $f3=[*(0, $3)], SUM_CASE$1$0=[$4], $f5=[*(0, $5)], ctx=[])
-            KapAggregateRel(group-set=[[0, 1]], groups=[null], SUM_CASE$0$0=[SUM($2)], SUM_CONST$1=[COUNT()], SUM_CASE$1$0=[SUM($3)], SUM_CONST$3=[COUNT()], ctx=[])
-              KapProjectRel(LSTG_SITE_ID=[$5], LSTG_SITE_ID0=[$5], $f2=[*(CEIL($8), 2)], $f3=[*(FLOOR($8), 2)], ctx=[])
-                KapTableScan(table=[[DEFAULT, TEST_KYLIN_FACT]], ctx=[], fields=[[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38]])
+OlapToEnumerableConverter
+  OlapProjectRel(C1=[CAST($0):DECIMAL(38, 0)], C2=[CAST($0):DECIMAL(38, 0)], C3=[CAST($1):DECIMAL(38, 0)], ctx=[])
+    OlapAggregateRel(group-set=[[]], groups=[null], AGG$0=[SUM($0)], AGG$1=[SUM($1)], ctx=[])
+      OlapProjectRel($f0=[CASE(>($0, 2), $2, null)], $f1=[CASE(>($1, 2), $4, null)], ctx=[])
+        OlapAggregateRel(group-set=[[0, 1]], groups=[null], TOP_AGG$0=[SUM($2)], TOP_AGG$1=[SUM($3)], TOP_AGG$2=[SUM($4)], TOP_AGG$3=[SUM($5)], ctx=[])
+          OlapProjectRel(LSTG_SITE_ID=[$0], LSTG_SITE_ID0=[$1], SUM_CASE$0$0=[$2], $f3=[*(0, $3)], SUM_CASE$1$0=[$4], $f5=[*(0, $5)], ctx=[])
+            OlapAggregateRel(group-set=[[0, 1]], groups=[null], SUM_CASE$0$0=[SUM($2)], SUM_CONST$1=[COUNT()], SUM_CASE$1$0=[SUM($3)], SUM_CONST$3=[COUNT()], ctx=[])
+              OlapProjectRel(LSTG_SITE_ID=[$5], LSTG_SITE_ID0=[$5], $f2=[*(CEIL($8), 2)], $f3=[*(FLOOR($8), 2)], ctx=[])
+                OlapTableScan(table=[[DEFAULT, TEST_KYLIN_FACT]], ctx=[], fields=[[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38]])
 ]]>
         </Resource>
         <Resource name="query14.planBefore">
             <![CDATA[
-KapOLAPToEnumerableConverter
-  KapAggregateRel(group-set=[[]], groups=[null], C1=[SUM($0)], C2=[SUM($1)], C3=[SUM($2)], ctx=[])
-    KapProjectRel($f0=[*(EXTRACT(FLAG(YEAR), $2), 2)], $f1=[*(EXTRACT(FLAG(MONTH), $2), 2)], $f2=[/(EXTRACT(FLAG(MONTH), $2), 2.0)], ctx=[])
-      KapTableScan(table=[[DEFAULT, TEST_KYLIN_FACT]], ctx=[], fields=[[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38]])
+OlapToEnumerableConverter
+  OlapAggregateRel(group-set=[[]], groups=[null], C1=[SUM($0)], C2=[SUM($1)], C3=[SUM($2)], ctx=[])
+    OlapProjectRel($f0=[*(EXTRACT(FLAG(YEAR), $2), 2)], $f1=[*(EXTRACT(FLAG(MONTH), $2), 2)], $f2=[/(EXTRACT(FLAG(MONTH), $2), 2.0)], ctx=[])
+      OlapTableScan(table=[[DEFAULT, TEST_KYLIN_FACT]], ctx=[], fields=[[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38]])
 ]]>
         </Resource>
         <Resource name="query14.planAfter">
             <![CDATA[
-KapOLAPToEnumerableConverter
-  KapAggregateRel(group-set=[[]], groups=[null], C1=[SUM($0)], C2=[SUM($1)], C3=[SUM($2)], ctx=[])
-    KapProjectRel($f0=[*(EXTRACT(FLAG(YEAR), $2), 2)], $f1=[*(EXTRACT(FLAG(MONTH), $2), 2)], $f2=[/(EXTRACT(FLAG(MONTH), $2), 2.0)], ctx=[])
-      KapTableScan(table=[[DEFAULT, TEST_KYLIN_FACT]], ctx=[], fields=[[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38]])
+OlapToEnumerableConverter
+  OlapAggregateRel(group-set=[[]], groups=[null], C1=[SUM($0)], C2=[SUM($1)], C3=[SUM($2)], ctx=[])
+    OlapProjectRel($f0=[*(EXTRACT(FLAG(YEAR), $2), 2)], $f1=[*(EXTRACT(FLAG(MONTH), $2), 2)], $f2=[/(EXTRACT(FLAG(MONTH), $2), 2.0)], ctx=[])
+      OlapTableScan(table=[[DEFAULT, TEST_KYLIN_FACT]], ctx=[], fields=[[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38]])
 ]]>
         </Resource>
         <Resource name="query15.planBefore">
             <![CDATA[
-KapOLAPToEnumerableConverter
-  KapProjectRel(C1=[CAST($0):DECIMAL(15, 4)], ctx=[])
-    KapAggregateRel(group-set=[[]], groups=[null], agg#0=[SUM($0)], ctx=[])
-      KapProjectRel($f0=[CASE(>($5, 2), *(*($8, 2), 3), null)], ctx=[])
-        KapTableScan(table=[[DEFAULT, TEST_KYLIN_FACT]], ctx=[], fields=[[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38]])
+OlapToEnumerableConverter
+  OlapProjectRel(C1=[CAST($0):DECIMAL(15, 4)], ctx=[])
+    OlapAggregateRel(group-set=[[]], groups=[null], agg#0=[SUM($0)], ctx=[])
+      OlapProjectRel($f0=[CASE(>($5, 2), *(*($8, 2), 3), null)], ctx=[])
+        OlapTableScan(table=[[DEFAULT, TEST_KYLIN_FACT]], ctx=[], fields=[[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38]])
 ]]>
         </Resource>
         <Resource name="query15.planAfter">
             <![CDATA[
-KapOLAPToEnumerableConverter
-  KapProjectRel(C1=[CAST($0):DECIMAL(15, 4)], ctx=[])
-    KapAggregateRel(group-set=[[]], groups=[null], AGG$0=[SUM($0)], ctx=[])
-      KapProjectRel($f0=[CASE(>($0, 2), $1, null)], ctx=[])
-        KapAggregateRel(group-set=[[0]], groups=[null], AGG$0=[SUM($1)], AGG$1=[SUM($2)], ctx=[])
-          KapProjectRel(LSTG_SITE_ID=[$0], $f1=[*(*($1, 2), 3)], SUM_CASE$0$1=[$2], ctx=[])
-            KapAggregateRel(group-set=[[0]], groups=[null], TOP_AGG$0=[SUM($1)], TOP_AGG$1=[SUM($2)], ctx=[])
-              KapProjectRel(LSTG_SITE_ID=[$0], SUM_OP$0=[$1], $f2=[*(0, $2)], ctx=[])
-                KapAggregateRel(group-set=[[0]], groups=[null], SUM_OP$0=[SUM($1)], SUM_CONST$1=[COUNT()], ctx=[])
-                  KapProjectRel(LSTG_SITE_ID=[$5], PRICE=[$8], ctx=[])
-                    KapTableScan(table=[[DEFAULT, TEST_KYLIN_FACT]], ctx=[], fields=[[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38]])
+OlapToEnumerableConverter
+  OlapProjectRel(C1=[CAST($0):DECIMAL(15, 4)], ctx=[])
+    OlapAggregateRel(group-set=[[]], groups=[null], AGG$0=[SUM($0)], ctx=[])
+      OlapProjectRel($f0=[CASE(>($0, 2), $1, null)], ctx=[])
+        OlapAggregateRel(group-set=[[0]], groups=[null], AGG$0=[SUM($1)], AGG$1=[SUM($2)], ctx=[])
+          OlapProjectRel(LSTG_SITE_ID=[$0], $f1=[*(*($1, 2), 3)], SUM_CASE$0$1=[$2], ctx=[])
+            OlapAggregateRel(group-set=[[0]], groups=[null], TOP_AGG$0=[SUM($1)], TOP_AGG$1=[SUM($2)], ctx=[])
+              OlapProjectRel(LSTG_SITE_ID=[$0], SUM_OP$0=[$1], $f2=[*(0, $2)], ctx=[])
+                OlapAggregateRel(group-set=[[0]], groups=[null], SUM_OP$0=[SUM($1)], SUM_CONST$1=[COUNT()], ctx=[])
+                  OlapProjectRel(LSTG_SITE_ID=[$5], PRICE=[$8], ctx=[])
+                    OlapTableScan(table=[[DEFAULT, TEST_KYLIN_FACT]], ctx=[], fields=[[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38]])
 ]]>
         </Resource>
         <Resource name="query21.planBefore">
             <![CDATA[
-KapOLAPToEnumerableConverter
-  KapSortRel(sort0=[$1], dir0=[ASC-nulls-first], ctx=[])
-    KapProjectRel(MAX_PRICE=[$1], LSTG_FORMAT_NAME=[$0], COL1=[$2], ctx=[])
-      KapAggregateRel(group-set=[[0]], groups=[null], MAX_PRICE=[MAX($1)], COL1=[SUM($2)], ctx=[])
-        KapProjectRel(LSTG_FORMAT_NAME=[$3], PRICE=[$8], $f2=[CASE(>($4, 10), $8, <($4, 100), 1, null)], ctx=[])
-          KapTableScan(table=[[DEFAULT, TEST_KYLIN_FACT]], ctx=[], fields=[[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38]])
+OlapToEnumerableConverter
+  OlapSortRel(sort0=[$1], dir0=[ASC-nulls-first], ctx=[])
+    OlapProjectRel(MAX_PRICE=[$1], LSTG_FORMAT_NAME=[$0], COL1=[$2], ctx=[])
+      OlapAggregateRel(group-set=[[0]], groups=[null], MAX_PRICE=[MAX($1)], COL1=[SUM($2)], ctx=[])
+        OlapProjectRel(LSTG_FORMAT_NAME=[$3], PRICE=[$8], $f2=[CASE(>($4, 10), $8, <($4, 100), 1, null)], ctx=[])
+          OlapTableScan(table=[[DEFAULT, TEST_KYLIN_FACT]], ctx=[], fields=[[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38]])
 ]]>
         </Resource>
         <Resource name="query21.planAfter">
             <![CDATA[
-KapOLAPToEnumerableConverter
-  KapSortRel(sort0=[$1], dir0=[ASC-nulls-first], ctx=[])
-    KapProjectRel(MAX_PRICE=[$1], LSTG_FORMAT_NAME=[$0], COL1=[$2], ctx=[])
-      KapAggregateRel(group-set=[[0]], groups=[null], AGG$0=[MAX($1)], AGG$1=[SUM($2)], ctx=[])
-        KapProjectRel(LSTG_FORMAT_NAME=[$0], MAX_PRICE=[$2], $f2=[CASE(>($1, 10), $3, <($1, 100), $4, null)], ctx=[])
-          KapAggregateRel(group-set=[[0, 1]], groups=[null], TOP_AGG$0=[MAX($2)], TOP_AGG$1=[SUM($3)], TOP_AGG$2=[SUM($4)], TOP_AGG$3=[SUM($5)], ctx=[])
-            KapProjectRel(LSTG_FORMAT_NAME=[$0], LEAF_CATEG_ID=[$1], MAX_PRICE=[$2], SUM_CASE$0$0=[$3], $f4=[CAST(*(1, $4)):DECIMAL(19, 4) NOT NULL], $f5=[*(0, $5)], ctx=[])
-              KapAggregateRel(group-set=[[0, 1]], groups=[null], MAX_PRICE=[MAX($2)], SUM_CASE$0$0=[SUM($3)], SUM_CONST$2=[COUNT()], SUM_CONST$3=[COUNT()], ctx=[])
-                KapProjectRel(LSTG_FORMAT_NAME=[$3], LEAF_CATEG_ID=[$4], PRICE=[$8], PRICE0=[$8], ctx=[])
-                  KapTableScan(table=[[DEFAULT, TEST_KYLIN_FACT]], ctx=[], fields=[[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38]])
+OlapToEnumerableConverter
+  OlapSortRel(sort0=[$1], dir0=[ASC-nulls-first], ctx=[])
+    OlapProjectRel(MAX_PRICE=[$1], LSTG_FORMAT_NAME=[$0], COL1=[$2], ctx=[])
+      OlapAggregateRel(group-set=[[0]], groups=[null], AGG$0=[MAX($1)], AGG$1=[SUM($2)], ctx=[])
+        OlapProjectRel(LSTG_FORMAT_NAME=[$0], MAX_PRICE=[$2], $f2=[CASE(>($1, 10), $3, <($1, 100), $4, null)], ctx=[])
+          OlapAggregateRel(group-set=[[0, 1]], groups=[null], TOP_AGG$0=[MAX($2)], TOP_AGG$1=[SUM($3)], TOP_AGG$2=[SUM($4)], TOP_AGG$3=[SUM($5)], ctx=[])
+            OlapProjectRel(LSTG_FORMAT_NAME=[$0], LEAF_CATEG_ID=[$1], MAX_PRICE=[$2], SUM_CASE$0$0=[$3], $f4=[CAST(*(1, $4)):DECIMAL(19, 4) NOT NULL], $f5=[*(0, $5)], ctx=[])
+              OlapAggregateRel(group-set=[[0, 1]], groups=[null], MAX_PRICE=[MAX($2)], SUM_CASE$0$0=[SUM($3)], SUM_CONST$2=[COUNT()], SUM_CONST$3=[COUNT()], ctx=[])
+                OlapProjectRel(LSTG_FORMAT_NAME=[$3], LEAF_CATEG_ID=[$4], PRICE=[$8], PRICE0=[$8], ctx=[])
+                  OlapTableScan(table=[[DEFAULT, TEST_KYLIN_FACT]], ctx=[], fields=[[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38]])
 ]]>
         </Resource>
         <Resource name="query22.planBefore">
             <![CDATA[
-KapOLAPToEnumerableConverter
-  KapSortRel(sort0=[$1], dir0=[ASC-nulls-first], ctx=[])
-    KapProjectRel(MAX_PRICE=[$1], LSTG_FORMAT_NAME=[$0], COL1=[$2], ctx=[])
-      KapAggregateRel(group-set=[[0]], groups=[null], MAX_PRICE=[MIN($1)], COL1=[SUM($2)], ctx=[])
-        KapProjectRel(LSTG_FORMAT_NAME=[$3], PRICE=[$8], $f2=[CASE(>($4, 10), $8, <($4, 100), 1, null)], ctx=[])
-          KapTableScan(table=[[DEFAULT, TEST_KYLIN_FACT]], ctx=[], fields=[[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38]])
+OlapToEnumerableConverter
+  OlapSortRel(sort0=[$1], dir0=[ASC-nulls-first], ctx=[])
+    OlapProjectRel(MAX_PRICE=[$1], LSTG_FORMAT_NAME=[$0], COL1=[$2], ctx=[])
+      OlapAggregateRel(group-set=[[0]], groups=[null], MAX_PRICE=[MIN($1)], COL1=[SUM($2)], ctx=[])
+        OlapProjectRel(LSTG_FORMAT_NAME=[$3], PRICE=[$8], $f2=[CASE(>($4, 10), $8, <($4, 100), 1, null)], ctx=[])
+          OlapTableScan(table=[[DEFAULT, TEST_KYLIN_FACT]], ctx=[], fields=[[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38]])
 ]]>
         </Resource>
         <Resource name="query22.planAfter">
             <![CDATA[
-KapOLAPToEnumerableConverter
-  KapSortRel(sort0=[$1], dir0=[ASC-nulls-first], ctx=[])
-    KapProjectRel(MAX_PRICE=[$1], LSTG_FORMAT_NAME=[$0], COL1=[$2], ctx=[])
-      KapAggregateRel(group-set=[[0]], groups=[null], AGG$0=[MIN($1)], AGG$1=[SUM($2)], ctx=[])
-        KapProjectRel(LSTG_FORMAT_NAME=[$0], MAX_PRICE=[$2], $f2=[CASE(>($1, 10), $3, <($1, 100), $4, null)], ctx=[])
-          KapAggregateRel(group-set=[[0, 1]], groups=[null], TOP_AGG$0=[MIN($2)], TOP_AGG$1=[SUM($3)], TOP_AGG$2=[SUM($4)], TOP_AGG$3=[SUM($5)], ctx=[])
-            KapProjectRel(LSTG_FORMAT_NAME=[$0], LEAF_CATEG_ID=[$1], MAX_PRICE=[$2], SUM_CASE$0$0=[$3], $f4=[CAST(*(1, $4)):DECIMAL(19, 4) NOT NULL], $f5=[*(0, $5)], ctx=[])
-              KapAggregateRel(group-set=[[0, 1]], groups=[null], MAX_PRICE=[MIN($2)], SUM_CASE$0$0=[SUM($3)], SUM_CONST$2=[COUNT()], SUM_CONST$3=[COUNT()], ctx=[])
-                KapProjectRel(LSTG_FORMAT_NAME=[$3], LEAF_CATEG_ID=[$4], PRICE=[$8], PRICE0=[$8], ctx=[])
-                  KapTableScan(table=[[DEFAULT, TEST_KYLIN_FACT]], ctx=[], fields=[[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38]])
+OlapToEnumerableConverter
+  OlapSortRel(sort0=[$1], dir0=[ASC-nulls-first], ctx=[])
+    OlapProjectRel(MAX_PRICE=[$1], LSTG_FORMAT_NAME=[$0], COL1=[$2], ctx=[])
+      OlapAggregateRel(group-set=[[0]], groups=[null], AGG$0=[MIN($1)], AGG$1=[SUM($2)], ctx=[])
+        OlapProjectRel(LSTG_FORMAT_NAME=[$0], MAX_PRICE=[$2], $f2=[CASE(>($1, 10), $3, <($1, 100), $4, null)], ctx=[])
+          OlapAggregateRel(group-set=[[0, 1]], groups=[null], TOP_AGG$0=[MIN($2)], TOP_AGG$1=[SUM($3)], TOP_AGG$2=[SUM($4)], TOP_AGG$3=[SUM($5)], ctx=[])
+            OlapProjectRel(LSTG_FORMAT_NAME=[$0], LEAF_CATEG_ID=[$1], MAX_PRICE=[$2], SUM_CASE$0$0=[$3], $f4=[CAST(*(1, $4)):DECIMAL(19, 4) NOT NULL], $f5=[*(0, $5)], ctx=[])
+              OlapAggregateRel(group-set=[[0, 1]], groups=[null], MAX_PRICE=[MIN($2)], SUM_CASE$0$0=[SUM($3)], SUM_CONST$2=[COUNT()], SUM_CONST$3=[COUNT()], ctx=[])
+                OlapProjectRel(LSTG_FORMAT_NAME=[$3], LEAF_CATEG_ID=[$4], PRICE=[$8], PRICE0=[$8], ctx=[])
+                  OlapTableScan(table=[[DEFAULT, TEST_KYLIN_FACT]], ctx=[], fields=[[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38]])
 ]]>
         </Resource>
         <Resource name="query25.planBefore">
             <![CDATA[
-KapOLAPToEnumerableConverter
-  KapProjectRel(COL1=[$2], COL2=[$3], COL3=[$0], COL4=[$1], ctx=[])
-    KapAggregateRel(group-set=[[0, 1]], groups=[null], COL1=[COUNT()], COL2=[SUM($2)], ctx=[])
-      KapProjectRel(COL3=[CASE(=($7, 0), 0, <=($7, 1), 1, $7)], COL4=[$44], $f2=[CASE(<=($44, 2012-12-31), *($8, 4), >($44, 2012-12-31), 1, 0)], ctx=[])
-        KapFilterRel(condition=[=($3, 'FP-GTC')], ctx=[])
-          KapJoinRel(condition=[=($207, $213)], joinType=[inner], ctx=[])
-            KapJoinRel(condition=[=($202, $209)], joinType=[inner], ctx=[])
-              KapJoinRel(condition=[=($40, $204)], joinType=[inner], ctx=[])
-                KapJoinRel(condition=[=($7, $199)], joinType=[inner], ctx=[])
-                  KapJoinRel(condition=[=($6, $190)], joinType=[inner], ctx=[])
-                    KapJoinRel(condition=[=($5, $180)], joinType=[inner], ctx=[])
-                      KapJoinRel(condition=[AND(=($4, $144), =($5, $146))], joinType=[inner], ctx=[])
-                        KapJoinRel(condition=[=($2, $44)], joinType=[inner], ctx=[])
-                          KapJoinRel(condition=[=($1, $39)], joinType=[inner], ctx=[])
-                            KapTableScan(table=[[DEFAULT, TEST_KYLIN_FACT]], ctx=[], fields=[[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38]])
-                            KapTableScan(table=[[DEFAULT, TEST_ORDER]], ctx=[], fields=[[0, 1, 2, 3, 4]])
-                          KapTableScan(table=[[EDW, TEST_CAL_DT]], ctx=[], fields=[[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99]])
-                        KapTableScan(table=[[DEFAULT, TEST_CATEGORY_GROUPINGS]], ctx=[], fields=[[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35]])
-                      KapTableScan(table=[[EDW, TEST_SITES]], ctx=[], fields=[[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]])
-                    KapTableScan(table=[[EDW, TEST_SELLER_TYPE_DIM]], ctx=[], fields=[[0, 1, 2, 3, 4, 5, 6, 7, 8]])
-                  KapTableScan(table=[[DEFAULT, TEST_ACCOUNT]], ctx=[], fields=[[0, 1, 2, 3, 4]])
-                KapTableScan(table=[[DEFAULT, TEST_ACCOUNT]], ctx=[], fields=[[0, 1, 2, 3, 4]])
-              KapTableScan(table=[[DEFAULT, TEST_COUNTRY]], ctx=[], fields=[[0, 1, 2, 3]])
-            KapTableScan(table=[[DEFAULT, TEST_COUNTRY]], ctx=[], fields=[[0, 1, 2, 3]])
+OlapToEnumerableConverter
+  OlapProjectRel(COL1=[$2], COL2=[$3], COL3=[$0], COL4=[$1], ctx=[])
+    OlapAggregateRel(group-set=[[0, 1]], groups=[null], COL1=[COUNT()], COL2=[SUM($2)], ctx=[])
+      OlapProjectRel(COL3=[CASE(=($7, 0), 0, <=($7, 1), 1, $7)], COL4=[$44], $f2=[CASE(<=($44, 2012-12-31), *($8, 4), >($44, 2012-12-31), 1, 0)], ctx=[])
+        OlapFilterRel(condition=[=($3, 'FP-GTC')], ctx=[])
+          OlapJoinRel(condition=[=($207, $213)], joinType=[inner], ctx=[])
+            OlapJoinRel(condition=[=($202, $209)], joinType=[inner], ctx=[])
+              OlapJoinRel(condition=[=($40, $204)], joinType=[inner], ctx=[])
+                OlapJoinRel(condition=[=($7, $199)], joinType=[inner], ctx=[])
+                  OlapJoinRel(condition=[=($6, $190)], joinType=[inner], ctx=[])
+                    OlapJoinRel(condition=[=($5, $180)], joinType=[inner], ctx=[])
+                      OlapJoinRel(condition=[AND(=($4, $144), =($5, $146))], joinType=[inner], ctx=[])
+                        OlapJoinRel(condition=[=($2, $44)], joinType=[inner], ctx=[])
+                          OlapJoinRel(condition=[=($1, $39)], joinType=[inner], ctx=[])
+                            OlapTableScan(table=[[DEFAULT, TEST_KYLIN_FACT]], ctx=[], fields=[[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38]])
+                            OlapTableScan(table=[[DEFAULT, TEST_ORDER]], ctx=[], fields=[[0, 1, 2, 3, 4]])
+                          OlapTableScan(table=[[EDW, TEST_CAL_DT]], ctx=[], fields=[[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99]])
+                        OlapTableScan(table=[[DEFAULT, TEST_CATEGORY_GROUPINGS]], ctx=[], fields=[[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35]])
+                      OlapTableScan(table=[[EDW, TEST_SITES]], ctx=[], fields=[[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]])
+                    OlapTableScan(table=[[EDW, TEST_SELLER_TYPE_DIM]], ctx=[], fields=[[0, 1, 2, 3, 4, 5, 6, 7, 8]])
+                  OlapTableScan(table=[[DEFAULT, TEST_ACCOUNT]], ctx=[], fields=[[0, 1, 2, 3, 4]])
+                OlapTableScan(table=[[DEFAULT, TEST_ACCOUNT]], ctx=[], fields=[[0, 1, 2, 3, 4]])
+              OlapTableScan(table=[[DEFAULT, TEST_COUNTRY]], ctx=[], fields=[[0, 1, 2, 3]])
+            OlapTableScan(table=[[DEFAULT, TEST_COUNTRY]], ctx=[], fields=[[0, 1, 2, 3]])
 ]]>
         </Resource>
         <Resource name="query25.planAfter">
             <![CDATA[
-KapOLAPToEnumerableConverter
-  KapProjectRel(COL1=[$2], COL2=[$3], COL3=[$0], COL4=[$1], ctx=[])
-    KapAggregateRel(group-set=[[0, 1]], groups=[null], AGG$0=[$SUM0($2)], AGG$1=[SUM($3)], ctx=[])
-      KapProjectRel($f0=[CASE(=($0, 0), 0, <=($0, 1), 1, $0)], CAL_DT0=[$1], COL1=[$3], $f3=[CASE(<=($2, 2012-12-31), $4, >($2, 2012-12-31), $5, $6)], ctx=[])
-        KapAggregateRel(group-set=[[0, 1, 2]], groups=[null], AGG$0=[SUM($3)], AGG$1=[SUM($4)], AGG$2=[SUM($5)], AGG$3=[SUM($6)], ctx=[])
-          KapProjectRel(SELLER_ID=[$0], CAL_DT0=[$1], CAL_DT00=[$2], COL1=[$3], $f4=[*($4, 4)], SUM_CASE$0$1=[$5], SUM_CASE$0$2=[$6], ctx=[])
-            KapAggregateRel(group-set=[[0, 1, 2]], groups=[null], TOP_AGG$0=[$SUM0($3)], TOP_AGG$1=[SUM($4)], TOP_AGG$2=[SUM($5)], TOP_AGG$3=[SUM($6)], ctx=[])
-              KapProjectRel(SELLER_ID=[$0], CAL_DT0=[$1], CAL_DT00=[$2], COL1=[$3], SUM_OP$0=[$4], $f5=[CAST(*(1, $5)):DECIMAL(29, 4) NOT NULL], $f6=[CAST(*(0, $6)):DECIMAL(29, 4) NOT NULL], ctx=[])
-                KapAggregateRel(group-set=[[0, 1, 2]], groups=[null], COL1=[COUNT()], SUM_OP$0=[SUM($3)], SUM_CONST$2=[COUNT()], SUM_CONST$3=[COUNT()], ctx=[])
-                  KapProjectRel(SELLER_ID=[$7], CAL_DT0=[$44], CAL_DT00=[$44], PRICE=[$8], ctx=[])
-                    KapFilterRel(condition=[=($3, 'FP-GTC')], ctx=[])
-                      KapJoinRel(condition=[=($207, $213)], joinType=[inner], ctx=[])
-                        KapJoinRel(condition=[=($202, $209)], joinType=[inner], ctx=[])
-                          KapJoinRel(condition=[=($40, $204)], joinType=[inner], ctx=[])
-                            KapJoinRel(condition=[=($7, $199)], joinType=[inner], ctx=[])
-                              KapJoinRel(condition=[=($6, $190)], joinType=[inner], ctx=[])
-                                KapJoinRel(condition=[=($5, $180)], joinType=[inner], ctx=[])
-                                  KapJoinRel(condition=[AND(=($4, $144), =($5, $146))], joinType=[inner], ctx=[])
-                                    KapJoinRel(condition=[=($2, $44)], joinType=[inner], ctx=[])
-                                      KapJoinRel(condition=[=($1, $39)], joinType=[inner], ctx=[])
-                                        KapTableScan(table=[[DEFAULT, TEST_KYLIN_FACT]], ctx=[], fields=[[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38]])
-                                        KapTableScan(table=[[DEFAULT, TEST_ORDER]], ctx=[], fields=[[0, 1, 2, 3, 4]])
-                                      KapTableScan(table=[[EDW, TEST_CAL_DT]], ctx=[], fields=[[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99]])
-                                    KapTableScan(table=[[DEFAULT, TEST_CATEGORY_GROUPINGS]], ctx=[], fields=[[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35]])
-                                  KapTableScan(table=[[EDW, TEST_SITES]], ctx=[], fields=[[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]])
-                                KapTableScan(table=[[EDW, TEST_SELLER_TYPE_DIM]], ctx=[], fields=[[0, 1, 2, 3, 4, 5, 6, 7, 8]])
-                              KapTableScan(table=[[DEFAULT, TEST_ACCOUNT]], ctx=[], fields=[[0, 1, 2, 3, 4]])
-                            KapTableScan(table=[[DEFAULT, TEST_ACCOUNT]], ctx=[], fields=[[0, 1, 2, 3, 4]])
-                          KapTableScan(table=[[DEFAULT, TEST_COUNTRY]], ctx=[], fields=[[0, 1, 2, 3]])
-                        KapTableScan(table=[[DEFAULT, TEST_COUNTRY]], ctx=[], fields=[[0, 1, 2, 3]])
+OlapToEnumerableConverter
+  OlapProjectRel(COL1=[$2], COL2=[$3], COL3=[$0], COL4=[$1], ctx=[])
+    OlapAggregateRel(group-set=[[0, 1]], groups=[null], AGG$0=[$SUM0($2)], AGG$1=[SUM($3)], ctx=[])
+      OlapProjectRel($f0=[CASE(=($0, 0), 0, <=($0, 1), 1, $0)], CAL_DT0=[$1], COL1=[$3], $f3=[CASE(<=($2, 2012-12-31), $4, >($2, 2012-12-31), $5, $6)], ctx=[])
+        OlapAggregateRel(group-set=[[0, 1, 2]], groups=[null], AGG$0=[SUM($3)], AGG$1=[SUM($4)], AGG$2=[SUM($5)], AGG$3=[SUM($6)], ctx=[])
+          OlapProjectRel(SELLER_ID=[$0], CAL_DT0=[$1], CAL_DT00=[$2], COL1=[$3], $f4=[*($4, 4)], SUM_CASE$0$1=[$5], SUM_CASE$0$2=[$6], ctx=[])
+            OlapAggregateRel(group-set=[[0, 1, 2]], groups=[null], TOP_AGG$0=[$SUM0($3)], TOP_AGG$1=[SUM($4)], TOP_AGG$2=[SUM($5)], TOP_AGG$3=[SUM($6)], ctx=[])
+              OlapProjectRel(SELLER_ID=[$0], CAL_DT0=[$1], CAL_DT00=[$2], COL1=[$3], SUM_OP$0=[$4], $f5=[CAST(*(1, $5)):DECIMAL(29, 4) NOT NULL], $f6=[CAST(*(0, $6)):DECIMAL(29, 4) NOT NULL], ctx=[])
+                OlapAggregateRel(group-set=[[0, 1, 2]], groups=[null], COL1=[COUNT()], SUM_OP$0=[SUM($3)], SUM_CONST$2=[COUNT()], SUM_CONST$3=[COUNT()], ctx=[])
+                  OlapProjectRel(SELLER_ID=[$7], CAL_DT0=[$44], CAL_DT00=[$44], PRICE=[$8], ctx=[])
+                    OlapFilterRel(condition=[=($3, 'FP-GTC')], ctx=[])
+                      OlapJoinRel(condition=[=($207, $213)], joinType=[inner], ctx=[])
+                        OlapJoinRel(condition=[=($202, $209)], joinType=[inner], ctx=[])
+                          OlapJoinRel(condition=[=($40, $204)], joinType=[inner], ctx=[])
+                            OlapJoinRel(condition=[=($7, $199)], joinType=[inner], ctx=[])
+                              OlapJoinRel(condition=[=($6, $190)], joinType=[inner], ctx=[])
+                                OlapJoinRel(condition=[=($5, $180)], joinType=[inner], ctx=[])
+                                  OlapJoinRel(condition=[AND(=($4, $144), =($5, $146))], joinType=[inner], ctx=[])
+                                    OlapJoinRel(condition=[=($2, $44)], joinType=[inner], ctx=[])
+                                      OlapJoinRel(condition=[=($1, $39)], joinType=[inner], ctx=[])
+                                        OlapTableScan(table=[[DEFAULT, TEST_KYLIN_FACT]], ctx=[], fields=[[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38]])
+                                        OlapTableScan(table=[[DEFAULT, TEST_ORDER]], ctx=[], fields=[[0, 1, 2, 3, 4]])
+                                      OlapTableScan(table=[[EDW, TEST_CAL_DT]], ctx=[], fields=[[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99]])
+                                    OlapTableScan(table=[[DEFAULT, TEST_CATEGORY_GROUPINGS]], ctx=[], fields=[[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35]])
+                                  OlapTableScan(table=[[EDW, TEST_SITES]], ctx=[], fields=[[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]])
+                                OlapTableScan(table=[[EDW, TEST_SELLER_TYPE_DIM]], ctx=[], fields=[[0, 1, 2, 3, 4, 5, 6, 7, 8]])
+                              OlapTableScan(table=[[DEFAULT, TEST_ACCOUNT]], ctx=[], fields=[[0, 1, 2, 3, 4]])
+                            OlapTableScan(table=[[DEFAULT, TEST_ACCOUNT]], ctx=[], fields=[[0, 1, 2, 3, 4]])
+                          OlapTableScan(table=[[DEFAULT, TEST_COUNTRY]], ctx=[], fields=[[0, 1, 2, 3]])
+                        OlapTableScan(table=[[DEFAULT, TEST_COUNTRY]], ctx=[], fields=[[0, 1, 2, 3]])
 ]]>
         </Resource>
         <Resource name="query26.planBefore">
             <![CDATA[
-KapOLAPToEnumerableConverter
-  KapProjectRel(COL=[$2], ctx=[])
-    KapAggregateRel(group-set=[[0, 1]], groups=[null], COL=[SUM($2)], ctx=[])
-      KapProjectRel(SELLER_ID=[$7], CAL_DT0=[$44], $f2=[CASE(<=($44, 2012-12-31), /($8, 100), null)], ctx=[])
-        KapFilterRel(condition=[=($3, 'FP-GTC')], ctx=[])
-          KapJoinRel(condition=[=($207, $213)], joinType=[inner], ctx=[])
-            KapJoinRel(condition=[=($202, $209)], joinType=[inner], ctx=[])
-              KapJoinRel(condition=[=($40, $204)], joinType=[inner], ctx=[])
-                KapJoinRel(condition=[=($7, $199)], joinType=[inner], ctx=[])
-                  KapJoinRel(condition=[=($6, $190)], joinType=[inner], ctx=[])
-                    KapJoinRel(condition=[=($5, $180)], joinType=[inner], ctx=[])
-                      KapJoinRel(condition=[AND(=($4, $144), =($5, $146))], joinType=[inner], ctx=[])
-                        KapJoinRel(condition=[=($2, $44)], joinType=[inner], ctx=[])
-                          KapJoinRel(condition=[=($1, $39)], joinType=[inner], ctx=[])
-                            KapTableScan(table=[[DEFAULT, TEST_KYLIN_FACT]], ctx=[], fields=[[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38]])
-                            KapTableScan(table=[[DEFAULT, TEST_ORDER]], ctx=[], fields=[[0, 1, 2, 3, 4]])
-                          KapTableScan(table=[[EDW, TEST_CAL_DT]], ctx=[], fields=[[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99]])
-                        KapTableScan(table=[[DEFAULT, TEST_CATEGORY_GROUPINGS]], ctx=[], fields=[[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35]])
-                      KapTableScan(table=[[EDW, TEST_SITES]], ctx=[], fields=[[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]])
-                    KapTableScan(table=[[EDW, TEST_SELLER_TYPE_DIM]], ctx=[], fields=[[0, 1, 2, 3, 4, 5, 6, 7, 8]])
-                  KapTableScan(table=[[DEFAULT, TEST_ACCOUNT]], ctx=[], fields=[[0, 1, 2, 3, 4]])
-                KapTableScan(table=[[DEFAULT, TEST_ACCOUNT]], ctx=[], fields=[[0, 1, 2, 3, 4]])
-              KapTableScan(table=[[DEFAULT, TEST_COUNTRY]], ctx=[], fields=[[0, 1, 2, 3]])
-            KapTableScan(table=[[DEFAULT, TEST_COUNTRY]], ctx=[], fields=[[0, 1, 2, 3]])
+OlapToEnumerableConverter
+  OlapProjectRel(COL=[$2], ctx=[])
+    OlapAggregateRel(group-set=[[0, 1]], groups=[null], COL=[SUM($2)], ctx=[])
+      OlapProjectRel(SELLER_ID=[$7], CAL_DT0=[$44], $f2=[CASE(<=($44, 2012-12-31), /($8, 100), null)], ctx=[])
+        OlapFilterRel(condition=[=($3, 'FP-GTC')], ctx=[])
+          OlapJoinRel(condition=[=($207, $213)], joinType=[inner], ctx=[])
+            OlapJoinRel(condition=[=($202, $209)], joinType=[inner], ctx=[])
+              OlapJoinRel(condition=[=($40, $204)], joinType=[inner], ctx=[])
+                OlapJoinRel(condition=[=($7, $199)], joinType=[inner], ctx=[])
+                  OlapJoinRel(condition=[=($6, $190)], joinType=[inner], ctx=[])
+                    OlapJoinRel(condition=[=($5, $180)], joinType=[inner], ctx=[])
+                      OlapJoinRel(condition=[AND(=($4, $144), =($5, $146))], joinType=[inner], ctx=[])
+                        OlapJoinRel(condition=[=($2, $44)], joinType=[inner], ctx=[])
+                          OlapJoinRel(condition=[=($1, $39)], joinType=[inner], ctx=[])
+                            OlapTableScan(table=[[DEFAULT, TEST_KYLIN_FACT]], ctx=[], fields=[[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38]])
+                            OlapTableScan(table=[[DEFAULT, TEST_ORDER]], ctx=[], fields=[[0, 1, 2, 3, 4]])
+                          OlapTableScan(table=[[EDW, TEST_CAL_DT]], ctx=[], fields=[[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99]])
+                        OlapTableScan(table=[[DEFAULT, TEST_CATEGORY_GROUPINGS]], ctx=[], fields=[[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35]])
+                      OlapTableScan(table=[[EDW, TEST_SITES]], ctx=[], fields=[[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]])
+                    OlapTableScan(table=[[EDW, TEST_SELLER_TYPE_DIM]], ctx=[], fields=[[0, 1, 2, 3, 4, 5, 6, 7, 8]])
+                  OlapTableScan(table=[[DEFAULT, TEST_ACCOUNT]], ctx=[], fields=[[0, 1, 2, 3, 4]])
+                OlapTableScan(table=[[DEFAULT, TEST_ACCOUNT]], ctx=[], fields=[[0, 1, 2, 3, 4]])
+              OlapTableScan(table=[[DEFAULT, TEST_COUNTRY]], ctx=[], fields=[[0, 1, 2, 3]])
+            OlapTableScan(table=[[DEFAULT, TEST_COUNTRY]], ctx=[], fields=[[0, 1, 2, 3]])
 ]]>
         </Resource>
         <Resource name="query26.planAfter">
             <![CDATA[
-KapOLAPToEnumerableConverter
-  KapProjectRel(COL=[$2], ctx=[])
-    KapAggregateRel(group-set=[[0, 1]], groups=[null], AGG$0=[SUM($2)], ctx=[])
-      KapProjectRel(SELLER_ID=[$0], CAL_DT0=[$1], $f2=[CASE(<=($2, 2012-12-31), $3, null)], ctx=[])
-        KapAggregateRel(group-set=[[0, 1, 2]], groups=[null], AGG$0=[SUM($3)], AGG$1=[SUM($4)], ctx=[])
-          KapProjectRel(SELLER_ID=[$0], CAL_DT0=[$1], CAL_DT00=[$2], $f3=[/($3, 100)], SUM_CASE$0$1=[$4], ctx=[])
-            KapAggregateRel(group-set=[[0, 1, 2]], groups=[null], TOP_AGG$0=[SUM($3)], TOP_AGG$1=[SUM($4)], ctx=[])
-              KapProjectRel(SELLER_ID=[$0], CAL_DT0=[$1], CAL_DT00=[$2], SUM_OP$0=[$3], $f4=[*(0, $4)], ctx=[])
-                KapAggregateRel(group-set=[[0, 1, 2]], groups=[null], SUM_OP$0=[SUM($3)], SUM_CONST$1=[COUNT()], ctx=[])
-                  KapProjectRel(SELLER_ID=[$7], CAL_DT0=[$44], CAL_DT00=[$44], PRICE=[$8], ctx=[])
-                    KapFilterRel(condition=[=($3, 'FP-GTC')], ctx=[])
-                      KapJoinRel(condition=[=($207, $213)], joinType=[inner], ctx=[])
-                        KapJoinRel(condition=[=($202, $209)], joinType=[inner], ctx=[])
-                          KapJoinRel(condition=[=($40, $204)], joinType=[inner], ctx=[])
-                            KapJoinRel(condition=[=($7, $199)], joinType=[inner], ctx=[])
-                              KapJoinRel(condition=[=($6, $190)], joinType=[inner], ctx=[])
-                                KapJoinRel(condition=[=($5, $180)], joinType=[inner], ctx=[])
-                                  KapJoinRel(condition=[AND(=($4, $144), =($5, $146))], joinType=[inner], ctx=[])
-                                    KapJoinRel(condition=[=($2, $44)], joinType=[inner], ctx=[])
-                                      KapJoinRel(condition=[=($1, $39)], joinType=[inner], ctx=[])
-                                        KapTableScan(table=[[DEFAULT, TEST_KYLIN_FACT]], ctx=[], fields=[[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38]])
-                                        KapTableScan(table=[[DEFAULT, TEST_ORDER]], ctx=[], fields=[[0, 1, 2, 3, 4]])
-                                      KapTableScan(table=[[EDW, TEST_CAL_DT]], ctx=[], fields=[[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99]])
-                                    KapTableScan(table=[[DEFAULT, TEST_CATEGORY_GROUPINGS]], ctx=[], fields=[[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35]])
-                                  KapTableScan(table=[[EDW, TEST_SITES]], ctx=[], fields=[[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]])
-                                KapTableScan(table=[[EDW, TEST_SELLER_TYPE_DIM]], ctx=[], fields=[[0, 1, 2, 3, 4, 5, 6, 7, 8]])
-                              KapTableScan(table=[[DEFAULT, TEST_ACCOUNT]], ctx=[], fields=[[0, 1, 2, 3, 4]])
-                            KapTableScan(table=[[DEFAULT, TEST_ACCOUNT]], ctx=[], fields=[[0, 1, 2, 3, 4]])
-                          KapTableScan(table=[[DEFAULT, TEST_COUNTRY]], ctx=[], fields=[[0, 1, 2, 3]])
-                        KapTableScan(table=[[DEFAULT, TEST_COUNTRY]], ctx=[], fields=[[0, 1, 2, 3]])
+OlapToEnumerableConverter
+  OlapProjectRel(COL=[$2], ctx=[])
+    OlapAggregateRel(group-set=[[0, 1]], groups=[null], AGG$0=[SUM($2)], ctx=[])
+      OlapProjectRel(SELLER_ID=[$0], CAL_DT0=[$1], $f2=[CASE(<=($2, 2012-12-31), $3, null)], ctx=[])
+        OlapAggregateRel(group-set=[[0, 1, 2]], groups=[null], AGG$0=[SUM($3)], AGG$1=[SUM($4)], ctx=[])
+          OlapProjectRel(SELLER_ID=[$0], CAL_DT0=[$1], CAL_DT00=[$2], $f3=[/($3, 100)], SUM_CASE$0$1=[$4], ctx=[])
+            OlapAggregateRel(group-set=[[0, 1, 2]], groups=[null], TOP_AGG$0=[SUM($3)], TOP_AGG$1=[SUM($4)], ctx=[])
+              OlapProjectRel(SELLER_ID=[$0], CAL_DT0=[$1], CAL_DT00=[$2], SUM_OP$0=[$3], $f4=[*(0, $4)], ctx=[])
+                OlapAggregateRel(group-set=[[0, 1, 2]], groups=[null], SUM_OP$0=[SUM($3)], SUM_CONST$1=[COUNT()], ctx=[])
+                  OlapProjectRel(SELLER_ID=[$7], CAL_DT0=[$44], CAL_DT00=[$44], PRICE=[$8], ctx=[])
+                    OlapFilterRel(condition=[=($3, 'FP-GTC')], ctx=[])
+                      OlapJoinRel(condition=[=($207, $213)], joinType=[inner], ctx=[])
+                        OlapJoinRel(condition=[=($202, $209)], joinType=[inner], ctx=[])
+                          OlapJoinRel(condition=[=($40, $204)], joinType=[inner], ctx=[])
+                            OlapJoinRel(condition=[=($7, $199)], joinType=[inner], ctx=[])
+                              OlapJoinRel(condition=[=($6, $190)], joinType=[inner], ctx=[])
+                                OlapJoinRel(condition=[=($5, $180)], joinType=[inner], ctx=[])
+                                  OlapJoinRel(condition=[AND(=($4, $144), =($5, $146))], joinType=[inner], ctx=[])
+                                    OlapJoinRel(condition=[=($2, $44)], joinType=[inner], ctx=[])
+                                      OlapJoinRel(condition=[=($1, $39)], joinType=[inner], ctx=[])
+                                        OlapTableScan(table=[[DEFAULT, TEST_KYLIN_FACT]], ctx=[], fields=[[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38]])
+                                        OlapTableScan(table=[[DEFAULT, TEST_ORDER]], ctx=[], fields=[[0, 1, 2, 3, 4]])
+                                      OlapTableScan(table=[[EDW, TEST_CAL_DT]], ctx=[], fields=[[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99]])
+                                    OlapTableScan(table=[[DEFAULT, TEST_CATEGORY_GROUPINGS]], ctx=[], fields=[[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35]])
+                                  OlapTableScan(table=[[EDW, TEST_SITES]], ctx=[], fields=[[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]])
+                                OlapTableScan(table=[[EDW, TEST_SELLER_TYPE_DIM]], ctx=[], fields=[[0, 1, 2, 3, 4, 5, 6, 7, 8]])
+                              OlapTableScan(table=[[DEFAULT, TEST_ACCOUNT]], ctx=[], fields=[[0, 1, 2, 3, 4]])
+                            OlapTableScan(table=[[DEFAULT, TEST_ACCOUNT]], ctx=[], fields=[[0, 1, 2, 3, 4]])
+                          OlapTableScan(table=[[DEFAULT, TEST_COUNTRY]], ctx=[], fields=[[0, 1, 2, 3]])
+                        OlapTableScan(table=[[DEFAULT, TEST_COUNTRY]], ctx=[], fields=[[0, 1, 2, 3]])
 ]]>
         </Resource>
         <Resource name="query27.planBefore">
             <![CDATA[
-KapOLAPToEnumerableConverter
-  KapProjectRel(COL=[$2], ctx=[])
-    KapAggregateRel(group-set=[[0, 1]], groups=[null], COL=[SUM($2)], ctx=[])
-      KapProjectRel(SELLER_ID=[$7], CAL_DT0=[$44], $f2=[CASE(<=($44, 2012-12-31), CAST(/($8, 100)):DOUBLE, null)], ctx=[])
-        KapFilterRel(condition=[=($3, 'FP-GTC')], ctx=[])
-          KapJoinRel(condition=[=($207, $213)], joinType=[inner], ctx=[])
-            KapJoinRel(condition=[=($202, $209)], joinType=[inner], ctx=[])
-              KapJoinRel(condition=[=($40, $204)], joinType=[inner], ctx=[])
-                KapJoinRel(condition=[=($7, $199)], joinType=[inner], ctx=[])
-                  KapJoinRel(condition=[=($6, $190)], joinType=[inner], ctx=[])
-                    KapJoinRel(condition=[=($5, $180)], joinType=[inner], ctx=[])
-                      KapJoinRel(condition=[AND(=($4, $144), =($5, $146))], joinType=[inner], ctx=[])
-                        KapJoinRel(condition=[=($2, $44)], joinType=[inner], ctx=[])
-                          KapJoinRel(condition=[=($1, $39)], joinType=[inner], ctx=[])
-                            KapTableScan(table=[[DEFAULT, TEST_KYLIN_FACT]], ctx=[], fields=[[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38]])
-                            KapTableScan(table=[[DEFAULT, TEST_ORDER]], ctx=[], fields=[[0, 1, 2, 3, 4]])
-                          KapTableScan(table=[[EDW, TEST_CAL_DT]], ctx=[], fields=[[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99]])
-                        KapTableScan(table=[[DEFAULT, TEST_CATEGORY_GROUPINGS]], ctx=[], fields=[[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35]])
-                      KapTableScan(table=[[EDW, TEST_SITES]], ctx=[], fields=[[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]])
-                    KapTableScan(table=[[EDW, TEST_SELLER_TYPE_DIM]], ctx=[], fields=[[0, 1, 2, 3, 4, 5, 6, 7, 8]])
-                  KapTableScan(table=[[DEFAULT, TEST_ACCOUNT]], ctx=[], fields=[[0, 1, 2, 3, 4]])
-                KapTableScan(table=[[DEFAULT, TEST_ACCOUNT]], ctx=[], fields=[[0, 1, 2, 3, 4]])
-              KapTableScan(table=[[DEFAULT, TEST_COUNTRY]], ctx=[], fields=[[0, 1, 2, 3]])
-            KapTableScan(table=[[DEFAULT, TEST_COUNTRY]], ctx=[], fields=[[0, 1, 2, 3]])
+OlapToEnumerableConverter
+  OlapProjectRel(COL=[$2], ctx=[])
+    OlapAggregateRel(group-set=[[0, 1]], groups=[null], COL=[SUM($2)], ctx=[])
+      OlapProjectRel(SELLER_ID=[$7], CAL_DT0=[$44], $f2=[CASE(<=($44, 2012-12-31), CAST(/($8, 100)):DOUBLE, null)], ctx=[])
+        OlapFilterRel(condition=[=($3, 'FP-GTC')], ctx=[])
+          OlapJoinRel(condition=[=($207, $213)], joinType=[inner], ctx=[])
+            OlapJoinRel(condition=[=($202, $209)], joinType=[inner], ctx=[])
+              OlapJoinRel(condition=[=($40, $204)], joinType=[inner], ctx=[])
+                OlapJoinRel(condition=[=($7, $199)], joinType=[inner], ctx=[])
+                  OlapJoinRel(condition=[=($6, $190)], joinType=[inner], ctx=[])
+                    OlapJoinRel(condition=[=($5, $180)], joinType=[inner], ctx=[])
+                      OlapJoinRel(condition=[AND(=($4, $144), =($5, $146))], joinType=[inner], ctx=[])
+                        OlapJoinRel(condition=[=($2, $44)], joinType=[inner], ctx=[])
+                          OlapJoinRel(condition=[=($1, $39)], joinType=[inner], ctx=[])
+                            OlapTableScan(table=[[DEFAULT, TEST_KYLIN_FACT]], ctx=[], fields=[[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38]])
+                            OlapTableScan(table=[[DEFAULT, TEST_ORDER]], ctx=[], fields=[[0, 1, 2, 3, 4]])
+                          OlapTableScan(table=[[EDW, TEST_CAL_DT]], ctx=[], fields=[[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99]])
+                        OlapTableScan(table=[[DEFAULT, TEST_CATEGORY_GROUPINGS]], ctx=[], fields=[[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35]])
+                      OlapTableScan(table=[[EDW, TEST_SITES]], ctx=[], fields=[[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]])
+                    OlapTableScan(table=[[EDW, TEST_SELLER_TYPE_DIM]], ctx=[], fields=[[0, 1, 2, 3, 4, 5, 6, 7, 8]])
+                  OlapTableScan(table=[[DEFAULT, TEST_ACCOUNT]], ctx=[], fields=[[0, 1, 2, 3, 4]])
+                OlapTableScan(table=[[DEFAULT, TEST_ACCOUNT]], ctx=[], fields=[[0, 1, 2, 3, 4]])
+              OlapTableScan(table=[[DEFAULT, TEST_COUNTRY]], ctx=[], fields=[[0, 1, 2, 3]])
+            OlapTableScan(table=[[DEFAULT, TEST_COUNTRY]], ctx=[], fields=[[0, 1, 2, 3]])
 ]]>
         </Resource>
         <Resource name="query27.planAfter">
             <![CDATA[
-KapOLAPToEnumerableConverter
-  KapProjectRel(COL=[$2], ctx=[])
-    KapAggregateRel(group-set=[[0, 1]], groups=[null], AGG$0=[SUM($2)], ctx=[])
-      KapProjectRel(SELLER_ID=[$0], CAL_DT0=[$1], $f2=[CASE(<=($2, 2012-12-31), CAST($3):DOUBLE, null)], ctx=[])
-        KapAggregateRel(group-set=[[0, 1, 2]], groups=[null], AGG$0=[SUM($3)], AGG$1=[SUM($4)], ctx=[])
-          KapProjectRel(SELLER_ID=[$0], CAL_DT0=[$1], CAL_DT00=[$2], $f3=[/($3, 100)], SUM_CASE$0$1=[$4], ctx=[])
-            KapAggregateRel(group-set=[[0, 1, 2]], groups=[null], TOP_AGG$0=[SUM($3)], TOP_AGG$1=[SUM($4)], ctx=[])
-              KapProjectRel(SELLER_ID=[$0], CAL_DT0=[$1], CAL_DT00=[$2], SUM_OP$0=[$3], $f4=[*(0, $4)], ctx=[])
-                KapAggregateRel(group-set=[[0, 1, 2]], groups=[null], SUM_OP$0=[SUM($3)], SUM_CONST$1=[COUNT()], ctx=[])
-                  KapProjectRel(SELLER_ID=[$7], CAL_DT0=[$44], CAL_DT00=[$44], PRICE=[$8], ctx=[])
-                    KapFilterRel(condition=[=($3, 'FP-GTC')], ctx=[])
-                      KapJoinRel(condition=[=($207, $213)], joinType=[inner], ctx=[])
-                        KapJoinRel(condition=[=($202, $209)], joinType=[inner], ctx=[])
-                          KapJoinRel(condition=[=($40, $204)], joinType=[inner], ctx=[])
-                            KapJoinRel(condition=[=($7, $199)], joinType=[inner], ctx=[])
-                              KapJoinRel(condition=[=($6, $190)], joinType=[inner], ctx=[])
-                                KapJoinRel(condition=[=($5, $180)], joinType=[inner], ctx=[])
-                                  KapJoinRel(condition=[AND(=($4, $144), =($5, $146))], joinType=[inner], ctx=[])
-                                    KapJoinRel(condition=[=($2, $44)], joinType=[inner], ctx=[])
-                                      KapJoinRel(condition=[=($1, $39)], joinType=[inner], ctx=[])
-                                        KapTableScan(table=[[DEFAULT, TEST_KYLIN_FACT]], ctx=[], fields=[[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38]])
-                                        KapTableScan(table=[[DEFAULT, TEST_ORDER]], ctx=[], fields=[[0, 1, 2, 3, 4]])
-                                      KapTableScan(table=[[EDW, TEST_CAL_DT]], ctx=[], fields=[[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99]])
-                                    KapTableScan(table=[[DEFAULT, TEST_CATEGORY_GROUPINGS]], ctx=[], fields=[[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35]])
-                                  KapTableScan(table=[[EDW, TEST_SITES]], ctx=[], fields=[[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]])
-                                KapTableScan(table=[[EDW, TEST_SELLER_TYPE_DIM]], ctx=[], fields=[[0, 1, 2, 3, 4, 5, 6, 7, 8]])
-                              KapTableScan(table=[[DEFAULT, TEST_ACCOUNT]], ctx=[], fields=[[0, 1, 2, 3, 4]])
-                            KapTableScan(table=[[DEFAULT, TEST_ACCOUNT]], ctx=[], fields=[[0, 1, 2, 3, 4]])
-                          KapTableScan(table=[[DEFAULT, TEST_COUNTRY]], ctx=[], fields=[[0, 1, 2, 3]])
-                        KapTableScan(table=[[DEFAULT, TEST_COUNTRY]], ctx=[], fields=[[0, 1, 2, 3]])
+OlapToEnumerableConverter
+  OlapProjectRel(COL=[$2], ctx=[])
+    OlapAggregateRel(group-set=[[0, 1]], groups=[null], AGG$0=[SUM($2)], ctx=[])
+      OlapProjectRel(SELLER_ID=[$0], CAL_DT0=[$1], $f2=[CASE(<=($2, 2012-12-31), CAST($3):DOUBLE, null)], ctx=[])
+        OlapAggregateRel(group-set=[[0, 1, 2]], groups=[null], AGG$0=[SUM($3)], AGG$1=[SUM($4)], ctx=[])
+          OlapProjectRel(SELLER_ID=[$0], CAL_DT0=[$1], CAL_DT00=[$2], $f3=[/($3, 100)], SUM_CASE$0$1=[$4], ctx=[])
+            OlapAggregateRel(group-set=[[0, 1, 2]], groups=[null], TOP_AGG$0=[SUM($3)], TOP_AGG$1=[SUM($4)], ctx=[])
+              OlapProjectRel(SELLER_ID=[$0], CAL_DT0=[$1], CAL_DT00=[$2], SUM_OP$0=[$3], $f4=[*(0, $4)], ctx=[])
+                OlapAggregateRel(group-set=[[0, 1, 2]], groups=[null], SUM_OP$0=[SUM($3)], SUM_CONST$1=[COUNT()], ctx=[])
+                  OlapProjectRel(SELLER_ID=[$7], CAL_DT0=[$44], CAL_DT00=[$44], PRICE=[$8], ctx=[])
+                    OlapFilterRel(condition=[=($3, 'FP-GTC')], ctx=[])
+                      OlapJoinRel(condition=[=($207, $213)], joinType=[inner], ctx=[])
+                        OlapJoinRel(condition=[=($202, $209)], joinType=[inner], ctx=[])
+                          OlapJoinRel(condition=[=($40, $204)], joinType=[inner], ctx=[])
+                            OlapJoinRel(condition=[=($7, $199)], joinType=[inner], ctx=[])
+                              OlapJoinRel(condition=[=($6, $190)], joinType=[inner], ctx=[])
+                                OlapJoinRel(condition=[=($5, $180)], joinType=[inner], ctx=[])
+                                  OlapJoinRel(condition=[AND(=($4, $144), =($5, $146))], joinType=[inner], ctx=[])
+                                    OlapJoinRel(condition=[=($2, $44)], joinType=[inner], ctx=[])
+                                      OlapJoinRel(condition=[=($1, $39)], joinType=[inner], ctx=[])
+                                        OlapTableScan(table=[[DEFAULT, TEST_KYLIN_FACT]], ctx=[], fields=[[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38]])
+                                        OlapTableScan(table=[[DEFAULT, TEST_ORDER]], ctx=[], fields=[[0, 1, 2, 3, 4]])
+                                      OlapTableScan(table=[[EDW, TEST_CAL_DT]], ctx=[], fields=[[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99]])
+                                    OlapTableScan(table=[[DEFAULT, TEST_CATEGORY_GROUPINGS]], ctx=[], fields=[[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35]])
+                                  OlapTableScan(table=[[EDW, TEST_SITES]], ctx=[], fields=[[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]])
+                                OlapTableScan(table=[[EDW, TEST_SELLER_TYPE_DIM]], ctx=[], fields=[[0, 1, 2, 3, 4, 5, 6, 7, 8]])
+                              OlapTableScan(table=[[DEFAULT, TEST_ACCOUNT]], ctx=[], fields=[[0, 1, 2, 3, 4]])
+                            OlapTableScan(table=[[DEFAULT, TEST_ACCOUNT]], ctx=[], fields=[[0, 1, 2, 3, 4]])
+                          OlapTableScan(table=[[DEFAULT, TEST_COUNTRY]], ctx=[], fields=[[0, 1, 2, 3]])
+                        OlapTableScan(table=[[DEFAULT, TEST_COUNTRY]], ctx=[], fields=[[0, 1, 2, 3]])
 ]]>
         </Resource>
         <Resource name="query28.planBefore">
             <![CDATA[
-KapOLAPToEnumerableConverter
-  KapProjectRel(COL=[$2], ctx=[])
-    KapAggregateRel(group-set=[[0, 1]], groups=[null], COL=[SUM($2)], ctx=[])
-      KapProjectRel(SELLER_ID=[$7], CAL_DT0=[$44], $f2=[CASE(<=($44, 2012-12-31), /($8, 100), >($44, 2012-12-31), 1, null)], ctx=[])
-        KapFilterRel(condition=[=($3, 'FP-GTC')], ctx=[])
-          KapJoinRel(condition=[=($207, $213)], joinType=[inner], ctx=[])
-            KapJoinRel(condition=[=($202, $209)], joinType=[inner], ctx=[])
-              KapJoinRel(condition=[=($40, $204)], joinType=[inner], ctx=[])
-                KapJoinRel(condition=[=($7, $199)], joinType=[inner], ctx=[])
-                  KapJoinRel(condition=[=($6, $190)], joinType=[inner], ctx=[])
-                    KapJoinRel(condition=[=($5, $180)], joinType=[inner], ctx=[])
-                      KapJoinRel(condition=[AND(=($4, $144), =($5, $146))], joinType=[inner], ctx=[])
-                        KapJoinRel(condition=[=($2, $44)], joinType=[inner], ctx=[])
-                          KapJoinRel(condition=[=($1, $39)], joinType=[inner], ctx=[])
-                            KapTableScan(table=[[DEFAULT, TEST_KYLIN_FACT]], ctx=[], fields=[[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38]])
-                            KapTableScan(table=[[DEFAULT, TEST_ORDER]], ctx=[], fields=[[0, 1, 2, 3, 4]])
-                          KapTableScan(table=[[EDW, TEST_CAL_DT]], ctx=[], fields=[[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99]])
-                        KapTableScan(table=[[DEFAULT, TEST_CATEGORY_GROUPINGS]], ctx=[], fields=[[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35]])
-                      KapTableScan(table=[[EDW, TEST_SITES]], ctx=[], fields=[[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]])
-                    KapTableScan(table=[[EDW, TEST_SELLER_TYPE_DIM]], ctx=[], fields=[[0, 1, 2, 3, 4, 5, 6, 7, 8]])
-                  KapTableScan(table=[[DEFAULT, TEST_ACCOUNT]], ctx=[], fields=[[0, 1, 2, 3, 4]])
-                KapTableScan(table=[[DEFAULT, TEST_ACCOUNT]], ctx=[], fields=[[0, 1, 2, 3, 4]])
-              KapTableScan(table=[[DEFAULT, TEST_COUNTRY]], ctx=[], fields=[[0, 1, 2, 3]])
-            KapTableScan(table=[[DEFAULT, TEST_COUNTRY]], ctx=[], fields=[[0, 1, 2, 3]])
+OlapToEnumerableConverter
+  OlapProjectRel(COL=[$2], ctx=[])
+    OlapAggregateRel(group-set=[[0, 1]], groups=[null], COL=[SUM($2)], ctx=[])
+      OlapProjectRel(SELLER_ID=[$7], CAL_DT0=[$44], $f2=[CASE(<=($44, 2012-12-31), /($8, 100), >($44, 2012-12-31), 1, null)], ctx=[])
+        OlapFilterRel(condition=[=($3, 'FP-GTC')], ctx=[])
+          OlapJoinRel(condition=[=($207, $213)], joinType=[inner], ctx=[])
+            OlapJoinRel(condition=[=($202, $209)], joinType=[inner], ctx=[])
+              OlapJoinRel(condition=[=($40, $204)], joinType=[inner], ctx=[])
+                OlapJoinRel(condition=[=($7, $199)], joinType=[inner], ctx=[])
+                  OlapJoinRel(condition=[=($6, $190)], joinType=[inner], ctx=[])
+                    OlapJoinRel(condition=[=($5, $180)], joinType=[inner], ctx=[])
+                      OlapJoinRel(condition=[AND(=($4, $144), =($5, $146))], joinType=[inner], ctx=[])
+                        OlapJoinRel(condition=[=($2, $44)], joinType=[inner], ctx=[])
+                          OlapJoinRel(condition=[=($1, $39)], joinType=[inner], ctx=[])
+                            OlapTableScan(table=[[DEFAULT, TEST_KYLIN_FACT]], ctx=[], fields=[[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38]])
+                            OlapTableScan(table=[[DEFAULT, TEST_ORDER]], ctx=[], fields=[[0, 1, 2, 3, 4]])
+                          OlapTableScan(table=[[EDW, TEST_CAL_DT]], ctx=[], fields=[[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99]])
+                        OlapTableScan(table=[[DEFAULT, TEST_CATEGORY_GROUPINGS]], ctx=[], fields=[[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35]])
+                      OlapTableScan(table=[[EDW, TEST_SITES]], ctx=[], fields=[[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]])
+                    OlapTableScan(table=[[EDW, TEST_SELLER_TYPE_DIM]], ctx=[], fields=[[0, 1, 2, 3, 4, 5, 6, 7, 8]])
+                  OlapTableScan(table=[[DEFAULT, TEST_ACCOUNT]], ctx=[], fields=[[0, 1, 2, 3, 4]])
+                OlapTableScan(table=[[DEFAULT, TEST_ACCOUNT]], ctx=[], fields=[[0, 1, 2, 3, 4]])
+              OlapTableScan(table=[[DEFAULT, TEST_COUNTRY]], ctx=[], fields=[[0, 1, 2, 3]])
+            OlapTableScan(table=[[DEFAULT, TEST_COUNTRY]], ctx=[], fields=[[0, 1, 2, 3]])
 ]]>
         </Resource>
         <Resource name="query28.planAfter">
             <![CDATA[
-KapOLAPToEnumerableConverter
-  KapProjectRel(COL=[$2], ctx=[])
-    KapAggregateRel(group-set=[[0, 1]], groups=[null], AGG$0=[SUM($2)], ctx=[])
-      KapProjectRel(SELLER_ID=[$0], CAL_DT0=[$1], $f2=[CASE(<=($2, 2012-12-31), $3, >($2, 2012-12-31), $4, null)], ctx=[])
-        KapAggregateRel(group-set=[[0, 1, 2]], groups=[null], AGG$0=[SUM($3)], AGG$1=[SUM($4)], AGG$2=[SUM($5)], ctx=[])
-          KapProjectRel(SELLER_ID=[$0], CAL_DT0=[$1], CAL_DT00=[$2], $f3=[/($3, 100)], SUM_CASE$0$1=[$4], SUM_CASE$0$2=[$5], ctx=[])
-            KapAggregateRel(group-set=[[0, 1, 2]], groups=[null], TOP_AGG$0=[SUM($3)], TOP_AGG$1=[SUM($4)], TOP_AGG$2=[SUM($5)], ctx=[])
-              KapProjectRel(SELLER_ID=[$0], CAL_DT0=[$1], CAL_DT00=[$2], SUM_OP$0=[$3], $f4=[CAST(*(1, $4)):DECIMAL(30, 15) NOT NULL], $f5=[*(0, $5)], ctx=[])
-                KapAggregateRel(group-set=[[0, 1, 2]], groups=[null], SUM_OP$0=[SUM($3)], SUM_CONST$1=[COUNT()], SUM_CONST$2=[COUNT()], ctx=[])
-                  KapProjectRel(SELLER_ID=[$7], CAL_DT0=[$44], CAL_DT00=[$44], PRICE=[$8], ctx=[])
-                    KapFilterRel(condition=[=($3, 'FP-GTC')], ctx=[])
-                      KapJoinRel(condition=[=($207, $213)], joinType=[inner], ctx=[])
-                        KapJoinRel(condition=[=($202, $209)], joinType=[inner], ctx=[])
-                          KapJoinRel(condition=[=($40, $204)], joinType=[inner], ctx=[])
-                            KapJoinRel(condition=[=($7, $199)], joinType=[inner], ctx=[])
-                              KapJoinRel(condition=[=($6, $190)], joinType=[inner], ctx=[])
-                                KapJoinRel(condition=[=($5, $180)], joinType=[inner], ctx=[])
-                                  KapJoinRel(condition=[AND(=($4, $144), =($5, $146))], joinType=[inner], ctx=[])
-                                    KapJoinRel(condition=[=($2, $44)], joinType=[inner], ctx=[])
-                                      KapJoinRel(condition=[=($1, $39)], joinType=[inner], ctx=[])
-                                        KapTableScan(table=[[DEFAULT, TEST_KYLIN_FACT]], ctx=[], fields=[[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38]])
-                                        KapTableScan(table=[[DEFAULT, TEST_ORDER]], ctx=[], fields=[[0, 1, 2, 3, 4]])
-                                      KapTableScan(table=[[EDW, TEST_CAL_DT]], ctx=[], fields=[[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99]])
-                                    KapTableScan(table=[[DEFAULT, TEST_CATEGORY_GROUPINGS]], ctx=[], fields=[[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35]])
-                                  KapTableScan(table=[[EDW, TEST_SITES]], ctx=[], fields=[[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]])
-                                KapTableScan(table=[[EDW, TEST_SELLER_TYPE_DIM]], ctx=[], fields=[[0, 1, 2, 3, 4, 5, 6, 7, 8]])
-                              KapTableScan(table=[[DEFAULT, TEST_ACCOUNT]], ctx=[], fields=[[0, 1, 2, 3, 4]])
-                            KapTableScan(table=[[DEFAULT, TEST_ACCOUNT]], ctx=[], fields=[[0, 1, 2, 3, 4]])
-                          KapTableScan(table=[[DEFAULT, TEST_COUNTRY]], ctx=[], fields=[[0, 1, 2, 3]])
-                        KapTableScan(table=[[DEFAULT, TEST_COUNTRY]], ctx=[], fields=[[0, 1, 2, 3]])
+OlapToEnumerableConverter
+  OlapProjectRel(COL=[$2], ctx=[])
+    OlapAggregateRel(group-set=[[0, 1]], groups=[null], AGG$0=[SUM($2)], ctx=[])
+      OlapProjectRel(SELLER_ID=[$0], CAL_DT0=[$1], $f2=[CASE(<=($2, 2012-12-31), $3, >($2, 2012-12-31), $4, null)], ctx=[])
+        OlapAggregateRel(group-set=[[0, 1, 2]], groups=[null], AGG$0=[SUM($3)], AGG$1=[SUM($4)], AGG$2=[SUM($5)], ctx=[])
+          OlapProjectRel(SELLER_ID=[$0], CAL_DT0=[$1], CAL_DT00=[$2], $f3=[/($3, 100)], SUM_CASE$0$1=[$4], SUM_CASE$0$2=[$5], ctx=[])
+            OlapAggregateRel(group-set=[[0, 1, 2]], groups=[null], TOP_AGG$0=[SUM($3)], TOP_AGG$1=[SUM($4)], TOP_AGG$2=[SUM($5)], ctx=[])
+              OlapProjectRel(SELLER_ID=[$0], CAL_DT0=[$1], CAL_DT00=[$2], SUM_OP$0=[$3], $f4=[CAST(*(1, $4)):DECIMAL(30, 15) NOT NULL], $f5=[*(0, $5)], ctx=[])
+                OlapAggregateRel(group-set=[[0, 1, 2]], groups=[null], SUM_OP$0=[SUM($3)], SUM_CONST$1=[COUNT()], SUM_CONST$2=[COUNT()], ctx=[])
+                  OlapProjectRel(SELLER_ID=[$7], CAL_DT0=[$44], CAL_DT00=[$44], PRICE=[$8], ctx=[])
+                    OlapFilterRel(condition=[=($3, 'FP-GTC')], ctx=[])
+                      OlapJoinRel(condition=[=($207, $213)], joinType=[inner], ctx=[])
+                        OlapJoinRel(condition=[=($202, $209)], joinType=[inner], ctx=[])
+                          OlapJoinRel(condition=[=($40, $204)], joinType=[inner], ctx=[])
+                            OlapJoinRel(condition=[=($7, $199)], joinType=[inner], ctx=[])
+                              OlapJoinRel(condition=[=($6, $190)], joinType=[inner], ctx=[])
+                                OlapJoinRel(condition=[=($5, $180)], joinType=[inner], ctx=[])
+                                  OlapJoinRel(condition=[AND(=($4, $144), =($5, $146))], joinType=[inner], ctx=[])
+                                    OlapJoinRel(condition=[=($2, $44)], joinType=[inner], ctx=[])
+                                      OlapJoinRel(condition=[=($1, $39)], joinType=[inner], ctx=[])
+                                        OlapTableScan(table=[[DEFAULT, TEST_KYLIN_FACT]], ctx=[], fields=[[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38]])
+                                        OlapTableScan(table=[[DEFAULT, TEST_ORDER]], ctx=[], fields=[[0, 1, 2, 3, 4]])
+                                      OlapTableScan(table=[[EDW, TEST_CAL_DT]], ctx=[], fields=[[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99]])
+                                    OlapTableScan(table=[[DEFAULT, TEST_CATEGORY_GROUPINGS]], ctx=[], fields=[[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35]])
+                                  OlapTableScan(table=[[EDW, TEST_SITES]], ctx=[], fields=[[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]])
+                                OlapTableScan(table=[[EDW, TEST_SELLER_TYPE_DIM]], ctx=[], fields=[[0, 1, 2, 3, 4, 5, 6, 7, 8]])
+                              OlapTableScan(table=[[DEFAULT, TEST_ACCOUNT]], ctx=[], fields=[[0, 1, 2, 3, 4]])
+                            OlapTableScan(table=[[DEFAULT, TEST_ACCOUNT]], ctx=[], fields=[[0, 1, 2, 3, 4]])
+                          OlapTableScan(table=[[DEFAULT, TEST_COUNTRY]], ctx=[], fields=[[0, 1, 2, 3]])
+                        OlapTableScan(table=[[DEFAULT, TEST_COUNTRY]], ctx=[], fields=[[0, 1, 2, 3]])
 ]]>
         </Resource>
         <Resource name="query29.planBefore">
             <![CDATA[
-KapOLAPToEnumerableConverter
-  KapProjectRel(COL1=[$1], COL2=[$0], ctx=[])
-    KapAggregateRel(group-set=[[0]], groups=[null], COL1=[SUM($1)], ctx=[])
-      KapProjectRel(COL2=[-($7, $40)], $f1=[CASE(=($3, 'ABIN'), $8, null)], ctx=[])
-        KapJoinRel(condition=[=($207, $213)], joinType=[inner], ctx=[])
-          KapJoinRel(condition=[=($202, $209)], joinType=[inner], ctx=[])
-            KapJoinRel(condition=[=($40, $204)], joinType=[inner], ctx=[])
-              KapJoinRel(condition=[=($7, $199)], joinType=[inner], ctx=[])
-                KapJoinRel(condition=[=($6, $190)], joinType=[inner], ctx=[])
-                  KapJoinRel(condition=[=($5, $180)], joinType=[inner], ctx=[])
-                    KapJoinRel(condition=[AND(=($4, $144), =($5, $146))], joinType=[inner], ctx=[])
-                      KapJoinRel(condition=[=($2, $44)], joinType=[inner], ctx=[])
-                        KapJoinRel(condition=[=($1, $39)], joinType=[inner], ctx=[])
-                          KapTableScan(table=[[DEFAULT, TEST_KYLIN_FACT]], ctx=[], fields=[[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38]])
-                          KapTableScan(table=[[DEFAULT, TEST_ORDER]], ctx=[], fields=[[0, 1, 2, 3, 4]])
-                        KapTableScan(table=[[EDW, TEST_CAL_DT]], ctx=[], fields=[[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99]])
-                      KapTableScan(table=[[DEFAULT, TEST_CATEGORY_GROUPINGS]], ctx=[], fields=[[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35]])
-                    KapTableScan(table=[[EDW, TEST_SITES]], ctx=[], fields=[[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]])
-                  KapTableScan(table=[[EDW, TEST_SELLER_TYPE_DIM]], ctx=[], fields=[[0, 1, 2, 3, 4, 5, 6, 7, 8]])
-                KapTableScan(table=[[DEFAULT, TEST_ACCOUNT]], ctx=[], fields=[[0, 1, 2, 3, 4]])
-              KapTableScan(table=[[DEFAULT, TEST_ACCOUNT]], ctx=[], fields=[[0, 1, 2, 3, 4]])
-            KapTableScan(table=[[DEFAULT, TEST_COUNTRY]], ctx=[], fields=[[0, 1, 2, 3]])
-          KapTableScan(table=[[DEFAULT, TEST_COUNTRY]], ctx=[], fields=[[0, 1, 2, 3]])
+OlapToEnumerableConverter
+  OlapProjectRel(COL1=[$1], COL2=[$0], ctx=[])
+    OlapAggregateRel(group-set=[[0]], groups=[null], COL1=[SUM($1)], ctx=[])
+      OlapProjectRel(COL2=[-($7, $40)], $f1=[CASE(=($3, 'ABIN'), $8, null)], ctx=[])
+        OlapJoinRel(condition=[=($207, $213)], joinType=[inner], ctx=[])
+          OlapJoinRel(condition=[=($202, $209)], joinType=[inner], ctx=[])
+            OlapJoinRel(condition=[=($40, $204)], joinType=[inner], ctx=[])
+              OlapJoinRel(condition=[=($7, $199)], joinType=[inner], ctx=[])
+                OlapJoinRel(condition=[=($6, $190)], joinType=[inner], ctx=[])
+                  OlapJoinRel(condition=[=($5, $180)], joinType=[inner], ctx=[])
+                    OlapJoinRel(condition=[AND(=($4, $144), =($5, $146))], joinType=[inner], ctx=[])
+                      OlapJoinRel(condition=[=($2, $44)], joinType=[inner], ctx=[])
+                        OlapJoinRel(condition=[=($1, $39)], joinType=[inner], ctx=[])
+                          OlapTableScan(table=[[DEFAULT, TEST_KYLIN_FACT]], ctx=[], fields=[[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38]])
+                          OlapTableScan(table=[[DEFAULT, TEST_ORDER]], ctx=[], fields=[[0, 1, 2, 3, 4]])
+                        OlapTableScan(table=[[EDW, TEST_CAL_DT]], ctx=[], fields=[[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99]])
+                      OlapTableScan(table=[[DEFAULT, TEST_CATEGORY_GROUPINGS]], ctx=[], fields=[[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35]])
+                    OlapTableScan(table=[[EDW, TEST_SITES]], ctx=[], fields=[[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]])
+                  OlapTableScan(table=[[EDW, TEST_SELLER_TYPE_DIM]], ctx=[], fields=[[0, 1, 2, 3, 4, 5, 6, 7, 8]])
+                OlapTableScan(table=[[DEFAULT, TEST_ACCOUNT]], ctx=[], fields=[[0, 1, 2, 3, 4]])
+              OlapTableScan(table=[[DEFAULT, TEST_ACCOUNT]], ctx=[], fields=[[0, 1, 2, 3, 4]])
+            OlapTableScan(table=[[DEFAULT, TEST_COUNTRY]], ctx=[], fields=[[0, 1, 2, 3]])
+          OlapTableScan(table=[[DEFAULT, TEST_COUNTRY]], ctx=[], fields=[[0, 1, 2, 3]])
 ]]>
         </Resource>
         <Resource name="query29.planAfter">
             <![CDATA[
-KapOLAPToEnumerableConverter
-  KapProjectRel(COL1=[$1], COL2=[$0], ctx=[])
-    KapAggregateRel(group-set=[[0]], groups=[null], AGG$0=[SUM($1)], ctx=[])
-      KapProjectRel($f0=[-($0, $1)], $f1=[CASE(=($2, 'ABIN'), $3, null)], ctx=[])
-        KapAggregateRel(group-set=[[0, 1, 2]], groups=[null], TOP_AGG$0=[SUM($3)], TOP_AGG$1=[SUM($4)], ctx=[])
-          KapProjectRel(SELLER_ID=[$0], BUYER_ID=[$1], LSTG_FORMAT_NAME=[$2], SUM_CASE$0$0=[$3], $f4=[*(0, $4)], ctx=[])
-            KapAggregateRel(group-set=[[0, 1, 2]], groups=[null], SUM_CASE$0$0=[SUM($3)], SUM_CONST$1=[COUNT()], ctx=[])
-              KapProjectRel(SELLER_ID=[$7], BUYER_ID=[$40], LSTG_FORMAT_NAME=[$3], PRICE=[$8], ctx=[])
-                KapJoinRel(condition=[=($207, $213)], joinType=[inner], ctx=[])
-                  KapJoinRel(condition=[=($202, $209)], joinType=[inner], ctx=[])
-                    KapJoinRel(condition=[=($40, $204)], joinType=[inner], ctx=[])
-                      KapJoinRel(condition=[=($7, $199)], joinType=[inner], ctx=[])
-                        KapJoinRel(condition=[=($6, $190)], joinType=[inner], ctx=[])
-                          KapJoinRel(condition=[=($5, $180)], joinType=[inner], ctx=[])
-                            KapJoinRel(condition=[AND(=($4, $144), =($5, $146))], joinType=[inner], ctx=[])
-                              KapJoinRel(condition=[=($2, $44)], joinType=[inner], ctx=[])
-                                KapJoinRel(condition=[=($1, $39)], joinType=[inner], ctx=[])
-                                  KapTableScan(table=[[DEFAULT, TEST_KYLIN_FACT]], ctx=[], fields=[[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38]])
-                                  KapTableScan(table=[[DEFAULT, TEST_ORDER]], ctx=[], fields=[[0, 1, 2, 3, 4]])
-                                KapTableScan(table=[[EDW, TEST_CAL_DT]], ctx=[], fields=[[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99]])
-                              KapTableScan(table=[[DEFAULT, TEST_CATEGORY_GROUPINGS]], ctx=[], fields=[[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35]])
-                            KapTableScan(table=[[EDW, TEST_SITES]], ctx=[], fields=[[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]])
-                          KapTableScan(table=[[EDW, TEST_SELLER_TYPE_DIM]], ctx=[], fields=[[0, 1, 2, 3, 4, 5, 6, 7, 8]])
-                        KapTableScan(table=[[DEFAULT, TEST_ACCOUNT]], ctx=[], fields=[[0, 1, 2, 3, 4]])
-                      KapTableScan(table=[[DEFAULT, TEST_ACCOUNT]], ctx=[], fields=[[0, 1, 2, 3, 4]])
-                    KapTableScan(table=[[DEFAULT, TEST_COUNTRY]], ctx=[], fields=[[0, 1, 2, 3]])
-                  KapTableScan(table=[[DEFAULT, TEST_COUNTRY]], ctx=[], fields=[[0, 1, 2, 3]])
+OlapToEnumerableConverter
+  OlapProjectRel(COL1=[$1], COL2=[$0], ctx=[])
+    OlapAggregateRel(group-set=[[0]], groups=[null], AGG$0=[SUM($1)], ctx=[])
+      OlapProjectRel($f0=[-($0, $1)], $f1=[CASE(=($2, 'ABIN'), $3, null)], ctx=[])
+        OlapAggregateRel(group-set=[[0, 1, 2]], groups=[null], TOP_AGG$0=[SUM($3)], TOP_AGG$1=[SUM($4)], ctx=[])
+          OlapProjectRel(SELLER_ID=[$0], BUYER_ID=[$1], LSTG_FORMAT_NAME=[$2], SUM_CASE$0$0=[$3], $f4=[*(0, $4)], ctx=[])
+            OlapAggregateRel(group-set=[[0, 1, 2]], groups=[null], SUM_CASE$0$0=[SUM($3)], SUM_CONST$1=[COUNT()], ctx=[])
+              OlapProjectRel(SELLER_ID=[$7], BUYER_ID=[$40], LSTG_FORMAT_NAME=[$3], PRICE=[$8], ctx=[])
+                OlapJoinRel(condition=[=($207, $213)], joinType=[inner], ctx=[])
+                  OlapJoinRel(condition=[=($202, $209)], joinType=[inner], ctx=[])
+                    OlapJoinRel(condition=[=($40, $204)], joinType=[inner], ctx=[])
+                      OlapJoinRel(condition=[=($7, $199)], joinType=[inner], ctx=[])
+                        OlapJoinRel(condition=[=($6, $190)], joinType=[inner], ctx=[])
+                          OlapJoinRel(condition=[=($5, $180)], joinType=[inner], ctx=[])
+                            OlapJoinRel(condition=[AND(=($4, $144), =($5, $146))], joinType=[inner], ctx=[])
+                              OlapJoinRel(condition=[=($2, $44)], joinType=[inner], ctx=[])
+                                OlapJoinRel(condition=[=($1, $39)], joinType=[inner], ctx=[])
+                                  OlapTableScan(table=[[DEFAULT, TEST_KYLIN_FACT]], ctx=[], fields=[[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38]])
+                                  OlapTableScan(table=[[DEFAULT, TEST_ORDER]], ctx=[], fields=[[0, 1, 2, 3, 4]])
+                                OlapTableScan(table=[[EDW, TEST_CAL_DT]], ctx=[], fields=[[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99]])
+                              OlapTableScan(table=[[DEFAULT, TEST_CATEGORY_GROUPINGS]], ctx=[], fields=[[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35]])
+                            OlapTableScan(table=[[EDW, TEST_SITES]], ctx=[], fields=[[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]])
+                          OlapTableScan(table=[[EDW, TEST_SELLER_TYPE_DIM]], ctx=[], fields=[[0, 1, 2, 3, 4, 5, 6, 7, 8]])
+                        OlapTableScan(table=[[DEFAULT, TEST_ACCOUNT]], ctx=[], fields=[[0, 1, 2, 3, 4]])
+                      OlapTableScan(table=[[DEFAULT, TEST_ACCOUNT]], ctx=[], fields=[[0, 1, 2, 3, 4]])
+                    OlapTableScan(table=[[DEFAULT, TEST_COUNTRY]], ctx=[], fields=[[0, 1, 2, 3]])
+                  OlapTableScan(table=[[DEFAULT, TEST_COUNTRY]], ctx=[], fields=[[0, 1, 2, 3]])
 ]]>
         </Resource>
         <Resource name="query30.planBefore">
             <![CDATA[
-KapOLAPToEnumerableConverter
-  KapProjectRel(COL1=[$1], COL2=[$0], ctx=[])
-    KapAggregateRel(group-set=[[0]], groups=[null], COL1=[SUM($1)], ctx=[])
-      KapProjectRel(COL2=[CASE(=($3, 'ABIN'), $7, null)], $f1=[CASE(=($3, 'ABIN'), $8, null)], ctx=[])
-        KapTableScan(table=[[DEFAULT, TEST_KYLIN_FACT]], ctx=[], fields=[[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38]])
+OlapToEnumerableConverter
+  OlapProjectRel(COL1=[$1], COL2=[$0], ctx=[])
+    OlapAggregateRel(group-set=[[0]], groups=[null], COL1=[SUM($1)], ctx=[])
+      OlapProjectRel(COL2=[CASE(=($3, 'ABIN'), $7, null)], $f1=[CASE(=($3, 'ABIN'), $8, null)], ctx=[])
+        OlapTableScan(table=[[DEFAULT, TEST_KYLIN_FACT]], ctx=[], fields=[[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38]])
 ]]>
         </Resource>
         <Resource name="query30.planAfter">
             <![CDATA[
-KapOLAPToEnumerableConverter
-  KapProjectRel(COL1=[$1], COL2=[$0], ctx=[])
-    KapAggregateRel(group-set=[[0]], groups=[null], AGG$0=[SUM($1)], ctx=[])
-      KapProjectRel($f0=[CASE(=($0, 'ABIN'), $1, null)], $f1=[CASE(=($2, 'ABIN'), $3, null)], ctx=[])
-        KapAggregateRel(group-set=[[0, 1, 2]], groups=[null], TOP_AGG$0=[SUM($3)], TOP_AGG$1=[SUM($4)], ctx=[])
-          KapProjectRel(LSTG_FORMAT_NAME=[$0], SELLER_ID=[$1], LSTG_FORMAT_NAME0=[$2], SUM_CASE$0$0=[$3], $f4=[*(0, $4)], ctx=[])
-            KapAggregateRel(group-set=[[0, 1, 2]], groups=[null], SUM_CASE$0$0=[SUM($3)], SUM_CONST$1=[COUNT()], ctx=[])
-              KapProjectRel(LSTG_FORMAT_NAME=[$3], SELLER_ID=[$7], LSTG_FORMAT_NAME0=[$3], PRICE=[$8], ctx=[])
-                KapTableScan(table=[[DEFAULT, TEST_KYLIN_FACT]], ctx=[], fields=[[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38]])
+OlapToEnumerableConverter
+  OlapProjectRel(COL1=[$1], COL2=[$0], ctx=[])
+    OlapAggregateRel(group-set=[[0]], groups=[null], AGG$0=[SUM($1)], ctx=[])
+      OlapProjectRel($f0=[CASE(=($0, 'ABIN'), $1, null)], $f1=[CASE(=($2, 'ABIN'), $3, null)], ctx=[])
+        OlapAggregateRel(group-set=[[0, 1, 2]], groups=[null], TOP_AGG$0=[SUM($3)], TOP_AGG$1=[SUM($4)], ctx=[])
+          OlapProjectRel(LSTG_FORMAT_NAME=[$0], SELLER_ID=[$1], LSTG_FORMAT_NAME0=[$2], SUM_CASE$0$0=[$3], $f4=[*(0, $4)], ctx=[])
+            OlapAggregateRel(group-set=[[0, 1, 2]], groups=[null], SUM_CASE$0$0=[SUM($3)], SUM_CONST$1=[COUNT()], ctx=[])
+              OlapProjectRel(LSTG_FORMAT_NAME=[$3], SELLER_ID=[$7], LSTG_FORMAT_NAME0=[$3], PRICE=[$8], ctx=[])
+                OlapTableScan(table=[[DEFAULT, TEST_KYLIN_FACT]], ctx=[], fields=[[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38]])
 ]]>
         </Resource>
         <Resource name="query31.planBefore">
             <![CDATA[
-KapOLAPToEnumerableConverter
-  KapAggregateRel(group-set=[[]], groups=[null], COL1=[COUNT($0)], COL2=[SUM($1)], ctx=[])
-    KapProjectRel(SLR_SEGMENT_CD=[$6], $f1=[CASE(AND(>=($2, 2011-10-01), <=($2, 2012-10-31)), $8, 0)], ctx=[])
-      KapFilterRel(condition=[=($3, 'FP-GTC')], ctx=[])
-        KapTableScan(table=[[DEFAULT, TEST_KYLIN_FACT]], ctx=[], fields=[[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38]])
+OlapToEnumerableConverter
+  OlapAggregateRel(group-set=[[]], groups=[null], COL1=[COUNT($0)], COL2=[SUM($1)], ctx=[])
+    OlapProjectRel(SLR_SEGMENT_CD=[$6], $f1=[CASE(AND(>=($2, 2011-10-01), <=($2, 2012-10-31)), $8, 0)], ctx=[])
+      OlapFilterRel(condition=[=($3, 'FP-GTC')], ctx=[])
+        OlapTableScan(table=[[DEFAULT, TEST_KYLIN_FACT]], ctx=[], fields=[[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38]])
 ]]>
         </Resource>
         <Resource name="query31.planAfter">
             <![CDATA[
-KapOLAPToEnumerableConverter
-  KapAggregateRel(group-set=[[]], groups=[null], AGG$0=[$SUM0($0)], AGG$1=[SUM($1)], ctx=[])
-    KapProjectRel(COL1=[$1], $f1=[CASE(AND(>=($0, 2011-10-01), <=($0, 2012-10-31)), $2, $3)], ctx=[])
-      KapAggregateRel(group-set=[[0]], groups=[null], TOP_AGG$0=[$SUM0($1)], TOP_AGG$1=[SUM($2)], TOP_AGG$2=[SUM($3)], ctx=[])
-        KapProjectRel(CAL_DT=[$0], COL1=[$1], SUM_CASE$0$0=[$2], $f3=[CAST(*(0, $3)):DECIMAL(19, 4) NOT NULL], ctx=[])
-          KapAggregateRel(group-set=[[0]], groups=[null], COL1=[COUNT($1)], SUM_CASE$0$0=[SUM($2)], SUM_CONST$2=[COUNT()], ctx=[])
-            KapProjectRel(CAL_DT=[$2], SLR_SEGMENT_CD=[$6], PRICE=[$8], ctx=[])
-              KapFilterRel(condition=[=($3, 'FP-GTC')], ctx=[])
-                KapTableScan(table=[[DEFAULT, TEST_KYLIN_FACT]], ctx=[], fields=[[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38]])
+OlapToEnumerableConverter
+  OlapAggregateRel(group-set=[[]], groups=[null], AGG$0=[$SUM0($0)], AGG$1=[SUM($1)], ctx=[])
+    OlapProjectRel(COL1=[$1], $f1=[CASE(AND(>=($0, 2011-10-01), <=($0, 2012-10-31)), $2, $3)], ctx=[])
+      OlapAggregateRel(group-set=[[0]], groups=[null], TOP_AGG$0=[$SUM0($1)], TOP_AGG$1=[SUM($2)], TOP_AGG$2=[SUM($3)], ctx=[])
+        OlapProjectRel(CAL_DT=[$0], COL1=[$1], SUM_CASE$0$0=[$2], $f3=[CAST(*(0, $3)):DECIMAL(19, 4) NOT NULL], ctx=[])
+          OlapAggregateRel(group-set=[[0]], groups=[null], COL1=[COUNT($1)], SUM_CASE$0$0=[SUM($2)], SUM_CONST$2=[COUNT()], ctx=[])
+            OlapProjectRel(CAL_DT=[$2], SLR_SEGMENT_CD=[$6], PRICE=[$8], ctx=[])
+              OlapFilterRel(condition=[=($3, 'FP-GTC')], ctx=[])
+                OlapTableScan(table=[[DEFAULT, TEST_KYLIN_FACT]], ctx=[], fields=[[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38]])
 ]]>
         </Resource>
         <Resource name="query32.planBefore">
             <![CDATA[
-KapOLAPToEnumerableConverter
-  KapAggregateRel(group-set=[[]], groups=[null], COL=[SUM($0)], ctx=[])
-    KapProjectRel($f0=[null], ctx=[])
-      KapFilterRel(condition=[=($3, 'FP-GTC')], ctx=[])
-        KapTableScan(table=[[DEFAULT, TEST_KYLIN_FACT]], ctx=[], fields=[[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38]])
+OlapToEnumerableConverter
+  OlapAggregateRel(group-set=[[]], groups=[null], COL=[SUM($0)], ctx=[])
+    OlapProjectRel($f0=[null], ctx=[])
+      OlapFilterRel(condition=[=($3, 'FP-GTC')], ctx=[])
+        OlapTableScan(table=[[DEFAULT, TEST_KYLIN_FACT]], ctx=[], fields=[[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38]])
 ]]>
         </Resource>
         <Resource name="query32.planAfter">
             <![CDATA[
-KapOLAPToEnumerableConverter
-  KapAggregateRel(group-set=[[]], groups=[null], TOP_AGG$0=[SUM($0)], ctx=[])
-    KapProjectRel($f0=[*(null, $0)], ctx=[])
-      KapAggregateRel(group-set=[[]], groups=[null], SUM_CONST$0=[COUNT()], ctx=[])
-        KapProjectRel(ctx=[])
-          KapFilterRel(condition=[=($3, 'FP-GTC')], ctx=[])
-            KapTableScan(table=[[DEFAULT, TEST_KYLIN_FACT]], ctx=[], fields=[[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38]])
+OlapToEnumerableConverter
+  OlapAggregateRel(group-set=[[]], groups=[null], TOP_AGG$0=[SUM($0)], ctx=[])
+    OlapProjectRel($f0=[*(null, $0)], ctx=[])
+      OlapAggregateRel(group-set=[[]], groups=[null], SUM_CONST$0=[COUNT()], ctx=[])
+        OlapProjectRel(ctx=[])
+          OlapFilterRel(condition=[=($3, 'FP-GTC')], ctx=[])
+            OlapTableScan(table=[[DEFAULT, TEST_KYLIN_FACT]], ctx=[], fields=[[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38]])
 ]]>
         </Resource>
         <Resource name="query33.planBefore">
             <![CDATA[
-KapOLAPToEnumerableConverter
-  KapAggregateRel(group-set=[[]], groups=[null], COL=[SUM($0)], ctx=[])
-    KapProjectRel($f0=[null], ctx=[])
-      KapFilterRel(condition=[=($3, 'FP-GTC')], ctx=[])
-        KapTableScan(table=[[DEFAULT, TEST_KYLIN_FACT]], ctx=[], fields=[[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38]])
+OlapToEnumerableConverter
+  OlapAggregateRel(group-set=[[]], groups=[null], COL=[SUM($0)], ctx=[])
+    OlapProjectRel($f0=[null], ctx=[])
+      OlapFilterRel(condition=[=($3, 'FP-GTC')], ctx=[])
+        OlapTableScan(table=[[DEFAULT, TEST_KYLIN_FACT]], ctx=[], fields=[[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38]])
 ]]>
         </Resource>
         <Resource name="query33.planAfter">
             <![CDATA[
-KapOLAPToEnumerableConverter
-  KapAggregateRel(group-set=[[]], groups=[null], TOP_AGG$0=[SUM($0)], ctx=[])
-    KapProjectRel($f0=[CAST(*(null, $0)):DECIMAL(19, 4)], ctx=[])
-      KapAggregateRel(group-set=[[]], groups=[null], SUM_CONST$0=[COUNT()], ctx=[])
-        KapProjectRel(ctx=[])
-          KapFilterRel(condition=[=($3, 'FP-GTC')], ctx=[])
-            KapTableScan(table=[[DEFAULT, TEST_KYLIN_FACT]], ctx=[], fields=[[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38]])
+OlapToEnumerableConverter
+  OlapAggregateRel(group-set=[[]], groups=[null], TOP_AGG$0=[SUM($0)], ctx=[])
+    OlapProjectRel($f0=[CAST(*(null, $0)):DECIMAL(19, 4)], ctx=[])
+      OlapAggregateRel(group-set=[[]], groups=[null], SUM_CONST$0=[COUNT()], ctx=[])
+        OlapProjectRel(ctx=[])
+          OlapFilterRel(condition=[=($3, 'FP-GTC')], ctx=[])
+            OlapTableScan(table=[[DEFAULT, TEST_KYLIN_FACT]], ctx=[], fields=[[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38]])
 ]]>
         </Resource>
         <Resource name="query34.planBefore">
             <![CDATA[
-KapOLAPToEnumerableConverter
-  KapAggregateRel(group-set=[[]], groups=[null], COL=[SUM($0)], ctx=[])
-    KapProjectRel($f0=[CASE(<=(EXTRACT(FLAG(YEAR), $2), 2013), CASE(>($8, 0), $8, null), null)], ctx=[])
-      KapFilterRel(condition=[=($3, 'FP-GTC')], ctx=[])
-        KapTableScan(table=[[DEFAULT, TEST_KYLIN_FACT]], ctx=[], fields=[[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38]])
+OlapToEnumerableConverter
+  OlapAggregateRel(group-set=[[]], groups=[null], COL=[SUM($0)], ctx=[])
+    OlapProjectRel($f0=[CASE(<=(EXTRACT(FLAG(YEAR), $2), 2013), CASE(>($8, 0), $8, null), null)], ctx=[])
+      OlapFilterRel(condition=[=($3, 'FP-GTC')], ctx=[])
+        OlapTableScan(table=[[DEFAULT, TEST_KYLIN_FACT]], ctx=[], fields=[[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38]])
 ]]>
         </Resource>
         <Resource name="query34.planAfter">
             <![CDATA[
-KapOLAPToEnumerableConverter
-  KapAggregateRel(group-set=[[]], groups=[null], AGG$0=[SUM($0)], ctx=[])
-    KapProjectRel($f0=[CASE(<=(EXTRACT(FLAG(YEAR), $0), 2013), $1, null)], ctx=[])
-      KapAggregateRel(group-set=[[0]], groups=[null], AGG$0=[SUM($1)], AGG$1=[SUM($2)], ctx=[])
-        KapProjectRel(CAL_DT=[$0], $f1=[CASE(>($1, 0), $3, null)], SUM_CASE$0$1=[$2], ctx=[])
-          KapAggregateRel(group-set=[[0, 1]], groups=[null], TOP_AGG$0=[SUM($2)], TOP_AGG$1=[SUM($3)], TOP_AGG$2=[SUM($4)], ctx=[])
-            KapProjectRel(CAL_DT=[$0], PRICE=[$1], $f2=[*(0, $2)], SUM_CASE$0$0=[$3], $f4=[*(0, $4)], ctx=[])
-              KapAggregateRel(group-set=[[0, 1]], groups=[null], SUM_CONST$0=[COUNT()], SUM_CASE$0$0=[SUM($2)], SUM_CONST$2=[COUNT()], ctx=[])
-                KapProjectRel(CAL_DT=[$2], PRICE=[$8], PRICE0=[$8], ctx=[])
-                  KapFilterRel(condition=[=($3, 'FP-GTC')], ctx=[])
-                    KapTableScan(table=[[DEFAULT, TEST_KYLIN_FACT]], ctx=[], fields=[[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38]])
+OlapToEnumerableConverter
+  OlapAggregateRel(group-set=[[]], groups=[null], AGG$0=[SUM($0)], ctx=[])
+    OlapProjectRel($f0=[CASE(<=(EXTRACT(FLAG(YEAR), $0), 2013), $1, null)], ctx=[])
+      OlapAggregateRel(group-set=[[0]], groups=[null], AGG$0=[SUM($1)], AGG$1=[SUM($2)], ctx=[])
+        OlapProjectRel(CAL_DT=[$0], $f1=[CASE(>($1, 0), $3, null)], SUM_CASE$0$1=[$2], ctx=[])
+          OlapAggregateRel(group-set=[[0, 1]], groups=[null], TOP_AGG$0=[SUM($2)], TOP_AGG$1=[SUM($3)], TOP_AGG$2=[SUM($4)], ctx=[])
+            OlapProjectRel(CAL_DT=[$0], PRICE=[$1], $f2=[*(0, $2)], SUM_CASE$0$0=[$3], $f4=[*(0, $4)], ctx=[])
+              OlapAggregateRel(group-set=[[0, 1]], groups=[null], SUM_CONST$0=[COUNT()], SUM_CASE$0$0=[SUM($2)], SUM_CONST$2=[COUNT()], ctx=[])
+                OlapProjectRel(CAL_DT=[$2], PRICE=[$8], PRICE0=[$8], ctx=[])
+                  OlapFilterRel(condition=[=($3, 'FP-GTC')], ctx=[])
+                    OlapTableScan(table=[[DEFAULT, TEST_KYLIN_FACT]], ctx=[], fields=[[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38]])
 ]]>
         </Resource>
         <Resource name="query35.planBefore">
             <![CDATA[
-KapOLAPToEnumerableConverter
-  KapAggregateRel(group-set=[[]], groups=[null], COL1=[COUNT()], COL2=[SUM($0)], ctx=[])
-    KapProjectRel($f0=[CASE(=($2, 2012-01-01), $8, 1)], ctx=[])
-      KapFilterRel(condition=[=($3, 'FP-GTC')], ctx=[])
-        KapTableScan(table=[[DEFAULT, TEST_KYLIN_FACT]], ctx=[], fields=[[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38]])
+OlapToEnumerableConverter
+  OlapAggregateRel(group-set=[[]], groups=[null], COL1=[COUNT()], COL2=[SUM($0)], ctx=[])
+    OlapProjectRel($f0=[CASE(=($2, 2012-01-01), $8, 1)], ctx=[])
+      OlapFilterRel(condition=[=($3, 'FP-GTC')], ctx=[])
+        OlapTableScan(table=[[DEFAULT, TEST_KYLIN_FACT]], ctx=[], fields=[[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38]])
 ]]>
         </Resource>
         <Resource name="query35.planAfter">
             <![CDATA[
-KapOLAPToEnumerableConverter
-  KapAggregateRel(group-set=[[]], groups=[null], AGG$0=[$SUM0($0)], AGG$1=[SUM($1)], ctx=[])
-    KapProjectRel(COL1=[$1], $f1=[CASE(=($0, 2012-01-01), $2, $3)], ctx=[])
-      KapAggregateRel(group-set=[[0]], groups=[null], TOP_AGG$0=[$SUM0($1)], TOP_AGG$1=[SUM($2)], TOP_AGG$2=[SUM($3)], ctx=[])
-        KapProjectRel(CAL_DT=[$0], COL1=[$1], SUM_CASE$0$0=[$2], $f3=[CAST(*(1, $3)):DECIMAL(19, 4) NOT NULL], ctx=[])
-          KapAggregateRel(group-set=[[0]], groups=[null], COL1=[COUNT()], SUM_CASE$0$0=[SUM($1)], SUM_CONST$2=[COUNT()], ctx=[])
-            KapProjectRel(CAL_DT=[$2], PRICE=[$8], ctx=[])
-              KapFilterRel(condition=[=($3, 'FP-GTC')], ctx=[])
-                KapTableScan(table=[[DEFAULT, TEST_KYLIN_FACT]], ctx=[], fields=[[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38]])
+OlapToEnumerableConverter
+  OlapAggregateRel(group-set=[[]], groups=[null], AGG$0=[$SUM0($0)], AGG$1=[SUM($1)], ctx=[])
+    OlapProjectRel(COL1=[$1], $f1=[CASE(=($0, 2012-01-01), $2, $3)], ctx=[])
+      OlapAggregateRel(group-set=[[0]], groups=[null], TOP_AGG$0=[$SUM0($1)], TOP_AGG$1=[SUM($2)], TOP_AGG$2=[SUM($3)], ctx=[])
+        OlapProjectRel(CAL_DT=[$0], COL1=[$1], SUM_CASE$0$0=[$2], $f3=[CAST(*(1, $3)):DECIMAL(19, 4) NOT NULL], ctx=[])
+          OlapAggregateRel(group-set=[[0]], groups=[null], COL1=[COUNT()], SUM_CASE$0$0=[SUM($1)], SUM_CONST$2=[COUNT()], ctx=[])
+            OlapProjectRel(CAL_DT=[$2], PRICE=[$8], ctx=[])
+              OlapFilterRel(condition=[=($3, 'FP-GTC')], ctx=[])
+                OlapTableScan(table=[[DEFAULT, TEST_KYLIN_FACT]], ctx=[], fields=[[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38]])
 ]]>
         </Resource>
         <Resource name="query36.planBefore">
             <![CDATA[
-KapOLAPToEnumerableConverter
-  KapAggregateRel(group-set=[[]], groups=[null], AAA=[SUM($0)], ctx=[])
-    KapProjectRel($f0=[CASE(>=($2, 2012-01-01), *($8, 1), null)], ctx=[])
-      KapFilterRel(condition=[AND(>=($2, 2012-01-01), <($2, 2012-05-01))], ctx=[])
-        KapTableScan(table=[[DEFAULT, TEST_KYLIN_FACT]], ctx=[], fields=[[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38]])
+OlapToEnumerableConverter
+  OlapAggregateRel(group-set=[[]], groups=[null], AAA=[SUM($0)], ctx=[])
+    OlapProjectRel($f0=[CASE(>=($2, 2012-01-01), *($8, 1), null)], ctx=[])
+      OlapFilterRel(condition=[AND(>=($2, 2012-01-01), <($2, 2012-05-01))], ctx=[])
+        OlapTableScan(table=[[DEFAULT, TEST_KYLIN_FACT]], ctx=[], fields=[[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38]])
 ]]>
         </Resource>
         <Resource name="query36.planAfter">
             <![CDATA[
-KapOLAPToEnumerableConverter
-  KapAggregateRel(group-set=[[]], groups=[null], AGG$0=[SUM($0)], ctx=[])
-    KapProjectRel($f0=[CASE(>=($0, 2012-01-01), $1, null)], ctx=[])
-      KapAggregateRel(group-set=[[0]], groups=[null], AGG$0=[SUM($1)], AGG$1=[SUM($2)], ctx=[])
-        KapProjectRel(CAL_DT=[$0], $f1=[*($1, 1)], SUM_CASE$0$1=[$2], ctx=[])
-          KapAggregateRel(group-set=[[0]], groups=[null], TOP_AGG$0=[SUM($1)], TOP_AGG$1=[SUM($2)], ctx=[])
-            KapProjectRel(CAL_DT=[$0], SUM_OP$0=[$1], $f2=[*(0, $2)], ctx=[])
-              KapAggregateRel(group-set=[[0]], groups=[null], SUM_OP$0=[SUM($1)], SUM_CONST$1=[COUNT()], ctx=[])
-                KapProjectRel(CAL_DT=[$2], PRICE=[$8], ctx=[])
-                  KapFilterRel(condition=[AND(>=($2, 2012-01-01), <($2, 2012-05-01))], ctx=[])
-                    KapTableScan(table=[[DEFAULT, TEST_KYLIN_FACT]], ctx=[], fields=[[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38]])
+OlapToEnumerableConverter
+  OlapAggregateRel(group-set=[[]], groups=[null], AGG$0=[SUM($0)], ctx=[])
+    OlapProjectRel($f0=[CASE(>=($0, 2012-01-01), $1, null)], ctx=[])
+      OlapAggregateRel(group-set=[[0]], groups=[null], AGG$0=[SUM($1)], AGG$1=[SUM($2)], ctx=[])
+        OlapProjectRel(CAL_DT=[$0], $f1=[*($1, 1)], SUM_CASE$0$1=[$2], ctx=[])
+          OlapAggregateRel(group-set=[[0]], groups=[null], TOP_AGG$0=[SUM($1)], TOP_AGG$1=[SUM($2)], ctx=[])
+            OlapProjectRel(CAL_DT=[$0], SUM_OP$0=[$1], $f2=[*(0, $2)], ctx=[])
+              OlapAggregateRel(group-set=[[0]], groups=[null], SUM_OP$0=[SUM($1)], SUM_CONST$1=[COUNT()], ctx=[])
+                OlapProjectRel(CAL_DT=[$2], PRICE=[$8], ctx=[])
+                  OlapFilterRel(condition=[AND(>=($2, 2012-01-01), <($2, 2012-05-01))], ctx=[])
+                    OlapTableScan(table=[[DEFAULT, TEST_KYLIN_FACT]], ctx=[], fields=[[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38]])
 ]]>
         </Resource>
         <Resource name="query37.planBefore">
             <![CDATA[
-KapOLAPToEnumerableConverter
-  KapProjectRel(COL1=[$0], COL92=[/($1, $2)], COL3=[ROUND(CAST(/($3, $4)):DECIMAL(33, 8), 4)], ctx=[])
-    KapAggregateRel(group-set=[[0]], groups=[null], agg#0=[SUM($1)], agg#1=[COUNT()], agg#2=[SUM($2)], agg#3=[COUNT($2)], ctx=[])
-      KapProjectRel(COL1=[$44], $f1=[CASE(=($3, 'ABIN'), 0, 1)], $f2=[CASE(AND(=(EXTRACT(FLAG(YEAR), $44), 2012), =(EXTRACT(FLAG(MONTH), $44), 3), <=($44, 2012-03-13)), *($8, 2), OR(<>(EXTRACT(FLAG(YEAR), $44), 2012), <>(EXTRACT(FLAG(MONTH), $44), 3), >($44, 2012-03-13)), 1, null)], ctx=[])
-        KapJoinRel(condition=[=($207, $213)], joinType=[inner], ctx=[])
-          KapJoinRel(condition=[=($202, $209)], joinType=[inner], ctx=[])
-            KapJoinRel(condition=[=($40, $204)], joinType=[inner], ctx=[])
-              KapJoinRel(condition=[=($7, $199)], joinType=[inner], ctx=[])
-                KapJoinRel(condition=[=($6, $190)], joinType=[inner], ctx=[])
-                  KapJoinRel(condition=[=($5, $180)], joinType=[inner], ctx=[])
-                    KapJoinRel(condition=[AND(=($4, $144), =($5, $146))], joinType=[inner], ctx=[])
-                      KapJoinRel(condition=[=($2, $44)], joinType=[inner], ctx=[])
-                        KapJoinRel(condition=[=($1, $39)], joinType=[inner], ctx=[])
-                          KapTableScan(table=[[DEFAULT, TEST_KYLIN_FACT]], ctx=[], fields=[[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38]])
-                          KapTableScan(table=[[DEFAULT, TEST_ORDER]], ctx=[], fields=[[0, 1, 2, 3, 4]])
-                        KapTableScan(table=[[EDW, TEST_CAL_DT]], ctx=[], fields=[[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99]])
-                      KapTableScan(table=[[DEFAULT, TEST_CATEGORY_GROUPINGS]], ctx=[], fields=[[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35]])
-                    KapTableScan(table=[[EDW, TEST_SITES]], ctx=[], fields=[[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]])
-                  KapTableScan(table=[[EDW, TEST_SELLER_TYPE_DIM]], ctx=[], fields=[[0, 1, 2, 3, 4, 5, 6, 7, 8]])
-                KapTableScan(table=[[DEFAULT, TEST_ACCOUNT]], ctx=[], fields=[[0, 1, 2, 3, 4]])
-              KapTableScan(table=[[DEFAULT, TEST_ACCOUNT]], ctx=[], fields=[[0, 1, 2, 3, 4]])
-            KapTableScan(table=[[DEFAULT, TEST_COUNTRY]], ctx=[], fields=[[0, 1, 2, 3]])
-          KapTableScan(table=[[DEFAULT, TEST_COUNTRY]], ctx=[], fields=[[0, 1, 2, 3]])
+OlapToEnumerableConverter
+  OlapProjectRel(COL1=[$0], COL92=[/($1, $2)], COL3=[ROUND(CAST(/($3, $4)):DECIMAL(33, 8), 4)], ctx=[])
+    OlapAggregateRel(group-set=[[0]], groups=[null], agg#0=[SUM($1)], agg#1=[COUNT()], agg#2=[SUM($2)], agg#3=[COUNT($2)], ctx=[])
+      OlapProjectRel(COL1=[$44], $f1=[CASE(=($3, 'ABIN'), 0, 1)], $f2=[CASE(AND(=(EXTRACT(FLAG(YEAR), $44), 2012), =(EXTRACT(FLAG(MONTH), $44), 3), <=($44, 2012-03-13)), *($8, 2), OR(<>(EXTRACT(FLAG(YEAR), $44), 2012), <>(EXTRACT(FLAG(MONTH), $44), 3), >($44, 2012-03-13)), 1, null)], ctx=[])
+        OlapJoinRel(condition=[=($207, $213)], joinType=[inner], ctx=[])
+          OlapJoinRel(condition=[=($202, $209)], joinType=[inner], ctx=[])
+            OlapJoinRel(condition=[=($40, $204)], joinType=[inner], ctx=[])
+              OlapJoinRel(condition=[=($7, $199)], joinType=[inner], ctx=[])
+                OlapJoinRel(condition=[=($6, $190)], joinType=[inner], ctx=[])
+                  OlapJoinRel(condition=[=($5, $180)], joinType=[inner], ctx=[])
+                    OlapJoinRel(condition=[AND(=($4, $144), =($5, $146))], joinType=[inner], ctx=[])
+                      OlapJoinRel(condition=[=($2, $44)], joinType=[inner], ctx=[])
+                        OlapJoinRel(condition=[=($1, $39)], joinType=[inner], ctx=[])
+                          OlapTableScan(table=[[DEFAULT, TEST_KYLIN_FACT]], ctx=[], fields=[[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38]])
+                          OlapTableScan(table=[[DEFAULT, TEST_ORDER]], ctx=[], fields=[[0, 1, 2, 3, 4]])
+                        OlapTableScan(table=[[EDW, TEST_CAL_DT]], ctx=[], fields=[[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99]])
+                      OlapTableScan(table=[[DEFAULT, TEST_CATEGORY_GROUPINGS]], ctx=[], fields=[[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35]])
+                    OlapTableScan(table=[[EDW, TEST_SITES]], ctx=[], fields=[[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]])
+                  OlapTableScan(table=[[EDW, TEST_SELLER_TYPE_DIM]], ctx=[], fields=[[0, 1, 2, 3, 4, 5, 6, 7, 8]])
+                OlapTableScan(table=[[DEFAULT, TEST_ACCOUNT]], ctx=[], fields=[[0, 1, 2, 3, 4]])
+              OlapTableScan(table=[[DEFAULT, TEST_ACCOUNT]], ctx=[], fields=[[0, 1, 2, 3, 4]])
+            OlapTableScan(table=[[DEFAULT, TEST_COUNTRY]], ctx=[], fields=[[0, 1, 2, 3]])
+          OlapTableScan(table=[[DEFAULT, TEST_COUNTRY]], ctx=[], fields=[[0, 1, 2, 3]])
 ]]>
         </Resource>
         <Resource name="query37.planAfter">
             <![CDATA[
-KapOLAPToEnumerableConverter
-  KapProjectRel(COL1=[$0], COL92=[/($1, $2)], COL3=[ROUND(CAST(/($3, $4)):DECIMAL(33, 8), 4)], ctx=[])
-    KapAggregateRel(group-set=[[0]], groups=[null], AGG$0=[SUM($1)], AGG$1=[$SUM0($2)], AGG$2=[SUM($3)], AGG$3=[$SUM0($4)], ctx=[])
-      KapProjectRel(CAL_DT0=[$0], $f1=[CASE(=($1, 'ABIN'), $5, $6)], $f3=[$3], $f34=[CASE(AND(=(EXTRACT(FLAG(YEAR), $2), 2012), =(EXTRACT(FLAG(MONTH), $2), 3), <=($2, 2012-03-13)), $7, OR(<>(EXTRACT(FLAG(YEAR), $2), 2012), <>(EXTRACT(FLAG(MONTH), $2), 3), >($2, 2012-03-13)), $8, null)], $f4=[$4], ctx=[])
-        KapAggregateRel(group-set=[[0, 1, 2]], groups=[null], AGG$0=[SUM($3)], AGG$1=[SUM($4)], AGG$2=[SUM($5)], AGG$3=[SUM($6)], AGG$4=[SUM($7)], AGG$5=[SUM($8)], AGG$6=[SUM($9)], ctx=[])
-          KapProjectRel(CAL_DT0=[$0], LSTG_FORMAT_NAME=[$1], CAL_DT00=[$2], $f3=[$3], $f4=[$4], SUM_CASE$0$0=[$5], SUM_CASE$0$1=[$6], $f7=[*($7, 2)], SUM_CASE$1$1=[$8], SUM_CASE$1$2=[$9], ctx=[])
-            KapAggregateRel(group-set=[[0, 1, 2]], groups=[null], TOP_AGG$0=[$SUM0($3)], TOP_AGG$1=[$SUM0($4)], TOP_AGG$2=[SUM($5)], TOP_AGG$3=[SUM($6)], TOP_AGG$4=[SUM($7)], TOP_AGG$5=[SUM($8)], TOP_AGG$6=[SUM($9)], ctx=[])
-              KapProjectRel(CAL_DT0=[$0], LSTG_FORMAT_NAME=[$1], CAL_DT00=[$2], $f3=[$3], $f4=[$4], $f5=[*(0, $5)], $f6=[*(1, $6)], SUM_OP$0=[$7], $f8=[CAST(*(1, $8)):DECIMAL(29, 4) NOT NULL], $f9=[*(0, $9)], ctx=[])
-                KapAggregateRel(group-set=[[0, 1, 2]], groups=[null], agg#0=[COUNT()], agg#1=[COUNT($3)], SUM_CONST$2=[COUNT()], SUM_CONST$3=[COUNT()], SUM_OP$0=[SUM($4)], SUM_CONST$5=[COUNT()], SUM_CONST$6=[COUNT()], ctx=[])
-                  KapProjectRel(CAL_DT0=[$44], LSTG_FORMAT_NAME=[$3], CAL_DT00=[$44], $f3=[CASE(AND(=(EXTRACT(FLAG(YEAR), $44), 2012), =(EXTRACT(FLAG(MONTH), $44), 3), <=($44, 2012-03-13)), *($8, 2), OR(<>(EXTRACT(FLAG(YEAR), $44), 2012), <>(EXTRACT(FLAG(MONTH), $44), 3), >($44, 2012-03-13)), 1, null)], PRICE=[$8], ctx=[])
-                    KapJoinRel(condition=[=($207, $213)], joinType=[inner], ctx=[])
-                      KapJoinRel(condition=[=($202, $209)], joinType=[inner], ctx=[])
-                        KapJoinRel(condition=[=($40, $204)], joinType=[inner], ctx=[])
-                          KapJoinRel(condition=[=($7, $199)], joinType=[inner], ctx=[])
-                            KapJoinRel(condition=[=($6, $190)], joinType=[inner], ctx=[])
-                              KapJoinRel(condition=[=($5, $180)], joinType=[inner], ctx=[])
-                                KapJoinRel(condition=[AND(=($4, $144), =($5, $146))], joinType=[inner], ctx=[])
-                                  KapJoinRel(condition=[=($2, $44)], joinType=[inner], ctx=[])
-                                    KapJoinRel(condition=[=($1, $39)], joinType=[inner], ctx=[])
-                                      KapTableScan(table=[[DEFAULT, TEST_KYLIN_FACT]], ctx=[], fields=[[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38]])
-                                      KapTableScan(table=[[DEFAULT, TEST_ORDER]], ctx=[], fields=[[0, 1, 2, 3, 4]])
-                                    KapTableScan(table=[[EDW, TEST_CAL_DT]], ctx=[], fields=[[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99]])
-                                  KapTableScan(table=[[DEFAULT, TEST_CATEGORY_GROUPINGS]], ctx=[], fields=[[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35]])
-                                KapTableScan(table=[[EDW, TEST_SITES]], ctx=[], fields=[[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]])
-                              KapTableScan(table=[[EDW, TEST_SELLER_TYPE_DIM]], ctx=[], fields=[[0, 1, 2, 3, 4, 5, 6, 7, 8]])
-                            KapTableScan(table=[[DEFAULT, TEST_ACCOUNT]], ctx=[], fields=[[0, 1, 2, 3, 4]])
-                          KapTableScan(table=[[DEFAULT, TEST_ACCOUNT]], ctx=[], fields=[[0, 1, 2, 3, 4]])
-                        KapTableScan(table=[[DEFAULT, TEST_COUNTRY]], ctx=[], fields=[[0, 1, 2, 3]])
-                      KapTableScan(table=[[DEFAULT, TEST_COUNTRY]], ctx=[], fields=[[0, 1, 2, 3]])
+OlapToEnumerableConverter
+  OlapProjectRel(COL1=[$0], COL92=[/($1, $2)], COL3=[ROUND(CAST(/($3, $4)):DECIMAL(33, 8), 4)], ctx=[])
+    OlapAggregateRel(group-set=[[0]], groups=[null], AGG$0=[SUM($1)], AGG$1=[$SUM0($2)], AGG$2=[SUM($3)], AGG$3=[$SUM0($4)], ctx=[])
+      OlapProjectRel(CAL_DT0=[$0], $f1=[CASE(=($1, 'ABIN'), $5, $6)], $f3=[$3], $f34=[CASE(AND(=(EXTRACT(FLAG(YEAR), $2), 2012), =(EXTRACT(FLAG(MONTH), $2), 3), <=($2, 2012-03-13)), $7, OR(<>(EXTRACT(FLAG(YEAR), $2), 2012), <>(EXTRACT(FLAG(MONTH), $2), 3), >($2, 2012-03-13)), $8, null)], $f4=[$4], ctx=[])
+        OlapAggregateRel(group-set=[[0, 1, 2]], groups=[null], AGG$0=[SUM($3)], AGG$1=[SUM($4)], AGG$2=[SUM($5)], AGG$3=[SUM($6)], AGG$4=[SUM($7)], AGG$5=[SUM($8)], AGG$6=[SUM($9)], ctx=[])
+          OlapProjectRel(CAL_DT0=[$0], LSTG_FORMAT_NAME=[$1], CAL_DT00=[$2], $f3=[$3], $f4=[$4], SUM_CASE$0$0=[$5], SUM_CASE$0$1=[$6], $f7=[*($7, 2)], SUM_CASE$1$1=[$8], SUM_CASE$1$2=[$9], ctx=[])
+            OlapAggregateRel(group-set=[[0, 1, 2]], groups=[null], TOP_AGG$0=[$SUM0($3)], TOP_AGG$1=[$SUM0($4)], TOP_AGG$2=[SUM($5)], TOP_AGG$3=[SUM($6)], TOP_AGG$4=[SUM($7)], TOP_AGG$5=[SUM($8)], TOP_AGG$6=[SUM($9)], ctx=[])
+              OlapProjectRel(CAL_DT0=[$0], LSTG_FORMAT_NAME=[$1], CAL_DT00=[$2], $f3=[$3], $f4=[$4], $f5=[*(0, $5)], $f6=[*(1, $6)], SUM_OP$0=[$7], $f8=[CAST(*(1, $8)):DECIMAL(29, 4) NOT NULL], $f9=[*(0, $9)], ctx=[])
+                OlapAggregateRel(group-set=[[0, 1, 2]], groups=[null], agg#0=[COUNT()], agg#1=[COUNT($3)], SUM_CONST$2=[COUNT()], SUM_CONST$3=[COUNT()], SUM_OP$0=[SUM($4)], SUM_CONST$5=[COUNT()], SUM_CONST$6=[COUNT()], ctx=[])
+                  OlapProjectRel(CAL_DT0=[$44], LSTG_FORMAT_NAME=[$3], CAL_DT00=[$44], $f3=[CASE(AND(=(EXTRACT(FLAG(YEAR), $44), 2012), =(EXTRACT(FLAG(MONTH), $44), 3), <=($44, 2012-03-13)), *($8, 2), OR(<>(EXTRACT(FLAG(YEAR), $44), 2012), <>(EXTRACT(FLAG(MONTH), $44), 3), >($44, 2012-03-13)), 1, null)], PRICE=[$8], ctx=[])
+                    OlapJoinRel(condition=[=($207, $213)], joinType=[inner], ctx=[])
+                      OlapJoinRel(condition=[=($202, $209)], joinType=[inner], ctx=[])
+                        OlapJoinRel(condition=[=($40, $204)], joinType=[inner], ctx=[])
+                          OlapJoinRel(condition=[=($7, $199)], joinType=[inner], ctx=[])
+                            OlapJoinRel(condition=[=($6, $190)], joinType=[inner], ctx=[])
+                              OlapJoinRel(condition=[=($5, $180)], joinType=[inner], ctx=[])
+                                OlapJoinRel(condition=[AND(=($4, $144), =($5, $146))], joinType=[inner], ctx=[])
+                                  OlapJoinRel(condition=[=($2, $44)], joinType=[inner], ctx=[])
+                                    OlapJoinRel(condition=[=($1, $39)], joinType=[inner], ctx=[])
+                                      OlapTableScan(table=[[DEFAULT, TEST_KYLIN_FACT]], ctx=[], fields=[[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38]])
+                                      OlapTableScan(table=[[DEFAULT, TEST_ORDER]], ctx=[], fields=[[0, 1, 2, 3, 4]])
+                                    OlapTableScan(table=[[EDW, TEST_CAL_DT]], ctx=[], fields=[[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99]])
+                                  OlapTableScan(table=[[DEFAULT, TEST_CATEGORY_GROUPINGS]], ctx=[], fields=[[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35]])
+                                OlapTableScan(table=[[EDW, TEST_SITES]], ctx=[], fields=[[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]])
+                              OlapTableScan(table=[[EDW, TEST_SELLER_TYPE_DIM]], ctx=[], fields=[[0, 1, 2, 3, 4, 5, 6, 7, 8]])
+                            OlapTableScan(table=[[DEFAULT, TEST_ACCOUNT]], ctx=[], fields=[[0, 1, 2, 3, 4]])
+                          OlapTableScan(table=[[DEFAULT, TEST_ACCOUNT]], ctx=[], fields=[[0, 1, 2, 3, 4]])
+                        OlapTableScan(table=[[DEFAULT, TEST_COUNTRY]], ctx=[], fields=[[0, 1, 2, 3]])
+                      OlapTableScan(table=[[DEFAULT, TEST_COUNTRY]], ctx=[], fields=[[0, 1, 2, 3]])
 ]]>
         </Resource>
         <Resource name="query39.planBefore">
             <![CDATA[
-KapOLAPToEnumerableConverter
-  KapProjectRel(EXPR$0=[$2], EXPR$1=[$3], EXPR$2=[$4], EXPR$3=[$5], EXPR$4=[$6], ACCOUNT_COUNTRY=[$1], LSTG_FORMAT_NAME=[$0], ctx=[])
-    KapAggregateRel(group-set=[[0, 1]], groups=[null], EXPR$0=[COUNT()], EXPR$1=[SUM($2)], EXPR$2=[COUNT(DISTINCT $3)], EXPR$3=[COUNT(DISTINCT $4)], EXPR$4=[SUM($4)], ctx=[])
-      KapProjectRel(LSTG_FORMAT_NAME=[$3], ACCOUNT_COUNTRY=[$42], $f3=[CASE(=($3, 'ABIN'), $8, 2)], SELLER_ID=[$7], ACCOUNT_ID=[$39], ctx=[])
-        KapJoinRel(condition=[=($7, $39)], joinType=[left], ctx=[])
-          KapTableScan(table=[[DEFAULT, TEST_KYLIN_FACT]], ctx=[], fields=[[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38]])
-          KapTableScan(table=[[DEFAULT, TEST_ACCOUNT]], ctx=[], fields=[[0, 1, 2, 3, 4]])
+OlapToEnumerableConverter
+  OlapProjectRel(EXPR$0=[$2], EXPR$1=[$3], EXPR$2=[$4], EXPR$3=[$5], EXPR$4=[$6], ACCOUNT_COUNTRY=[$1], LSTG_FORMAT_NAME=[$0], ctx=[])
+    OlapAggregateRel(group-set=[[0, 1]], groups=[null], EXPR$0=[COUNT()], EXPR$1=[SUM($2)], EXPR$2=[COUNT(DISTINCT $3)], EXPR$3=[COUNT(DISTINCT $4)], EXPR$4=[SUM($4)], ctx=[])
+      OlapProjectRel(LSTG_FORMAT_NAME=[$3], ACCOUNT_COUNTRY=[$42], $f3=[CASE(=($3, 'ABIN'), $8, 2)], SELLER_ID=[$7], ACCOUNT_ID=[$39], ctx=[])
+        OlapJoinRel(condition=[=($7, $39)], joinType=[left], ctx=[])
+          OlapTableScan(table=[[DEFAULT, TEST_KYLIN_FACT]], ctx=[], fields=[[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38]])
+          OlapTableScan(table=[[DEFAULT, TEST_ACCOUNT]], ctx=[], fields=[[0, 1, 2, 3, 4]])
 ]]>
         </Resource>
         <Resource name="query39.planAfter">
             <![CDATA[
-KapOLAPToEnumerableConverter
-  KapProjectRel(EXPR$0=[$2], EXPR$1=[$3], EXPR$2=[$4], EXPR$3=[$5], EXPR$4=[$6], ACCOUNT_COUNTRY=[$1], LSTG_FORMAT_NAME=[$0], ctx=[])
-    KapProjectRel(LSTG_FORMAT_NAME=[$0], ACCOUNT_COUNTRY=[$1], AGG$0=[$6], AGG$1=[$7], EXPR$2=[$2], EXPR$3=[$3], AGG$2=[$8], ctx=[])
-      KapJoinRel(condition=[AND(=($0, $4), =($1, $5))], joinType=[inner], ctx=[])
-        KapAggregateRel(group-set=[[0, 1]], groups=[null], EXPR$2=[COUNT(DISTINCT $3)], EXPR$3=[COUNT(DISTINCT $4)], ctx=[])
-          KapProjectRel(LSTG_FORMAT_NAME=[$3], ACCOUNT_COUNTRY=[$42], $f2=[CAST(0):DECIMAL(19, 4)], SELLER_ID=[$7], ACCOUNT_ID=[$39], ctx=[])
-            KapJoinRel(condition=[=($7, $39)], joinType=[left], ctx=[])
-              KapTableScan(table=[[DEFAULT, TEST_KYLIN_FACT]], ctx=[], fields=[[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38]])
-              KapTableScan(table=[[DEFAULT, TEST_ACCOUNT]], ctx=[], fields=[[0, 1, 2, 3, 4]])
-        KapAggregateRel(group-set=[[0, 1]], groups=[null], AGG$0=[$SUM0($2)], AGG$1=[SUM($3)], AGG$2=[SUM($4)], ctx=[])
-          KapProjectRel(LSTG_FORMAT_NAME=[$0], ACCOUNT_COUNTRY=[$1], EXPR$0=[$3], $f3=[CASE(=($2, 'ABIN'), $5, $6)], EXPR$4=[$4], ctx=[])
-            KapAggregateRel(group-set=[[0, 1, 2]], groups=[null], TOP_AGG$0=[$SUM0($3)], TOP_AGG$1=[SUM($4)], TOP_AGG$2=[SUM($5)], TOP_AGG$3=[SUM($6)], ctx=[])
-              KapProjectRel(LSTG_FORMAT_NAME=[$0], ACCOUNT_COUNTRY=[$1], LSTG_FORMAT_NAME0=[$2], EXPR$0=[$3], EXPR$4=[$4], SUM_CASE$0$0=[$5], $f6=[CAST(*(2, $6)):DECIMAL(19, 4) NOT NULL], ctx=[])
-                KapAggregateRel(group-set=[[0, 1, 2]], groups=[null], EXPR$0=[COUNT()], EXPR$4=[SUM($3)], SUM_CASE$0$0=[SUM($4)], SUM_CONST$3=[COUNT()], ctx=[])
-                  KapProjectRel(LSTG_FORMAT_NAME=[$3], ACCOUNT_COUNTRY=[$42], LSTG_FORMAT_NAME0=[$3], ACCOUNT_ID=[$39], PRICE=[$8], ctx=[])
-                    KapJoinRel(condition=[=($7, $39)], joinType=[left], ctx=[])
-                      KapTableScan(table=[[DEFAULT, TEST_KYLIN_FACT]], ctx=[], fields=[[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38]])
-                      KapTableScan(table=[[DEFAULT, TEST_ACCOUNT]], ctx=[], fields=[[0, 1, 2, 3, 4]])
+OlapToEnumerableConverter
+  OlapProjectRel(EXPR$0=[$2], EXPR$1=[$3], EXPR$2=[$4], EXPR$3=[$5], EXPR$4=[$6], ACCOUNT_COUNTRY=[$1], LSTG_FORMAT_NAME=[$0], ctx=[])
+    OlapProjectRel(LSTG_FORMAT_NAME=[$0], ACCOUNT_COUNTRY=[$1], AGG$0=[$6], AGG$1=[$7], EXPR$2=[$2], EXPR$3=[$3], AGG$2=[$8], ctx=[])
+      OlapJoinRel(condition=[AND(=($0, $4), =($1, $5))], joinType=[inner], ctx=[])
+        OlapAggregateRel(group-set=[[0, 1]], groups=[null], EXPR$2=[COUNT(DISTINCT $3)], EXPR$3=[COUNT(DISTINCT $4)], ctx=[])
+          OlapProjectRel(LSTG_FORMAT_NAME=[$3], ACCOUNT_COUNTRY=[$42], $f2=[CAST(0):DECIMAL(19, 4)], SELLER_ID=[$7], ACCOUNT_ID=[$39], ctx=[])
+            OlapJoinRel(condition=[=($7, $39)], joinType=[left], ctx=[])
+              OlapTableScan(table=[[DEFAULT, TEST_KYLIN_FACT]], ctx=[], fields=[[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38]])
+              OlapTableScan(table=[[DEFAULT, TEST_ACCOUNT]], ctx=[], fields=[[0, 1, 2, 3, 4]])
+        OlapAggregateRel(group-set=[[0, 1]], groups=[null], AGG$0=[$SUM0($2)], AGG$1=[SUM($3)], AGG$2=[SUM($4)], ctx=[])
+          OlapProjectRel(LSTG_FORMAT_NAME=[$0], ACCOUNT_COUNTRY=[$1], EXPR$0=[$3], $f3=[CASE(=($2, 'ABIN'), $5, $6)], EXPR$4=[$4], ctx=[])
+            OlapAggregateRel(group-set=[[0, 1, 2]], groups=[null], TOP_AGG$0=[$SUM0($3)], TOP_AGG$1=[SUM($4)], TOP_AGG$2=[SUM($5)], TOP_AGG$3=[SUM($6)], ctx=[])
+              OlapProjectRel(LSTG_FORMAT_NAME=[$0], ACCOUNT_COUNTRY=[$1], LSTG_FORMAT_NAME0=[$2], EXPR$0=[$3], EXPR$4=[$4], SUM_CASE$0$0=[$5], $f6=[CAST(*(2, $6)):DECIMAL(19, 4) NOT NULL], ctx=[])
+                OlapAggregateRel(group-set=[[0, 1, 2]], groups=[null], EXPR$0=[COUNT()], EXPR$4=[SUM($3)], SUM_CASE$0$0=[SUM($4)], SUM_CONST$3=[COUNT()], ctx=[])
+                  OlapProjectRel(LSTG_FORMAT_NAME=[$3], ACCOUNT_COUNTRY=[$42], LSTG_FORMAT_NAME0=[$3], ACCOUNT_ID=[$39], PRICE=[$8], ctx=[])
+                    OlapJoinRel(condition=[=($7, $39)], joinType=[left], ctx=[])
+                      OlapTableScan(table=[[DEFAULT, TEST_KYLIN_FACT]], ctx=[], fields=[[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38]])
+                      OlapTableScan(table=[[DEFAULT, TEST_ACCOUNT]], ctx=[], fields=[[0, 1, 2, 3, 4]])
 ]]>
         </Resource>
         <Resource name="query40.planBefore">
             <![CDATA[
-KapOLAPToEnumerableConverter
-  KapProjectRel(EXPR$0=[ROUND($0, -1)], EXPR$1=[$1], ctx=[])
-    KapAggregateRel(group-set=[[]], groups=[null], agg#0=[PERCENTILE($0, $1)], EXPR$1=[SUM($2)], ctx=[])
-      KapProjectRel(PRICE=[$8], $f1=[0.5], $f2=[CASE(>($0, 100), $9, 0)], ctx=[])
-        KapTableScan(table=[[DEFAULT, TEST_KYLIN_FACT]], ctx=[], fields=[[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38]])
+OlapToEnumerableConverter
+  OlapProjectRel(EXPR$0=[ROUND($0, -1)], EXPR$1=[$1], ctx=[])
+    OlapAggregateRel(group-set=[[]], groups=[null], agg#0=[PERCENTILE($0, $1)], EXPR$1=[SUM($2)], ctx=[])
+      OlapProjectRel(PRICE=[$8], $f1=[0.5], $f2=[CASE(>($0, 100), $9, 0)], ctx=[])
+        OlapTableScan(table=[[DEFAULT, TEST_KYLIN_FACT]], ctx=[], fields=[[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38]])
 ]]>
         </Resource>
         <Resource name="query40.planAfter">
             <![CDATA[
-KapOLAPToEnumerableConverter
-  KapProjectRel(EXPR$0=[ROUND($0, -1)], EXPR$1=[$1], ctx=[])
-    KapJoinRel(condition=[true], joinType=[inner], ctx=[])
-      KapAggregateRel(group-set=[[]], groups=[null], agg#0=[PERCENTILE($0, $1)], ctx=[])
-        KapProjectRel(PRICE=[$8], $f1=[0.5], $f2=[CAST(0):INTEGER], ctx=[])
-          KapTableScan(table=[[DEFAULT, TEST_KYLIN_FACT]], ctx=[], fields=[[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38]])
-      KapAggregateRel(group-set=[[]], groups=[null], AGG$0=[SUM($0)], ctx=[])
-        KapProjectRel($f0=[CASE(>($0, 100), $1, $2)], ctx=[])
-          KapAggregateRel(group-set=[[0]], groups=[null], TOP_AGG$0=[SUM($1)], TOP_AGG$1=[SUM($2)], ctx=[])
-            KapProjectRel(TRANS_ID=[$0], SUM_CASE$0$0=[$1], $f2=[*(0, $2)], ctx=[])
-              KapAggregateRel(group-set=[[0]], groups=[null], SUM_CASE$0$0=[SUM($1)], SUM_CONST$1=[COUNT()], ctx=[])
-                KapProjectRel(TRANS_ID=[$0], ITEM_COUNT=[$9], ctx=[])
-                  KapTableScan(table=[[DEFAULT, TEST_KYLIN_FACT]], ctx=[], fields=[[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38]])
+OlapToEnumerableConverter
+  OlapProjectRel(EXPR$0=[ROUND($0, -1)], EXPR$1=[$1], ctx=[])
+    OlapJoinRel(condition=[true], joinType=[inner], ctx=[])
+      OlapAggregateRel(group-set=[[]], groups=[null], agg#0=[PERCENTILE($0, $1)], ctx=[])
+        OlapProjectRel(PRICE=[$8], $f1=[0.5], $f2=[CAST(0):INTEGER], ctx=[])
+          OlapTableScan(table=[[DEFAULT, TEST_KYLIN_FACT]], ctx=[], fields=[[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38]])
+      OlapAggregateRel(group-set=[[]], groups=[null], AGG$0=[SUM($0)], ctx=[])
+        OlapProjectRel($f0=[CASE(>($0, 100), $1, $2)], ctx=[])
+          OlapAggregateRel(group-set=[[0]], groups=[null], TOP_AGG$0=[SUM($1)], TOP_AGG$1=[SUM($2)], ctx=[])
+            OlapProjectRel(TRANS_ID=[$0], SUM_CASE$0$0=[$1], $f2=[*(0, $2)], ctx=[])
+              OlapAggregateRel(group-set=[[0]], groups=[null], SUM_CASE$0$0=[SUM($1)], SUM_CONST$1=[COUNT()], ctx=[])
+                OlapProjectRel(TRANS_ID=[$0], ITEM_COUNT=[$9], ctx=[])
+                  OlapTableScan(table=[[DEFAULT, TEST_KYLIN_FACT]], ctx=[], fields=[[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38]])
 ]]>
         </Resource>
         <Resource name="query41.planBefore">
             <![CDATA[
-KapOLAPToEnumerableConverter
-  KapProjectRel(SUM_EXPR=[$2], SUM_CAST_EXPR=[$3], ctx=[])
-    KapAggregateRel(group-set=[[0, 1]], groups=[null], SUM_EXPR=[SUM($2)], SUM_CAST_EXPR=[SUM($3)], ctx=[])
-      KapProjectRel(CAL_DT=[$2], ORDER_ID=[$1], $f2=[CASE(AND(=($1, 1050), =($2, 2012-10-29)), $8, null)], $f3=[CAST(CASE(AND(=($1, 1050), =($2, 2012-10-29)), $8, 0)):BIGINT], ctx=[])
-        KapTableScan(table=[[DEFAULT, TEST_KYLIN_FACT]], ctx=[], fields=[[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38]])
+OlapToEnumerableConverter
+  OlapProjectRel(SUM_EXPR=[$2], SUM_CAST_EXPR=[$3], ctx=[])
+    OlapAggregateRel(group-set=[[0, 1]], groups=[null], SUM_EXPR=[SUM($2)], SUM_CAST_EXPR=[SUM($3)], ctx=[])
+      OlapProjectRel(CAL_DT=[$2], ORDER_ID=[$1], $f2=[CASE(AND(=($1, 1050), =($2, 2012-10-29)), $8, null)], $f3=[CAST(CASE(AND(=($1, 1050), =($2, 2012-10-29)), $8, 0)):BIGINT], ctx=[])
+        OlapTableScan(table=[[DEFAULT, TEST_KYLIN_FACT]], ctx=[], fields=[[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38]])
 ]]>
         </Resource>
         <Resource name="query41.planAfter">
             <![CDATA[
-KapOLAPToEnumerableConverter
-  KapProjectRel(SUM_EXPR=[$2], SUM_CAST_EXPR=[$3], ctx=[])
-    KapAggregateRel(group-set=[[0, 1]], groups=[null], AGG$0=[SUM($2)], AGG$1=[SUM($3)], ctx=[])
-      KapProjectRel(CAL_DT=[$0], ORDER_ID=[$1], $f2=[CASE(AND(=($2, 1050), =($3, 2012-10-29)), $5, null)], SUM_CAST_EXPR=[$4], ctx=[])
-        KapAggregateRel(group-set=[[0, 1, 2, 3]], groups=[null], TOP_AGG$0=[SUM($4)], TOP_AGG$1=[SUM($5)], TOP_AGG$2=[SUM($6)], ctx=[])
-          KapProjectRel(CAL_DT=[$0], ORDER_ID=[$1], ORDER_ID0=[$2], CAL_DT0=[$3], SUM_CAST_EXPR=[$4], SUM_CASE$0$0=[$5], $f6=[*(0, $6)], ctx=[])
-            KapProjectRel(CAL_DT=[$0], ORDER_ID=[$1], ORDER_ID0=[$2], CAL_DT0=[$3], SUM_CAST_EXPR=[CAST($4):BIGINT], SUM_CASE$0$0=[$5], SUM_CONST$2=[$6], ctx=[])
-              KapAggregateRel(group-set=[[0, 1, 2, 3]], groups=[null], AGG$0=[SUM($4)], AGG$1=[SUM($5)], AGG$2=[$SUM0($6)], ctx=[])
-                KapProjectRel(CAL_DT=[$0], ORDER_ID=[$1], ORDER_ID0=[$2], CAL_DT0=[$3], $f4=[CASE(AND(=($4, 1050), =($5, 2012-10-29)), $8, $9)], SUM_CASE$0$0=[$6], SUM_CONST$2=[$7], ctx=[])
-                  KapAggregateRel(group-set=[[0, 1, 2, 3, 4, 5]], groups=[null], TOP_AGG$0=[SUM($6)], TOP_AGG$1=[$SUM0($7)], TOP_AGG$2=[SUM($8)], TOP_AGG$3=[SUM($9)], ctx=[])
-                    KapProjectRel(CAL_DT=[$0], ORDER_ID=[$1], ORDER_ID0=[$2], CAL_DT0=[$3], ORDER_ID01=[$4], CAL_DT01=[$5], SUM_CASE$0$0=[$6], SUM_CONST$2=[$7], SUM_CASE$0$0_0=[$8], $f9=[CAST(*(0, $9)):DECIMAL(19, 4) NOT NULL], ctx=[])
-                      KapAggregateRel(group-set=[[0, 1, 2, 3, 4, 5]], groups=[null], SUM_CASE$0$0=[SUM($6)], SUM_CONST$2=[COUNT()], SUM_CASE$0$0=[SUM($7)], SUM_CONST$3=[COUNT()], ctx=[])
-                        KapProjectRel(CAL_DT=[$2], ORDER_ID=[$1], ORDER_ID0=[$1], CAL_DT0=[$2], ORDER_ID01=[$1], CAL_DT01=[$2], PRICE=[$8], PRICE0=[$8], ctx=[])
-                          KapTableScan(table=[[DEFAULT, TEST_KYLIN_FACT]], ctx=[], fields=[[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38]])
+OlapToEnumerableConverter
+  OlapProjectRel(SUM_EXPR=[$2], SUM_CAST_EXPR=[$3], ctx=[])
+    OlapAggregateRel(group-set=[[0, 1]], groups=[null], AGG$0=[SUM($2)], AGG$1=[SUM($3)], ctx=[])
+      OlapProjectRel(CAL_DT=[$0], ORDER_ID=[$1], $f2=[CASE(AND(=($2, 1050), =($3, 2012-10-29)), $5, null)], SUM_CAST_EXPR=[$4], ctx=[])
+        OlapAggregateRel(group-set=[[0, 1, 2, 3]], groups=[null], TOP_AGG$0=[SUM($4)], TOP_AGG$1=[SUM($5)], TOP_AGG$2=[SUM($6)], ctx=[])
+          OlapProjectRel(CAL_DT=[$0], ORDER_ID=[$1], ORDER_ID0=[$2], CAL_DT0=[$3], SUM_CAST_EXPR=[$4], SUM_CASE$0$0=[$5], $f6=[*(0, $6)], ctx=[])
+            OlapProjectRel(CAL_DT=[$0], ORDER_ID=[$1], ORDER_ID0=[$2], CAL_DT0=[$3], SUM_CAST_EXPR=[CAST($4):BIGINT], SUM_CASE$0$0=[$5], SUM_CONST$2=[$6], ctx=[])
+              OlapAggregateRel(group-set=[[0, 1, 2, 3]], groups=[null], AGG$0=[SUM($4)], AGG$1=[SUM($5)], AGG$2=[$SUM0($6)], ctx=[])
+                OlapProjectRel(CAL_DT=[$0], ORDER_ID=[$1], ORDER_ID0=[$2], CAL_DT0=[$3], $f4=[CASE(AND(=($4, 1050), =($5, 2012-10-29)), $8, $9)], SUM_CASE$0$0=[$6], SUM_CONST$2=[$7], ctx=[])
+                  OlapAggregateRel(group-set=[[0, 1, 2, 3, 4, 5]], groups=[null], TOP_AGG$0=[SUM($6)], TOP_AGG$1=[$SUM0($7)], TOP_AGG$2=[SUM($8)], TOP_AGG$3=[SUM($9)], ctx=[])
+                    OlapProjectRel(CAL_DT=[$0], ORDER_ID=[$1], ORDER_ID0=[$2], CAL_DT0=[$3], ORDER_ID01=[$4], CAL_DT01=[$5], SUM_CASE$0$0=[$6], SUM_CONST$2=[$7], SUM_CASE$0$0_0=[$8], $f9=[CAST(*(0, $9)):DECIMAL(19, 4) NOT NULL], ctx=[])
+                      OlapAggregateRel(group-set=[[0, 1, 2, 3, 4, 5]], groups=[null], SUM_CASE$0$0=[SUM($6)], SUM_CONST$2=[COUNT()], SUM_CASE$0$0=[SUM($7)], SUM_CONST$3=[COUNT()], ctx=[])
+                        OlapProjectRel(CAL_DT=[$2], ORDER_ID=[$1], ORDER_ID0=[$1], CAL_DT0=[$2], ORDER_ID01=[$1], CAL_DT01=[$2], PRICE=[$8], PRICE0=[$8], ctx=[])
+                          OlapTableScan(table=[[DEFAULT, TEST_KYLIN_FACT]], ctx=[], fields=[[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38]])
 ]]>
         </Resource>
     </TestCase>
     <TestCase name="testSimpleSQL">
         <Resource name="planBefore">
             <![CDATA[
-KapOLAPToEnumerableConverter
-  KapAggregateRel(group-set=[[]], groups=[null], EXPR$0=[SUM($0)], ctx=[])
-    KapProjectRel($f0=[CASE(=($3, 'FP-non GTC'), $8, 2)], ctx=[])
-      KapTableScan(table=[[DEFAULT, TEST_KYLIN_FACT]], ctx=[], fields=[[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38]])
+OlapToEnumerableConverter
+  OlapAggregateRel(group-set=[[]], groups=[null], EXPR$0=[SUM($0)], ctx=[])
+    OlapProjectRel($f0=[CASE(=($3, 'FP-non GTC'), $8, 2)], ctx=[])
+      OlapTableScan(table=[[DEFAULT, TEST_KYLIN_FACT]], ctx=[], fields=[[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38]])
 ]]>
         </Resource>
         <Resource name="planAfter">
             <![CDATA[
-KapOLAPToEnumerableConverter
-  KapAggregateRel(group-set=[[]], groups=[null], AGG$0=[SUM($0)], ctx=[])
-    KapProjectRel($f0=[CASE(=($0, 'FP-non GTC'), $1, $2)], ctx=[])
-      KapAggregateRel(group-set=[[0]], groups=[null], TOP_AGG$0=[SUM($1)], TOP_AGG$1=[SUM($2)], ctx=[])
-        KapProjectRel(LSTG_FORMAT_NAME=[$0], SUM_CASE$0$0=[$1], $f2=[CAST(*(2, $2)):DECIMAL(19, 4) NOT NULL], ctx=[])
-          KapAggregateRel(group-set=[[0]], groups=[null], SUM_CASE$0$0=[SUM($1)], SUM_CONST$1=[COUNT()], ctx=[])
-            KapProjectRel(LSTG_FORMAT_NAME=[$3], PRICE=[$8], ctx=[])
-              KapTableScan(table=[[DEFAULT, TEST_KYLIN_FACT]], ctx=[], fields=[[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38]])
+OlapToEnumerableConverter
+  OlapAggregateRel(group-set=[[]], groups=[null], AGG$0=[SUM($0)], ctx=[])
+    OlapProjectRel($f0=[CASE(=($0, 'FP-non GTC'), $1, $2)], ctx=[])
+      OlapAggregateRel(group-set=[[0]], groups=[null], TOP_AGG$0=[SUM($1)], TOP_AGG$1=[SUM($2)], ctx=[])
+        OlapProjectRel(LSTG_FORMAT_NAME=[$0], SUM_CASE$0$0=[$1], $f2=[CAST(*(2, $2)):DECIMAL(19, 4) NOT NULL], ctx=[])
+          OlapAggregateRel(group-set=[[0]], groups=[null], SUM_CASE$0$0=[SUM($1)], SUM_CONST$1=[COUNT()], ctx=[])
+            OlapProjectRel(LSTG_FORMAT_NAME=[$3], PRICE=[$8], ctx=[])
+              OlapTableScan(table=[[DEFAULT, TEST_KYLIN_FACT]], ctx=[], fields=[[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38]])
 ]]>
         </Resource>
     </TestCase>
@@ -1217,24 +1217,24 @@ KapOLAPToEnumerableConverter
     <TestCase name="testWithAVG">
         <Resource name="planBefore">
             <![CDATA[
-KapOLAPToEnumerableConverter
-  KapProjectRel(PRICE1=[CAST(/($0, $1)):DECIMAL(23, 8)], TOTAL_PRICE=[$2], ctx=[])
-    KapAggregateRel(group-set=[[]], groups=[null], agg#0=[SUM($0)], agg#1=[COUNT($0)], TOTAL_PRICE=[SUM($1)], ctx=[])
-      KapProjectRel(PRICE=[$8], $f1=[CASE(=($3, 'FP-non GTC'), $8, 0)], ctx=[])
-        KapTableScan(table=[[DEFAULT, TEST_KYLIN_FACT]], ctx=[], fields=[[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38]])
+OlapToEnumerableConverter
+  OlapProjectRel(PRICE1=[CAST(/($0, $1)):DECIMAL(23, 8)], TOTAL_PRICE=[$2], ctx=[])
+    OlapAggregateRel(group-set=[[]], groups=[null], agg#0=[SUM($0)], agg#1=[COUNT($0)], TOTAL_PRICE=[SUM($1)], ctx=[])
+      OlapProjectRel(PRICE=[$8], $f1=[CASE(=($3, 'FP-non GTC'), $8, 0)], ctx=[])
+        OlapTableScan(table=[[DEFAULT, TEST_KYLIN_FACT]], ctx=[], fields=[[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38]])
 ]]>
         </Resource>
         <Resource name="planAfter">
             <![CDATA[
-KapOLAPToEnumerableConverter
-  KapProjectRel(PRICE1=[CAST(/($0, $1)):DECIMAL(23, 8)], TOTAL_PRICE=[$2], ctx=[])
-    KapAggregateRel(group-set=[[]], groups=[null], AGG$0=[SUM($0)], AGG$1=[$SUM0($1)], AGG$2=[SUM($2)], ctx=[])
-      KapProjectRel($f1=[$1], $f2=[$2], $f23=[CASE(=($0, 'FP-non GTC'), $3, $4)], ctx=[])
-        KapAggregateRel(group-set=[[0]], groups=[null], TOP_AGG$0=[SUM($1)], TOP_AGG$1=[$SUM0($2)], TOP_AGG$2=[SUM($3)], TOP_AGG$3=[SUM($4)], ctx=[])
-          KapProjectRel(LSTG_FORMAT_NAME=[$0], $f1=[$1], $f2=[$2], SUM_CASE$0$0=[$3], $f4=[CAST(*(0, $4)):DECIMAL(19, 4) NOT NULL], ctx=[])
-            KapAggregateRel(group-set=[[0]], groups=[null], agg#0=[SUM($1)], agg#1=[COUNT($2)], SUM_CASE$0$0=[SUM($3)], SUM_CONST$3=[COUNT()], ctx=[])
-              KapProjectRel(LSTG_FORMAT_NAME=[$3], PRICE=[$8], PRICE0=[$8], PRICE01=[$8], ctx=[])
-                KapTableScan(table=[[DEFAULT, TEST_KYLIN_FACT]], ctx=[], fields=[[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38]])
+OlapToEnumerableConverter
+  OlapProjectRel(PRICE1=[CAST(/($0, $1)):DECIMAL(23, 8)], TOTAL_PRICE=[$2], ctx=[])
+    OlapAggregateRel(group-set=[[]], groups=[null], AGG$0=[SUM($0)], AGG$1=[$SUM0($1)], AGG$2=[SUM($2)], ctx=[])
+      OlapProjectRel($f1=[$1], $f2=[$2], $f23=[CASE(=($0, 'FP-non GTC'), $3, $4)], ctx=[])
+        OlapAggregateRel(group-set=[[0]], groups=[null], TOP_AGG$0=[SUM($1)], TOP_AGG$1=[$SUM0($2)], TOP_AGG$2=[SUM($3)], TOP_AGG$3=[SUM($4)], ctx=[])
+          OlapProjectRel(LSTG_FORMAT_NAME=[$0], $f1=[$1], $f2=[$2], SUM_CASE$0$0=[$3], $f4=[CAST(*(0, $4)):DECIMAL(19, 4) NOT NULL], ctx=[])
+            OlapAggregateRel(group-set=[[0]], groups=[null], agg#0=[SUM($1)], agg#1=[COUNT($2)], SUM_CASE$0$0=[SUM($3)], SUM_CONST$3=[COUNT()], ctx=[])
+              OlapProjectRel(LSTG_FORMAT_NAME=[$3], PRICE=[$8], PRICE0=[$8], PRICE01=[$8], ctx=[])
+                OlapTableScan(table=[[DEFAULT, TEST_KYLIN_FACT]], ctx=[], fields=[[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38]])
 ]]>
         </Resource>
     </TestCase>
@@ -1242,126 +1242,126 @@ KapOLAPToEnumerableConverter
     <TestCase name="testSumCastTransposeRule">
         <Resource name="planBefore">
             <![CDATA[
-KapOLAPToEnumerableConverter
-  KapAggregateRel(group-set=[[]], groups=[null], EXPR$0=[SUM($0)], ctx=[])
-    KapProjectRel($f0=[CASE(=($3, 'FP-non GTC'), CAST($8):DECIMAL(23, 4), CAST($4):DECIMAL(23, 4))], ctx=[])
-      KapTableScan(table=[[DEFAULT, TEST_KYLIN_FACT]], ctx=[], fields=[[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38]])
+OlapToEnumerableConverter
+  OlapAggregateRel(group-set=[[]], groups=[null], EXPR$0=[SUM($0)], ctx=[])
+    OlapProjectRel($f0=[CASE(=($3, 'FP-non GTC'), CAST($8):DECIMAL(23, 4), CAST($4):DECIMAL(23, 4))], ctx=[])
+      OlapTableScan(table=[[DEFAULT, TEST_KYLIN_FACT]], ctx=[], fields=[[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38]])
 ]]>
         </Resource>
         <Resource name="planAfter">
             <![CDATA[
-KapOLAPToEnumerableConverter
-  KapAggregateRel(group-set=[[]], groups=[null], AGG$0=[SUM($0)], ctx=[])
-    KapProjectRel($f0=[CASE(=($0, 'FP-non GTC'), CAST($1):DECIMAL(23, 4), CAST($2):DECIMAL(23, 4))], ctx=[])
-      KapAggregateRel(group-set=[[0]], groups=[null], SUM_CASE$0$0=[SUM($1)], SUM_CASE$0$1=[SUM($2)], ctx=[])
-        KapProjectRel(LSTG_FORMAT_NAME=[$3], PRICE=[$8], LEAF_CATEG_ID=[$4], ctx=[])
-          KapTableScan(table=[[DEFAULT, TEST_KYLIN_FACT]], ctx=[], fields=[[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38]])
+OlapToEnumerableConverter
+  OlapAggregateRel(group-set=[[]], groups=[null], AGG$0=[SUM($0)], ctx=[])
+    OlapProjectRel($f0=[CASE(=($0, 'FP-non GTC'), CAST($1):DECIMAL(23, 4), CAST($2):DECIMAL(23, 4))], ctx=[])
+      OlapAggregateRel(group-set=[[0]], groups=[null], SUM_CASE$0$0=[SUM($1)], SUM_CASE$0$1=[SUM($2)], ctx=[])
+        OlapProjectRel(LSTG_FORMAT_NAME=[$3], PRICE=[$8], LEAF_CATEG_ID=[$4], ctx=[])
+          OlapTableScan(table=[[DEFAULT, TEST_KYLIN_FACT]], ctx=[], fields=[[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38]])
 ]]>
         </Resource>
     </TestCase>
     <TestCase name="testSumCastTransposeRuleWithGroupby">
         <Resource name="planBefore">
             <![CDATA[
-KapOLAPToEnumerableConverter
-  KapProjectRel(EXPR$0=[$1], LSTG_FORMAT_NAME=[$0], ctx=[])
-    KapAggregateRel(group-set=[[0]], groups=[null], EXPR$0=[SUM($1)], ctx=[])
-      KapProjectRel(LSTG_FORMAT_NAME=[$3], $f1=[CASE(=($3, 'FP-non GTC'), CAST($8):DECIMAL(23, 4), CAST($4):DECIMAL(23, 4))], ctx=[])
-        KapTableScan(table=[[DEFAULT, TEST_KYLIN_FACT]], ctx=[], fields=[[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38]])
+OlapToEnumerableConverter
+  OlapProjectRel(EXPR$0=[$1], LSTG_FORMAT_NAME=[$0], ctx=[])
+    OlapAggregateRel(group-set=[[0]], groups=[null], EXPR$0=[SUM($1)], ctx=[])
+      OlapProjectRel(LSTG_FORMAT_NAME=[$3], $f1=[CASE(=($3, 'FP-non GTC'), CAST($8):DECIMAL(23, 4), CAST($4):DECIMAL(23, 4))], ctx=[])
+        OlapTableScan(table=[[DEFAULT, TEST_KYLIN_FACT]], ctx=[], fields=[[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38]])
 ]]>
         </Resource>
         <Resource name="planAfter">
             <![CDATA[
-KapOLAPToEnumerableConverter
-  KapProjectRel(EXPR$0=[$1], LSTG_FORMAT_NAME=[$0], ctx=[])
-    KapAggregateRel(group-set=[[0]], groups=[null], AGG$0=[SUM($1)], ctx=[])
-      KapProjectRel(LSTG_FORMAT_NAME=[$0], $f1=[CASE(=($1, 'FP-non GTC'), CAST($2):DECIMAL(23, 4), CAST($3):DECIMAL(23, 4))], ctx=[])
-        KapAggregateRel(group-set=[[0, 1]], groups=[null], SUM_CASE$0$0=[SUM($2)], SUM_CASE$0$1=[SUM($3)], ctx=[])
-          KapProjectRel(LSTG_FORMAT_NAME=[$3], LSTG_FORMAT_NAME0=[$3], PRICE=[$8], LEAF_CATEG_ID=[$4], ctx=[])
-            KapTableScan(table=[[DEFAULT, TEST_KYLIN_FACT]], ctx=[], fields=[[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38]])
+OlapToEnumerableConverter
+  OlapProjectRel(EXPR$0=[$1], LSTG_FORMAT_NAME=[$0], ctx=[])
+    OlapAggregateRel(group-set=[[0]], groups=[null], AGG$0=[SUM($1)], ctx=[])
+      OlapProjectRel(LSTG_FORMAT_NAME=[$0], $f1=[CASE(=($1, 'FP-non GTC'), CAST($2):DECIMAL(23, 4), CAST($3):DECIMAL(23, 4))], ctx=[])
+        OlapAggregateRel(group-set=[[0, 1]], groups=[null], SUM_CASE$0$0=[SUM($2)], SUM_CASE$0$1=[SUM($3)], ctx=[])
+          OlapProjectRel(LSTG_FORMAT_NAME=[$3], LSTG_FORMAT_NAME0=[$3], PRICE=[$8], LEAF_CATEG_ID=[$4], ctx=[])
+            OlapTableScan(table=[[DEFAULT, TEST_KYLIN_FACT]], ctx=[], fields=[[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38]])
 ]]>
         </Resource>
     </TestCase>
     <TestCase name="testSumCastTransposeRule2">
         <Resource name="planBefore">
             <![CDATA[
-KapOLAPToEnumerableConverter
-  KapAggregateRel(group-set=[[]], groups=[null], EXPR$0=[SUM($0)], ctx=[])
-    KapProjectRel($f0=[CAST($8):BIGINT], ctx=[])
-      KapTableScan(table=[[DEFAULT, TEST_KYLIN_FACT]], ctx=[], fields=[[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38]])
+OlapToEnumerableConverter
+  OlapAggregateRel(group-set=[[]], groups=[null], EXPR$0=[SUM($0)], ctx=[])
+    OlapProjectRel($f0=[CAST($8):BIGINT], ctx=[])
+      OlapTableScan(table=[[DEFAULT, TEST_KYLIN_FACT]], ctx=[], fields=[[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38]])
 ]]>
         </Resource>
         <Resource name="planAfter">
             <![CDATA[
-KapOLAPToEnumerableConverter
-  KapProjectRel(EXPR$0=[CAST($0):BIGINT], ctx=[])
-    KapAggregateRel(group-set=[[]], groups=[null], EXPR$0=[SUM($0)], ctx=[])
-      KapProjectRel(PRICE=[$8], ctx=[])
-        KapTableScan(table=[[DEFAULT, TEST_KYLIN_FACT]], ctx=[], fields=[[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38]])
+OlapToEnumerableConverter
+  OlapProjectRel(EXPR$0=[CAST($0):BIGINT], ctx=[])
+    OlapAggregateRel(group-set=[[]], groups=[null], EXPR$0=[SUM($0)], ctx=[])
+      OlapProjectRel(PRICE=[$8], ctx=[])
+        OlapTableScan(table=[[DEFAULT, TEST_KYLIN_FACT]], ctx=[], fields=[[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38]])
 ]]>
         </Resource>
     </TestCase>
     <TestCase name="testSumCastTransposeRule3">
         <Resource name="planBefore">
             <![CDATA[
-KapOLAPToEnumerableConverter
-  KapProjectRel(EXPR$0=[$1], LSTG_FORMAT_NAME=[$0], ctx=[])
-    KapAggregateRel(group-set=[[0]], groups=[null], EXPR$0=[SUM($1)], ctx=[])
-      KapProjectRel(LSTG_FORMAT_NAME=[$3], $f1=[CAST($8):BIGINT], ctx=[])
-        KapTableScan(table=[[DEFAULT, TEST_KYLIN_FACT]], ctx=[], fields=[[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38]])
+OlapToEnumerableConverter
+  OlapProjectRel(EXPR$0=[$1], LSTG_FORMAT_NAME=[$0], ctx=[])
+    OlapAggregateRel(group-set=[[0]], groups=[null], EXPR$0=[SUM($1)], ctx=[])
+      OlapProjectRel(LSTG_FORMAT_NAME=[$3], $f1=[CAST($8):BIGINT], ctx=[])
+        OlapTableScan(table=[[DEFAULT, TEST_KYLIN_FACT]], ctx=[], fields=[[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38]])
 ]]>
         </Resource>
         <Resource name="planAfter">
             <![CDATA[
-KapOLAPToEnumerableConverter
-  KapProjectRel(EXPR$0=[$1], LSTG_FORMAT_NAME=[$0], ctx=[])
-    KapProjectRel(LSTG_FORMAT_NAME=[$0], EXPR$0=[CAST($1):BIGINT], ctx=[])
-      KapAggregateRel(group-set=[[0]], groups=[null], EXPR$0=[SUM($1)], ctx=[])
-        KapProjectRel(LSTG_FORMAT_NAME=[$3], PRICE=[$8], ctx=[])
-          KapTableScan(table=[[DEFAULT, TEST_KYLIN_FACT]], ctx=[], fields=[[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38]])
+OlapToEnumerableConverter
+  OlapProjectRel(EXPR$0=[$1], LSTG_FORMAT_NAME=[$0], ctx=[])
+    OlapProjectRel(LSTG_FORMAT_NAME=[$0], EXPR$0=[CAST($1):BIGINT], ctx=[])
+      OlapAggregateRel(group-set=[[0]], groups=[null], EXPR$0=[SUM($1)], ctx=[])
+        OlapProjectRel(LSTG_FORMAT_NAME=[$3], PRICE=[$8], ctx=[])
+          OlapTableScan(table=[[DEFAULT, TEST_KYLIN_FACT]], ctx=[], fields=[[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38]])
 ]]>
         </Resource>
     </TestCase>
     <TestCase name="testSumCastTransposeRule4">
         <Resource name="planBefore">
             <![CDATA[
-KapOLAPToEnumerableConverter
-  KapAggregateRel(group-set=[[]], groups=[null], EXPR$0=[SUM($0)], ctx=[])
-    KapProjectRel($f0=[CAST($8):BIGINT], ctx=[])
-      KapJoinRel(condition=[=($1, $39)], joinType=[inner], ctx=[])
-        KapTableScan(table=[[DEFAULT, TEST_KYLIN_FACT]], ctx=[], fields=[[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38]])
-        KapTableScan(table=[[DEFAULT, TEST_ORDER]], ctx=[], fields=[[0, 1, 2, 3, 4]])
+OlapToEnumerableConverter
+  OlapAggregateRel(group-set=[[]], groups=[null], EXPR$0=[SUM($0)], ctx=[])
+    OlapProjectRel($f0=[CAST($8):BIGINT], ctx=[])
+      OlapJoinRel(condition=[=($1, $39)], joinType=[inner], ctx=[])
+        OlapTableScan(table=[[DEFAULT, TEST_KYLIN_FACT]], ctx=[], fields=[[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38]])
+        OlapTableScan(table=[[DEFAULT, TEST_ORDER]], ctx=[], fields=[[0, 1, 2, 3, 4]])
 ]]>
         </Resource>
         <Resource name="planAfter">
             <![CDATA[
-KapOLAPToEnumerableConverter
-  KapProjectRel(EXPR$0=[CAST($0):BIGINT], ctx=[])
-    KapAggregateRel(group-set=[[]], groups=[null], EXPR$0=[SUM($0)], ctx=[])
-      KapProjectRel(PRICE=[$8], ctx=[])
-        KapJoinRel(condition=[=($1, $39)], joinType=[inner], ctx=[])
-          KapTableScan(table=[[DEFAULT, TEST_KYLIN_FACT]], ctx=[], fields=[[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38]])
-          KapTableScan(table=[[DEFAULT, TEST_ORDER]], ctx=[], fields=[[0, 1, 2, 3, 4]])
+OlapToEnumerableConverter
+  OlapProjectRel(EXPR$0=[CAST($0):BIGINT], ctx=[])
+    OlapAggregateRel(group-set=[[]], groups=[null], EXPR$0=[SUM($0)], ctx=[])
+      OlapProjectRel(PRICE=[$8], ctx=[])
+        OlapJoinRel(condition=[=($1, $39)], joinType=[inner], ctx=[])
+          OlapTableScan(table=[[DEFAULT, TEST_KYLIN_FACT]], ctx=[], fields=[[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38]])
+          OlapTableScan(table=[[DEFAULT, TEST_ORDER]], ctx=[], fields=[[0, 1, 2, 3, 4]])
 ]]>
         </Resource>
     </TestCase>
     <TestCase name="testSumCastTransposeRuleMultiplyConstant">
         <Resource name="planBefore">
             <![CDATA[
-KapOLAPToEnumerableConverter
-  KapAggregateRel(group-set=[[]], groups=[null], EXPR$0=[SUM($0)], ctx=[])
-    KapProjectRel($f0=[*(CAST($8):BIGINT, 10)], ctx=[])
-      KapTableScan(table=[[DEFAULT, TEST_KYLIN_FACT]], ctx=[], fields=[[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38]])
+OlapToEnumerableConverter
+  OlapAggregateRel(group-set=[[]], groups=[null], EXPR$0=[SUM($0)], ctx=[])
+    OlapProjectRel($f0=[*(CAST($8):BIGINT, 10)], ctx=[])
+      OlapTableScan(table=[[DEFAULT, TEST_KYLIN_FACT]], ctx=[], fields=[[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38]])
 ]]>
         </Resource>
         <Resource name="planAfter">
             <![CDATA[
-KapOLAPToEnumerableConverter
-  KapProjectRel(EXPR$0=[CAST($0):BIGINT], ctx=[])
-    KapAggregateRel(group-set=[[]], groups=[null], AGG$0=[SUM($0)], ctx=[])
-      KapProjectRel($f0=[*($0, 10)], ctx=[])
-        KapAggregateRel(group-set=[[]], groups=[null], SUM_OP$0=[SUM($0)], ctx=[])
-          KapProjectRel(PRICE=[$8], ctx=[])
-            KapTableScan(table=[[DEFAULT, TEST_KYLIN_FACT]], ctx=[], fields=[[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38]])
+OlapToEnumerableConverter
+  OlapProjectRel(EXPR$0=[CAST($0):BIGINT], ctx=[])
+    OlapAggregateRel(group-set=[[]], groups=[null], AGG$0=[SUM($0)], ctx=[])
+      OlapProjectRel($f0=[*($0, 10)], ctx=[])
+        OlapAggregateRel(group-set=[[]], groups=[null], SUM_OP$0=[SUM($0)], ctx=[])
+          OlapProjectRel(PRICE=[$8], ctx=[])
+            OlapTableScan(table=[[DEFAULT, TEST_KYLIN_FACT]], ctx=[], fields=[[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38]])
 ]]>
         </Resource>
     </TestCase>
@@ -1369,35 +1369,35 @@ KapOLAPToEnumerableConverter
     <TestCase name="testAggPushdown">
         <Resource name="planBefore">
             <![CDATA[
-KapOLAPToEnumerableConverter
-  KapProjectRel(CAL_DT=[$0], TEMP_Calculation_54915774428294=[$1], TEMP_Calculation_97108873613918=[$2], TEMP_Calculation_971088736139180=[$3], TEMP_Calculation_97108873613911=[$4], ctx=[])
-    KapAggregateRel(group-set=[[0]], groups=[null], TEMP_Calculation_54915774428294=[SUM($1)], TEMP_Calculation_97108873613918=[COUNT($0)], TEMP_Calculation_97108873613918=[COUNT(DISTINCT $0)], TEMP_Calculation_97108873613911=[COUNT(DISTINCT $2)], ctx=[])
-      KapProjectRel(CAL_DT=[$1], SELLER_ID=[$2], $f2=[$4], ctx=[])
-        KapJoinRel(condition=[=($0, $3)], joinType=[inner], ctx=[])
-          KapProjectRel(ORDER_ID=[$1], CAL_DT=[$2], SELLER_ID=[$7], ctx=[])
-            KapTableScan(table=[[DEFAULT, TEST_KYLIN_FACT]], ctx=[], fields=[[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38]])
-          KapProjectRel(ORDER_ID=[$1], CASE=[CASE(>($2, 0), $0, null)], ctx=[])
-            KapAggregateRel(group-set=[[0, 1]], groups=[null], X_measure__0=[SUM($2)], ctx=[])
-              KapProjectRel(LSTG_FORMAT_NAME=[$3], ORDER_ID=[$1], PRICE=[$8], ctx=[])
-                KapTableScan(table=[[DEFAULT, TEST_KYLIN_FACT]], ctx=[], fields=[[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38]])
+OlapToEnumerableConverter
+  OlapProjectRel(CAL_DT=[$0], TEMP_Calculation_54915774428294=[$1], TEMP_Calculation_97108873613918=[$2], TEMP_Calculation_971088736139180=[$3], TEMP_Calculation_97108873613911=[$4], ctx=[])
+    OlapAggregateRel(group-set=[[0]], groups=[null], TEMP_Calculation_54915774428294=[SUM($1)], TEMP_Calculation_97108873613918=[COUNT($0)], TEMP_Calculation_97108873613918=[COUNT(DISTINCT $0)], TEMP_Calculation_97108873613911=[COUNT(DISTINCT $2)], ctx=[])
+      OlapProjectRel(CAL_DT=[$1], SELLER_ID=[$2], $f2=[$4], ctx=[])
+        OlapJoinRel(condition=[=($0, $3)], joinType=[inner], ctx=[])
+          OlapProjectRel(ORDER_ID=[$1], CAL_DT=[$2], SELLER_ID=[$7], ctx=[])
+            OlapTableScan(table=[[DEFAULT, TEST_KYLIN_FACT]], ctx=[], fields=[[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38]])
+          OlapProjectRel(ORDER_ID=[$1], CASE=[CASE(>($2, 0), $0, null)], ctx=[])
+            OlapAggregateRel(group-set=[[0, 1]], groups=[null], X_measure__0=[SUM($2)], ctx=[])
+              OlapProjectRel(LSTG_FORMAT_NAME=[$3], ORDER_ID=[$1], PRICE=[$8], ctx=[])
+                OlapTableScan(table=[[DEFAULT, TEST_KYLIN_FACT]], ctx=[], fields=[[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38]])
 ]]>
         </Resource>
         <Resource name="planAfter">
             <![CDATA[
-KapOLAPToEnumerableConverter
-  KapProjectRel(CAL_DT=[$0], TEMP_Calculation_54915774428294=[$1], TEMP_Calculation_97108873613918=[$2], TEMP_Calculation_971088736139180=[$3], TEMP_Calculation_97108873613911=[$4], ctx=[])
-    KapAggregateRel(group-set=[[0]], groups=[null], TEMP_Calculation_54915774428294=[SUM($2)], TEMP_Calculation_97108873613918=[$SUM0($3)], TEMP_Calculation_97108873613918=[COUNT(DISTINCT $0)], TEMP_Calculation_97108873613911=[COUNT(DISTINCT $1)], ctx=[])
-      KapAggregateRel(group-set=[[1, 5]], groups=[null], TEMP_Calculation_54915774428294=[SUM($7)], TEMP_Calculation_97108873613918=[$SUM0($8)], ctx=[])
-        KapProjectRel(ORDER_ID=[$0], CAL_DT=[$1], TEMP_Calculation_54915774428294=[$2], TEMP_Calculation_97108873613918=[$3], ORDER_ID0=[$4], CASE=[$5], $f2=[$6], $f7=[CAST(*($2, $6)):BIGINT], $f8=[*($3, $6)], ctx=[])
-          KapJoinRel(condition=[=($0, $4)], joinType=[inner], ctx=[])
-            KapAggregateRel(group-set=[[0, 1]], groups=[null], TEMP_Calculation_54915774428294=[SUM($2)], TEMP_Calculation_97108873613918=[COUNT($1)], ctx=[])
-              KapProjectRel(ORDER_ID=[$1], CAL_DT=[$2], SELLER_ID=[$7], ctx=[])
-                KapTableScan(table=[[DEFAULT, TEST_KYLIN_FACT]], ctx=[], fields=[[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38]])
-            KapAggregateRel(group-set=[[0, 1]], groups=[null], agg#0=[COUNT()], ctx=[])
-              KapProjectRel(ORDER_ID=[$1], CASE=[CASE(>($2, 0), $0, null)], ctx=[])
-                KapAggregateRel(group-set=[[0, 1]], groups=[null], X_measure__0=[SUM($2)], ctx=[])
-                  KapProjectRel(LSTG_FORMAT_NAME=[$3], ORDER_ID=[$1], PRICE=[$8], ctx=[])
-                    KapTableScan(table=[[DEFAULT, TEST_KYLIN_FACT]], ctx=[], fields=[[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38]])
+OlapToEnumerableConverter
+  OlapProjectRel(CAL_DT=[$0], TEMP_Calculation_54915774428294=[$1], TEMP_Calculation_97108873613918=[$2], TEMP_Calculation_971088736139180=[$3], TEMP_Calculation_97108873613911=[$4], ctx=[])
+    OlapAggregateRel(group-set=[[0]], groups=[null], TEMP_Calculation_54915774428294=[SUM($2)], TEMP_Calculation_97108873613918=[$SUM0($3)], TEMP_Calculation_97108873613918=[COUNT(DISTINCT $0)], TEMP_Calculation_97108873613911=[COUNT(DISTINCT $1)], ctx=[])
+      OlapAggregateRel(group-set=[[1, 5]], groups=[null], TEMP_Calculation_54915774428294=[SUM($7)], TEMP_Calculation_97108873613918=[$SUM0($8)], ctx=[])
+        OlapProjectRel(ORDER_ID=[$0], CAL_DT=[$1], TEMP_Calculation_54915774428294=[$2], TEMP_Calculation_97108873613918=[$3], ORDER_ID0=[$4], CASE=[$5], $f2=[$6], $f7=[CAST(*($2, $6)):BIGINT], $f8=[*($3, $6)], ctx=[])
+          OlapJoinRel(condition=[=($0, $4)], joinType=[inner], ctx=[])
+            OlapAggregateRel(group-set=[[0, 1]], groups=[null], TEMP_Calculation_54915774428294=[SUM($2)], TEMP_Calculation_97108873613918=[COUNT($1)], ctx=[])
+              OlapProjectRel(ORDER_ID=[$1], CAL_DT=[$2], SELLER_ID=[$7], ctx=[])
+                OlapTableScan(table=[[DEFAULT, TEST_KYLIN_FACT]], ctx=[], fields=[[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38]])
+            OlapAggregateRel(group-set=[[0, 1]], groups=[null], agg#0=[COUNT()], ctx=[])
+              OlapProjectRel(ORDER_ID=[$1], CASE=[CASE(>($2, 0), $0, null)], ctx=[])
+                OlapAggregateRel(group-set=[[0, 1]], groups=[null], X_measure__0=[SUM($2)], ctx=[])
+                  OlapProjectRel(LSTG_FORMAT_NAME=[$3], ORDER_ID=[$1], PRICE=[$8], ctx=[])
+                    OlapTableScan(table=[[DEFAULT, TEST_KYLIN_FACT]], ctx=[], fields=[[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38]])
 ]]>
         </Resource>
     </TestCase>
@@ -1405,70 +1405,70 @@ KapOLAPToEnumerableConverter
     <TestCase name="testAggPushdownWithCrossJoin1">
         <Resource name="planBefore">
             <![CDATA[
-KapOLAPToEnumerableConverter
-  KapLimitRel(ctx=[], fetch=[500])
-    KapProjectRel(sum_LO_QUANTITY_SUM______88=[$1], ctx=[])
-      KapAggregateRel(group-set=[[0]], groups=[null], sum_LO_QUANTITY_SUM______88=[SUM($1)], ctx=[])
-        KapProjectRel($f0=[1.1000000000000001], $f1=[CASE(CASE(=($5, $21), true, <>($5, $21), false, null), $8, null)], ctx=[])
-          KapJoinRel(condition=[true], joinType=[inner], ctx=[])
-            KapTableScan(table=[[SSB, LINEORDER]], ctx=[], fields=[[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20]])
-            KapProjectRel(X_measure__0=[$1], ctx=[])
-              KapAggregateRel(group-set=[[0]], groups=[null], X_measure__0=[MAX($1)], ctx=[])
-                KapProjectRel($f0=[1.1000000000000001], LO_ORDERDATE=[$5], ctx=[])
-                  KapTableScan(table=[[SSB, LINEORDER]], ctx=[], fields=[[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20]])
+OlapToEnumerableConverter
+  OlapLimitRel(ctx=[], fetch=[500])
+    OlapProjectRel(sum_LO_QUANTITY_SUM______88=[$1], ctx=[])
+      OlapAggregateRel(group-set=[[0]], groups=[null], sum_LO_QUANTITY_SUM______88=[SUM($1)], ctx=[])
+        OlapProjectRel($f0=[1.1000000000000001], $f1=[CASE(CASE(=($5, $21), true, <>($5, $21), false, null), $8, null)], ctx=[])
+          OlapJoinRel(condition=[true], joinType=[inner], ctx=[])
+            OlapTableScan(table=[[SSB, LINEORDER]], ctx=[], fields=[[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20]])
+            OlapProjectRel(X_measure__0=[$1], ctx=[])
+              OlapAggregateRel(group-set=[[0]], groups=[null], X_measure__0=[MAX($1)], ctx=[])
+                OlapProjectRel($f0=[1.1000000000000001], LO_ORDERDATE=[$5], ctx=[])
+                  OlapTableScan(table=[[SSB, LINEORDER]], ctx=[], fields=[[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20]])
 ]]>
         </Resource>
         <Resource name="planAfter">
             <![CDATA[
-KapOLAPToEnumerableConverter
-  KapLimitRel(ctx=[], fetch=[500])
-    KapProjectRel(sum_LO_QUANTITY_SUM______88=[$1], ctx=[])
-      KapAggregateRel(group-set=[[0]], groups=[null], AGG$0=[SUM($1)], ctx=[])
-        KapProjectRel($f0=[1.1000000000000001], $f1=[CASE(CASE(=($0, $1), true, <>($0, $1), false, null), $2, null)], ctx=[])
-          KapAggregateRel(group-set=[[0, 1]], groups=[null], TOP_AGG$0=[SUM($2)], TOP_AGG$1=[SUM($3)], ctx=[])
-            KapProjectRel(LO_ORDERDATE=[$0], X_measure__0=[$1], SUM_CASE$0$0=[$2], $f3=[*(0, $3)], ctx=[])
-              KapProjectRel(LO_ORDERDATE=[$0], X_measure__0=[$3], $f5=[$5], $f6=[$6], ctx=[])
-                KapProjectRel(LO_ORDERDATE=[$0], SUM_CASE$0$0=[$1], SUM_CONST$1=[$2], X_measure__0=[$3], $f1=[$4], $f5=[CAST(*($1, $4)):BIGINT], $f6=[*($2, $4)], ctx=[])
-                  KapJoinRel(condition=[true], joinType=[inner], ctx=[])
-                    KapAggregateRel(group-set=[[5]], groups=[null], SUM_CASE$0$0=[SUM($8)], SUM_CONST$1=[COUNT()], ctx=[])
-                      KapTableScan(table=[[SSB, LINEORDER]], ctx=[], fields=[[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20]])
-                    KapAggregateRel(group-set=[[0]], groups=[null], agg#0=[COUNT()], ctx=[])
-                      KapProjectRel(X_measure__0=[$1], ctx=[])
-                        KapAggregateRel(group-set=[[0]], groups=[null], X_measure__0=[MAX($1)], ctx=[])
-                          KapProjectRel($f0=[1.1000000000000001], LO_ORDERDATE=[$5], ctx=[])
-                            KapTableScan(table=[[SSB, LINEORDER]], ctx=[], fields=[[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20]])
+OlapToEnumerableConverter
+  OlapLimitRel(ctx=[], fetch=[500])
+    OlapProjectRel(sum_LO_QUANTITY_SUM______88=[$1], ctx=[])
+      OlapAggregateRel(group-set=[[0]], groups=[null], AGG$0=[SUM($1)], ctx=[])
+        OlapProjectRel($f0=[1.1000000000000001], $f1=[CASE(CASE(=($0, $1), true, <>($0, $1), false, null), $2, null)], ctx=[])
+          OlapAggregateRel(group-set=[[0, 1]], groups=[null], TOP_AGG$0=[SUM($2)], TOP_AGG$1=[SUM($3)], ctx=[])
+            OlapProjectRel(LO_ORDERDATE=[$0], X_measure__0=[$1], SUM_CASE$0$0=[$2], $f3=[*(0, $3)], ctx=[])
+              OlapProjectRel(LO_ORDERDATE=[$0], X_measure__0=[$3], $f5=[$5], $f6=[$6], ctx=[])
+                OlapProjectRel(LO_ORDERDATE=[$0], SUM_CASE$0$0=[$1], SUM_CONST$1=[$2], X_measure__0=[$3], $f1=[$4], $f5=[CAST(*($1, $4)):BIGINT], $f6=[*($2, $4)], ctx=[])
+                  OlapJoinRel(condition=[true], joinType=[inner], ctx=[])
+                    OlapAggregateRel(group-set=[[5]], groups=[null], SUM_CASE$0$0=[SUM($8)], SUM_CONST$1=[COUNT()], ctx=[])
+                      OlapTableScan(table=[[SSB, LINEORDER]], ctx=[], fields=[[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20]])
+                    OlapAggregateRel(group-set=[[0]], groups=[null], agg#0=[COUNT()], ctx=[])
+                      OlapProjectRel(X_measure__0=[$1], ctx=[])
+                        OlapAggregateRel(group-set=[[0]], groups=[null], X_measure__0=[MAX($1)], ctx=[])
+                          OlapProjectRel($f0=[1.1000000000000001], LO_ORDERDATE=[$5], ctx=[])
+                            OlapTableScan(table=[[SSB, LINEORDER]], ctx=[], fields=[[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20]])
 ]]>
         </Resource>
     </TestCase>
     <TestCase name="testSumExpressionSkipProjectJoinTransposeRule">
         <Resource name="planBefore">
             <![CDATA[
-KapOLAPToEnumerableConverter
-  KapAggregateRel(group-set=[[]], groups=[null], EXPR$0=[SUM($0)], ctx=[])
-    KapProjectRel($f0=[CASE(=($0, 20230501), $1, null)], ctx=[])
-      KapJoinRel(condition=[=($0, $3)], joinType=[inner], ctx=[])
-        KapProjectRel(LO_COMMITDATE=[$15], LO_DISCOUNT=[$11], LO_ORDERDATE=[$5], ctx=[])
-          KapTableScan(table=[[SSB, P_LINEORDER]], ctx=[], fields=[[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17]])
-        KapAggregateRel(group-set=[[]], groups=[null], EXPR$0=[MAX($0)], ctx=[])
-          KapProjectRel(LO_COMMITDATE=[$15], ctx=[])
-            KapTableScan(table=[[SSB, P_LINEORDER]], ctx=[], fields=[[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17]])
+OlapToEnumerableConverter
+  OlapAggregateRel(group-set=[[]], groups=[null], EXPR$0=[SUM($0)], ctx=[])
+    OlapProjectRel($f0=[CASE(=($0, 20230501), $1, null)], ctx=[])
+      OlapJoinRel(condition=[=($0, $3)], joinType=[inner], ctx=[])
+        OlapProjectRel(LO_COMMITDATE=[$15], LO_DISCOUNT=[$11], LO_ORDERDATE=[$5], ctx=[])
+          OlapTableScan(table=[[SSB, P_LINEORDER]], ctx=[], fields=[[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17]])
+        OlapAggregateRel(group-set=[[]], groups=[null], EXPR$0=[MAX($0)], ctx=[])
+          OlapProjectRel(LO_COMMITDATE=[$15], ctx=[])
+            OlapTableScan(table=[[SSB, P_LINEORDER]], ctx=[], fields=[[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17]])
 ]]>
         </Resource>
         <Resource name="planAfter">
             <![CDATA[
-KapOLAPToEnumerableConverter
-  KapAggregateRel(group-set=[[]], groups=[null], AGG$0=[SUM($0)], ctx=[])
-    KapProjectRel($f0=[CASE(=($0, 20230501), $1, null)], ctx=[])
-      KapAggregateRel(group-set=[[0]], groups=[null], TOP_AGG$0=[SUM($1)], TOP_AGG$1=[SUM($2)], ctx=[])
-        KapProjectRel(LO_COMMITDATE=[$0], SUM_CASE$0$0=[$1], $f2=[*(0, $2)], ctx=[])
-          KapAggregateRel(group-set=[[0]], groups=[null], SUM_CASE$0$0=[SUM($1)], SUM_CONST$1=[COUNT()], ctx=[])
-            KapProjectRel(LO_COMMITDATE=[$0], LO_DISCOUNT=[$1], ctx=[])
-              KapJoinRel(condition=[=($0, $3)], joinType=[inner], ctx=[])
-                KapProjectRel(LO_COMMITDATE=[$15], LO_DISCOUNT=[$11], LO_ORDERDATE=[$5], ctx=[])
-                  KapTableScan(table=[[SSB, P_LINEORDER]], ctx=[], fields=[[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17]])
-                KapAggregateRel(group-set=[[]], groups=[null], EXPR$0=[MAX($0)], ctx=[])
-                  KapProjectRel(LO_COMMITDATE=[$15], ctx=[])
-                    KapTableScan(table=[[SSB, P_LINEORDER]], ctx=[], fields=[[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17]])
+OlapToEnumerableConverter
+  OlapAggregateRel(group-set=[[]], groups=[null], AGG$0=[SUM($0)], ctx=[])
+    OlapProjectRel($f0=[CASE(=($0, 20230501), $1, null)], ctx=[])
+      OlapAggregateRel(group-set=[[0]], groups=[null], TOP_AGG$0=[SUM($1)], TOP_AGG$1=[SUM($2)], ctx=[])
+        OlapProjectRel(LO_COMMITDATE=[$0], SUM_CASE$0$0=[$1], $f2=[*(0, $2)], ctx=[])
+          OlapAggregateRel(group-set=[[0]], groups=[null], SUM_CASE$0$0=[SUM($1)], SUM_CONST$1=[COUNT()], ctx=[])
+            OlapProjectRel(LO_COMMITDATE=[$0], LO_DISCOUNT=[$1], ctx=[])
+              OlapJoinRel(condition=[=($0, $3)], joinType=[inner], ctx=[])
+                OlapProjectRel(LO_COMMITDATE=[$15], LO_DISCOUNT=[$11], LO_ORDERDATE=[$5], ctx=[])
+                  OlapTableScan(table=[[SSB, P_LINEORDER]], ctx=[], fields=[[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17]])
+                OlapAggregateRel(group-set=[[]], groups=[null], EXPR$0=[MAX($0)], ctx=[])
+                  OlapProjectRel(LO_COMMITDATE=[$15], ctx=[])
+                    OlapTableScan(table=[[SSB, P_LINEORDER]], ctx=[], fields=[[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17]])
 ]]>
         </Resource>
     </TestCase>
@@ -1476,41 +1476,41 @@ KapOLAPToEnumerableConverter
     <TestCase name="testAggPushdownWithCrossJoin2">
         <Resource name="planBefore">
             <![CDATA[
-KapOLAPToEnumerableConverter
-  KapLimitRel(ctx=[], fetch=[500])
-    KapProjectRel(sum_LO_QUANTITY_SUM______88=[$1], ctx=[])
-      KapAggregateRel(group-set=[[0]], groups=[null], sum_LO_QUANTITY_SUM______88=[SUM($1)], ctx=[])
-        KapProjectRel($f0=[1.1000000000000001], $f1=[CASE(CASE(=($5, $21), true, <>($5, $21), false, null), $8, null)], ctx=[])
-          KapFilterRel(condition=[>($8, 1)], ctx=[])
-            KapJoinRel(condition=[true], joinType=[inner], ctx=[])
-              KapTableScan(table=[[SSB, LINEORDER]], ctx=[], fields=[[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20]])
-              KapProjectRel(X_measure__0=[$1], ctx=[])
-                KapAggregateRel(group-set=[[0]], groups=[null], X_measure__0=[MAX($1)], ctx=[])
-                  KapProjectRel($f0=[1.1000000000000001], LO_ORDERDATE=[$5], ctx=[])
-                    KapTableScan(table=[[SSB, LINEORDER]], ctx=[], fields=[[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20]])
+OlapToEnumerableConverter
+  OlapLimitRel(ctx=[], fetch=[500])
+    OlapProjectRel(sum_LO_QUANTITY_SUM______88=[$1], ctx=[])
+      OlapAggregateRel(group-set=[[0]], groups=[null], sum_LO_QUANTITY_SUM______88=[SUM($1)], ctx=[])
+        OlapProjectRel($f0=[1.1000000000000001], $f1=[CASE(CASE(=($5, $21), true, <>($5, $21), false, null), $8, null)], ctx=[])
+          OlapFilterRel(condition=[>($8, 1)], ctx=[])
+            OlapJoinRel(condition=[true], joinType=[inner], ctx=[])
+              OlapTableScan(table=[[SSB, LINEORDER]], ctx=[], fields=[[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20]])
+              OlapProjectRel(X_measure__0=[$1], ctx=[])
+                OlapAggregateRel(group-set=[[0]], groups=[null], X_measure__0=[MAX($1)], ctx=[])
+                  OlapProjectRel($f0=[1.1000000000000001], LO_ORDERDATE=[$5], ctx=[])
+                    OlapTableScan(table=[[SSB, LINEORDER]], ctx=[], fields=[[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20]])
 ]]>
         </Resource>
         <Resource name="planAfter">
             <![CDATA[
-KapOLAPToEnumerableConverter
-  KapLimitRel(ctx=[], fetch=[500])
-    KapProjectRel(sum_LO_QUANTITY_SUM______88=[$1], ctx=[])
-      KapAggregateRel(group-set=[[0]], groups=[null], AGG$0=[SUM($1)], ctx=[])
-        KapProjectRel($f0=[1.1000000000000001], $f1=[CASE(CASE(=($0, $1), true, <>($0, $1), false, null), $2, null)], ctx=[])
-          KapAggregateRel(group-set=[[0, 1]], groups=[null], TOP_AGG$0=[SUM($2)], TOP_AGG$1=[SUM($3)], ctx=[])
-            KapProjectRel(LO_ORDERDATE=[$0], X_measure__0=[$1], SUM_CASE$0$0=[$2], $f3=[*(0, $3)], ctx=[])
-              KapAggregateRel(group-set=[[0, 2]], groups=[null], SUM_CASE$0$0=[SUM($3)], SUM_CONST$1=[$SUM0($4)], ctx=[])
-                KapFilterRel(condition=[>($1, 1)], ctx=[])
-                  KapProjectRel(LO_ORDERDATE=[$0], LO_QUANTITY=[$1], X_measure__0=[$4], $f6=[$6], $f7=[$7], ctx=[])
-                    KapProjectRel(LO_ORDERDATE=[$0], LO_QUANTITY=[$1], SUM_CASE$0$0=[$2], SUM_CONST$1=[$3], X_measure__0=[$4], $f1=[$5], $f6=[CAST(*($2, $5)):BIGINT], $f7=[*($3, $5)], ctx=[])
-                      KapJoinRel(condition=[true], joinType=[inner], ctx=[])
-                        KapAggregateRel(group-set=[[5, 8]], groups=[null], SUM_CASE$0$0=[SUM($8)], SUM_CONST$1=[COUNT()], ctx=[])
-                          KapTableScan(table=[[SSB, LINEORDER]], ctx=[], fields=[[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20]])
-                        KapAggregateRel(group-set=[[0]], groups=[null], agg#0=[COUNT()], ctx=[])
-                          KapProjectRel(X_measure__0=[$1], ctx=[])
-                            KapAggregateRel(group-set=[[0]], groups=[null], X_measure__0=[MAX($1)], ctx=[])
-                              KapProjectRel($f0=[1.1000000000000001], LO_ORDERDATE=[$5], ctx=[])
-                                KapTableScan(table=[[SSB, LINEORDER]], ctx=[], fields=[[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20]])
+OlapToEnumerableConverter
+  OlapLimitRel(ctx=[], fetch=[500])
+    OlapProjectRel(sum_LO_QUANTITY_SUM______88=[$1], ctx=[])
+      OlapAggregateRel(group-set=[[0]], groups=[null], AGG$0=[SUM($1)], ctx=[])
+        OlapProjectRel($f0=[1.1000000000000001], $f1=[CASE(CASE(=($0, $1), true, <>($0, $1), false, null), $2, null)], ctx=[])
+          OlapAggregateRel(group-set=[[0, 1]], groups=[null], TOP_AGG$0=[SUM($2)], TOP_AGG$1=[SUM($3)], ctx=[])
+            OlapProjectRel(LO_ORDERDATE=[$0], X_measure__0=[$1], SUM_CASE$0$0=[$2], $f3=[*(0, $3)], ctx=[])
+              OlapAggregateRel(group-set=[[0, 2]], groups=[null], SUM_CASE$0$0=[SUM($3)], SUM_CONST$1=[$SUM0($4)], ctx=[])
+                OlapFilterRel(condition=[>($1, 1)], ctx=[])
+                  OlapProjectRel(LO_ORDERDATE=[$0], LO_QUANTITY=[$1], X_measure__0=[$4], $f6=[$6], $f7=[$7], ctx=[])
+                    OlapProjectRel(LO_ORDERDATE=[$0], LO_QUANTITY=[$1], SUM_CASE$0$0=[$2], SUM_CONST$1=[$3], X_measure__0=[$4], $f1=[$5], $f6=[CAST(*($2, $5)):BIGINT], $f7=[*($3, $5)], ctx=[])
+                      OlapJoinRel(condition=[true], joinType=[inner], ctx=[])
+                        OlapAggregateRel(group-set=[[5, 8]], groups=[null], SUM_CASE$0$0=[SUM($8)], SUM_CONST$1=[COUNT()], ctx=[])
+                          OlapTableScan(table=[[SSB, LINEORDER]], ctx=[], fields=[[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20]])
+                        OlapAggregateRel(group-set=[[0]], groups=[null], agg#0=[COUNT()], ctx=[])
+                          OlapProjectRel(X_measure__0=[$1], ctx=[])
+                            OlapAggregateRel(group-set=[[0]], groups=[null], X_measure__0=[MAX($1)], ctx=[])
+                              OlapProjectRel($f0=[1.1000000000000001], LO_ORDERDATE=[$5], ctx=[])
+                                OlapTableScan(table=[[SSB, LINEORDER]], ctx=[], fields=[[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20]])
 ]]>
         </Resource>
     </TestCase>
diff --git a/src/kylin-it/src/test/resources/org/apache/kylin/query/rules/AggPushdownRuleTest.xml b/src/kylin-it/src/test/resources/org/apache/kylin/query/rules/AggPushdownRuleTest.xml
index 2fb8677ecc..840f5da5d0 100644
--- a/src/kylin-it/src/test/resources/org/apache/kylin/query/rules/AggPushdownRuleTest.xml
+++ b/src/kylin-it/src/test/resources/org/apache/kylin/query/rules/AggPushdownRuleTest.xml
@@ -21,562 +21,562 @@
     <TestCase name="testAggPushdown">
         <Resource name="query01.planBefore">
             <![CDATA[
-KapOLAPToEnumerableConverter
-  KapAggregateRel(group-set=[[0]], groups=[null], usr_GMV_SUM_ok=[SUM($1)], ctx=[])
-    KapProjectRel(Calculation_1162491713472385025=[CASE(<($17, 164000), '[0,164000)', <($17, 166000), '[164000, 166000)', '[166000, +∞')], PRICE=[$8], ctx=[])
-      KapFilterRel(condition=[<>($3, 'Auction')], ctx=[])
-        KapJoinRel(condition=[=($3, $16)], joinType=[inner], ctx=[])
-          KapTableScan(table=[[DEFAULT, TEST_KYLIN_FACT]], ctx=[], fields=[[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15]])
-          KapAggregateRel(group-set=[[0]], groups=[null], X_measure__0=[SUM($1)], ctx=[])
-            KapProjectRel(LSTG_FORMAT_NAME=[$3], PRICE=[$8], ctx=[])
-              KapFilterRel(condition=[<>($3, 'Auction')], ctx=[])
-                KapTableScan(table=[[DEFAULT, TEST_KYLIN_FACT]], ctx=[], fields=[[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15]])
+OlapToEnumerableConverter
+  OlapAggregateRel(group-set=[[0]], groups=[null], usr_GMV_SUM_ok=[SUM($1)], ctx=[])
+    OlapProjectRel(Calculation_1162491713472385025=[CASE(<($17, 164000), '[0,164000)', <($17, 166000), '[164000, 166000)', '[166000, +∞')], PRICE=[$8], ctx=[])
+      OlapFilterRel(condition=[<>($3, 'Auction')], ctx=[])
+        OlapJoinRel(condition=[=($3, $16)], joinType=[inner], ctx=[])
+          OlapTableScan(table=[[DEFAULT, TEST_KYLIN_FACT]], ctx=[], fields=[[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15]])
+          OlapAggregateRel(group-set=[[0]], groups=[null], X_measure__0=[SUM($1)], ctx=[])
+            OlapProjectRel(LSTG_FORMAT_NAME=[$3], PRICE=[$8], ctx=[])
+              OlapFilterRel(condition=[<>($3, 'Auction')], ctx=[])
+                OlapTableScan(table=[[DEFAULT, TEST_KYLIN_FACT]], ctx=[], fields=[[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15]])
 ]]>
         </Resource>
         <Resource name="query01.planAfter">
             <![CDATA[
-KapOLAPToEnumerableConverter
-  KapAggregateRel(group-set=[[0]], groups=[null], usr_GMV_SUM_ok=[SUM($1)], ctx=[])
-    KapProjectRel(Calculation_1162491713472385025=[CASE(<($0, 164000), '[0,164000)', <($0, 166000), '[164000, 166000)', '[166000, +∞')], PRICE=[$1], ctx=[])
-      KapAggregateRel(group-set=[[1]], groups=[null], usr_GMV_SUM_ok=[SUM($2)], ctx=[])
-        KapFilterRel(condition=[<>($0, 'Auction')], ctx=[])
-          KapProjectRel(LSTG_FORMAT_NAME=[$0], X_measure__0=[$3], usr_GMV_SUM_ok=[$1], ctx=[])
-            KapJoinRel(condition=[=($0, $2)], joinType=[inner], ctx=[])
-              KapAggregateRel(group-set=[[3]], groups=[null], usr_GMV_SUM_ok=[SUM($8)], ctx=[])
-                KapTableScan(table=[[DEFAULT, TEST_KYLIN_FACT]], ctx=[], fields=[[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15]])
-              KapAggregateRel(group-set=[[0]], groups=[null], X_measure__0=[SUM($1)], ctx=[])
-                KapProjectRel(LSTG_FORMAT_NAME=[$3], PRICE=[$8], ctx=[])
-                  KapFilterRel(condition=[<>($3, 'Auction')], ctx=[])
-                    KapTableScan(table=[[DEFAULT, TEST_KYLIN_FACT]], ctx=[], fields=[[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15]])
+OlapToEnumerableConverter
+  OlapAggregateRel(group-set=[[0]], groups=[null], usr_GMV_SUM_ok=[SUM($1)], ctx=[])
+    OlapProjectRel(Calculation_1162491713472385025=[CASE(<($0, 164000), '[0,164000)', <($0, 166000), '[164000, 166000)', '[166000, +∞')], PRICE=[$1], ctx=[])
+      OlapAggregateRel(group-set=[[1]], groups=[null], usr_GMV_SUM_ok=[SUM($2)], ctx=[])
+        OlapFilterRel(condition=[<>($0, 'Auction')], ctx=[])
+          OlapProjectRel(LSTG_FORMAT_NAME=[$0], X_measure__0=[$3], usr_GMV_SUM_ok=[$1], ctx=[])
+            OlapJoinRel(condition=[=($0, $2)], joinType=[inner], ctx=[])
+              OlapAggregateRel(group-set=[[3]], groups=[null], usr_GMV_SUM_ok=[SUM($8)], ctx=[])
+                OlapTableScan(table=[[DEFAULT, TEST_KYLIN_FACT]], ctx=[], fields=[[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15]])
+              OlapAggregateRel(group-set=[[0]], groups=[null], X_measure__0=[SUM($1)], ctx=[])
+                OlapProjectRel(LSTG_FORMAT_NAME=[$3], PRICE=[$8], ctx=[])
+                  OlapFilterRel(condition=[<>($3, 'Auction')], ctx=[])
+                    OlapTableScan(table=[[DEFAULT, TEST_KYLIN_FACT]], ctx=[], fields=[[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15]])
 ]]>
         </Resource>
         <Resource name="query02.planBefore">
             <![CDATA[
-KapOLAPToEnumerableConverter
-  KapAggregateRel(group-set=[[0, 1]], groups=[null], usr_GMV_SUM_ok=[SUM($2)], ctx=[])
-    KapProjectRel(Calculation_1162491713472385025=[CASE(<($17, 164000), '[0,164000)', <($17, 166000), '[164000, 166000)', '[166000, +∞')], LSTG_FORMAT_NAME=[$16], PRICE=[$8], ctx=[])
-      KapFilterRel(condition=[<>($3, 'Auction')], ctx=[])
-        KapJoinRel(condition=[=($3, $16)], joinType=[inner], ctx=[])
-          KapTableScan(table=[[DEFAULT, TEST_KYLIN_FACT]], ctx=[], fields=[[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15]])
-          KapAggregateRel(group-set=[[0]], groups=[null], X_measure__0=[SUM($1)], ctx=[])
-            KapProjectRel(LSTG_FORMAT_NAME=[$3], PRICE=[$8], ctx=[])
-              KapFilterRel(condition=[<>($3, 'Auction')], ctx=[])
-                KapTableScan(table=[[DEFAULT, TEST_KYLIN_FACT]], ctx=[], fields=[[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15]])
+OlapToEnumerableConverter
+  OlapAggregateRel(group-set=[[0, 1]], groups=[null], usr_GMV_SUM_ok=[SUM($2)], ctx=[])
+    OlapProjectRel(Calculation_1162491713472385025=[CASE(<($17, 164000), '[0,164000)', <($17, 166000), '[164000, 166000)', '[166000, +∞')], LSTG_FORMAT_NAME=[$16], PRICE=[$8], ctx=[])
+      OlapFilterRel(condition=[<>($3, 'Auction')], ctx=[])
+        OlapJoinRel(condition=[=($3, $16)], joinType=[inner], ctx=[])
+          OlapTableScan(table=[[DEFAULT, TEST_KYLIN_FACT]], ctx=[], fields=[[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15]])
+          OlapAggregateRel(group-set=[[0]], groups=[null], X_measure__0=[SUM($1)], ctx=[])
+            OlapProjectRel(LSTG_FORMAT_NAME=[$3], PRICE=[$8], ctx=[])
+              OlapFilterRel(condition=[<>($3, 'Auction')], ctx=[])
+                OlapTableScan(table=[[DEFAULT, TEST_KYLIN_FACT]], ctx=[], fields=[[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15]])
 ]]>
         </Resource>
         <Resource name="query02.planAfter">
             <![CDATA[
-KapOLAPToEnumerableConverter
-  KapAggregateRel(group-set=[[0, 1]], groups=[null], usr_GMV_SUM_ok=[SUM($2)], ctx=[])
-    KapProjectRel(Calculation_1162491713472385025=[CASE(<($1, 164000), '[0,164000)', <($1, 166000), '[164000, 166000)', '[166000, +∞')], LSTG_FORMAT_NAME=[$0], PRICE=[$2], ctx=[])
-      KapAggregateRel(group-set=[[1, 2]], groups=[null], usr_GMV_SUM_ok=[SUM($3)], ctx=[])
-        KapFilterRel(condition=[<>($0, 'Auction')], ctx=[])
-          KapProjectRel(LSTG_FORMAT_NAME=[$0], LSTG_FORMAT_NAME0=[$2], X_measure__0=[$3], usr_GMV_SUM_ok=[$1], ctx=[])
-            KapJoinRel(condition=[=($0, $2)], joinType=[inner], ctx=[])
-              KapAggregateRel(group-set=[[3]], groups=[null], usr_GMV_SUM_ok=[SUM($8)], ctx=[])
-                KapTableScan(table=[[DEFAULT, TEST_KYLIN_FACT]], ctx=[], fields=[[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15]])
-              KapAggregateRel(group-set=[[0]], groups=[null], X_measure__0=[SUM($1)], ctx=[])
-                KapProjectRel(LSTG_FORMAT_NAME=[$3], PRICE=[$8], ctx=[])
-                  KapFilterRel(condition=[<>($3, 'Auction')], ctx=[])
-                    KapTableScan(table=[[DEFAULT, TEST_KYLIN_FACT]], ctx=[], fields=[[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15]])
+OlapToEnumerableConverter
+  OlapAggregateRel(group-set=[[0, 1]], groups=[null], usr_GMV_SUM_ok=[SUM($2)], ctx=[])
+    OlapProjectRel(Calculation_1162491713472385025=[CASE(<($1, 164000), '[0,164000)', <($1, 166000), '[164000, 166000)', '[166000, +∞')], LSTG_FORMAT_NAME=[$0], PRICE=[$2], ctx=[])
+      OlapAggregateRel(group-set=[[1, 2]], groups=[null], usr_GMV_SUM_ok=[SUM($3)], ctx=[])
+        OlapFilterRel(condition=[<>($0, 'Auction')], ctx=[])
+          OlapProjectRel(LSTG_FORMAT_NAME=[$0], LSTG_FORMAT_NAME0=[$2], X_measure__0=[$3], usr_GMV_SUM_ok=[$1], ctx=[])
+            OlapJoinRel(condition=[=($0, $2)], joinType=[inner], ctx=[])
+              OlapAggregateRel(group-set=[[3]], groups=[null], usr_GMV_SUM_ok=[SUM($8)], ctx=[])
+                OlapTableScan(table=[[DEFAULT, TEST_KYLIN_FACT]], ctx=[], fields=[[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15]])
+              OlapAggregateRel(group-set=[[0]], groups=[null], X_measure__0=[SUM($1)], ctx=[])
+                OlapProjectRel(LSTG_FORMAT_NAME=[$3], PRICE=[$8], ctx=[])
+                  OlapFilterRel(condition=[<>($3, 'Auction')], ctx=[])
+                    OlapTableScan(table=[[DEFAULT, TEST_KYLIN_FACT]], ctx=[], fields=[[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15]])
 ]]>
         </Resource>
         <Resource name="query03.planBefore">
             <![CDATA[
-KapOLAPToEnumerableConverter
-  KapAggregateRel(group-set=[[0]], groups=[null], usr_GMV_SUM_ok=[SUM($1)], ctx=[])
-    KapProjectRel(Calculation_1162491713472385025=[CASE(<($1, 164000), '[0,164000)', <($1, 166000), '[164000, 166000)', '[166000, +∞')], PRICE=[$10], ctx=[])
-      KapFilterRel(condition=[<>($5, 'Auction')], ctx=[])
-        KapJoinRel(condition=[=($0, $5)], joinType=[inner], ctx=[])
-          KapAggregateRel(group-set=[[0]], groups=[null], X_measure__0=[SUM($1)], ctx=[])
-            KapProjectRel(LSTG_FORMAT_NAME=[$3], PRICE=[$8], ctx=[])
-              KapFilterRel(condition=[<>($3, 'Auction')], ctx=[])
-                KapTableScan(table=[[DEFAULT, TEST_KYLIN_FACT]], ctx=[], fields=[[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15]])
-          KapTableScan(table=[[DEFAULT, TEST_KYLIN_FACT]], ctx=[], fields=[[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15]])
+OlapToEnumerableConverter
+  OlapAggregateRel(group-set=[[0]], groups=[null], usr_GMV_SUM_ok=[SUM($1)], ctx=[])
+    OlapProjectRel(Calculation_1162491713472385025=[CASE(<($1, 164000), '[0,164000)', <($1, 166000), '[164000, 166000)', '[166000, +∞')], PRICE=[$10], ctx=[])
+      OlapFilterRel(condition=[<>($5, 'Auction')], ctx=[])
+        OlapJoinRel(condition=[=($0, $5)], joinType=[inner], ctx=[])
+          OlapAggregateRel(group-set=[[0]], groups=[null], X_measure__0=[SUM($1)], ctx=[])
+            OlapProjectRel(LSTG_FORMAT_NAME=[$3], PRICE=[$8], ctx=[])
+              OlapFilterRel(condition=[<>($3, 'Auction')], ctx=[])
+                OlapTableScan(table=[[DEFAULT, TEST_KYLIN_FACT]], ctx=[], fields=[[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15]])
+          OlapTableScan(table=[[DEFAULT, TEST_KYLIN_FACT]], ctx=[], fields=[[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15]])
 ]]>
         </Resource>
         <Resource name="query03.planAfter">
             <![CDATA[
-KapOLAPToEnumerableConverter
-  KapAggregateRel(group-set=[[0]], groups=[null], usr_GMV_SUM_ok=[SUM($1)], ctx=[])
-    KapProjectRel(Calculation_1162491713472385025=[CASE(<($0, 164000), '[0,164000)', <($0, 166000), '[164000, 166000)', '[166000, +∞')], PRICE=[$1], ctx=[])
-      KapAggregateRel(group-set=[[0]], groups=[null], usr_GMV_SUM_ok=[SUM($2)], ctx=[])
-        KapFilterRel(condition=[<>($1, 'Auction')], ctx=[])
-          KapProjectRel(X_measure__0=[$1], LSTG_FORMAT_NAME=[$2], usr_GMV_SUM_ok=[$3], ctx=[])
-            KapJoinRel(condition=[=($0, $2)], joinType=[inner], ctx=[])
-              KapAggregateRel(group-set=[[0]], groups=[null], X_measure__0=[SUM($1)], ctx=[])
-                KapProjectRel(LSTG_FORMAT_NAME=[$3], PRICE=[$8], ctx=[])
-                  KapFilterRel(condition=[<>($3, 'Auction')], ctx=[])
-                    KapTableScan(table=[[DEFAULT, TEST_KYLIN_FACT]], ctx=[], fields=[[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15]])
-              KapAggregateRel(group-set=[[3]], groups=[null], usr_GMV_SUM_ok=[SUM($8)], ctx=[])
-                KapTableScan(table=[[DEFAULT, TEST_KYLIN_FACT]], ctx=[], fields=[[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15]])
+OlapToEnumerableConverter
+  OlapAggregateRel(group-set=[[0]], groups=[null], usr_GMV_SUM_ok=[SUM($1)], ctx=[])
+    OlapProjectRel(Calculation_1162491713472385025=[CASE(<($0, 164000), '[0,164000)', <($0, 166000), '[164000, 166000)', '[166000, +∞')], PRICE=[$1], ctx=[])
+      OlapAggregateRel(group-set=[[0]], groups=[null], usr_GMV_SUM_ok=[SUM($2)], ctx=[])
+        OlapFilterRel(condition=[<>($1, 'Auction')], ctx=[])
+          OlapProjectRel(X_measure__0=[$1], LSTG_FORMAT_NAME=[$2], usr_GMV_SUM_ok=[$3], ctx=[])
+            OlapJoinRel(condition=[=($0, $2)], joinType=[inner], ctx=[])
+              OlapAggregateRel(group-set=[[0]], groups=[null], X_measure__0=[SUM($1)], ctx=[])
+                OlapProjectRel(LSTG_FORMAT_NAME=[$3], PRICE=[$8], ctx=[])
+                  OlapFilterRel(condition=[<>($3, 'Auction')], ctx=[])
+                    OlapTableScan(table=[[DEFAULT, TEST_KYLIN_FACT]], ctx=[], fields=[[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15]])
+              OlapAggregateRel(group-set=[[3]], groups=[null], usr_GMV_SUM_ok=[SUM($8)], ctx=[])
+                OlapTableScan(table=[[DEFAULT, TEST_KYLIN_FACT]], ctx=[], fields=[[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15]])
 ]]>
         </Resource>
         <Resource name="query04.planBefore">
             <![CDATA[
-KapOLAPToEnumerableConverter
-  KapAggregateRel(group-set=[[0]], groups=[null], usr_GMV_SUM_ok=[SUM($1)], ctx=[])
-    KapProjectRel(Calculation_1162491713472385025=[CASE(<($22, 164000), '[0,164000)', <($22, 166000), '[164000, 166000)', '[166000, +∞')], PRICE=[$8], ctx=[])
-      KapFilterRel(condition=[<>($3, 'Auction')], ctx=[])
-        KapJoinRel(condition=[=($3, $21)], joinType=[inner], ctx=[])
-          KapJoinRel(condition=[=($7, $16)], joinType=[inner], ctx=[])
-            KapTableScan(table=[[DEFAULT, TEST_KYLIN_FACT]], ctx=[], fields=[[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15]])
-            KapTableScan(table=[[DEFAULT, TEST_ACCOUNT]], ctx=[], fields=[[0, 1, 2, 3, 4]])
-          KapAggregateRel(group-set=[[0]], groups=[null], X_measure__0=[SUM($1)], ctx=[])
-            KapProjectRel(LSTG_FORMAT_NAME=[$3], PRICE=[$8], ctx=[])
-              KapFilterRel(condition=[<>($3, 'Auction')], ctx=[])
-                KapJoinRel(condition=[=($7, $16)], joinType=[inner], ctx=[])
-                  KapTableScan(table=[[DEFAULT, TEST_KYLIN_FACT]], ctx=[], fields=[[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15]])
-                  KapTableScan(table=[[DEFAULT, TEST_ACCOUNT]], ctx=[], fields=[[0, 1, 2, 3, 4]])
+OlapToEnumerableConverter
+  OlapAggregateRel(group-set=[[0]], groups=[null], usr_GMV_SUM_ok=[SUM($1)], ctx=[])
+    OlapProjectRel(Calculation_1162491713472385025=[CASE(<($22, 164000), '[0,164000)', <($22, 166000), '[164000, 166000)', '[166000, +∞')], PRICE=[$8], ctx=[])
+      OlapFilterRel(condition=[<>($3, 'Auction')], ctx=[])
+        OlapJoinRel(condition=[=($3, $21)], joinType=[inner], ctx=[])
+          OlapJoinRel(condition=[=($7, $16)], joinType=[inner], ctx=[])
+            OlapTableScan(table=[[DEFAULT, TEST_KYLIN_FACT]], ctx=[], fields=[[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15]])
+            OlapTableScan(table=[[DEFAULT, TEST_ACCOUNT]], ctx=[], fields=[[0, 1, 2, 3, 4]])
+          OlapAggregateRel(group-set=[[0]], groups=[null], X_measure__0=[SUM($1)], ctx=[])
+            OlapProjectRel(LSTG_FORMAT_NAME=[$3], PRICE=[$8], ctx=[])
+              OlapFilterRel(condition=[<>($3, 'Auction')], ctx=[])
+                OlapJoinRel(condition=[=($7, $16)], joinType=[inner], ctx=[])
+                  OlapTableScan(table=[[DEFAULT, TEST_KYLIN_FACT]], ctx=[], fields=[[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15]])
+                  OlapTableScan(table=[[DEFAULT, TEST_ACCOUNT]], ctx=[], fields=[[0, 1, 2, 3, 4]])
 ]]>
         </Resource>
         <Resource name="query04.planAfter">
             <![CDATA[
-KapOLAPToEnumerableConverter
-  KapAggregateRel(group-set=[[0]], groups=[null], usr_GMV_SUM_ok=[SUM($1)], ctx=[])
-    KapProjectRel(Calculation_1162491713472385025=[CASE(<($0, 164000), '[0,164000)', <($0, 166000), '[164000, 166000)', '[166000, +∞')], PRICE=[$1], ctx=[])
-      KapAggregateRel(group-set=[[1]], groups=[null], usr_GMV_SUM_ok=[SUM($2)], ctx=[])
-        KapFilterRel(condition=[<>($0, 'Auction')], ctx=[])
-          KapProjectRel(LSTG_FORMAT_NAME=[$0], X_measure__0=[$3], usr_GMV_SUM_ok=[$1], ctx=[])
-            KapJoinRel(condition=[=($0, $2)], joinType=[inner], ctx=[])
-              KapAggregateRel(group-set=[[3]], groups=[null], usr_GMV_SUM_ok=[SUM($8)], ctx=[])
-                KapJoinRel(condition=[=($7, $16)], joinType=[inner], ctx=[])
-                  KapTableScan(table=[[DEFAULT, TEST_KYLIN_FACT]], ctx=[], fields=[[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15]])
-                  KapTableScan(table=[[DEFAULT, TEST_ACCOUNT]], ctx=[], fields=[[0, 1, 2, 3, 4]])
-              KapAggregateRel(group-set=[[0]], groups=[null], X_measure__0=[SUM($1)], ctx=[])
-                KapProjectRel(LSTG_FORMAT_NAME=[$3], PRICE=[$8], ctx=[])
-                  KapFilterRel(condition=[<>($3, 'Auction')], ctx=[])
-                    KapJoinRel(condition=[=($7, $16)], joinType=[inner], ctx=[])
-                      KapTableScan(table=[[DEFAULT, TEST_KYLIN_FACT]], ctx=[], fields=[[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15]])
-                      KapTableScan(table=[[DEFAULT, TEST_ACCOUNT]], ctx=[], fields=[[0, 1, 2, 3, 4]])
+OlapToEnumerableConverter
+  OlapAggregateRel(group-set=[[0]], groups=[null], usr_GMV_SUM_ok=[SUM($1)], ctx=[])
+    OlapProjectRel(Calculation_1162491713472385025=[CASE(<($0, 164000), '[0,164000)', <($0, 166000), '[164000, 166000)', '[166000, +∞')], PRICE=[$1], ctx=[])
+      OlapAggregateRel(group-set=[[1]], groups=[null], usr_GMV_SUM_ok=[SUM($2)], ctx=[])
+        OlapFilterRel(condition=[<>($0, 'Auction')], ctx=[])
+          OlapProjectRel(LSTG_FORMAT_NAME=[$0], X_measure__0=[$3], usr_GMV_SUM_ok=[$1], ctx=[])
+            OlapJoinRel(condition=[=($0, $2)], joinType=[inner], ctx=[])
+              OlapAggregateRel(group-set=[[3]], groups=[null], usr_GMV_SUM_ok=[SUM($8)], ctx=[])
+                OlapJoinRel(condition=[=($7, $16)], joinType=[inner], ctx=[])
+                  OlapTableScan(table=[[DEFAULT, TEST_KYLIN_FACT]], ctx=[], fields=[[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15]])
+                  OlapTableScan(table=[[DEFAULT, TEST_ACCOUNT]], ctx=[], fields=[[0, 1, 2, 3, 4]])
+              OlapAggregateRel(group-set=[[0]], groups=[null], X_measure__0=[SUM($1)], ctx=[])
+                OlapProjectRel(LSTG_FORMAT_NAME=[$3], PRICE=[$8], ctx=[])
+                  OlapFilterRel(condition=[<>($3, 'Auction')], ctx=[])
+                    OlapJoinRel(condition=[=($7, $16)], joinType=[inner], ctx=[])
+                      OlapTableScan(table=[[DEFAULT, TEST_KYLIN_FACT]], ctx=[], fields=[[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15]])
+                      OlapTableScan(table=[[DEFAULT, TEST_ACCOUNT]], ctx=[], fields=[[0, 1, 2, 3, 4]])
 ]]>
         </Resource>
         <Resource name="query05.planBefore">
             <![CDATA[
-KapOLAPToEnumerableConverter
-  KapAggregateRel(group-set=[[0]], groups=[null], usr_GMV_SUM_ok=[SUM($1)], ctx=[])
-    KapProjectRel(Calculation_1162491713472385025=[$17], PRICE=[$8], ctx=[])
-      KapFilterRel(condition=[<>($3, 'Auction')], ctx=[])
-        KapJoinRel(condition=[=($3, $16)], joinType=[inner], ctx=[])
-          KapTableScan(table=[[DEFAULT, TEST_KYLIN_FACT]], ctx=[], fields=[[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15]])
-          KapAggregateRel(group-set=[[0]], groups=[null], X_measure__0=[SUM($1)], ctx=[])
-            KapProjectRel(LSTG_FORMAT_NAME=[$3], PRICE=[$8], ctx=[])
-              KapFilterRel(condition=[<>($3, 'Auction')], ctx=[])
-                KapTableScan(table=[[DEFAULT, TEST_KYLIN_FACT]], ctx=[], fields=[[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15]])
+OlapToEnumerableConverter
+  OlapAggregateRel(group-set=[[0]], groups=[null], usr_GMV_SUM_ok=[SUM($1)], ctx=[])
+    OlapProjectRel(Calculation_1162491713472385025=[$17], PRICE=[$8], ctx=[])
+      OlapFilterRel(condition=[<>($3, 'Auction')], ctx=[])
+        OlapJoinRel(condition=[=($3, $16)], joinType=[inner], ctx=[])
+          OlapTableScan(table=[[DEFAULT, TEST_KYLIN_FACT]], ctx=[], fields=[[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15]])
+          OlapAggregateRel(group-set=[[0]], groups=[null], X_measure__0=[SUM($1)], ctx=[])
+            OlapProjectRel(LSTG_FORMAT_NAME=[$3], PRICE=[$8], ctx=[])
+              OlapFilterRel(condition=[<>($3, 'Auction')], ctx=[])
+                OlapTableScan(table=[[DEFAULT, TEST_KYLIN_FACT]], ctx=[], fields=[[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15]])
 ]]>
         </Resource>
         <Resource name="query05.planAfter">
             <![CDATA[
-KapOLAPToEnumerableConverter
-  KapAggregateRel(group-set=[[1]], groups=[null], usr_GMV_SUM_ok=[SUM($2)], ctx=[])
-    KapFilterRel(condition=[<>($0, 'Auction')], ctx=[])
-      KapProjectRel(LSTG_FORMAT_NAME=[$0], X_measure__0=[$3], usr_GMV_SUM_ok=[$1], ctx=[])
-        KapJoinRel(condition=[=($0, $2)], joinType=[inner], ctx=[])
-          KapAggregateRel(group-set=[[3]], groups=[null], usr_GMV_SUM_ok=[SUM($8)], ctx=[])
-            KapTableScan(table=[[DEFAULT, TEST_KYLIN_FACT]], ctx=[], fields=[[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15]])
-          KapAggregateRel(group-set=[[0]], groups=[null], X_measure__0=[SUM($1)], ctx=[])
-            KapProjectRel(LSTG_FORMAT_NAME=[$3], PRICE=[$8], ctx=[])
-              KapFilterRel(condition=[<>($3, 'Auction')], ctx=[])
-                KapTableScan(table=[[DEFAULT, TEST_KYLIN_FACT]], ctx=[], fields=[[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15]])
+OlapToEnumerableConverter
+  OlapAggregateRel(group-set=[[1]], groups=[null], usr_GMV_SUM_ok=[SUM($2)], ctx=[])
+    OlapFilterRel(condition=[<>($0, 'Auction')], ctx=[])
+      OlapProjectRel(LSTG_FORMAT_NAME=[$0], X_measure__0=[$3], usr_GMV_SUM_ok=[$1], ctx=[])
+        OlapJoinRel(condition=[=($0, $2)], joinType=[inner], ctx=[])
+          OlapAggregateRel(group-set=[[3]], groups=[null], usr_GMV_SUM_ok=[SUM($8)], ctx=[])
+            OlapTableScan(table=[[DEFAULT, TEST_KYLIN_FACT]], ctx=[], fields=[[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15]])
+          OlapAggregateRel(group-set=[[0]], groups=[null], X_measure__0=[SUM($1)], ctx=[])
+            OlapProjectRel(LSTG_FORMAT_NAME=[$3], PRICE=[$8], ctx=[])
+              OlapFilterRel(condition=[<>($3, 'Auction')], ctx=[])
+                OlapTableScan(table=[[DEFAULT, TEST_KYLIN_FACT]], ctx=[], fields=[[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15]])
 ]]>
         </Resource>
         <Resource name="query06.planBefore">
             <![CDATA[
-KapOLAPToEnumerableConverter
-  KapAggregateRel(group-set=[[0]], groups=[null], usr_GMV_SUM_ok=[SUM($1)], ctx=[])
-    KapProjectRel(Calculation_1162491713472385025=[CASE(AND(<($17, 164000), =($16, 'ABIN')), '[0,164000)', AND(<($17, 166000), =($16, 'ABIN')), '[164000, 166000)', '[166000, +∞')], PRICE=[$8], ctx=[])
-      KapFilterRel(condition=[<>($3, 'Auction')], ctx=[])
-        KapJoinRel(condition=[=($3, $16)], joinType=[inner], ctx=[])
-          KapTableScan(table=[[DEFAULT, TEST_KYLIN_FACT]], ctx=[], fields=[[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15]])
-          KapAggregateRel(group-set=[[0]], groups=[null], X_measure__0=[SUM($1)], ctx=[])
-            KapProjectRel(LSTG_FORMAT_NAME=[$3], PRICE=[$8], ctx=[])
-              KapFilterRel(condition=[<>($3, 'Auction')], ctx=[])
-                KapTableScan(table=[[DEFAULT, TEST_KYLIN_FACT]], ctx=[], fields=[[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15]])
+OlapToEnumerableConverter
+  OlapAggregateRel(group-set=[[0]], groups=[null], usr_GMV_SUM_ok=[SUM($1)], ctx=[])
+    OlapProjectRel(Calculation_1162491713472385025=[CASE(AND(<($17, 164000), =($16, 'ABIN')), '[0,164000)', AND(<($17, 166000), =($16, 'ABIN')), '[164000, 166000)', '[166000, +∞')], PRICE=[$8], ctx=[])
+      OlapFilterRel(condition=[<>($3, 'Auction')], ctx=[])
+        OlapJoinRel(condition=[=($3, $16)], joinType=[inner], ctx=[])
+          OlapTableScan(table=[[DEFAULT, TEST_KYLIN_FACT]], ctx=[], fields=[[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15]])
+          OlapAggregateRel(group-set=[[0]], groups=[null], X_measure__0=[SUM($1)], ctx=[])
+            OlapProjectRel(LSTG_FORMAT_NAME=[$3], PRICE=[$8], ctx=[])
+              OlapFilterRel(condition=[<>($3, 'Auction')], ctx=[])
+                OlapTableScan(table=[[DEFAULT, TEST_KYLIN_FACT]], ctx=[], fields=[[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15]])
 ]]>
         </Resource>
         <Resource name="query06.planAfter">
             <![CDATA[
-KapOLAPToEnumerableConverter
-  KapAggregateRel(group-set=[[0]], groups=[null], usr_GMV_SUM_ok=[SUM($1)], ctx=[])
-    KapProjectRel(Calculation_1162491713472385025=[CASE(AND(<($1, 164000), =($0, 'ABIN')), '[0,164000)', AND(<($1, 166000), =($0, 'ABIN')), '[164000, 166000)', '[166000, +∞')], PRICE=[$2], ctx=[])
-      KapAggregateRel(group-set=[[1, 2]], groups=[null], usr_GMV_SUM_ok=[SUM($3)], ctx=[])
-        KapFilterRel(condition=[<>($0, 'Auction')], ctx=[])
-          KapProjectRel(LSTG_FORMAT_NAME=[$0], LSTG_FORMAT_NAME0=[$2], X_measure__0=[$3], usr_GMV_SUM_ok=[$1], ctx=[])
-            KapJoinRel(condition=[=($0, $2)], joinType=[inner], ctx=[])
-              KapAggregateRel(group-set=[[3]], groups=[null], usr_GMV_SUM_ok=[SUM($8)], ctx=[])
-                KapTableScan(table=[[DEFAULT, TEST_KYLIN_FACT]], ctx=[], fields=[[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15]])
-              KapAggregateRel(group-set=[[0]], groups=[null], X_measure__0=[SUM($1)], ctx=[])
-                KapProjectRel(LSTG_FORMAT_NAME=[$3], PRICE=[$8], ctx=[])
-                  KapFilterRel(condition=[<>($3, 'Auction')], ctx=[])
-                    KapTableScan(table=[[DEFAULT, TEST_KYLIN_FACT]], ctx=[], fields=[[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15]])
+OlapToEnumerableConverter
+  OlapAggregateRel(group-set=[[0]], groups=[null], usr_GMV_SUM_ok=[SUM($1)], ctx=[])
+    OlapProjectRel(Calculation_1162491713472385025=[CASE(AND(<($1, 164000), =($0, 'ABIN')), '[0,164000)', AND(<($1, 166000), =($0, 'ABIN')), '[164000, 166000)', '[166000, +∞')], PRICE=[$2], ctx=[])
+      OlapAggregateRel(group-set=[[1, 2]], groups=[null], usr_GMV_SUM_ok=[SUM($3)], ctx=[])
+        OlapFilterRel(condition=[<>($0, 'Auction')], ctx=[])
+          OlapProjectRel(LSTG_FORMAT_NAME=[$0], LSTG_FORMAT_NAME0=[$2], X_measure__0=[$3], usr_GMV_SUM_ok=[$1], ctx=[])
+            OlapJoinRel(condition=[=($0, $2)], joinType=[inner], ctx=[])
+              OlapAggregateRel(group-set=[[3]], groups=[null], usr_GMV_SUM_ok=[SUM($8)], ctx=[])
+                OlapTableScan(table=[[DEFAULT, TEST_KYLIN_FACT]], ctx=[], fields=[[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15]])
+              OlapAggregateRel(group-set=[[0]], groups=[null], X_measure__0=[SUM($1)], ctx=[])
+                OlapProjectRel(LSTG_FORMAT_NAME=[$3], PRICE=[$8], ctx=[])
+                  OlapFilterRel(condition=[<>($3, 'Auction')], ctx=[])
+                    OlapTableScan(table=[[DEFAULT, TEST_KYLIN_FACT]], ctx=[], fields=[[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15]])
 ]]>
         </Resource>
         <Resource name="query07.planBefore">
             <![CDATA[
-KapOLAPToEnumerableConverter
-  KapAggregateRel(group-set=[[0]], groups=[null], usr_GMV_COUNT_ok=[COUNT($1)], ctx=[])
-    KapProjectRel(Calculation_1162491713472385025=[CASE(<($17, 164000), '[0,164000)', <($17, 166000), '[164000, 166000)', '[166000, +∞')], PRICE=[$8], ctx=[])
-      KapFilterRel(condition=[<>($3, 'Auction')], ctx=[])
-        KapJoinRel(condition=[=($3, $16)], joinType=[inner], ctx=[])
-          KapTableScan(table=[[DEFAULT, TEST_KYLIN_FACT]], ctx=[], fields=[[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15]])
-          KapAggregateRel(group-set=[[0]], groups=[null], X_measure__0=[SUM($1)], ctx=[])
-            KapProjectRel(LSTG_FORMAT_NAME=[$3], PRICE=[$8], ctx=[])
-              KapFilterRel(condition=[<>($3, 'Auction')], ctx=[])
-                KapTableScan(table=[[DEFAULT, TEST_KYLIN_FACT]], ctx=[], fields=[[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15]])
+OlapToEnumerableConverter
+  OlapAggregateRel(group-set=[[0]], groups=[null], usr_GMV_COUNT_ok=[COUNT($1)], ctx=[])
+    OlapProjectRel(Calculation_1162491713472385025=[CASE(<($17, 164000), '[0,164000)', <($17, 166000), '[164000, 166000)', '[166000, +∞')], PRICE=[$8], ctx=[])
+      OlapFilterRel(condition=[<>($3, 'Auction')], ctx=[])
+        OlapJoinRel(condition=[=($3, $16)], joinType=[inner], ctx=[])
+          OlapTableScan(table=[[DEFAULT, TEST_KYLIN_FACT]], ctx=[], fields=[[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15]])
+          OlapAggregateRel(group-set=[[0]], groups=[null], X_measure__0=[SUM($1)], ctx=[])
+            OlapProjectRel(LSTG_FORMAT_NAME=[$3], PRICE=[$8], ctx=[])
+              OlapFilterRel(condition=[<>($3, 'Auction')], ctx=[])
+                OlapTableScan(table=[[DEFAULT, TEST_KYLIN_FACT]], ctx=[], fields=[[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15]])
 ]]>
         </Resource>
         <Resource name="query07.planAfter">
             <![CDATA[
-KapOLAPToEnumerableConverter
-  KapAggregateRel(group-set=[[0]], groups=[null], usr_GMV_COUNT_ok=[$SUM0($1)], ctx=[])
-    KapProjectRel(Calculation_1162491713472385025=[CASE(<($0, 164000), '[0,164000)', <($0, 166000), '[164000, 166000)', '[166000, +∞')], PRICE=[$1], ctx=[])
-      KapAggregateRel(group-set=[[1]], groups=[null], usr_GMV_COUNT_ok=[$SUM0($2)], ctx=[])
-        KapFilterRel(condition=[<>($0, 'Auction')], ctx=[])
-          KapProjectRel(LSTG_FORMAT_NAME=[$0], X_measure__0=[$3], usr_GMV_COUNT_ok=[$1], ctx=[])
-            KapJoinRel(condition=[=($0, $2)], joinType=[inner], ctx=[])
-              KapAggregateRel(group-set=[[3]], groups=[null], usr_GMV_COUNT_ok=[COUNT($8)], ctx=[])
-                KapTableScan(table=[[DEFAULT, TEST_KYLIN_FACT]], ctx=[], fields=[[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15]])
-              KapAggregateRel(group-set=[[0]], groups=[null], X_measure__0=[SUM($1)], ctx=[])
-                KapProjectRel(LSTG_FORMAT_NAME=[$3], PRICE=[$8], ctx=[])
-                  KapFilterRel(condition=[<>($3, 'Auction')], ctx=[])
-                    KapTableScan(table=[[DEFAULT, TEST_KYLIN_FACT]], ctx=[], fields=[[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15]])
+OlapToEnumerableConverter
+  OlapAggregateRel(group-set=[[0]], groups=[null], usr_GMV_COUNT_ok=[$SUM0($1)], ctx=[])
+    OlapProjectRel(Calculation_1162491713472385025=[CASE(<($0, 164000), '[0,164000)', <($0, 166000), '[164000, 166000)', '[166000, +∞')], PRICE=[$1], ctx=[])
+      OlapAggregateRel(group-set=[[1]], groups=[null], usr_GMV_COUNT_ok=[$SUM0($2)], ctx=[])
+        OlapFilterRel(condition=[<>($0, 'Auction')], ctx=[])
+          OlapProjectRel(LSTG_FORMAT_NAME=[$0], X_measure__0=[$3], usr_GMV_COUNT_ok=[$1], ctx=[])
+            OlapJoinRel(condition=[=($0, $2)], joinType=[inner], ctx=[])
+              OlapAggregateRel(group-set=[[3]], groups=[null], usr_GMV_COUNT_ok=[COUNT($8)], ctx=[])
+                OlapTableScan(table=[[DEFAULT, TEST_KYLIN_FACT]], ctx=[], fields=[[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15]])
+              OlapAggregateRel(group-set=[[0]], groups=[null], X_measure__0=[SUM($1)], ctx=[])
+                OlapProjectRel(LSTG_FORMAT_NAME=[$3], PRICE=[$8], ctx=[])
+                  OlapFilterRel(condition=[<>($3, 'Auction')], ctx=[])
+                    OlapTableScan(table=[[DEFAULT, TEST_KYLIN_FACT]], ctx=[], fields=[[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15]])
 ]]>
         </Resource>
     </TestCase>
     <TestCase name="testAddRules">
         <Resource name="query01.planBefore">
             <![CDATA[
-KapOLAPToEnumerableConverter
-  KapAggregateRel(group-set=[[0]], groups=[null], usr_GMV_SUM_ok=[SUM($1)], ctx=[])
-    KapProjectRel(Calculation_1162491713472385025=[CASE(<($17, 164000), '[0,164000)', <($17, 166000), '[164000, 166000)', '[166000, +∞')], PRICE=[$8], ctx=[])
-      KapFilterRel(condition=[<>($3, 'Auction')], ctx=[])
-        KapJoinRel(condition=[=($3, $16)], joinType=[inner], ctx=[])
-          KapTableScan(table=[[DEFAULT, TEST_KYLIN_FACT]], ctx=[], fields=[[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15]])
-          KapAggregateRel(group-set=[[0]], groups=[null], X_measure__0=[SUM($1)], ctx=[])
-            KapProjectRel(LSTG_FORMAT_NAME=[$3], PRICE=[$8], ctx=[])
-              KapFilterRel(condition=[<>($3, 'Auction')], ctx=[])
-                KapTableScan(table=[[DEFAULT, TEST_KYLIN_FACT]], ctx=[], fields=[[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15]])
+OlapToEnumerableConverter
+  OlapAggregateRel(group-set=[[0]], groups=[null], usr_GMV_SUM_ok=[SUM($1)], ctx=[])
+    OlapProjectRel(Calculation_1162491713472385025=[CASE(<($17, 164000), '[0,164000)', <($17, 166000), '[164000, 166000)', '[166000, +∞')], PRICE=[$8], ctx=[])
+      OlapFilterRel(condition=[<>($3, 'Auction')], ctx=[])
+        OlapJoinRel(condition=[=($3, $16)], joinType=[inner], ctx=[])
+          OlapTableScan(table=[[DEFAULT, TEST_KYLIN_FACT]], ctx=[], fields=[[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15]])
+          OlapAggregateRel(group-set=[[0]], groups=[null], X_measure__0=[SUM($1)], ctx=[])
+            OlapProjectRel(LSTG_FORMAT_NAME=[$3], PRICE=[$8], ctx=[])
+              OlapFilterRel(condition=[<>($3, 'Auction')], ctx=[])
+                OlapTableScan(table=[[DEFAULT, TEST_KYLIN_FACT]], ctx=[], fields=[[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15]])
 ]]>
         </Resource>
         <Resource name="query01.planAfter">
             <![CDATA[
-KapOLAPToEnumerableConverter
-  KapAggregateRel(group-set=[[0]], groups=[null], usr_GMV_SUM_ok=[SUM($1)], ctx=[])
-    KapProjectRel(Calculation_1162491713472385025=[CASE(<($0, 164000), '[0,164000)', <($0, 166000), '[164000, 166000)', '[166000, +∞')], $1=[$1], ctx=[])
-      KapAggregateRel(group-set=[[1]], groups=[null], usr_GMV_SUM_ok=[SUM($2)], ctx=[])
-        KapFilterRel(condition=[<>($0, 'Auction')], ctx=[])
-          KapProjectRel(LSTG_FORMAT_NAME=[$0], X_measure__0=[$3], usr_GMV_SUM_ok=[$1], ctx=[])
-            KapJoinRel(condition=[=($0, $2)], joinType=[inner], ctx=[])
-              KapAggregateRel(group-set=[[3]], groups=[null], usr_GMV_SUM_ok=[SUM($8)], ctx=[])
-                KapTableScan(table=[[DEFAULT, TEST_KYLIN_FACT]], ctx=[], fields=[[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15]])
-              KapAggregateRel(group-set=[[0]], groups=[null], X_measure__0=[SUM($1)], ctx=[])
-                KapProjectRel(LSTG_FORMAT_NAME=[$3], PRICE=[$8], ctx=[])
-                  KapFilterRel(condition=[<>($3, 'Auction')], ctx=[])
-                    KapTableScan(table=[[DEFAULT, TEST_KYLIN_FACT]], ctx=[], fields=[[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15]])
+OlapToEnumerableConverter
+  OlapAggregateRel(group-set=[[0]], groups=[null], usr_GMV_SUM_ok=[SUM($1)], ctx=[])
+    OlapProjectRel(Calculation_1162491713472385025=[CASE(<($0, 164000), '[0,164000)', <($0, 166000), '[164000, 166000)', '[166000, +∞')], $1=[$1], ctx=[])
+      OlapAggregateRel(group-set=[[1]], groups=[null], usr_GMV_SUM_ok=[SUM($2)], ctx=[])
+        OlapFilterRel(condition=[<>($0, 'Auction')], ctx=[])
+          OlapProjectRel(LSTG_FORMAT_NAME=[$0], X_measure__0=[$3], usr_GMV_SUM_ok=[$1], ctx=[])
+            OlapJoinRel(condition=[=($0, $2)], joinType=[inner], ctx=[])
+              OlapAggregateRel(group-set=[[3]], groups=[null], usr_GMV_SUM_ok=[SUM($8)], ctx=[])
+                OlapTableScan(table=[[DEFAULT, TEST_KYLIN_FACT]], ctx=[], fields=[[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15]])
+              OlapAggregateRel(group-set=[[0]], groups=[null], X_measure__0=[SUM($1)], ctx=[])
+                OlapProjectRel(LSTG_FORMAT_NAME=[$3], PRICE=[$8], ctx=[])
+                  OlapFilterRel(condition=[<>($3, 'Auction')], ctx=[])
+                    OlapTableScan(table=[[DEFAULT, TEST_KYLIN_FACT]], ctx=[], fields=[[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15]])
 ]]>
         </Resource>
         <Resource name="query02.planBefore">
             <![CDATA[
-KapOLAPToEnumerableConverter
-  KapAggregateRel(group-set=[[0, 1]], groups=[null], usr_GMV_SUM_ok=[SUM($2)], ctx=[])
-    KapProjectRel(Calculation_1162491713472385025=[CASE(<($17, 164000), '[0,164000)', <($17, 166000), '[164000, 166000)', '[166000, +∞')], LSTG_FORMAT_NAME=[$16], PRICE=[$8], ctx=[])
-      KapFilterRel(condition=[<>($3, 'Auction')], ctx=[])
-        KapJoinRel(condition=[=($3, $16)], joinType=[inner], ctx=[])
-          KapTableScan(table=[[DEFAULT, TEST_KYLIN_FACT]], ctx=[], fields=[[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15]])
-          KapAggregateRel(group-set=[[0]], groups=[null], X_measure__0=[SUM($1)], ctx=[])
-            KapProjectRel(LSTG_FORMAT_NAME=[$3], PRICE=[$8], ctx=[])
-              KapFilterRel(condition=[<>($3, 'Auction')], ctx=[])
-                KapTableScan(table=[[DEFAULT, TEST_KYLIN_FACT]], ctx=[], fields=[[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15]])
+OlapToEnumerableConverter
+  OlapAggregateRel(group-set=[[0, 1]], groups=[null], usr_GMV_SUM_ok=[SUM($2)], ctx=[])
+    OlapProjectRel(Calculation_1162491713472385025=[CASE(<($17, 164000), '[0,164000)', <($17, 166000), '[164000, 166000)', '[166000, +∞')], LSTG_FORMAT_NAME=[$16], PRICE=[$8], ctx=[])
+      OlapFilterRel(condition=[<>($3, 'Auction')], ctx=[])
+        OlapJoinRel(condition=[=($3, $16)], joinType=[inner], ctx=[])
+          OlapTableScan(table=[[DEFAULT, TEST_KYLIN_FACT]], ctx=[], fields=[[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15]])
+          OlapAggregateRel(group-set=[[0]], groups=[null], X_measure__0=[SUM($1)], ctx=[])
+            OlapProjectRel(LSTG_FORMAT_NAME=[$3], PRICE=[$8], ctx=[])
+              OlapFilterRel(condition=[<>($3, 'Auction')], ctx=[])
+                OlapTableScan(table=[[DEFAULT, TEST_KYLIN_FACT]], ctx=[], fields=[[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15]])
 ]]>
         </Resource>
         <Resource name="query02.planAfter">
             <![CDATA[
-KapOLAPToEnumerableConverter
-  KapAggregateRel(group-set=[[0, 1]], groups=[null], usr_GMV_SUM_ok=[SUM($2)], ctx=[])
-    KapProjectRel(Calculation_1162491713472385025=[CASE(<($1, 164000), '[0,164000)', <($1, 166000), '[164000, 166000)', '[166000, +∞')], LSTG_FORMAT_NAME=[$0], $2=[$2], ctx=[])
-      KapAggregateRel(group-set=[[1, 2]], groups=[null], usr_GMV_SUM_ok=[SUM($3)], ctx=[])
-        KapFilterRel(condition=[<>($0, 'Auction')], ctx=[])
-          KapProjectRel(LSTG_FORMAT_NAME=[$0], LSTG_FORMAT_NAME0=[$2], X_measure__0=[$3], usr_GMV_SUM_ok=[$1], ctx=[])
-            KapJoinRel(condition=[=($0, $2)], joinType=[inner], ctx=[])
-              KapAggregateRel(group-set=[[3]], groups=[null], usr_GMV_SUM_ok=[SUM($8)], ctx=[])
-                KapTableScan(table=[[DEFAULT, TEST_KYLIN_FACT]], ctx=[], fields=[[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15]])
-              KapAggregateRel(group-set=[[0]], groups=[null], X_measure__0=[SUM($1)], ctx=[])
-                KapProjectRel(LSTG_FORMAT_NAME=[$3], PRICE=[$8], ctx=[])
-                  KapFilterRel(condition=[<>($3, 'Auction')], ctx=[])
-                    KapTableScan(table=[[DEFAULT, TEST_KYLIN_FACT]], ctx=[], fields=[[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15]])
+OlapToEnumerableConverter
+  OlapAggregateRel(group-set=[[0, 1]], groups=[null], usr_GMV_SUM_ok=[SUM($2)], ctx=[])
+    OlapProjectRel(Calculation_1162491713472385025=[CASE(<($1, 164000), '[0,164000)', <($1, 166000), '[164000, 166000)', '[166000, +∞')], LSTG_FORMAT_NAME=[$0], $2=[$2], ctx=[])
+      OlapAggregateRel(group-set=[[1, 2]], groups=[null], usr_GMV_SUM_ok=[SUM($3)], ctx=[])
+        OlapFilterRel(condition=[<>($0, 'Auction')], ctx=[])
+          OlapProjectRel(LSTG_FORMAT_NAME=[$0], LSTG_FORMAT_NAME0=[$2], X_measure__0=[$3], usr_GMV_SUM_ok=[$1], ctx=[])
+            OlapJoinRel(condition=[=($0, $2)], joinType=[inner], ctx=[])
+              OlapAggregateRel(group-set=[[3]], groups=[null], usr_GMV_SUM_ok=[SUM($8)], ctx=[])
+                OlapTableScan(table=[[DEFAULT, TEST_KYLIN_FACT]], ctx=[], fields=[[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15]])
+              OlapAggregateRel(group-set=[[0]], groups=[null], X_measure__0=[SUM($1)], ctx=[])
+                OlapProjectRel(LSTG_FORMAT_NAME=[$3], PRICE=[$8], ctx=[])
+                  OlapFilterRel(condition=[<>($3, 'Auction')], ctx=[])
+                    OlapTableScan(table=[[DEFAULT, TEST_KYLIN_FACT]], ctx=[], fields=[[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15]])
 ]]>
         </Resource>
         <Resource name="query03.planBefore">
             <![CDATA[
-KapOLAPToEnumerableConverter
-  KapAggregateRel(group-set=[[0]], groups=[null], usr_GMV_SUM_ok=[SUM($1)], ctx=[])
-    KapProjectRel(Calculation_1162491713472385025=[CASE(<($1, 164000), '[0,164000)', <($1, 166000), '[164000, 166000)', '[166000, +∞')], PRICE=[$10], ctx=[])
-      KapFilterRel(condition=[<>($5, 'Auction')], ctx=[])
-        KapJoinRel(condition=[=($0, $5)], joinType=[inner], ctx=[])
-          KapAggregateRel(group-set=[[0]], groups=[null], X_measure__0=[SUM($1)], ctx=[])
-            KapProjectRel(LSTG_FORMAT_NAME=[$3], PRICE=[$8], ctx=[])
-              KapFilterRel(condition=[<>($3, 'Auction')], ctx=[])
-                KapTableScan(table=[[DEFAULT, TEST_KYLIN_FACT]], ctx=[], fields=[[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15]])
-          KapTableScan(table=[[DEFAULT, TEST_KYLIN_FACT]], ctx=[], fields=[[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15]])
+OlapToEnumerableConverter
+  OlapAggregateRel(group-set=[[0]], groups=[null], usr_GMV_SUM_ok=[SUM($1)], ctx=[])
+    OlapProjectRel(Calculation_1162491713472385025=[CASE(<($1, 164000), '[0,164000)', <($1, 166000), '[164000, 166000)', '[166000, +∞')], PRICE=[$10], ctx=[])
+      OlapFilterRel(condition=[<>($5, 'Auction')], ctx=[])
+        OlapJoinRel(condition=[=($0, $5)], joinType=[inner], ctx=[])
+          OlapAggregateRel(group-set=[[0]], groups=[null], X_measure__0=[SUM($1)], ctx=[])
+            OlapProjectRel(LSTG_FORMAT_NAME=[$3], PRICE=[$8], ctx=[])
+              OlapFilterRel(condition=[<>($3, 'Auction')], ctx=[])
+                OlapTableScan(table=[[DEFAULT, TEST_KYLIN_FACT]], ctx=[], fields=[[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15]])
+          OlapTableScan(table=[[DEFAULT, TEST_KYLIN_FACT]], ctx=[], fields=[[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15]])
 ]]>
         </Resource>
         <Resource name="query03.planAfter">
             <![CDATA[
-KapOLAPToEnumerableConverter
-  KapAggregateRel(group-set=[[0]], groups=[null], usr_GMV_SUM_ok=[SUM($1)], ctx=[])
-    KapProjectRel(Calculation_1162491713472385025=[CASE(<($0, 164000), '[0,164000)', <($0, 166000), '[164000, 166000)', '[166000, +∞')], $1=[$1], ctx=[])
-      KapAggregateRel(group-set=[[0]], groups=[null], usr_GMV_SUM_ok=[SUM($2)], ctx=[])
-        KapFilterRel(condition=[<>($1, 'Auction')], ctx=[])
-          KapProjectRel(X_measure__0=[$1], LSTG_FORMAT_NAME=[$2], usr_GMV_SUM_ok=[$3], ctx=[])
-            KapJoinRel(condition=[=($0, $2)], joinType=[inner], ctx=[])
-              KapAggregateRel(group-set=[[0]], groups=[null], X_measure__0=[SUM($1)], ctx=[])
-                KapProjectRel(LSTG_FORMAT_NAME=[$3], PRICE=[$8], ctx=[])
-                  KapFilterRel(condition=[<>($3, 'Auction')], ctx=[])
-                    KapTableScan(table=[[DEFAULT, TEST_KYLIN_FACT]], ctx=[], fields=[[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15]])
-              KapAggregateRel(group-set=[[3]], groups=[null], usr_GMV_SUM_ok=[SUM($8)], ctx=[])
-                KapTableScan(table=[[DEFAULT, TEST_KYLIN_FACT]], ctx=[], fields=[[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15]])
+OlapToEnumerableConverter
+  OlapAggregateRel(group-set=[[0]], groups=[null], usr_GMV_SUM_ok=[SUM($1)], ctx=[])
+    OlapProjectRel(Calculation_1162491713472385025=[CASE(<($0, 164000), '[0,164000)', <($0, 166000), '[164000, 166000)', '[166000, +∞')], $1=[$1], ctx=[])
+      OlapAggregateRel(group-set=[[0]], groups=[null], usr_GMV_SUM_ok=[SUM($2)], ctx=[])
+        OlapFilterRel(condition=[<>($1, 'Auction')], ctx=[])
+          OlapProjectRel(X_measure__0=[$1], LSTG_FORMAT_NAME=[$2], usr_GMV_SUM_ok=[$3], ctx=[])
+            OlapJoinRel(condition=[=($0, $2)], joinType=[inner], ctx=[])
+              OlapAggregateRel(group-set=[[0]], groups=[null], X_measure__0=[SUM($1)], ctx=[])
+                OlapProjectRel(LSTG_FORMAT_NAME=[$3], PRICE=[$8], ctx=[])
+                  OlapFilterRel(condition=[<>($3, 'Auction')], ctx=[])
+                    OlapTableScan(table=[[DEFAULT, TEST_KYLIN_FACT]], ctx=[], fields=[[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15]])
+              OlapAggregateRel(group-set=[[3]], groups=[null], usr_GMV_SUM_ok=[SUM($8)], ctx=[])
+                OlapTableScan(table=[[DEFAULT, TEST_KYLIN_FACT]], ctx=[], fields=[[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15]])
 ]]>
         </Resource>
         <Resource name="query04.planBefore">
             <![CDATA[
-KapOLAPToEnumerableConverter
-  KapAggregateRel(group-set=[[0]], groups=[null], usr_GMV_SUM_ok=[SUM($1)], ctx=[])
-    KapProjectRel(Calculation_1162491713472385025=[CASE(<($22, 164000), '[0,164000)', <($22, 166000), '[164000, 166000)', '[166000, +∞')], PRICE=[$8], ctx=[])
-      KapFilterRel(condition=[<>($3, 'Auction')], ctx=[])
-        KapJoinRel(condition=[=($3, $21)], joinType=[inner], ctx=[])
-          KapJoinRel(condition=[=($7, $16)], joinType=[inner], ctx=[])
-            KapTableScan(table=[[DEFAULT, TEST_KYLIN_FACT]], ctx=[], fields=[[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15]])
-            KapTableScan(table=[[DEFAULT, TEST_ACCOUNT]], ctx=[], fields=[[0, 1, 2, 3, 4]])
-          KapAggregateRel(group-set=[[0]], groups=[null], X_measure__0=[SUM($1)], ctx=[])
-            KapProjectRel(LSTG_FORMAT_NAME=[$3], PRICE=[$8], ctx=[])
-              KapFilterRel(condition=[<>($3, 'Auction')], ctx=[])
-                KapJoinRel(condition=[=($7, $16)], joinType=[inner], ctx=[])
-                  KapTableScan(table=[[DEFAULT, TEST_KYLIN_FACT]], ctx=[], fields=[[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15]])
-                  KapTableScan(table=[[DEFAULT, TEST_ACCOUNT]], ctx=[], fields=[[0, 1, 2, 3, 4]])
+OlapToEnumerableConverter
+  OlapAggregateRel(group-set=[[0]], groups=[null], usr_GMV_SUM_ok=[SUM($1)], ctx=[])
+    OlapProjectRel(Calculation_1162491713472385025=[CASE(<($22, 164000), '[0,164000)', <($22, 166000), '[164000, 166000)', '[166000, +∞')], PRICE=[$8], ctx=[])
+      OlapFilterRel(condition=[<>($3, 'Auction')], ctx=[])
+        OlapJoinRel(condition=[=($3, $21)], joinType=[inner], ctx=[])
+          OlapJoinRel(condition=[=($7, $16)], joinType=[inner], ctx=[])
+            OlapTableScan(table=[[DEFAULT, TEST_KYLIN_FACT]], ctx=[], fields=[[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15]])
+            OlapTableScan(table=[[DEFAULT, TEST_ACCOUNT]], ctx=[], fields=[[0, 1, 2, 3, 4]])
+          OlapAggregateRel(group-set=[[0]], groups=[null], X_measure__0=[SUM($1)], ctx=[])
+            OlapProjectRel(LSTG_FORMAT_NAME=[$3], PRICE=[$8], ctx=[])
+              OlapFilterRel(condition=[<>($3, 'Auction')], ctx=[])
+                OlapJoinRel(condition=[=($7, $16)], joinType=[inner], ctx=[])
+                  OlapTableScan(table=[[DEFAULT, TEST_KYLIN_FACT]], ctx=[], fields=[[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15]])
+                  OlapTableScan(table=[[DEFAULT, TEST_ACCOUNT]], ctx=[], fields=[[0, 1, 2, 3, 4]])
 ]]>
         </Resource>
         <Resource name="query04.planAfter">
             <![CDATA[
-KapOLAPToEnumerableConverter
-  KapAggregateRel(group-set=[[0]], groups=[null], usr_GMV_SUM_ok=[SUM($1)], ctx=[])
-    KapProjectRel(Calculation_1162491713472385025=[CASE(<($0, 164000), '[0,164000)', <($0, 166000), '[164000, 166000)', '[166000, +∞')], $1=[$1], ctx=[])
-      KapAggregateRel(group-set=[[1]], groups=[null], usr_GMV_SUM_ok=[SUM($2)], ctx=[])
-        KapFilterRel(condition=[<>($0, 'Auction')], ctx=[])
-          KapProjectRel(LSTG_FORMAT_NAME=[$0], X_measure__0=[$3], usr_GMV_SUM_ok=[$1], ctx=[])
-            KapJoinRel(condition=[=($0, $2)], joinType=[inner], ctx=[])
-              KapAggregateRel(group-set=[[3]], groups=[null], usr_GMV_SUM_ok=[SUM($8)], ctx=[])
-                KapJoinRel(condition=[=($7, $16)], joinType=[inner], ctx=[])
-                  KapTableScan(table=[[DEFAULT, TEST_KYLIN_FACT]], ctx=[], fields=[[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15]])
-                  KapTableScan(table=[[DEFAULT, TEST_ACCOUNT]], ctx=[], fields=[[0, 1, 2, 3, 4]])
-              KapAggregateRel(group-set=[[0]], groups=[null], X_measure__0=[SUM($1)], ctx=[])
-                KapProjectRel(LSTG_FORMAT_NAME=[$3], PRICE=[$8], ctx=[])
-                  KapFilterRel(condition=[<>($3, 'Auction')], ctx=[])
-                    KapJoinRel(condition=[=($7, $16)], joinType=[inner], ctx=[])
-                      KapTableScan(table=[[DEFAULT, TEST_KYLIN_FACT]], ctx=[], fields=[[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15]])
-                      KapTableScan(table=[[DEFAULT, TEST_ACCOUNT]], ctx=[], fields=[[0, 1, 2, 3, 4]])
+OlapToEnumerableConverter
+  OlapAggregateRel(group-set=[[0]], groups=[null], usr_GMV_SUM_ok=[SUM($1)], ctx=[])
+    OlapProjectRel(Calculation_1162491713472385025=[CASE(<($0, 164000), '[0,164000)', <($0, 166000), '[164000, 166000)', '[166000, +∞')], $1=[$1], ctx=[])
+      OlapAggregateRel(group-set=[[1]], groups=[null], usr_GMV_SUM_ok=[SUM($2)], ctx=[])
+        OlapFilterRel(condition=[<>($0, 'Auction')], ctx=[])
+          OlapProjectRel(LSTG_FORMAT_NAME=[$0], X_measure__0=[$3], usr_GMV_SUM_ok=[$1], ctx=[])
+            OlapJoinRel(condition=[=($0, $2)], joinType=[inner], ctx=[])
+              OlapAggregateRel(group-set=[[3]], groups=[null], usr_GMV_SUM_ok=[SUM($8)], ctx=[])
+                OlapJoinRel(condition=[=($7, $16)], joinType=[inner], ctx=[])
+                  OlapTableScan(table=[[DEFAULT, TEST_KYLIN_FACT]], ctx=[], fields=[[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15]])
+                  OlapTableScan(table=[[DEFAULT, TEST_ACCOUNT]], ctx=[], fields=[[0, 1, 2, 3, 4]])
+              OlapAggregateRel(group-set=[[0]], groups=[null], X_measure__0=[SUM($1)], ctx=[])
+                OlapProjectRel(LSTG_FORMAT_NAME=[$3], PRICE=[$8], ctx=[])
+                  OlapFilterRel(condition=[<>($3, 'Auction')], ctx=[])
+                    OlapJoinRel(condition=[=($7, $16)], joinType=[inner], ctx=[])
+                      OlapTableScan(table=[[DEFAULT, TEST_KYLIN_FACT]], ctx=[], fields=[[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15]])
+                      OlapTableScan(table=[[DEFAULT, TEST_ACCOUNT]], ctx=[], fields=[[0, 1, 2, 3, 4]])
 ]]>
         </Resource>
         <Resource name="query05.planBefore">
             <![CDATA[
-KapOLAPToEnumerableConverter
-  KapAggregateRel(group-set=[[0]], groups=[null], usr_GMV_SUM_ok=[SUM($1)], ctx=[])
-    KapProjectRel(Calculation_1162491713472385025=[$17], PRICE=[$8], ctx=[])
-      KapFilterRel(condition=[<>($3, 'Auction')], ctx=[])
-        KapJoinRel(condition=[=($3, $16)], joinType=[inner], ctx=[])
-          KapTableScan(table=[[DEFAULT, TEST_KYLIN_FACT]], ctx=[], fields=[[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15]])
-          KapAggregateRel(group-set=[[0]], groups=[null], X_measure__0=[SUM($1)], ctx=[])
-            KapProjectRel(LSTG_FORMAT_NAME=[$3], PRICE=[$8], ctx=[])
-              KapFilterRel(condition=[<>($3, 'Auction')], ctx=[])
-                KapTableScan(table=[[DEFAULT, TEST_KYLIN_FACT]], ctx=[], fields=[[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15]])
+OlapToEnumerableConverter
+  OlapAggregateRel(group-set=[[0]], groups=[null], usr_GMV_SUM_ok=[SUM($1)], ctx=[])
+    OlapProjectRel(Calculation_1162491713472385025=[$17], PRICE=[$8], ctx=[])
+      OlapFilterRel(condition=[<>($3, 'Auction')], ctx=[])
+        OlapJoinRel(condition=[=($3, $16)], joinType=[inner], ctx=[])
+          OlapTableScan(table=[[DEFAULT, TEST_KYLIN_FACT]], ctx=[], fields=[[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15]])
+          OlapAggregateRel(group-set=[[0]], groups=[null], X_measure__0=[SUM($1)], ctx=[])
+            OlapProjectRel(LSTG_FORMAT_NAME=[$3], PRICE=[$8], ctx=[])
+              OlapFilterRel(condition=[<>($3, 'Auction')], ctx=[])
+                OlapTableScan(table=[[DEFAULT, TEST_KYLIN_FACT]], ctx=[], fields=[[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15]])
 ]]>
         </Resource>
         <Resource name="query05.planAfter">
             <![CDATA[
-KapOLAPToEnumerableConverter
-  KapAggregateRel(group-set=[[1]], groups=[null], usr_GMV_SUM_ok=[SUM($2)], ctx=[])
-    KapFilterRel(condition=[<>($0, 'Auction')], ctx=[])
-      KapProjectRel(LSTG_FORMAT_NAME=[$0], X_measure__0=[$3], usr_GMV_SUM_ok=[$1], ctx=[])
-        KapJoinRel(condition=[=($0, $2)], joinType=[inner], ctx=[])
-          KapAggregateRel(group-set=[[3]], groups=[null], usr_GMV_SUM_ok=[SUM($8)], ctx=[])
-            KapTableScan(table=[[DEFAULT, TEST_KYLIN_FACT]], ctx=[], fields=[[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15]])
-          KapAggregateRel(group-set=[[0]], groups=[null], X_measure__0=[SUM($1)], ctx=[])
-            KapProjectRel(LSTG_FORMAT_NAME=[$3], PRICE=[$8], ctx=[])
-              KapFilterRel(condition=[<>($3, 'Auction')], ctx=[])
-                KapTableScan(table=[[DEFAULT, TEST_KYLIN_FACT]], ctx=[], fields=[[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15]])
+OlapToEnumerableConverter
+  OlapAggregateRel(group-set=[[1]], groups=[null], usr_GMV_SUM_ok=[SUM($2)], ctx=[])
+    OlapFilterRel(condition=[<>($0, 'Auction')], ctx=[])
+      OlapProjectRel(LSTG_FORMAT_NAME=[$0], X_measure__0=[$3], usr_GMV_SUM_ok=[$1], ctx=[])
+        OlapJoinRel(condition=[=($0, $2)], joinType=[inner], ctx=[])
+          OlapAggregateRel(group-set=[[3]], groups=[null], usr_GMV_SUM_ok=[SUM($8)], ctx=[])
+            OlapTableScan(table=[[DEFAULT, TEST_KYLIN_FACT]], ctx=[], fields=[[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15]])
+          OlapAggregateRel(group-set=[[0]], groups=[null], X_measure__0=[SUM($1)], ctx=[])
+            OlapProjectRel(LSTG_FORMAT_NAME=[$3], PRICE=[$8], ctx=[])
+              OlapFilterRel(condition=[<>($3, 'Auction')], ctx=[])
+                OlapTableScan(table=[[DEFAULT, TEST_KYLIN_FACT]], ctx=[], fields=[[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15]])
 ]]>
         </Resource>
         <Resource name="query06.planBefore">
             <![CDATA[
-KapOLAPToEnumerableConverter
-  KapAggregateRel(group-set=[[0]], groups=[null], usr_GMV_SUM_ok=[SUM($1)], ctx=[])
-    KapProjectRel(Calculation_1162491713472385025=[CASE(AND(<($17, 164000), =($16, 'ABIN')), '[0,164000)', AND(<($17, 166000), =($16, 'ABIN')), '[164000, 166000)', '[166000, +∞')], PRICE=[$8], ctx=[])
-      KapFilterRel(condition=[<>($3, 'Auction')], ctx=[])
-        KapJoinRel(condition=[=($3, $16)], joinType=[inner], ctx=[])
-          KapTableScan(table=[[DEFAULT, TEST_KYLIN_FACT]], ctx=[], fields=[[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15]])
-          KapAggregateRel(group-set=[[0]], groups=[null], X_measure__0=[SUM($1)], ctx=[])
-            KapProjectRel(LSTG_FORMAT_NAME=[$3], PRICE=[$8], ctx=[])
-              KapFilterRel(condition=[<>($3, 'Auction')], ctx=[])
-                KapTableScan(table=[[DEFAULT, TEST_KYLIN_FACT]], ctx=[], fields=[[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15]])
+OlapToEnumerableConverter
+  OlapAggregateRel(group-set=[[0]], groups=[null], usr_GMV_SUM_ok=[SUM($1)], ctx=[])
+    OlapProjectRel(Calculation_1162491713472385025=[CASE(AND(<($17, 164000), =($16, 'ABIN')), '[0,164000)', AND(<($17, 166000), =($16, 'ABIN')), '[164000, 166000)', '[166000, +∞')], PRICE=[$8], ctx=[])
+      OlapFilterRel(condition=[<>($3, 'Auction')], ctx=[])
+        OlapJoinRel(condition=[=($3, $16)], joinType=[inner], ctx=[])
+          OlapTableScan(table=[[DEFAULT, TEST_KYLIN_FACT]], ctx=[], fields=[[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15]])
+          OlapAggregateRel(group-set=[[0]], groups=[null], X_measure__0=[SUM($1)], ctx=[])
+            OlapProjectRel(LSTG_FORMAT_NAME=[$3], PRICE=[$8], ctx=[])
+              OlapFilterRel(condition=[<>($3, 'Auction')], ctx=[])
+                OlapTableScan(table=[[DEFAULT, TEST_KYLIN_FACT]], ctx=[], fields=[[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15]])
 ]]>
         </Resource>
         <Resource name="query06.planAfter">
             <![CDATA[
-KapOLAPToEnumerableConverter
-  KapAggregateRel(group-set=[[0]], groups=[null], usr_GMV_SUM_ok=[SUM($1)], ctx=[])
-    KapProjectRel(Calculation_1162491713472385025=[CASE(AND(<($1, 164000), =($0, 'ABIN')), '[0,164000)', AND(<($1, 166000), =($0, 'ABIN')), '[164000, 166000)', '[166000, +∞')], $2=[$2], ctx=[])
-      KapAggregateRel(group-set=[[1, 2]], groups=[null], usr_GMV_SUM_ok=[SUM($3)], ctx=[])
-        KapFilterRel(condition=[<>($0, 'Auction')], ctx=[])
-          KapProjectRel(LSTG_FORMAT_NAME=[$0], LSTG_FORMAT_NAME0=[$2], X_measure__0=[$3], usr_GMV_SUM_ok=[$1], ctx=[])
-            KapJoinRel(condition=[=($0, $2)], joinType=[inner], ctx=[])
-              KapAggregateRel(group-set=[[3]], groups=[null], usr_GMV_SUM_ok=[SUM($8)], ctx=[])
-                KapTableScan(table=[[DEFAULT, TEST_KYLIN_FACT]], ctx=[], fields=[[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15]])
-              KapAggregateRel(group-set=[[0]], groups=[null], X_measure__0=[SUM($1)], ctx=[])
-                KapProjectRel(LSTG_FORMAT_NAME=[$3], PRICE=[$8], ctx=[])
-                  KapFilterRel(condition=[<>($3, 'Auction')], ctx=[])
-                    KapTableScan(table=[[DEFAULT, TEST_KYLIN_FACT]], ctx=[], fields=[[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15]])
+OlapToEnumerableConverter
+  OlapAggregateRel(group-set=[[0]], groups=[null], usr_GMV_SUM_ok=[SUM($1)], ctx=[])
+    OlapProjectRel(Calculation_1162491713472385025=[CASE(AND(<($1, 164000), =($0, 'ABIN')), '[0,164000)', AND(<($1, 166000), =($0, 'ABIN')), '[164000, 166000)', '[166000, +∞')], $2=[$2], ctx=[])
+      OlapAggregateRel(group-set=[[1, 2]], groups=[null], usr_GMV_SUM_ok=[SUM($3)], ctx=[])
+        OlapFilterRel(condition=[<>($0, 'Auction')], ctx=[])
+          OlapProjectRel(LSTG_FORMAT_NAME=[$0], LSTG_FORMAT_NAME0=[$2], X_measure__0=[$3], usr_GMV_SUM_ok=[$1], ctx=[])
+            OlapJoinRel(condition=[=($0, $2)], joinType=[inner], ctx=[])
+              OlapAggregateRel(group-set=[[3]], groups=[null], usr_GMV_SUM_ok=[SUM($8)], ctx=[])
+                OlapTableScan(table=[[DEFAULT, TEST_KYLIN_FACT]], ctx=[], fields=[[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15]])
+              OlapAggregateRel(group-set=[[0]], groups=[null], X_measure__0=[SUM($1)], ctx=[])
+                OlapProjectRel(LSTG_FORMAT_NAME=[$3], PRICE=[$8], ctx=[])
+                  OlapFilterRel(condition=[<>($3, 'Auction')], ctx=[])
+                    OlapTableScan(table=[[DEFAULT, TEST_KYLIN_FACT]], ctx=[], fields=[[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15]])
 ]]>
         </Resource>
         <Resource name="query07.planBefore">
             <![CDATA[
-KapOLAPToEnumerableConverter
-  KapAggregateRel(group-set=[[0]], groups=[null], usr_GMV_COUNT_ok=[COUNT($1)], ctx=[])
-    KapProjectRel(Calculation_1162491713472385025=[CASE(<($17, 164000), '[0,164000)', <($17, 166000), '[164000, 166000)', '[166000, +∞')], PRICE=[$8], ctx=[])
-      KapFilterRel(condition=[<>($3, 'Auction')], ctx=[])
-        KapJoinRel(condition=[=($3, $16)], joinType=[inner], ctx=[])
-          KapTableScan(table=[[DEFAULT, TEST_KYLIN_FACT]], ctx=[], fields=[[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15]])
-          KapAggregateRel(group-set=[[0]], groups=[null], X_measure__0=[SUM($1)], ctx=[])
-            KapProjectRel(LSTG_FORMAT_NAME=[$3], PRICE=[$8], ctx=[])
-              KapFilterRel(condition=[<>($3, 'Auction')], ctx=[])
-                KapTableScan(table=[[DEFAULT, TEST_KYLIN_FACT]], ctx=[], fields=[[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15]])
+OlapToEnumerableConverter
+  OlapAggregateRel(group-set=[[0]], groups=[null], usr_GMV_COUNT_ok=[COUNT($1)], ctx=[])
+    OlapProjectRel(Calculation_1162491713472385025=[CASE(<($17, 164000), '[0,164000)', <($17, 166000), '[164000, 166000)', '[166000, +∞')], PRICE=[$8], ctx=[])
+      OlapFilterRel(condition=[<>($3, 'Auction')], ctx=[])
+        OlapJoinRel(condition=[=($3, $16)], joinType=[inner], ctx=[])
+          OlapTableScan(table=[[DEFAULT, TEST_KYLIN_FACT]], ctx=[], fields=[[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15]])
+          OlapAggregateRel(group-set=[[0]], groups=[null], X_measure__0=[SUM($1)], ctx=[])
+            OlapProjectRel(LSTG_FORMAT_NAME=[$3], PRICE=[$8], ctx=[])
+              OlapFilterRel(condition=[<>($3, 'Auction')], ctx=[])
+                OlapTableScan(table=[[DEFAULT, TEST_KYLIN_FACT]], ctx=[], fields=[[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15]])
 ]]>
         </Resource>
         <Resource name="query07.planAfter">
             <![CDATA[
-KapOLAPToEnumerableConverter
-  KapAggregateRel(group-set=[[0]], groups=[null], usr_GMV_COUNT_ok=[$SUM0($1)], ctx=[])
-    KapProjectRel(Calculation_1162491713472385025=[CASE(<($0, 164000), '[0,164000)', <($0, 166000), '[164000, 166000)', '[166000, +∞')], $1=[$1], ctx=[])
-      KapAggregateRel(group-set=[[1]], groups=[null], usr_GMV_COUNT_ok=[$SUM0($2)], ctx=[])
-        KapFilterRel(condition=[<>($0, 'Auction')], ctx=[])
-          KapProjectRel(LSTG_FORMAT_NAME=[$0], X_measure__0=[$3], usr_GMV_COUNT_ok=[$1], ctx=[])
-            KapJoinRel(condition=[=($0, $2)], joinType=[inner], ctx=[])
-              KapAggregateRel(group-set=[[3]], groups=[null], usr_GMV_COUNT_ok=[COUNT($8)], ctx=[])
-                KapTableScan(table=[[DEFAULT, TEST_KYLIN_FACT]], ctx=[], fields=[[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15]])
-              KapAggregateRel(group-set=[[0]], groups=[null], X_measure__0=[SUM($1)], ctx=[])
-                KapProjectRel(LSTG_FORMAT_NAME=[$3], PRICE=[$8], ctx=[])
-                  KapFilterRel(condition=[<>($3, 'Auction')], ctx=[])
-                    KapTableScan(table=[[DEFAULT, TEST_KYLIN_FACT]], ctx=[], fields=[[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15]])
+OlapToEnumerableConverter
+  OlapAggregateRel(group-set=[[0]], groups=[null], usr_GMV_COUNT_ok=[$SUM0($1)], ctx=[])
+    OlapProjectRel(Calculation_1162491713472385025=[CASE(<($0, 164000), '[0,164000)', <($0, 166000), '[164000, 166000)', '[166000, +∞')], $1=[$1], ctx=[])
+      OlapAggregateRel(group-set=[[1]], groups=[null], usr_GMV_COUNT_ok=[$SUM0($2)], ctx=[])
+        OlapFilterRel(condition=[<>($0, 'Auction')], ctx=[])
+          OlapProjectRel(LSTG_FORMAT_NAME=[$0], X_measure__0=[$3], usr_GMV_COUNT_ok=[$1], ctx=[])
+            OlapJoinRel(condition=[=($0, $2)], joinType=[inner], ctx=[])
+              OlapAggregateRel(group-set=[[3]], groups=[null], usr_GMV_COUNT_ok=[COUNT($8)], ctx=[])
+                OlapTableScan(table=[[DEFAULT, TEST_KYLIN_FACT]], ctx=[], fields=[[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15]])
+              OlapAggregateRel(group-set=[[0]], groups=[null], X_measure__0=[SUM($1)], ctx=[])
+                OlapProjectRel(LSTG_FORMAT_NAME=[$3], PRICE=[$8], ctx=[])
+                  OlapFilterRel(condition=[<>($3, 'Auction')], ctx=[])
+                    OlapTableScan(table=[[DEFAULT, TEST_KYLIN_FACT]], ctx=[], fields=[[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15]])
 ]]>
         </Resource>
     </TestCase>
     <TestCase name="testAggProjectMergeRule">
         <Resource name="query05.planBefore">
             <![CDATA[
-KapAggregateRel(group-set=[[0]], groups=[null], usr_GMV_SUM_ok=[SUM($1)], ctx=[])
-  KapProjectRel(Calculation_1162491713472385025=[$17], PRICE=[$8], ctx=[])
-    KapFilterRel(condition=[NOT(=($3, 'Auction'))], ctx=[])
-      KapJoinRel(condition=[=($3, $16)], joinType=[inner], ctx=[])
-        KapTableScan(table=[[DEFAULT, TEST_KYLIN_FACT]], ctx=[], fields=[[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15]])
-        KapAggregateRel(group-set=[[0]], groups=[null], X_measure__0=[SUM($1)], ctx=[])
-          KapProjectRel(LSTG_FORMAT_NAME=[$3], PRICE=[$8], ctx=[])
-            KapFilterRel(condition=[NOT(=($3, 'Auction'))], ctx=[])
-              KapTableScan(table=[[DEFAULT, TEST_KYLIN_FACT]], ctx=[], fields=[[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15]])
+OlapAggregateRel(group-set=[[0]], groups=[null], usr_GMV_SUM_ok=[SUM($1)], ctx=[])
+  OlapProjectRel(Calculation_1162491713472385025=[$17], PRICE=[$8], ctx=[])
+    OlapFilterRel(condition=[NOT(=($3, 'Auction'))], ctx=[])
+      OlapJoinRel(condition=[=($3, $16)], joinType=[inner], ctx=[])
+        OlapTableScan(table=[[DEFAULT, TEST_KYLIN_FACT]], ctx=[], fields=[[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15]])
+        OlapAggregateRel(group-set=[[0]], groups=[null], X_measure__0=[SUM($1)], ctx=[])
+          OlapProjectRel(LSTG_FORMAT_NAME=[$3], PRICE=[$8], ctx=[])
+            OlapFilterRel(condition=[NOT(=($3, 'Auction'))], ctx=[])
+              OlapTableScan(table=[[DEFAULT, TEST_KYLIN_FACT]], ctx=[], fields=[[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15]])
 ]]>
         </Resource>
         <Resource name="query05.planAfter">
             <![CDATA[
-KapAggregateRel(group-set=[[17]], groups=[null], usr_GMV_SUM_ok=[SUM($8)], ctx=[])
-  KapFilterRel(condition=[NOT(=($3, 'Auction'))], ctx=[])
-    KapJoinRel(condition=[=($3, $16)], joinType=[inner], ctx=[])
-      KapTableScan(table=[[DEFAULT, TEST_KYLIN_FACT]], ctx=[], fields=[[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15]])
-      KapAggregateRel(group-set=[[0]], groups=[null], X_measure__0=[SUM($1)], ctx=[])
-        KapProjectRel(LSTG_FORMAT_NAME=[$3], PRICE=[$8], ctx=[])
-          KapFilterRel(condition=[NOT(=($3, 'Auction'))], ctx=[])
-            KapTableScan(table=[[DEFAULT, TEST_KYLIN_FACT]], ctx=[], fields=[[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15]])
+OlapAggregateRel(group-set=[[17]], groups=[null], usr_GMV_SUM_ok=[SUM($8)], ctx=[])
+  OlapFilterRel(condition=[NOT(=($3, 'Auction'))], ctx=[])
+    OlapJoinRel(condition=[=($3, $16)], joinType=[inner], ctx=[])
+      OlapTableScan(table=[[DEFAULT, TEST_KYLIN_FACT]], ctx=[], fields=[[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15]])
+      OlapAggregateRel(group-set=[[0]], groups=[null], X_measure__0=[SUM($1)], ctx=[])
+        OlapProjectRel(LSTG_FORMAT_NAME=[$3], PRICE=[$8], ctx=[])
+          OlapFilterRel(condition=[NOT(=($3, 'Auction'))], ctx=[])
+            OlapTableScan(table=[[DEFAULT, TEST_KYLIN_FACT]], ctx=[], fields=[[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15]])
 ]]>
         </Resource>
     </TestCase>
     <TestCase name="testAggProjectTransposeRule">
         <Resource name="query01.planBefore">
             <![CDATA[
-KapAggregateRel(group-set=[[0]], groups=[null], usr_GMV_SUM_ok=[SUM($1)], ctx=[])
-  KapProjectRel(Calculation_1162491713472385025=[CASE(<($17, 164000), '[0,164000)', <($17, 166000), '[164000, 166000)', '[166000, +∞')], PRICE=[$8], ctx=[])
-    KapFilterRel(condition=[NOT(=($3, 'Auction'))], ctx=[])
-      KapJoinRel(condition=[=($3, $16)], joinType=[inner], ctx=[])
-        KapTableScan(table=[[DEFAULT, TEST_KYLIN_FACT]], ctx=[], fields=[[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15]])
-        KapAggregateRel(group-set=[[0]], groups=[null], X_measure__0=[SUM($1)], ctx=[])
-          KapProjectRel(LSTG_FORMAT_NAME=[$3], PRICE=[$8], ctx=[])
-            KapFilterRel(condition=[NOT(=($3, 'Auction'))], ctx=[])
-              KapTableScan(table=[[DEFAULT, TEST_KYLIN_FACT]], ctx=[], fields=[[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15]])
+OlapAggregateRel(group-set=[[0]], groups=[null], usr_GMV_SUM_ok=[SUM($1)], ctx=[])
+  OlapProjectRel(Calculation_1162491713472385025=[CASE(<($17, 164000), '[0,164000)', <($17, 166000), '[164000, 166000)', '[166000, +∞')], PRICE=[$8], ctx=[])
+    OlapFilterRel(condition=[NOT(=($3, 'Auction'))], ctx=[])
+      OlapJoinRel(condition=[=($3, $16)], joinType=[inner], ctx=[])
+        OlapTableScan(table=[[DEFAULT, TEST_KYLIN_FACT]], ctx=[], fields=[[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15]])
+        OlapAggregateRel(group-set=[[0]], groups=[null], X_measure__0=[SUM($1)], ctx=[])
+          OlapProjectRel(LSTG_FORMAT_NAME=[$3], PRICE=[$8], ctx=[])
+            OlapFilterRel(condition=[NOT(=($3, 'Auction'))], ctx=[])
+              OlapTableScan(table=[[DEFAULT, TEST_KYLIN_FACT]], ctx=[], fields=[[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15]])
 ]]>
         </Resource>
         <Resource name="query01.planAfter">
             <![CDATA[
-KapAggregateRel(group-set=[[0]], groups=[null], usr_GMV_SUM_ok=[SUM($1)], ctx=[])
-  KapProjectRel(Calculation_1162491713472385025=[CASE(<($0, 164000), '[0,164000)', <($0, 166000), '[164000, 166000)', '[166000, +∞')], $1=[$1], ctx=[])
-    KapAggregateRel(group-set=[[17]], groups=[null], usr_GMV_SUM_ok=[SUM($8)], ctx=[])
-      KapFilterRel(condition=[NOT(=($3, 'Auction'))], ctx=[])
-        KapJoinRel(condition=[=($3, $16)], joinType=[inner], ctx=[])
-          KapTableScan(table=[[DEFAULT, TEST_KYLIN_FACT]], ctx=[], fields=[[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15]])
-          KapAggregateRel(group-set=[[0]], groups=[null], X_measure__0=[SUM($1)], ctx=[])
-            KapProjectRel(LSTG_FORMAT_NAME=[$3], PRICE=[$8], ctx=[])
-              KapFilterRel(condition=[NOT(=($3, 'Auction'))], ctx=[])
-                KapTableScan(table=[[DEFAULT, TEST_KYLIN_FACT]], ctx=[], fields=[[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15]])
+OlapAggregateRel(group-set=[[0]], groups=[null], usr_GMV_SUM_ok=[SUM($1)], ctx=[])
+  OlapProjectRel(Calculation_1162491713472385025=[CASE(<($0, 164000), '[0,164000)', <($0, 166000), '[164000, 166000)', '[166000, +∞')], $1=[$1], ctx=[])
+    OlapAggregateRel(group-set=[[17]], groups=[null], usr_GMV_SUM_ok=[SUM($8)], ctx=[])
+      OlapFilterRel(condition=[NOT(=($3, 'Auction'))], ctx=[])
+        OlapJoinRel(condition=[=($3, $16)], joinType=[inner], ctx=[])
+          OlapTableScan(table=[[DEFAULT, TEST_KYLIN_FACT]], ctx=[], fields=[[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15]])
+          OlapAggregateRel(group-set=[[0]], groups=[null], X_measure__0=[SUM($1)], ctx=[])
+            OlapProjectRel(LSTG_FORMAT_NAME=[$3], PRICE=[$8], ctx=[])
+              OlapFilterRel(condition=[NOT(=($3, 'Auction'))], ctx=[])
+                OlapTableScan(table=[[DEFAULT, TEST_KYLIN_FACT]], ctx=[], fields=[[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15]])
 ]]>
         </Resource>
     </TestCase>
     <TestCase name="testAggFilterTransposeRule">
         <Resource name="query05.planBefore">
             <![CDATA[
-KapAggregateRel(group-set=[[17]], groups=[null], usr_GMV_SUM_ok=[SUM($8)], ctx=[])
-  KapFilterRel(condition=[NOT(=($3, 'Auction'))], ctx=[])
-    KapJoinRel(condition=[=($3, $16)], joinType=[inner], ctx=[])
-      KapTableScan(table=[[DEFAULT, TEST_KYLIN_FACT]], ctx=[], fields=[[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15]])
-      KapAggregateRel(group-set=[[0]], groups=[null], X_measure__0=[SUM($1)], ctx=[])
-        KapProjectRel(LSTG_FORMAT_NAME=[$3], PRICE=[$8], ctx=[])
-          KapFilterRel(condition=[NOT(=($3, 'Auction'))], ctx=[])
-            KapTableScan(table=[[DEFAULT, TEST_KYLIN_FACT]], ctx=[], fields=[[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15]])
+OlapAggregateRel(group-set=[[17]], groups=[null], usr_GMV_SUM_ok=[SUM($8)], ctx=[])
+  OlapFilterRel(condition=[NOT(=($3, 'Auction'))], ctx=[])
+    OlapJoinRel(condition=[=($3, $16)], joinType=[inner], ctx=[])
+      OlapTableScan(table=[[DEFAULT, TEST_KYLIN_FACT]], ctx=[], fields=[[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15]])
+      OlapAggregateRel(group-set=[[0]], groups=[null], X_measure__0=[SUM($1)], ctx=[])
+        OlapProjectRel(LSTG_FORMAT_NAME=[$3], PRICE=[$8], ctx=[])
+          OlapFilterRel(condition=[NOT(=($3, 'Auction'))], ctx=[])
+            OlapTableScan(table=[[DEFAULT, TEST_KYLIN_FACT]], ctx=[], fields=[[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15]])
 ]]>
         </Resource>
         <Resource name="query05.planAfter">
             <![CDATA[
-KapAggregateRel(group-set=[[1]], groups=[null], usr_GMV_SUM_ok=[SUM($2)], ctx=[])
-  KapFilterRel(condition=[NOT(=($0, 'Auction'))], ctx=[])
-    KapAggregateRel(group-set=[[3, 17]], groups=[null], usr_GMV_SUM_ok=[SUM($8)], ctx=[])
-      KapJoinRel(condition=[=($3, $16)], joinType=[inner], ctx=[])
-        KapTableScan(table=[[DEFAULT, TEST_KYLIN_FACT]], ctx=[], fields=[[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15]])
-        KapAggregateRel(group-set=[[0]], groups=[null], X_measure__0=[SUM($1)], ctx=[])
-          KapProjectRel(LSTG_FORMAT_NAME=[$3], PRICE=[$8], ctx=[])
-            KapFilterRel(condition=[NOT(=($3, 'Auction'))], ctx=[])
-              KapTableScan(table=[[DEFAULT, TEST_KYLIN_FACT]], ctx=[], fields=[[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15]])
+OlapAggregateRel(group-set=[[1]], groups=[null], usr_GMV_SUM_ok=[SUM($2)], ctx=[])
+  OlapFilterRel(condition=[NOT(=($0, 'Auction'))], ctx=[])
+    OlapAggregateRel(group-set=[[3, 17]], groups=[null], usr_GMV_SUM_ok=[SUM($8)], ctx=[])
+      OlapJoinRel(condition=[=($3, $16)], joinType=[inner], ctx=[])
+        OlapTableScan(table=[[DEFAULT, TEST_KYLIN_FACT]], ctx=[], fields=[[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15]])
+        OlapAggregateRel(group-set=[[0]], groups=[null], X_measure__0=[SUM($1)], ctx=[])
+          OlapProjectRel(LSTG_FORMAT_NAME=[$3], PRICE=[$8], ctx=[])
+            OlapFilterRel(condition=[NOT(=($3, 'Auction'))], ctx=[])
+              OlapTableScan(table=[[DEFAULT, TEST_KYLIN_FACT]], ctx=[], fields=[[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15]])
 ]]>
         </Resource>
     </TestCase>
     <TestCase name="testAggJoinTransposeRule">
         <Resource name="query05.planBefore">
             <![CDATA[
-KapAggregateRel(group-set=[[1]], groups=[null], usr_GMV_SUM_ok=[SUM($2)], ctx=[])
-  KapFilterRel(condition=[NOT(=($0, 'Auction'))], ctx=[])
-    KapAggregateRel(group-set=[[3, 17]], groups=[null], usr_GMV_SUM_ok=[SUM($8)], ctx=[])
-      KapJoinRel(condition=[=($3, $16)], joinType=[inner], ctx=[])
-        KapTableScan(table=[[DEFAULT, TEST_KYLIN_FACT]], ctx=[], fields=[[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15]])
-        KapAggregateRel(group-set=[[0]], groups=[null], X_measure__0=[SUM($1)], ctx=[])
-          KapProjectRel(LSTG_FORMAT_NAME=[$3], PRICE=[$8], ctx=[])
-            KapFilterRel(condition=[NOT(=($3, 'Auction'))], ctx=[])
-              KapTableScan(table=[[DEFAULT, TEST_KYLIN_FACT]], ctx=[], fields=[[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15]])
+OlapAggregateRel(group-set=[[1]], groups=[null], usr_GMV_SUM_ok=[SUM($2)], ctx=[])
+  OlapFilterRel(condition=[NOT(=($0, 'Auction'))], ctx=[])
+    OlapAggregateRel(group-set=[[3, 17]], groups=[null], usr_GMV_SUM_ok=[SUM($8)], ctx=[])
+      OlapJoinRel(condition=[=($3, $16)], joinType=[inner], ctx=[])
+        OlapTableScan(table=[[DEFAULT, TEST_KYLIN_FACT]], ctx=[], fields=[[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15]])
+        OlapAggregateRel(group-set=[[0]], groups=[null], X_measure__0=[SUM($1)], ctx=[])
+          OlapProjectRel(LSTG_FORMAT_NAME=[$3], PRICE=[$8], ctx=[])
+            OlapFilterRel(condition=[NOT(=($3, 'Auction'))], ctx=[])
+              OlapTableScan(table=[[DEFAULT, TEST_KYLIN_FACT]], ctx=[], fields=[[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15]])
 ]]>
         </Resource>
         <Resource name="query05.planAfter">
             <![CDATA[
-KapAggregateRel(group-set=[[1]], groups=[null], usr_GMV_SUM_ok=[SUM($2)], ctx=[])
-  KapFilterRel(condition=[NOT(=($0, 'Auction'))], ctx=[])
-    KapProjectRel(LSTG_FORMAT_NAME=[$0], X_measure__0=[$3], usr_GMV_SUM_ok=[$1], ctx=[])
-      KapJoinRel(condition=[=($0, $2)], joinType=[inner], ctx=[])
-        KapAggregateRel(group-set=[[3]], groups=[null], usr_GMV_SUM_ok=[SUM($8)], ctx=[])
-          KapTableScan(table=[[DEFAULT, TEST_KYLIN_FACT]], ctx=[], fields=[[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15]])
-        KapAggregateRel(group-set=[[0]], groups=[null], X_measure__0=[SUM($1)], ctx=[])
-          KapProjectRel(LSTG_FORMAT_NAME=[$3], PRICE=[$8], ctx=[])
-            KapFilterRel(condition=[NOT(=($3, 'Auction'))], ctx=[])
-              KapTableScan(table=[[DEFAULT, TEST_KYLIN_FACT]], ctx=[], fields=[[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15]])
+OlapAggregateRel(group-set=[[1]], groups=[null], usr_GMV_SUM_ok=[SUM($2)], ctx=[])
+  OlapFilterRel(condition=[NOT(=($0, 'Auction'))], ctx=[])
+    OlapProjectRel(LSTG_FORMAT_NAME=[$0], X_measure__0=[$3], usr_GMV_SUM_ok=[$1], ctx=[])
+      OlapJoinRel(condition=[=($0, $2)], joinType=[inner], ctx=[])
+        OlapAggregateRel(group-set=[[3]], groups=[null], usr_GMV_SUM_ok=[SUM($8)], ctx=[])
+          OlapTableScan(table=[[DEFAULT, TEST_KYLIN_FACT]], ctx=[], fields=[[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15]])
+        OlapAggregateRel(group-set=[[0]], groups=[null], X_measure__0=[SUM($1)], ctx=[])
+          OlapProjectRel(LSTG_FORMAT_NAME=[$3], PRICE=[$8], ctx=[])
+            OlapFilterRel(condition=[NOT(=($3, 'Auction'))], ctx=[])
+              OlapTableScan(table=[[DEFAULT, TEST_KYLIN_FACT]], ctx=[], fields=[[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15]])
 ]]>
         </Resource>
     </TestCase>
diff --git a/src/kylin-it/src/test/resources/org/apache/kylin/query/rules/FilterSimplifyRuleTest.xml b/src/kylin-it/src/test/resources/org/apache/kylin/query/rules/FilterSimplifyRuleTest.xml
index bd3889963f..e77c4ead93 100644
--- a/src/kylin-it/src/test/resources/org/apache/kylin/query/rules/FilterSimplifyRuleTest.xml
+++ b/src/kylin-it/src/test/resources/org/apache/kylin/query/rules/FilterSimplifyRuleTest.xml
@@ -21,66 +21,66 @@
     <TestCase name="test">
         <Resource name="query01.planBefore">
             <![CDATA[
-KapOLAPToEnumerableConverter
-  KapProjectRel(EXPR$0=[$1], ctx=[])
-    KapAggregateRel(group-set=[[0]], groups=[null], EXPR$0=[COUNT()], ctx=[])
-      KapProjectRel(CAL_DT=[$2], ctx=[])
-        KapFilterRel(condition=[AND(=($1, $39), >($1, 10), =($40, $44), =($52, $58), >($2, 1992-01-01))], ctx=[])
-          KapJoinRel(condition=[=($52, $58)], joinType=[inner], ctx=[])
-            KapJoinRel(condition=[=($47, $54)], joinType=[inner], ctx=[])
-              KapJoinRel(condition=[=($7, $49)], joinType=[inner], ctx=[])
-                KapJoinRel(condition=[=($40, $44)], joinType=[inner], ctx=[])
-                  KapJoinRel(condition=[=($1, $39)], joinType=[inner], ctx=[])
-                    KapTableScan(table=[[DEFAULT, TEST_KYLIN_FACT]], ctx=[], fields=[[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38]])
-                    KapTableScan(table=[[DEFAULT, TEST_ORDER]], ctx=[], fields=[[0, 1, 2, 3, 4]])
-                  KapTableScan(table=[[DEFAULT, TEST_ACCOUNT]], ctx=[], fields=[[0, 1, 2, 3, 4]])
-                KapTableScan(table=[[DEFAULT, TEST_ACCOUNT]], ctx=[], fields=[[0, 1, 2, 3, 4]])
-              KapTableScan(table=[[DEFAULT, TEST_COUNTRY]], ctx=[], fields=[[0, 1, 2, 3]])
-            KapTableScan(table=[[DEFAULT, TEST_COUNTRY]], ctx=[], fields=[[0, 1, 2, 3]])
+OlapToEnumerableConverter
+  OlapProjectRel(EXPR$0=[$1], ctx=[])
+    OlapAggregateRel(group-set=[[0]], groups=[null], EXPR$0=[COUNT()], ctx=[])
+      OlapProjectRel(CAL_DT=[$2], ctx=[])
+        OlapFilterRel(condition=[AND(=($1, $39), >($1, 10), =($40, $44), =($52, $58), >($2, 1992-01-01))], ctx=[])
+          OlapJoinRel(condition=[=($52, $58)], joinType=[inner], ctx=[])
+            OlapJoinRel(condition=[=($47, $54)], joinType=[inner], ctx=[])
+              OlapJoinRel(condition=[=($7, $49)], joinType=[inner], ctx=[])
+                OlapJoinRel(condition=[=($40, $44)], joinType=[inner], ctx=[])
+                  OlapJoinRel(condition=[=($1, $39)], joinType=[inner], ctx=[])
+                    OlapTableScan(table=[[DEFAULT, TEST_KYLIN_FACT]], ctx=[], fields=[[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38]])
+                    OlapTableScan(table=[[DEFAULT, TEST_ORDER]], ctx=[], fields=[[0, 1, 2, 3, 4]])
+                  OlapTableScan(table=[[DEFAULT, TEST_ACCOUNT]], ctx=[], fields=[[0, 1, 2, 3, 4]])
+                OlapTableScan(table=[[DEFAULT, TEST_ACCOUNT]], ctx=[], fields=[[0, 1, 2, 3, 4]])
+              OlapTableScan(table=[[DEFAULT, TEST_COUNTRY]], ctx=[], fields=[[0, 1, 2, 3]])
+            OlapTableScan(table=[[DEFAULT, TEST_COUNTRY]], ctx=[], fields=[[0, 1, 2, 3]])
 ]]>
         </Resource>
         <Resource name="query01.planAfter">
             <![CDATA[
-KapOLAPToEnumerableConverter
-  KapProjectRel(EXPR$0=[$1], ctx=[])
-    KapAggregateRel(group-set=[[0]], groups=[null], EXPR$0=[COUNT()], ctx=[])
-      KapProjectRel(CAL_DT=[$2], ctx=[])
+OlapToEnumerableConverter
+  OlapProjectRel(EXPR$0=[$1], ctx=[])
+    OlapAggregateRel(group-set=[[0]], groups=[null], EXPR$0=[COUNT()], ctx=[])
+      OlapProjectRel(CAL_DT=[$2], ctx=[])
         LogicalFilter(condition=[AND(>($1, 10), >($2, 1992-01-01))])
-          KapJoinRel(condition=[=($52, $58)], joinType=[inner], ctx=[])
-            KapJoinRel(condition=[=($47, $54)], joinType=[inner], ctx=[])
-              KapJoinRel(condition=[=($7, $49)], joinType=[inner], ctx=[])
-                KapJoinRel(condition=[=($40, $44)], joinType=[inner], ctx=[])
-                  KapJoinRel(condition=[=($1, $39)], joinType=[inner], ctx=[])
-                    KapTableScan(table=[[DEFAULT, TEST_KYLIN_FACT]], ctx=[], fields=[[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38]])
-                    KapTableScan(table=[[DEFAULT, TEST_ORDER]], ctx=[], fields=[[0, 1, 2, 3, 4]])
-                  KapTableScan(table=[[DEFAULT, TEST_ACCOUNT]], ctx=[], fields=[[0, 1, 2, 3, 4]])
-                KapTableScan(table=[[DEFAULT, TEST_ACCOUNT]], ctx=[], fields=[[0, 1, 2, 3, 4]])
-              KapTableScan(table=[[DEFAULT, TEST_COUNTRY]], ctx=[], fields=[[0, 1, 2, 3]])
-            KapTableScan(table=[[DEFAULT, TEST_COUNTRY]], ctx=[], fields=[[0, 1, 2, 3]])
+          OlapJoinRel(condition=[=($52, $58)], joinType=[inner], ctx=[])
+            OlapJoinRel(condition=[=($47, $54)], joinType=[inner], ctx=[])
+              OlapJoinRel(condition=[=($7, $49)], joinType=[inner], ctx=[])
+                OlapJoinRel(condition=[=($40, $44)], joinType=[inner], ctx=[])
+                  OlapJoinRel(condition=[=($1, $39)], joinType=[inner], ctx=[])
+                    OlapTableScan(table=[[DEFAULT, TEST_KYLIN_FACT]], ctx=[], fields=[[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38]])
+                    OlapTableScan(table=[[DEFAULT, TEST_ORDER]], ctx=[], fields=[[0, 1, 2, 3, 4]])
+                  OlapTableScan(table=[[DEFAULT, TEST_ACCOUNT]], ctx=[], fields=[[0, 1, 2, 3, 4]])
+                OlapTableScan(table=[[DEFAULT, TEST_ACCOUNT]], ctx=[], fields=[[0, 1, 2, 3, 4]])
+              OlapTableScan(table=[[DEFAULT, TEST_COUNTRY]], ctx=[], fields=[[0, 1, 2, 3]])
+            OlapTableScan(table=[[DEFAULT, TEST_COUNTRY]], ctx=[], fields=[[0, 1, 2, 3]])
 ]]>
         </Resource>
         <Resource name="query02.planBefore">
             <![CDATA[
-KapOLAPToEnumerableConverter
-  KapProjectRel(EXPR$0=[$1], ctx=[])
-    KapAggregateRel(group-set=[[0]], groups=[null], EXPR$0=[COUNT()], ctx=[])
-      KapProjectRel(CAL_DT=[$2], ctx=[])
-        KapFilterRel(condition=[AND(>($2, 1992-01-01), OR(=(SUBSTRING($3, 1, 1), 'A'), =(SUBSTRING($3, 1, 1), 'B'), =(SUBSTRING($3, 1, 1), 'C'), =(SUBSTRING($3, 1, 1), 'D'), =(SUBSTRING($3, 1, 1), 'E'), =(SUBSTRING($3, 1, 1), 'F'), =('G', SUBSTRING($3, 1, 1)), =(SUBSTRING($3, 1, 1), 'H')))], ctx=[])
-          KapJoinRel(condition=[=($1, $39)], joinType=[inner], ctx=[])
-            KapTableScan(table=[[DEFAULT, TEST_KYLIN_FACT]], ctx=[], fields=[[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38]])
-            KapTableScan(table=[[DEFAULT, TEST_ORDER]], ctx=[], fields=[[0, 1, 2, 3, 4]])
+OlapToEnumerableConverter
+  OlapProjectRel(EXPR$0=[$1], ctx=[])
+    OlapAggregateRel(group-set=[[0]], groups=[null], EXPR$0=[COUNT()], ctx=[])
+      OlapProjectRel(CAL_DT=[$2], ctx=[])
+        OlapFilterRel(condition=[AND(>($2, 1992-01-01), OR(=(SUBSTRING($3, 1, 1), 'A'), =(SUBSTRING($3, 1, 1), 'B'), =(SUBSTRING($3, 1, 1), 'C'), =(SUBSTRING($3, 1, 1), 'D'), =(SUBSTRING($3, 1, 1), 'E'), =(SUBSTRING($3, 1, 1), 'F'), =('G', SUBSTRING($3, 1, 1)), =(SUBSTRING($3, 1, 1), 'H')))], ctx=[])
+          OlapJoinRel(condition=[=($1, $39)], joinType=[inner], ctx=[])
+            OlapTableScan(table=[[DEFAULT, TEST_KYLIN_FACT]], ctx=[], fields=[[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38]])
+            OlapTableScan(table=[[DEFAULT, TEST_ORDER]], ctx=[], fields=[[0, 1, 2, 3, 4]])
 ]]>
         </Resource>
         <Resource name="query02.planAfter">
             <![CDATA[
-KapOLAPToEnumerableConverter
-  KapProjectRel(EXPR$0=[$1], ctx=[])
-    KapAggregateRel(group-set=[[0]], groups=[null], EXPR$0=[COUNT()], ctx=[])
-      KapProjectRel(CAL_DT=[$2], ctx=[])
+OlapToEnumerableConverter
+  OlapProjectRel(EXPR$0=[$1], ctx=[])
+    OlapAggregateRel(group-set=[[0]], groups=[null], EXPR$0=[COUNT()], ctx=[])
+      OlapProjectRel(CAL_DT=[$2], ctx=[])
         LogicalFilter(condition=[AND(>($2, 1992-01-01), IN(SUBSTRING($3, 1, 1), 'A', 'B', 'C', 'D', 'E', 'F', 'G', 'H'))])
-          KapJoinRel(condition=[=($1, $39)], joinType=[inner], ctx=[])
-            KapTableScan(table=[[DEFAULT, TEST_KYLIN_FACT]], ctx=[], fields=[[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38]])
-            KapTableScan(table=[[DEFAULT, TEST_ORDER]], ctx=[], fields=[[0, 1, 2, 3, 4]])
+          OlapJoinRel(condition=[=($1, $39)], joinType=[inner], ctx=[])
+            OlapTableScan(table=[[DEFAULT, TEST_KYLIN_FACT]], ctx=[], fields=[[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38]])
+            OlapTableScan(table=[[DEFAULT, TEST_ORDER]], ctx=[], fields=[[0, 1, 2, 3, 4]])
 ]]>
         </Resource>
     </TestCase>
diff --git a/src/kylin-it/src/test/resources/org/apache/kylin/query/rules/ScalarSubqueryJoinRuleTest.xml b/src/kylin-it/src/test/resources/org/apache/kylin/query/rules/ScalarSubqueryJoinRuleTest.xml
index 55c9a36a16..9dbf460488 100644
--- a/src/kylin-it/src/test/resources/org/apache/kylin/query/rules/ScalarSubqueryJoinRuleTest.xml
+++ b/src/kylin-it/src/test/resources/org/apache/kylin/query/rules/ScalarSubqueryJoinRuleTest.xml
@@ -20,757 +20,757 @@
     <TestCase name="testPushDownAggregate">
         <Resource name="query01.planBefore">
             <![CDATA[
-KapOLAPToEnumerableConverter
-  KapAggregateRel(group-set=[[0, 1]], groups=[null], TOTAL=[SUM($2)], ctx=[])
-    KapProjectRel(D_DATEKEY=[$1], DATE_TIME=[$0], D_YEAR=[$5], ctx=[])
-      KapJoinRel(condition=[=($0, $1)], joinType=[left], ctx=[])
-        KapProjectRel(DATE_TIME=['1995-03-01'], ctx=[])
-          KapValuesRel(tuples=[[{ 0 }]])
-        KapTableScan(table=[[SSB, DATES]], ctx=[], fields=[[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16]])
+OlapToEnumerableConverter
+  OlapAggregateRel(group-set=[[0, 1]], groups=[null], TOTAL=[SUM($2)], ctx=[])
+    OlapProjectRel(D_DATEKEY=[$1], DATE_TIME=[$0], D_YEAR=[$5], ctx=[])
+      OlapJoinRel(condition=[=($0, $1)], joinType=[left], ctx=[])
+        OlapProjectRel(DATE_TIME=['1995-03-01'], ctx=[])
+          OlapValuesRel(tuples=[[{ 0 }]])
+        OlapTableScan(table=[[SSB, DATES]], ctx=[], fields=[[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16]])
 ]]>
         </Resource>
         <Resource name="query01.planAfter">
             <![CDATA[
-KapOLAPToEnumerableConverter
-  KapProjectRel(D_DATEKEY=[$1], DATE_TIME=[$0], TOTAL=[$2], ctx=[])
-    KapAggregateRel(group-set=[[0, 1]], groups=[null], TOTAL=[SUM($2)], ctx=[])
-      KapJoinRel(condition=[=($0, $1)], joinType=[left], ctx=[])
-        KapProjectRel(DATE_TIME=['1995-03-01'], ctx=[])
-          KapValuesRel(tuples=[[{ 0 }]])
-        KapAggregateRel(group-set=[[0]], groups=[null], TOTAL=[SUM($4)], ctx=[])
-          KapTableScan(table=[[SSB, DATES]], ctx=[], fields=[[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16]])
+OlapToEnumerableConverter
+  OlapProjectRel(D_DATEKEY=[$1], DATE_TIME=[$0], TOTAL=[$2], ctx=[])
+    OlapAggregateRel(group-set=[[0, 1]], groups=[null], TOTAL=[SUM($2)], ctx=[])
+      OlapJoinRel(condition=[=($0, $1)], joinType=[left], ctx=[])
+        OlapProjectRel(DATE_TIME=['1995-03-01'], ctx=[])
+          OlapValuesRel(tuples=[[{ 0 }]])
+        OlapAggregateRel(group-set=[[0]], groups=[null], TOTAL=[SUM($4)], ctx=[])
+          OlapTableScan(table=[[SSB, DATES]], ctx=[], fields=[[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16]])
 ]]>
         </Resource>
         <Resource name="query02.planBefore">
             <![CDATA[
-KapOLAPToEnumerableConverter
-  KapAggregateRel(group-set=[[0, 1]], groups=[null], TOTAL=[SUM($2)], ctx=[])
-    KapProjectRel(D_DATEKEY=[$1], DATE_TIME=[$0], D_YEAR=[$5], ctx=[])
-      KapJoinRel(condition=[=($0, $1)], joinType=[left], ctx=[])
-        KapUnionRel(all=[true], ctx=[], all=[true])
-          KapUnionRel(all=[true], ctx=[], all=[true])
-            KapProjectRel(DATE_TIME=['1995-03-01'], ctx=[])
-              KapValuesRel(tuples=[[{ 0 }]])
-            KapProjectRel(DATE_TIME=['1995-03-02'], ctx=[])
-              KapValuesRel(tuples=[[{ 0 }]])
-          KapProjectRel(DATE_TIME=['1995-03-03'], ctx=[])
-            KapValuesRel(tuples=[[{ 0 }]])
-        KapTableScan(table=[[SSB, DATES]], ctx=[], fields=[[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16]])
+OlapToEnumerableConverter
+  OlapAggregateRel(group-set=[[0, 1]], groups=[null], TOTAL=[SUM($2)], ctx=[])
+    OlapProjectRel(D_DATEKEY=[$1], DATE_TIME=[$0], D_YEAR=[$5], ctx=[])
+      OlapJoinRel(condition=[=($0, $1)], joinType=[left], ctx=[])
+        OlapUnionRel(all=[true], ctx=[], all=[true])
+          OlapUnionRel(all=[true], ctx=[], all=[true])
+            OlapProjectRel(DATE_TIME=['1995-03-01'], ctx=[])
+              OlapValuesRel(tuples=[[{ 0 }]])
+            OlapProjectRel(DATE_TIME=['1995-03-02'], ctx=[])
+              OlapValuesRel(tuples=[[{ 0 }]])
+          OlapProjectRel(DATE_TIME=['1995-03-03'], ctx=[])
+            OlapValuesRel(tuples=[[{ 0 }]])
+        OlapTableScan(table=[[SSB, DATES]], ctx=[], fields=[[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16]])
 ]]>
         </Resource>
         <Resource name="query02.planAfter">
             <![CDATA[
-KapOLAPToEnumerableConverter
-  KapProjectRel(D_DATEKEY=[$1], DATE_TIME=[$0], TOTAL=[$2], ctx=[])
-    KapAggregateRel(group-set=[[0, 1]], groups=[null], TOTAL=[SUM($2)], ctx=[])
-      KapJoinRel(condition=[=($0, $1)], joinType=[left], ctx=[])
-        KapUnionRel(all=[true], ctx=[], all=[true])
-          KapUnionRel(all=[true], ctx=[], all=[true])
-            KapProjectRel(DATE_TIME=['1995-03-01'], ctx=[])
-              KapValuesRel(tuples=[[{ 0 }]])
-            KapProjectRel(DATE_TIME=['1995-03-02'], ctx=[])
-              KapValuesRel(tuples=[[{ 0 }]])
-          KapProjectRel(DATE_TIME=['1995-03-03'], ctx=[])
-            KapValuesRel(tuples=[[{ 0 }]])
-        KapAggregateRel(group-set=[[0]], groups=[null], TOTAL=[SUM($4)], ctx=[])
-          KapTableScan(table=[[SSB, DATES]], ctx=[], fields=[[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16]])
+OlapToEnumerableConverter
+  OlapProjectRel(D_DATEKEY=[$1], DATE_TIME=[$0], TOTAL=[$2], ctx=[])
+    OlapAggregateRel(group-set=[[0, 1]], groups=[null], TOTAL=[SUM($2)], ctx=[])
+      OlapJoinRel(condition=[=($0, $1)], joinType=[left], ctx=[])
+        OlapUnionRel(all=[true], ctx=[], all=[true])
+          OlapUnionRel(all=[true], ctx=[], all=[true])
+            OlapProjectRel(DATE_TIME=['1995-03-01'], ctx=[])
+              OlapValuesRel(tuples=[[{ 0 }]])
+            OlapProjectRel(DATE_TIME=['1995-03-02'], ctx=[])
+              OlapValuesRel(tuples=[[{ 0 }]])
+          OlapProjectRel(DATE_TIME=['1995-03-03'], ctx=[])
+            OlapValuesRel(tuples=[[{ 0 }]])
+        OlapAggregateRel(group-set=[[0]], groups=[null], TOTAL=[SUM($4)], ctx=[])
+          OlapTableScan(table=[[SSB, DATES]], ctx=[], fields=[[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16]])
 ]]>
         </Resource>
         <Resource name="query03.planBefore">
             <![CDATA[
-KapOLAPToEnumerableConverter
-  KapAggregateRel(group-set=[[0, 1]], groups=[null], EXPR$2=[COUNT()], SY=[SUM($2)], ctx=[])
-    KapProjectRel(D_DATE=[$2], DATE_TIME=[$0], D_YEAR=[$5], ctx=[])
-      KapNonEquiJoinRel(condition=[AND(<=($2, $0), >=($2, CONCAT(SUBSTRING($0, 1, 8), '01')))], joinType=[left], ctx=[])
-        KapUnionRel(all=[true], ctx=[], all=[true])
-          KapUnionRel(all=[true], ctx=[], all=[true])
-            KapProjectRel(DATE_TIME=['1995-03-01'], ctx=[])
-              KapValuesRel(tuples=[[{ 0 }]])
-            KapProjectRel(DATE_TIME=['1995-03-02'], ctx=[])
-              KapValuesRel(tuples=[[{ 0 }]])
-          KapProjectRel(DATE_TIME=['1995-03-03'], ctx=[])
-            KapValuesRel(tuples=[[{ 0 }]])
-        KapTableScan(table=[[SSB, DATES]], ctx=[], fields=[[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16]])
+OlapToEnumerableConverter
+  OlapAggregateRel(group-set=[[0, 1]], groups=[null], EXPR$2=[COUNT()], SY=[SUM($2)], ctx=[])
+    OlapProjectRel(D_DATE=[$2], DATE_TIME=[$0], D_YEAR=[$5], ctx=[])
+      OlapNonEquiJoinRel(condition=[AND(<=($2, $0), >=($2, CONCAT(SUBSTRING($0, 1, 8), '01')))], joinType=[left], ctx=[])
+        OlapUnionRel(all=[true], ctx=[], all=[true])
+          OlapUnionRel(all=[true], ctx=[], all=[true])
+            OlapProjectRel(DATE_TIME=['1995-03-01'], ctx=[])
+              OlapValuesRel(tuples=[[{ 0 }]])
+            OlapProjectRel(DATE_TIME=['1995-03-02'], ctx=[])
+              OlapValuesRel(tuples=[[{ 0 }]])
+          OlapProjectRel(DATE_TIME=['1995-03-03'], ctx=[])
+            OlapValuesRel(tuples=[[{ 0 }]])
+        OlapTableScan(table=[[SSB, DATES]], ctx=[], fields=[[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16]])
 ]]>
         </Resource>
         <Resource name="query03.planAfter">
             <![CDATA[
-KapOLAPToEnumerableConverter
-  KapProjectRel(D_DATE=[$1], DATE_TIME=[$0], EXPR$2=[$2], SY=[$3], ctx=[])
-    KapAggregateRel(group-set=[[0, 1]], groups=[null], EXPR$2=[$SUM0($2)], SY=[SUM($3)], ctx=[])
-      KapProjectRel(DATE_TIME=[$0], D_DATE=[$1], $f2=[CASE(IS NULL($2), CAST(1):BIGINT, $2)], SY=[$3], ctx=[])
-        KapNonEquiJoinRel(condition=[AND(<=($1, $0), >=($1, CONCAT(SUBSTRING($0, 1, 8), '01')))], joinType=[left], ctx=[])
-          KapUnionRel(all=[true], ctx=[], all=[true])
-            KapUnionRel(all=[true], ctx=[], all=[true])
-              KapProjectRel(DATE_TIME=['1995-03-01'], ctx=[])
-                KapValuesRel(tuples=[[{ 0 }]])
-              KapProjectRel(DATE_TIME=['1995-03-02'], ctx=[])
-                KapValuesRel(tuples=[[{ 0 }]])
-            KapProjectRel(DATE_TIME=['1995-03-03'], ctx=[])
-              KapValuesRel(tuples=[[{ 0 }]])
-          KapAggregateRel(group-set=[[1]], groups=[null], EXPR$2=[COUNT()], SY=[SUM($4)], ctx=[])
-            KapTableScan(table=[[SSB, DATES]], ctx=[], fields=[[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16]])
+OlapToEnumerableConverter
+  OlapProjectRel(D_DATE=[$1], DATE_TIME=[$0], EXPR$2=[$2], SY=[$3], ctx=[])
+    OlapAggregateRel(group-set=[[0, 1]], groups=[null], EXPR$2=[$SUM0($2)], SY=[SUM($3)], ctx=[])
+      OlapProjectRel(DATE_TIME=[$0], D_DATE=[$1], $f2=[CASE(IS NULL($2), CAST(1):BIGINT, $2)], SY=[$3], ctx=[])
+        OlapNonEquiJoinRel(condition=[AND(<=($1, $0), >=($1, CONCAT(SUBSTRING($0, 1, 8), '01')))], joinType=[left], ctx=[])
+          OlapUnionRel(all=[true], ctx=[], all=[true])
+            OlapUnionRel(all=[true], ctx=[], all=[true])
+              OlapProjectRel(DATE_TIME=['1995-03-01'], ctx=[])
+                OlapValuesRel(tuples=[[{ 0 }]])
+              OlapProjectRel(DATE_TIME=['1995-03-02'], ctx=[])
+                OlapValuesRel(tuples=[[{ 0 }]])
+            OlapProjectRel(DATE_TIME=['1995-03-03'], ctx=[])
+              OlapValuesRel(tuples=[[{ 0 }]])
+          OlapAggregateRel(group-set=[[1]], groups=[null], EXPR$2=[COUNT()], SY=[SUM($4)], ctx=[])
+            OlapTableScan(table=[[SSB, DATES]], ctx=[], fields=[[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16]])
 ]]>
         </Resource>
         <Resource name="query04.planBefore">
             <![CDATA[
-KapOLAPToEnumerableConverter
-  KapProjectRel(D_DATEKEY=[$0], TOTAL=[$2], ctx=[])
-    KapAggregateRel(group-set=[[0, 1]], groups=[null], TOTAL=[SUM($2)], ctx=[])
-      KapProjectRel(D_DATEKEY=[$1], DATE_TIME=[$0], D_YEAR=[$5], ctx=[])
-        KapJoinRel(condition=[=($0, $1)], joinType=[left], ctx=[])
-          KapProjectRel(DATE_TIME=['1995-03-01'], ctx=[])
-            KapValuesRel(tuples=[[{ 0 }]])
-          KapTableScan(table=[[SSB, DATES]], ctx=[], fields=[[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16]])
+OlapToEnumerableConverter
+  OlapProjectRel(D_DATEKEY=[$0], TOTAL=[$2], ctx=[])
+    OlapAggregateRel(group-set=[[0, 1]], groups=[null], TOTAL=[SUM($2)], ctx=[])
+      OlapProjectRel(D_DATEKEY=[$1], DATE_TIME=[$0], D_YEAR=[$5], ctx=[])
+        OlapJoinRel(condition=[=($0, $1)], joinType=[left], ctx=[])
+          OlapProjectRel(DATE_TIME=['1995-03-01'], ctx=[])
+            OlapValuesRel(tuples=[[{ 0 }]])
+          OlapTableScan(table=[[SSB, DATES]], ctx=[], fields=[[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16]])
 ]]>
         </Resource>
         <Resource name="query04.planAfter">
             <![CDATA[
-KapOLAPToEnumerableConverter
-  KapProjectRel(D_DATEKEY=[$1], TOTAL=[$2], ctx=[])
-    KapAggregateRel(group-set=[[0, 1]], groups=[null], TOTAL=[SUM($2)], ctx=[])
-      KapJoinRel(condition=[=($0, $1)], joinType=[left], ctx=[])
-        KapProjectRel(DATE_TIME=['1995-03-01'], ctx=[])
-          KapValuesRel(tuples=[[{ 0 }]])
-        KapAggregateRel(group-set=[[0]], groups=[null], TOTAL=[SUM($4)], ctx=[])
-          KapTableScan(table=[[SSB, DATES]], ctx=[], fields=[[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16]])
+OlapToEnumerableConverter
+  OlapProjectRel(D_DATEKEY=[$1], TOTAL=[$2], ctx=[])
+    OlapAggregateRel(group-set=[[0, 1]], groups=[null], TOTAL=[SUM($2)], ctx=[])
+      OlapJoinRel(condition=[=($0, $1)], joinType=[left], ctx=[])
+        OlapProjectRel(DATE_TIME=['1995-03-01'], ctx=[])
+          OlapValuesRel(tuples=[[{ 0 }]])
+        OlapAggregateRel(group-set=[[0]], groups=[null], TOTAL=[SUM($4)], ctx=[])
+          OlapTableScan(table=[[SSB, DATES]], ctx=[], fields=[[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16]])
 ]]>
         </Resource>
         <Resource name="query05.planBefore">
             <![CDATA[
-KapOLAPToEnumerableConverter
-  KapProjectRel(SD=[$3], D_DATE=[$0], EXPR$2=[$4], DATE_TIME=[$1], SY=[$5], SR=[$6], LO_ORDERDATE=[$2], ctx=[])
-    KapAggregateRel(group-set=[[0, 1, 2]], groups=[null], SD=[SUM($3)], EXPR$2=[COUNT()], SY=[SUM($4)], SR=[SUM($5)], ctx=[])
-      KapProjectRel(D_DATE=[$2], DATE_TIME=[$0], LO_ORDERDATE=[$23], D_DATEKEY=[$1], D_YEAR=[$5], LO_REVENUE=[$30], ctx=[])
-        KapJoinRel(condition=[=($0, $23)], joinType=[inner], ctx=[])
-          KapNonEquiJoinRel(condition=[AND(<=($2, $0), >=($2, CONCAT(SUBSTRING($0, 1, 8), '01')))], joinType=[left], ctx=[])
-            KapUnionRel(all=[true], ctx=[], all=[true])
-              KapUnionRel(all=[true], ctx=[], all=[true])
-                KapProjectRel(DATE_TIME=['1995-03-01'], ctx=[])
-                  KapValuesRel(tuples=[[{ 0 }]])
-                KapProjectRel(DATE_TIME=['1995-03-02'], ctx=[])
-                  KapValuesRel(tuples=[[{ 0 }]])
-              KapProjectRel(DATE_TIME=['1995-03-03'], ctx=[])
-                KapValuesRel(tuples=[[{ 0 }]])
-            KapTableScan(table=[[SSB, DATES]], ctx=[], fields=[[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16]])
-          KapTableScan(table=[[SSB, LINEORDER]], ctx=[], fields=[[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20]])
+OlapToEnumerableConverter
+  OlapProjectRel(SD=[$3], D_DATE=[$0], EXPR$2=[$4], DATE_TIME=[$1], SY=[$5], SR=[$6], LO_ORDERDATE=[$2], ctx=[])
+    OlapAggregateRel(group-set=[[0, 1, 2]], groups=[null], SD=[SUM($3)], EXPR$2=[COUNT()], SY=[SUM($4)], SR=[SUM($5)], ctx=[])
+      OlapProjectRel(D_DATE=[$2], DATE_TIME=[$0], LO_ORDERDATE=[$23], D_DATEKEY=[$1], D_YEAR=[$5], LO_REVENUE=[$30], ctx=[])
+        OlapJoinRel(condition=[=($0, $23)], joinType=[inner], ctx=[])
+          OlapNonEquiJoinRel(condition=[AND(<=($2, $0), >=($2, CONCAT(SUBSTRING($0, 1, 8), '01')))], joinType=[left], ctx=[])
+            OlapUnionRel(all=[true], ctx=[], all=[true])
+              OlapUnionRel(all=[true], ctx=[], all=[true])
+                OlapProjectRel(DATE_TIME=['1995-03-01'], ctx=[])
+                  OlapValuesRel(tuples=[[{ 0 }]])
+                OlapProjectRel(DATE_TIME=['1995-03-02'], ctx=[])
+                  OlapValuesRel(tuples=[[{ 0 }]])
+              OlapProjectRel(DATE_TIME=['1995-03-03'], ctx=[])
+                OlapValuesRel(tuples=[[{ 0 }]])
+            OlapTableScan(table=[[SSB, DATES]], ctx=[], fields=[[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16]])
+          OlapTableScan(table=[[SSB, LINEORDER]], ctx=[], fields=[[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20]])
 ]]>
         </Resource>
         <Resource name="query05.planAfter">
             <![CDATA[
-KapOLAPToEnumerableConverter
-  KapProjectRel(SD=[$3], D_DATE=[$1], EXPR$2=[$4], DATE_TIME=[$0], SY=[$5], SR=[$6], LO_ORDERDATE=[$2], ctx=[])
-    KapAggregateRel(group-set=[[0, 1, 2]], groups=[null], SD=[SUM($8)], EXPR$2=[$SUM0($9)], SY=[SUM($10)], SR=[SUM($11)], ctx=[])
-      KapProjectRel(DATE_TIME=[$0], D_DATE=[$1], LO_ORDERDATE=[$5], EXPR$2=[$3], SY=[$4], SD=[$2], $f1=[$6], SR=[$7], $f8=[CAST(*($2, $6)):BIGINT], $f9=[*($3, $6)], $f10=[CAST(*($4, $6)):BIGINT], $f11=[CAST(*($3, $7)):BIGINT], ctx=[])
-        KapJoinRel(condition=[=($0, $5)], joinType=[inner], ctx=[])
-          KapAggregateRel(group-set=[[0, 1]], groups=[null], SD=[SUM($2)], EXPR$2=[$SUM0($3)], SY=[SUM($4)], ctx=[])
-            KapProjectRel(DATE_TIME=[$0], D_DATE=[$1], SD=[$2], $f3=[CASE(IS NULL($3), CAST(1):BIGINT, $3)], SY=[$4], ctx=[])
-              KapNonEquiJoinRel(condition=[AND(<=($1, $0), >=($1, CONCAT(SUBSTRING($0, 1, 8), '01')))], joinType=[left], ctx=[])
-                KapUnionRel(all=[true], ctx=[], all=[true])
-                  KapUnionRel(all=[true], ctx=[], all=[true])
-                    KapProjectRel(DATE_TIME=['1995-03-01'], ctx=[])
-                      KapValuesRel(tuples=[[{ 0 }]])
-                    KapProjectRel(DATE_TIME=['1995-03-02'], ctx=[])
-                      KapValuesRel(tuples=[[{ 0 }]])
-                  KapProjectRel(DATE_TIME=['1995-03-03'], ctx=[])
-                    KapValuesRel(tuples=[[{ 0 }]])
-                KapAggregateRel(group-set=[[1]], groups=[null], SD=[SUM($0)], EXPR$2=[COUNT()], SY=[SUM($4)], ctx=[])
-                  KapTableScan(table=[[SSB, DATES]], ctx=[], fields=[[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16]])
-          KapAggregateRel(group-set=[[5]], groups=[null], agg#0=[COUNT()], SR=[SUM($12)], ctx=[])
-            KapTableScan(table=[[SSB, LINEORDER]], ctx=[], fields=[[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20]])
+OlapToEnumerableConverter
+  OlapProjectRel(SD=[$3], D_DATE=[$1], EXPR$2=[$4], DATE_TIME=[$0], SY=[$5], SR=[$6], LO_ORDERDATE=[$2], ctx=[])
+    OlapAggregateRel(group-set=[[0, 1, 2]], groups=[null], SD=[SUM($8)], EXPR$2=[$SUM0($9)], SY=[SUM($10)], SR=[SUM($11)], ctx=[])
+      OlapProjectRel(DATE_TIME=[$0], D_DATE=[$1], LO_ORDERDATE=[$5], EXPR$2=[$3], SY=[$4], SD=[$2], $f1=[$6], SR=[$7], $f8=[CAST(*($2, $6)):BIGINT], $f9=[*($3, $6)], $f10=[CAST(*($4, $6)):BIGINT], $f11=[CAST(*($3, $7)):BIGINT], ctx=[])
+        OlapJoinRel(condition=[=($0, $5)], joinType=[inner], ctx=[])
+          OlapAggregateRel(group-set=[[0, 1]], groups=[null], SD=[SUM($2)], EXPR$2=[$SUM0($3)], SY=[SUM($4)], ctx=[])
+            OlapProjectRel(DATE_TIME=[$0], D_DATE=[$1], SD=[$2], $f3=[CASE(IS NULL($3), CAST(1):BIGINT, $3)], SY=[$4], ctx=[])
+              OlapNonEquiJoinRel(condition=[AND(<=($1, $0), >=($1, CONCAT(SUBSTRING($0, 1, 8), '01')))], joinType=[left], ctx=[])
+                OlapUnionRel(all=[true], ctx=[], all=[true])
+                  OlapUnionRel(all=[true], ctx=[], all=[true])
+                    OlapProjectRel(DATE_TIME=['1995-03-01'], ctx=[])
+                      OlapValuesRel(tuples=[[{ 0 }]])
+                    OlapProjectRel(DATE_TIME=['1995-03-02'], ctx=[])
+                      OlapValuesRel(tuples=[[{ 0 }]])
+                  OlapProjectRel(DATE_TIME=['1995-03-03'], ctx=[])
+                    OlapValuesRel(tuples=[[{ 0 }]])
+                OlapAggregateRel(group-set=[[1]], groups=[null], SD=[SUM($0)], EXPR$2=[COUNT()], SY=[SUM($4)], ctx=[])
+                  OlapTableScan(table=[[SSB, DATES]], ctx=[], fields=[[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16]])
+          OlapAggregateRel(group-set=[[5]], groups=[null], agg#0=[COUNT()], SR=[SUM($12)], ctx=[])
+            OlapTableScan(table=[[SSB, LINEORDER]], ctx=[], fields=[[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20]])
 ]]>
         </Resource>
         <Resource name="query06.planBefore">
             <![CDATA[
-KapOLAPToEnumerableConverter
-  KapAggregateRel(group-set=[[0, 1]], groups=[null], EXPR$2=[COUNT()], SY=[SUM($2)], ctx=[])
-    KapProjectRel(D_DATE=[$4], DATE_TIME=[$0], D_YEAR=[$2], ctx=[])
-      KapNonEquiJoinRel(condition=[AND(<=($4, $0), >=($4, CONCAT(SUBSTRING($0, 1, 8), '01')))], joinType=[left], ctx=[])
-        KapUnionRel(all=[true], ctx=[], all=[true])
-          KapUnionRel(all=[true], ctx=[], all=[true])
-            KapProjectRel(DATE_TIME=['1995-03-01'], ctx=[])
-              KapValuesRel(tuples=[[{ 0 }]])
-            KapProjectRel(DATE_TIME=['1995-03-02'], ctx=[])
-              KapValuesRel(tuples=[[{ 0 }]])
-          KapProjectRel(DATE_TIME=['1995-03-03'], ctx=[])
-            KapValuesRel(tuples=[[{ 0 }]])
-        KapProjectRel(D_DATEKEY=[$0], D_YEAR=[$4], D_HOLIDAYFL=[$15], D_DATE=[$1], ctx=[])
-          KapTableScan(table=[[SSB, DATES]], ctx=[], fields=[[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16]])
+OlapToEnumerableConverter
+  OlapAggregateRel(group-set=[[0, 1]], groups=[null], EXPR$2=[COUNT()], SY=[SUM($2)], ctx=[])
+    OlapProjectRel(D_DATE=[$4], DATE_TIME=[$0], D_YEAR=[$2], ctx=[])
+      OlapNonEquiJoinRel(condition=[AND(<=($4, $0), >=($4, CONCAT(SUBSTRING($0, 1, 8), '01')))], joinType=[left], ctx=[])
+        OlapUnionRel(all=[true], ctx=[], all=[true])
+          OlapUnionRel(all=[true], ctx=[], all=[true])
+            OlapProjectRel(DATE_TIME=['1995-03-01'], ctx=[])
+              OlapValuesRel(tuples=[[{ 0 }]])
+            OlapProjectRel(DATE_TIME=['1995-03-02'], ctx=[])
+              OlapValuesRel(tuples=[[{ 0 }]])
+          OlapProjectRel(DATE_TIME=['1995-03-03'], ctx=[])
+            OlapValuesRel(tuples=[[{ 0 }]])
+        OlapProjectRel(D_DATEKEY=[$0], D_YEAR=[$4], D_HOLIDAYFL=[$15], D_DATE=[$1], ctx=[])
+          OlapTableScan(table=[[SSB, DATES]], ctx=[], fields=[[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16]])
 ]]>
         </Resource>
         <Resource name="query06.planAfter">
             <![CDATA[
-KapOLAPToEnumerableConverter
-  KapProjectRel(D_DATE=[$1], DATE_TIME=[$0], EXPR$2=[$2], SY=[$3], ctx=[])
-    KapAggregateRel(group-set=[[0, 1]], groups=[null], EXPR$2=[$SUM0($2)], SY=[SUM($3)], ctx=[])
-      KapProjectRel(DATE_TIME=[$0], D_DATE=[$1], $f2=[CASE(IS NULL($2), CAST(1):BIGINT, $2)], SY=[$3], ctx=[])
-        KapNonEquiJoinRel(condition=[AND(<=($1, $0), >=($1, CONCAT(SUBSTRING($0, 1, 8), '01')))], joinType=[left], ctx=[])
-          KapUnionRel(all=[true], ctx=[], all=[true])
-            KapUnionRel(all=[true], ctx=[], all=[true])
-              KapProjectRel(DATE_TIME=['1995-03-01'], ctx=[])
-                KapValuesRel(tuples=[[{ 0 }]])
-              KapProjectRel(DATE_TIME=['1995-03-02'], ctx=[])
-                KapValuesRel(tuples=[[{ 0 }]])
-            KapProjectRel(DATE_TIME=['1995-03-03'], ctx=[])
-              KapValuesRel(tuples=[[{ 0 }]])
-          KapAggregateRel(group-set=[[1]], groups=[null], EXPR$2=[COUNT()], SY=[SUM($4)], ctx=[])
-            KapTableScan(table=[[SSB, DATES]], ctx=[], fields=[[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16]])
+OlapToEnumerableConverter
+  OlapProjectRel(D_DATE=[$1], DATE_TIME=[$0], EXPR$2=[$2], SY=[$3], ctx=[])
+    OlapAggregateRel(group-set=[[0, 1]], groups=[null], EXPR$2=[$SUM0($2)], SY=[SUM($3)], ctx=[])
+      OlapProjectRel(DATE_TIME=[$0], D_DATE=[$1], $f2=[CASE(IS NULL($2), CAST(1):BIGINT, $2)], SY=[$3], ctx=[])
+        OlapNonEquiJoinRel(condition=[AND(<=($1, $0), >=($1, CONCAT(SUBSTRING($0, 1, 8), '01')))], joinType=[left], ctx=[])
+          OlapUnionRel(all=[true], ctx=[], all=[true])
+            OlapUnionRel(all=[true], ctx=[], all=[true])
+              OlapProjectRel(DATE_TIME=['1995-03-01'], ctx=[])
+                OlapValuesRel(tuples=[[{ 0 }]])
+              OlapProjectRel(DATE_TIME=['1995-03-02'], ctx=[])
+                OlapValuesRel(tuples=[[{ 0 }]])
+            OlapProjectRel(DATE_TIME=['1995-03-03'], ctx=[])
+              OlapValuesRel(tuples=[[{ 0 }]])
+          OlapAggregateRel(group-set=[[1]], groups=[null], EXPR$2=[COUNT()], SY=[SUM($4)], ctx=[])
+            OlapTableScan(table=[[SSB, DATES]], ctx=[], fields=[[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16]])
 ]]>
         </Resource>
         <Resource name="query07.planBefore">
             <![CDATA[
-KapOLAPToEnumerableConverter
-  KapAggregateRel(group-set=[[0, 1]], groups=[null], EXPR$2=[COUNT()], SY=[SUM($2)], ctx=[])
-    KapProjectRel(D_DATE=[$1], DATE_TIME=[$17], D_YEAR=[$4], ctx=[])
-      KapNonEquiJoinRel(condition=[AND(<=($1, $17), >=($1, CONCAT(SUBSTRING($17, 1, 8), '01')))], joinType=[left], ctx=[])
-        KapTableScan(table=[[SSB, DATES]], ctx=[], fields=[[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16]])
-        KapUnionRel(all=[true], ctx=[], all=[true])
-          KapUnionRel(all=[true], ctx=[], all=[true])
-            KapProjectRel(DATE_TIME=['1995-03-01'], ctx=[])
-              KapValuesRel(tuples=[[{ 0 }]])
-            KapProjectRel(DATE_TIME=['1995-03-02'], ctx=[])
-              KapValuesRel(tuples=[[{ 0 }]])
-          KapProjectRel(DATE_TIME=['1995-03-03'], ctx=[])
-            KapValuesRel(tuples=[[{ 0 }]])
+OlapToEnumerableConverter
+  OlapAggregateRel(group-set=[[0, 1]], groups=[null], EXPR$2=[COUNT()], SY=[SUM($2)], ctx=[])
+    OlapProjectRel(D_DATE=[$1], DATE_TIME=[$17], D_YEAR=[$4], ctx=[])
+      OlapNonEquiJoinRel(condition=[AND(<=($1, $17), >=($1, CONCAT(SUBSTRING($17, 1, 8), '01')))], joinType=[left], ctx=[])
+        OlapTableScan(table=[[SSB, DATES]], ctx=[], fields=[[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16]])
+        OlapUnionRel(all=[true], ctx=[], all=[true])
+          OlapUnionRel(all=[true], ctx=[], all=[true])
+            OlapProjectRel(DATE_TIME=['1995-03-01'], ctx=[])
+              OlapValuesRel(tuples=[[{ 0 }]])
+            OlapProjectRel(DATE_TIME=['1995-03-02'], ctx=[])
+              OlapValuesRel(tuples=[[{ 0 }]])
+          OlapProjectRel(DATE_TIME=['1995-03-03'], ctx=[])
+            OlapValuesRel(tuples=[[{ 0 }]])
 ]]>
         </Resource>
         <Resource name="query07.planAfter">
             <![CDATA[
-KapOLAPToEnumerableConverter
-  KapAggregateRel(group-set=[[0, 3]], groups=[null], EXPR$2=[$SUM0($1)], SY=[SUM($2)], ctx=[])
-    KapNonEquiJoinRel(condition=[AND(<=($0, $3), >=($0, CONCAT(SUBSTRING($3, 1, 8), '01')))], joinType=[left], ctx=[])
-      KapAggregateRel(group-set=[[1]], groups=[null], EXPR$2=[COUNT()], SY=[SUM($4)], ctx=[])
-        KapTableScan(table=[[SSB, DATES]], ctx=[], fields=[[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16]])
-      KapUnionRel(all=[true], ctx=[], all=[true])
-        KapUnionRel(all=[true], ctx=[], all=[true])
-          KapProjectRel(DATE_TIME=['1995-03-01'], ctx=[])
-            KapValuesRel(tuples=[[{ 0 }]])
-          KapProjectRel(DATE_TIME=['1995-03-02'], ctx=[])
-            KapValuesRel(tuples=[[{ 0 }]])
-        KapProjectRel(DATE_TIME=['1995-03-03'], ctx=[])
-          KapValuesRel(tuples=[[{ 0 }]])
+OlapToEnumerableConverter
+  OlapAggregateRel(group-set=[[0, 3]], groups=[null], EXPR$2=[$SUM0($1)], SY=[SUM($2)], ctx=[])
+    OlapNonEquiJoinRel(condition=[AND(<=($0, $3), >=($0, CONCAT(SUBSTRING($3, 1, 8), '01')))], joinType=[left], ctx=[])
+      OlapAggregateRel(group-set=[[1]], groups=[null], EXPR$2=[COUNT()], SY=[SUM($4)], ctx=[])
+        OlapTableScan(table=[[SSB, DATES]], ctx=[], fields=[[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16]])
+      OlapUnionRel(all=[true], ctx=[], all=[true])
+        OlapUnionRel(all=[true], ctx=[], all=[true])
+          OlapProjectRel(DATE_TIME=['1995-03-01'], ctx=[])
+            OlapValuesRel(tuples=[[{ 0 }]])
+          OlapProjectRel(DATE_TIME=['1995-03-02'], ctx=[])
+            OlapValuesRel(tuples=[[{ 0 }]])
+        OlapProjectRel(DATE_TIME=['1995-03-03'], ctx=[])
+          OlapValuesRel(tuples=[[{ 0 }]])
 ]]>
         </Resource>
         <Resource name="query08.planBefore">
             <![CDATA[
-KapOLAPToEnumerableConverter
-  KapAggregateRel(group-set=[[0, 1]], groups=[null], EXPR$2=[COUNT()], SY=[SUM($2)], ctx=[])
-    KapProjectRel(D_DATE=[$3], DATE_TIME=[$4], D_YEAR=[$1], ctx=[])
-      KapNonEquiJoinRel(condition=[AND(<=($3, $4), >=($3, CONCAT(SUBSTRING($4, 1, 8), '01')))], joinType=[left], ctx=[])
-        KapProjectRel(D_DATEKEY=[$0], D_YEAR=[$4], D_HOLIDAYFL=[$15], D_DATE=[$1], ctx=[])
-          KapTableScan(table=[[SSB, DATES]], ctx=[], fields=[[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16]])
-        KapUnionRel(all=[true], ctx=[], all=[true])
-          KapUnionRel(all=[true], ctx=[], all=[true])
-            KapProjectRel(DATE_TIME=['1995-03-01'], ctx=[])
-              KapValuesRel(tuples=[[{ 0 }]])
-            KapProjectRel(DATE_TIME=['1995-03-02'], ctx=[])
-              KapValuesRel(tuples=[[{ 0 }]])
-          KapProjectRel(DATE_TIME=['1995-03-03'], ctx=[])
-            KapValuesRel(tuples=[[{ 0 }]])
+OlapToEnumerableConverter
+  OlapAggregateRel(group-set=[[0, 1]], groups=[null], EXPR$2=[COUNT()], SY=[SUM($2)], ctx=[])
+    OlapProjectRel(D_DATE=[$3], DATE_TIME=[$4], D_YEAR=[$1], ctx=[])
+      OlapNonEquiJoinRel(condition=[AND(<=($3, $4), >=($3, CONCAT(SUBSTRING($4, 1, 8), '01')))], joinType=[left], ctx=[])
+        OlapProjectRel(D_DATEKEY=[$0], D_YEAR=[$4], D_HOLIDAYFL=[$15], D_DATE=[$1], ctx=[])
+          OlapTableScan(table=[[SSB, DATES]], ctx=[], fields=[[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16]])
+        OlapUnionRel(all=[true], ctx=[], all=[true])
+          OlapUnionRel(all=[true], ctx=[], all=[true])
+            OlapProjectRel(DATE_TIME=['1995-03-01'], ctx=[])
+              OlapValuesRel(tuples=[[{ 0 }]])
+            OlapProjectRel(DATE_TIME=['1995-03-02'], ctx=[])
+              OlapValuesRel(tuples=[[{ 0 }]])
+          OlapProjectRel(DATE_TIME=['1995-03-03'], ctx=[])
+            OlapValuesRel(tuples=[[{ 0 }]])
 ]]>
         </Resource>
         <Resource name="query08.planAfter">
             <![CDATA[
-KapOLAPToEnumerableConverter
-  KapAggregateRel(group-set=[[0, 3]], groups=[null], EXPR$2=[$SUM0($1)], SY=[SUM($2)], ctx=[])
-    KapNonEquiJoinRel(condition=[AND(<=($0, $3), >=($0, CONCAT(SUBSTRING($3, 1, 8), '01')))], joinType=[left], ctx=[])
-      KapAggregateRel(group-set=[[1]], groups=[null], EXPR$2=[COUNT()], SY=[SUM($4)], ctx=[])
-        KapTableScan(table=[[SSB, DATES]], ctx=[], fields=[[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16]])
-      KapUnionRel(all=[true], ctx=[], all=[true])
-        KapUnionRel(all=[true], ctx=[], all=[true])
-          KapProjectRel(DATE_TIME=['1995-03-01'], ctx=[])
-            KapValuesRel(tuples=[[{ 0 }]])
-          KapProjectRel(DATE_TIME=['1995-03-02'], ctx=[])
-            KapValuesRel(tuples=[[{ 0 }]])
-        KapProjectRel(DATE_TIME=['1995-03-03'], ctx=[])
-          KapValuesRel(tuples=[[{ 0 }]])
+OlapToEnumerableConverter
+  OlapAggregateRel(group-set=[[0, 3]], groups=[null], EXPR$2=[$SUM0($1)], SY=[SUM($2)], ctx=[])
+    OlapNonEquiJoinRel(condition=[AND(<=($0, $3), >=($0, CONCAT(SUBSTRING($3, 1, 8), '01')))], joinType=[left], ctx=[])
+      OlapAggregateRel(group-set=[[1]], groups=[null], EXPR$2=[COUNT()], SY=[SUM($4)], ctx=[])
+        OlapTableScan(table=[[SSB, DATES]], ctx=[], fields=[[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16]])
+      OlapUnionRel(all=[true], ctx=[], all=[true])
+        OlapUnionRel(all=[true], ctx=[], all=[true])
+          OlapProjectRel(DATE_TIME=['1995-03-01'], ctx=[])
+            OlapValuesRel(tuples=[[{ 0 }]])
+          OlapProjectRel(DATE_TIME=['1995-03-02'], ctx=[])
+            OlapValuesRel(tuples=[[{ 0 }]])
+        OlapProjectRel(DATE_TIME=['1995-03-03'], ctx=[])
+          OlapValuesRel(tuples=[[{ 0 }]])
 ]]>
         </Resource>
         <Resource name="query09.planBefore">
             <![CDATA[
-KapOLAPToEnumerableConverter
-  KapAggregateRel(group-set=[[0, 1]], groups=[null], EXPR$2=[COUNT()], SY=[SUM($2)], ctx=[])
-    KapProjectRel(D_DATE=[$4], DATE_TIME=[$0], D_YEAR=[$3], ctx=[])
-      KapNonEquiJoinRel(condition=[AND(<=($4, $0), >=($4, CONCAT(SUBSTRING($0, 1, 8), '01')))], joinType=[left], ctx=[])
-        KapUnionRel(all=[true], ctx=[], all=[true])
-          KapUnionRel(all=[true], ctx=[], all=[true])
-            KapProjectRel(DATE_TIME=['1995-03-01'], ctx=[])
-              KapValuesRel(tuples=[[{ 0 }]])
-            KapProjectRel(DATE_TIME=['1995-03-02'], ctx=[])
-              KapValuesRel(tuples=[[{ 0 }]])
-          KapProjectRel(DATE_TIME=['1995-03-03'], ctx=[])
-            KapValuesRel(tuples=[[{ 0 }]])
-        KapProjectRel(D_DATEKEY=[$0], EXPR$1=[$3], D_YEAR=[$2], D_DATE=[$1], ctx=[])
-          KapAggregateRel(group-set=[[0, 1, 2]], groups=[null], EXPR$1=[SUM($2)], ctx=[])
-            KapProjectRel(D_DATEKEY=[$0], D_DATE=[$1], D_YEAR=[$4], ctx=[])
-              KapTableScan(table=[[SSB, DATES]], ctx=[], fields=[[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16]])
+OlapToEnumerableConverter
+  OlapAggregateRel(group-set=[[0, 1]], groups=[null], EXPR$2=[COUNT()], SY=[SUM($2)], ctx=[])
+    OlapProjectRel(D_DATE=[$4], DATE_TIME=[$0], D_YEAR=[$3], ctx=[])
+      OlapNonEquiJoinRel(condition=[AND(<=($4, $0), >=($4, CONCAT(SUBSTRING($0, 1, 8), '01')))], joinType=[left], ctx=[])
+        OlapUnionRel(all=[true], ctx=[], all=[true])
+          OlapUnionRel(all=[true], ctx=[], all=[true])
+            OlapProjectRel(DATE_TIME=['1995-03-01'], ctx=[])
+              OlapValuesRel(tuples=[[{ 0 }]])
+            OlapProjectRel(DATE_TIME=['1995-03-02'], ctx=[])
+              OlapValuesRel(tuples=[[{ 0 }]])
+          OlapProjectRel(DATE_TIME=['1995-03-03'], ctx=[])
+            OlapValuesRel(tuples=[[{ 0 }]])
+        OlapProjectRel(D_DATEKEY=[$0], EXPR$1=[$3], D_YEAR=[$2], D_DATE=[$1], ctx=[])
+          OlapAggregateRel(group-set=[[0, 1, 2]], groups=[null], EXPR$1=[SUM($2)], ctx=[])
+            OlapProjectRel(D_DATEKEY=[$0], D_DATE=[$1], D_YEAR=[$4], ctx=[])
+              OlapTableScan(table=[[SSB, DATES]], ctx=[], fields=[[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16]])
 ]]>
         </Resource>
         <Resource name="query09.planAfter">
             <![CDATA[
-KapOLAPToEnumerableConverter
-  KapProjectRel(D_DATE=[$1], DATE_TIME=[$0], EXPR$2=[$2], SY=[$3], ctx=[])
-    KapAggregateRel(group-set=[[0, 1]], groups=[null], EXPR$2=[$SUM0($2)], SY=[SUM($3)], ctx=[])
-      KapProjectRel(DATE_TIME=[$0], D_DATE=[$1], $f2=[CASE(IS NULL($2), CAST(1):BIGINT, $2)], SY=[$3], ctx=[])
-        KapNonEquiJoinRel(condition=[AND(<=($1, $0), >=($1, CONCAT(SUBSTRING($0, 1, 8), '01')))], joinType=[left], ctx=[])
-          KapUnionRel(all=[true], ctx=[], all=[true])
-            KapUnionRel(all=[true], ctx=[], all=[true])
-              KapProjectRel(DATE_TIME=['1995-03-01'], ctx=[])
-                KapValuesRel(tuples=[[{ 0 }]])
-              KapProjectRel(DATE_TIME=['1995-03-02'], ctx=[])
-                KapValuesRel(tuples=[[{ 0 }]])
-            KapProjectRel(DATE_TIME=['1995-03-03'], ctx=[])
-              KapValuesRel(tuples=[[{ 0 }]])
-          KapAggregateRel(group-set=[[1]], groups=[null], EXPR$2=[COUNT()], SY=[SUM($2)], ctx=[])
-            KapAggregateRel(group-set=[[0, 1, 4]], groups=[null], EXPR$1=[SUM($4)], ctx=[])
-              KapTableScan(table=[[SSB, DATES]], ctx=[], fields=[[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16]])
+OlapToEnumerableConverter
+  OlapProjectRel(D_DATE=[$1], DATE_TIME=[$0], EXPR$2=[$2], SY=[$3], ctx=[])
+    OlapAggregateRel(group-set=[[0, 1]], groups=[null], EXPR$2=[$SUM0($2)], SY=[SUM($3)], ctx=[])
+      OlapProjectRel(DATE_TIME=[$0], D_DATE=[$1], $f2=[CASE(IS NULL($2), CAST(1):BIGINT, $2)], SY=[$3], ctx=[])
+        OlapNonEquiJoinRel(condition=[AND(<=($1, $0), >=($1, CONCAT(SUBSTRING($0, 1, 8), '01')))], joinType=[left], ctx=[])
+          OlapUnionRel(all=[true], ctx=[], all=[true])
+            OlapUnionRel(all=[true], ctx=[], all=[true])
+              OlapProjectRel(DATE_TIME=['1995-03-01'], ctx=[])
+                OlapValuesRel(tuples=[[{ 0 }]])
+              OlapProjectRel(DATE_TIME=['1995-03-02'], ctx=[])
+                OlapValuesRel(tuples=[[{ 0 }]])
+            OlapProjectRel(DATE_TIME=['1995-03-03'], ctx=[])
+              OlapValuesRel(tuples=[[{ 0 }]])
+          OlapAggregateRel(group-set=[[1]], groups=[null], EXPR$2=[COUNT()], SY=[SUM($2)], ctx=[])
+            OlapAggregateRel(group-set=[[0, 1, 4]], groups=[null], EXPR$1=[SUM($4)], ctx=[])
+              OlapTableScan(table=[[SSB, DATES]], ctx=[], fields=[[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16]])
 ]]>
         </Resource>
         <Resource name="query10.planBefore">
             <![CDATA[
-KapOLAPToEnumerableConverter
-  KapProjectRel(EXPR$0=[$1], SY=[$2], ctx=[])
-    KapAggregateRel(group-set=[[0]], groups=[null], EXPR$0=[COUNT()], SY=[SUM($1)], ctx=[])
-      KapProjectRel(DATE_TIME=[$0], D_YEAR=[$5], ctx=[])
-        KapNonEquiJoinRel(condition=[AND(<=(CAST($1):BIGINT, CAST($0):BIGINT NOT NULL), >=(CAST($1):BIGINT, CAST(CONCAT(SUBSTRING($0, 1, 8), '01')):BIGINT NOT NULL))], joinType=[left], ctx=[])
-          KapUnionRel(all=[true], ctx=[], all=[true])
-            KapUnionRel(all=[true], ctx=[], all=[true])
-              KapUnionRel(all=[true], ctx=[], all=[true])
-                KapUnionRel(all=[true], ctx=[], all=[true])
-                  KapProjectRel(DATE_TIME=['1995-03-01'], ctx=[])
-                    KapValuesRel(tuples=[[{ 0 }]])
-                  KapProjectRel(DATE_TIME=['1995-03-02'], ctx=[])
-                    KapValuesRel(tuples=[[{ 0 }]])
-                KapProjectRel(DATE_TIME=['2300-03-03'], ctx=[])
-                  KapValuesRel(tuples=[[{ 0 }]])
-              KapProjectRel(DATE_TIME=['1995-03-03'], ctx=[])
-                KapValuesRel(tuples=[[{ 0 }]])
-            KapProjectRel(DATE_TIME=['1995-03-03'], ctx=[])
-              KapValuesRel(tuples=[[{ 0 }]])
-          KapTableScan(table=[[SSB, DATES]], ctx=[], fields=[[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16]])
+OlapToEnumerableConverter
+  OlapProjectRel(EXPR$0=[$1], SY=[$2], ctx=[])
+    OlapAggregateRel(group-set=[[0]], groups=[null], EXPR$0=[COUNT()], SY=[SUM($1)], ctx=[])
+      OlapProjectRel(DATE_TIME=[$0], D_YEAR=[$5], ctx=[])
+        OlapNonEquiJoinRel(condition=[AND(<=(CAST($1):BIGINT, CAST($0):BIGINT NOT NULL), >=(CAST($1):BIGINT, CAST(CONCAT(SUBSTRING($0, 1, 8), '01')):BIGINT NOT NULL))], joinType=[left], ctx=[])
+          OlapUnionRel(all=[true], ctx=[], all=[true])
+            OlapUnionRel(all=[true], ctx=[], all=[true])
+              OlapUnionRel(all=[true], ctx=[], all=[true])
+                OlapUnionRel(all=[true], ctx=[], all=[true])
+                  OlapProjectRel(DATE_TIME=['1995-03-01'], ctx=[])
+                    OlapValuesRel(tuples=[[{ 0 }]])
+                  OlapProjectRel(DATE_TIME=['1995-03-02'], ctx=[])
+                    OlapValuesRel(tuples=[[{ 0 }]])
+                OlapProjectRel(DATE_TIME=['2300-03-03'], ctx=[])
+                  OlapValuesRel(tuples=[[{ 0 }]])
+              OlapProjectRel(DATE_TIME=['1995-03-03'], ctx=[])
... 18465 lines suppressed ...