[teiid-issues] [JBoss JIRA] Updated: (TEIID-911) Prepared Batch Update against a view table fails with "Unable to evaluate $param/pos0: No value was available"

Larry O'Leary (JIRA) jira-events at lists.jboss.org
Mon Dec 21 12:10:30 EST 2009


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

Larry O'Leary updated TEIID-911:
--------------------------------

    Attachment: JBEDSP-1133_Teiid-Rev-1662_UnitTests_200912211050.patch


Unit test from R050503 as a patch against teiid-engine revision 1662.

> Prepared Batch Update against a view table fails with "Unable to evaluate $param/pos0: No value was available"
> --------------------------------------------------------------------------------------------------------------
>
>                 Key: TEIID-911
>                 URL: https://jira.jboss.org/jira/browse/TEIID-911
>             Project: Teiid
>          Issue Type: Bug
>          Components: Query Engine
>    Affects Versions: 7.0
>         Environment: teiid-engine revision 1662
>            Reporter: Larry O'Leary
>            Assignee: Steven Hawkins
>         Attachments: JBEDSP-1133_Teiid-Rev-1662_UnitTests_200912211050.patch
>
>
> Attempting to execute a prepared batch update against a view table results in the following stack trace:
> [MetaMatrixComponentException] ERR.015.006.0033: Error Code:ERR.015.006.0033 Message:Unable to evaluate $param/pos0: No value was available
> 	at com.metamatrix.query.sql.util.VariableContext.getGlobalValue(VariableContext.java:68)
> 	at com.metamatrix.query.sql.util.VariableContext.getGlobalValue(VariableContext.java:64)
> 	at com.metamatrix.query.eval.Evaluator.internalEvaluate(Evaluator.java:562)
> 	at com.metamatrix.query.eval.Evaluator.evaluate(Evaluator.java:524)
> 	at com.metamatrix.query.processor.proc.ProcedurePlan.evaluateExpression(ProcedurePlan.java:648)
> 	at com.metamatrix.query.processor.proc.ProcedurePlan.open(ProcedurePlan.java:187)
> 	at com.metamatrix.query.processor.relational.PlanExecutionNode.open(PlanExecutionNode.java:74)
> 	at com.metamatrix.query.processor.relational.RelationalNode.open(RelationalNode.java:236)
> 	at com.metamatrix.query.processor.relational.RelationalPlan.open(RelationalPlan.java:101)
> 	at com.metamatrix.query.processor.batch.BatchedUpdatePlan.open(BatchedUpdatePlan.java:114)
> 	at com.metamatrix.query.processor.QueryProcessor.initialize(QueryProcessor.java:112)
> 	at com.metamatrix.query.processor.QueryProcessor.process(QueryProcessor.java:152)
> 	at com.metamatrix.query.processor.QueryProcessor.process(QueryProcessor.java:127)
> 	at com.metamatrix.query.processor.TestProcessor.doProcess(TestProcessor.java:234)
> 	at org.teiid.dqp.internal.process.TestPreparedStatement.helpTestProcessing(TestPreparedStatement.java:121)
> 	at org.teiid.dqp.internal.process.TestPreparedStatementBatchedUpdate.testUpdateSameNumCmds_Virtual(TestPreparedStatementBatchedUpdate.java:246)
> 	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
> 	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
> 	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
> 	at java.lang.reflect.Method.invoke(Method.java:597)
> 	at org.junit.internal.runners.TestMethod.invoke(TestMethod.java:59)
> 	at org.junit.internal.runners.MethodRoadie.runTestMethod(MethodRoadie.java:98)
> 	at org.junit.internal.runners.MethodRoadie$2.run(MethodRoadie.java:79)
> 	at org.junit.internal.runners.MethodRoadie.runBeforesThenTestThenAfters(MethodRoadie.java:87)
> 	at org.junit.internal.runners.MethodRoadie.runTest(MethodRoadie.java:77)
> 	at org.junit.internal.runners.MethodRoadie.run(MethodRoadie.java:42)
> 	at org.junit.internal.runners.JUnit4ClassRunner.invokeTestMethod(JUnit4ClassRunner.java:88)
> 	at org.junit.internal.runners.JUnit4ClassRunner.runMethods(JUnit4ClassRunner.java:51)
> 	at org.junit.internal.runners.JUnit4ClassRunner$1.run(JUnit4ClassRunner.java:44)
> 	at org.junit.internal.runners.ClassRoadie.runUnprotected(ClassRoadie.java:27)
> 	at org.junit.internal.runners.ClassRoadie.runProtected(ClassRoadie.java:37)
> 	at org.junit.internal.runners.JUnit4ClassRunner.run(JUnit4ClassRunner.java:42)
> 	at org.eclipse.jdt.internal.junit4.runner.JUnit4TestReference.run(JUnit4TestReference.java:46)
> 	at org.eclipse.jdt.internal.junit.runner.TestExecution.run(TestExecution.java:38)
> 	at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:467)
> 	at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:683)
> 	at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.run(RemoteTestRunner.java:390)
> 	at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.main(RemoteTestRunner.java:197)
> This was produced using a UnitTest that simply creates a prepared statement similar to:
> preparedSql = "UPDATE vm1.g1 SET vm1.g1.e2=? WHERE vm1.g1.e1=?"
> values.add(new ArrayList<Object>(Arrays.asList(new Object[] { new Integer(0), "a" })));
> values.add(new ArrayList<Object>(Arrays.asList(new Object[] { new Integer(1), "b" })));
> Then execute the prepared statement.  
> Attached unit test patch includes the failing unit tests against a virtual and some refactoring of the existing unit test methods to handle some unit test framework changes from R050503.

-- 
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators: https://jira.jboss.org/jira/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira

        


More information about the teiid-issues mailing list