-
1. Re: class cast error
shawkins Mar 29, 2013 4:00 PM (in response to virtualdatabase)You'll want to post representative sql, the version you are using, and ideally the stacktrace. It should be easy to confirm from there if that has already been resolved.
Steve
-
2. Re: class cast error
virtualdatabase Mar 29, 2013 6:12 PM (in response to shawkins)SQL:
SELECT cols FROM omf_radmgmt_order_st AS oros, getTechList3 AS gmt WHERE (gmt.ORDER_ID = oros.ORDER_ID) OPTION MAKEDEP gmt
GMT is a procedure taking in big decimal (same as oros.order_id)
Version 5.3.1
Stack Trace:
15:06:51,779 ERROR [PROCESSOR] Unexpected exception for request +9k3m46A6L4Z.19
java.lang.ClassCastException: org.teiid.query.sql.symbol.ExpressionSymbol cannot be cast to org.teiid.query.sql.symbol.ElementSymbol
at org.teiid.query.processor.relational.GroupingNode.initialize(GroupingNode.java:195)
at org.teiid.query.processor.relational.RelationalPlan.connectExternal(RelationalPlan.java:117)
at org.teiid.query.processor.relational.RelationalPlan.connectExternal(RelationalPlan.java:122)
at org.teiid.query.processor.relational.RelationalPlan.connectExternal(RelationalPlan.java:122)
at org.teiid.query.processor.relational.RelationalPlan.initialize(RelationalPlan.java:112)
at org.teiid.query.processor.QueryProcessor.init(QueryProcessor.java:176)
at org.teiid.query.processor.QueryProcessor.nextBatchDirect(QueryProcessor.java:126)
at org.teiid.query.processor.QueryProcessor.nextBatch(QueryProcessor.java:105)
at org.teiid.query.processor.BatchCollector.collectTuples(BatchCollector.java:147)
at org.teiid.dqp.internal.process.RequestWorkItem.processMore(RequestWorkItem.java:375)
at org.teiid.dqp.internal.process.RequestWorkItem.process(RequestWorkItem.java:288)
at org.teiid.dqp.internal.process.AbstractWorkItem.run(AbstractWorkItem.java:49)
at org.teiid.dqp.internal.process.RequestWorkItem.run(RequestWorkItem.java:216)
at org.teiid.dqp.internal.process.DQPWorkContext.runInContext(DQPWorkContext.java:244)
at org.teiid.dqp.internal.process.ThreadReuseExecutor$RunnableWrapper.run(ThreadReuseExecutor.java:122)
at org.teiid.dqp.internal.process.ThreadReuseExecutor$3.run(ThreadReuseExecutor.java:292)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
at java.lang.Thread.run(Thread.java:722)
Also if thiis helps at all... I CAN perform the following query using the function:
select * from getTechList3 WHERE ORDER_ID in (17662,18304,22282)
as well as a join:
select distinct a.* from getTechList3 a,omf_radtech_order_st oros WHERE oros.ORDER_ID in (17662,18304,22282) and oros.order_id = a.order_id
I nailed the problem down a bit further....
The query selects many columns, however if I comment out the ones that are functions (happen all to be push-down functions) the query will then execute (including the most recently added reference to the procedure)
The whole query worked intact prior to the additional reference to the proc (GMT above) and continues to work with it as long as I remove/comment-out the columns that refer to functions)
-
3. Re: class cast error
shawkins Apr 1, 2013 9:19 AM (in response to virtualdatabase)There are several view layers involved here as well correct as presumably omf_radmgmt_order_st is a view with a grouping operation at the top level correct? My guesses at reproducing this on latest were not successful, so since this is against EDS 5.3.1 you should open a support ticket with the vdb to ensure that it has been addressed by a later patch.
Steve