You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@kylin.apache.org by sh...@apache.org on 2015/06/17 04:16:52 UTC
incubator-kylin git commit: KYLIN-831 Kylin report "Column 'ABC' not
found in table 'TABLE' while executing SQL",
when that column is FK but not define as a dimension
Repository: incubator-kylin
Updated Branches:
refs/heads/0.7-staging a64cc1391 -> 95180eaa4
KYLIN-831 Kylin report "Column 'ABC' not found in table 'TABLE' while executing SQL", when that column is FK but not define as a dimension
Project: http://git-wip-us.apache.org/repos/asf/incubator-kylin/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-kylin/commit/95180eaa
Tree: http://git-wip-us.apache.org/repos/asf/incubator-kylin/tree/95180eaa
Diff: http://git-wip-us.apache.org/repos/asf/incubator-kylin/diff/95180eaa
Branch: refs/heads/0.7-staging
Commit: 95180eaa4afe41b5e2fcf1f511351dae8bf9d1ce
Parents: a64cc13
Author: shaofengshi <sh...@apache.org>
Authored: Wed Jun 17 10:16:28 2015 +0800
Committer: shaofengshi <sh...@apache.org>
Committed: Wed Jun 17 10:16:28 2015 +0800
----------------------------------------------------------------------
.../java/org/apache/kylin/cube/CubeDescUpgrader.java | 12 +++++++++---
.../main/java/org/apache/kylin/cube/model/CubeDesc.java | 3 +++
2 files changed, 12 insertions(+), 3 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/incubator-kylin/blob/95180eaa/cube/src/main/java/org/apache/kylin/cube/CubeDescUpgrader.java
----------------------------------------------------------------------
diff --git a/cube/src/main/java/org/apache/kylin/cube/CubeDescUpgrader.java b/cube/src/main/java/org/apache/kylin/cube/CubeDescUpgrader.java
index 5fb99a0..9353cfc 100644
--- a/cube/src/main/java/org/apache/kylin/cube/CubeDescUpgrader.java
+++ b/cube/src/main/java/org/apache/kylin/cube/CubeDescUpgrader.java
@@ -205,14 +205,20 @@ public class CubeDescUpgrader {
List<org.apache.kylin.cube.model.v1.DimensionDesc> oldDimensions = oldModel.getDimensions();
List<LookupDesc> lookups = Lists.newArrayList();
+ List<String> lookupTables = Lists.newArrayList();
for (org.apache.kylin.cube.model.v1.DimensionDesc dim : oldDimensions) {
JoinDesc join = dim.getJoin();
if (join != null && !StringUtils.isEmpty(join.getType()) && join.getForeignKey() != null && join.getForeignKey().length > 0) {
- LookupDesc lookup = new LookupDesc();
- lookup.setJoin(join);
String table = dim.getTable();
- lookup.setTable(getMetadataManager().appendDBName(table));
+ table = getMetadataManager().appendDBName(table);
+ if (lookupTables.contains(table)) {
+ continue;
+ }
+ LookupDesc lookup = new LookupDesc();
+ lookup.setJoin(join);
+ lookup.setTable(table);
+ lookupTables.add(table);
lookups.add(lookup);
}
}
http://git-wip-us.apache.org/repos/asf/incubator-kylin/blob/95180eaa/cube/src/main/java/org/apache/kylin/cube/model/CubeDesc.java
----------------------------------------------------------------------
diff --git a/cube/src/main/java/org/apache/kylin/cube/model/CubeDesc.java b/cube/src/main/java/org/apache/kylin/cube/model/CubeDesc.java
index b03268f..cae9c01 100644
--- a/cube/src/main/java/org/apache/kylin/cube/model/CubeDesc.java
+++ b/cube/src/main/java/org/apache/kylin/cube/model/CubeDesc.java
@@ -511,6 +511,9 @@ public class CubeDesc extends RootPersistentEntity {
if (join != null) {
TblColRef[] fk = join.getForeignKeyColumns();
TblColRef[] pk = join.getPrimaryKeyColumns();
+
+ allColumns.addAll(Arrays.asList(fk));
+ allColumns.addAll(Arrays.asList(pk));
for (int i = 0; i < fk.length; i++) {
int find = ArrayUtils.indexOf(hostCols, fk[i]);
if (find >= 0) {