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 "Mamta A. Satoor (JIRA)" <ji...@apache.org> on 2012/08/07 21:24:11 UTC

[jira] [Commented] (DERBY-5839) dblook run on toursdb fails on triggers with java.lang.StringIndexOutOfBoundsException in dblook.log

    [ https://issues.apache.org/jira/browse/DERBY-5839?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13430551#comment-13430551 ] 

Mamta A. Satoor commented on DERBY-5839:
----------------------------------------

Committed fix for this jira with following comment
********************************
DERBY-5839 (dblook run on toursdb fails on triggers with java.lang.StringIndexOutOfBoundsException in dblook.log)

We document that SYSTRIGGERS.REFERENCEDCOLUMNS is not part of the public API and hence that allows Derby to change underneath the behavior of the column. Prior to 10.9, this column only had information about columns referenced by UPDATE trigger. But, with 10.9, we use this column to also hold information about the trigger columns being used inside trigger action plan. This enables Derby to read only necessary columns from trigger table. But because of this change, it is not enough in dblook to check if SYSTRIGGERS.REFERENCEDCOLUMNS.wasNull. We need to also check if the string representation of that column is "NULL". Making this change fixes DERBY-5839
********************************

Please let me know if there is any feedback.
                
> dblook run on toursdb fails on triggers with java.lang.StringIndexOutOfBoundsException in dblook.log
> ----------------------------------------------------------------------------------------------------
>
>                 Key: DERBY-5839
>                 URL: https://issues.apache.org/jira/browse/DERBY-5839
>             Project: Derby
>          Issue Type: Bug
>          Components: Tools
>    Affects Versions: 10.9.1.0
>         Environment: Not JVM/platform specific
> reproduced on Windows
> java version "1.7.0"
> Java(TM) SE Runtime Environment (build pwi3270-20110906_01)
> IBM J9 VM (build 2.6, JRE 1.7.0 Windows 7 x86-32 20110810_88604 (JIT enabled, AOT enabled)
> J9VM - R26_Java726_GA_20110810_1208_B88592
> JIT  - r11_20110810_20466
> GC   - R26_Java726_GA_20110810_1208_B88592
> J9CL - 20110810_88604)
> JCL - 20110809_01 based on Oracle 7b147
> Also seen on Mac with JDK 1.6
>            Reporter: Kathey Marsden
>            Assignee: Mamta A. Satoor
>
> Running dblook on toursdb (either in packaged demo/databases/toursdb in the bin distribution or generated/toursdb after a build) fails to generate ddl for triggers and gives a java.lang.StringIndexOutOfBoundsException in the dblook.log.
> To reproduce:
> java org.apache.derby.tools.dblook -d 'jdbc:derby:toursdb'
> output shows:
> -- ----------------------------------------------
> -- Note: At least one unexpected error/warning message was
> -- DDL Statements for triggersration.  See dblook.log
> -- ----------------------------------------------
> dblook.log contains:
> java.lang.StringIndexOutOfBoundsException
>         at java.lang.String.substring(String.java:1131)
>         at org.apache.derby.tools.dblook.getColumnListFromDescription(dblook.java:664)
>         at org.apache.derby.impl.tools.dblook.DB_Trigger.createTrigger(DB_Trigger.java:130)
>         at org.apache.derby.impl.tools.dblook.DB_Trigger.doTriggers(DB_Trigger.java:82)
>         at org.apache.derby.tools.dblook.go(dblook.java:547)
>         at org.apache.derby.tools.dblook.<init>(dblook.java:142)
>         at org.apache.derby.tools.dblook.main(dblook.java:97)
> This seems to be a regression in 10.9. 10.8 works fine for me

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira