[teiid-issues] [JBoss JIRA] Closed: (TEIID-1577) ArrayIndexOutOfBoundsException in queries with ORDER BY

Steven Hawkins (JIRA) jira-events at lists.jboss.org
Wed Aug 17 10:37:20 EDT 2011


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

Steven Hawkins closed TEIID-1577.
---------------------------------



> ArrayIndexOutOfBoundsException in queries with ORDER BY
> -------------------------------------------------------
>
>                 Key: TEIID-1577
>                 URL: https://issues.jboss.org/browse/TEIID-1577
>             Project: Teiid
>          Issue Type: Bug
>          Components: Query Engine
>    Affects Versions: 7.4
>         Environment: Teiid 7.4 cr1 (with build #1483 of Teiid Engine 7.4 cr2) deployed on JBoss AS 5.1, installed on Ubuntu Server 10.04 LTS. Three source models: one in MySQL 5.1.51 (on the same machine of JBoss), one on SQLServer 2000 (on another machine), one on SQLServer 2005 (on another machine)
>            Reporter: Claudio Venturini
>            Assignee: Steven Hawkins
>              Labels: 7.4CR2, exception, order
>             Fix For: 7.4
>
>         Attachments: Misura124.zip
>
>
> The models are almost the same described in [https://issues.jboss.org/browse/TEIID-1576]. There's a global view model (named "aop") that integrates the data from three view models (using a UNION ALL operator). It has been already described in [https://issues.jboss.org/browse/TEIID-1562].
> When I run the following query I get an IndexOutOfBoundsException:
> {code:sql}
> SELECT
>     codop,
>     codice,
>     data,
>     codref,
>     groupdim
> FROM
>     aop.misura124.aop.vendita_referenza
> order by data asc
> {code}
> The content of the log file is the following:
> {noformat}
> 2011-05-04 17:36:38,681 DEBUG [org.teiid.COMMAND_LOG] (New I/O server worker #1-1) 	START USER COMMAND:	startTime=2011-05-04 17:36:38.681	requestID=fvJwLRknMQEc.2	txID=null	sessionID=fvJwLRknMQEc	applicationName=JDBC	principal=admin at teiid-security	vdbName=misura124	vdbVersion=1	sql=SELECT VDBName AS TABLE_CAT, SchemaName AS TABLE_SCHEM, Name AS TABLE_NAME, CASE WHEN IsSystem = 'true' and UCASE(Type) = 'TABLE' THEN 'SYSTEM TABLE' ELSE UCASE(Type) END AS TABLE_TYPE, Description AS REMARKS, NULL AS TYPE_CAT, NULL AS TYPE_SCHEM, NULL AS TYPE_NAME, NULL AS SELF_REFERENCING_COL_NAME, NULL AS REF_GENERATION, IsPhysical AS ISPHYSICAL FROM SYS.Tables g  WHERE UCASE(VDBName) LIKE ? ESCAPE '\'  AND UCASE(SchemaName) LIKE ? ESCAPE '\'  AND UCASE(Name) LIKE ? ESCAPE '\'  AND (CASE WHEN IsSystem = 'true' and UCASE(Type) = 'TABLE' THEN 'SYSTEM TABLE' ELSE UCASE(Type) END LIKE ? ESCAPE '\' ) ORDER BY TABLE_TYPE, TABLE_SCHEM, TABLE_NAME
>     codop,
>     codice,
>     data,
>     codref,
>     groupdim
> FROM
>     aop.misura124.aop.vendita_referenza
> order by data asc
> 2011-05-04 17:36:40,071 DEBUG [org.teiid.COMMAND_LOG] (Worker1_QueryProcessorQueue6) 	ERROR USER COMMAND:	endTime=2011-05-04 17:36:40.071	requestID=qaDAPpF9gmnN.0	txID=null	sessionID=qaDAPpF9gmnN	principal=admin at teiid-security	vdbName=misura124	vdbVersion=1	finalRowCount=null
> 2011-05-04 17:36:40,071 ERROR [org.teiid.PROCESSOR] (Worker1_QueryProcessorQueue6) Unexpected exception for request qaDAPpF9gmnN.0
> java.lang.ArrayIndexOutOfBoundsException: -1
> 	at java.util.ArrayList.get(ArrayList.java:324)
> 	at org.teiid.query.optimizer.relational.rules.RuleMergeVirtual.checkForSimpleProjection(RuleMergeVirtual.java:288)
> 	at org.teiid.query.optimizer.relational.rules.RuleMergeVirtual.doMerge(RuleMergeVirtual.java:158)
> 	at org.teiid.query.optimizer.relational.rules.RuleMergeVirtual.execute(RuleMergeVirtual.java:73)
> 	at org.teiid.query.optimizer.relational.RelationalPlanner.executeRules(RelationalPlanner.java:460)
> 	at org.teiid.query.optimizer.relational.RelationalPlanner.optimize(RelationalPlanner.java:225)
> 	at org.teiid.query.optimizer.QueryOptimizer.optimizePlan(QueryOptimizer.java:192)
> 	at org.teiid.dqp.internal.process.Request.generatePlan(Request.java:429)
> 	at org.teiid.dqp.internal.process.Request.processRequest(Request.java:452)
> 	at org.teiid.dqp.internal.process.RequestWorkItem.processNew(RequestWorkItem.java:425)
> 	at org.teiid.dqp.internal.process.RequestWorkItem.process(RequestWorkItem.java:224)
> 	at org.teiid.dqp.internal.process.AbstractWorkItem.run(AbstractWorkItem.java:56)
> 	at org.teiid.dqp.internal.process.DQPWorkContext.runInContext(DQPWorkContext.java:197)
> 	at org.teiid.dqp.internal.process.ThreadReuseExecutor$RunnableWrapper.run(ThreadReuseExecutor.java:118)
> 	at org.teiid.dqp.internal.process.ThreadReuseExecutor$3.run(ThreadReuseExecutor.java:288)
> 	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:662)
> {noformat}
> If I remove the GROUP BY statement, the query works. I also tried to sort on other fields, but the result doesn't change. As always, I've reduced the models in order to highlight where the problem is. I attach the project which contains them.

--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira

        


More information about the teiid-issues mailing list