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 2016/06/15 03:22:11 UTC

kylin git commit: minor, hide constructor of TblColRef, replace with ColumnDesc.getRef()

Repository: kylin
Updated Branches:
  refs/heads/master 5b4cbc4b6 -> 5fee54742


minor, hide constructor of TblColRef, replace with ColumnDesc.getRef()


Project: http://git-wip-us.apache.org/repos/asf/kylin/repo
Commit: http://git-wip-us.apache.org/repos/asf/kylin/commit/5fee5474
Tree: http://git-wip-us.apache.org/repos/asf/kylin/tree/5fee5474
Diff: http://git-wip-us.apache.org/repos/asf/kylin/diff/5fee5474

Branch: refs/heads/master
Commit: 5fee547422821fccfc2c800f14cacf88bc22aa8a
Parents: 5b4cbc4
Author: Li Yang <li...@apache.org>
Authored: Wed Jun 15 11:22:02 2016 +0800
Committer: Li Yang <li...@apache.org>
Committed: Wed Jun 15 11:22:02 2016 +0800

----------------------------------------------------------------------
 .../java/org/apache/kylin/job/DeployUtil.java   |  2 +-
 .../org/apache/kylin/cube/model/CubeDesc.java   |  2 +-
 .../apache/kylin/cube/model/DictionaryDesc.java |  4 +--
 .../kylin/cube/model/v1_4_0/CubeDesc.java       |  2 +-
 .../java/org/apache/kylin/gridtable/GTUtil.java |  2 +-
 .../kylin/gridtable/DictGridTableTest.java      | 16 ++++++------
 .../metadata/filter/ColumnTupleFilter.java      |  2 +-
 .../apache/kylin/metadata/model/ColumnDesc.java | 27 +++++++++++++-------
 .../apache/kylin/metadata/model/TblColRef.java  |  2 +-
 .../apache/kylin/storage/StorageMockUtils.java  | 12 ++++-----
 .../storage/translate/ColumnValueRangeTest.java |  2 +-
 .../kylin/invertedindex/model/IIDesc.java       | 10 ++++----
 .../kylin/query/relnode/OLAPAggregateRel.java   |  2 +-
 .../kylin/query/relnode/OLAPTableScan.java      |  2 +-
 .../common/coprocessor/CoprocessorRowType.java  |  2 +-
 .../hbase/common/FuzzyValueCombinationTest.java |  2 +-
 .../TimeConditionLiteralsReplacerTest.java      |  2 +-
 .../common/coprocessor/FilterBaseTest.java      |  6 ++---
 .../common/coprocessor/FilterSerializeTest.java |  8 +++---
 .../observer/AggregateRegionObserverTest.java   |  2 +-
 .../endpoint/BitMapFilterEvaluatorTest.java     |  8 ++----
 21 files changed, 60 insertions(+), 57 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/kylin/blob/5fee5474/assembly/src/test/java/org/apache/kylin/job/DeployUtil.java
