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

Claudio Venturini (JIRA) jira-events at lists.jboss.org
Wed May 4 11:50:18 EDT 2011


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


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