Execution of a Prepared Statement may receive LanguageBridgeFactory
AssertionError
----------------------------------------------------------------------------------
Key: TEIID-1414
URL:
https://issues.jboss.org/browse/TEIID-1414
Project: Teiid
Issue Type: Bug
Components: Query Engine
Affects Versions: 7.1.1
Reporter: Paul Nittel
Fix For: 7.1.1, 7.3
I'm testing Prepared Statements and have a query that executes through SQuirreL as a
non-prepared statement and fails with an assertion error when I run it through a Java
application. Here's the SQL:
SELECT PART_NAME FROM PARTS WHERE PARTS.PART_ID IN
(SELECT SUPPLIER_PARTS.PART_ID FROM SUPPLIER_PARTS WHERE (SUPPLIER_PARTS.SUPPLIER_ID =
'S100')
AND (LEFT(SUPPLIER_PARTS.SUPPLIER_ID, 1) != LEFT(PARTS.PART_COLOR, 1)))
stmt = conn.prepareStatement("SELECT PART_NAME FROM PARTS WHERE PARTS.PART_ID IN
"
+ "(SELECT SUPPLIER_PARTS.PART_ID FROM SUPPLIER_PARTS WHERE
(SUPPLIER_PARTS.SUPPLIER_ID = ?) "
+ "AND (LEFT(SUPPLIER_PARTS.SUPPLIER_ID, 1) != LEFT(PARTS.PART_COLOR, 1)))
");
2011-01-03 14:30:22,515 ERROR [org.teiid.CONNECTOR] (Worker33_QueryProcessorQueue1000)
Connector worker process failed for atomic-request=mQaVUbKNtiIi.20.2.219
java.lang.AssertionError
at
org.teiid.dqp.internal.datamgr.LanguageBridgeFactory.translate(LanguageBridgeFactory.java:459)
at
org.teiid.dqp.internal.datamgr.LanguageBridgeFactory.translate(LanguageBridgeFactory.java:311)
at
org.teiid.dqp.internal.datamgr.LanguageBridgeFactory.translate(LanguageBridgeFactory.java:266)
at
org.teiid.dqp.internal.datamgr.LanguageBridgeFactory.translate(LanguageBridgeFactory.java:319)
at
org.teiid.dqp.internal.datamgr.LanguageBridgeFactory.translate(LanguageBridgeFactory.java:268)
at
org.teiid.dqp.internal.datamgr.LanguageBridgeFactory.translate(LanguageBridgeFactory.java:207)
at
org.teiid.dqp.internal.datamgr.LanguageBridgeFactory.translate(LanguageBridgeFactory.java:149)
at
org.teiid.dqp.internal.datamgr.LanguageBridgeFactory.translate(LanguageBridgeFactory.java:399)
at
org.teiid.dqp.internal.datamgr.LanguageBridgeFactory.translate(LanguageBridgeFactory.java:282)
at
org.teiid.dqp.internal.datamgr.LanguageBridgeFactory.translate(LanguageBridgeFactory.java:207)
at
org.teiid.dqp.internal.datamgr.LanguageBridgeFactory.translate(LanguageBridgeFactory.java:130)
at
org.teiid.dqp.internal.datamgr.ConnectorWorkItem.execute(ConnectorWorkItem.java:213)
at
org.teiid.dqp.internal.process.DataTierTupleSource.getResults(DataTierTupleSource.java:281)
at
org.teiid.dqp.internal.process.DataTierTupleSource.access$000(DataTierTupleSource.java:71)
at
org.teiid.dqp.internal.process.DataTierTupleSource$1.call(DataTierTupleSource.java:123)
at
org.teiid.dqp.internal.process.DataTierTupleSource$1.call(DataTierTupleSource.java:120)
at org.teiid.dqp.internal.process.DQPCore$FutureWork.run(DQPCore.java:108)
at
org.teiid.dqp.internal.process.DQPWorkContext.runInContext(DQPWorkContext.java:188)
at
org.teiid.dqp.internal.process.ThreadReuseExecutor$RunnableWrapper.run(ThreadReuseExecutor.java:116)
at
org.teiid.dqp.internal.process.ThreadReuseExecutor$3.run(ThreadReuseExecutor.java:290)
at
java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
at
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
at java.lang.Thread.run(Thread.java:619)
2011-01-03 14:30:22,524 WARN [org.teiid.PROCESSOR] (Worker34_QueryProcessorQueue1001)
Processing exception 'null' for request mQaVUbKNtiIi.20. Exception type
org.teiid.core.TeiidProcessingException thrown from
org.teiid.dqp.internal.datamgr.LanguageBridgeFactory.translate(LanguageBridgeFactory.java:459).
Enable more detailed logging to see the entire stacktrace.
[Steve indicated this is the result of skipping the final rewrite of pushed subqueries.]
--
This message is automatically generated by JIRA.
For more information on JIRA, see: