Hide Forgot
project_key: SOA 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.]
Link: Added: This issue Cloned to SOA-2728
Tested with ER9 and closed.