[teiid-issues] [JBoss JIRA] (TEIID-2219) NullPointer Exception when doing count aggregations on two individual columns from separate databases
Steven Hawkins (JIRA)
jira-events at lists.jboss.org
Thu Sep 20 15:44:34 EDT 2012
[ https://issues.jboss.org/browse/TEIID-2219?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12720421#comment-12720421 ]
Steven Hawkins commented on TEIID-2219:
---------------------------------------
A similar exception was noticed with the fix to TEIID-2220, can you confirm that your query now works on trunk (or alpha2 which should be on monday)? Alternatively can you post ddl/vdb to reproduce the issue?
> NullPointer Exception when doing count aggregations on two individual columns from separate databases
> -----------------------------------------------------------------------------------------------------
>
> Key: TEIID-2219
> URL: https://issues.jboss.org/browse/TEIID-2219
> Project: Teiid
> Issue Type: Bug
> Components: Query Engine
> Affects Versions: 8.1
> Environment: Running embedded mode
> Reporter: Ivan Chan
> Assignee: Steven Hawkins
>
> I have issues doing Count aggregations in 2 different databases. 2 out of 3 following cases fail... (But distinct count seems ok)
>
> <----------- CASE 1 ----------> SUM first, then COUNT => OK
>
> SUM(DB_2.field_1), COUNT(DB_1.field_1)
>
> select sum("FoodmartDataSourceJNDI_public_expense_fact"."amount") as "FoodmartDataSourceJNDI_public_expense_fact_amount_Sum",
> count("FoodmartDataSource_public_employee"."full_name") as "FoodmartDataSource_public_employee_full_name_Count"
> from "FoodmartDataSource_public"."employee" "FoodmartDataSource_public_employee"
> inner join "FoodmartDataSourceJNDI_public"."expense_fact" "FoodmartDataSourceJNDI_public_expense_fact" on ("FoodmartDataSource_public_employee"."store_id" = "FoodmartDataSourceJNDI_public_expense_fact"."store_id")
>
>
> SELECT g_0."store_id" AS c_0, g_0."full_name" AS c_1 FROM "public"."employee" AS g_0 ORDER BY c_0
>
>
> SELECT g_0."store_id" AS c_0, SUM(g_0."amount") AS c_1 FROM "public"."expense_fact" AS g_0 GROUP BY g_0."store_id" ORDER BY c_0
>
> <-----------CASE 2 ---------------> COUNT first, then SUM => ERROR
>
> COUNT(DB_1.field_1), SUM(DB_2.field_1)
>
>
> select count("FoodmartDataSourceJNDI_public_expense_fact"."category_id") as "FoodmartDataSourceJNDI_public_expense_fact_category_id_Count",
> sum("FoodmartDataSource_public_employee"."salary") as "FoodmartDataSource_public_employee_salary_Sum"
> from "FoodmartDataSource_public"."employee" "FoodmartDataSource_public_employee"
> inner join "FoodmartDataSourceJNDI_public"."expense_fact" "FoodmartDataSourceJNDI_public_expense_fact" on ("FoodmartDataSource_public_employee"."store_id" = "FoodmartDataSourceJNDI_public_expense_fact"."store_id")
>
> Caused by: java.lang.NullPointerException
> at org.teiid.query.processor.relational.GroupingNode.initialize(GroupingNode.java:184)
> at org.teiid.query.processor.relational.RelationalPlan.connectExternal(RelationalPlan.java:108)
> at org.teiid.query.processor.relational.RelationalPlan.connectExternal(RelationalPlan.java:113)
> at org.teiid.query.processor.relational.RelationalPlan.initialize(RelationalPlan.java:103)
> at org.teiid.query.processor.QueryProcessor.init(QueryProcessor.java:194)
> at org.teiid.query.processor.QueryProcessor.nextBatchDirect(QueryProcessor.java:130)
> at org.teiid.query.processor.QueryProcessor.nextBatch(QueryProcessor.java:109)
> at org.teiid.query.processor.BatchCollector.collectTuples(BatchCollector.java:153)
> at org.teiid.dqp.internal.process.RequestWorkItem.processMore(RequestWorkItem.java:382)
> at org.teiid.dqp.internal.process.RequestWorkItem.process(RequestWorkItem.java:291)
> ... 123 more
>
> <-----------CASE 3 ---------------> COUNT on DB1.COL1 and COUNT on DB2.COL2 => ERROR
>
> COUNT(DB_1.field_1), COUNT(DB_2.field_1)
>
> select count("FoodmartDataSourceJNDI_public_expense_fact"."category_id") as "FoodmartDataSourceJNDI_public_expense_fact_category_id_Count",
> count("FoodmartDataSource_public_employee"."first_name") as "FoodmartDataSource_public_employee_first_name_Count"
> from "FoodmartDataSource_public"."employee" "FoodmartDataSource_public_employee"
> inner join "FoodmartDataSourceJNDI_public"."expense_fact" "FoodmartDataSourceJNDI_public_expense_fact" on ("FoodmartDataSource_public_employee"."store_id" = "FoodmartDataSourceJNDI_public_expense_fact"."store_id")
>
> Caused by: java.lang.NullPointerException
> at org.teiid.query.processor.relational.GroupingNode.initialize(GroupingNode.java:184)
> at org.teiid.query.processor.relational.RelationalPlan.connectExternal(RelationalPlan.java:108)
> at org.teiid.query.processor.relational.RelationalPlan.connectExternal(RelationalPlan.java:113)
> at org.teiid.query.processor.relational.RelationalPlan.initialize(RelationalPlan.java:103)
> at org.teiid.query.processor.QueryProcessor.init(QueryProcessor.java:194)
> at org.teiid.query.processor.QueryProcessor.nextBatchDirect(QueryProcessor.java:130)
> at org.teiid.query.processor.QueryProcessor.nextBatch(QueryProcessor.java:109)
> at org.teiid.query.processor.BatchCollector.collectTuples(BatchCollector.java:153)
> at org.teiid.dqp.internal.process.RequestWorkItem.processMore(RequestWorkItem.java:382)
> at org.teiid.dqp.internal.process.RequestWorkItem.process(RequestWorkItem.java:291)
> ... 123 more
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira
More information about the teiid-issues
mailing list