[
https://issues.apache.org/jira/browse/DERBY-6082?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13795095#comment-13795095
]
Dyre Tjeldvoll commented on DERBY-6082:
---------------------------------------
Turns out that it is ok to not call {{markClosedOnServer()}} after each
execute, as long as {{section_}} is freed before assigning another section. So
for the majority of prepared statements {{openOnServer_}} now redundant: They
are prepared on the server when they are created is and {{openOnServer_}} is
never set to false until it is closed.
Unfortunately, the meaning of {{openOnServer_}} has been overloaded. For
{{ClientStatement.preparedStatementForGeneratedKeys_}} it is also used to track
if a prepare of this statement should be piggybacked on an insert with
generated keys, and also to track if the prepare-result must be parsed when the
reply arrives. In this case it may be better to track this with a local
variable in flowExecute_ rather than a member variable.
> 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)