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

Knut Anders Hatlen updated DERBY-6003:
--------------------------------------

    Issue & fix info:   (was: Patch Available)

I went ahead and committed the 3c patch with revision 1418296 and the 4a patch 
with revision 1418297.
                
> Create row templates outside of the generated code
> --------------------------------------------------
>
>                 Key: DERBY-6003
>                 URL: https://issues.apache.org/jira/browse/DERBY-6003
>             Project: Derby
>          Issue Type: Improvement
>          Components: SQL
>    Affects Versions: 10.10.0.0
>            Reporter: Knut Anders Hatlen
>            Assignee: Knut Anders Hatlen
>            Priority: Minor
>         Attachments: d6003-1a-cleanup.diff, d6003-2a-unused-field.diff, 
> d6003-3a-safe-downgrade.diff, d6003-3b-downgrade-workaround-in-tests.diff, 
> d6003-3c-downgrade-with-stored-proc.diff, d6003-4a-scanresultset.diff
>
>
> The constructors for many of the result set classes take GeneratedMethod 
> parameters that create row templates (an ExecRow of a certain size and column 
> types, each column initialized to an SQL null value).
> As an alternative, the compiler could produce an ExecRow instance and put it 
> into the savedObjects field of GenericPreparedStatement, and the constructors 
> could take parameter that points to the object in savedObjects. Where the 
> result sets currently invoke the generated method to produce a fresh 
> template, they could instead clone the saved object.
> Advantages with the suggested approach would be:
> - Reduce the size of the code generator, which should reduce total code 
> complexity.
> - Reduce the amount of generated code, which makes it easier for tools 
> (profilers, static code analyzers, IDEs) to map executable code to source 
> code.
> - Reduce the actual number of generated methods, which makes it less likely 
> that queries need to use reflection to invoke the remaining generated methods 
> (there's a switchover from DirectCall to ReflectCall when the number of 
> generated methods exceeds 10).

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