db-derby-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Knut Anders Hatlen (JIRA)" <j...@apache.org>
Subject [jira] Updated: (DERBY-4407) StringIndexOutOfBoundsException in ij when result has no columns
Date Tue, 13 Oct 2009 13:25:31 GMT

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

Knut Anders Hatlen updated DERBY-4407:

    Component/s:     (was: Tools)

Thanks Rick. That sounds reasonable. So I guess a bind-time exception would be in order here,
Changing component from Tools to SQL, since the fix will have to go into the engine.

> StringIndexOutOfBoundsException in ij when result has no columns
> ----------------------------------------------------------------
>                 Key: DERBY-4407
>                 URL: https://issues.apache.org/jira/browse/DERBY-4407
>             Project: Derby
>          Issue Type: Bug
>          Components: SQL
>    Affects Versions:
>            Reporter: Knut Anders Hatlen
>            Priority: Minor
> A query that returns no columns should perhaps raise an SQLException of some kind, I
don't know, but currently it doesn't, and ij fails with a StringIndexOutOfBoundsException
when it tries to display the result.
> After DERBY-4370 it is possible to construct queries that return no columns by having
a select list like T1.* in a join where the USING clause contains all of T1's columns. To
> ij> create table t(x int);
> 0 rows inserted/updated/deleted
> ij> insert into t values (1),(2),(3);
> 3 rows inserted/updated/deleted
> ij> select t1.* from t t1 join t t2 using (x);
> JAVA ERROR: java.lang.StringIndexOutOfBoundsException: String index out of range: -1
> java.lang.StringIndexOutOfBoundsException: String index out of range: -1
> 	at java.lang.AbstractStringBuilder.setLength(AbstractStringBuilder.java:143)
> 	at java.lang.StringBuffer.setLength(StringBuffer.java:153)
> 	at org.apache.derby.tools.JDBCDisplayUtil.indent_DisplayBanner(JDBCDisplayUtil.java:627)
> 	at org.apache.derby.tools.JDBCDisplayUtil.indent_DisplayResults(JDBCDisplayUtil.java:368)
> 	at org.apache.derby.tools.JDBCDisplayUtil.indent_DisplayResults(JDBCDisplayUtil.java:338)
> 	at org.apache.derby.tools.JDBCDisplayUtil.indent_DisplayResults(JDBCDisplayUtil.java:241)
> 	at org.apache.derby.tools.JDBCDisplayUtil.DisplayResults(JDBCDisplayUtil.java:229)
> 	at org.apache.derby.impl.tools.ij.utilMain.displayResult(utilMain.java:448)
> 	at org.apache.derby.impl.tools.ij.utilMain.doCatch(utilMain.java:522)
> 	at org.apache.derby.impl.tools.ij.utilMain.runScriptGuts(utilMain.java:363)
> 	at org.apache.derby.impl.tools.ij.utilMain.go(utilMain.java:261)
> 	at org.apache.derby.impl.tools.ij.Main.go(Main.java:229)
> 	at org.apache.derby.impl.tools.ij.Main.mainCore(Main.java:184)
> 	at org.apache.derby.impl.tools.ij.Main.main(Main.java:75)
> 	at org.apache.derby.tools.ij.main(ij.java:59)
> 	at org.apache.derby.iapi.tools.run.main(run.java:53)

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

View raw message