db-derby-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Dyre Tjeldvoll (JIRA)" <j...@apache.org>
Subject [jira] [Commented] (DERBY-6082) Investigate if openOnServer_ field in org.apache.derby.client.am.Statement is still needed.
Date Fri, 11 Oct 2013 09:23:43 GMT

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

Dyre Tjeldvoll commented on DERBY-6082:
---------------------------------------

It is actually worse than described because {{openOnServer_}} is set to false in {{ClientStatement.markClosedOnServer()}},
which in turn is called from {{flowExecute()}}. So the statement is marked as needing a re-prepare
after each execute.

I decided to try running the tests without setting {{openOnServer_}} to when committing and
aborting, and also drop the call to {{markClosedOnServer()}}, but that causes us to leak sections
as  {{markClosedOnServer()}} is also responsible for freeing the section.

Perhaps it is possible to decouple the section management from closing/re-preparing?

> Investigate if openOnServer_ field in org.apache.derby.client.am.Statement is still needed.
> -------------------------------------------------------------------------------------------
>
>                 Key: DERBY-6082
>                 URL: https://issues.apache.org/jira/browse/DERBY-6082
>             Project: Derby
>          Issue Type: Task
>          Components: Network Client
>    Affects Versions: 10.10.1.1
>            Reporter: Mamta A. Satoor
>
> While working on DERBY-6053, there was some discussion over openOnServer_ field in org.apache.derby.client.am.Statement.
This field has following comment in Statement class
>     // This means a DERBY server-side section for this statement is in the prepared state.

>     // A client-side jdbc statement may remain open across commits (openOnClient=true),

>     // but the server-side DERBY section moves to an unprepared state (openOnServer=false)
across commits, 
>     // requiring an implicit re-prepare "under the covers" by the driver. 
>     // Unprepared jdbc query statements still have prepared sections on the server. 
>     // This openOnServer_ only has implications for preparedstatement 
> Kathey commented following on that field in DERBY-6053
> *******************************************************************************
>  I do not think that comment is true about statements not staying prepared across commits.
> If I prepare a statement and execute it twice with a commit in between from client, I
do not see a reprepare in the derby.log . I think maybe the openOnServer_ property may be
a relic of some place or time in the original code base when that was true.
> *******************************************************************************



--
This message was sent by Atlassian JIRA
(v6.1#6144)

Mime
View raw message