[teiid-issues] [JBoss JIRA] (TEIID-5834) Class cast exception using web service with bind varables

Mike Higgins (Jira) issues at jboss.org
Mon Nov 4 10:20:00 EST 2019


     [ https://issues.jboss.org/browse/TEIID-5834?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Mike Higgins updated TEIID-5834:
--------------------------------
    Description: 
I am using a restful web service, which works fine if literal values are used to constrain it.  However, when I use bind variables, it gives me a traceback:

java.lang.ClassCastException: org.teiid.query.sql.lang.ImmutableCompareCriteria cannot be cast to org.teiid.query.sql.lang.AbstractSetCriteria
	at org.teiid.query.processor.relational.DependentCriteriaProcessor.prepareCriteria(DependentCriteriaProcessor.java:352)
	at org.teiid.query.processor.relational.DependentProcedureCriteriaProcessor.prepareNextCommand(DependentProcedureCriteriaProcessor.java:60)
	at org.teiid.query.processor.relational.DependentProcedureExecutionNode.prepareNextCommand(DependentProcedureExecutionNode.java:88)
	at org.teiid.query.processor.relational.PlanExecutionNode.open(PlanExecutionNode.java:79)
	at org.teiid.query.processor.relational.DependentProcedureExecutionNode.open(DependentProcedureExecutionNode.java:108)
	at org.teiid.query.processor.relational.RelationalNode.open(RelationalNode.java:250)
	at org.teiid.query.processor.relational.RelationalNode.open(RelationalNode.java:250)
	at org.teiid.query.processor.relational.JoinStrategy.openRight(JoinStrategy.java:101)
	at org.teiid.query.processor.relational.JoinNode.nextBatchDirectInternal(JoinNode.java:256)
	at org.teiid.query.processor.relational.JoinNode.nextBatchDirect(JoinNode.java:200)
	at org.teiid.query.processor.relational.RelationalNode.nextBatch(RelationalNode.java:277)
	at org.teiid.query.processor.relational.ProjectNode.nextBatchDirect(ProjectNode.java:146)
	at org.teiid.query.processor.relational.RelationalNode.nextBatch(RelationalNode.java:277)
	at org.teiid.query.processor.relational.RelationalPlan.nextBatch(RelationalPlan.java:141)
	at org.teiid.query.processor.QueryProcessor.nextBatchDirect(QueryProcessor.java:148)
	at org.teiid.query.processor.QueryProcessor.nextBatch(QueryProcessor.java:111)
	at org.teiid.query.processor.BatchCollector.collectTuples(BatchCollector.java:160)
	at org.teiid.query.processor.BatchCollector.collectTuples(BatchCollector.java:142)
	at org.teiid.dqp.internal.process.RequestWorkItem.processMore(RequestWorkItem.java:492)
	at org.teiid.dqp.internal.process.RequestWorkItem.process(RequestWorkItem.java:362)
	... 8 more

The SQL is:
<deleted for internal security reasons -- showed a dependent join to a web service using an 'in' operator>, 

Where WS_CLUSTER is the web service.  I didn't find any issues about this so I was not sure if a later version would work.  

  was:
I am using a restful web service, which works fine if literal values are used to constrain it.  However, when I use bind variables, it gives me a traceback:

java.lang.ClassCastException: org.teiid.query.sql.lang.ImmutableCompareCriteria cannot be cast to org.teiid.query.sql.lang.AbstractSetCriteria
	at org.teiid.query.processor.relational.DependentCriteriaProcessor.prepareCriteria(DependentCriteriaProcessor.java:352)
	at org.teiid.query.processor.relational.DependentProcedureCriteriaProcessor.prepareNextCommand(DependentProcedureCriteriaProcessor.java:60)
	at org.teiid.query.processor.relational.DependentProcedureExecutionNode.prepareNextCommand(DependentProcedureExecutionNode.java:88)
	at org.teiid.query.processor.relational.PlanExecutionNode.open(PlanExecutionNode.java:79)
	at org.teiid.query.processor.relational.DependentProcedureExecutionNode.open(DependentProcedureExecutionNode.java:108)
	at org.teiid.query.processor.relational.RelationalNode.open(RelationalNode.java:250)
	at org.teiid.query.processor.relational.RelationalNode.open(RelationalNode.java:250)
	at org.teiid.query.processor.relational.JoinStrategy.openRight(JoinStrategy.java:101)
	at org.teiid.query.processor.relational.JoinNode.nextBatchDirectInternal(JoinNode.java:256)
	at org.teiid.query.processor.relational.JoinNode.nextBatchDirect(JoinNode.java:200)
	at org.teiid.query.processor.relational.RelationalNode.nextBatch(RelationalNode.java:277)
	at org.teiid.query.processor.relational.ProjectNode.nextBatchDirect(ProjectNode.java:146)
	at org.teiid.query.processor.relational.RelationalNode.nextBatch(RelationalNode.java:277)
	at org.teiid.query.processor.relational.RelationalPlan.nextBatch(RelationalPlan.java:141)
	at org.teiid.query.processor.QueryProcessor.nextBatchDirect(QueryProcessor.java:148)
	at org.teiid.query.processor.QueryProcessor.nextBatch(QueryProcessor.java:111)
	at org.teiid.query.processor.BatchCollector.collectTuples(BatchCollector.java:160)
	at org.teiid.query.processor.BatchCollector.collectTuples(BatchCollector.java:142)
	at org.teiid.dqp.internal.process.RequestWorkItem.processMore(RequestWorkItem.java:492)
	at org.teiid.dqp.internal.process.RequestWorkItem.process(RequestWorkItem.java:362)
	... 8 more

The SQL is:
SELECT CAIMANM.LM_BIOLOGICAL_SYSTEM."BIOLOGICAL_SYSTEM_UID", 
WS_CLUSTER.WS_CLUSTER_T."VH_SPECIES",  
WS_CLUSTER.WS_CLUSTER_T."PROJECT_SHORT_NAME", 
WS_CLUSTER.WS_CLUSTER_T."biosysid" 
FROM caimanm.lm_biological_system 
LEFT OUTER JOIN WS_cluster.WS_cluster_t 
ON (CAIMANM.LM_BIOLOGICAL_SYSTEM."BIOLOGICAL_SYSTEM_UID" = WS_CLUSTER.WS_CLUSTER_T."biosysid") 
AND (WS_CLUSTER.WS_CLUSTER_T."biosysid" in (?, ?, ?))
WHERE (CAIMANM.LM_BIOLOGICAL_SYSTEM."BIOLOGICAL_SYSTEM_UID" in (?, ?, ?))

Where WS_CLUSTER is the web service.  I didn't find any issues about this so I was not sure if a later version would work.  



> Class cast exception using web service with bind varables
> ---------------------------------------------------------
>
>                 Key: TEIID-5834
>                 URL: https://issues.jboss.org/browse/TEIID-5834
>             Project: Teiid
>          Issue Type: Bug
>    Affects Versions: 11.1.2
>            Reporter: Mike Higgins
>            Assignee: Steven Hawkins
>            Priority: Major
>             Fix For: 13.0, 12.3.1
>
>
> I am using a restful web service, which works fine if literal values are used to constrain it.  However, when I use bind variables, it gives me a traceback:
> java.lang.ClassCastException: org.teiid.query.sql.lang.ImmutableCompareCriteria cannot be cast to org.teiid.query.sql.lang.AbstractSetCriteria
> 	at org.teiid.query.processor.relational.DependentCriteriaProcessor.prepareCriteria(DependentCriteriaProcessor.java:352)
> 	at org.teiid.query.processor.relational.DependentProcedureCriteriaProcessor.prepareNextCommand(DependentProcedureCriteriaProcessor.java:60)
> 	at org.teiid.query.processor.relational.DependentProcedureExecutionNode.prepareNextCommand(DependentProcedureExecutionNode.java:88)
> 	at org.teiid.query.processor.relational.PlanExecutionNode.open(PlanExecutionNode.java:79)
> 	at org.teiid.query.processor.relational.DependentProcedureExecutionNode.open(DependentProcedureExecutionNode.java:108)
> 	at org.teiid.query.processor.relational.RelationalNode.open(RelationalNode.java:250)
> 	at org.teiid.query.processor.relational.RelationalNode.open(RelationalNode.java:250)
> 	at org.teiid.query.processor.relational.JoinStrategy.openRight(JoinStrategy.java:101)
> 	at org.teiid.query.processor.relational.JoinNode.nextBatchDirectInternal(JoinNode.java:256)
> 	at org.teiid.query.processor.relational.JoinNode.nextBatchDirect(JoinNode.java:200)
> 	at org.teiid.query.processor.relational.RelationalNode.nextBatch(RelationalNode.java:277)
> 	at org.teiid.query.processor.relational.ProjectNode.nextBatchDirect(ProjectNode.java:146)
> 	at org.teiid.query.processor.relational.RelationalNode.nextBatch(RelationalNode.java:277)
> 	at org.teiid.query.processor.relational.RelationalPlan.nextBatch(RelationalPlan.java:141)
> 	at org.teiid.query.processor.QueryProcessor.nextBatchDirect(QueryProcessor.java:148)
> 	at org.teiid.query.processor.QueryProcessor.nextBatch(QueryProcessor.java:111)
> 	at org.teiid.query.processor.BatchCollector.collectTuples(BatchCollector.java:160)
> 	at org.teiid.query.processor.BatchCollector.collectTuples(BatchCollector.java:142)
> 	at org.teiid.dqp.internal.process.RequestWorkItem.processMore(RequestWorkItem.java:492)
> 	at org.teiid.dqp.internal.process.RequestWorkItem.process(RequestWorkItem.java:362)
> 	... 8 more
> The SQL is:
> <deleted for internal security reasons -- showed a dependent join to a web service using an 'in' operator>, 
> Where WS_CLUSTER is the web service.  I didn't find any issues about this so I was not sure if a later version would work.  



--
This message was sent by Atlassian Jira
(v7.13.8#713008)


More information about the teiid-issues mailing list