You are viewing a plain text version of this content. The canonical link for it is here.
Posted to derby-dev@db.apache.org by "Knut Anders Hatlen (JIRA)" <ji...@apache.org> on 2008/07/23 11:05:31 UTC

[jira] Resolved: (DERBY-3764) Union Query fail on Derby 10.4.1.3

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

Knut Anders Hatlen resolved DERBY-3764.
---------------------------------------

       Resolution: Fixed
    Fix Version/s: 10.4.1.4
                   10.3.3.1

Committed to 10.4 with revision 679035.
Committed to 10.3 with revision 679037.

> Union Query fail on Derby 10.4.1.3
> ----------------------------------
>
>                 Key: DERBY-3764
>                 URL: https://issues.apache.org/jira/browse/DERBY-3764
>             Project: Derby
>          Issue Type: Bug
>    Affects Versions: 10.3.1.4, 10.4.1.3
>         Environment: Windows XP SP2, NetBeans 6.1 (IDE), Pentium 2 Core 512 Ram, Java 1.6.0_05
>            Reporter: Heleno da Silva Alves
>            Assignee: Knut Anders Hatlen
>             Fix For: 10.3.3.1, 10.4.1.4, 10.5.0.0
>
>         Attachments: CONSTAS_REMESSA.sql, d3764-1a.diff, d3764-2a.diff, d3764-2a.stat, database_test.10.0.zip, database_test.10.3.zip, database_test.10.4.zip, export_contas_remessas.exp
>
>
>     Running a Query on Derby 10.4.1.3 and 10.3.1.4 I got this error message: Error code 0, SQL state XJ001: Java Exception: '4 >= 4: java.lang.ArrayIndexOutOfBoundsException'.
>     After throw this exception the database shutdown and lost the connection.
>     I'm updating an application from a previous version of Derby (Bundle-Version: 10.0.2000001 From derby.jar Manifest) so this query works fine in version 10.0.
> The Query:
> select 0 vlr_proc_anterior
>              , 0 vlr_proc_atual
>              , sum(vlr_contabil + vlr_ajuste) disp_financeira    
>              from contas_remessa rec
>              where cd_tipo = 1105 and cd_conta = 4
>              group by rec.cd_conta, rec.ds_conta
>              union
>              select case when cd_tipo = 170 then sum(vlr_contabil) + sum(vlr_ajuste) else 0 end vlr_proc_anterior
>                   , case when cd_tipo = 175 then sum(vlr_contabil) + sum(vlr_ajuste) else 0 end vlr_proc_atual
>                   , 0 disp_financeira
>                   from contas_remessa where cd_tipo in (170, 175) and status = 'S'                       
>                   group by cd_tipo
> The deby log entry:
> ----------------------------------------------------------------
> 2008-07-07 14:44:51.282 GMT:
>  Booting Derby version The Apache Software Foundation - Apache Derby - 10.3.1.4 - (561794): instance c013800d-011a-fdfb-6fa4-00003451d386
> on database directory C:\PAD\database  
> Database Class Loader started - derby.database.classpath=''
> 2008-07-07 14:46:40.506 GMT Thread[SQLExecution,1,system] (XID = 3441038), (SESSIONID = 0), (DATABASE = C:\PAD\database), (DRDAID = null), Cleanup action starting
> 2008-07-07 14:46:40.506 GMT Thread[SQLExecution,1,system] (XID = 3441038), (SESSIONID = 0), (DATABASE = C:\PAD\database), (DRDAID = null), Failed Statement is: select 0 vlr_proc_anterior
>              , 0 vlr_proc_atual
>              , sum(vlr_contabil + vlr_ajuste) disp_financeira    
>              from contas_remessa rec
>              where cd_tipo = 1105 and cd_conta = 4
>              group by rec.cd_conta, rec.ds_conta
>              union
>              select case when cd_tipo = 170 then sum(vlr_contabil) + sum(vlr_ajuste) else 0 end vlr_proc_anterior
>                   , case when cd_tipo = 175 then sum(vlr_contabil) + sum(vlr_ajuste) else 0 end vlr_proc_atual
>                   , 0 disp_financeira
>                   from contas_remessa where cd_tipo in (170, 175) and status = 'S'                       
>                   group by cd_tipo
> java.lang.ArrayIndexOutOfBoundsException: 4 >= 4
> 	at java.util.Vector.elementAt(Vector.java:427)
> 	at org.apache.derby.impl.sql.compile.QueryTreeNodeVector.elementAt(Unknown Source)
> 	at org.apache.derby.impl.sql.compile.ResultColumnList.setUnionResultExpression(Unknown Source)
> 	at org.apache.derby.impl.sql.compile.SetOperatorNode.buildRCL(Unknown Source)
> 	at org.apache.derby.impl.sql.compile.SetOperatorNode.bindResultColumns(Unknown Source)
> 	at org.apache.derby.impl.sql.compile.CursorNode.bindStatement(Unknown Source)
> 	at org.apache.derby.impl.sql.GenericStatement.prepMinion(Unknown Source)
> 	at org.apache.derby.impl.sql.GenericStatement.prepare(Unknown Source)
> 	at org.apache.derby.impl.sql.conn.GenericLanguageConnectionContext.prepareInternalStatement(Unknown Source)
> 	at org.apache.derby.impl.jdbc.EmbedStatement.execute(Unknown Source)
> 	at org.apache.derby.impl.jdbc.EmbedStatement.execute(Unknown Source)
> 	at org.netbeans.modules.db.sql.execute.SQLExecuteHelper.execute(SQLExecuteHelper.java:114)
> 	at org.netbeans.modules.db.sql.loader.SQLEditorSupport$SQLExecutor.run(SQLEditorSupport.java:479)
> 	at org.openide.util.RequestProcessor$Task.run(RequestProcessor.java:561)
> 	at org.openide.util.RequestProcessor$Processor.run(RequestProcessor.java:986)
> Cleanup action completed

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