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

Kristian Waagan updated DERBY-3326:
-----------------------------------

    Attachment: derby-3326-3a-new_classes.stat
                derby-3326-3a-new_classes.diff

'derby-3326-3a-new_classes.diff' introduces the new classes to support 
statement pooling.
Note that some of the classes are almost pure forwarding classes, and the patch 
basically contains two classes with special logic (LogicalStatementEntity and 
StatementCacheInteractor), two connection classes with special logic and four 
forwarding classes (two for each of Prepared- and CallableStatement).
The "special logic classes" were introduced because I cannot inherit from two 
classes. I'm sure there are other design choices too.

I'm not quite happy with the code in LogicalStatementEntity, any suggestions 
for improvement?
Further, these things need more work:
 1) Integrate DERBY-3192 (compilation schema)
 2) The 'am.PreapredStatement.reset(true)' is just a "placeholder", and I have 
to check it and possibly write a special reset method for pooling.

If I get no major pushback on the design/approach, I will commit the patch 
rather quickly as part of incremental development. The code won't be enabled 
yet anyway.

Patch ready for review.

> Introduce a caching logical connection and logical prepared statement in the 
> client driver
> ------------------------------------------------------------------------------------------
>
>                 Key: DERBY-3326
>                 URL: https://issues.apache.org/jira/browse/DERBY-3326
>             Project: Derby
>          Issue Type: Sub-task
>          Components: JDBC, Network Client
>    Affects Versions: 10.4.0.0
>            Reporter: Kristian Waagan
>            Assignee: Kristian Waagan
>             Fix For: 10.4.0.0
>
>         Attachments: derby-3326-1a_cpds_testing_preparation.diff, 
> derby-3326-1a_cpds_testing_preparation.stat, 
> derby-3326-1b_cpds_testing_preparation.diff, 
> derby-3326-2a-method_rename.diff, derby-3326-3a-new_classes.diff, 
> derby-3326-3a-new_classes.stat
>
>
> A logical connection with statement caching capabilities is required to 
> support JDBC prepared statement pooling. Further, a logical prepared 
> statement object is also needed.
> The logical prepared statements will be generated by the logical connection's 
> 'prepareStatement'-method.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.

Reply via email to