Dong Li created KYLIN-2440:
------------------------------
Summary: Query failed if join condition columns not appear on cube
Key: KYLIN-2440
URL: https://issues.apache.org/jira/browse/KYLIN-2440
Project: Kylin
Issue Type: Bug
Reporter: Dong Li
Assignee: liyang
The metadata are:
The model is:
KYLIN_SALES(fact) - KYLIN_ACCOUNT(fact) - KYLIN_COUNTRY(lookup)
Dimensions on cube:
KYLIN_SALES.PART_DT(Normal), KYLIN_COUNTRY.LONGITUDE(derived)
The failed query:
SELECT count(*)
FROM KYLIN_SALES as KYLIN_SALES
INNER JOIN KYLIN_ACCOUNT as KYLIN_ACCOUNT
ON KYLIN_SALES.SELLER_ID = KYLIN_ACCOUNT.ACCOUNT_ID
INNER JOIN KYLIN_COUNTRY as KYLIN_COUNTRY
ON KYLIN_ACCOUNT.ACCOUNT_COUNTRY = KYLIN_COUNTRY.COUNTRY
INNER JOIN KYLIN_ACCOUNT as KYLIN_ACCOUNT_B
ON KYLIN_SALES.BUYER_ID = KYLIN_ACCOUNT_B.ACCOUNT_ID
INNER JOIN KYLIN_COUNTRY as KYLIN_COUNTRY_B
ON KYLIN_ACCOUNT_B.ACCOUNT_COUNTRY = KYLIN_COUNTRY_B.COUNTRY
Query stacktrace:
2017-02-09 08:49:53,879 ERROR [Query 5a458124-6cae-47b8-8621-24173c1eeba1-101]
runtime.CalciteException:59 :
org.apache.calcite.sql.validate.SqlValidatorException: Column 'SELLER_ID' not
found in ta
ble 'KYLIN_SALES'
2017-02-09 08:49:53,880 ERROR [Query 5a458124-6cae-47b8-8621-24173c1eeba1-101]
runtime.CalciteException:61 :
org.apache.calcite.runtime.CalciteContextException: From line 4, column 16 to
line 4, col
umn 24: Column 'SELLER_ID' not found in table 'KYLIN_SALES'
2017-02-09 08:49:53,880 ERROR [Query 5a458124-6cae-47b8-8621-24173c1eeba1-101]
service.QueryService:379 : Exception when execute sql
java.sql.SQLException: Error while executing SQL "SELECT *
FROM KYLIN_SALES as KYLIN_SALES
INNER JOIN KYLIN_ACCOUNT as KYLIN_ACCOUNT
ON KYLIN_SALES.SELLER_ID = KYLIN_ACCOUNT.ACCOUNT_ID
INNER JOIN KYLIN_COUNTRY as KYLIN_COUNTRY
ON KYLIN_ACCOUNT.ACCOUNT_COUNTRY = KYLIN_COUNTRY.COUNTRY
INNER JOIN KYLIN_ACCOUNT as KYLIN_ACCOUNT_B
ON KYLIN_SALES.BUYER_ID = KYLIN_ACCOUNT_B.ACCOUNT_ID
INNER JOIN KYLIN_COUNTRY as KYLIN_COUNTRY_B
ON KYLIN_ACCOUNT_B.ACCOUNT_COUNTRY = KYLIN_COUNTRY_B.COUNTRY
LIMIT 50000": From line 4, column 16 to line 4, column 24: Column 'SELLER_ID'
not found in table 'KYLIN_SALES'
at org.apache.calcite.avatica.Helper.createException(Helper.java:56)
at org.apache.calcite.avatica.Helper.createException(Helper.java:41)
at
org.apache.calcite.avatica.AvaticaStatement.executeInternal(AvaticaStatement.java:156)
at
org.apache.calcite.avatica.AvaticaStatement.executeQuery(AvaticaStatement.java:218)
at
org.apache.kylin.rest.service.QueryService.execute(QueryService.java:557)
at
org.apache.kylin.rest.service.QueryService.queryWithSqlMassage(QueryService.java:461)
....
Caused by: org.apache.calcite.runtime.CalciteContextException: From line 4,
column 16 to line 4, column 24: Column 'SELLER_ID' not found in table
'KYLIN_SALES'
at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
at
sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:57)
at
sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
at java.lang.reflect.Constructor.newInstance(Constructor.java:526)
at
org.apache.calcite.runtime.Resources$ExInstWithCause.ex(Resources.java:463)
at org.apache.calcite.sql.SqlUtil.newContextException(SqlUtil.java:796)
at org.apache.calcite.sql.SqlUtil.newContextException(SqlUtil.java:784)
at
org.apache.calcite.sql.validate.SqlValidatorImpl.newValidationError(SqlValidatorImpl.java:4080)
at
org.apache.calcite.sql.validate.DelegatingScope.fullyQualify(DelegatingScope.java:362)
at
org.apache.calcite.sql.validate.SqlValidatorImpl$Expander.visit(SqlValidatorImpl.java:4579)
at
org.apache.calcite.sql.validate.SqlValidatorImpl$Expander.visit(SqlValidatorImpl.java:4561)
at org.apache.calcite.sql.SqlIdentifier.accept(SqlIdentifier.java:334)
at
org.apache.calcite.sql.util.SqlShuttle$CallCopyingArgHandler.visitChild(SqlShuttle.java:134)
at
org.apache.calcite.sql.util.SqlShuttle$CallCopyingArgHandler.visitChild(SqlShuttle.java:101)
....
Caused by: org.apache.calcite.sql.validate.SqlValidatorException: Column
'SELLER_ID' not found in table 'KYLIN_SALES'
at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
at
sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:57)
at
sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
at java.lang.reflect.Constructor.newInstance(Constructor.java:526)
at
org.apache.calcite.runtime.Resources$ExInstWithCause.ex(Resources.java:463)
at org.apache.calcite.runtime.Resources$ExInst.ex(Resources.java:572)
--
This message was sent by Atlassian JIRA
(v6.3.15#6346)