db-derby-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "A B (JIRA)" <j...@apache.org>
Subject [jira] Updated: (DERBY-3303) ArrayIndexOutOfBoundsException at MergeSort.compare
Date Sat, 16 Feb 2008 00:26:09 GMT

     [ https://issues.apache.org/jira/browse/DERBY-3303?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]

A B updated DERBY-3303:
-----------------------

    Attachment: d3303_v2.patch

Thank you very much for taking the time to review, Bryan.  I appreciate it!

Your suggestions are great ones so I'm attaching a _v2 patch which incorporates them.  I did
modify the comments a bit to try to be more accurate about what "resolveAddedColumn()" really
does--esp. for the example query, it doesn't really look for a column corresponding to "SUM(J)",
rather it looks for a column corresponding to "this.addedColumnOffset", which (in the old
example) ends up being SUM(J).  I also changed the example to order by SUM(K) instead of SUM(J)
in hopes of making it clearer (since there are two "SUM(J)"s in the old example).

Hopefully the new comments are not worse than the old ones...

Thanks again for the quick feedback!

> ArrayIndexOutOfBoundsException at MergeSort.compare
> ---------------------------------------------------
>
>                 Key: DERBY-3303
>                 URL: https://issues.apache.org/jira/browse/DERBY-3303
>             Project: Derby
>          Issue Type: Bug
>    Affects Versions: 10.3.1.4, 10.3.2.1, 10.4.0.0
>         Environment: ------------------ Java Information ------------------
> Java Version:    1.6.0_03
> Java Vendor:     Sun Microsystems Inc.
> Java home:       D:\Programs\Java\jre1.6.0_03
> Java classpath:  derbytools.jar
> OS name:         Windows XP
> OS architecture: x86
> OS version:      5.1
> Java user name:  Donatas
> Java user home:  C:\Documents and Settings\Donatas
> Java user dir:   d:\java\derby-10.3.2.1\lib
> java.specification.name: Java Platform API Specification
> java.specification.version: 1.6
> --------- Derby Information --------
> JRE - JDBC: Java SE 6 - JDBC 4.0
> [D:\java\derby-10.3.2.1\lib\derbytools.jar] 10.3.2.1 - (599110)
> ------------------------------------------------------
> ----------------- Locale Information -----------------
> ------------------------------------------------------
>            Reporter: Donatas Ciuksys
>            Assignee: A B
>            Priority: Blocker
>         Attachments: d3303_v1.patch, d3303_v2.patch, db.zip, ddl.sql
>
>
> Derby throws ArrayIndexOutOfBoundsException  when I try to execute SQL query shown below.
> This is a regression, since Derby 10.2.2.0 executes this query without problems.
> Attached are DDL statements to create DB tables, and database itself (with data).
> 2008-01-08 12:32:34.461 GMT Thread[DRDAConnThread_5,6,derby.daemons] (XID = 1497), (SESSIONID
= 0), (DATABASE = InventorizacijaDB), (DRDAID = NF000001.G46A-666250070078662256{1}), Failed
Statement is: select MAX(preke0_.BARKODAS) as col_0_0_, MAX(preke0_.PAVADINIMAS) as col_1_0_,
MAX(preke0_.KIEKIS) as col_2_0_, SUM(irasas1_.FAKTINIS_KIEKIS) as col_3_0_ from PREKE preke0_,
IRASAS irasas1_, IRASU_BLOKAS irasubloka2_ where irasas1_.IRASU_BLOKAS=irasubloka2_.ID and
preke0_.UNIKALUS_KODAS=irasas1_.UNIKALUS_KODAS and irasubloka2_.INVENTORIZACIJA=? group by
irasas1_.UNIKALUS_KODAS order by abs(SUM(irasas1_.FAKTINIS_KIEKIS)-MAX(preke0_.KIEKIS)) DESC
with 1 parameters begin parameter #1: 1 :end parameter 
> java.lang.ArrayIndexOutOfBoundsException: 5
> 	at org.apache.derby.impl.store.access.sort.MergeSort.compare(Unknown Source)
> 	at org.apache.derby.impl.store.access.sort.SortBuffer.insert(Unknown Source)
> 	at org.apache.derby.impl.store.access.sort.MergeInserter.insert(Unknown Source)
> 	at org.apache.derby.impl.sql.execute.SortResultSet.loadSorter(Unknown Source)
> 	at org.apache.derby.impl.sql.execute.SortResultSet.openCore(Unknown Source)
> 	at org.apache.derby.impl.sql.execute.ProjectRestrictResultSet.openCore(Unknown Source)
> 	at org.apache.derby.impl.sql.execute.BasicNoPutResultSetImpl.open(Unknown Source)
> 	at org.apache.derby.impl.sql.GenericPreparedStatement.execute(Unknown Source)
> 	at org.apache.derby.impl.jdbc.EmbedStatement.executeStatement(Unknown Source)
> 	at org.apache.derby.impl.jdbc.EmbedPreparedStatement.executeStatement(Unknown Source)
> 	at org.apache.derby.impl.jdbc.EmbedPreparedStatement.execute(Unknown Source)
> 	at org.apache.derby.impl.drda.DRDAStatement.execute(Unknown Source)
> 	at org.apache.derby.impl.drda.DRDAConnThread.processCommands(Unknown Source)
> 	at org.apache.derby.impl.drda.DRDAConnThread.run(Unknown Source)

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


Mime
View raw message