----------------------------------------------------------------------
diff --git a/assembly/src/test/java/org/apache/kylin/job/DeployUtil.java b/assembly/src/test/java/org/apache/kylin/job/DeployUtil.java
index 8e28740..a0a9f88 100644
--- a/assembly/src/test/java/org/apache/kylin/job/DeployUtil.java
+++ b/assembly/src/test/java/org/apache/kylin/job/DeployUtil.java
@@ -163,7 +163,7 @@ public class DeployUtil {
         //csv data for H2 use
         List<TblColRef> tableColumns = Lists.newArrayList();
         for (ColumnDesc columnDesc : tableDesc.getColumns()) {
-            tableColumns.add(new TblColRef(columnDesc));
+            tableColumns.add(columnDesc.getRef());
         }
         TimedJsonStreamParser timedJsonStreamParser = new TimedJsonStreamParser(tableColumns, "formatTs=true");
         StringBuilder sb = new StringBuilder();

http://git-wip-us.apache.org/repos/asf/kylin/blob/5fee5474/core-cube/src/main/java/org/apache/kylin/cube/model/CubeDesc.java
----------------------------------------------------------------------
diff --git a/core-cube/src/main/java/org/apache/kylin/cube/model/CubeDesc.java b/core-cube/src/main/java/org/apache/kylin/cube/model/CubeDesc.java
index fec385f..d379bf3 100644
--- a/core-cube/src/main/java/org/apache/kylin/cube/model/CubeDesc.java
+++ b/core-cube/src/main/java/org/apache/kylin/cube/model/CubeDesc.java
@@ -825,7 +825,7 @@ public class CubeDesc extends RootPersistentEntity {
         if (col == null)
             throw new IllegalArgumentException("No column '" + colName + "' found in table " + table);
 
-        TblColRef ref = new TblColRef(col);
+        TblColRef ref = col.getRef();
 
         // always use FK instead PK, FK could be shared by more than one lookup tables
         JoinDesc join = dim.getJoin();

http://git-wip-us.apache.org/repos/asf/kylin/blob/5fee5474/core-cube/src/main/java/org/apache/kylin/cube/model/DictionaryDesc.java
----------------------------------------------------------------------
diff --git a/core-cube/src/main/java/org/apache/kylin/cube/model/DictionaryDesc.java b/core-cube/src/main/java/org/apache/kylin/cube/model/DictionaryDesc.java
index 3682e41..bdfc364 100644
--- a/core-cube/src/main/java/org/apache/kylin/cube/model/DictionaryDesc.java
+++ b/core-cube/src/main/java/org/apache/kylin/cube/model/DictionaryDesc.java
@@ -46,11 +46,11 @@ public class DictionaryDesc {
         DataModelDesc model = cubeDesc.getModel();
         
         column = column.toUpperCase();
-        colRef = new TblColRef(model.findColumn(column));
+        colRef = model.findColumn(column).getRef();
         
         if (reuseColumn != null) {
             reuseColumn = reuseColumn.toUpperCase();
-            reuseColRef = new TblColRef(model.findColumn(reuseColumn));
+            reuseColRef = model.findColumn(reuseColumn).getRef();
         }
     }
     

http://git-wip-us.apache.org/repos/asf/kylin/blob/5fee5474/core-cube/src/main/java/org/apache/kylin/cube/model/v1_4_0/CubeDesc.java
----------------------------------------------------------------------
diff --git a/core-cube/src/main/java/org/apache/kylin/cube/model/v1_4_0/CubeDesc.java b/core-cube/src/main/java/org/apache/kylin/cube/model/v1_4_0/CubeDesc.java
index 8327a2a..0a88a4f 100644
--- a/core-cube/src/main/java/org/apache/kylin/cube/model/v1_4_0/CubeDesc.java
+++ b/core-cube/src/main/java/org/apache/kylin/cube/model/v1_4_0/CubeDesc.java
@@ -613,7 +613,7 @@ public class CubeDesc extends RootPersistentEntity {
         if (col == null)
             throw new IllegalArgumentException("No column '" + colName + "' found in table " + table);
 
-        TblColRef ref = new TblColRef(col);
+        TblColRef ref = col.getRef();
 
         // always use FK instead PK, FK could be shared by more than one lookup tables
         JoinDesc join = dim.getJoin();

http://git-wip-us.apache.org/repos/asf/kylin/blob/5fee5474/core-cube/src/main/java/org/apache/kylin/gridtable/GTUtil.java
----------------------------------------------------------------------
diff --git a/core-cube/src/main/java/org/apache/kylin/gridtable/GTUtil.java b/core-cube/src/main/java/org/apache/kylin/gridtable/GTUtil.java
index 08905ad..4b50176 100644
--- a/core-cube/src/main/java/org/apache/kylin/gridtable/GTUtil.java
+++ b/core-cube/src/main/java/org/apache/kylin/gridtable/GTUtil.java
@@ -43,7 +43,7 @@ public class GTUtil {
 
     static TblColRef tblColRef(int col, String datatype) {
         ColumnDesc desc = ColumnDesc.mockup(MOCKUP_TABLE, col + 1, "" + col, datatype);
-        return new TblColRef(desc);
+        return desc.getRef();
     }
 
     public static byte[] serializeGTFilter(TupleFilter gtFilter, GTInfo info) {

http://git-wip-us.apache.org/repos/asf/kylin/blob/5fee5474/core-cube/src/test/java/org/apache/kylin/gridtable/DictGridTableTest.java
----------------------------------------------------------------------
diff --git a/core-cube/src/test/java/org/apache/kylin/gridtable/DictGridTableTest.java b/core-cube/src/test/java/org/apache/kylin/gridtable/DictGridTableTest.java
index 3cdadf5..dd2b98e 100644
--- a/core-cube/src/test/java/org/apache/kylin/gridtable/DictGridTableTest.java
+++ b/core-cube/src/test/java/org/apache/kylin/gridtable/DictGridTableTest.java
@@ -352,8 +352,8 @@ public class DictGridTableTest  extends LocalFileMetadataTestCase {
         GTInfo info = table.getInfo();
 
         TableDesc extTable = TableDesc.mockup("ext");
-        TblColRef extColA = new TblColRef(ColumnDesc.mockup(extTable, 1, "A", "timestamp"));
-        TblColRef extColB = new TblColRef(ColumnDesc.mockup(extTable, 2, "B", "integer"));
+        TblColRef extColA = ColumnDesc.mockup(extTable, 1, "A", "timestamp").getRef();
+        TblColRef extColB = ColumnDesc.mockup(extTable, 2, "B", "integer").getRef();
 
         CompareTupleFilter fComp1 = compare(extColA, FilterOperatorEnum.GT, "2015-01-14");
         CompareTupleFilter fComp2 = compare(extColB, FilterOperatorEnum.EQ, "10");
@@ -372,8 +372,8 @@ public class DictGridTableTest  extends LocalFileMetadataTestCase {
         GTInfo info = table.getInfo();
 
         TableDesc extTable = TableDesc.mockup("ext");
-        TblColRef extColA = new TblColRef(ColumnDesc.mockup(extTable, 1, "A", "timestamp"));
-        TblColRef extColB = new TblColRef(ColumnDesc.mockup(extTable, 2, "B", "integer"));
+        TblColRef extColA = ColumnDesc.mockup(extTable, 1, "A", "timestamp").getRef();
+        TblColRef extColB = ColumnDesc.mockup(extTable, 2, "B", "integer").getRef();
 
         CompareTupleFilter fComp1 = compare(extColA, FilterOperatorEnum.GT, "2015-01-14");
         CompareTupleFilter fComp2 = compare(extColB, FilterOperatorEnum.LT, "9");
@@ -393,8 +393,8 @@ public class DictGridTableTest  extends LocalFileMetadataTestCase {
         GTInfo info = table.getInfo();
 
         TableDesc extTable = TableDesc.mockup("ext");
-        TblColRef extColA = new TblColRef(ColumnDesc.mockup(extTable, 1, "A", "timestamp"));
-        TblColRef extColB = new TblColRef(ColumnDesc.mockup(extTable, 2, "B", "integer"));
+        TblColRef extColA = ColumnDesc.mockup(extTable, 1, "A", "timestamp").getRef();
+        TblColRef extColB = ColumnDesc.mockup(extTable, 2, "B", "integer").getRef();
 
         CompareTupleFilter fComp1 = compare(extColA, FilterOperatorEnum.GT, "2015-01-14");
         CompareTupleFilter fComp2 = compare(extColB, FilterOperatorEnum.LTE, "9");
@@ -414,8 +414,8 @@ public class DictGridTableTest  extends LocalFileMetadataTestCase {
         GTInfo info = table.getInfo();
 
         TableDesc extTable = TableDesc.mockup("ext");
-        TblColRef extColA = new TblColRef(ColumnDesc.mockup(extTable, 1, "A", "timestamp"));
-        TblColRef extColB = new TblColRef(ColumnDesc.mockup(extTable, 2, "B", "integer"));
+        TblColRef extColA = ColumnDesc.mockup(extTable, 1, "A", "timestamp").getRef();
+        TblColRef extColB = ColumnDesc.mockup(extTable, 2, "B", "integer").getRef();
 
         CompareTupleFilter fComp1 = compare(extColA, FilterOperatorEnum.GT, "2015-01-14");
         CompareTupleFilter fComp2 = compare(extColB, FilterOperatorEnum.IN, "9", "10", "15");

http://git-wip-us.apache.org/repos/asf/kylin/blob/5fee5474/core-metadata/src/main/java/org/apache/kylin/metadata/filter/ColumnTupleFilter.java
----------------------------------------------------------------------
diff --git a/core-metadata/src/main/java/org/apache/kylin/metadata/filter/ColumnTupleFilter.java b/core-metadata/src/main/java/org/apache/kylin/metadata/filter/ColumnTupleFilter.java
index 029233d..aed5702 100644
--- a/core-metadata/src/main/java/org/apache/kylin/metadata/filter/ColumnTupleFilter.java
+++ b/core-metadata/src/main/java/org/apache/kylin/metadata/filter/ColumnTupleFilter.java
@@ -115,6 +115,6 @@ public class ColumnTupleFilter extends TupleFilter {
         column.setDatatype(BytesUtil.readUTFString(buffer));
         column.init(table);
 
-        this.columnRef = new TblColRef(column);
+        this.columnRef = column.getRef();
     }
 }

http://git-wip-us.apache.org/repos/asf/kylin/blob/5fee5474/core-metadata/src/main/java/org/apache/kylin/metadata/model/ColumnDesc.java
----------------------------------------------------------------------
diff --git a/core-metadata/src/main/java/org/apache/kylin/metadata/model/ColumnDesc.java b/core-metadata/src/main/java/org/apache/kylin/metadata/model/ColumnDesc.java
index b48622a..27cb6b6 100644
--- a/core-metadata/src/main/java/org/apache/kylin/metadata/model/ColumnDesc.java
+++ b/core-metadata/src/main/java/org/apache/kylin/metadata/model/ColumnDesc.java
@@ -35,6 +35,16 @@ import com.fasterxml.jackson.annotation.JsonProperty;
 @JsonAutoDetect(fieldVisibility = Visibility.NONE, getterVisibility = Visibility.NONE, isGetterVisibility = Visibility.NONE, setterVisibility = Visibility.NONE)
 public class ColumnDesc implements Serializable {
 
+    public static ColumnDesc mockup(TableDesc table, int oneBasedColumnIndex, String name, String datatype) {
+        ColumnDesc desc = new ColumnDesc();
+        String id = "" + oneBasedColumnIndex;
+        desc.setId(id);
+        desc.setName(name);
+        desc.setDatatype(datatype);
+        desc.init(table);
+        return desc;
+    }
+
     @JsonProperty("id")
     private String id;
     @JsonProperty("name")
@@ -48,18 +58,17 @@ public class ColumnDesc implements Serializable {
     private TableDesc table;
     private int zeroBasedIndex = -1;
     private boolean isNullable = true;
+    
+    private TblColRef ref;
 
     public ColumnDesc() { // default constructor for Jackson
     }
-
-    public static ColumnDesc mockup(TableDesc table, int oneBasedColumnIndex, String name, String datatype) {
-        ColumnDesc desc = new ColumnDesc();
-        String id = "" + oneBasedColumnIndex;
-        desc.setId(id);
-        desc.setName(name);
-        desc.setDatatype(datatype);
-        desc.init(table);
-        return desc;
+    
+    public TblColRef getRef() {
+        if (ref == null) {
+            ref = new TblColRef(this);
+        }
+        return ref;
     }
 
     public int getZeroBasedIndex() {

http://git-wip-us.apache.org/repos/asf/kylin/blob/5fee5474/core-metadata/src/main/java/org/apache/kylin/metadata/model/TblColRef.java
----------------------------------------------------------------------
diff --git a/core-metadata/src/main/java/org/apache/kylin/metadata/model/TblColRef.java b/core-metadata/src/main/java/org/apache/kylin/metadata/model/TblColRef.java
index 61ba73b..2764747 100644
--- a/core-metadata/src/main/java/org/apache/kylin/metadata/model/TblColRef.java
+++ b/core-metadata/src/main/java/org/apache/kylin/metadata/model/TblColRef.java
@@ -65,7 +65,7 @@ public class TblColRef implements Serializable {
 
     private ColumnDesc column;
 
-    public TblColRef(ColumnDesc column) {
+    TblColRef(ColumnDesc column) {
         this.column = column;
     }
 

http://git-wip-us.apache.org/repos/asf/kylin/blob/5fee5474/core-storage/src/test/java/org/apache/kylin/storage/StorageMockUtils.java
----------------------------------------------------------------------
diff --git a/core-storage/src/test/java/org/apache/kylin/storage/StorageMockUtils.java b/core-storage/src/test/java/org/apache/kylin/storage/StorageMockUtils.java
index 3bb4540..a203c6c 100644
--- a/core-storage/src/test/java/org/apache/kylin/storage/StorageMockUtils.java
+++ b/core-storage/src/test/java/org/apache/kylin/storage/StorageMockUtils.java
@@ -50,7 +50,7 @@ public class StorageMockUtils {
 
         TableDesc sourceTable = groups.get(0).getColumnDesc().getTable();
         for (FunctionDesc func : aggregations) {
-            TblColRef col = new TblColRef(func.newFakeRewriteColumn(sourceTable));
+            TblColRef col = func.newFakeRewriteColumn(sourceTable).getRef();
             info.setField(col.getName(), col, idx++);
         }
 
@@ -62,12 +62,12 @@ public class StorageMockUtils {
 
         TableDesc t1 = TableDesc.mockup("DEFAULT.TEST_KYLIN_FACT");
         ColumnDesc c1 = ColumnDesc.mockup(t1, 2, "CAL_DT", "date");
-        TblColRef cf1 = new TblColRef(c1);
+        TblColRef cf1 = c1.getRef();
         groups.add(cf1);
 
         TableDesc t2 = TableDesc.mockup("DEFAULT.TEST_CATEGORY_GROUPINGS");
         ColumnDesc c2 = ColumnDesc.mockup(t2, 14, "META_CATEG_NAME", "string");
-        TblColRef cf2 = new TblColRef(c2);
+        TblColRef cf2 = c2.getRef();
         groups.add(cf2);
 
         return groups;
@@ -77,7 +77,7 @@ public class StorageMockUtils {
         List<FunctionDesc> functions = new ArrayList<FunctionDesc>();
 
         TableDesc t1 = TableDesc.mockup("DEFAULT.TEST_KYLIN_FACT");
-        TblColRef priceCol = new TblColRef(ColumnDesc.mockup(t1, 7, "PRICE", "decimal(19,4)"));
+        TblColRef priceCol = ColumnDesc.mockup(t1, 7, "PRICE", "decimal(19,4)").getRef();
 
         FunctionDesc f1 = new FunctionDesc();
         f1.setExpression("SUM");
@@ -97,8 +97,8 @@ public class StorageMockUtils {
         List<FunctionDesc> functions = new ArrayList<FunctionDesc>();
 
         TableDesc t1 = TableDesc.mockup("DEFAULT.TEST_KYLIN_FACT");
-        TblColRef priceCol = new TblColRef(ColumnDesc.mockup(t1, 7, "PRICE", "decimal(19,4)"));
-        TblColRef sellerCol = new TblColRef(ColumnDesc.mockup(t1, 9, "SELLER_ID", "bigint"));
+        TblColRef priceCol = ColumnDesc.mockup(t1, 7, "PRICE", "decimal(19,4)").getRef();
+        TblColRef sellerCol = ColumnDesc.mockup(t1, 9, "SELLER_ID", "bigint").getRef();
 
         FunctionDesc f1 = new FunctionDesc();
         f1.setExpression("SUM");

http://git-wip-us.apache.org/repos/asf/kylin/blob/5fee5474/core-storage/src/test/java/org/apache/kylin/storage/translate/ColumnValueRangeTest.java
----------------------------------------------------------------------
diff --git a/core-storage/src/test/java/org/apache/kylin/storage/translate/ColumnValueRangeTest.java b/core-storage/src/test/java/org/apache/kylin/storage/translate/ColumnValueRangeTest.java
index 134cf64..8c8a3e6 100644
--- a/core-storage/src/test/java/org/apache/kylin/storage/translate/ColumnValueRangeTest.java
+++ b/core-storage/src/test/java/org/apache/kylin/storage/translate/ColumnValueRangeTest.java
@@ -122,7 +122,7 @@ public class ColumnValueRangeTest extends LocalFileMetadataTestCase {
     public static TblColRef mockupTblColRef() {
         TableDesc t = mockupTableDesc("table_a");
         ColumnDesc c = mockupColumnDesc(t, 1, "col_1", "string");
-        return new TblColRef(c);
+        return c.getRef();
     }
 
     private static TableDesc mockupTableDesc(String tableName) {

http://git-wip-us.apache.org/repos/asf/kylin/blob/5fee5474/invertedindex/src/main/java/org/apache/kylin/invertedindex/model/IIDesc.java
----------------------------------------------------------------------
diff --git a/invertedindex/src/main/java/org/apache/kylin/invertedindex/model/IIDesc.java b/invertedindex/src/main/java/org/apache/kylin/invertedindex/model/IIDesc.java
index 30b5d0a..c6b5fd2 100644
--- a/invertedindex/src/main/java/org/apache/kylin/invertedindex/model/IIDesc.java
+++ b/invertedindex/src/main/java/org/apache/kylin/invertedindex/model/IIDesc.java
@@ -138,7 +138,7 @@ public class IIDesc extends RootPersistentEntity {
             TableDesc tableDesc = this.getTableDesc(modelDimensionDesc.getTable());
             for (String column : modelDimensionDesc.getColumns()) {
                 ColumnDesc columnDesc = tableDesc.findColumnByName(column);
-                TblColRef tcr = new TblColRef(columnDesc);
+                TblColRef tcr = columnDesc.getRef();
                 allColumns.add(tcr);
                 allDimensions.add(tcr);
                 measureDescs.add(makeHLLMeasure(columnDesc, "hllc10"));
@@ -152,7 +152,7 @@ public class IIDesc extends RootPersistentEntity {
         for (String column : metricNames) {
             TableDesc tableDesc = this.getTableDesc(this.getFactTableName());
             ColumnDesc columnDesc = tableDesc.findColumnByName(column);
-            allColumns.add(new TblColRef(columnDesc));
+            allColumns.add(columnDesc.getRef());
             measureDescs.add(makeNormalMeasure("SUM", columnDesc));
             measureDescs.add(makeNormalMeasure("MIN", columnDesc));
             measureDescs.add(makeNormalMeasure("MAX", columnDesc));
@@ -227,7 +227,7 @@ public class IIDesc extends RootPersistentEntity {
         ParameterDesc p1 = new ParameterDesc();
         p1.setType("column");
         p1.setValue(columnName);
-        p1.setColRefs(ImmutableList.of(new TblColRef(columnDesc)));
+        p1.setColRefs(ImmutableList.of(columnDesc.getRef()));
         f1.setParameter(p1);
         f1.setReturnType(returnType);
         if (f1.isSum() && f1.getReturnDataType().isIntegerFamily()) {
@@ -251,7 +251,7 @@ public class IIDesc extends RootPersistentEntity {
         ParameterDesc p1 = new ParameterDesc();
         p1.setType("column");
         p1.setValue(columnName);
-        p1.setColRefs(ImmutableList.of(new TblColRef(columnDesc)));
+        p1.setColRefs(ImmutableList.of(columnDesc.getRef()));
         f1.setParameter(p1);
         f1.setReturnType(hllType);
         measureDesc.setFunction(f1);
@@ -292,7 +292,7 @@ public class IIDesc extends RootPersistentEntity {
 
     public TblColRef findColumnRef(String table, String column) {
         ColumnDesc columnDesc = this.getTableDesc(table).findColumnByName(column);
-        return new TblColRef(columnDesc);
+        return columnDesc.getRef();
     }
 
     public int findColumn(TblColRef col) {

http://git-wip-us.apache.org/repos/asf/kylin/blob/5fee5474/query/src/main/java/org/apache/kylin/query/relnode/OLAPAggregateRel.java
----------------------------------------------------------------------
diff --git a/query/src/main/java/org/apache/kylin/query/relnode/OLAPAggregateRel.java b/query/src/main/java/org/apache/kylin/query/relnode/OLAPAggregateRel.java
index 16277e1..e08c03f 100644
--- a/query/src/main/java/org/apache/kylin/query/relnode/OLAPAggregateRel.java
+++ b/query/src/main/java/org/apache/kylin/query/relnode/OLAPAggregateRel.java
@@ -189,7 +189,7 @@ public class OLAPAggregateRel extends Aggregate implements OLAPRel {
             column.setName(aggFunc.getRewriteFieldName());
             TableDesc table = this.context.firstTableScan.getOlapTable().getSourceTable();
             column.setTable(table);
-            colRef = new TblColRef(column);
+            colRef = column.getRef();
         } else {
             throw new IllegalStateException("buildRewriteColumn on a aggrFunc that does not need rewrite " + aggFunc);
         }

http://git-wip-us.apache.org/repos/asf/kylin/blob/5fee5474/query/src/main/java/org/apache/kylin/query/relnode/OLAPTableScan.java
----------------------------------------------------------------------
diff --git a/query/src/main/java/org/apache/kylin/query/relnode/OLAPTableScan.java b/query/src/main/java/org/apache/kylin/query/relnode/OLAPTableScan.java
index bcef413..a3ea30a 100644
--- a/query/src/main/java/org/apache/kylin/query/relnode/OLAPTableScan.java
+++ b/query/src/main/java/org/apache/kylin/query/relnode/OLAPTableScan.java
@@ -202,7 +202,7 @@ public class OLAPTableScan extends TableScan implements OLAPRel, EnumerableRel {
     private ColumnRowType buildColumnRowType() {
         List<TblColRef> columns = new ArrayList<TblColRef>();
         for (ColumnDesc sourceColumn : olapTable.getExposedColumns()) {
-            TblColRef colRef = new TblColRef(sourceColumn);
+            TblColRef colRef = sourceColumn.getRef();
             columns.add(colRef);
         }
         return new ColumnRowType(columns);

http://git-wip-us.apache.org/repos/asf/kylin/blob/5fee5474/storage-hbase/src/main/java/org/apache/kylin/storage/hbase/common/coprocessor/CoprocessorRowType.java
----------------------------------------------------------------------
diff --git a/storage-hbase/src/main/java/org/apache/kylin/storage/hbase/common/coprocessor/CoprocessorRowType.java b/storage-hbase/src/main/java/org/apache/kylin/storage/hbase/common/coprocessor/CoprocessorRowType.java
index f7bc441..a6e3073 100644
--- a/storage-hbase/src/main/java/org/apache/kylin/storage/hbase/common/coprocessor/CoprocessorRowType.java
+++ b/storage-hbase/src/main/java/org/apache/kylin/storage/hbase/common/coprocessor/CoprocessorRowType.java
@@ -104,7 +104,7 @@ public class CoprocessorRowType {
                 col.setTable(table);
                 col.setName(colName);
                 col.init(table);
-                cols[i] = new TblColRef(col);
+                cols[i] = col.getRef();
 
                 int colSize = BytesUtil.readVInt(in);
                 colSizes[i] = colSize;

http://git-wip-us.apache.org/repos/asf/kylin/blob/5fee5474/storage-hbase/src/test/java/org/apache/kylin/storage/hbase/common/FuzzyValueCombinationTest.java
----------------------------------------------------------------------
diff --git a/storage-hbase/src/test/java/org/apache/kylin/storage/hbase/common/FuzzyValueCombinationTest.java b/storage-hbase/src/test/java/org/apache/kylin/storage/hbase/common/FuzzyValueCombinationTest.java
index 593fc90..86f895a 100644
--- a/storage-hbase/src/test/java/org/apache/kylin/storage/hbase/common/FuzzyValueCombinationTest.java
+++ b/storage-hbase/src/test/java/org/apache/kylin/storage/hbase/common/FuzzyValueCombinationTest.java
@@ -68,7 +68,7 @@ public class FuzzyValueCombinationTest extends LocalFileMetadataTestCase {
 
     private static TblColRef col(int i, TableDesc t) {
         ColumnDesc col = ColumnDesc.mockup(t, i, "Col" + i, "string");
-        return new TblColRef(col);
+        return col.getRef();
     }
 
     @Test

http://git-wip-us.apache.org/repos/asf/kylin/blob/5fee5474/storage-hbase/src/test/java/org/apache/kylin/storage/hbase/common/TimeConditionLiteralsReplacerTest.java
----------------------------------------------------------------------
diff --git a/storage-hbase/src/test/java/org/apache/kylin/storage/hbase/common/TimeConditionLiteralsReplacerTest.java b/storage-hbase/src/test/java/org/apache/kylin/storage/hbase/common/TimeConditionLiteralsReplacerTest.java
index 990a326..29e83b7 100644
--- a/storage-hbase/src/test/java/org/apache/kylin/storage/hbase/common/TimeConditionLiteralsReplacerTest.java
+++ b/storage-hbase/src/test/java/org/apache/kylin/storage/hbase/common/TimeConditionLiteralsReplacerTest.java
@@ -39,7 +39,7 @@ public class TimeConditionLiteralsReplacerTest extends FilterBaseTest {
     public void basicTest() {
         TableDesc t1 = TableDesc.mockup("DEFAULT.TEST_KYLIN_FACT");
         ColumnDesc c1 = ColumnDesc.mockup(t1, 2, "CAL_DT", "date");
-        TblColRef column = new TblColRef(c1);
+        TblColRef column = c1.getRef();
 
         CompareTupleFilter compareFilter = new CompareTupleFilter(TupleFilter.FilterOperatorEnum.EQ);
         ColumnTupleFilter columnFilter = new ColumnTupleFilter(column);

http://git-wip-us.apache.org/repos/asf/kylin/blob/5fee5474/storage-hbase/src/test/java/org/apache/kylin/storage/hbase/common/coprocessor/FilterBaseTest.java
----------------------------------------------------------------------
diff --git a/storage-hbase/src/test/java/org/apache/kylin/storage/hbase/common/coprocessor/FilterBaseTest.java b/storage-hbase/src/test/java/org/apache/kylin/storage/hbase/common/coprocessor/FilterBaseTest.java
index 42be830..1310478 100644
--- a/storage-hbase/src/test/java/org/apache/kylin/storage/hbase/common/coprocessor/FilterBaseTest.java
+++ b/storage-hbase/src/test/java/org/apache/kylin/storage/hbase/common/coprocessor/FilterBaseTest.java
@@ -28,8 +28,6 @@ import java.util.List;
 import java.util.Random;
 
 import org.apache.kylin.common.util.LocalFileMetadataTestCase;
-import org.apache.kylin.measure.topn.TopNCounterSerializer;
-import org.apache.kylin.metadata.datatype.DataType;
 import org.apache.kylin.metadata.filter.CaseTupleFilter;
 import org.apache.kylin.metadata.filter.ColumnTupleFilter;
 import org.apache.kylin.metadata.filter.CompareTupleFilter;
@@ -74,12 +72,12 @@ public class FilterBaseTest extends LocalFileMetadataTestCase {
 
         TableDesc t1 = TableDesc.mockup("DEFAULT.TEST_KYLIN_FACT");
         ColumnDesc c1 = ColumnDesc.mockup(t1, 2, "CAL_DT", "string");
-        TblColRef cf1 = new TblColRef(c1);
+        TblColRef cf1 = c1.getRef();
         groups.add(cf1);
 
         TableDesc t2 = TableDesc.mockup("DEFAULT.TEST_CATEGORY_GROUPINGS");
         ColumnDesc c2 = ColumnDesc.mockup(t2, 14, "META_CATEG_NAME", "string");
-        TblColRef cf2 = new TblColRef(c2);
+        TblColRef cf2 = c2.getRef();
         groups.add(cf2);
 
         return groups;

http://git-wip-us.apache.org/repos/asf/kylin/blob/5fee5474/storage-hbase/src/test/java/org/apache/kylin/storage/hbase/common/coprocessor/FilterSerializeTest.java
----------------------------------------------------------------------
diff --git a/storage-hbase/src/test/java/org/apache/kylin/storage/hbase/common/coprocessor/FilterSerializeTest.java b/storage-hbase/src/test/java/org/apache/kylin/storage/hbase/common/coprocessor/FilterSerializeTest.java
index 0a21598..844dbeb 100644
--- a/storage-hbase/src/test/java/org/apache/kylin/storage/hbase/common/coprocessor/FilterSerializeTest.java
+++ b/storage-hbase/src/test/java/org/apache/kylin/storage/hbase/common/coprocessor/FilterSerializeTest.java
@@ -86,7 +86,7 @@ public class FilterSerializeTest extends FilterBaseTest {
     public void testSerialize05() {
         ColumnDesc column = new ColumnDesc();
 
-        TblColRef colRef = new TblColRef(column);
+        TblColRef colRef = column.getRef();
         List<TblColRef> groups = new ArrayList<TblColRef>();
         groups.add(colRef);
         TupleFilter filter = buildEQCompareFilter(groups, 0);
@@ -101,7 +101,7 @@ public class FilterSerializeTest extends FilterBaseTest {
     public void testSerialize06() {
         ColumnDesc column = new ColumnDesc();
         column.setName("META_CATEG_NAME");
-        TblColRef colRef = new TblColRef(column);
+        TblColRef colRef = column.getRef();
         List<TblColRef> groups = new ArrayList<TblColRef>();
         groups.add(colRef);
         TupleFilter filter = buildEQCompareFilter(groups, 0);
@@ -120,7 +120,7 @@ public class FilterSerializeTest extends FilterBaseTest {
 
         ColumnDesc column = new ColumnDesc();
         column.setTable(table);
-        TblColRef colRef = new TblColRef(column);
+        TblColRef colRef = column.getRef();
         List<TblColRef> groups = new ArrayList<TblColRef>();
         groups.add(colRef);
         TupleFilter filter = buildEQCompareFilter(groups, 0);
@@ -138,7 +138,7 @@ public class FilterSerializeTest extends FilterBaseTest {
 
         ColumnDesc column = new ColumnDesc();
         column.setTable(table);
-        TblColRef colRef = new TblColRef(column);
+        TblColRef colRef = column.getRef();
         List<TblColRef> groups = new ArrayList<TblColRef>();
         groups.add(colRef);
         TupleFilter filter = buildEQCompareFilter(groups, 0);

http://git-wip-us.apache.org/repos/asf/kylin/blob/5fee5474/storage-hbase/src/test/java/org/apache/kylin/storage/hbase/cube/v1/coprocessor/observer/AggregateRegionObserverTest.java
----------------------------------------------------------------------
diff --git a/storage-hbase/src/test/java/org/apache/kylin/storage/hbase/cube/v1/coprocessor/observer/AggregateRegionObserverTest.java b/storage-hbase/src/test/java/org/apache/kylin/storage/hbase/cube/v1/coprocessor/observer/AggregateRegionObserverTest.java
index 3efcf92..19ba688 100644
--- a/storage-hbase/src/test/java/org/apache/kylin/storage/hbase/cube/v1/coprocessor/observer/AggregateRegionObserverTest.java
+++ b/storage-hbase/src/test/java/org/apache/kylin/storage/hbase/cube/v1/coprocessor/observer/AggregateRegionObserverTest.java
@@ -206,7 +206,7 @@ public class AggregateRegionObserverTest {
     }
 
     private TblColRef newCol(int i, String name, TableDesc t) {
-        return new TblColRef(ColumnDesc.mockup(t, i, name, null));
+        return ColumnDesc.mockup(t, i, name, null).getRef();
     }
 
     public static class MockupRegionScanner implements RegionScanner {

http://git-wip-us.apache.org/repos/asf/kylin/blob/5fee5474/storage-hbase/src/test/java/org/apache/kylin/storage/hbase/ii/coprocessor/endpoint/BitMapFilterEvaluatorTest.java
----------------------------------------------------------------------
diff --git a/storage-hbase/src/test/java/org/apache/kylin/storage/hbase/ii/coprocessor/endpoint/BitMapFilterEvaluatorTest.java b/storage-hbase/src/test/java/org/apache/kylin/storage/hbase/ii/coprocessor/endpoint/BitMapFilterEvaluatorTest.java
index 61df5cf..e2eeddb 100644
--- a/storage-hbase/src/test/java/org/apache/kylin/storage/hbase/ii/coprocessor/endpoint/BitMapFilterEvaluatorTest.java
+++ b/storage-hbase/src/test/java/org/apache/kylin/storage/hbase/ii/coprocessor/endpoint/BitMapFilterEvaluatorTest.java
@@ -46,12 +46,8 @@ public class BitMapFilterEvaluatorTest {
 
     static {
         TableDesc table = TableDesc.mockup("DEFAULT.TABLE");
-
-        ColumnDesc col = ColumnDesc.mockup(table, 1, "colA", "string");
-        colA = new TblColRef(col);
-
-        col = ColumnDesc.mockup(table, 1, "colB", "string");
-        colB = new TblColRef(col);
+        colA = ColumnDesc.mockup(table, 1, "colA", "string").getRef();
+        colB = ColumnDesc.mockup(table, 1, "colB", "string").getRef();
     }
 
     static class MockBitMapProivder implements BitMapProvider {