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 2012/11/15 09:12:12 UTC

[jira] [Reopened] (DERBY-5947) Factor out common code from generated classes

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

Knut Anders Hatlen reopened DERBY-5947:
---------------------------------------


The first patch for this issue reduced the amount of generated code needed for maintaining the execution count and row count information used to determine whether it's time to check if the plan is stale. But now it struck me that those statistics could probably be maintained in the GenericPreparedStatement instance that wraps the generated class. That is, outside of the generated code entirely. Reopening to investigate.
                
> Factor out common code from generated classes
> ---------------------------------------------
>
>                 Key: DERBY-5947
>                 URL: https://issues.apache.org/jira/browse/DERBY-5947
>             Project: Derby
>          Issue Type: Improvement
>          Components: SQL
>            Reporter: Knut Anders Hatlen
>            Assignee: Knut Anders Hatlen
>            Priority: Minor
>             Fix For: 10.10.0.0
>
>         Attachments: d5947-1a-remove-common-methods.diff, d5947-2a-execute-method.diff, d5947-3a-init-rs.diff, d5947-4a-authorization.diff, natural-join-after-3a.txt, natural-join-decompiled.txt, values1-after-1a.txt, values1-after-2a.txt, values1-after-3a.txt, values1-after-4a.txt, values1-decompiled.txt
>
>
> There's some code that's added to all classes generated by Derby's query compiler. For example, there are three static fields that contain statistics used to check if the plan is stale, and there are getter and setter methods for each of the three fields. The fields and their accessor methods take up 468 bytes in every generated class.
> We should see if we can factor out some of this code so that there is a single shared copy in BaseActivation. Advantages would be: less complicated byte-code generation, less memory occupied by generated classes in the statement cache, smaller disk footprint for stored prepared statements.

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