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

Knut Anders Hatlen updated DERBY-6169:
--------------------------------------

    Attachment: derby-6169-08-a.diff

Attaching derby-6169-08-a.diff which removes some unused code.

The methods wasColumnModified(String) and wasColumnModified(int) in the 
TriggerExecutionContext interface are never called. By removing these methods, 
and their implementations in InternalTriggerExecutionContext, fields that hold 
arrays of modified column numbers and column names in 
InternalTriggerExecutionContext and TriggerInfo also become unused, and so do 
many method parameters for passing the unused arrays between them.

The patch removes these unused fields, methods and parameters. Since 
TriggerInfo implements Formatable and must be readable across Derby versions, 
the readExternal() and writeExternal() methods still need to have logic for 
reading and writing the fields, but now the actual values are discarded. I 
checked out the 10.0 sources and it looked like the fields were not used even 
back then, so I don't believe any old versions will be surprised and fail if 
they see a TriggerInfo instance with empty values instead of the actual arrays. 
Also, no problems were revealed by the upgrade tests.

All regression tests ran cleanly with the patch.
                
> Reduce visibility of classes and methods under impl/sql
> -------------------------------------------------------
>
>                 Key: DERBY-6169
>                 URL: https://issues.apache.org/jira/browse/DERBY-6169
>             Project: Derby
>          Issue Type: Improvement
>          Components: SQL
>    Affects Versions: 10.11.0.0
>            Reporter: Knut Anders Hatlen
>            Assignee: Knut Anders Hatlen
>            Priority: Minor
>         Attachments: derby-6169-01-a.diff, derby-6169-02-a.diff, 
> derby-6169-03-a.diff, derby-6169-04-a.diff, derby-6169-05-a.diff, 
> derby-6169-06-a.diff, derby-6169-06-b.diff, derby-6169-07-a.diff, 
> derby-6169-08-a.diff
>
>
> My IDE shows many warnings in the classes under impl/sql because they are 
> public and may make parts of the internal state more visible than necessary. 
> I'd like to reduce the visibility of classes and methods, if possible, to 
> make it clearer to IDEs and tools that perform static analysis that the code 
> is only accessed from the same package, and reduce some of the noise from the 
> tools.

--
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

Reply via email to