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 2013/04/23 12:17:16 UTC

[jira] [Commented] (DERBY-6195) Cleanup suspect coding practices in the org.apache.derby.impl.tools.ij package.

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

Knut Anders Hatlen commented on DERBY-6195:
-------------------------------------------

When copying multi-dimensional arrays (such as ParseException.expectedTokenSequences) with the clone() method, only the first dimension is cloned. The rows in the array are still shared between the original and the clone, so if a value in the cloned array is changed, it will be changed in the original array too. So I think we need some sort of deep clone method to properly encapsulate the multi-dimensional arrays.

The corresponding field in impl.sql.compile.ParseException was encapsulated by making the class package private, so that the field wasn't exposed to other modules. Unfortunately, impl.tools.ij.ParseException cannot be made package private just like that, since a dependency on it has leaked out to MultiTest. It might be possible to hide that exception for MultiTest, though. And I think MultiTest isn't used anymore, now that stress.multi has been converted to JUnit, so we may be able to get rid of it.
                
> Cleanup suspect coding practices in the org.apache.derby.impl.tools.ij package.
> -------------------------------------------------------------------------------
>
>                 Key: DERBY-6195
>                 URL: https://issues.apache.org/jira/browse/DERBY-6195
>             Project: Derby
>          Issue Type: Bug
>          Components: Tools
>    Affects Versions: 10.11.0.0
>            Reporter: Rick Hillegas
>            Assignee: Rick Hillegas
>            Priority: Minor
>         Attachments: derby-6195-01-aa-encapsulateBetter.diff
>
>
> Similar to DERBY-6177.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira